create-tauri-ui 0.1.5 → 0.2.1

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 +56 -12
  2. package/dist/index.mjs +26 -27
  3. package/index.js +1 -1
  4. package/package.json +10 -19
  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 +0 -3
  68. package/templates/next/package.json +25 -24
  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 +5 -1
  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 +1 -1
  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 +2 -15
  164. package/templates/next/src/styles/globals.css +1 -39
  165. package/templates/next/src-tauri/Cargo.lock +307 -243
  166. package/templates/next/src-tauri/Cargo.toml +5 -5
  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 +18 -2
  219. package/templates/next/tailwind.config.js +1 -3
  220. package/templates/next/tsconfig.json +5 -5
  221. package/templates/sveltekit/.github/workflows/release.yml +108 -0
  222. package/templates/sveltekit/package.json +84 -84
  223. package/templates/sveltekit/src-tauri/Cargo.lock +3701 -3639
  224. package/templates/sveltekit/src-tauri/Cargo.toml +36 -34
  225. package/templates/sveltekit/src-tauri/build.rs +3 -3
  226. package/templates/sveltekit/src-tauri/tauri.conf.json +79 -62
  227. package/templates/vite/components.json +16 -0
  228. package/templates/vite/package.json +76 -75
  229. package/templates/vite/pnpm-lock.yaml +5110 -5005
  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 +3701 -3637
  244. package/templates/vite/src-tauri/Cargo.toml +36 -33
  245. package/templates/vite/src-tauri/build.rs +3 -3
  246. package/templates/vite/src-tauri/tauri.conf.json +17 -1
  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
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from "react"
4
4
  import * as SheetPrimitive from "@radix-ui/react-dialog"
5
- import { VariantProps, cva } from "class-variance-authority"
5
+ import { cva, type VariantProps } from "class-variance-authority"
6
6
  import { X } from "lucide-react"
7
7
 
8
8
  import { cn } from "@/lib/utils"
@@ -11,41 +11,23 @@ const Sheet = SheetPrimitive.Root
11
11
 
12
12
  const SheetTrigger = SheetPrimitive.Trigger
13
13
 
14
- const portalVariants = cva("fixed inset-0 z-50 flex", {
15
- variants: {
16
- position: {
17
- top: "items-start",
18
- bottom: "items-end",
19
- left: "justify-start",
20
- right: "justify-end",
21
- },
22
- },
23
- defaultVariants: { position: "right" },
24
- })
25
-
26
- interface SheetPortalProps
27
- extends SheetPrimitive.DialogPortalProps,
28
- VariantProps<typeof portalVariants> {}
14
+ const SheetClose = SheetPrimitive.Close
29
15
 
30
16
  const SheetPortal = ({
31
- position,
32
17
  className,
33
- children,
34
18
  ...props
35
- }: SheetPortalProps) => (
36
- <SheetPrimitive.Portal className={cn(className)} {...props}>
37
- <div className={portalVariants({ position })}>{children}</div>
38
- </SheetPrimitive.Portal>
19
+ }: SheetPrimitive.DialogPortalProps) => (
20
+ <SheetPrimitive.Portal className={cn(className)} {...props} />
39
21
  )
40
22
  SheetPortal.displayName = SheetPrimitive.Portal.displayName
41
23
 
42
24
  const SheetOverlay = React.forwardRef<
43
25
  React.ElementRef<typeof SheetPrimitive.Overlay>,
44
26
  React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>
