create-tauri-ui 0.1.5 → 0.2.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 (496) hide show
  1. package/README.md +54 -12
  2. package/dist/index.mjs +26 -27
  3. package/index.js +1 -1
  4. package/package.json +54 -63
  5. package/templates/.shared/.github/workflows/release.yml +112 -0
  6. package/templates/.shared/app-icon.png +0 -0
  7. package/templates/.shared/src-tauri/Cargo.lock +3701 -0
  8. package/templates/.shared/src-tauri/Cargo.toml +36 -0
  9. package/templates/.shared/src-tauri/build.rs +3 -0
  10. package/templates/.shared/src-tauri/icons/128x128.png +0 -0
  11. package/templates/.shared/src-tauri/icons/128x128@2x.png +0 -0
  12. package/templates/.shared/src-tauri/icons/32x32.png +0 -0
  13. package/templates/.shared/src-tauri/icons/Square107x107Logo.png +0 -0
  14. package/templates/.shared/src-tauri/icons/Square142x142Logo.png +0 -0
  15. package/templates/.shared/src-tauri/icons/Square150x150Logo.png +0 -0
  16. package/templates/.shared/src-tauri/icons/Square284x284Logo.png +0 -0
  17. package/templates/.shared/src-tauri/icons/Square30x30Logo.png +0 -0
  18. package/templates/.shared/src-tauri/icons/Square310x310Logo.png +0 -0
  19. package/templates/.shared/src-tauri/icons/Square44x44Logo.png +0 -0
  20. package/templates/.shared/src-tauri/icons/Square71x71Logo.png +0 -0
  21. package/templates/.shared/src-tauri/icons/Square89x89Logo.png +0 -0
  22. package/templates/.shared/src-tauri/icons/StoreLogo.png +0 -0
  23. package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  24. package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  25. package/templates/.shared/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  26. package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  27. package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  28. package/templates/.shared/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  29. package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  30. package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  31. package/templates/.shared/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  32. package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  33. package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  34. package/templates/.shared/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  35. package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  36. package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  37. package/templates/.shared/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  38. package/templates/.shared/src-tauri/icons/icon.icns +0 -0
  39. package/templates/.shared/src-tauri/icons/icon.ico +0 -0
  40. package/templates/.shared/src-tauri/icons/icon.png +0 -0
  41. package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  42. package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  43. package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  44. package/templates/.shared/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  45. package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  46. package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  47. package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  48. package/templates/.shared/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  49. package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  50. package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  51. package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  52. package/templates/.shared/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  53. package/templates/.shared/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  54. package/templates/.shared/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  55. package/templates/.shared/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  56. package/templates/.shared/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  57. package/templates/.shared/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  58. package/templates/.shared/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  59. package/templates/.shared/src-tauri/src/main.rs +19 -0
  60. package/templates/.shared/src-tauri/tauri.conf.json +79 -0
  61. package/templates/next/.env +1 -1
  62. package/templates/next/.github/workflows/release.yml +108 -108
  63. package/templates/next/.vscode/extensions.json +3 -3
  64. package/templates/next/README.md +95 -88
  65. package/templates/next/components.json +16 -0
  66. package/templates/next/next-env.d.ts +5 -5
  67. package/templates/next/next.config.js +14 -17
  68. package/templates/next/package.json +83 -82
  69. package/templates/next/pnpm-lock.yaml +4869 -4754
  70. package/templates/next/postcss.config.js +6 -6
  71. package/templates/next/prettier.config.js +35 -35
  72. package/templates/next/src/app/examples/authentication/components/user-auth-form.tsx +1 -1
  73. package/templates/next/src/app/examples/authentication/page.tsx +67 -59
  74. package/templates/next/src/app/examples/cards/components/create-account.tsx +1 -1
  75. package/templates/next/src/app/examples/cards/components/date-picker.tsx +2 -2
  76. package/templates/next/src/app/examples/cards/components/github-card.tsx +15 -10
  77. package/templates/next/src/app/examples/cards/components/notifications.tsx +9 -9
  78. package/templates/next/src/app/examples/cards/components/payment-method.tsx +14 -4
  79. package/templates/next/src/app/examples/cards/components/report-an-issue.tsx +4 -1
  80. package/templates/next/src/app/examples/cards/components/share-document.tsx +5 -1
  81. package/templates/next/src/app/examples/cards/components/team-members.tsx +8 -4
  82. package/templates/next/src/app/examples/cards/page.tsx +37 -36
  83. package/templates/next/src/app/examples/dashboard/components/date-range-picker.tsx +2 -3
  84. package/templates/next/src/app/examples/dashboard/components/main-nav.tsx +10 -8
  85. package/templates/next/src/app/examples/dashboard/components/recent-sales.tsx +5 -1
  86. package/templates/next/src/app/examples/dashboard/components/search.tsx +1 -1
  87. package/templates/next/src/app/examples/dashboard/components/team-switcher.tsx +15 -7
  88. package/templates/next/src/app/examples/dashboard/components/user-nav.tsx +10 -15
  89. package/templates/next/src/app/examples/dashboard/page.tsx +164 -114
  90. package/templates/next/src/app/examples/forms/account/account-form.tsx +13 -13
  91. package/templates/next/src/app/examples/forms/appearance/appearance-form.tsx +5 -5
  92. package/templates/next/src/app/examples/forms/components/sidebar-nav.tsx +3 -2
  93. package/templates/next/src/app/examples/forms/display/display-form.tsx +2 -2
  94. package/templates/next/src/app/examples/forms/layout.tsx +16 -14
  95. package/templates/next/src/app/examples/forms/notifications/notifications-form.tsx +6 -5
  96. package/templates/next/src/app/examples/forms/notifications/page.tsx +0 -1
  97. package/templates/next/src/app/examples/forms/profile-form.tsx +16 -15
  98. package/templates/next/src/app/examples/layout.tsx +7 -7
  99. package/templates/next/src/app/examples/music/components/album-artwork.tsx +15 -4
  100. package/templates/next/src/app/examples/music/components/menu.tsx +27 -5
  101. package/templates/next/src/app/examples/music/components/podcast-empty-placeholder.tsx +15 -4
  102. package/templates/next/src/app/examples/music/components/sidebar.tsx +147 -43
  103. package/templates/next/src/app/examples/music/page.tsx +113 -106
  104. package/templates/next/src/app/examples/playground/components/model-selector.tsx +3 -3
  105. package/templates/next/src/app/examples/playground/components/preset-actions.tsx +2 -4
  106. package/templates/next/src/app/examples/playground/components/preset-selector.tsx +4 -4
  107. package/templates/next/src/app/examples/playground/components/preset-share.tsx +2 -2
  108. package/templates/next/src/app/examples/playground/page.tsx +268 -115
  109. package/templates/next/src/app/examples/tasks/components/data-table-column-header.tsx +12 -7
  110. package/templates/next/src/app/examples/tasks/components/data-table-faceted-filter.tsx +4 -4
  111. package/templates/next/src/app/examples/tasks/components/data-table-pagination.tsx +10 -10
  112. package/templates/next/src/app/examples/tasks/components/data-table-row-actions.tsx +6 -19
  113. package/templates/next/src/app/examples/tasks/components/data-table-toolbar.tsx +3 -5
  114. package/templates/next/src/app/examples/tasks/components/data-table-view-options.tsx +2 -2
  115. package/templates/next/src/app/examples/tasks/components/user-nav.tsx +10 -15
  116. package/templates/next/src/app/examples/tasks/data/data.tsx +17 -17
  117. package/templates/next/src/app/examples/tasks/data/tasks.json +1 -1
  118. package/templates/next/src/app/examples/tasks/page.tsx +14 -12
  119. package/templates/next/src/app/layout.tsx +47 -43
  120. package/templates/next/src/app/page.tsx +5 -5
  121. package/templates/next/src/components/{examples/date-picker/with-range.tsx → example/date-picker-with-range.tsx} +1 -1
  122. package/templates/next/src/components/examples-nav.tsx +70 -70
  123. package/templates/next/src/components/greeting.tsx +21 -21
  124. package/templates/next/src/components/icons.tsx +154 -154
  125. package/templates/next/src/components/menu-mode-toggle.tsx +46 -46
  126. package/templates/next/src/components/menu.tsx +259 -259
  127. package/templates/next/src/components/mode-toggle.tsx +43 -43
  128. package/templates/next/src/components/page-header.tsx +50 -50
  129. package/templates/next/src/components/style-switcher.tsx +19 -19
  130. package/templates/next/src/components/tailwind-indicator.tsx +18 -18
  131. package/templates/next/src/components/theme-provider.tsx +9 -9
  132. package/templates/next/src/components/ui/accordion.tsx +1 -1
  133. package/templates/next/src/components/ui/alert-dialog.tsx +3 -8
  134. package/templates/next/src/components/ui/alert.tsx +3 -5
  135. package/templates/next/src/components/ui/badge.tsx +5 -5
  136. package/templates/next/src/components/ui/button.tsx +15 -10
  137. package/templates/next/src/components/ui/card.tsx +1 -3
  138. package/templates/next/src/components/ui/checkbox.tsx +2 -2
  139. package/templates/next/src/components/ui/command.tsx +2 -2
  140. package/templates/next/src/components/ui/context-menu.tsx +6 -6
  141. package/templates/next/src/components/ui/dialog.tsx +4 -9
  142. package/templates/next/src/components/ui/dropdown-menu.tsx +6 -6
  143. package/templates/next/src/components/ui/hover-card.tsx +1 -1
  144. package/templates/next/src/components/ui/input.tsx +1 -3
  145. package/templates/next/src/components/ui/label.tsx +1 -1
  146. package/templates/next/src/components/ui/menubar.tsx +7 -7
  147. package/templates/next/src/components/ui/navigation-menu.tsx +2 -4
  148. package/templates/next/src/components/ui/popover.tsx +1 -1
  149. package/templates/next/src/components/ui/radio-group.tsx +2 -2
  150. package/templates/next/src/components/ui/select.tsx +4 -3
  151. package/templates/next/src/components/ui/sheet.tsx +22 -108
  152. package/templates/next/src/components/ui/skeleton.tsx +0 -2
  153. package/templates/next/src/components/ui/switch.tsx +1 -1
  154. package/templates/next/src/components/ui/table.tsx +1 -1
  155. package/templates/next/src/components/ui/tabs.tsx +1 -1
  156. package/templates/next/src/components/ui/textarea.tsx +1 -3
  157. package/templates/next/src/components/ui/toast.tsx +6 -8
  158. package/templates/next/src/components/ui/toggle.tsx +3 -3
  159. package/templates/next/src/components/ui/tooltip.tsx +1 -1
  160. package/templates/next/src/components/ui/use-toast.ts +5 -4
  161. package/templates/next/src/data/albums.ts +71 -71
  162. package/templates/next/src/data/playlists.ts +16 -16
  163. package/templates/next/src/lib/utils.ts +6 -19
  164. package/templates/next/src/styles/globals.css +86 -124
  165. package/templates/next/src-tauri/Cargo.lock +3701 -3637
  166. package/templates/next/src-tauri/Cargo.toml +36 -36
  167. package/templates/next/src-tauri/build.rs +3 -3
  168. package/templates/next/src-tauri/icons/128x128.png +0 -0
  169. package/templates/next/src-tauri/icons/128x128@2x.png +0 -0
  170. package/templates/next/src-tauri/icons/32x32.png +0 -0
  171. package/templates/next/src-tauri/icons/Square107x107Logo.png +0 -0
  172. package/templates/next/src-tauri/icons/Square142x142Logo.png +0 -0
  173. package/templates/next/src-tauri/icons/Square150x150Logo.png +0 -0
  174. package/templates/next/src-tauri/icons/Square284x284Logo.png +0 -0
  175. package/templates/next/src-tauri/icons/Square30x30Logo.png +0 -0
  176. package/templates/next/src-tauri/icons/Square310x310Logo.png +0 -0
  177. package/templates/next/src-tauri/icons/Square44x44Logo.png +0 -0
  178. package/templates/next/src-tauri/icons/Square71x71Logo.png +0 -0
  179. package/templates/next/src-tauri/icons/Square89x89Logo.png +0 -0
  180. package/templates/next/src-tauri/icons/StoreLogo.png +0 -0
  181. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  182. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  183. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  184. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  185. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  186. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  187. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  188. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  189. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  190. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  191. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  192. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  193. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  194. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  195. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  196. package/templates/next/src-tauri/icons/icon.icns +0 -0
  197. package/templates/next/src-tauri/icons/icon.ico +0 -0
  198. package/templates/next/src-tauri/icons/icon.png +0 -0
  199. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  200. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  201. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  202. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  203. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  204. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  205. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  206. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  207. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  208. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  209. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  210. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  211. package/templates/next/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  212. package/templates/next/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  213. package/templates/next/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  214. package/templates/next/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  215. package/templates/next/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  216. package/templates/next/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  217. package/templates/next/src-tauri/src/main.rs +19 -19
  218. package/templates/next/src-tauri/tauri.conf.json +79 -63
  219. package/templates/next/tailwind.config.js +78 -80
  220. package/templates/next/tsconfig.json +35 -35
  221. package/templates/sveltekit/.github/workflows/release.yml +108 -0
  222. package/templates/sveltekit/package.json +29 -29
  223. package/templates/sveltekit/src-tauri/Cargo.lock +268 -206
  224. package/templates/sveltekit/src-tauri/Cargo.toml +12 -10
  225. package/templates/sveltekit/src-tauri/build.rs +3 -3
  226. package/templates/sveltekit/src-tauri/tauri.conf.json +23 -6
  227. package/templates/vite/components.json +16 -0
  228. package/templates/vite/package.json +19 -18
  229. package/templates/vite/pnpm-lock.yaml +801 -696
  230. package/templates/vite/public/avatars/01.png +0 -0
  231. package/templates/vite/public/avatars/02.png +0 -0
  232. package/templates/vite/public/avatars/03.png +0 -0
  233. package/templates/vite/public/avatars/04.png +0 -0
  234. package/templates/vite/public/avatars/05.png +0 -0
  235. package/templates/vite/src/components/menu.tsx +1 -1
  236. package/templates/vite/src/dashboard/components/date-range-picker.tsx +2 -3
  237. package/templates/vite/src/dashboard/components/recent-sales.tsx +5 -1
  238. package/templates/vite/src/dashboard/components/search.tsx +1 -1
  239. package/templates/vite/src/dashboard/components/team-switcher.tsx +15 -7
  240. package/templates/vite/src/dashboard/components/user-nav.tsx +10 -15
  241. package/templates/vite/src/dashboard/page.tsx +172 -121
  242. package/templates/vite/src/styles/globals.css +1 -39
  243. package/templates/vite/src-tauri/Cargo.lock +302 -238
  244. package/templates/vite/src-tauri/Cargo.toml +11 -8
  245. package/templates/vite/src-tauri/build.rs +3 -3
  246. package/templates/vite/src-tauri/tauri.conf.json +79 -63
  247. package/templates/viteuno/.github/workflows/release.yml +108 -0
  248. package/templates/viteuno/.vscode/extensions.json +3 -0
  249. package/templates/viteuno/README.md +1 -0
  250. package/templates/viteuno/app-icon.png +0 -0
  251. package/templates/viteuno/components.json +16 -0
  252. package/templates/viteuno/index.html +16 -0
  253. package/templates/viteuno/package.json +73 -0
  254. package/templates/viteuno/pnpm-lock.yaml +5298 -0
  255. package/templates/viteuno/preset.shadcn.ts +160 -0
  256. package/templates/viteuno/prettier.config.cjs +34 -0
  257. package/templates/viteuno/public/avatars/01.png +0 -0
  258. package/templates/viteuno/public/avatars/02.png +0 -0
  259. package/templates/viteuno/public/avatars/03.png +0 -0
  260. package/templates/viteuno/public/avatars/04.png +0 -0
  261. package/templates/viteuno/public/avatars/05.png +0 -0
  262. package/templates/viteuno/src/App.tsx +39 -0
  263. package/templates/viteuno/src/assets/Inter.var.woff2 +0 -0
  264. package/templates/viteuno/src/components/icons.tsx +154 -0
  265. package/templates/viteuno/src/components/menu-mode-toggle.tsx +46 -0
  266. package/templates/viteuno/src/components/menu.tsx +232 -0
  267. package/templates/viteuno/src/components/tailwind-indicator.tsx +18 -0
  268. package/templates/viteuno/src/components/theme-provider.tsx +9 -0
  269. package/templates/viteuno/src/components/ui/accordion.tsx +60 -0
  270. package/templates/viteuno/src/components/ui/alert-dialog.tsx +150 -0
  271. package/templates/viteuno/src/components/ui/alert.tsx +61 -0
  272. package/templates/viteuno/src/components/ui/aspect-ratio.tsx +7 -0
  273. package/templates/viteuno/src/components/ui/avatar.tsx +50 -0
  274. package/templates/viteuno/src/components/ui/badge.tsx +36 -0
  275. package/templates/viteuno/src/components/ui/button.tsx +51 -0
  276. package/templates/viteuno/src/components/ui/calendar.tsx +64 -0
  277. package/templates/viteuno/src/components/ui/card.tsx +81 -0
  278. package/templates/viteuno/src/components/ui/checkbox.tsx +30 -0
  279. package/templates/viteuno/src/components/ui/collapsible.tsx +11 -0
  280. package/templates/viteuno/src/components/ui/command.tsx +155 -0
  281. package/templates/viteuno/src/components/ui/context-menu.tsx +200 -0
  282. package/templates/viteuno/src/components/ui/dialog.tsx +128 -0
  283. package/templates/viteuno/src/components/ui/dropdown-menu.tsx +200 -0
  284. package/templates/viteuno/src/components/ui/hover-card.tsx +29 -0
  285. package/templates/viteuno/src/components/ui/index.ts +0 -0
  286. package/templates/viteuno/src/components/ui/input.tsx +27 -0
  287. package/templates/viteuno/src/components/ui/label.tsx +26 -0
  288. package/templates/viteuno/src/components/ui/menubar.tsx +236 -0
  289. package/templates/viteuno/src/components/ui/navigation-menu.tsx +130 -0
  290. package/templates/viteuno/src/components/ui/popover.tsx +31 -0
  291. package/templates/viteuno/src/components/ui/progress.tsx +28 -0
  292. package/templates/viteuno/src/components/ui/radio-group.tsx +44 -0
  293. package/templates/viteuno/src/components/ui/scroll-area.tsx +48 -0
  294. package/templates/viteuno/src/components/ui/select.tsx +120 -0
  295. package/templates/viteuno/src/components/ui/separator.tsx +31 -0
  296. package/templates/viteuno/src/components/ui/sheet.tsx +230 -0
  297. package/templates/viteuno/src/components/ui/skeleton.tsx +17 -0
  298. package/templates/viteuno/src/components/ui/slider.tsx +28 -0
  299. package/templates/viteuno/src/components/ui/switch.tsx +29 -0
  300. package/templates/viteuno/src/components/ui/table.tsx +114 -0
  301. package/templates/viteuno/src/components/ui/tabs.tsx +55 -0
  302. package/templates/viteuno/src/components/ui/textarea.tsx +26 -0
  303. package/templates/viteuno/src/components/ui/toast.tsx +129 -0
  304. package/templates/viteuno/src/components/ui/toaster.tsx +35 -0
  305. package/templates/viteuno/src/components/ui/toggle.tsx +45 -0
  306. package/templates/viteuno/src/components/ui/tooltip.tsx +30 -0
  307. package/templates/viteuno/src/components/ui/use-toast.ts +191 -0
  308. package/templates/{next/src/components/examples/calendar → viteuno/src/dashboard/components}/date-range-picker.tsx +5 -4
  309. package/templates/viteuno/src/dashboard/components/main-nav.tsx +38 -0
  310. package/templates/viteuno/src/dashboard/components/overview.tsx +78 -0
  311. package/templates/viteuno/src/dashboard/components/recent-sales.tsx +67 -0
  312. package/templates/viteuno/src/dashboard/components/search.tsx +13 -0
  313. package/templates/viteuno/src/dashboard/components/team-switcher.tsx +205 -0
  314. package/templates/viteuno/src/dashboard/components/user-nav.tsx +67 -0
  315. package/templates/viteuno/src/dashboard/page.tsx +140 -0
  316. package/templates/viteuno/src/lib/utils.ts +19 -0
  317. package/templates/viteuno/src/main.tsx +14 -0
  318. package/templates/viteuno/src/styles/globals.css +4 -0
  319. package/templates/viteuno/src/vite-env.d.ts +1 -0
  320. package/templates/viteuno/src-tauri/Cargo.lock +3701 -0
  321. package/templates/viteuno/src-tauri/Cargo.toml +36 -0
  322. package/templates/viteuno/src-tauri/build.rs +3 -0
  323. package/templates/viteuno/src-tauri/icons/128x128.png +0 -0
  324. package/templates/viteuno/src-tauri/icons/128x128@2x.png +0 -0
  325. package/templates/viteuno/src-tauri/icons/32x32.png +0 -0
  326. package/templates/viteuno/src-tauri/icons/Square107x107Logo.png +0 -0
  327. package/templates/viteuno/src-tauri/icons/Square142x142Logo.png +0 -0
  328. package/templates/viteuno/src-tauri/icons/Square150x150Logo.png +0 -0
  329. package/templates/viteuno/src-tauri/icons/Square284x284Logo.png +0 -0
  330. package/templates/viteuno/src-tauri/icons/Square30x30Logo.png +0 -0
  331. package/templates/viteuno/src-tauri/icons/Square310x310Logo.png +0 -0
  332. package/templates/viteuno/src-tauri/icons/Square44x44Logo.png +0 -0
  333. package/templates/viteuno/src-tauri/icons/Square71x71Logo.png +0 -0
  334. package/templates/viteuno/src-tauri/icons/Square89x89Logo.png +0 -0
  335. package/templates/viteuno/src-tauri/icons/StoreLogo.png +0 -0
  336. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  337. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  338. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  339. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  340. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  341. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  342. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  343. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  344. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  345. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  346. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  347. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  348. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  349. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  350. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  351. package/templates/viteuno/src-tauri/icons/icon.icns +0 -0
  352. package/templates/viteuno/src-tauri/icons/icon.ico +0 -0
  353. package/templates/viteuno/src-tauri/icons/icon.png +0 -0
  354. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  355. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  356. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  357. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  358. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  359. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  360. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  361. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  362. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  363. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  364. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  365. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  366. package/templates/viteuno/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  367. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  368. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  369. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  370. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  371. package/templates/viteuno/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  372. package/templates/viteuno/src-tauri/src/main.rs +16 -0
  373. package/templates/viteuno/src-tauri/tauri.conf.json +79 -0
  374. package/templates/viteuno/tsconfig.json +26 -0
  375. package/templates/viteuno/tsconfig.node.json +9 -0
  376. package/templates/viteuno/uno.config.ts +111 -0
  377. package/templates/viteuno/vite.config.ts +33 -0
  378. package/templates/next/src/app/examples/cards/styles.css +0 -63
  379. package/templates/next/src/app/examples/music/styles.css +0 -65
  380. package/templates/next/src/app/examples/playground/components/icons.tsx +0 -153
  381. package/templates/next/src/app/examples/playground/styles.css +0 -65
  382. package/templates/next/src/components/examples/.eslintrc.json +0 -6
  383. package/templates/next/src/components/examples/accordion/demo.tsx +0 -32
  384. package/templates/next/src/components/examples/alert/demo.tsx +0 -15
  385. package/templates/next/src/components/examples/alert/destructive.tsx +0 -15
  386. package/templates/next/src/components/examples/alert-dialog/demo.tsx +0 -35
  387. package/templates/next/src/components/examples/aspect-ratio/demo.tsx +0 -16
  388. package/templates/next/src/components/examples/avatar/demo.tsx +0 -10
  389. package/templates/next/src/components/examples/badge/demo.tsx +0 -5
  390. package/templates/next/src/components/examples/badge/destructive.tsx +0 -5
  391. package/templates/next/src/components/examples/badge/outline.tsx +0 -5
  392. package/templates/next/src/components/examples/badge/secondary.tsx +0 -5
  393. package/templates/next/src/components/examples/button/as-child.tsx +0 -10
  394. package/templates/next/src/components/examples/button/demo.tsx +0 -5
  395. package/templates/next/src/components/examples/button/destructive.tsx +0 -5
  396. package/templates/next/src/components/examples/button/ghost.tsx +0 -5
  397. package/templates/next/src/components/examples/button/link.tsx +0 -5
  398. package/templates/next/src/components/examples/button/loading.tsx +0 -12
  399. package/templates/next/src/components/examples/button/outline.tsx +0 -5
  400. package/templates/next/src/components/examples/button/secondary.tsx +0 -5
  401. package/templates/next/src/components/examples/button/with-icon.tsx +0 -11
  402. package/templates/next/src/components/examples/calendar/date-picker.tsx +0 -43
  403. package/templates/next/src/components/examples/calendar/demo.tsx +0 -18
  404. package/templates/next/src/components/examples/calendar/react-hook-form.tsx +0 -101
  405. package/templates/next/src/components/examples/calendar/with-presets.tsx +0 -62
  406. package/templates/next/src/components/examples/card/demo.tsx +0 -79
  407. package/templates/next/src/components/examples/card/with-form.tsx +0 -59
  408. package/templates/next/src/components/examples/checkbox/demo.tsx +0 -17
  409. package/templates/next/src/components/examples/checkbox/disabled.tsx +0 -15
  410. package/templates/next/src/components/examples/checkbox/react-hook-form-multiple.tsx +0 -127
  411. package/templates/next/src/components/examples/checkbox/react-hook-form-single.tsx +0 -72
  412. package/templates/next/src/components/examples/checkbox/with-text.tsx +0 -22
  413. package/templates/next/src/components/examples/collapsible/demo.tsx +0 -46
  414. package/templates/next/src/components/examples/combobox/demo.tsx +0 -90
  415. package/templates/next/src/components/examples/combobox/dropdown-menu.tsx +0 -110
  416. package/templates/next/src/components/examples/combobox/popover.tsx +0 -124
  417. package/templates/next/src/components/examples/combobox/react-hook-form.tsx +0 -135
  418. package/templates/next/src/components/examples/command/combobox.tsx +0 -90
  419. package/templates/next/src/components/examples/command/demo.tsx +0 -62
  420. package/templates/next/src/components/examples/command/dialog.tsx +0 -86
  421. package/templates/next/src/components/examples/command/dropdown-menu.tsx +0 -110
  422. package/templates/next/src/components/examples/command/popover.tsx +0 -124
  423. package/templates/next/src/components/examples/context-menu/demo.tsx +0 -67
  424. package/templates/next/src/components/examples/data-table/columns.tsx +0 -110
  425. package/templates/next/src/components/examples/data-table/data-table.tsx +0 -185
  426. package/templates/next/src/components/examples/data-table/demo.tsx +0 -41
  427. package/templates/next/src/components/examples/date-picker/demo.tsx +0 -43
  428. package/templates/next/src/components/examples/date-picker/react-hook-form.tsx +0 -101
  429. package/templates/next/src/components/examples/date-picker/with-presets.tsx +0 -62
  430. package/templates/next/src/components/examples/dialog/demo.tsx +0 -47
  431. package/templates/next/src/components/examples/dropdown-menu/checkboxes.tsx +0 -53
  432. package/templates/next/src/components/examples/dropdown-menu/demo.tsx +0 -122
  433. package/templates/next/src/components/examples/dropdown-menu/radio-group.tsx +0 -37
  434. package/templates/next/src/components/examples/hover-card/demo.tsx +0 -39
  435. package/templates/next/src/components/examples/index.tsx +0 -213
  436. package/templates/next/src/components/examples/input/demo.tsx +0 -5
  437. package/templates/next/src/components/examples/input/disabled.tsx +0 -5
  438. package/templates/next/src/components/examples/input/file.tsx +0 -11
  439. package/templates/next/src/components/examples/input/react-hook-form.tsx +0 -65
  440. package/templates/next/src/components/examples/input/with-button.tsx +0 -11
  441. package/templates/next/src/components/examples/input/with-label.tsx +0 -11
  442. package/templates/next/src/components/examples/input/with-text.tsx +0 -12
  443. package/templates/next/src/components/examples/label/demo.tsx +0 -13
  444. package/templates/next/src/components/examples/menubar/demo.tsx +0 -107
  445. package/templates/next/src/components/examples/navigation-menu/demo.tsx +0 -144
  446. package/templates/next/src/components/examples/popover/demo.tsx +0 -67
  447. package/templates/next/src/components/examples/progress/demo.tsx +0 -16
  448. package/templates/next/src/components/examples/radio-group/demo.tsx +0 -21
  449. package/templates/next/src/components/examples/radio-group/react-hook-form.tsx +0 -88
  450. package/templates/next/src/components/examples/scroll-area/demo.tsx +0 -26
  451. package/templates/next/src/components/examples/select/demo.tsx +0 -31
  452. package/templates/next/src/components/examples/select/react-hook-form.tsx +0 -83
  453. package/templates/next/src/components/examples/separator/demo.tsx +0 -22
  454. package/templates/next/src/components/examples/sheet/demo.tsx +0 -47
  455. package/templates/next/src/components/examples/sheet/position.tsx +0 -75
  456. package/templates/next/src/components/examples/sheet/size.tsx +0 -75
  457. package/templates/next/src/components/examples/skeleton/demo.tsx +0 -13
  458. package/templates/next/src/components/examples/slider/demo.tsx +0 -16
  459. package/templates/next/src/components/examples/switch/demo.tsx +0 -11
  460. package/templates/next/src/components/examples/switch/react-hook-form.tsx +0 -101
  461. package/templates/next/src/components/examples/table/demo.tsx +0 -80
  462. package/templates/next/src/components/examples/tabs/demo.tsx +0 -69
  463. package/templates/next/src/components/examples/textarea/demo.tsx +0 -5
  464. package/templates/next/src/components/examples/textarea/disabled.tsx +0 -5
  465. package/templates/next/src/components/examples/textarea/react-hook-form.tsx +0 -77
  466. package/templates/next/src/components/examples/textarea/with-button.tsx +0 -11
  467. package/templates/next/src/components/examples/textarea/with-label.tsx +0 -11
  468. package/templates/next/src/components/examples/textarea/with-text.tsx +0 -14
  469. package/templates/next/src/components/examples/toast/demo.tsx +0 -26
  470. package/templates/next/src/components/examples/toast/destructive.tsx +0 -25
  471. package/templates/next/src/components/examples/toast/simple.tsx +0 -21
  472. package/templates/next/src/components/examples/toast/with-action.tsx +0 -24
  473. package/templates/next/src/components/examples/toast/with-title.tsx +0 -22
  474. package/templates/next/src/components/examples/toggle/demo.tsx +0 -11
  475. package/templates/next/src/components/examples/toggle/disabled.tsx +0 -11
  476. package/templates/next/src/components/examples/toggle/lg.tsx +0 -11
  477. package/templates/next/src/components/examples/toggle/outline.tsx +0 -11
  478. package/templates/next/src/components/examples/toggle/sm.tsx +0 -11
  479. package/templates/next/src/components/examples/toggle/with-text.tsx +0 -12
  480. package/templates/next/src/components/examples/tooltip/demo.tsx +0 -27
  481. package/templates/next/src/components/examples/typography/blockquote.tsx +0 -8
  482. package/templates/next/src/components/examples/typography/demo.tsx +0 -119
  483. package/templates/next/src/components/examples/typography/h1.tsx +0 -7
  484. package/templates/next/src/components/examples/typography/h2.tsx +0 -7
  485. package/templates/next/src/components/examples/typography/h3.tsx +0 -7
  486. package/templates/next/src/components/examples/typography/h4.tsx +0 -7
  487. package/templates/next/src/components/examples/typography/inline-code.tsx +0 -7
  488. package/templates/next/src/components/examples/typography/large.tsx +0 -5
  489. package/templates/next/src/components/examples/typography/lead.tsx +0 -8
  490. package/templates/next/src/components/examples/typography/list.tsx +0 -9
  491. package/templates/next/src/components/examples/typography/muted.tsx +0 -5
  492. package/templates/next/src/components/examples/typography/p.tsx +0 -8
  493. package/templates/next/src/components/examples/typography/small.tsx +0 -5
  494. package/templates/next/src/components/examples/typography/table.tsx +0 -44
  495. package/templates/sveltekit/static/favicon.ico +0 -0
  496. /package/templates/next/src/components/{react-hook-form → ui}/form.tsx +0 -0
