@gv-tech/design-system 2.3.0 → 2.5.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 (1733) hide show
  1. package/.agent/skills/dogfood-components/SKILL.md +6 -6
  2. package/.agent/skills/maintain-component/SKILL.md +59 -24
  3. package/.agent/workflows/native-playground.md +93 -0
  4. package/.github/workflows/ci.yml +19 -1
  5. package/.github/workflows/release-please.yml +32 -6
  6. package/.release-please-manifest.json +7 -1
  7. package/.tool-versions +1 -1
  8. package/CHANGELOG.md +15 -0
  9. package/apps/.gitkeep +0 -0
  10. package/apps/native-playground/CHANGELOG.md +8 -0
  11. package/apps/native-playground/app.json +37 -0
  12. package/apps/native-playground/assets/fonts/.gitkeep +0 -0
  13. package/apps/native-playground/assets/images/adaptive-icon.png +0 -0
  14. package/apps/native-playground/assets/images/favicon.png +0 -0
  15. package/apps/native-playground/assets/images/icon.png +0 -0
  16. package/apps/native-playground/assets/images/splash-icon.png +0 -0
  17. package/apps/native-playground/babel.config.js +6 -0
  18. package/apps/native-playground/eas.json +25 -0
  19. package/apps/native-playground/index.js +8 -0
  20. package/apps/native-playground/metro.config.js +26 -0
  21. package/apps/native-playground/nativewind-env.d.ts +1 -0
  22. package/apps/native-playground/package.json +23 -0
  23. package/apps/native-playground/project.json +15 -0
  24. package/apps/native-playground/src/app/App.tsx +842 -0
  25. package/apps/native-playground/src/global.css +49 -0
  26. package/apps/native-playground/tailwind.config.js +49 -0
  27. package/apps/native-playground/tsconfig.app.json +24 -0
  28. package/apps/native-playground/tsconfig.json +23 -0
  29. package/apps/native-playground/tsconfig.spec.json +24 -0
  30. package/apps/playground-web/CHANGELOG.md +8 -0
  31. package/apps/playground-web/package.json +31 -0
  32. package/apps/playground-web/src/App.tsx +179 -0
  33. package/apps/playground-web/src/components/docs/CodeBlock.tsx +34 -0
  34. package/apps/playground-web/src/components/docs/CombinedDocsLayout.tsx +103 -0
  35. package/apps/playground-web/src/components/docs/ComponentShowcase.tsx +96 -0
  36. package/apps/playground-web/src/components/docs/ErrorBoundary.tsx +55 -0
  37. package/apps/playground-web/src/components/docs/Footer.tsx +146 -0
  38. package/apps/playground-web/src/components/docs/PropsTable.tsx +43 -0
  39. package/apps/playground-web/src/components/docs/Search.tsx +75 -0
  40. package/apps/playground-web/src/components/docs/Sidebar.tsx +77 -0
  41. package/apps/playground-web/src/components/docs/ThemeToggle.tsx +19 -0
  42. package/apps/playground-web/src/components/docs/index.ts +9 -0
  43. package/apps/playground-web/src/config/docs.ts +293 -0
  44. package/apps/playground-web/src/globals.css +148 -0
  45. package/apps/playground-web/src/hooks/useDocMetadata.ts +34 -0
  46. package/apps/playground-web/src/hooks/usePackageManager.tsx +42 -0
  47. package/apps/playground-web/src/lib/react-native-shim.js +34 -0
  48. package/apps/playground-web/src/main.tsx +11 -0
  49. package/apps/playground-web/src/pages/index.ts +4 -0
  50. package/apps/playground-web/src/pages/native/AccordionDocs.tsx +85 -0
  51. package/apps/playground-web/src/pages/native/AlertDialogDocs.tsx +128 -0
  52. package/apps/playground-web/src/pages/native/AlertDocs.tsx +89 -0
  53. package/apps/playground-web/src/pages/native/AspectRatioDocs.tsx +52 -0
  54. package/apps/playground-web/src/pages/native/AvatarDocs.tsx +92 -0
  55. package/apps/playground-web/src/pages/native/BadgeDocs.tsx +63 -0
  56. package/apps/playground-web/src/pages/native/BreadcrumbDocs.tsx +71 -0
  57. package/apps/playground-web/src/pages/native/ButtonDocs.tsx +103 -0
  58. package/apps/playground-web/src/pages/native/CalendarDocs.tsx +74 -0
  59. package/apps/playground-web/src/pages/native/CardDocs.tsx +75 -0
  60. package/apps/playground-web/src/pages/native/CarouselDocs.tsx +113 -0
  61. package/apps/playground-web/src/pages/native/ChartDocs.tsx +115 -0
  62. package/apps/playground-web/src/pages/native/CheckboxDocs.tsx +38 -0
  63. package/apps/playground-web/src/pages/native/CollapsibleDocs.tsx +89 -0
  64. package/apps/playground-web/src/pages/native/CommandDocs.tsx +170 -0
  65. package/apps/playground-web/src/pages/native/ContextMenuDocs.tsx +121 -0
  66. package/apps/playground-web/src/pages/native/DialogDocs.tsx +132 -0
  67. package/apps/playground-web/src/pages/native/DrawerDocs.tsx +158 -0
  68. package/apps/playground-web/src/pages/native/DropdownMenuDocs.tsx +168 -0
  69. package/apps/playground-web/src/pages/native/HoverCardDocs.tsx +119 -0
  70. package/apps/playground-web/src/pages/native/InputDocs.tsx +86 -0
  71. package/apps/playground-web/src/pages/native/LabelDocs.tsx +55 -0
  72. package/apps/playground-web/src/pages/native/MenubarDocs.tsx +197 -0
  73. package/apps/playground-web/src/pages/native/NavigationMenuDocs.tsx +190 -0
  74. package/apps/playground-web/src/pages/native/PaginationDocs.tsx +70 -0
  75. package/apps/playground-web/src/pages/native/PopoverDocs.tsx +156 -0
  76. package/apps/playground-web/src/pages/native/ProgressDocs.tsx +61 -0
  77. package/apps/playground-web/src/pages/native/RadioGroupDocs.tsx +125 -0
  78. package/apps/playground-web/src/pages/native/ResizableDocs.tsx +118 -0
  79. package/apps/playground-web/src/pages/native/ScrollAreaDocs.tsx +92 -0
  80. package/apps/playground-web/src/pages/native/SearchDocs.tsx +150 -0
  81. package/apps/playground-web/src/pages/native/SelectDocs.tsx +141 -0
  82. package/apps/playground-web/src/pages/native/SeparatorDocs.tsx +72 -0
  83. package/apps/playground-web/src/pages/native/SheetDocs.tsx +140 -0
  84. package/apps/playground-web/src/pages/native/SkeletonDocs.tsx +44 -0
  85. package/apps/playground-web/src/pages/native/SliderDocs.tsx +118 -0
  86. package/apps/playground-web/src/pages/native/SonnerDocs.tsx +111 -0
  87. package/apps/playground-web/src/pages/native/SwitchDocs.tsx +87 -0
  88. package/apps/playground-web/src/pages/native/TableDocs.tsx +67 -0
  89. package/apps/playground-web/src/pages/native/TabsDocs.tsx +175 -0
  90. package/apps/playground-web/src/pages/native/TextareaDocs.tsx +61 -0
  91. package/apps/playground-web/src/pages/native/ThemeToggleDocs.tsx +288 -0
  92. package/apps/playground-web/src/pages/native/ToastDocs.tsx +124 -0
  93. package/apps/playground-web/src/pages/native/ToggleDocs.tsx +81 -0
  94. package/apps/playground-web/src/pages/native/ToggleGroupDocs.tsx +128 -0
  95. package/apps/playground-web/src/pages/native/TooltipDocs.tsx +140 -0
  96. package/apps/playground-web/src/pages/native/index.ts +47 -0
  97. package/apps/playground-web/src/pages/shared/ColorTokensDocs.tsx +234 -0
  98. package/apps/playground-web/src/pages/shared/GettingStarted.tsx +413 -0
  99. package/apps/playground-web/src/pages/web/AccordionDocs.tsx +194 -0
  100. package/apps/playground-web/src/pages/web/AlertDialogDocs.tsx +157 -0
  101. package/apps/playground-web/src/pages/web/AlertDocs.tsx +110 -0
  102. package/apps/playground-web/src/pages/web/AspectRatioDocs.tsx +94 -0
  103. package/apps/playground-web/src/pages/web/AvatarDocs.tsx +81 -0
  104. package/apps/playground-web/src/pages/web/BadgeDocs.tsx +66 -0
  105. package/apps/playground-web/src/pages/web/BreadcrumbDocs.tsx +93 -0
  106. package/apps/playground-web/src/pages/web/ButtonDocs.tsx +129 -0
  107. package/apps/playground-web/src/pages/web/CalendarDocs.tsx +78 -0
  108. package/apps/playground-web/src/pages/web/CardDocs.tsx +115 -0
  109. package/apps/playground-web/src/pages/web/CarouselDocs.tsx +176 -0
  110. package/apps/playground-web/src/pages/web/ChartDocs.tsx +151 -0
  111. package/apps/playground-web/src/pages/web/CheckboxDocs.tsx +95 -0
  112. package/apps/playground-web/src/pages/web/CollapsibleDocs.tsx +111 -0
  113. package/apps/playground-web/src/pages/web/CommandDocs.tsx +219 -0
  114. package/apps/playground-web/src/pages/web/ContextMenuDocs.tsx +164 -0
  115. package/apps/playground-web/src/pages/web/DialogDocs.tsx +175 -0
  116. package/apps/playground-web/src/pages/web/DrawerDocs.tsx +283 -0
  117. package/apps/playground-web/src/pages/web/DropdownMenuDocs.tsx +319 -0
  118. package/apps/playground-web/src/pages/web/FormDocs.tsx +175 -0
  119. package/apps/playground-web/src/pages/web/HoverCardDocs.tsx +151 -0
  120. package/apps/playground-web/src/pages/web/InputDocs.tsx +118 -0
  121. package/apps/playground-web/src/pages/web/LabelDocs.tsx +59 -0
  122. package/apps/playground-web/src/pages/web/MenubarDocs.tsx +296 -0
  123. package/apps/playground-web/src/pages/web/NavigationMenuDocs.tsx +263 -0
  124. package/apps/playground-web/src/pages/web/PaginationDocs.tsx +102 -0
  125. package/apps/playground-web/src/pages/web/PopoverDocs.tsx +189 -0
  126. package/apps/playground-web/src/pages/web/ProgressDocs.tsx +70 -0
  127. package/apps/playground-web/src/pages/web/RadioGroupDocs.tsx +137 -0
  128. package/apps/playground-web/src/pages/web/ResizableDocs.tsx +143 -0
  129. package/apps/playground-web/src/pages/web/ScrollAreaDocs.tsx +107 -0
  130. package/apps/playground-web/src/pages/web/SearchDocs.tsx +203 -0
  131. package/apps/playground-web/src/pages/web/SelectDocs.tsx +164 -0
  132. package/apps/playground-web/src/pages/web/SeparatorDocs.tsx +88 -0
  133. package/apps/playground-web/src/pages/web/SheetDocs.tsx +186 -0
  134. package/apps/playground-web/src/pages/web/SkeletonDocs.tsx +53 -0
  135. package/apps/playground-web/src/pages/web/SliderDocs.tsx +119 -0
  136. package/apps/playground-web/src/pages/web/SonnerDocs.tsx +126 -0
  137. package/apps/playground-web/src/pages/web/SwitchDocs.tsx +91 -0
  138. package/apps/playground-web/src/pages/web/TableDocs.tsx +148 -0
  139. package/apps/playground-web/src/pages/web/TabsDocs.tsx +241 -0
  140. package/apps/playground-web/src/pages/web/TextareaDocs.tsx +65 -0
  141. package/apps/playground-web/src/pages/web/ThemeToggleDocs.tsx +303 -0
  142. package/apps/playground-web/src/pages/web/ToastDocs.tsx +149 -0
  143. package/apps/playground-web/src/pages/web/ToggleDocs.tsx +85 -0
  144. package/apps/playground-web/src/pages/web/ToggleGroupDocs.tsx +140 -0
  145. package/apps/playground-web/src/pages/web/TooltipDocs.tsx +150 -0
  146. package/apps/playground-web/src/pages/web/index.ts +47 -0
  147. package/apps/playground-web/src/routes/doc-routes.tsx +363 -0
  148. package/apps/playground-web/tailwind.config.js +47 -0
  149. package/apps/playground-web/tsconfig.app.json +16 -0
  150. package/apps/playground-web/tsconfig.json +4 -0
  151. package/apps/playground-web/tsconfig.node.json +13 -0
  152. package/apps/playground-web/vite.config.ts +41 -0
  153. package/dist/accordion.cjs.js +2 -0
  154. package/dist/accordion.cjs.js.map +1 -0
  155. package/dist/accordion.es.js +38 -0
  156. package/dist/accordion.es.js.map +1 -0
  157. package/dist/alert-dialog.cjs.js +2 -0
  158. package/dist/alert-dialog.cjs.js.map +1 -0
  159. package/dist/alert-dialog.es.js +70 -0
  160. package/dist/alert-dialog.es.js.map +1 -0
  161. package/dist/alert.cjs.js +2 -0
  162. package/dist/alert.cjs.js.map +1 -0
  163. package/dist/alert.es.js +32 -0
  164. package/dist/alert.es.js.map +1 -0
  165. package/dist/aspect-ratio.cjs.js +2 -0
  166. package/dist/aspect-ratio.cjs.js.map +1 -0
  167. package/dist/aspect-ratio.es.js +6 -0
  168. package/dist/aspect-ratio.es.js.map +1 -0
  169. package/dist/avatar.cjs.js +2 -0
  170. package/dist/avatar.cjs.js.map +1 -0
  171. package/dist/avatar.es.js +29 -0
  172. package/dist/avatar.es.js.map +1 -0
  173. package/dist/badge.cjs.js +2 -0
  174. package/dist/badge.cjs.js.map +1 -0
  175. package/dist/badge.es.js +26 -0
  176. package/dist/badge.es.js.map +1 -0
  177. package/dist/breadcrumb.cjs.js +2 -0
  178. package/dist/breadcrumb.cjs.js.map +1 -0
  179. package/dist/breadcrumb.es.js +68 -0
  180. package/dist/breadcrumb.es.js.map +1 -0
  181. package/dist/button.cjs.js +2 -0
  182. package/dist/button.cjs.js.map +1 -0
  183. package/dist/button.es.js +39 -0
  184. package/dist/button.es.js.map +1 -0
  185. package/dist/calendar.cjs.js +2 -0
  186. package/dist/calendar.cjs.js.map +1 -0
  187. package/dist/calendar.es.js +132 -0
  188. package/dist/calendar.es.js.map +1 -0
  189. package/dist/card.cjs.js +2 -0
  190. package/dist/card.cjs.js.map +1 -0
  191. package/dist/card.es.js +34 -0
  192. package/dist/card.es.js.map +1 -0
  193. package/dist/carousel.cjs.js +2 -0
  194. package/dist/carousel.cjs.js.map +1 -0
  195. package/dist/carousel.es.js +154 -0
  196. package/dist/carousel.es.js.map +1 -0
  197. package/dist/chart.cjs.js +8 -0
  198. package/dist/chart.cjs.js.map +1 -0
  199. package/dist/chart.es.js +187 -0
  200. package/dist/chart.es.js.map +1 -0
  201. package/dist/checkbox.cjs.js +2 -0
  202. package/dist/checkbox.cjs.js.map +1 -0
  203. package/dist/checkbox.es.js +22 -0
  204. package/dist/checkbox.es.js.map +1 -0
  205. package/dist/collapsible.cjs.js +2 -0
  206. package/dist/collapsible.cjs.js.map +1 -0
  207. package/dist/collapsible.es.js +8 -0
  208. package/dist/collapsible.es.js.map +1 -0
  209. package/dist/command.cjs.js +2 -0
  210. package/dist/command.cjs.js.map +1 -0
  211. package/dist/command.es.js +86 -0
  212. package/dist/command.es.js.map +1 -0
  213. package/dist/context-menu.cjs.js +2 -0
  214. package/dist/context-menu.cjs.js.map +1 -0
  215. package/dist/context-menu.es.js +124 -0
  216. package/dist/context-menu.es.js.map +1 -0
  217. package/dist/design-system.css +1 -1
  218. package/dist/dialog.cjs.js +2 -0
  219. package/dist/dialog.cjs.js.map +1 -0
  220. package/dist/dialog.es.js +65 -0
  221. package/dist/dialog.es.js.map +1 -0
  222. package/dist/drawer.cjs.js +2 -0
  223. package/dist/drawer.cjs.js.map +1 -0
  224. package/dist/drawer.es.js +54 -0
  225. package/dist/drawer.es.js.map +1 -0
  226. package/dist/dropdown-menu.cjs.js +2 -0
  227. package/dist/dropdown-menu.cjs.js.map +1 -0
  228. package/dist/dropdown-menu.es.js +126 -0
  229. package/dist/dropdown-menu.es.js.map +1 -0
  230. package/dist/form.cjs.js +2 -0
  231. package/dist/form.cjs.js.map +1 -0
  232. package/dist/form.es.js +70 -0
  233. package/dist/form.es.js.map +1 -0
  234. package/dist/hover-card.cjs.js +2 -0
  235. package/dist/hover-card.cjs.js.map +1 -0
  236. package/dist/hover-card.es.js +23 -0
  237. package/dist/hover-card.es.js.map +1 -0
  238. package/dist/index.cjs.js +1 -7
  239. package/dist/index.cjs.js.map +1 -1
  240. package/dist/index.es.js +418 -2449
  241. package/dist/index.es.js.map +1 -1
  242. package/dist/input.cjs.js +2 -0
  243. package/dist/input.cjs.js.map +1 -0
  244. package/dist/input.es.js +20 -0
  245. package/dist/input.es.js.map +1 -0
  246. package/dist/label.cjs.js +2 -0
  247. package/dist/label.cjs.js.map +1 -0
  248. package/dist/label.es.js +9 -0
  249. package/dist/label.es.js.map +1 -0
  250. package/dist/menubar.cjs.js +2 -0
  251. package/dist/menubar.cjs.js.map +1 -0
  252. package/dist/menubar.es.js +161 -0
  253. package/dist/menubar.es.js.map +1 -0
  254. package/dist/navigation-menu.cjs.js +2 -0
  255. package/dist/navigation-menu.cjs.js.map +1 -0
  256. package/dist/navigation-menu.es.js +96 -0
  257. package/dist/navigation-menu.es.js.map +1 -0
  258. package/dist/packages/design-tokens/src/index.d.ts +91 -0
  259. package/dist/packages/design-tokens/src/index.d.ts.map +1 -0
  260. package/dist/packages/design-tokens/src/index.js +21 -0
  261. package/dist/packages/design-tokens/src/palette.d.ts +32 -0
  262. package/dist/packages/design-tokens/src/palette.d.ts.map +1 -0
  263. package/dist/packages/design-tokens/src/palette.js +33 -0
  264. package/dist/packages/design-tokens/src/radii.d.ts +21 -0
  265. package/dist/packages/design-tokens/src/radii.d.ts.map +1 -0
  266. package/dist/packages/design-tokens/src/radii.js +21 -0
  267. package/dist/packages/design-tokens/src/shadows.d.ts +12 -0
  268. package/dist/packages/design-tokens/src/shadows.d.ts.map +1 -0
  269. package/dist/packages/design-tokens/src/shadows.js +13 -0
  270. package/dist/packages/design-tokens/src/spacing.d.ts +30 -0
  271. package/dist/packages/design-tokens/src/spacing.d.ts.map +1 -0
  272. package/dist/packages/design-tokens/src/spacing.js +30 -0
  273. package/dist/packages/design-tokens/src/theme.d.ts +48 -0
  274. package/dist/packages/design-tokens/src/theme.d.ts.map +1 -0
  275. package/dist/packages/design-tokens/src/theme.js +50 -0
  276. package/dist/packages/design-tokens/src/typography.d.ts +33 -0
  277. package/dist/packages/design-tokens/src/typography.d.ts.map +1 -0
  278. package/dist/packages/design-tokens/src/typography.js +33 -0
  279. package/dist/packages/ui-core/src/contracts/accordion.d.ts +20 -0
  280. package/dist/packages/ui-core/src/contracts/accordion.d.ts.map +1 -0
  281. package/dist/packages/ui-core/src/contracts/accordion.js +1 -0
  282. package/dist/packages/ui-core/src/contracts/alert-dialog.d.ts +40 -0
  283. package/dist/packages/ui-core/src/contracts/alert-dialog.d.ts.map +1 -0
  284. package/dist/packages/ui-core/src/contracts/alert-dialog.js +1 -0
  285. package/dist/packages/ui-core/src/contracts/alert.d.ts +15 -0
  286. package/dist/packages/ui-core/src/contracts/alert.d.ts.map +1 -0
  287. package/dist/packages/ui-core/src/contracts/alert.js +1 -0
  288. package/dist/packages/ui-core/src/contracts/aspect-ratio.d.ts +7 -0
  289. package/dist/packages/ui-core/src/contracts/aspect-ratio.d.ts.map +1 -0
  290. package/dist/packages/ui-core/src/contracts/aspect-ratio.js +1 -0
  291. package/dist/packages/ui-core/src/contracts/avatar.d.ts +15 -0
  292. package/dist/packages/ui-core/src/contracts/avatar.d.ts.map +1 -0
  293. package/dist/packages/ui-core/src/contracts/avatar.js +1 -0
  294. package/dist/packages/ui-core/src/contracts/badge.d.ts +7 -0
  295. package/dist/packages/ui-core/src/contracts/badge.d.ts.map +1 -0
  296. package/dist/packages/ui-core/src/contracts/badge.js +1 -0
  297. package/dist/packages/ui-core/src/contracts/breadcrumb.d.ts +31 -0
  298. package/dist/packages/ui-core/src/contracts/breadcrumb.d.ts.map +1 -0
  299. package/dist/packages/ui-core/src/contracts/breadcrumb.js +1 -0
  300. package/dist/packages/ui-core/src/contracts/button.d.ts +10 -0
  301. package/dist/packages/ui-core/src/contracts/button.d.ts.map +1 -0
  302. package/dist/packages/ui-core/src/contracts/button.js +4 -0
  303. package/dist/packages/ui-core/src/contracts/calendar.d.ts +5 -0
  304. package/dist/packages/ui-core/src/contracts/calendar.d.ts.map +1 -0
  305. package/dist/packages/ui-core/src/contracts/calendar.js +1 -0
  306. package/dist/packages/ui-core/src/contracts/card.d.ts +6 -0
  307. package/dist/packages/ui-core/src/contracts/card.d.ts.map +1 -0
  308. package/dist/packages/ui-core/src/contracts/card.js +3 -0
  309. package/dist/packages/ui-core/src/contracts/carousel.d.ts +25 -0
  310. package/dist/packages/ui-core/src/contracts/carousel.d.ts.map +1 -0
  311. package/dist/packages/ui-core/src/contracts/carousel.js +1 -0
  312. package/dist/packages/ui-core/src/contracts/chart.d.ts +34 -0
  313. package/dist/packages/ui-core/src/contracts/chart.d.ts.map +1 -0
  314. package/dist/packages/ui-core/src/contracts/chart.js +1 -0
  315. package/dist/packages/ui-core/src/contracts/checkbox.d.ts +8 -0
  316. package/dist/packages/ui-core/src/contracts/checkbox.d.ts.map +1 -0
  317. package/dist/packages/ui-core/src/contracts/checkbox.js +3 -0
  318. package/dist/packages/ui-core/src/contracts/collapsible.d.ts +19 -0
  319. package/dist/packages/ui-core/src/contracts/collapsible.d.ts.map +1 -0
  320. package/dist/packages/ui-core/src/contracts/collapsible.js +1 -0
  321. package/dist/packages/ui-core/src/contracts/command.d.ts +36 -0
  322. package/dist/packages/ui-core/src/contracts/command.d.ts.map +1 -0
  323. package/dist/packages/ui-core/src/contracts/command.js +1 -0
  324. package/dist/packages/ui-core/src/contracts/context-menu.d.ts +65 -0
  325. package/dist/packages/ui-core/src/contracts/context-menu.d.ts.map +1 -0
  326. package/dist/packages/ui-core/src/contracts/context-menu.js +1 -0
  327. package/dist/packages/ui-core/src/contracts/dialog.d.ts +14 -0
  328. package/dist/packages/ui-core/src/contracts/dialog.d.ts.map +1 -0
  329. package/dist/packages/ui-core/src/contracts/dialog.js +3 -0
  330. package/dist/packages/ui-core/src/contracts/drawer.d.ts +32 -0
  331. package/dist/packages/ui-core/src/contracts/drawer.d.ts.map +1 -0
  332. package/dist/packages/ui-core/src/contracts/drawer.js +1 -0
  333. package/dist/packages/ui-core/src/contracts/dropdown-menu.d.ts +74 -0
  334. package/dist/packages/ui-core/src/contracts/dropdown-menu.d.ts.map +1 -0
  335. package/dist/packages/ui-core/src/contracts/dropdown-menu.js +1 -0
  336. package/dist/packages/ui-core/src/contracts/form.d.ts +24 -0
  337. package/dist/packages/ui-core/src/contracts/form.d.ts.map +1 -0
  338. package/dist/packages/ui-core/src/contracts/form.js +1 -0
  339. package/dist/packages/ui-core/src/contracts/hover-card.d.ts +19 -0
  340. package/dist/packages/ui-core/src/contracts/hover-card.d.ts.map +1 -0
  341. package/dist/packages/ui-core/src/contracts/hover-card.js +1 -0
  342. package/dist/packages/ui-core/src/contracts/input.d.ts +6 -0
  343. package/dist/packages/ui-core/src/contracts/input.d.ts.map +1 -0
  344. package/dist/packages/ui-core/src/contracts/input.js +3 -0
  345. package/dist/packages/ui-core/src/contracts/label.d.ts +7 -0
  346. package/dist/packages/ui-core/src/contracts/label.d.ts.map +1 -0
  347. package/dist/packages/ui-core/src/contracts/label.js +1 -0
  348. package/dist/packages/ui-core/src/contracts/menubar.d.ts +74 -0
  349. package/dist/packages/ui-core/src/contracts/menubar.d.ts.map +1 -0
  350. package/dist/packages/ui-core/src/contracts/menubar.js +1 -0
  351. package/dist/packages/ui-core/src/contracts/navigation-menu.d.ts +48 -0
  352. package/dist/packages/ui-core/src/contracts/navigation-menu.d.ts.map +1 -0
  353. package/dist/packages/ui-core/src/contracts/navigation-menu.js +1 -0
  354. package/dist/packages/ui-core/src/contracts/pagination.d.ts +32 -0
  355. package/dist/packages/ui-core/src/contracts/pagination.d.ts.map +1 -0
  356. package/dist/packages/ui-core/src/contracts/pagination.js +1 -0
  357. package/dist/packages/ui-core/src/contracts/popover.d.ts +25 -0
  358. package/dist/packages/ui-core/src/contracts/popover.d.ts.map +1 -0
  359. package/dist/packages/ui-core/src/contracts/popover.js +1 -0
  360. package/dist/packages/ui-core/src/contracts/progress.d.ts +5 -0
  361. package/dist/packages/ui-core/src/contracts/progress.d.ts.map +1 -0
  362. package/dist/packages/ui-core/src/contracts/progress.js +1 -0
  363. package/dist/packages/ui-core/src/contracts/radio.d.ts +10 -0
  364. package/dist/packages/ui-core/src/contracts/radio.d.ts.map +1 -0
  365. package/dist/packages/ui-core/src/contracts/radio.js +3 -0
  366. package/dist/packages/ui-core/src/contracts/resizable.d.ts +39 -0
  367. package/dist/packages/ui-core/src/contracts/resizable.d.ts.map +1 -0
  368. package/dist/packages/ui-core/src/contracts/resizable.js +1 -0
  369. package/dist/packages/ui-core/src/contracts/scroll-area.d.ts +14 -0
  370. package/dist/packages/ui-core/src/contracts/scroll-area.d.ts.map +1 -0
  371. package/dist/packages/ui-core/src/contracts/scroll-area.js +1 -0
  372. package/dist/packages/ui-core/src/contracts/search.d.ts +12 -0
  373. package/dist/packages/ui-core/src/contracts/search.d.ts.map +1 -0
  374. package/dist/packages/ui-core/src/contracts/search.js +1 -0
  375. package/dist/packages/ui-core/src/contracts/select.d.ts +55 -0
  376. package/dist/packages/ui-core/src/contracts/select.d.ts.map +1 -0
  377. package/dist/packages/ui-core/src/contracts/select.js +1 -0
  378. package/dist/packages/ui-core/src/contracts/separator.d.ts +6 -0
  379. package/dist/packages/ui-core/src/contracts/separator.d.ts.map +1 -0
  380. package/dist/packages/ui-core/src/contracts/separator.js +1 -0
  381. package/dist/packages/ui-core/src/contracts/sheet.d.ts +49 -0
  382. package/dist/packages/ui-core/src/contracts/sheet.d.ts.map +1 -0
  383. package/dist/packages/ui-core/src/contracts/sheet.js +1 -0
  384. package/dist/packages/ui-core/src/contracts/skeleton.d.ts +6 -0
  385. package/dist/packages/ui-core/src/contracts/skeleton.d.ts.map +1 -0
  386. package/dist/packages/ui-core/src/contracts/skeleton.js +1 -0
  387. package/dist/packages/ui-core/src/contracts/slider.d.ts +16 -0
  388. package/dist/packages/ui-core/src/contracts/slider.d.ts.map +1 -0
  389. package/dist/packages/ui-core/src/contracts/slider.js +1 -0
  390. package/dist/packages/ui-core/src/contracts/sonner.d.ts +16 -0
  391. package/dist/packages/ui-core/src/contracts/sonner.d.ts.map +1 -0
  392. package/dist/packages/ui-core/src/contracts/sonner.js +1 -0
  393. package/dist/packages/ui-core/src/contracts/switch.d.ts +12 -0
  394. package/dist/packages/ui-core/src/contracts/switch.d.ts.map +1 -0
  395. package/dist/packages/ui-core/src/contracts/switch.js +1 -0
  396. package/dist/packages/ui-core/src/contracts/table.d.ts +34 -0
  397. package/dist/packages/ui-core/src/contracts/table.d.ts.map +1 -0
  398. package/dist/packages/ui-core/src/contracts/table.js +1 -0
  399. package/dist/packages/ui-core/src/contracts/tabs.d.ts +28 -0
  400. package/dist/packages/ui-core/src/contracts/tabs.d.ts.map +1 -0
  401. package/dist/packages/ui-core/src/contracts/tabs.js +1 -0
  402. package/dist/packages/ui-core/src/contracts/text.d.ts +7 -0
  403. package/dist/packages/ui-core/src/contracts/text.d.ts.map +1 -0
  404. package/dist/packages/ui-core/src/contracts/text.js +3 -0
  405. package/dist/packages/ui-core/src/contracts/textarea.d.ts +8 -0
  406. package/dist/packages/ui-core/src/contracts/textarea.d.ts.map +1 -0
  407. package/dist/packages/ui-core/src/contracts/textarea.js +1 -0
  408. package/dist/packages/ui-core/src/contracts/theme-provider.d.ts +14 -0
  409. package/dist/packages/ui-core/src/contracts/theme-provider.d.ts.map +1 -0
  410. package/dist/packages/ui-core/src/contracts/theme-provider.js +1 -0
  411. package/dist/packages/ui-core/src/contracts/theme-toggle.d.ts +16 -0
  412. package/dist/packages/ui-core/src/contracts/theme-toggle.d.ts.map +1 -0
  413. package/dist/packages/ui-core/src/contracts/theme-toggle.js +1 -0
  414. package/dist/packages/ui-core/src/contracts/toast.d.ts +11 -0
  415. package/dist/packages/ui-core/src/contracts/toast.d.ts.map +1 -0
  416. package/dist/packages/ui-core/src/contracts/toast.js +3 -0
  417. package/dist/packages/ui-core/src/contracts/toaster.d.ts +4 -0
  418. package/dist/packages/ui-core/src/contracts/toaster.d.ts.map +1 -0
  419. package/dist/packages/ui-core/src/contracts/toaster.js +1 -0
  420. package/dist/packages/ui-core/src/contracts/toggle-group.d.ts +22 -0
  421. package/dist/packages/ui-core/src/contracts/toggle-group.d.ts.map +1 -0
  422. package/dist/packages/ui-core/src/contracts/toggle-group.js +1 -0
  423. package/dist/packages/ui-core/src/contracts/toggle.d.ts +29 -0
  424. package/dist/packages/ui-core/src/contracts/toggle.d.ts.map +1 -0
  425. package/dist/packages/ui-core/src/contracts/toggle.js +29 -0
  426. package/dist/packages/ui-core/src/contracts/tooltip.d.ts +25 -0
  427. package/dist/packages/ui-core/src/contracts/tooltip.d.ts.map +1 -0
  428. package/dist/packages/ui-core/src/contracts/tooltip.js +1 -0
  429. package/dist/packages/ui-core/src/index.d.ts +55 -0
  430. package/dist/packages/ui-core/src/index.d.ts.map +1 -0
  431. package/dist/packages/ui-core/src/index.js +12 -0
  432. package/dist/packages/ui-native/src/accordion.d.ts +46 -0
  433. package/dist/packages/ui-native/src/accordion.d.ts.map +1 -0
  434. package/dist/packages/ui-native/src/accordion.js +34 -0
  435. package/dist/packages/ui-native/src/alert-dialog.d.ts +59 -0
  436. package/dist/packages/ui-native/src/alert-dialog.d.ts.map +1 -0
  437. package/dist/packages/ui-native/src/alert-dialog.js +31 -0
  438. package/dist/packages/ui-native/src/alert.d.ts +10 -0
  439. package/dist/packages/ui-native/src/alert.d.ts.map +1 -0
  440. package/dist/packages/ui-native/src/alert.js +26 -0
  441. package/dist/packages/ui-native/src/aspect-ratio.d.ts +2 -0
  442. package/dist/packages/ui-native/src/aspect-ratio.d.ts.map +1 -0
  443. package/dist/packages/ui-native/src/aspect-ratio.js +5 -0
  444. package/dist/packages/ui-native/src/avatar.d.ts +15 -0
  445. package/dist/packages/ui-native/src/avatar.d.ts.map +1 -0
  446. package/dist/packages/ui-native/src/avatar.js +11 -0
  447. package/dist/packages/ui-native/src/badge.d.ts +12 -0
  448. package/dist/packages/ui-native/src/badge.d.ts.map +1 -0
  449. package/dist/packages/ui-native/src/badge.js +37 -0
  450. package/dist/packages/ui-native/src/breadcrumb.d.ts +2 -0
  451. package/dist/packages/ui-native/src/breadcrumb.d.ts.map +1 -0
  452. package/dist/packages/ui-native/src/breadcrumb.js +5 -0
  453. package/dist/packages/ui-native/src/button.d.ts +14 -0
  454. package/dist/packages/ui-native/src/button.d.ts.map +1 -0
  455. package/dist/packages/ui-native/src/button.js +50 -0
  456. package/dist/packages/ui-native/src/calendar.d.ts +2 -0
  457. package/dist/packages/ui-native/src/calendar.d.ts.map +1 -0
  458. package/dist/packages/ui-native/src/calendar.js +5 -0
  459. package/dist/packages/ui-native/src/card.d.ts +13 -0
  460. package/dist/packages/ui-native/src/card.d.ts.map +1 -0
  461. package/dist/packages/ui-native/src/card.js +18 -0
  462. package/dist/packages/ui-native/src/carousel.d.ts +2 -0
  463. package/dist/packages/ui-native/src/carousel.d.ts.map +1 -0
  464. package/dist/packages/ui-native/src/carousel.js +5 -0
  465. package/dist/packages/ui-native/src/chart.d.ts +2 -0
  466. package/dist/packages/ui-native/src/chart.d.ts.map +1 -0
  467. package/dist/packages/ui-native/src/chart.js +5 -0
  468. package/dist/packages/ui-native/src/checkbox.d.ts +15 -0
  469. package/dist/packages/ui-native/src/checkbox.d.ts.map +1 -0
  470. package/dist/packages/ui-native/src/checkbox.js +11 -0
  471. package/dist/packages/ui-native/src/collapsible.d.ts +21 -0
  472. package/dist/packages/ui-native/src/collapsible.d.ts.map +1 -0
  473. package/dist/packages/ui-native/src/collapsible.js +5 -0
  474. package/dist/packages/ui-native/src/command.d.ts +2 -0
  475. package/dist/packages/ui-native/src/command.d.ts.map +1 -0
  476. package/dist/packages/ui-native/src/command.js +5 -0
  477. package/dist/packages/ui-native/src/context-menu.d.ts +2 -0
  478. package/dist/packages/ui-native/src/context-menu.d.ts.map +1 -0
  479. package/dist/packages/ui-native/src/context-menu.js +5 -0
  480. package/dist/packages/ui-native/src/dialog.d.ts +56 -0
  481. package/dist/packages/ui-native/src/dialog.d.ts.map +1 -0
  482. package/dist/packages/ui-native/src/dialog.js +28 -0
  483. package/dist/packages/ui-native/src/drawer.d.ts +2 -0
  484. package/dist/packages/ui-native/src/drawer.d.ts.map +1 -0
  485. package/dist/packages/ui-native/src/drawer.js +5 -0
  486. package/dist/packages/ui-native/src/dropdown-menu.d.ts +2 -0
  487. package/dist/packages/ui-native/src/dropdown-menu.d.ts.map +1 -0
  488. package/dist/packages/ui-native/src/dropdown-menu.js +5 -0
  489. package/dist/packages/ui-native/src/form.d.ts +2 -0
  490. package/dist/packages/ui-native/src/form.d.ts.map +1 -0
  491. package/dist/packages/ui-native/src/form.js +5 -0
  492. package/dist/packages/ui-native/src/hover-card.d.ts +2 -0
  493. package/dist/packages/ui-native/src/hover-card.d.ts.map +1 -0
  494. package/dist/packages/ui-native/src/hover-card.js +5 -0
  495. package/dist/packages/ui-native/src/index.d.ts +61 -0
  496. package/dist/packages/ui-native/src/index.d.ts.map +1 -0
  497. package/dist/packages/ui-native/src/index.js +107 -0
  498. package/dist/packages/ui-native/src/input.d.ts +8 -0
  499. package/dist/packages/ui-native/src/input.d.ts.map +1 -0
  500. package/dist/packages/ui-native/src/input.js +9 -0
  501. package/dist/packages/ui-native/src/label.d.ts +9 -0
  502. package/dist/packages/ui-native/src/label.d.ts.map +1 -0
  503. package/dist/packages/ui-native/src/label.js +7 -0
  504. package/dist/packages/ui-native/src/lib/render-native.d.ts +4 -0
  505. package/dist/packages/ui-native/src/lib/render-native.d.ts.map +1 -0
  506. package/dist/packages/ui-native/src/lib/render-native.js +13 -0
  507. package/dist/packages/ui-native/src/lib/utils.d.ts.map +1 -0
  508. package/dist/packages/ui-native/src/lib/utils.js +5 -0
  509. package/dist/packages/ui-native/src/menubar.d.ts +2 -0
  510. package/dist/packages/ui-native/src/menubar.d.ts.map +1 -0
  511. package/dist/packages/ui-native/src/menubar.js +5 -0
  512. package/dist/packages/ui-native/src/navigation-menu.d.ts +2 -0
  513. package/dist/packages/ui-native/src/navigation-menu.d.ts.map +1 -0
  514. package/dist/packages/ui-native/src/navigation-menu.js +5 -0
  515. package/dist/packages/ui-native/src/pagination.d.ts +2 -0
  516. package/dist/packages/ui-native/src/pagination.d.ts.map +1 -0
  517. package/dist/packages/ui-native/src/pagination.js +5 -0
  518. package/dist/packages/ui-native/src/popover.d.ts +2 -0
  519. package/dist/packages/ui-native/src/popover.d.ts.map +1 -0
  520. package/dist/packages/ui-native/src/popover.js +5 -0
  521. package/dist/packages/ui-native/src/progress.d.ts +2 -0
  522. package/dist/packages/ui-native/src/progress.d.ts.map +1 -0
  523. package/dist/packages/ui-native/src/progress.js +5 -0
  524. package/dist/packages/ui-native/src/radio-group.d.ts +11 -0
  525. package/dist/packages/ui-native/src/radio-group.d.ts.map +1 -0
  526. package/dist/packages/ui-native/src/radio-group.js +14 -0
  527. package/dist/packages/ui-native/src/resizable.d.ts +4 -0
  528. package/dist/packages/ui-native/src/resizable.d.ts.map +1 -0
  529. package/dist/packages/ui-native/src/resizable.js +11 -0
  530. package/dist/packages/ui-native/src/scroll-area.d.ts +2 -0
  531. package/dist/packages/ui-native/src/scroll-area.d.ts.map +1 -0
  532. package/dist/packages/ui-native/src/scroll-area.js +5 -0
  533. package/dist/packages/ui-native/src/search.d.ts +3 -0
  534. package/dist/packages/ui-native/src/search.d.ts.map +1 -0
  535. package/dist/packages/ui-native/src/search.js +8 -0
  536. package/dist/packages/ui-native/src/select.d.ts +57 -0
  537. package/dist/packages/ui-native/src/select.d.ts.map +1 -0
  538. package/dist/packages/ui-native/src/select.js +45 -0
  539. package/dist/packages/ui-native/src/separator.d.ts +9 -0
  540. package/dist/packages/ui-native/src/separator.d.ts.map +1 -0
  541. package/dist/packages/ui-native/src/separator.js +7 -0
  542. package/dist/packages/ui-native/src/sheet.d.ts +53 -0
  543. package/dist/packages/ui-native/src/sheet.d.ts.map +1 -0
  544. package/dist/packages/ui-native/src/sheet.js +37 -0
  545. package/dist/packages/ui-native/src/skeleton.d.ts +5 -0
  546. package/dist/packages/ui-native/src/skeleton.d.ts.map +1 -0
  547. package/dist/packages/ui-native/src/skeleton.js +15 -0
  548. package/dist/packages/ui-native/src/slider.d.ts +2 -0
  549. package/dist/packages/ui-native/src/slider.d.ts.map +1 -0
  550. package/dist/packages/ui-native/src/slider.js +5 -0
  551. package/dist/packages/ui-native/src/sonner.d.ts +2 -0
  552. package/dist/packages/ui-native/src/sonner.d.ts.map +1 -0
  553. package/dist/packages/ui-native/src/sonner.js +5 -0
  554. package/dist/packages/ui-native/src/switch.d.ts +8 -0
  555. package/dist/packages/ui-native/src/switch.d.ts.map +1 -0
  556. package/dist/packages/ui-native/src/switch.js +7 -0
  557. package/dist/packages/ui-native/src/table.d.ts +12 -0
  558. package/dist/packages/ui-native/src/table.d.ts.map +1 -0
  559. package/dist/packages/ui-native/src/table.js +22 -0
  560. package/dist/packages/ui-native/src/tabs.d.ts +25 -0
  561. package/dist/packages/ui-native/src/tabs.d.ts.map +1 -0
  562. package/dist/packages/ui-native/src/tabs.js +16 -0
  563. package/dist/packages/ui-native/src/text.d.ts +13 -0
  564. package/dist/packages/ui-native/src/text.d.ts.map +1 -0
  565. package/dist/packages/ui-native/src/text.js +29 -0
  566. package/dist/packages/ui-native/src/textarea.d.ts +6 -0
  567. package/dist/packages/ui-native/src/textarea.d.ts.map +1 -0
  568. package/dist/packages/ui-native/src/textarea.js +9 -0
  569. package/dist/packages/ui-native/src/theme-provider.d.ts +5 -0
  570. package/dist/packages/ui-native/src/theme-provider.d.ts.map +1 -0
  571. package/dist/packages/ui-native/src/theme-provider.js +5 -0
  572. package/dist/packages/ui-native/src/theme-toggle.d.ts +2 -0
  573. package/dist/packages/ui-native/src/theme-toggle.d.ts.map +1 -0
  574. package/dist/packages/ui-native/src/theme-toggle.js +5 -0
  575. package/dist/packages/ui-native/src/toast.d.ts +35 -0
  576. package/dist/packages/ui-native/src/toast.d.ts.map +1 -0
  577. package/dist/packages/ui-native/src/toast.js +23 -0
  578. package/dist/packages/ui-native/src/toaster.d.ts.map +1 -0
  579. package/dist/packages/ui-native/src/toaster.js +5 -0
  580. package/dist/packages/ui-native/src/toggle-group.d.ts +11 -0
  581. package/dist/packages/ui-native/src/toggle-group.d.ts.map +1 -0
  582. package/dist/packages/ui-native/src/toggle-group.js +25 -0
  583. package/dist/packages/ui-native/src/toggle.d.ts +8 -0
  584. package/dist/packages/ui-native/src/toggle.d.ts.map +1 -0
  585. package/dist/packages/ui-native/src/toggle.js +9 -0
  586. package/dist/packages/ui-native/src/tooltip.d.ts +27 -0
  587. package/dist/packages/ui-native/src/tooltip.d.ts.map +1 -0
  588. package/dist/packages/ui-native/src/tooltip.js +15 -0
  589. package/dist/packages/ui-web/src/accordion.d.ts +10 -0
  590. package/dist/packages/ui-web/src/accordion.d.ts.map +1 -0
  591. package/dist/packages/ui-web/src/accordion.js +13 -0
  592. package/dist/packages/ui-web/src/alert-dialog.d.ts +23 -0
  593. package/dist/packages/ui-web/src/alert-dialog.d.ts.map +1 -0
  594. package/dist/packages/ui-web/src/alert-dialog.js +25 -0
  595. package/dist/packages/ui-web/src/alert.d.ts +11 -0
  596. package/dist/packages/ui-web/src/alert.d.ts.map +1 -0
  597. package/dist/packages/ui-web/src/alert.js +24 -0
  598. package/dist/packages/ui-web/src/aspect-ratio.d.ts +6 -0
  599. package/dist/packages/ui-web/src/aspect-ratio.d.ts.map +1 -0
  600. package/dist/packages/ui-web/src/aspect-ratio.js +3 -0
  601. package/dist/packages/ui-web/src/avatar.d.ts +9 -0
  602. package/dist/packages/ui-web/src/avatar.d.ts.map +1 -0
  603. package/dist/packages/ui-web/src/avatar.js +11 -0
  604. package/dist/packages/ui-web/src/badge.d.ts +11 -0
  605. package/dist/packages/ui-web/src/badge.d.ts.map +1 -0
  606. package/dist/packages/ui-web/src/badge.js +20 -0
  607. package/dist/packages/ui-web/src/breadcrumb.d.ts +20 -0
  608. package/dist/packages/ui-web/src/breadcrumb.d.ts.map +1 -0
  609. package/dist/packages/ui-web/src/breadcrumb.js +23 -0
  610. package/dist/packages/ui-web/src/button.d.ts +13 -0
  611. package/dist/packages/ui-web/src/button.d.ts.map +1 -0
  612. package/dist/packages/ui-web/src/button.js +33 -0
  613. package/dist/packages/ui-web/src/calendar.d.ts +11 -0
  614. package/dist/packages/ui-web/src/calendar.d.ts.map +1 -0
  615. package/dist/packages/ui-web/src/calendar.js +70 -0
  616. package/dist/packages/ui-web/src/card.d.ts +12 -0
  617. package/dist/packages/ui-web/src/card.d.ts.map +1 -0
  618. package/dist/packages/ui-web/src/card.js +16 -0
  619. package/dist/packages/ui-web/src/carousel.d.ts +24 -0
  620. package/dist/packages/ui-web/src/carousel.d.ts.map +1 -0
  621. package/dist/packages/ui-web/src/carousel.js +98 -0
  622. package/dist/packages/ui-web/src/chart.d.ts +39 -0
  623. package/dist/packages/ui-web/src/chart.d.ts.map +1 -0
  624. package/dist/packages/ui-web/src/chart.js +120 -0
  625. package/dist/packages/ui-web/src/checkbox.d.ts +8 -0
  626. package/dist/packages/ui-web/src/checkbox.d.ts.map +1 -0
  627. package/dist/packages/ui-web/src/checkbox.js +8 -0
  628. package/dist/packages/ui-web/src/collapsible.d.ts +8 -0
  629. package/dist/packages/ui-web/src/collapsible.d.ts.map +1 -0
  630. package/dist/packages/ui-web/src/collapsible.js +5 -0
  631. package/dist/packages/ui-web/src/command.d.ts +83 -0
  632. package/dist/packages/ui-web/src/command.d.ts.map +1 -0
  633. package/dist/packages/ui-web/src/command.js +29 -0
  634. package/dist/packages/ui-web/src/context-menu.d.ts +24 -0
  635. package/dist/packages/ui-web/src/context-menu.d.ts.map +1 -0
  636. package/dist/packages/ui-web/src/context-menu.js +32 -0
  637. package/dist/packages/ui-web/src/dialog.d.ts.map +1 -0
  638. package/dist/packages/ui-web/src/dialog.js +22 -0
  639. package/dist/packages/ui-web/src/drawer.d.ts +25 -0
  640. package/dist/packages/ui-web/src/drawer.d.ts.map +1 -0
  641. package/dist/packages/ui-web/src/drawer.js +23 -0
  642. package/dist/packages/ui-web/src/dropdown-menu.d.ts +24 -0
  643. package/dist/packages/ui-web/src/dropdown-menu.d.ts.map +1 -0
  644. package/dist/packages/ui-web/src/dropdown-menu.js +33 -0
  645. package/dist/packages/ui-web/src/form.d.ts +26 -0
  646. package/dist/packages/ui-web/src/form.d.ts.map +1 -0
  647. package/dist/packages/ui-web/src/form.js +64 -0
  648. package/dist/packages/ui-web/src/hooks/use-theme.d.ts.map +1 -0
  649. package/dist/packages/ui-web/src/hooks/use-theme.js +12 -0
  650. package/dist/packages/ui-web/src/hooks/use-toast.d.ts +45 -0
  651. package/dist/packages/ui-web/src/hooks/use-toast.d.ts.map +1 -0
  652. package/dist/packages/ui-web/src/hooks/use-toast.js +128 -0
  653. package/dist/packages/ui-web/src/hover-card.d.ts +9 -0
  654. package/dist/packages/ui-web/src/hover-card.d.ts.map +1 -0
  655. package/dist/packages/ui-web/src/hover-card.js +10 -0
  656. package/dist/packages/ui-web/src/index.d.ts +101 -0
  657. package/dist/packages/ui-web/src/index.d.ts.map +1 -0
  658. package/dist/packages/ui-web/src/index.js +106 -0
  659. package/dist/packages/ui-web/src/input.d.ts +7 -0
  660. package/dist/packages/ui-web/src/input.d.ts.map +1 -0
  661. package/dist/packages/ui-web/src/input.js +8 -0
  662. package/dist/packages/ui-web/src/label.d.ts +8 -0
  663. package/dist/packages/ui-web/src/label.d.ts.map +1 -0
  664. package/dist/packages/ui-web/src/label.js +10 -0
  665. package/dist/packages/ui-web/src/lib/utils.d.ts +3 -0
  666. package/dist/packages/ui-web/src/lib/utils.d.ts.map +1 -0
  667. package/dist/packages/ui-web/src/lib/utils.js +5 -0
  668. package/dist/packages/ui-web/src/menubar.d.ts +25 -0
  669. package/dist/packages/ui-web/src/menubar.d.ts.map +1 -0
  670. package/dist/packages/ui-web/src/menubar.js +46 -0
  671. package/dist/packages/ui-web/src/navigation-menu.d.ts +15 -0
  672. package/dist/packages/ui-web/src/navigation-menu.d.ts.map +1 -0
  673. package/dist/packages/ui-web/src/navigation-menu.js +23 -0
  674. package/dist/packages/ui-web/src/pagination.d.ts +31 -0
  675. package/dist/packages/ui-web/src/pagination.d.ts.map +1 -0
  676. package/dist/packages/ui-web/src/pagination.js +23 -0
  677. package/dist/packages/ui-web/src/popover.d.ts +10 -0
  678. package/dist/packages/ui-web/src/popover.d.ts.map +1 -0
  679. package/dist/packages/ui-web/src/popover.js +11 -0
  680. package/dist/packages/ui-web/src/progress.d.ts +7 -0
  681. package/dist/packages/ui-web/src/progress.d.ts.map +1 -0
  682. package/dist/packages/ui-web/src/progress.js +8 -0
  683. package/dist/packages/ui-web/src/radio-group.d.ts +11 -0
  684. package/dist/packages/ui-web/src/radio-group.d.ts.map +1 -0
  685. package/dist/packages/ui-web/src/radio-group.js +14 -0
  686. package/dist/packages/ui-web/src/resizable.d.ts +9 -0
  687. package/dist/packages/ui-web/src/resizable.d.ts.map +1 -0
  688. package/dist/packages/ui-web/src/resizable.js +17 -0
  689. package/dist/packages/ui-web/src/scroll-area.d.ts +8 -0
  690. package/dist/packages/ui-web/src/scroll-area.d.ts.map +1 -0
  691. package/dist/packages/ui-web/src/scroll-area.js +10 -0
  692. package/dist/packages/ui-web/src/search.d.ts +8 -0
  693. package/dist/packages/ui-web/src/search.d.ts.map +1 -0
  694. package/dist/packages/ui-web/src/search.js +48 -0
  695. package/dist/packages/ui-web/src/select.d.ts +16 -0
  696. package/dist/packages/ui-web/src/select.d.ts.map +1 -0
  697. package/dist/packages/ui-web/src/select.js +26 -0
  698. package/dist/packages/ui-web/src/separator.d.ts +7 -0
  699. package/dist/packages/ui-web/src/separator.d.ts.map +1 -0
  700. package/dist/packages/ui-web/src/separator.js +8 -0
  701. package/dist/packages/ui-web/src/sheet.d.ts +28 -0
  702. package/dist/packages/ui-web/src/sheet.d.ts.map +1 -0
  703. package/dist/packages/ui-web/src/sheet.js +37 -0
  704. package/dist/packages/ui-web/src/skeleton.d.ts +6 -0
  705. package/dist/packages/ui-web/src/skeleton.d.ts.map +1 -0
  706. package/dist/packages/ui-web/src/skeleton.js +6 -0
  707. package/dist/packages/ui-web/src/slider.d.ts +7 -0
  708. package/dist/packages/ui-web/src/slider.d.ts.map +1 -0
  709. package/dist/packages/ui-web/src/slider.js +8 -0
  710. package/dist/packages/ui-web/src/sonner.d.ts +8 -0
  711. package/dist/packages/ui-web/src/sonner.d.ts.map +1 -0
  712. package/dist/packages/ui-web/src/sonner.js +16 -0
  713. package/dist/packages/ui-web/src/switch.d.ts +7 -0
  714. package/dist/packages/ui-web/src/switch.d.ts.map +1 -0
  715. package/dist/packages/ui-web/src/switch.js +8 -0
  716. package/dist/packages/ui-web/src/table.d.ts +13 -0
  717. package/dist/packages/ui-web/src/table.d.ts.map +1 -0
  718. package/dist/packages/ui-web/src/table.js +21 -0
  719. package/dist/packages/ui-web/src/tabs.d.ts +10 -0
  720. package/dist/packages/ui-web/src/tabs.d.ts.map +1 -0
  721. package/dist/packages/ui-web/src/tabs.js +13 -0
  722. package/dist/packages/ui-web/src/text.d.ts +12 -0
  723. package/dist/packages/ui-web/src/text.d.ts.map +1 -0
  724. package/dist/packages/ui-web/src/text.js +40 -0
  725. package/dist/packages/ui-web/src/textarea.d.ts +7 -0
  726. package/dist/packages/ui-web/src/textarea.d.ts.map +1 -0
  727. package/dist/packages/ui-web/src/textarea.js +9 -0
  728. package/dist/packages/ui-web/src/theme-provider.d.ts +5 -0
  729. package/dist/packages/ui-web/src/theme-provider.d.ts.map +1 -0
  730. package/dist/packages/ui-web/src/theme-provider.js +6 -0
  731. package/dist/packages/ui-web/src/theme-toggle.d.ts +4 -0
  732. package/dist/packages/ui-web/src/theme-toggle.d.ts.map +1 -0
  733. package/dist/packages/ui-web/src/theme-toggle.js +29 -0
  734. package/dist/packages/ui-web/src/toast.d.ts.map +1 -0
  735. package/dist/packages/ui-web/src/toast.js +33 -0
  736. package/dist/packages/ui-web/src/toaster.d.ts +3 -0
  737. package/dist/packages/ui-web/src/toaster.d.ts.map +1 -0
  738. package/dist/packages/ui-web/src/toaster.js +10 -0
  739. package/dist/packages/ui-web/src/toggle-group.d.ts +13 -0
  740. package/dist/packages/ui-web/src/toggle-group.d.ts.map +1 -0
  741. package/dist/packages/ui-web/src/toggle-group.js +21 -0
  742. package/dist/packages/ui-web/src/toggle.d.ts +9 -0
  743. package/dist/packages/ui-web/src/toggle.d.ts.map +1 -0
  744. package/dist/packages/ui-web/src/toggle.js +9 -0
  745. package/dist/packages/ui-web/src/tooltip.d.ts +13 -0
  746. package/dist/packages/ui-web/src/tooltip.d.ts.map +1 -0
  747. package/dist/packages/ui-web/src/tooltip.js +12 -0
  748. package/dist/pagination.cjs.js +2 -0
  749. package/dist/pagination.cjs.js.map +1 -0
  750. package/dist/pagination.es.js +68 -0
  751. package/dist/pagination.es.js.map +1 -0
  752. package/dist/popover.cjs.js +2 -0
  753. package/dist/popover.cjs.js.map +1 -0
  754. package/dist/popover.es.js +24 -0
  755. package/dist/popover.es.js.map +1 -0
  756. package/dist/progress.cjs.js +2 -0
  757. package/dist/progress.cjs.js.map +1 -0
  758. package/dist/progress.es.js +24 -0
  759. package/dist/progress.es.js.map +1 -0
  760. package/dist/radio-group.cjs.js +2 -0
  761. package/dist/radio-group.cjs.js.map +1 -0
  762. package/dist/radio-group.es.js +27 -0
  763. package/dist/radio-group.es.js.map +1 -0
  764. package/dist/resizable.cjs.js +2 -0
  765. package/dist/resizable.cjs.js.map +1 -0
  766. package/dist/resizable.es.js +34 -0
  767. package/dist/resizable.es.js.map +1 -0
  768. package/dist/scroll-area.cjs.js +2 -0
  769. package/dist/scroll-area.cjs.js.map +1 -0
  770. package/dist/scroll-area.es.js +30 -0
  771. package/dist/scroll-area.es.js.map +1 -0
  772. package/dist/search.cjs.js +2 -0
  773. package/dist/search.cjs.js.map +1 -0
  774. package/dist/search.es.js +51 -0
  775. package/dist/search.es.js.map +1 -0
  776. package/dist/select.cjs.js +2 -0
  777. package/dist/select.cjs.js.map +1 -0
  778. package/dist/select.es.js +100 -0
  779. package/dist/select.es.js.map +1 -0
  780. package/dist/separator.cjs.js +2 -0
  781. package/dist/separator.cjs.js.map +1 -0
  782. package/dist/separator.es.js +18 -0
  783. package/dist/separator.es.js.map +1 -0
  784. package/dist/sheet.cjs.js +2 -0
  785. package/dist/sheet.cjs.js.map +1 -0
  786. package/dist/sheet.es.js +64 -0
  787. package/dist/sheet.es.js.map +1 -0
  788. package/dist/skeleton.cjs.js +2 -0
  789. package/dist/skeleton.cjs.js.map +1 -0
  790. package/dist/skeleton.es.js +9 -0
  791. package/dist/skeleton.es.js.map +1 -0
  792. package/dist/slider.cjs.js +2 -0
  793. package/dist/slider.cjs.js.map +1 -0
  794. package/dist/slider.es.js +20 -0
  795. package/dist/slider.es.js.map +1 -0
  796. package/dist/sonner.cjs.js +2 -0
  797. package/dist/sonner.cjs.js.map +1 -0
  798. package/dist/sonner.es.js +25 -0
  799. package/dist/sonner.es.js.map +1 -0
  800. package/dist/src/index.d.ts +4 -0
  801. package/dist/src/index.d.ts.map +1 -0
  802. package/dist/src/index.js +3 -0
  803. package/dist/switch.cjs.js +2 -0
  804. package/dist/switch.cjs.js.map +1 -0
  805. package/dist/switch.es.js +27 -0
  806. package/dist/switch.es.js.map +1 -0
  807. package/dist/table.cjs.js +2 -0
  808. package/dist/table.cjs.js.map +1 -0
  809. package/dist/table.es.js +58 -0
  810. package/dist/table.es.js.map +1 -0
  811. package/dist/tabs.cjs.js +2 -0
  812. package/dist/tabs.cjs.js.map +1 -0
  813. package/dist/tabs.es.js +46 -0
  814. package/dist/tabs.es.js.map +1 -0
  815. package/dist/text.cjs.js +2 -0
  816. package/dist/text.cjs.js.map +1 -0
  817. package/dist/text.es.js +42 -0
  818. package/dist/text.es.js.map +1 -0
  819. package/dist/textarea.cjs.js +2 -0
  820. package/dist/textarea.cjs.js.map +1 -0
  821. package/dist/textarea.es.js +19 -0
  822. package/dist/textarea.es.js.map +1 -0
  823. package/dist/theme-provider.cjs.js +2 -0
  824. package/dist/theme-provider.cjs.js.map +1 -0
  825. package/dist/theme-provider.es.js +9 -0
  826. package/dist/theme-provider.es.js.map +1 -0
  827. package/dist/theme-toggle-BTT5z37-.js +2 -0
  828. package/dist/theme-toggle-BTT5z37-.js.map +1 -0
  829. package/dist/theme-toggle-Dhc53hqa.mjs +176 -0
  830. package/dist/theme-toggle-Dhc53hqa.mjs.map +1 -0
  831. package/dist/theme-toggle.cjs.js +2 -0
  832. package/dist/theme-toggle.cjs.js.map +1 -0
  833. package/dist/theme-toggle.es.js +9 -0
  834. package/dist/theme-toggle.es.js.map +1 -0
  835. package/dist/toast.cjs.js +2 -0
  836. package/dist/toast.cjs.js.map +1 -0
  837. package/dist/toast.es.js +70 -0
  838. package/dist/toast.es.js.map +1 -0
  839. package/dist/toaster-BOqCGbZ6.js +2 -0
  840. package/dist/toaster-BOqCGbZ6.js.map +1 -0
  841. package/dist/toaster-CmNmQ6jI.mjs +119 -0
  842. package/dist/toaster-CmNmQ6jI.mjs.map +1 -0
  843. package/dist/toaster.cjs.js +2 -0
  844. package/dist/toaster.cjs.js.map +1 -0
  845. package/dist/toaster.es.js +7 -0
  846. package/dist/toaster.es.js.map +1 -0
  847. package/dist/toggle-CYawMoye.mjs +25 -0
  848. package/dist/toggle-CYawMoye.mjs.map +1 -0
  849. package/dist/toggle-Dmzk_m4r.js +2 -0
  850. package/dist/toggle-Dmzk_m4r.js.map +1 -0
  851. package/dist/toggle-group.cjs.js +2 -0
  852. package/dist/toggle-group.cjs.js.map +1 -0
  853. package/dist/toggle-group.es.js +37 -0
  854. package/dist/toggle-group.es.js.map +1 -0
  855. package/dist/toggle.cjs.js +2 -0
  856. package/dist/toggle.cjs.js.map +1 -0
  857. package/dist/toggle.es.js +13 -0
  858. package/dist/toggle.es.js.map +1 -0
  859. package/dist/tooltip.cjs.js +2 -0
  860. package/dist/tooltip.cjs.js.map +1 -0
  861. package/dist/tooltip.es.js +29 -0
  862. package/dist/tooltip.es.js.map +1 -0
  863. package/dist/utils-5NfNUIaP.js +2 -0
  864. package/dist/utils-5NfNUIaP.js.map +1 -0
  865. package/dist/utils-BfGqxkzX.mjs +8 -0
  866. package/dist/utils-BfGqxkzX.mjs.map +1 -0
  867. package/dist/vendor-B8N-rYkV.mjs +25431 -0
  868. package/dist/vendor-B8N-rYkV.mjs.map +1 -0
  869. package/dist/vendor-D51Wvbw-.js +68 -0
  870. package/dist/vendor-D51Wvbw-.js.map +1 -0
  871. package/docs/architecture-pivot.md +165 -0
  872. package/docs/native-setup-decision.md +57 -0
  873. package/docs/phase-1-tracker.md +144 -0
  874. package/docs/release-tooling-evaluation.md +67 -0
  875. package/docs/universal-implementation.md +195 -0
  876. package/docs/update-plan.md +268 -0
  877. package/eslint.config.mjs +1 -1
  878. package/nx.json +50 -0
  879. package/package.json +68 -60
  880. package/packages/.gitkeep +0 -0
  881. package/packages/design-tokens/CHANGELOG.md +8 -0
  882. package/packages/design-tokens/package.json +20 -0
  883. package/packages/design-tokens/src/index.ts +35 -0
  884. package/packages/design-tokens/src/palette.ts +36 -0
  885. package/packages/design-tokens/src/radii.ts +26 -0
  886. package/packages/design-tokens/src/shadows.ts +16 -0
  887. package/packages/design-tokens/src/spacing.ts +33 -0
  888. package/packages/design-tokens/src/theme.ts +54 -0
  889. package/packages/design-tokens/src/typography.ts +36 -0
  890. package/packages/design-tokens/tsconfig.json +17 -0
  891. package/packages/ui-core/CHANGELOG.md +8 -0
  892. package/packages/ui-core/package.json +40 -0
  893. package/packages/ui-core/src/contracts/accordion.ts +23 -0
  894. package/packages/ui-core/src/contracts/alert-dialog.ts +48 -0
  895. package/packages/ui-core/src/contracts/alert.ts +17 -0
  896. package/packages/ui-core/src/contracts/aspect-ratio.ts +7 -0
  897. package/packages/ui-core/src/contracts/avatar.ts +17 -0
  898. package/packages/ui-core/src/contracts/badge.ts +7 -0
  899. package/packages/ui-core/src/contracts/breadcrumb.ts +37 -0
  900. package/packages/ui-core/src/contracts/button.ts +17 -0
  901. package/packages/ui-core/src/contracts/calendar.ts +4 -0
  902. package/packages/ui-core/src/contracts/card.ts +11 -0
  903. package/packages/ui-core/src/contracts/carousel.ts +29 -0
  904. package/packages/ui-core/src/contracts/chart.ts +31 -0
  905. package/packages/ui-core/src/contracts/checkbox.ts +11 -0
  906. package/packages/ui-core/src/contracts/collapsible.ts +21 -0
  907. package/packages/ui-core/src/contracts/command.ts +43 -0
  908. package/packages/ui-core/src/contracts/context-menu.ts +78 -0
  909. package/packages/ui-core/src/contracts/dialog.ts +29 -0
  910. package/packages/ui-core/src/contracts/drawer.ts +39 -0
  911. package/packages/ui-core/src/contracts/dropdown-menu.ts +87 -0
  912. package/packages/ui-core/src/contracts/form.ts +29 -0
  913. package/packages/ui-core/src/contracts/hover-card.ts +21 -0
  914. package/packages/ui-core/src/contracts/input.ts +11 -0
  915. package/packages/ui-core/src/contracts/label.ts +7 -0
  916. package/packages/ui-core/src/contracts/menubar.ts +86 -0
  917. package/packages/ui-core/src/contracts/navigation-menu.ts +55 -0
  918. package/packages/ui-core/src/contracts/pagination.ts +38 -0
  919. package/packages/ui-core/src/contracts/popover.ts +28 -0
  920. package/packages/ui-core/src/contracts/progress.ts +4 -0
  921. package/packages/ui-core/src/contracts/radio.ts +16 -0
  922. package/packages/ui-core/src/contracts/resizable.ts +36 -0
  923. package/packages/ui-core/src/contracts/scroll-area.ts +15 -0
  924. package/packages/ui-core/src/contracts/search.ts +13 -0
  925. package/packages/ui-core/src/contracts/select.ts +64 -0
  926. package/packages/ui-core/src/contracts/separator.ts +5 -0
  927. package/packages/ui-core/src/contracts/sheet.ts +58 -0
  928. package/packages/ui-core/src/contracts/skeleton.ts +6 -0
  929. package/packages/ui-core/src/contracts/slider.ts +15 -0
  930. package/packages/ui-core/src/contracts/sonner.ts +15 -0
  931. package/packages/ui-core/src/contracts/switch.ts +11 -0
  932. package/packages/ui-core/src/contracts/table.ts +41 -0
  933. package/packages/ui-core/src/contracts/tabs.ts +31 -0
  934. package/packages/ui-core/src/contracts/text.ts +12 -0
  935. package/packages/ui-core/src/contracts/textarea.ts +7 -0
  936. package/packages/ui-core/src/contracts/theme-provider.ts +14 -0
  937. package/packages/ui-core/src/contracts/theme-toggle.ts +15 -0
  938. package/packages/ui-core/src/contracts/toast.ts +15 -0
  939. package/packages/ui-core/src/contracts/toaster.ts +3 -0
  940. package/packages/ui-core/src/contracts/toggle-group.ts +23 -0
  941. package/packages/ui-core/src/contracts/toggle.ts +49 -0
  942. package/packages/ui-core/src/contracts/tooltip.ts +28 -0
  943. package/packages/ui-core/src/index.ts +327 -0
  944. package/packages/ui-core/tsconfig.json +18 -0
  945. package/packages/ui-native/CHANGELOG.md +8 -0
  946. package/packages/ui-native/package.json +76 -0
  947. package/packages/ui-native/src/accordion.tsx +93 -0
  948. package/packages/ui-native/src/alert-dialog.tsx +123 -0
  949. package/packages/ui-native/src/alert.tsx +50 -0
  950. package/packages/ui-native/src/aspect-ratio.tsx +9 -0
  951. package/packages/ui-native/src/avatar.tsx +38 -0
  952. package/packages/ui-native/src/badge.tsx +51 -0
  953. package/packages/ui-native/src/breadcrumb.tsx +9 -0
  954. package/packages/ui-native/src/button.test.tsx +27 -0
  955. package/packages/ui-native/src/button.tsx +75 -0
  956. package/packages/ui-native/src/calendar.tsx +9 -0
  957. package/packages/ui-native/src/card.test.tsx +33 -0
  958. package/packages/ui-native/src/card.tsx +56 -0
  959. package/packages/ui-native/src/carousel.tsx +9 -0
  960. package/packages/ui-native/src/chart.tsx +9 -0
  961. package/packages/ui-native/src/checkbox.test.tsx +58 -0
  962. package/packages/ui-native/src/checkbox.tsx +31 -0
  963. package/packages/ui-native/src/collapsible.test.tsx +50 -0
  964. package/packages/ui-native/src/collapsible.tsx +15 -0
  965. package/packages/ui-native/src/command.tsx +9 -0
  966. package/packages/ui-native/src/context-menu.tsx +9 -0
  967. package/packages/ui-native/src/dialog.test.tsx +91 -0
  968. package/packages/ui-native/src/dialog.tsx +121 -0
  969. package/packages/ui-native/src/drawer.tsx +9 -0
  970. package/packages/ui-native/src/dropdown-menu.tsx +9 -0
  971. package/packages/ui-native/src/form.tsx +9 -0
  972. package/packages/ui-native/src/hover-card.tsx +9 -0
  973. package/packages/ui-native/src/index.ts +209 -0
  974. package/packages/ui-native/src/input.test.tsx +27 -0
  975. package/packages/ui-native/src/input.tsx +27 -0
  976. package/packages/ui-native/src/label.tsx +29 -0
  977. package/packages/ui-native/src/lib/render-native.tsx +17 -0
  978. package/packages/ui-native/src/menubar.tsx +9 -0
  979. package/packages/ui-native/src/nativewind-env.d.ts +1 -0
  980. package/packages/ui-native/src/navigation-menu.tsx +9 -0
  981. package/packages/ui-native/src/pagination.tsx +9 -0
  982. package/packages/ui-native/src/popover.tsx +9 -0
  983. package/packages/ui-native/src/progress.tsx +9 -0
  984. package/packages/ui-native/src/radio-group.test.tsx +77 -0
  985. package/packages/ui-native/src/radio-group.tsx +42 -0
  986. package/packages/ui-native/src/resizable.tsx +25 -0
  987. package/packages/ui-native/src/scroll-area.tsx +9 -0
  988. package/packages/ui-native/src/search.tsx +17 -0
  989. package/packages/ui-native/src/select.tsx +229 -0
  990. package/packages/ui-native/src/separator.tsx +20 -0
  991. package/packages/ui-native/src/sheet.test.tsx +93 -0
  992. package/packages/ui-native/src/sheet.tsx +127 -0
  993. package/packages/ui-native/src/skeleton.test.tsx +29 -0
  994. package/packages/ui-native/src/skeleton.tsx +31 -0
  995. package/packages/ui-native/src/slider.tsx +9 -0
  996. package/packages/ui-native/src/sonner.tsx +9 -0
  997. package/packages/ui-native/src/switch.tsx +34 -0
  998. package/packages/ui-native/src/table.tsx +73 -0
  999. package/packages/ui-native/src/tabs.tsx +74 -0
  1000. package/packages/ui-native/src/text.test.tsx +24 -0
  1001. package/packages/ui-native/src/text.tsx +43 -0
  1002. package/packages/ui-native/src/textarea.test.tsx +27 -0
  1003. package/packages/ui-native/src/textarea.tsx +29 -0
  1004. package/packages/ui-native/src/theme-provider.tsx +6 -0
  1005. package/packages/ui-native/src/theme-toggle.tsx +11 -0
  1006. package/packages/ui-native/src/toast.test.tsx +61 -0
  1007. package/packages/ui-native/src/toast.tsx +88 -0
  1008. package/packages/ui-native/src/toaster.tsx +9 -0
  1009. package/packages/ui-native/src/toggle-group.tsx +78 -0
  1010. package/packages/ui-native/src/toggle.tsx +35 -0
  1011. package/packages/ui-native/src/tooltip.tsx +44 -0
  1012. package/packages/ui-native/tsconfig.json +23 -0
  1013. package/packages/ui-native/vite.config.ts +17 -0
  1014. package/packages/ui-web/CHANGELOG.md +8 -0
  1015. package/packages/ui-web/package.json +84 -0
  1016. package/packages/ui-web/src/accordion.tsx +58 -0
  1017. package/packages/ui-web/src/alert-dialog.test.tsx +91 -0
  1018. package/packages/ui-web/src/alert-dialog.tsx +121 -0
  1019. package/packages/ui-web/src/alert.test.tsx +47 -0
  1020. package/packages/ui-web/src/alert.tsx +49 -0
  1021. package/packages/ui-web/src/aspect-ratio.test.tsx +34 -0
  1022. package/packages/ui-web/src/aspect-ratio.tsx +7 -0
  1023. package/packages/ui-web/src/avatar.tsx +40 -0
  1024. package/packages/ui-web/src/badge.tsx +34 -0
  1025. package/packages/ui-web/src/breadcrumb.tsx +105 -0
  1026. package/packages/ui-web/src/button.test.tsx +62 -0
  1027. package/packages/ui-web/src/button.tsx +47 -0
  1028. package/packages/ui-web/src/calendar.test.tsx +23 -0
  1029. package/packages/ui-web/src/calendar.tsx +163 -0
  1030. package/packages/ui-web/src/card.test.tsx +35 -0
  1031. package/packages/ui-web/src/card.tsx +46 -0
  1032. package/packages/ui-web/src/carousel.test.tsx +37 -0
  1033. package/packages/ui-web/src/carousel.tsx +234 -0
  1034. package/packages/ui-web/src/chart.test.tsx +62 -0
  1035. package/packages/ui-web/src/chart.tsx +296 -0
  1036. package/packages/ui-web/src/checkbox.test.tsx +30 -0
  1037. package/packages/ui-web/src/checkbox.tsx +31 -0
  1038. package/packages/ui-web/src/collapsible.test.tsx +51 -0
  1039. package/packages/ui-web/src/collapsible.tsx +15 -0
  1040. package/packages/ui-web/src/command.test.tsx +79 -0
  1041. package/packages/ui-web/src/command.tsx +154 -0
  1042. package/packages/ui-web/src/context-menu.test.tsx +37 -0
  1043. package/packages/ui-web/src/context-menu.tsx +208 -0
  1044. package/packages/ui-web/src/dialog.test.tsx +66 -0
  1045. package/packages/ui-web/src/dialog.tsx +95 -0
  1046. package/packages/ui-web/src/drawer.test.tsx +68 -0
  1047. package/packages/ui-web/src/drawer.tsx +110 -0
  1048. package/packages/ui-web/src/dropdown-menu.test.tsx +93 -0
  1049. package/packages/ui-web/src/dropdown-menu.tsx +212 -0
  1050. package/packages/ui-web/src/form.test.tsx +84 -0
  1051. package/packages/ui-web/src/form.tsx +160 -0
  1052. package/packages/ui-web/src/hooks/use-theme.ts +15 -0
  1053. package/packages/ui-web/src/hooks/use-toast.ts +189 -0
  1054. package/packages/ui-web/src/hover-card.test.tsx +48 -0
  1055. package/packages/ui-web/src/hover-card.tsx +35 -0
  1056. package/packages/ui-web/src/index.ts +474 -0
  1057. package/packages/ui-web/src/input.test.tsx +33 -0
  1058. package/packages/ui-web/src/input.tsx +23 -0
  1059. package/packages/ui-web/src/label.tsx +21 -0
  1060. package/packages/ui-web/src/lib/utils.ts +6 -0
  1061. package/packages/ui-web/src/menubar.test.tsx +92 -0
  1062. package/packages/ui-web/src/menubar.tsx +244 -0
  1063. package/packages/ui-web/src/navigation-menu.test.tsx +53 -0
  1064. package/packages/ui-web/src/navigation-menu.tsx +143 -0
  1065. package/packages/ui-web/src/pagination.test.tsx +57 -0
  1066. package/packages/ui-web/src/pagination.tsx +107 -0
  1067. package/packages/ui-web/src/popover.test.tsx +31 -0
  1068. package/packages/ui-web/src/popover.tsx +45 -0
  1069. package/packages/ui-web/src/progress.test.tsx +18 -0
  1070. package/packages/ui-web/src/progress.tsx +28 -0
  1071. package/packages/ui-web/src/radio-group.test.tsx +39 -0
  1072. package/packages/ui-web/src/radio-group.tsx +41 -0
  1073. package/packages/ui-web/src/resizable.test.tsx +23 -0
  1074. package/packages/ui-web/src/resizable.tsx +59 -0
  1075. package/packages/ui-web/src/scroll-area.test.tsx +15 -0
  1076. package/packages/ui-web/src/scroll-area.tsx +42 -0
  1077. package/packages/ui-web/src/search.test.tsx +81 -0
  1078. package/packages/ui-web/src/search.tsx +87 -0
  1079. package/packages/ui-web/src/select.test.tsx +42 -0
  1080. package/packages/ui-web/src/select.tsx +169 -0
  1081. package/packages/ui-web/src/separator.test.tsx +16 -0
  1082. package/packages/ui-web/src/separator.tsx +24 -0
  1083. package/packages/ui-web/src/setupTests.ts +114 -0
  1084. package/packages/ui-web/src/sheet.test.tsx +48 -0
  1085. package/packages/ui-web/src/sheet.tsx +136 -0
  1086. package/packages/ui-web/src/skeleton.test.tsx +13 -0
  1087. package/packages/ui-web/src/skeleton.tsx +10 -0
  1088. package/packages/ui-web/src/slider.test.tsx +18 -0
  1089. package/packages/ui-web/src/slider.tsx +27 -0
  1090. package/packages/ui-web/src/sonner.test.tsx +13 -0
  1091. package/packages/ui-web/src/sonner.tsx +32 -0
  1092. package/packages/ui-web/src/switch.test.tsx +22 -0
  1093. package/packages/ui-web/src/switch.tsx +31 -0
  1094. package/packages/ui-web/src/table.test.tsx +29 -0
  1095. package/packages/ui-web/src/table.tsx +104 -0
  1096. package/packages/ui-web/src/tabs.test.tsx +43 -0
  1097. package/packages/ui-web/src/tabs.tsx +62 -0
  1098. package/packages/ui-web/src/text.test.tsx +34 -0
  1099. package/packages/ui-web/src/text.tsx +55 -0
  1100. package/packages/ui-web/src/textarea.test.tsx +21 -0
  1101. package/packages/ui-web/src/textarea.tsx +25 -0
  1102. package/packages/ui-web/src/theme-provider.tsx +15 -0
  1103. package/packages/ui-web/src/theme-toggle.test.tsx +49 -0
  1104. package/packages/ui-web/src/theme-toggle.tsx +92 -0
  1105. package/packages/ui-web/src/toast.test.tsx +42 -0
  1106. package/packages/ui-web/src/toast.tsx +111 -0
  1107. package/packages/ui-web/src/toaster.tsx +27 -0
  1108. package/packages/ui-web/src/toggle-group.test.tsx +40 -0
  1109. package/packages/ui-web/src/toggle-group.tsx +55 -0
  1110. package/packages/ui-web/src/toggle.test.tsx +21 -0
  1111. package/packages/ui-web/src/toggle.tsx +24 -0
  1112. package/packages/ui-web/src/tooltip.tsx +51 -0
  1113. package/packages/ui-web/tsconfig.json +24 -0
  1114. package/packages/ui-web/vite.config.ts +21 -0
  1115. package/release-please-config.json +25 -1
  1116. package/scripts/build-registry.ts +60 -27
  1117. package/scripts/sync-tokens.ts +86 -0
  1118. package/scripts/validate.ts +74 -0
  1119. package/src/globals.css +22 -0
  1120. package/src/index.ts +2 -56
  1121. package/src/types/nativewind.d.ts +19 -0
  1122. package/tailwind.config.js +48 -0
  1123. package/tsconfig.build.json +13 -3
  1124. package/tsconfig.json +8 -2
  1125. package/vite.config.ts +61 -5
  1126. package/vitest.config.ts +7 -1
  1127. package/wrangler.toml +1 -1
  1128. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  1129. package/dist/App.d.ts +0 -3
  1130. package/dist/App.d.ts.map +0 -1
  1131. package/dist/components/docs/CodeBlock.d.ts +0 -8
  1132. package/dist/components/docs/CodeBlock.d.ts.map +0 -1
  1133. package/dist/components/docs/ComponentShowcase.d.ts +0 -17
  1134. package/dist/components/docs/ComponentShowcase.d.ts.map +0 -1
  1135. package/dist/components/docs/Footer.d.ts +0 -2
  1136. package/dist/components/docs/Footer.d.ts.map +0 -1
  1137. package/dist/components/docs/PropsTable.d.ts +0 -13
  1138. package/dist/components/docs/PropsTable.d.ts.map +0 -1
  1139. package/dist/components/docs/Sidebar.d.ts +0 -14
  1140. package/dist/components/docs/Sidebar.d.ts.map +0 -1
  1141. package/dist/components/docs/ThemeToggle.d.ts +0 -2
  1142. package/dist/components/docs/ThemeToggle.d.ts.map +0 -1
  1143. package/dist/components/docs/index.d.ts +0 -7
  1144. package/dist/components/docs/index.d.ts.map +0 -1
  1145. package/dist/components/ui/accordion.d.ts +0 -8
  1146. package/dist/components/ui/accordion.d.ts.map +0 -1
  1147. package/dist/components/ui/accordion.test.d.ts +0 -2
  1148. package/dist/components/ui/accordion.test.d.ts.map +0 -1
  1149. package/dist/components/ui/alert-dialog.d.ts +0 -21
  1150. package/dist/components/ui/alert-dialog.d.ts.map +0 -1
  1151. package/dist/components/ui/alert-dialog.test.d.ts +0 -2
  1152. package/dist/components/ui/alert-dialog.test.d.ts.map +0 -1
  1153. package/dist/components/ui/alert.d.ts +0 -9
  1154. package/dist/components/ui/alert.d.ts.map +0 -1
  1155. package/dist/components/ui/alert.test.d.ts +0 -2
  1156. package/dist/components/ui/alert.test.d.ts.map +0 -1
  1157. package/dist/components/ui/aspect-ratio.d.ts +0 -4
  1158. package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
  1159. package/dist/components/ui/aspect-ratio.test.d.ts +0 -2
  1160. package/dist/components/ui/aspect-ratio.test.d.ts.map +0 -1
  1161. package/dist/components/ui/avatar.d.ts +0 -7
  1162. package/dist/components/ui/avatar.d.ts.map +0 -1
  1163. package/dist/components/ui/avatar.test.d.ts +0 -2
  1164. package/dist/components/ui/avatar.test.d.ts.map +0 -1
  1165. package/dist/components/ui/badge.d.ts +0 -10
  1166. package/dist/components/ui/badge.d.ts.map +0 -1
  1167. package/dist/components/ui/badge.test.d.ts +0 -2
  1168. package/dist/components/ui/badge.test.d.ts.map +0 -1
  1169. package/dist/components/ui/breadcrumb.d.ts +0 -20
  1170. package/dist/components/ui/breadcrumb.d.ts.map +0 -1
  1171. package/dist/components/ui/breadcrumb.test.d.ts +0 -2
  1172. package/dist/components/ui/breadcrumb.test.d.ts.map +0 -1
  1173. package/dist/components/ui/button.d.ts +0 -12
  1174. package/dist/components/ui/button.d.ts.map +0 -1
  1175. package/dist/components/ui/button.test.d.ts +0 -2
  1176. package/dist/components/ui/button.test.d.ts.map +0 -1
  1177. package/dist/components/ui/calendar.d.ts +0 -9
  1178. package/dist/components/ui/calendar.d.ts.map +0 -1
  1179. package/dist/components/ui/calendar.test.d.ts +0 -2
  1180. package/dist/components/ui/calendar.test.d.ts.map +0 -1
  1181. package/dist/components/ui/card.d.ts +0 -9
  1182. package/dist/components/ui/card.d.ts.map +0 -1
  1183. package/dist/components/ui/card.test.d.ts +0 -2
  1184. package/dist/components/ui/card.test.d.ts.map +0 -1
  1185. package/dist/components/ui/carousel.d.ts +0 -19
  1186. package/dist/components/ui/carousel.d.ts.map +0 -1
  1187. package/dist/components/ui/carousel.test.d.ts +0 -2
  1188. package/dist/components/ui/carousel.test.d.ts.map +0 -1
  1189. package/dist/components/ui/chart.d.ts +0 -63
  1190. package/dist/components/ui/chart.d.ts.map +0 -1
  1191. package/dist/components/ui/chart.test.d.ts +0 -2
  1192. package/dist/components/ui/chart.test.d.ts.map +0 -1
  1193. package/dist/components/ui/checkbox.d.ts +0 -5
  1194. package/dist/components/ui/checkbox.d.ts.map +0 -1
  1195. package/dist/components/ui/checkbox.test.d.ts +0 -2
  1196. package/dist/components/ui/checkbox.test.d.ts.map +0 -1
  1197. package/dist/components/ui/collapsible.d.ts +0 -6
  1198. package/dist/components/ui/collapsible.d.ts.map +0 -1
  1199. package/dist/components/ui/collapsible.test.d.ts +0 -2
  1200. package/dist/components/ui/collapsible.test.d.ts.map +0 -1
  1201. package/dist/components/ui/command.d.ts +0 -81
  1202. package/dist/components/ui/command.d.ts.map +0 -1
  1203. package/dist/components/ui/command.test.d.ts +0 -2
  1204. package/dist/components/ui/command.test.d.ts.map +0 -1
  1205. package/dist/components/ui/context-menu.d.ts +0 -28
  1206. package/dist/components/ui/context-menu.d.ts.map +0 -1
  1207. package/dist/components/ui/context-menu.test.d.ts +0 -2
  1208. package/dist/components/ui/context-menu.test.d.ts.map +0 -1
  1209. package/dist/components/ui/dialog.d.ts.map +0 -1
  1210. package/dist/components/ui/dialog.test.d.ts +0 -2
  1211. package/dist/components/ui/dialog.test.d.ts.map +0 -1
  1212. package/dist/components/ui/drawer.d.ts +0 -23
  1213. package/dist/components/ui/drawer.d.ts.map +0 -1
  1214. package/dist/components/ui/drawer.test.d.ts +0 -2
  1215. package/dist/components/ui/drawer.test.d.ts.map +0 -1
  1216. package/dist/components/ui/dropdown-menu.d.ts +0 -28
  1217. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  1218. package/dist/components/ui/dropdown-menu.test.d.ts +0 -2
  1219. package/dist/components/ui/dropdown-menu.test.d.ts.map +0 -1
  1220. package/dist/components/ui/form.d.ts +0 -24
  1221. package/dist/components/ui/form.d.ts.map +0 -1
  1222. package/dist/components/ui/form.test.d.ts +0 -2
  1223. package/dist/components/ui/form.test.d.ts.map +0 -1
  1224. package/dist/components/ui/hover-card.d.ts +0 -7
  1225. package/dist/components/ui/hover-card.d.ts.map +0 -1
  1226. package/dist/components/ui/hover-card.test.d.ts +0 -2
  1227. package/dist/components/ui/hover-card.test.d.ts.map +0 -1
  1228. package/dist/components/ui/input.d.ts +0 -4
  1229. package/dist/components/ui/input.d.ts.map +0 -1
  1230. package/dist/components/ui/input.test.d.ts +0 -2
  1231. package/dist/components/ui/input.test.d.ts.map +0 -1
  1232. package/dist/components/ui/label.d.ts +0 -6
  1233. package/dist/components/ui/label.d.ts.map +0 -1
  1234. package/dist/components/ui/label.test.d.ts +0 -2
  1235. package/dist/components/ui/label.test.d.ts.map +0 -1
  1236. package/dist/components/ui/menubar.d.ts +0 -29
  1237. package/dist/components/ui/menubar.d.ts.map +0 -1
  1238. package/dist/components/ui/menubar.test.d.ts +0 -2
  1239. package/dist/components/ui/menubar.test.d.ts.map +0 -1
  1240. package/dist/components/ui/navigation-menu.d.ts +0 -13
  1241. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  1242. package/dist/components/ui/navigation-menu.test.d.ts +0 -2
  1243. package/dist/components/ui/navigation-menu.test.d.ts.map +0 -1
  1244. package/dist/components/ui/pagination.d.ts +0 -29
  1245. package/dist/components/ui/pagination.d.ts.map +0 -1
  1246. package/dist/components/ui/pagination.test.d.ts +0 -2
  1247. package/dist/components/ui/pagination.test.d.ts.map +0 -1
  1248. package/dist/components/ui/popover.d.ts +0 -8
  1249. package/dist/components/ui/popover.d.ts.map +0 -1
  1250. package/dist/components/ui/popover.test.d.ts +0 -2
  1251. package/dist/components/ui/popover.test.d.ts.map +0 -1
  1252. package/dist/components/ui/progress.d.ts +0 -5
  1253. package/dist/components/ui/progress.d.ts.map +0 -1
  1254. package/dist/components/ui/progress.test.d.ts +0 -2
  1255. package/dist/components/ui/progress.test.d.ts.map +0 -1
  1256. package/dist/components/ui/radio-group.d.ts +0 -6
  1257. package/dist/components/ui/radio-group.d.ts.map +0 -1
  1258. package/dist/components/ui/radio-group.test.d.ts +0 -2
  1259. package/dist/components/ui/radio-group.test.d.ts.map +0 -1
  1260. package/dist/components/ui/resizable.d.ts +0 -11
  1261. package/dist/components/ui/resizable.d.ts.map +0 -1
  1262. package/dist/components/ui/resizable.test.d.ts +0 -2
  1263. package/dist/components/ui/resizable.test.d.ts.map +0 -1
  1264. package/dist/components/ui/scroll-area.d.ts +0 -6
  1265. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  1266. package/dist/components/ui/scroll-area.test.d.ts +0 -2
  1267. package/dist/components/ui/scroll-area.test.d.ts.map +0 -1
  1268. package/dist/components/ui/search.d.ts +0 -16
  1269. package/dist/components/ui/search.d.ts.map +0 -1
  1270. package/dist/components/ui/search.test.d.ts +0 -2
  1271. package/dist/components/ui/search.test.d.ts.map +0 -1
  1272. package/dist/components/ui/select.d.ts +0 -14
  1273. package/dist/components/ui/select.d.ts.map +0 -1
  1274. package/dist/components/ui/select.test.d.ts +0 -2
  1275. package/dist/components/ui/select.test.d.ts.map +0 -1
  1276. package/dist/components/ui/separator.d.ts +0 -5
  1277. package/dist/components/ui/separator.d.ts.map +0 -1
  1278. package/dist/components/ui/separator.test.d.ts +0 -2
  1279. package/dist/components/ui/separator.test.d.ts.map +0 -1
  1280. package/dist/components/ui/sheet.d.ts +0 -26
  1281. package/dist/components/ui/sheet.d.ts.map +0 -1
  1282. package/dist/components/ui/sheet.test.d.ts +0 -2
  1283. package/dist/components/ui/sheet.test.d.ts.map +0 -1
  1284. package/dist/components/ui/skeleton.d.ts +0 -4
  1285. package/dist/components/ui/skeleton.d.ts.map +0 -1
  1286. package/dist/components/ui/skeleton.test.d.ts +0 -2
  1287. package/dist/components/ui/skeleton.test.d.ts.map +0 -1
  1288. package/dist/components/ui/slider.d.ts +0 -5
  1289. package/dist/components/ui/slider.d.ts.map +0 -1
  1290. package/dist/components/ui/slider.test.d.ts +0 -2
  1291. package/dist/components/ui/slider.test.d.ts.map +0 -1
  1292. package/dist/components/ui/sonner.d.ts +0 -6
  1293. package/dist/components/ui/sonner.d.ts.map +0 -1
  1294. package/dist/components/ui/sonner.test.d.ts +0 -2
  1295. package/dist/components/ui/sonner.test.d.ts.map +0 -1
  1296. package/dist/components/ui/switch.d.ts +0 -5
  1297. package/dist/components/ui/switch.d.ts.map +0 -1
  1298. package/dist/components/ui/switch.test.d.ts +0 -2
  1299. package/dist/components/ui/switch.test.d.ts.map +0 -1
  1300. package/dist/components/ui/table.d.ts +0 -11
  1301. package/dist/components/ui/table.d.ts.map +0 -1
  1302. package/dist/components/ui/table.test.d.ts +0 -2
  1303. package/dist/components/ui/table.test.d.ts.map +0 -1
  1304. package/dist/components/ui/tabs.d.ts +0 -8
  1305. package/dist/components/ui/tabs.d.ts.map +0 -1
  1306. package/dist/components/ui/tabs.test.d.ts +0 -2
  1307. package/dist/components/ui/tabs.test.d.ts.map +0 -1
  1308. package/dist/components/ui/textarea.d.ts +0 -4
  1309. package/dist/components/ui/textarea.d.ts.map +0 -1
  1310. package/dist/components/ui/textarea.test.d.ts +0 -2
  1311. package/dist/components/ui/textarea.test.d.ts.map +0 -1
  1312. package/dist/components/ui/theme-provider.d.ts +0 -4
  1313. package/dist/components/ui/theme-provider.d.ts.map +0 -1
  1314. package/dist/components/ui/theme-provider.test.d.ts +0 -2
  1315. package/dist/components/ui/theme-provider.test.d.ts.map +0 -1
  1316. package/dist/components/ui/theme-toggle.d.ts +0 -17
  1317. package/dist/components/ui/theme-toggle.d.ts.map +0 -1
  1318. package/dist/components/ui/theme-toggle.test.d.ts +0 -2
  1319. package/dist/components/ui/theme-toggle.test.d.ts.map +0 -1
  1320. package/dist/components/ui/toast.d.ts.map +0 -1
  1321. package/dist/components/ui/toast.test.d.ts +0 -2
  1322. package/dist/components/ui/toast.test.d.ts.map +0 -1
  1323. package/dist/components/ui/toaster.d.ts.map +0 -1
  1324. package/dist/components/ui/toggle-group.d.ts +0 -13
  1325. package/dist/components/ui/toggle-group.d.ts.map +0 -1
  1326. package/dist/components/ui/toggle-group.test.d.ts +0 -2
  1327. package/dist/components/ui/toggle-group.test.d.ts.map +0 -1
  1328. package/dist/components/ui/toggle.d.ts +0 -13
  1329. package/dist/components/ui/toggle.d.ts.map +0 -1
  1330. package/dist/components/ui/toggle.test.d.ts +0 -2
  1331. package/dist/components/ui/toggle.test.d.ts.map +0 -1
  1332. package/dist/components/ui/tooltip.d.ts +0 -8
  1333. package/dist/components/ui/tooltip.d.ts.map +0 -1
  1334. package/dist/components/ui/tooltip.test.d.ts +0 -2
  1335. package/dist/components/ui/tooltip.test.d.ts.map +0 -1
  1336. package/dist/hooks/use-theme.d.ts.map +0 -1
  1337. package/dist/hooks/use-theme.test.d.ts +0 -2
  1338. package/dist/hooks/use-theme.test.d.ts.map +0 -1
  1339. package/dist/hooks/use-toast.d.ts +0 -45
  1340. package/dist/hooks/use-toast.d.ts.map +0 -1
  1341. package/dist/index.d.ts +0 -54
  1342. package/dist/index.d.ts.map +0 -1
  1343. package/dist/lib/utils.d.ts.map +0 -1
  1344. package/dist/main.d.ts +0 -2
  1345. package/dist/main.d.ts.map +0 -1
  1346. package/dist/pages/ColorTokensDocs.d.ts +0 -2
  1347. package/dist/pages/ColorTokensDocs.d.ts.map +0 -1
  1348. package/dist/pages/GettingStarted.d.ts +0 -3
  1349. package/dist/pages/GettingStarted.d.ts.map +0 -1
  1350. package/dist/pages/components/AccordionDocs.d.ts +0 -2
  1351. package/dist/pages/components/AccordionDocs.d.ts.map +0 -1
  1352. package/dist/pages/components/AlertDialogDocs.d.ts +0 -2
  1353. package/dist/pages/components/AlertDialogDocs.d.ts.map +0 -1
  1354. package/dist/pages/components/AlertDocs.d.ts +0 -2
  1355. package/dist/pages/components/AlertDocs.d.ts.map +0 -1
  1356. package/dist/pages/components/AspectRatioDocs.d.ts +0 -2
  1357. package/dist/pages/components/AspectRatioDocs.d.ts.map +0 -1
  1358. package/dist/pages/components/AvatarDocs.d.ts +0 -2
  1359. package/dist/pages/components/AvatarDocs.d.ts.map +0 -1
  1360. package/dist/pages/components/BadgeDocs.d.ts +0 -2
  1361. package/dist/pages/components/BadgeDocs.d.ts.map +0 -1
  1362. package/dist/pages/components/BreadcrumbDocs.d.ts +0 -2
  1363. package/dist/pages/components/BreadcrumbDocs.d.ts.map +0 -1
  1364. package/dist/pages/components/ButtonDocs.d.ts +0 -2
  1365. package/dist/pages/components/ButtonDocs.d.ts.map +0 -1
  1366. package/dist/pages/components/CalendarDocs.d.ts +0 -2
  1367. package/dist/pages/components/CalendarDocs.d.ts.map +0 -1
  1368. package/dist/pages/components/CardDocs.d.ts +0 -2
  1369. package/dist/pages/components/CardDocs.d.ts.map +0 -1
  1370. package/dist/pages/components/CarouselDocs.d.ts +0 -2
  1371. package/dist/pages/components/CarouselDocs.d.ts.map +0 -1
  1372. package/dist/pages/components/ChartDocs.d.ts +0 -2
  1373. package/dist/pages/components/ChartDocs.d.ts.map +0 -1
  1374. package/dist/pages/components/CheckboxDocs.d.ts +0 -2
  1375. package/dist/pages/components/CheckboxDocs.d.ts.map +0 -1
  1376. package/dist/pages/components/CollapsibleDocs.d.ts +0 -2
  1377. package/dist/pages/components/CollapsibleDocs.d.ts.map +0 -1
  1378. package/dist/pages/components/CommandDocs.d.ts +0 -2
  1379. package/dist/pages/components/CommandDocs.d.ts.map +0 -1
  1380. package/dist/pages/components/ContextMenuDocs.d.ts +0 -2
  1381. package/dist/pages/components/ContextMenuDocs.d.ts.map +0 -1
  1382. package/dist/pages/components/DialogDocs.d.ts +0 -2
  1383. package/dist/pages/components/DialogDocs.d.ts.map +0 -1
  1384. package/dist/pages/components/DrawerDocs.d.ts +0 -2
  1385. package/dist/pages/components/DrawerDocs.d.ts.map +0 -1
  1386. package/dist/pages/components/DropdownMenuDocs.d.ts +0 -2
  1387. package/dist/pages/components/DropdownMenuDocs.d.ts.map +0 -1
  1388. package/dist/pages/components/FormDocs.d.ts +0 -2
  1389. package/dist/pages/components/FormDocs.d.ts.map +0 -1
  1390. package/dist/pages/components/HoverCardDocs.d.ts +0 -2
  1391. package/dist/pages/components/HoverCardDocs.d.ts.map +0 -1
  1392. package/dist/pages/components/InputDocs.d.ts +0 -2
  1393. package/dist/pages/components/InputDocs.d.ts.map +0 -1
  1394. package/dist/pages/components/LabelDocs.d.ts +0 -2
  1395. package/dist/pages/components/LabelDocs.d.ts.map +0 -1
  1396. package/dist/pages/components/MenubarDocs.d.ts +0 -2
  1397. package/dist/pages/components/MenubarDocs.d.ts.map +0 -1
  1398. package/dist/pages/components/NavigationMenuDocs.d.ts +0 -2
  1399. package/dist/pages/components/NavigationMenuDocs.d.ts.map +0 -1
  1400. package/dist/pages/components/PaginationDocs.d.ts +0 -2
  1401. package/dist/pages/components/PaginationDocs.d.ts.map +0 -1
  1402. package/dist/pages/components/PopoverDocs.d.ts +0 -2
  1403. package/dist/pages/components/PopoverDocs.d.ts.map +0 -1
  1404. package/dist/pages/components/ProgressDocs.d.ts +0 -2
  1405. package/dist/pages/components/ProgressDocs.d.ts.map +0 -1
  1406. package/dist/pages/components/RadioGroupDocs.d.ts +0 -2
  1407. package/dist/pages/components/RadioGroupDocs.d.ts.map +0 -1
  1408. package/dist/pages/components/ResizableDocs.d.ts +0 -2
  1409. package/dist/pages/components/ResizableDocs.d.ts.map +0 -1
  1410. package/dist/pages/components/ScrollAreaDocs.d.ts +0 -2
  1411. package/dist/pages/components/ScrollAreaDocs.d.ts.map +0 -1
  1412. package/dist/pages/components/SearchDocs.d.ts +0 -2
  1413. package/dist/pages/components/SearchDocs.d.ts.map +0 -1
  1414. package/dist/pages/components/SelectDocs.d.ts +0 -2
  1415. package/dist/pages/components/SelectDocs.d.ts.map +0 -1
  1416. package/dist/pages/components/SeparatorDocs.d.ts +0 -2
  1417. package/dist/pages/components/SeparatorDocs.d.ts.map +0 -1
  1418. package/dist/pages/components/SheetDocs.d.ts +0 -2
  1419. package/dist/pages/components/SheetDocs.d.ts.map +0 -1
  1420. package/dist/pages/components/SkeletonDocs.d.ts +0 -2
  1421. package/dist/pages/components/SkeletonDocs.d.ts.map +0 -1
  1422. package/dist/pages/components/SliderDocs.d.ts +0 -2
  1423. package/dist/pages/components/SliderDocs.d.ts.map +0 -1
  1424. package/dist/pages/components/SonnerDocs.d.ts +0 -2
  1425. package/dist/pages/components/SonnerDocs.d.ts.map +0 -1
  1426. package/dist/pages/components/SwitchDocs.d.ts +0 -2
  1427. package/dist/pages/components/SwitchDocs.d.ts.map +0 -1
  1428. package/dist/pages/components/TableDocs.d.ts +0 -2
  1429. package/dist/pages/components/TableDocs.d.ts.map +0 -1
  1430. package/dist/pages/components/TabsDocs.d.ts +0 -2
  1431. package/dist/pages/components/TabsDocs.d.ts.map +0 -1
  1432. package/dist/pages/components/TextareaDocs.d.ts +0 -2
  1433. package/dist/pages/components/TextareaDocs.d.ts.map +0 -1
  1434. package/dist/pages/components/ThemeToggleDocs.d.ts +0 -2
  1435. package/dist/pages/components/ThemeToggleDocs.d.ts.map +0 -1
  1436. package/dist/pages/components/ToastDocs.d.ts +0 -2
  1437. package/dist/pages/components/ToastDocs.d.ts.map +0 -1
  1438. package/dist/pages/components/ToggleDocs.d.ts +0 -2
  1439. package/dist/pages/components/ToggleDocs.d.ts.map +0 -1
  1440. package/dist/pages/components/ToggleGroupDocs.d.ts +0 -2
  1441. package/dist/pages/components/ToggleGroupDocs.d.ts.map +0 -1
  1442. package/dist/pages/components/TooltipDocs.d.ts +0 -2
  1443. package/dist/pages/components/TooltipDocs.d.ts.map +0 -1
  1444. package/dist/pages/index.d.ts +0 -50
  1445. package/dist/pages/index.d.ts.map +0 -1
  1446. package/dist/registry/accordion.json +0 -13
  1447. package/dist/registry/accordion.test.json +0 -13
  1448. package/dist/registry/alert-dialog.json +0 -13
  1449. package/dist/registry/alert-dialog.test.json +0 -13
  1450. package/dist/registry/alert.json +0 -13
  1451. package/dist/registry/alert.test.json +0 -13
  1452. package/dist/registry/aspect-ratio.json +0 -13
  1453. package/dist/registry/aspect-ratio.test.json +0 -13
  1454. package/dist/registry/avatar.json +0 -13
  1455. package/dist/registry/avatar.test.json +0 -13
  1456. package/dist/registry/badge.json +0 -13
  1457. package/dist/registry/badge.test.json +0 -13
  1458. package/dist/registry/breadcrumb.json +0 -13
  1459. package/dist/registry/breadcrumb.test.json +0 -13
  1460. package/dist/registry/button.json +0 -13
  1461. package/dist/registry/button.test.json +0 -13
  1462. package/dist/registry/calendar.json +0 -13
  1463. package/dist/registry/calendar.test.json +0 -13
  1464. package/dist/registry/card.json +0 -13
  1465. package/dist/registry/card.test.json +0 -13
  1466. package/dist/registry/carousel.json +0 -13
  1467. package/dist/registry/carousel.test.json +0 -13
  1468. package/dist/registry/chart.json +0 -13
  1469. package/dist/registry/chart.test.json +0 -13
  1470. package/dist/registry/checkbox.json +0 -13
  1471. package/dist/registry/checkbox.test.json +0 -13
  1472. package/dist/registry/collapsible.json +0 -13
  1473. package/dist/registry/collapsible.test.json +0 -13
  1474. package/dist/registry/command.json +0 -13
  1475. package/dist/registry/command.test.json +0 -13
  1476. package/dist/registry/context-menu.json +0 -13
  1477. package/dist/registry/context-menu.test.json +0 -13
  1478. package/dist/registry/dialog.json +0 -13
  1479. package/dist/registry/dialog.test.json +0 -13
  1480. package/dist/registry/drawer.json +0 -13
  1481. package/dist/registry/drawer.test.json +0 -13
  1482. package/dist/registry/dropdown-menu.json +0 -13
  1483. package/dist/registry/dropdown-menu.test.json +0 -13
  1484. package/dist/registry/form.json +0 -13
  1485. package/dist/registry/form.test.json +0 -13
  1486. package/dist/registry/hover-card.json +0 -13
  1487. package/dist/registry/hover-card.test.json +0 -13
  1488. package/dist/registry/index.json +0 -681
  1489. package/dist/registry/input.json +0 -13
  1490. package/dist/registry/input.test.json +0 -13
  1491. package/dist/registry/label.json +0 -13
  1492. package/dist/registry/label.test.json +0 -13
  1493. package/dist/registry/menubar.json +0 -13
  1494. package/dist/registry/menubar.test.json +0 -13
  1495. package/dist/registry/navigation-menu.json +0 -13
  1496. package/dist/registry/navigation-menu.test.json +0 -13
  1497. package/dist/registry/pagination.json +0 -13
  1498. package/dist/registry/pagination.test.json +0 -13
  1499. package/dist/registry/popover.json +0 -13
  1500. package/dist/registry/popover.test.json +0 -13
  1501. package/dist/registry/progress.json +0 -13
  1502. package/dist/registry/progress.test.json +0 -13
  1503. package/dist/registry/radio-group.json +0 -13
  1504. package/dist/registry/radio-group.test.json +0 -13
  1505. package/dist/registry/resizable.json +0 -13
  1506. package/dist/registry/resizable.test.json +0 -13
  1507. package/dist/registry/scroll-area.json +0 -13
  1508. package/dist/registry/scroll-area.test.json +0 -13
  1509. package/dist/registry/search.json +0 -13
  1510. package/dist/registry/search.test.json +0 -13
  1511. package/dist/registry/select.json +0 -13
  1512. package/dist/registry/select.test.json +0 -13
  1513. package/dist/registry/separator.json +0 -13
  1514. package/dist/registry/separator.test.json +0 -13
  1515. package/dist/registry/sheet.json +0 -13
  1516. package/dist/registry/sheet.test.json +0 -13
  1517. package/dist/registry/skeleton.json +0 -13
  1518. package/dist/registry/skeleton.test.json +0 -13
  1519. package/dist/registry/slider.json +0 -13
  1520. package/dist/registry/slider.test.json +0 -13
  1521. package/dist/registry/sonner.json +0 -13
  1522. package/dist/registry/sonner.test.json +0 -13
  1523. package/dist/registry/switch.json +0 -13
  1524. package/dist/registry/switch.test.json +0 -13
  1525. package/dist/registry/table.json +0 -13
  1526. package/dist/registry/table.test.json +0 -13
  1527. package/dist/registry/tabs.json +0 -13
  1528. package/dist/registry/tabs.test.json +0 -13
  1529. package/dist/registry/textarea.json +0 -13
  1530. package/dist/registry/textarea.test.json +0 -13
  1531. package/dist/registry/theme-provider.json +0 -13
  1532. package/dist/registry/theme-provider.test.json +0 -13
  1533. package/dist/registry/theme-toggle.json +0 -13
  1534. package/dist/registry/theme-toggle.test.json +0 -13
  1535. package/dist/registry/toast.json +0 -13
  1536. package/dist/registry/toast.test.json +0 -13
  1537. package/dist/registry/toaster.json +0 -13
  1538. package/dist/registry/toggle-group.json +0 -13
  1539. package/dist/registry/toggle-group.test.json +0 -13
  1540. package/dist/registry/toggle.json +0 -13
  1541. package/dist/registry/toggle.test.json +0 -13
  1542. package/dist/registry/tooltip.json +0 -13
  1543. package/dist/registry/tooltip.test.json +0 -13
  1544. package/dist/setupTests.d.ts +0 -2
  1545. package/dist/setupTests.d.ts.map +0 -1
  1546. package/dist/theme/tokens.d.ts +0 -115
  1547. package/dist/theme/tokens.d.ts.map +0 -1
  1548. package/dist/vendor-Bcg_ARLM.mjs +0 -25810
  1549. package/dist/vendor-Bcg_ARLM.mjs.map +0 -1
  1550. package/dist/vendor-BrqPND3G.js +0 -73
  1551. package/dist/vendor-BrqPND3G.js.map +0 -1
  1552. package/docs/MIGRATE_TO_GVTECH_SCOPE.md +0 -74
  1553. package/public/favicon.png +0 -0
  1554. package/public/index.demo.html +0 -40
  1555. package/public/logo192.png +0 -0
  1556. package/public/logo512.png +0 -0
  1557. package/public/manifest.json +0 -25
  1558. package/public/robots.txt +0 -2
  1559. package/scripts/import-all-shadcn.ts +0 -68
  1560. package/scripts/validate.js +0 -55
  1561. package/src/App.tsx +0 -274
  1562. package/src/components/docs/CodeBlock.tsx +0 -34
  1563. package/src/components/docs/ComponentShowcase.tsx +0 -68
  1564. package/src/components/docs/Footer.tsx +0 -138
  1565. package/src/components/docs/PropsTable.tsx +0 -43
  1566. package/src/components/docs/Sidebar.tsx +0 -175
  1567. package/src/components/docs/ThemeToggle.tsx +0 -19
  1568. package/src/components/docs/index.ts +0 -6
  1569. package/src/components/ui/accordion.tsx +0 -51
  1570. package/src/components/ui/alert-dialog.test.tsx +0 -91
  1571. package/src/components/ui/alert-dialog.tsx +0 -104
  1572. package/src/components/ui/alert.test.tsx +0 -33
  1573. package/src/components/ui/alert.tsx +0 -43
  1574. package/src/components/ui/aspect-ratio.test.tsx +0 -34
  1575. package/src/components/ui/aspect-ratio.tsx +0 -5
  1576. package/src/components/ui/avatar.tsx +0 -38
  1577. package/src/components/ui/badge.tsx +0 -29
  1578. package/src/components/ui/breadcrumb.test.tsx +0 -55
  1579. package/src/components/ui/breadcrumb.tsx +0 -90
  1580. package/src/components/ui/button.test.tsx +0 -62
  1581. package/src/components/ui/button.tsx +0 -46
  1582. package/src/components/ui/calendar.test.tsx +0 -23
  1583. package/src/components/ui/calendar.tsx +0 -160
  1584. package/src/components/ui/card.test.tsx +0 -35
  1585. package/src/components/ui/card.tsx +0 -43
  1586. package/src/components/ui/carousel.test.tsx +0 -37
  1587. package/src/components/ui/carousel.tsx +0 -224
  1588. package/src/components/ui/chart.test.tsx +0 -62
  1589. package/src/components/ui/chart.tsx +0 -307
  1590. package/src/components/ui/checkbox.test.tsx +0 -30
  1591. package/src/components/ui/checkbox.tsx +0 -26
  1592. package/src/components/ui/collapsible.test.tsx +0 -51
  1593. package/src/components/ui/collapsible.tsx +0 -9
  1594. package/src/components/ui/command.test.tsx +0 -79
  1595. package/src/components/ui/command.tsx +0 -132
  1596. package/src/components/ui/context-menu.test.tsx +0 -37
  1597. package/src/components/ui/context-menu.tsx +0 -178
  1598. package/src/components/ui/dialog.test.tsx +0 -66
  1599. package/src/components/ui/dialog.tsx +0 -95
  1600. package/src/components/ui/drawer.test.tsx +0 -68
  1601. package/src/components/ui/drawer.tsx +0 -87
  1602. package/src/components/ui/dropdown-menu.test.tsx +0 -93
  1603. package/src/components/ui/dropdown-menu.tsx +0 -180
  1604. package/src/components/ui/form.test.tsx +0 -85
  1605. package/src/components/ui/form.tsx +0 -149
  1606. package/src/components/ui/hover-card.test.tsx +0 -48
  1607. package/src/components/ui/hover-card.tsx +0 -27
  1608. package/src/components/ui/input.test.tsx +0 -33
  1609. package/src/components/ui/input.tsx +0 -22
  1610. package/src/components/ui/label.tsx +0 -17
  1611. package/src/components/ui/menubar.test.tsx +0 -92
  1612. package/src/components/ui/menubar.tsx +0 -217
  1613. package/src/components/ui/navigation-menu.test.tsx +0 -53
  1614. package/src/components/ui/navigation-menu.tsx +0 -120
  1615. package/src/components/ui/pagination.test.tsx +0 -57
  1616. package/src/components/ui/pagination.tsx +0 -81
  1617. package/src/components/ui/popover.test.tsx +0 -31
  1618. package/src/components/ui/popover.tsx +0 -31
  1619. package/src/components/ui/progress.test.tsx +0 -18
  1620. package/src/components/ui/progress.tsx +0 -24
  1621. package/src/components/ui/radio-group.test.tsx +0 -39
  1622. package/src/components/ui/radio-group.tsx +0 -36
  1623. package/src/components/ui/resizable.test.tsx +0 -23
  1624. package/src/components/ui/resizable.tsx +0 -45
  1625. package/src/components/ui/scroll-area.test.tsx +0 -15
  1626. package/src/components/ui/scroll-area.tsx +0 -38
  1627. package/src/components/ui/search.test.tsx +0 -75
  1628. package/src/components/ui/search.tsx +0 -93
  1629. package/src/components/ui/select.test.tsx +0 -42
  1630. package/src/components/ui/select.tsx +0 -142
  1631. package/src/components/ui/separator.test.tsx +0 -16
  1632. package/src/components/ui/separator.tsx +0 -20
  1633. package/src/components/ui/sheet.test.tsx +0 -48
  1634. package/src/components/ui/sheet.tsx +0 -106
  1635. package/src/components/ui/skeleton.test.tsx +0 -13
  1636. package/src/components/ui/skeleton.tsx +0 -8
  1637. package/src/components/ui/slider.test.tsx +0 -18
  1638. package/src/components/ui/slider.tsx +0 -23
  1639. package/src/components/ui/sonner.test.tsx +0 -13
  1640. package/src/components/ui/sonner.tsx +0 -28
  1641. package/src/components/ui/switch.test.tsx +0 -22
  1642. package/src/components/ui/switch.tsx +0 -27
  1643. package/src/components/ui/table.test.tsx +0 -29
  1644. package/src/components/ui/table.tsx +0 -76
  1645. package/src/components/ui/tabs.test.tsx +0 -43
  1646. package/src/components/ui/tabs.tsx +0 -53
  1647. package/src/components/ui/textarea.test.tsx +0 -21
  1648. package/src/components/ui/textarea.tsx +0 -21
  1649. package/src/components/ui/theme-provider.test.tsx +0 -47
  1650. package/src/components/ui/theme-provider.tsx +0 -12
  1651. package/src/components/ui/theme-toggle.test.tsx +0 -49
  1652. package/src/components/ui/theme-toggle.tsx +0 -108
  1653. package/src/components/ui/toast.test.tsx +0 -42
  1654. package/src/components/ui/toast.tsx +0 -111
  1655. package/src/components/ui/toaster.tsx +0 -24
  1656. package/src/components/ui/toggle-group.test.tsx +0 -40
  1657. package/src/components/ui/toggle-group.tsx +0 -51
  1658. package/src/components/ui/toggle.test.tsx +0 -21
  1659. package/src/components/ui/toggle.tsx +0 -37
  1660. package/src/components/ui/tooltip.test.tsx +0 -25
  1661. package/src/components/ui/tooltip.tsx +0 -30
  1662. package/src/hooks/use-theme.test.tsx +0 -27
  1663. package/src/hooks/use-theme.ts +0 -15
  1664. package/src/hooks/use-toast.ts +0 -189
  1665. package/src/main.tsx +0 -10
  1666. package/src/pages/ColorTokensDocs.tsx +0 -218
  1667. package/src/pages/GettingStarted.tsx +0 -302
  1668. package/src/pages/components/AccordionDocs.tsx +0 -164
  1669. package/src/pages/components/AlertDialogDocs.tsx +0 -151
  1670. package/src/pages/components/AlertDocs.tsx +0 -65
  1671. package/src/pages/components/AspectRatioDocs.tsx +0 -85
  1672. package/src/pages/components/AvatarDocs.tsx +0 -82
  1673. package/src/pages/components/BadgeDocs.tsx +0 -56
  1674. package/src/pages/components/BreadcrumbDocs.tsx +0 -87
  1675. package/src/pages/components/ButtonDocs.tsx +0 -120
  1676. package/src/pages/components/CalendarDocs.tsx +0 -72
  1677. package/src/pages/components/CardDocs.tsx +0 -101
  1678. package/src/pages/components/CarouselDocs.tsx +0 -163
  1679. package/src/pages/components/ChartDocs.tsx +0 -145
  1680. package/src/pages/components/CheckboxDocs.tsx +0 -107
  1681. package/src/pages/components/CollapsibleDocs.tsx +0 -103
  1682. package/src/pages/components/CommandDocs.tsx +0 -209
  1683. package/src/pages/components/ContextMenuDocs.tsx +0 -158
  1684. package/src/pages/components/DialogDocs.tsx +0 -167
  1685. package/src/pages/components/DrawerDocs.tsx +0 -274
  1686. package/src/pages/components/DropdownMenuDocs.tsx +0 -313
  1687. package/src/pages/components/FormDocs.tsx +0 -163
  1688. package/src/pages/components/HoverCardDocs.tsx +0 -136
  1689. package/src/pages/components/InputDocs.tsx +0 -99
  1690. package/src/pages/components/LabelDocs.tsx +0 -54
  1691. package/src/pages/components/MenubarDocs.tsx +0 -290
  1692. package/src/pages/components/NavigationMenuDocs.tsx +0 -254
  1693. package/src/pages/components/PaginationDocs.tsx +0 -93
  1694. package/src/pages/components/PopoverDocs.tsx +0 -183
  1695. package/src/pages/components/ProgressDocs.tsx +0 -64
  1696. package/src/pages/components/RadioGroupDocs.tsx +0 -132
  1697. package/src/pages/components/ResizableDocs.tsx +0 -137
  1698. package/src/pages/components/ScrollAreaDocs.tsx +0 -102
  1699. package/src/pages/components/SearchDocs.tsx +0 -194
  1700. package/src/pages/components/SelectDocs.tsx +0 -158
  1701. package/src/pages/components/SeparatorDocs.tsx +0 -79
  1702. package/src/pages/components/SheetDocs.tsx +0 -178
  1703. package/src/pages/components/SkeletonDocs.tsx +0 -44
  1704. package/src/pages/components/SliderDocs.tsx +0 -110
  1705. package/src/pages/components/SonnerDocs.tsx +0 -117
  1706. package/src/pages/components/SwitchDocs.tsx +0 -86
  1707. package/src/pages/components/TableDocs.tsx +0 -139
  1708. package/src/pages/components/TabsDocs.tsx +0 -223
  1709. package/src/pages/components/TextareaDocs.tsx +0 -60
  1710. package/src/pages/components/ThemeToggleDocs.tsx +0 -296
  1711. package/src/pages/components/ToastDocs.tsx +0 -141
  1712. package/src/pages/components/ToggleDocs.tsx +0 -76
  1713. package/src/pages/components/ToggleGroupDocs.tsx +0 -131
  1714. package/src/pages/components/TooltipDocs.tsx +0 -147
  1715. package/src/pages/index.ts +0 -52
  1716. package/src/theme/tokens.ts +0 -68
  1717. /package/{index.html → apps/playground-web/index.html} +0 -0
  1718. /package/{dist → apps/playground-web/public}/favicon.png +0 -0
  1719. /package/{dist → apps/playground-web/public}/index.demo.html +0 -0
  1720. /package/{dist → apps/playground-web/public}/logo192.png +0 -0
  1721. /package/{dist → apps/playground-web/public}/logo512.png +0 -0
  1722. /package/{dist → apps/playground-web/public}/manifest.json +0 -0
  1723. /package/{dist → apps/playground-web/public}/robots.txt +0 -0
  1724. /package/dist/{lib → packages/ui-native/src/lib}/utils.d.ts +0 -0
  1725. /package/dist/{components/ui → packages/ui-native/src}/toaster.d.ts +0 -0
  1726. /package/dist/{components/ui → packages/ui-web/src}/dialog.d.ts +0 -0
  1727. /package/dist/{hooks → packages/ui-web/src/hooks}/use-theme.d.ts +0 -0
  1728. /package/dist/{components/ui → packages/ui-web/src}/toast.d.ts +0 -0
  1729. /package/{src → packages/ui-native/src}/lib/utils.ts +0 -0
  1730. /package/{src/components/ui → packages/ui-web/src}/accordion.test.tsx +0 -0
  1731. /package/{src/components/ui → packages/ui-web/src}/avatar.test.tsx +0 -0
  1732. /package/{src/components/ui → packages/ui-web/src}/badge.test.tsx +0 -0
  1733. /package/{src/components/ui → packages/ui-web/src}/label.test.tsx +0 -0