45
- >(({ className, children, ...props }, ref) => (
27
+ >(({ className, ...props }, ref) => (
46
28
  <SheetPrimitive.Overlay
47
29
  className={cn(
48
- "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",
30
+ "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",
49
31
  className
50
32
  )}
51
33
  {...props}
@@ -55,110 +37,41 @@ const SheetOverlay = React.forwardRef<
55
37
  SheetOverlay.displayName = SheetPrimitive.Overlay.displayName
56
38
 
57
39
  const sheetVariants = cva(
58
- "fixed z-50 scale-100 gap-4 bg-background p-6 opacity-100 shadow-lg border",
40
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
59
41
  {
60
42
  variants: {
61
- position: {
62
- top: "animate-in slide-in-from-top w-full duration-300",
63
- bottom: "animate-in slide-in-from-bottom w-full duration-300",
64
- left: "animate-in slide-in-from-left h-full duration-300",
65
- right: "animate-in slide-in-from-right h-full duration-300",
66
- },
67
- size: {
68
- content: "",
69
- default: "",
70
- sm: "",
71
- lg: "",
72
- xl: "",
73
- full: "",
43
+ side: {
44
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
45
+ bottom:
46
+ "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
47
+ 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",
48
+ right:
49
+ "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",
74
50
  },
75
51
  },
76
- compoundVariants: [
77
- {
78
- position: ["top", "bottom"],
79
- size: "content",
80
- class: "max-h-screen",
81
- },
82
- {
83
- position: ["top", "bottom"],
84
- size: "default",
85
- class: "h-1/3",
86
- },
87
- {
88
- position: ["top", "bottom"],
89
- size: "sm",
90
- class: "h-1/4",
91
- },
92
- {
93
- position: ["top", "bottom"],
94
- size: "lg",
95
- class: "h-1/2",
96
- },
97
- {
98
- position: ["top", "bottom"],
99
- size: "xl",
100
- class: "h-5/6",
101
- },
102
- {
103
- position: ["top", "bottom"],
104
- size: "full",
105
- class: "h-screen",
106
- },
107
- {
108
- position: ["right", "left"],
109
- size: "content",
110
- class: "max-w-screen",
111
- },
112
- {
113
- position: ["right", "left"],
114
- size: "default",
115
- class: "w-1/3",
116
- },
117
- {
118
- position: ["right", "left"],
119
- size: "sm",
120
- class: "w-1/4",
121
- },
122
- {
123
- position: ["right", "left"],
124
- size: "lg",
125
- class: "w-1/2",
126
- },
127
- {
128
- position: ["right", "left"],
129
- size: "xl",
130
- class: "w-5/6",
131
- },
132
- {
133
- position: ["right", "left"],
134
- size: "full",
135
- class: "w-screen",
136
- },
137
- ],
138
52
  defaultVariants: {
139
- position: "right",
140
- size: "default",
53
+ side: "right",
141
54
  },
142
55
  }
143
56
  )
144
57
 
145
- export interface DialogContentProps
58
+ interface SheetContentProps
146
59
  extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,
147
60
  VariantProps<typeof sheetVariants> {}
148
61
 
149
62
  const SheetContent = React.forwardRef<
150
63
  React.ElementRef<typeof SheetPrimitive.Content>,
151
- DialogContentProps
152
- >(({ position, size, className, children, ...props }, ref) => (
153
- <SheetPortal position={position}>
64
+ SheetContentProps
65
+ >(({ side = "right", className, children, ...props }, ref) => (
66
+ <SheetPortal>
154
67
  <SheetOverlay />
155
68
  <SheetPrimitive.Content
156
69
  ref={ref}
157
- className={cn(sheetVariants({ position, size }), className)}
70
+ className={cn(sheetVariants({ side }), className)}
158
71
  {...props}
159
72
  >
160
73
  {children}
161
- <SheetPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none">
74
+ <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">
162
75
  <X className="h-4 w-4" />
163
76
  <span className="sr-only">Close</span>
164
77
  </SheetPrimitive.Close>
@@ -222,6 +135,7 @@ SheetDescription.displayName = SheetPrimitive.Description.displayName
222
135
  export {
223
136
  Sheet,
224
137
  SheetTrigger,
138
+ SheetClose,
225
139
  SheetContent,
226
140
  SheetHeader,
227
141
  SheetFooter,
@@ -1,5 +1,3 @@
1
- "use client"
2
-
3
1
  import { cn } from "@/lib/utils"
4
2
 
5
3
  function Skeleton({
@@ -11,7 +11,7 @@ const Switch = React.forwardRef<
11
11
  >(({ className, ...props }, ref) => (
12
12
  <SwitchPrimitives.Root
13
13
  className={cn(
14
- "peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input 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",
14
+ "peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent 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",
15
15
  className
16
16
  )}
17
17
  {...props}
@@ -55,7 +55,7 @@ const TableRow = React.forwardRef<
55
55
  <tr
56
56
  ref={ref}
57
57
  className={cn(
58
- "border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",
58
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
59
59
  className
60
60
  )}
61
61
  {...props}
@@ -29,7 +29,7 @@ const TabsTrigger = React.forwardRef<
29
29
  <TabsPrimitive.Trigger
30
30
  ref={ref}
31
31
  className={cn(
32
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
32
+ "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
33
33
  className
34
34
  )}
35
35
  {...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"
@@ -12,7 +10,7 @@ const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
12
10
  return (
13
11
  <textarea
14
12
  className={cn(
15
- "flex h-20 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background 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",
13
+ "flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background 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",
16
14
  className
17
15
  )}
18
16
  ref={ref}
@@ -1,8 +1,6 @@
1
- "use client"
2
-
3
1
  import * as React from "react"
4
2
  import * as ToastPrimitives from "@radix-ui/react-toast"
5
- import { VariantProps, cva } from "class-variance-authority"
3
+ import { cva, type VariantProps } from "class-variance-authority"
6
4
  import { X } from "lucide-react"
7
5
 
8
6
  import { cn } from "@/lib/utils"
@@ -25,13 +23,13 @@ const ToastViewport = React.forwardRef<
25
23
  ToastViewport.displayName = ToastPrimitives.Viewport.displayName
26
24
 
27
25
  const toastVariants = cva(
28
- "data-[swipe=move]:transition-none group relative pointer-events-auto flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full data-[state=closed]:slide-out-to-right-full",
26
+ "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
29
27
  {
30
28
  variants: {
31
29
  variant: {
32
- default: "bg-background border",
30
+ default: "border bg-background",
33
31
  destructive:
34
- "group destructive border-destructive bg-destructive text-destructive-foreground",
32
+ "destructive group border-destructive bg-destructive text-destructive-foreground",
35
33
  },
36
34
  },
37
35
  defaultVariants: {
@@ -62,7 +60,7 @@ const ToastAction = React.forwardRef<
62
60
  <ToastPrimitives.Action
63
61
  ref={ref}
64
62
  className={cn(
65
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-destructive/30 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",
63
+ "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
66
64
  className
67
65
  )}
68
66
  {...props}
@@ -77,7 +75,7 @@ const ToastClose = React.forwardRef<
77
75
  <ToastPrimitives.Close
78
76
  ref={ref}
79
77
  className={cn(
80
- "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
78
+ "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
81
79
  className
82
80
  )}
83
81
  toast-close=""
@@ -2,18 +2,18 @@
2
2
 
3
3
  import * as React from "react"
4
4
  import * as TogglePrimitive from "@radix-ui/react-toggle"
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
 
9
9
  const toggleVariants = cva(
10
- "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors data-[state=on]:bg-accent data-[state=on]:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 ring-offset-background hover:bg-muted hover:text-muted-foreground",
10
+ "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
11
11
  {
12
12
  variants: {
13
13
  variant: {
14
14
  default: "bg-transparent",
15
15
  outline:
16
- "bg-transparent border border-input hover:bg-accent hover:text-accent-foreground",
16
+ "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",
17
17
  },
18
18
  size: {
19
19
  default: "h-10 px-3",
@@ -19,7 +19,7 @@ const TooltipContent = React.forwardRef<
19
19
  ref={ref}
20
20
  sideOffset={sideOffset}
21
21
  className={cn(
22
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-50 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",
22
+ "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",
23
23
  className
24
24
  )}
25
25
  {...props}
@@ -1,9 +1,10 @@
1
1
  // Inspired by react-hot-toast library
2
- "use client"
3
-
4
2
  import * as React from "react"
5
3
 
6
- import { ToastActionElement, type ToastProps } from "@/components/ui/toast"
4
+ import type {
5
+ ToastActionElement,
6
+ ToastProps,
7
+ } from "@/components/ui/toast"
7
8
 
8
9
  const TOAST_LIMIT = 1
9
10
  const TOAST_REMOVE_DELAY = 1000000
@@ -137,7 +138,7 @@ function dispatch(action: Action) {
137
138
  })
138
139
  }
139
140
 
140
- interface Toast extends Omit<ToasterToast, "id"> {}
141
+ type Toast = Omit<ToasterToast, "id">
141
142
 
142
143
  function toast({ ...props }: Toast) {
143
144
  const id = genId()
@@ -1,71 +1,71 @@
1
- export interface Album {
2
- name: string
3
- artist: string
4
- cover: string
5
- }
6
-
7
- export const listenNowAlbums: Album[] = [
8
- {
9
- name: "React Rendezvous",
10
- artist: "Ethan Byte",
11
- cover:
12
- "https://images.unsplash.com/photo-1611348586804-61bf6c080437?w=300&dpr=2&q=80",
13
- },
14
- {
15
- name: "Async Awakenings",
16
- artist: "Nina Netcode",
17
- cover:
18
- "https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80",
19
- },
20
- {
21
- name: "The Art of Reusability",
22
- artist: "Lena Logic",
23
- cover:
24
- "https://images.unsplash.com/photo-1528143358888-6d3c7f67bd5d?w=300&dpr=2&q=80",
25
- },
26
- {
27
- name: "Stateful Symphony",
28
- artist: "Beth Binary",
29
- cover:
30
- "https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80",
31
- },
32
- ]
33
-
34
- export const madeForYouAlbums: Album[] = [
35
- {
36
- name: "Thinking Components",
37
- artist: "Lena Logic",
38
- cover:
39
- "https://images.unsplash.com/photo-1615247001958-f4bc92fa6a4a?w=300&dpr=2&q=80",
40
- },
41
- {
42
- name: "Functional Fury",
43
- artist: "Beth Binary",
44
- cover:
45
- "https://images.unsplash.com/photo-1513745405825-efaf9a49315f?w=300&dpr=2&q=80",
46
- },
47
- {
48
- name: "React Rendezvous",
49
- artist: "Ethan Byte",
50
- cover:
51
- "https://images.unsplash.com/photo-1614113489855-66422ad300a4?w=300&dpr=2&q=80",
52
- },
53
- {
54
- name: "Stateful Symphony",
55
- artist: "Beth Binary",
56
- cover:
57
- "https://images.unsplash.com/photo-1446185250204-f94591f7d702?w=300&dpr=2&q=80",
58
- },
59
- {
60
- name: "Async Awakenings",
61
- artist: "Nina Netcode",
62
- cover:
63
- "https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80",
64
- },
65
- {
66
- name: "The Art of Reusability",
67
- artist: "Lena Logic",
68
- cover:
69
- "https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80",
70
- },
71
- ]
1
+ export interface Album {
2
+ name: string
3
+ artist: string
4
+ cover: string
5
+ }
6
+
7
+ export const listenNowAlbums: Album[] = [
8
+ {
9
+ name: "React Rendezvous",
10
+ artist: "Ethan Byte",
11
+ cover:
12
+ "https://images.unsplash.com/photo-1611348586804-61bf6c080437?w=300&dpr=2&q=80",
13
+ },
14
+ {
15
+ name: "Async Awakenings",
16
+ artist: "Nina Netcode",
17
+ cover:
18
+ "https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80",
19
+ },
20
+ {
21
+ name: "The Art of Reusability",
22
+ artist: "Lena Logic",
23
+ cover:
24
+ "https://images.unsplash.com/photo-1528143358888-6d3c7f67bd5d?w=300&dpr=2&q=80",
25
+ },
26
+ {
27
+ name: "Stateful Symphony",
28
+ artist: "Beth Binary",
29
+ cover:
30
+ "https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80",
31
+ },
32
+ ]
33
+
34
+ export const madeForYouAlbums: Album[] = [
35
+ {
36
+ name: "Thinking Components",
37
+ artist: "Lena Logic",
38
+ cover:
39
+ "https://images.unsplash.com/photo-1615247001958-f4bc92fa6a4a?w=300&dpr=2&q=80",
40
+ },
41
+ {
42
+ name: "Functional Fury",
43
+ artist: "Beth Binary",
44
+ cover:
45
+ "https://images.unsplash.com/photo-1513745405825-efaf9a49315f?w=300&dpr=2&q=80",
46
+ },
47
+ {
48
+ name: "React Rendezvous",
49
+ artist: "Ethan Byte",
50
+ cover:
51
+ "https://images.unsplash.com/photo-1614113489855-66422ad300a4?w=300&dpr=2&q=80",
52
+ },
53
+ {
54
+ name: "Stateful Symphony",
55
+ artist: "Beth Binary",
56
+ cover:
57
+ "https://images.unsplash.com/photo-1446185250204-f94591f7d702?w=300&dpr=2&q=80",
58
+ },
59
+ {
60
+ name: "Async Awakenings",
61
+ artist: "Nina Netcode",
62
+ cover:
63
+ "https://images.unsplash.com/photo-1468817814611-b7edf94b5d60?w=300&dpr=2&q=80",
64
+ },
65
+ {
66
+ name: "The Art of Reusability",
67
+ artist: "Lena Logic",
68
+ cover:
69
+ "https://images.unsplash.com/photo-1490300472339-79e4adc6be4a?w=300&dpr=2&q=80",
70
+ },
71
+ ]
@@ -1,16 +1,16 @@
1
- export type Playlist = (typeof playlists)[number]
2
-
3
- export const playlists = [
4
- "Recently Added",
5
- "Recently Played",
6
- "Top Songs",
7
- "Top Albums",
8
- "Top Artists",
9
- "Logic Discography",
10
- "Bedtime Beats",
11
- "Feeling Happy",
12
- "I miss Y2K Pop",
13
- "Runtober",
14
- "Mellow Days",
15
- "Eminem Essentials",
16
- ]
1
+ export type Playlist = (typeof playlists)[number]
2
+
3
+ export const playlists = [
4
+ "Recently Added",
5
+ "Recently Played",
6
+ "Top Songs",
7
+ "Top Albums",
8
+ "Top Artists",
9
+ "Logic Discography",
10
+ "Bedtime Beats",
11
+ "Feeling Happy",
12
+ "I miss Y2K Pop",
13
+ "Runtober",
14
+ "Mellow Days",
15
+ "Eminem Essentials",
16
+ ]
@@ -1,19 +1,6 @@
1
- import { clsx, type ClassValue } from "clsx"
1
+ import { type ClassValue, clsx } from "clsx"
2
2
  import { twMerge } from "tailwind-merge"
3
-
3
+
4
4
  export function cn(...inputs: ClassValue[]) {
5
5
  return twMerge(clsx(inputs))
6
6
  }
7
-
8
- export function formatDate(input: string | number): string {
9
- const date = new Date(input)
10
- return date.toLocaleDateString("en-US", {
11
- month: "long",
12
- day: "numeric",
13
- year: "numeric",
14
- })
15
- }
16
-
17
- export function absoluteUrl(path: string) {
18
- return `${process.env.NEXT_PUBLIC_APP_URL}${path}`
19
- }
@@ -83,42 +83,4 @@
83
83
  @apply bg-background text-foreground;
84
84
  font-feature-settings: "rlig" 1, "calt" 1;
85
85
  }
86
- }
87
-
88
- @layer utilities {
89
- .step {
90
- counter-increment: step;
91
- }
92
-
93
- .step:before {
94
- @apply absolute inline-flex h-8 w-8 items-center justify-center rounded-full bg-muted text-center -indent-px text-base font-medium;
95
- @apply ml-[-41px];
96
- content: counter(step);
97
- }
98
- }
99
-
100
- /** Prevent scrolling on body when modal is open */
101
- body[style*="pointer-events: none"] .overflow-auto,
102
- body[style*="pointer-events: none"] .overflow-y-auto,
103
- body[style*="pointer-events: none"] .overflow-x-auto {
104
- overflow: hidden !important;
105
- }
106
-
107
- @media (max-width: 640px) {
108
- .container {
109
- @apply px-4;
110
- }
111
- }
112
-
113
- /** Prevent scrolling on body when modal is open */
114
- body[style*="pointer-events: none"] .overflow-auto,
115
- body[style*="pointer-events: none"] .overflow-y-auto,
116
- body[style*="pointer-events: none"] .overflow-x-auto {
117
- overflow: hidden !important;
118
- }
119
-
120
- @media (max-width: 640px) {
121
- .container {
122
- @apply px-4;
123
- }
124
- }
86
+ }