@@ -1,50 +1,50 @@
1
- import Balance from "react-wrap-balancer"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- function PageHeader({
6
- className,
7
- ...props
8
- }: React.HTMLAttributes<HTMLDivElement>) {
9
- return (
10
- <section
11
- className={cn(
12
- "flex max-w-[980px] flex-col items-start gap-2 py-6",
13
- className
14
- )}
15
- {...props}
16
- />
17
- )
18
- }
19
-
20
- function PageHeaderHeading({
21
- className,
22
- ...props
23
- }: React.HTMLAttributes<HTMLHeadingElement>) {
24
- return (
25
- <h1
26
- className={cn(
27
- "text-3xl font-bold leading-tight tracking-tighter md:text-5xl lg:text-6xl lg:leading-[1.1]",
28
- className
29
- )}
30
- {...props}
31
- />
32
- )
33
- }
34
-
35
- function PageHeaderDescription({
36
- className,
37
- ...props
38
- }: React.HTMLAttributes<HTMLParagraphElement>) {
39
- return (
40
- <Balance
41
- className={cn(
42
- "max-w-[750px] text-lg text-muted-foreground sm:text-xl",
43
- className
44
- )}
45
- {...props}
46
- />
47
- )
48
- }
49
-
50
- export { PageHeader, PageHeaderHeading, PageHeaderDescription }
1
+ import Balance from "react-wrap-balancer"
2
+
3
+ import { cn } from "@/lib/utils"
4
+
5
+ function PageHeader({
6
+ className,
7
+ ...props
8
+ }: React.HTMLAttributes<HTMLDivElement>) {
9
+ return (
10
+ <section
11
+ className={cn(
12
+ "flex max-w-[980px] flex-col items-start gap-2 py-6",
13
+ className
14
+ )}
15
+ {...props}
16
+ />
17
+ )
18
+ }
19
+
20
+ function PageHeaderHeading({
21
+ className,
22
+ ...props
23
+ }: React.HTMLAttributes<HTMLHeadingElement>) {
24
+ return (
25
+ <h1
26
+ className={cn(
27
+ "text-3xl font-bold leading-tight tracking-tighter md:text-5xl lg:text-6xl lg:leading-[1.1]",
28
+ className
29
+ )}
30
+ {...props}
31
+ />
32
+ )
33
+ }
34
+
35
+ function PageHeaderDescription({
36
+ className,
37
+ ...props
38
+ }: React.HTMLAttributes<HTMLParagraphElement>) {
39
+ return (
40
+ <Balance
41
+ className={cn(
42
+ "max-w-[750px] text-lg text-muted-foreground sm:text-xl",
43
+ className
44
+ )}
45
+ {...props}
46
+ />
47
+ )
48
+ }
49
+
50
+ export { PageHeader, PageHeaderHeading, PageHeaderDescription }
@@ -1,19 +1,19 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { useSelectedLayoutSegments } from "next/navigation"
5
-
6
- export function StyleSwitcher() {
7
- const segments = useSelectedLayoutSegments()
8
-
9
- React.useEffect(() => {
10
- document.body.removeAttribute("data-section")
11
-
12
- const section = segments.at(-1)
13
- if (section && typeof window !== "undefined") {
14
- document.body.setAttribute("data-section", section)
15
- }
16
- }, [segments])
17
-
18
- return null
19
- }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { useSelectedLayoutSegments } from "next/navigation"
5
+
6
+ export function StyleSwitcher() {
7
+ const segments = useSelectedLayoutSegments()
8
+
9
+ React.useEffect(() => {
10
+ document.body.removeAttribute("data-section")
11
+
12
+ const section = segments.at(-1)
13
+ if (section && typeof window !== "undefined") {
14
+ document.body.setAttribute("data-section", section)
15
+ }
16
+ }, [segments])
17
+
18
+ return null
19
+ }
@@ -1,18 +1,18 @@
1
- "use client"
2
-
3
- export function TailwindIndicator() {
4
- if (process.env.NODE_ENV === "production") return null
5
-
6
- return (
7
- <div className="fixed bottom-1 left-1 z-50 flex h-6 w-6 items-center justify-center rounded-full bg-gray-800 p-3 font-mono text-xs text-white">
8
- <div className="block sm:hidden">xs</div>
9
- <div className="hidden sm:block md:hidden lg:hidden xl:hidden 2xl:hidden">
10
- sm
11
- </div>
12
- <div className="hidden md:block lg:hidden xl:hidden 2xl:hidden">md</div>
13
- <div className="hidden lg:block xl:hidden 2xl:hidden">lg</div>
14
- <div className="hidden xl:block 2xl:hidden">xl</div>
15
- <div className="hidden 2xl:block">2xl</div>
16
- </div>
17
- )
18
- }
1
+ "use client"
2
+
3
+ export function TailwindIndicator() {
4
+ if (process.env.NODE_ENV === "production") return null
5
+
6
+ return (
7
+ <div className="fixed bottom-1 left-1 z-50 flex h-6 w-6 items-center justify-center rounded-full bg-gray-800 p-3 font-mono text-xs text-white">
8
+ <div className="block sm:hidden">xs</div>
9
+ <div className="hidden sm:block md:hidden lg:hidden xl:hidden 2xl:hidden">
10
+ sm
11
+ </div>
12
+ <div className="hidden md:block lg:hidden xl:hidden 2xl:hidden">md</div>
13
+ <div className="hidden lg:block xl:hidden 2xl:hidden">lg</div>
14
+ <div className="hidden xl:block 2xl:hidden">xl</div>
15
+ <div className="hidden 2xl:block">2xl</div>
16
+ </div>
17
+ )
18
+ }
@@ -1,9 +1,9 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { ThemeProvider as NextThemesProvider } from "next-themes"
5
- import { ThemeProviderProps } from "next-themes/dist/types"
6
-
7
- export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
8
- return <NextThemesProvider {...props}>{children}</NextThemesProvider>
9
- }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { ThemeProvider as NextThemesProvider } from "next-themes"
5
+ import { ThemeProviderProps } from "next-themes/dist/types"
6
+
7
+ export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
8
+ return <NextThemesProvider {...props}>{children}</NextThemesProvider>
9
+ }
@@ -34,7 +34,7 @@ const AccordionTrigger = React.forwardRef<
34
34
  {...props}