@@ -1,13 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "menubar",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/menubar.tsx",
9
- "content": "import * as MenubarPrimitive from '@radix-ui/react-menubar';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu {...props} />;\n}\n\nfunction MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group {...props} />;\n}\n\nfunction MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal {...props} />;\n}\n\nfunction MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return <MenubarPrimitive.RadioGroup {...props} />;\n}\n\nfunction MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn('flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm', className)}\n {...props}\n />\n));\nMenubar.displayName = MenubarPrimitive.Root.displayName;\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n className,\n )}\n {...props}\n />\n));\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n));\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]',\n className,\n )}\n {...props}\n />\n));\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(({ className, align = 'start', alignOffset = -4, sideOffset = 8, ...props }, ref) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-menubar-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n));\nMenubarContent.displayName = MenubarPrimitive.Content.displayName;\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nMenubarItem.displayName = MenubarPrimitive.Item.displayName;\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n));\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <Circle className=\"h-4 w-4 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n));\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName;\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;\n\nconst MenubarShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nMenubarShortcut.displayname = 'MenubarShortcut';\n\nexport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarPortal,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n};\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "navigation-menu",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/navigation-menu.tsx",
9
- "content": "import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { cva } from 'class-variance-authority';\nimport { ChevronDown } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn('relative z-10 flex max-w-max flex-1 items-center justify-center', className)}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn('group flex flex-1 list-none items-center justify-center space-x-1', className)}\n {...props}\n />\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item;\n\nconst navigationMenuTriggerStyle = cva(\n 'group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent',\n);\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), 'group', className)}\n {...props}\n >\n {children}{' '}\n <ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n));\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n 'left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ',\n className,\n )}\n {...props}\n />\n));\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn('absolute left-0 top-full flex justify-center')}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n 'origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]',\n className,\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\nNavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n 'top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in',\n className,\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n));\nNavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuIndicator,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle,\n NavigationMenuViewport,\n};\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "pagination",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/pagination.tsx",
9
- "content": "import { ChevronLeft, ChevronRight, MoreHorizontal } from 'lucide-react';\nimport * as React from 'react';\n\nimport { ButtonProps, buttonVariants } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n {...props}\n />\n);\nPagination.displayName = 'Pagination';\n\nconst PaginationContent = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul ref={ref} className={cn('flex flex-row items-center gap-1', className)} {...props} />\n ),\n);\nPaginationContent.displayName = 'PaginationContent';\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn('', className)} {...props} />\n));\nPaginationItem.displayName = 'PaginationItem';\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<ButtonProps, 'size'> &\n React.ComponentProps<'a'>;\n\nconst PaginationLink = ({ className, isActive, size = 'icon', ...props }: PaginationLinkProps) => (\n <a\n aria-current={isActive ? 'page' : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? 'outline' : 'ghost',\n size,\n }),\n className,\n )}\n {...props}\n />\n);\nPaginationLink.displayName = 'PaginationLink';\n\nconst PaginationPrevious = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink aria-label=\"Go to previous page\" size=\"default\" className={cn('gap-1 pl-2.5', className)} {...props}>\n <ChevronLeft className=\"h-4 w-4\" />\n <span>Previous</span>\n </PaginationLink>\n);\nPaginationPrevious.displayName = 'PaginationPrevious';\n\nconst PaginationNext = ({ className, ...props }: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink aria-label=\"Go to next page\" size=\"default\" className={cn('gap-1 pr-2.5', className)} {...props}>\n <span>Next</span>\n <ChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n);\nPaginationNext.displayName = 'PaginationNext';\n\nconst PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n <span aria-hidden className={cn('flex h-9 w-9 items-center justify-center', className)} {...props}>\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n);\nPaginationEllipsis.displayName = 'PaginationEllipsis';\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "popover",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/popover.tsx",
9
- "content": "import * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-popover-content-transform-origin]',\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "popover.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/popover.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 { Popover, PopoverContent, PopoverTrigger } from './popover';\n\ndescribe('Popover', () => {\n it('renders trigger correctly', () => {\n render(\n <Popover>\n <PopoverTrigger>Open</PopoverTrigger>\n <PopoverContent>Content</PopoverContent>\n </Popover>,\n );\n\n expect(screen.getByText('Open')).toBeInTheDocument();\n });\n\n it('opens content on click', async () => {\n const user = userEvent.setup();\n render(\n <Popover>\n <PopoverTrigger>Open</PopoverTrigger>\n <PopoverContent>Content</PopoverContent>\n </Popover>,\n );\n\n await user.click(screen.getByText('Open'));\n\n expect(screen.getByText('Content')).toBeVisible();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "progress",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/progress.tsx",
9
- "content": "import * as ProgressPrimitive from '@radix-ui/react-progress';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn('relative h-2 w-full overflow-hidden rounded-full bg-primary/20', className)}\n value={value}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "progress.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/progress.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Progress } from './progress';\n\ndescribe('Progress', () => {\n it('renders correctly', () => {\n render(<Progress value={50} aria-label=\"progress-bar\" />);\n expect(screen.getByRole('progressbar')).toBeInTheDocument();\n expect(screen.getByRole('progressbar')).toHaveAttribute('aria-valuenow', '50');\n });\n\n it('renders correctly with no value', () => {\n render(<Progress aria-label=\"progress-bar\" />);\n expect(screen.getByRole('progressbar')).toBeInTheDocument();\n // When value is undefined, Radix UI might behave in specific ways, typically indeterminate or 0.\n // Our wrapper: transform: `translateX(-${100 - (value || 0)}%)` -> -100%\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "radio-group",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/radio-group.tsx",
9
- "content": "import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { Circle } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return <RadioGroupPrimitive.Root className={cn('grid gap-2', className)} {...props} ref={ref} />;\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n 'aspect-square h-4 w-4 rounded-full border border-primary text-primary shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-3.5 w-3.5 fill-primary\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "radio-group.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/radio-group.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 { RadioGroup, RadioGroupItem } from './radio-group';\n\ndescribe('RadioGroup', () => {\n it('renders correctly', () => {\n render(\n <RadioGroup defaultValue=\"option-one\">\n <RadioGroupItem value=\"option-one\" id=\"option-one\" aria-label=\"Option One\" />\n <RadioGroupItem value=\"option-two\" id=\"option-two\" aria-label=\"Option Two\" />\n </RadioGroup>,\n );\n\n expect(screen.getByRole('radio', { name: /Option One/i })).toBeInTheDocument();\n // Radix RadioGroup renders standard inputs visually hidden.\n // Testing library query by role 'radio' should find them.\n // However, since we didn't provide labels, we might need to rely on 'checked' state or IDs.\n\n const radio1 = screen.getByRole('radio', { checked: true });\n expect(radio1).toBeInTheDocument();\n expect(radio1).toHaveValue('option-one');\n });\n\n it('changes value on click', async () => {\n const user = userEvent.setup();\n render(\n <RadioGroup defaultValue=\"option-one\">\n <RadioGroupItem value=\"option-one\" />\n <RadioGroupItem value=\"option-two\" data-testid=\"radio-two\" />\n </RadioGroup>,\n );\n\n const radio2 = screen.getByTestId('radio-two');\n await user.click(radio2);\n\n expect(radio2).toBeChecked();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "resizable",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/resizable.tsx",
9
- "content": "import { GripVertical } from 'lucide-react';\nimport * as React from 'react';\nimport { Group, Panel, Separator } from 'react-resizable-panels';\n\nimport { cn } from '@/lib/utils';\n\nconst ResizablePanelGroup = ({\n className,\n direction,\n ...props\n}: React.ComponentProps<typeof Group> & {\n direction: 'horizontal' | 'vertical';\n}) => (\n <Group\n orientation={direction}\n className={cn('flex h-full w-full data-[panel-group-direction=vertical]:flex-col', className)}\n {...props}\n />\n);\n\nconst ResizablePanel = Panel;\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof Separator> & {\n withHandle?: boolean;\n}) => (\n <Separator\n className={cn(\n 'relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90',\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <GripVertical className=\"h-2.5 w-2.5\" />\n </div>\n )}\n </Separator>\n);\n\nexport { ResizableHandle, ResizablePanel, ResizablePanelGroup };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "resizable.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/resizable.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { ResizableHandle, ResizablePanel, ResizablePanelGroup } from './resizable';\n\ndescribe('Resizable', () => {\n it('renders correctly', () => {\n // Basic render test\n render(\n <ResizablePanelGroup direction=\"horizontal\">\n <ResizablePanel defaultSize={50}>\n <div>One</div>\n </ResizablePanel>\n <ResizableHandle />\n <ResizablePanel defaultSize={50}>\n <div>Two</div>\n </ResizablePanel>\n </ResizablePanelGroup>,\n );\n\n expect(screen.getByText('One')).toBeInTheDocument();\n expect(screen.getByText('Two')).toBeInTheDocument();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "scroll-area",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/scroll-area.tsx",
9
- "content": "import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">{children}</ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "scroll-area.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/scroll-area.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { ScrollArea, ScrollBar } from './scroll-area';\n\ndescribe('ScrollArea', () => {\n it('renders correctly', () => {\n render(\n <ScrollArea className=\"h-[200px] w-[350px]\">\n <div>Content</div>\n <ScrollBar />\n </ScrollArea>,\n );\n expect(screen.getByText('Content')).toBeInTheDocument();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "search",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/search.tsx",
9
- "content": "'use client';\n\nimport { Button } from '@/components/ui/button';\nimport {\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/ui/command';\nimport { cn } from '@/lib/utils';\nimport { Search as SearchIcon } from 'lucide-react';\nimport * as React from 'react';\n\nexport interface SearchProps {\n children?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\nexport function Search({ children, open: customOpen, onOpenChange }: SearchProps) {\n const [open, setOpen] = React.useState(false);\n\n const isControlled = customOpen !== undefined;\n const isOpen = isControlled ? customOpen : open;\n\n const setIsOpen = React.useCallback(\n (value: boolean | ((prev: boolean) => boolean)) => {\n if (isControlled) {\n const nextValue = typeof value === 'function' ? value(isOpen) : value;\n onOpenChange?.(nextValue);\n } else {\n setOpen(value);\n }\n },\n [isControlled, isOpen, onOpenChange],\n );\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault();\n setIsOpen((prev) => !prev);\n }\n };\n\n document.addEventListener('keydown', down);\n return () => document.removeEventListener('keydown', down);\n }, [setIsOpen]);\n\n return (\n <CommandDialog open={isOpen} onOpenChange={setIsOpen}>\n {children}\n </CommandDialog>\n );\n}\n\nexport interface SearchTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n placeholder?: string;\n variant?: 'default' | 'compact';\n}\n\nexport const SearchTrigger = React.forwardRef<HTMLButtonElement, SearchTriggerProps>(\n ({ className, placeholder = 'Search docs...', variant = 'default', ...props }, ref) => {\n return (\n <Button\n variant=\"outline\"\n className={cn(\n 'relative h-9 text-sm text-muted-foreground transition-all transition-colors',\n variant === 'default'\n ? 'w-full justify-start sm:pr-12 md:w-40 lg:w-64'\n : 'w-9 justify-center px-0 sm:w-24 sm:justify-start sm:px-3 sm:pr-12',\n className,\n )}\n ref={ref}\n {...props}\n >\n <span className=\"inline-flex items-center gap-2\">\n <SearchIcon className=\"h-4 w-4 shrink-0\" />\n {variant === 'default' && <span className=\"truncate\">{placeholder}</span>}\n </span>\n <kbd className=\"pointer-events-none absolute right-1.5 top-1.5 hidden h-6 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex\">\n <span className=\"text-xs\">⌘</span>K\n </kbd>\n </Button>\n );\n },\n);\nSearchTrigger.displayName = 'SearchTrigger';\n\nexport { CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "search.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/search.test.tsx",
9
- "content": "import { fireEvent, render, screen } from '@testing-library/react';\nimport * as React from 'react';\nimport { describe, expect, it, vi } from 'vitest';\nimport { CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, Search, SearchTrigger } from './search';\n\n// Mock CommandDialog since it uses Radix Dialog which might need a portal\nvi.mock('@/components/ui/dialog', () => ({\n Dialog: ({ children, open }: { children: React.ReactNode; open: boolean }) => (open ? <div>{children}</div> : null),\n DialogContent: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,\n DialogPortal: ({ children }: { children: React.ReactNode }) => <div>{children}</div>,\n DialogOverlay: () => null,\n}));\n\ndescribe('Search', () => {\n it('renders search trigger', () => {\n render(<SearchTrigger />);\n expect(screen.getByText('Search docs...')).toBeInTheDocument();\n });\n\n it('opens search dialog when trigger is clicked (controlled)', () => {\n const onOpenChange = vi.fn();\n render(\n <Search open={false} onOpenChange={onOpenChange}>\n <CommandInput placeholder=\"Search...\" />\n </Search>,\n );\n\n // The dialog should be closed initially\n expect(screen.queryByPlaceholderText('Search...')).not.toBeInTheDocument();\n });\n\n it('responds to keyboard shortcuts', () => {\n render(\n <Search>\n <CommandInput placeholder=\"Search...\" />\n <CommandList>\n <CommandItem>Result 1</CommandItem>\n </CommandList>\n </Search>,\n );\n\n // Simulate Cmd+K\n fireEvent.keyDown(document, { key: 'k', metaKey: true });\n\n // Check if dialog content is visible\n expect(screen.getByPlaceholderText('Search...')).toBeInTheDocument();\n });\n\n it('filters results correctly', () => {\n render(\n <Search open={true}>\n <CommandInput placeholder=\"Search...\" />\n <CommandList>\n <CommandEmpty>No results.</CommandEmpty>\n <CommandGroup heading=\"Components\">\n <SearchItem>Button</SearchItem>\n <SearchItem>Input</SearchItem>\n </CommandGroup>\n </CommandList>\n </Search>,\n );\n\n const input = screen.getByPlaceholderText('Search...');\n fireEvent.change(input, { target: { value: 'But' } });\n\n expect(screen.getByText('Button')).toBeInTheDocument();\n // cmdk removes non-matching items from the DOM\n expect(screen.queryByText('Input')).not.toBeInTheDocument();\n });\n});\n\n// Helper component for testing\nfunction SearchItem({ children }: { children: React.ReactNode }) {\n return <CommandItem>{children}</CommandItem>;\n}\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "select",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/select.tsx",
9
- "content": "import * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "select.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/select.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 { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './select';\n\ndescribe('Select', () => {\n it('renders correctly', () => {\n render(\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select an option\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"option1\">Option 1</SelectItem>\n <SelectItem value=\"option2\">Option 2</SelectItem>\n </SelectContent>\n </Select>,\n );\n expect(screen.getByText('Select an option')).toBeInTheDocument();\n });\n\n it('opens and selects an option', async () => {\n const user = userEvent.setup();\n render(\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select an option\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"option1\">Option 1</SelectItem>\n <SelectItem value=\"option2\">Option 2</SelectItem>\n </SelectContent>\n </Select>,\n );\n\n await user.click(screen.getByRole('combobox'));\n expect(screen.getByText('Option 1')).toBeVisible();\n\n await user.click(screen.getByText('Option 1'));\n expect(screen.getByText('Option 1')).toBeInTheDocument();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "separator",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/separator.tsx",
9
- "content": "import * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className)}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "separator.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/separator.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Separator } from './separator';\n\ndescribe('Separator', () => {\n it('renders correctly', () => {\n render(<Separator data-testid=\"separator\" />);\n expect(screen.getByTestId('separator')).toBeInTheDocument();\n expect(screen.getByTestId('separator')).toHaveClass('bg-border');\n });\n\n it('applies orientation classes', () => {\n render(<Separator orientation=\"vertical\" data-testid=\"separator-vertical\" />);\n expect(screen.getByTestId('separator-vertical')).toHaveClass('h-full w-[1px]');\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "sheet",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/sheet.tsx",
9
- "content": "import * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n);\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Content>, SheetContentProps>(\n ({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n ),\n);\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\n);\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title ref={ref} className={cn('text-lg font-semibold text-foreground', className)} {...props} />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetOverlay,\n SheetPortal,\n SheetTitle,\n SheetTrigger,\n};\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "sheet.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/sheet.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 { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, SheetTrigger } from './sheet';\n\n// Mock ResizeObserver for Radix UI\nglobal.ResizeObserver = vi.fn().mockImplementation(() => ({\n observe: vi.fn(),\n unobserve: vi.fn(),\n disconnect: vi.fn(),\n}));\n\ndescribe('Sheet', () => {\n it('renders trigger correctly', () => {\n render(\n <Sheet>\n <SheetTrigger>Open Sheet</SheetTrigger>\n <SheetContent>\n <SheetHeader>\n <SheetTitle>Title</SheetTitle>\n <SheetDescription>Description</SheetDescription>\n </SheetHeader>\n </SheetContent>\n </Sheet>,\n );\n\n expect(screen.getByText('Open Sheet')).toBeInTheDocument();\n });\n\n it('opens content on click', async () => {\n const user = userEvent.setup();\n render(\n <Sheet>\n <SheetTrigger>Open Sheet</SheetTrigger>\n <SheetContent>\n <SheetHeader>\n <SheetTitle>Title</SheetTitle>\n <SheetDescription>Description</SheetDescription>\n </SheetHeader>\n <div>Sheet Content</div>\n </SheetContent>\n </Sheet>,\n );\n\n await user.click(screen.getByText('Open Sheet'));\n expect(screen.getByText('Sheet Content')).toBeVisible();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "skeleton",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/skeleton.tsx",
9
- "content": "import { cn } from '@/lib/utils';\nimport * as React from 'react';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('animate-pulse rounded-md bg-primary/10', className)} {...props} />;\n}\n\nexport { Skeleton };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "skeleton.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/skeleton.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Skeleton } from './skeleton';\n\ndescribe('Skeleton', () => {\n it('renders correctly', () => {\n render(<Skeleton data-testid=\"skeleton\" className=\"h-4 w-[250px]\" />);\n const skeleton = screen.getByTestId('skeleton');\n expect(skeleton).toBeInTheDocument();\n expect(skeleton).toHaveClass('animate-pulse');\n expect(skeleton).toHaveClass('h-4');\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "slider",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/slider.tsx",
9
- "content": "import * as SliderPrimitive from '@radix-ui/react-slider';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn('relative flex w-full touch-none select-none items-center', className)}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n));\nSlider.displayName = SliderPrimitive.Root.displayName;\n\nexport { Slider };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "slider.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/slider.test.tsx",
9
- "content": "import { render, screen } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Slider } from './slider';\n\ndescribe('Slider', () => {\n it('renders correctly', () => {\n // Radix Slider uses ResizeObserver\n global.ResizeObserver = class ResizeObserver {\n observe() {}\n unobserve() {}\n disconnect() {}\n };\n\n render(<Slider defaultValue={[50]} max={100} step={1} />);\n expect(screen.getByRole('slider')).toBeInTheDocument();\n expect(screen.getByRole('slider')).toHaveAttribute('aria-valuenow', '50');\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "sonner",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/sonner.tsx",
9
- "content": "import { useTheme } from 'next-themes';\nimport * as React from 'react';\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "sonner.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/sonner.test.tsx",
9
- "content": "import { render } from '@testing-library/react';\nimport { describe, expect, it } from 'vitest';\nimport { Toaster } from './sonner';\n\ndescribe('Sonner Toaster', () => {\n it('renders correctly', () => {\n const { container } = render(<Toaster />);\n // Sonner renders a list/container. Since it's a portal or fixed, we check presence.\n // However, without triggering a toast, it might be empty or hidden.\n // We check if the container renders without crashing.\n expect(container).toBeInTheDocument();\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "switch",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/switch.tsx",
9
- "content": "import * as SwitchPrimitives from '@radix-ui/react-switch';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input',\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0',\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "name": "switch.test",
3
- "type": "registry:ui",
4
- "dependencies": [],
5
- "registryDependencies": [],
6
- "files": [
7
- {
8
- "path": "ui/switch.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 { Switch } from './switch';\n\ndescribe('Switch', () => {\n it('renders correctly', () => {\n render(<Switch data-testid=\"switch\" />);\n expect(screen.getByRole('switch')).toBeInTheDocument();\n });\n\n it('toggles state', async () => {\n const user = userEvent.setup();\n render(<Switch />);\n\n const switchEl = screen.getByRole('switch');\n expect(switchEl).toHaveAttribute('aria-checked', 'false');\n\n await user.click(switchEl);\n expect(switchEl).toHaveAttribute('aria-checked', 'true');\n });\n});\n",
10
- "type": "registry:ui"
11
- }
12
- ]
13
- }