35
35
  >
36
36
  {children}
37
- <ChevronDown className="h-4 w-4 transition-transform duration-200" />
37
+ <ChevronDown className="h-4 w-4 shrink-0 transition-transform duration-200" />
38
38
  </AccordionPrimitive.Trigger>
39
39
  </AccordionPrimitive.Header>
40
40
  ))
@@ -12,14 +12,9 @@ const AlertDialogTrigger = AlertDialogPrimitive.Trigger
12
12
 
13
13
  const AlertDialogPortal = ({
14
14
  className,
15
- children,
16
15
  ...props
17
16
  }: AlertDialogPrimitive.AlertDialogPortalProps) => (
18
- <AlertDialogPrimitive.Portal className={cn(className)} {...props}>
19
- <div className="fixed inset-0 z-50 flex items-end justify-center sm:items-center">
20
- {children}
21
- </div>
22
- </AlertDialogPrimitive.Portal>
17
+ <AlertDialogPrimitive.Portal className={cn(className)} {...props} />
23
18
  )
24
19
  AlertDialogPortal.displayName = AlertDialogPrimitive.Portal.displayName
25
20
 
@@ -29,7 +24,7 @@ const AlertDialogOverlay = React.forwardRef<
29
24
  >(({ className, children, ...props }, ref) => (
30
25
  <AlertDialogPrimitive.Overlay
31
26
  className={cn(
32
- "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm transition-opacity animate-in fade-in",
27
+ "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
33
28
  className
34
29
  )}
35
30
  {...props}
@@ -47,7 +42,7 @@ const AlertDialogContent = React.forwardRef<
47
42
  <AlertDialogPrimitive.Content
48
43
  ref={ref}
49
44
  className={cn(
50
- "fixed z-50 grid w-full max-w-lg scale-100 gap-4 border bg-background p-6 opacity-100 shadow-lg animate-in fade-in-90 slide-in-from-bottom-10 sm:rounded-lg sm:zoom-in-90 sm:slide-in-from-bottom-0 md:w-full",
45
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
51
46
  className
52
47
  )}
53
48
  {...props}
@@ -1,18 +1,16 @@
1
- "use client"
2
-
3
1
  import * as React from "react"
4
- import { VariantProps, cva } from "class-variance-authority"
2
+ import { cva, type VariantProps } from "class-variance-authority"
5
3
 
6
4
  import { cn } from "@/lib/utils"
7
5
 
8
6
  const alertVariants = cva(
9
- "relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11",
7
+ "relative w-full rounded-lg border p-4 [&:has(svg)]:pl-11 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
10
8
  {
11
9
  variants: {
12
10
  variant: {
13
11
  default: "bg-background text-foreground",
14
12
  destructive:
15
- "text-destructive border-destructive/50 dark:border-destructive [&>svg]:text-destructive text-destructive",
13
+ "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
16
14
  },
17
15
  },
18
16
  defaultVariants: {
@@ -1,19 +1,19 @@
1
1
  import * as React from "react"
2
- import { VariantProps, cva } from "class-variance-authority"
2
+ import { cva, type VariantProps } from "class-variance-authority"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
6
  const badgeVariants = cva(
7
- "inline-flex items-center border rounded-full px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
7
+ "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
8
8
  {
9
9
  variants: {
10
10
  variant: {
11
11
  default:
12
- "bg-primary hover:bg-primary/80 border-transparent text-primary-foreground",
12
+ "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
13
13
  secondary:
14
- "bg-secondary hover:bg-secondary/80 border-transparent text-secondary-foreground",
14
+ "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
15
15
  destructive:
16
- "bg-destructive hover:bg-destructive/80 border-transparent text-destructive-foreground",
16
+ "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
17
17
  outline: "text-foreground",
18
18
  },
19
19
  },
@@ -1,10 +1,11 @@
1
1
  import * as React from "react"
2
- import { VariantProps, cva } from "class-variance-authority"
2
+ import { Slot } from "@radix-ui/react-slot"
3
+ import { cva, type VariantProps } from "class-variance-authority"
3
4
 
4
5
  import { cn } from "@/lib/utils"
5
6
 
6
7
  const buttonVariants = cva(
7
- "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
8
+ "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
8
9
  {
9
10
  variants: {
10
11
  variant: {
@@ -12,16 +13,17 @@ const buttonVariants = cva(
12
13
  destructive:
13
14
  "bg-destructive text-destructive-foreground hover:bg-destructive/90",
14
15
  outline:
15
- "border border-input hover:bg-accent hover:text-accent-foreground",
16
+ "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
16
17
  secondary:
17
18
  "bg-secondary text-secondary-foreground hover:bg-secondary/80",
18
19
  ghost: "hover:bg-accent hover:text-accent-foreground",
19
- link: "underline-offset-4 hover:underline text-primary",
20
+ link: "text-primary underline-offset-4 hover:underline",
20
21
  },
21
22
  size: {
22
- default: "h-10 py-2 px-4",
23
- sm: "h-9 px-3 rounded-md",
24
- lg: "h-11 px-8 rounded-md",
23
+ default: "h-10 px-4 py-2",
24
+ sm: "h-9 rounded-md px-3",
25
+ lg: "h-11 rounded-md px-8",
26
+ icon: "h-10 w-10",
25
27
  },
26
28
  },
27
29
  defaultVariants: {
@@ -33,12 +35,15 @@ const buttonVariants = cva(
33
35
 
34
36
  export interface ButtonProps
35
37
  extends React.ButtonHTMLAttributes<HTMLButtonElement>,
36
- VariantProps<typeof buttonVariants> {}
38
+ VariantProps<typeof buttonVariants> {
39
+ asChild?: boolean
40
+ }
37
41
 
38
42
  const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
39
- ({ className, variant, size, ...props }, ref) => {
43
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
44
+ const Comp = asChild ? Slot : "button"
40
45
  return (
41
- <button
46
+ <Comp
42
47
  className={cn(buttonVariants({ variant, size, className }))}
43
48
  ref={ref}
44
49
  {...props}
@@ -1,5 +1,3 @@
1
- "use client"
2
-
3
1
  import * as React from "react"
4
2
 
5
3
  import { cn } from "@/lib/utils"
@@ -38,7 +36,7 @@ const CardTitle = React.forwardRef<
38
36
  <h3
39
37
  ref={ref}
40
38
  className={cn(
41
- "text-lg font-semibold leading-none tracking-tight",
39
+ "text-2xl font-semibold leading-none tracking-tight",
42
40
  className
43
41
  )}
44
42
  {...props}
@@ -13,13 +13,13 @@ const Checkbox = React.forwardRef<
13
13
  <CheckboxPrimitive.Root
14
14
  ref={ref}
15
15
  className={cn(
16
- "peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background data-[state=checked]:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
16
+ "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
17
17
  className
18
18
  )}
19
19
  {...props}
20
20
  >
21
21
  <CheckboxPrimitive.Indicator
22
- className={cn("flex items-center justify-center text-primary")}
22
+ className={cn("flex items-center justify-center text-current")}
23
23
  >
24
24
  <Check className="h-4 w-4" />
25
25
  </CheckboxPrimitive.Indicator>
@@ -28,7 +28,7 @@ interface CommandDialogProps extends DialogProps {}
28
28
  const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
29
29
  return (
30
30
  <Dialog {...props}>
31
- <DialogContent className="overflow-hidden p-0 shadow-2xl">
31
+ <DialogContent className="overflow-hidden p-0 shadow-lg">
32
32
  <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
33
33
  {children}
34
34
  </Command>
@@ -46,7 +46,7 @@ const CommandInput = React.forwardRef<
46
46
  <CommandPrimitive.Input
47
47
  ref={ref}
48
48
  className={cn(
49
- "placeholder:text-foreground-muted flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50",
49
+ "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
50
50
  className
51
51
  )}
52
52
  {...props}
@@ -27,7 +27,7 @@ const ContextMenuSubTrigger = React.forwardRef<
27
27
  <ContextMenuPrimitive.SubTrigger
28
28
  ref={ref}
29
29
  className={cn(
30
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent data-[state=open]:text-accent-foreground focus:bg-accent focus:text-accent-foreground",
30
+ "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",
31
31
  inset && "pl-8",
32
32
  className
33
33
  )}
@@ -46,7 +46,7 @@ const ContextMenuSubContent = React.forwardRef<
46
46
  <ContextMenuPrimitive.SubContent
47
47
  ref={ref}
48
48
  className={cn(
49
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in slide-in-from-left-1",
49
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 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",
50
50
  className
51
51
  )}
52
52
  {...props}
@@ -62,7 +62,7 @@ const ContextMenuContent = React.forwardRef<
62
62
  <ContextMenuPrimitive.Content
63
63
  ref={ref}
64
64
  className={cn(
65
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80",
65
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 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",
66
66
  className
67
67
  )}
68
68
  {...props}
@@ -80,7 +80,7 @@ const ContextMenuItem = React.forwardRef<
80
80
  <ContextMenuPrimitive.Item
81
81
  ref={ref}
82
82
  className={cn(
83
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
83
+ "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",
84
84
  inset && "pl-8",
85
85
  className
86
86
  )}
@@ -96,7 +96,7 @@ const ContextMenuCheckboxItem = React.forwardRef<
96
96
  <ContextMenuPrimitive.CheckboxItem
97
97
  ref={ref}
98
98
  className={cn(
99
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
99
+ "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",
100
100
  className
101
101
  )}
102
102
  checked={checked}
@@ -120,7 +120,7 @@ const ContextMenuRadioItem = React.forwardRef<
120
120
  <ContextMenuPrimitive.RadioItem
121
121
  ref={ref}
122
122
  className={cn(
123
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
123
+ "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",
124
124
  className
125
125
  )}
126
126
  {...props}
@@ -12,14 +12,9 @@ const DialogTrigger = DialogPrimitive.Trigger
12
12
 
13
13
  const DialogPortal = ({
14
14
  className,
15
- children,
16
15
  ...props
17
16
  }: DialogPrimitive.DialogPortalProps) => (
18
- <DialogPrimitive.Portal className={cn(className)} {...props}>
19
- <div className="fixed inset-0 z-50 flex items-start justify-center sm:items-center">
20
- {children}
21
- </div>
22
- </DialogPrimitive.Portal>
17
+ <DialogPrimitive.Portal className={cn(className)} {...props} />
23
18
  )
24
19
  DialogPortal.displayName = DialogPrimitive.Portal.displayName
25
20
 
@@ -30,7 +25,7 @@ const DialogOverlay = React.forwardRef<
30
25
  <DialogPrimitive.Overlay
31
26
  ref={ref}
32
27
  className={cn(
33
- "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm transition-all duration-100 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in",
28
+ "fixed inset-0 z-50 bg-background/80 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
34
29
  className
35
30
  )}
36
31
  {...props}
@@ -47,13 +42,13 @@ const DialogContent = React.forwardRef<
47
42
  <DialogPrimitive.Content
48
43
  ref={ref}
49
44
  className={cn(
50
- "fixed z-50 grid w-full gap-4 rounded-b-lg border bg-background p-6 shadow-lg animate-in data-[state=open]:fade-in-90 data-[state=open]:slide-in-from-bottom-10 sm:max-w-lg sm:rounded-lg sm:zoom-in-90 data-[state=open]:sm:slide-in-from-bottom-0",
45
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg md:w-full",
51
46
  className
52
47
  )}
53
48
  {...props}
54
49
  >
55
50
  {children}
56
- <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-accent data-[state=open]:text-muted-foreground hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none">
51
+ <DialogPrimitive.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-accent data-[state=open]:text-muted-foreground">
57
52
  <X className="h-4 w-4" />
58
53
  <span className="sr-only">Close</span>
59
54
  </DialogPrimitive.Close>
@@ -27,7 +27,7 @@ const DropdownMenuSubTrigger = React.forwardRef<
27
27
  <DropdownMenuPrimitive.SubTrigger
28
28
  ref={ref}
29
29
  className={cn(
30
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",
30
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",
31
31
  inset && "pl-8",
32
32
  className
33
33
  )}
@@ -47,7 +47,7 @@ const DropdownMenuSubContent = React.forwardRef<
47
47
  <DropdownMenuPrimitive.SubContent
48
48
  ref={ref}
49
49
  className={cn(
50
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
50
+ "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",
51
51
  className
52
52
  )}
53
53
  {...props}
@@ -65,7 +65,7 @@ const DropdownMenuContent = React.forwardRef<
65
65
  ref={ref}
66
66
  sideOffset={sideOffset}
67
67
  className={cn(
68
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in 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",
68
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 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",
69
69
  className
70
70
  )}
71
71
  {...props}
@@ -83,7 +83,7 @@ const DropdownMenuItem = React.forwardRef<
83
83
  <DropdownMenuPrimitive.Item
84
84
  ref={ref}
85
85
  className={cn(
86
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
86
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
87
87
  inset && "pl-8",
88
88
  className
89
89
  )}
@@ -99,7 +99,7 @@ const DropdownMenuCheckboxItem = React.forwardRef<
99
99
  <DropdownMenuPrimitive.CheckboxItem
100
100
  ref={ref}
101
101
  className={cn(
102
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
102
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
103
103
  className
104
104
  )}
105
105
  checked={checked}
@@ -123,7 +123,7 @@ const DropdownMenuRadioItem = React.forwardRef<
123
123
  <DropdownMenuPrimitive.RadioItem
124
124
  ref={ref}
125
125
  className={cn(
126
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",
126
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
127
127
  className
128
128
  )}
129
129
  {...props}
@@ -18,7 +18,7 @@ const HoverCardContent = React.forwardRef<
18
18
  align={align}
19
19
  sideOffset={sideOffset}
20
20
  className={cn(
21
- "z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none animate-in zoom-in-90",
21
+ "z-50 w-64 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",
22
22
  className
23
23
  )}
24
24
  {...props}
@@ -1,5 +1,3 @@
1
- "use client"
2
-
3
1
  import * as React from "react"
4
2
 
5
3
  import { cn } from "@/lib/utils"
@@ -13,7 +11,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
13
11
  <input
14
12
  type={type}
15
13
  className={cn(
16
- "flex h-10 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
14
+ "flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
17
15
  className
18
16
  )}
19
17
  ref={ref}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from "react"
4
4
  import * as LabelPrimitive from "@radix-ui/react-label"
5
- import { VariantProps, cva } from "class-variance-authority"
5
+ import { cva, type VariantProps } from "class-variance-authority"
6
6
 
7
7
  import { cn } from "@/lib/utils"
8
8