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
@@ -0,0 +1,160 @@
1
+ import { h, variantGetParameter } from "@unocss/preset-mini/utils"
2
+ import type { Preset, VariantContext, VariantObject } from "unocss"
3
+ import type { PresetMiniOptions, Theme } from "unocss/preset-mini"
4
+
5
+ export interface PresetShadcnOptions extends PresetMiniOptions {}
6
+
7
+ const variantGroupDataAttribute: VariantObject = {
8
+ name: "group-data",
9
+ match(matcher, ctx: VariantContext<Theme>) {
10
+ const variant = variantGetParameter(
11
+ "group-data-",
12
+ matcher,
13
+ ctx.generator.config.separators
14
+ )
15
+ if (variant) {
16
+ const [match, rest] = variant
17
+ const dataAttribute = h.bracket(match) ?? ctx.theme.data?.[match] ?? ""
18
+ if (dataAttribute) {
19
+ return {
20
+ matcher: rest,
21
+ selector: (s) => `.group[data-${dataAttribute}] ${s}`,
22
+ }
23
+ }
24
+ }
25
+ },
26
+ }
27
+
28
+ const handleMatchNumber = (v: string, defaultVal = "0") =>
29
+ h.bracket.cssvar.global.auto.fraction
30
+ .number(v || defaultVal)
31
+ ?.replace("%", "")
32
+ const handleMatchRem = (v: string, defaultVal = "full") =>
33
+ h.bracket.cssvar.global.auto.fraction.rem(v || defaultVal)
34
+
35
+ export function presetShadcn(options: PresetShadcnOptions = {}): Preset<Theme> {
36
+ return {
37
+ name: "unocss-preset-shadcn",
38
+ preflights: [
39
+ {
40
+ getCSS: () => `
41
+ @keyframes shadcn-down { from{ height: 0 } to { height: var(--radix-accordion-content-height)} }
42
+ @keyframes shadcn-up { from{ height: var(--radix-accordion-content-height)} to { height: 0 } }
43
+ @keyframes shadcn-enter { from{ opacity: var(--un-enter-opacity, 1); transform: translate3d(var(--un-enter-translate-x, 0), var(--un-enter-translate-y, 0), 0) scale3d(var(--un-enter-scale, 1), var(--un-enter-scale, 1), var(--un-enter-scale, 1)) rotate(var(--un-enter-rotate, 0)) } }
44
+ @keyframes shadcn-exit { to{ opacity: var(--un-exit-opacity, 1); transform: translate3d(var(--un-exit-translate-x, 0), var(--un-exit-translate-y, 0), 0) scale3d(var(--un-exit-scale, 1), var(--un-exit-scale, 1), var(--un-exit-scale, 1)) rotate(var(--un-exit-rotate, 0)) } }
45
+ `,
46
+ },
47
+ ],
48
+ variants: [variantGroupDataAttribute.match],
49
+ rules: [
50
+ [
51
+ "accordion-down",
52
+ {
53
+ animation: "shadcn-down 0.2s ease-out",
54
+ },
55
+ ],
56
+ [
57
+ "accordion-up",
58
+ {
59
+ animation: "shadcn-up 0.2s ease-out",
60
+ },
61
+ ],
62
+ [
63
+ "animate-in",
64
+ {
65
+ "animation-name": "shadcn-enter",
66
+ "animation-duration": "var(--un-animate-duration)",
67
+ "--un-animate-duration": "150ms",
68
+ "--un-enter-opacity": "initial",
69
+ "--un-enter-scale": "initial",
70
+ "--un-enter-rotate": "initial",
71
+ "--un-enter-translate-x": "initial",
72
+ "--un-enter-translate-y": "initial",
73
+ },
74
+ ],
75
+ [
76
+ "animate-out",
77
+ {
78
+ "animation-name": "shadcn-exit",
79
+ "animation-duration": "var(--un-animate-duration)",
80
+ "--un-animate-duration": "150ms",
81
+ "--un-exit-opacity": "initial",
82
+ "--un-exit-scale": "initial",
83
+ "--un-exit-rotate": "initial",
84
+ "--un-exit-translate-x": "initial",
85
+ "--un-exit-translate-y": "initial",
86
+ },
87
+ ],
88
+ [
89
+ /^fade-in-?(.+)?$/,
90
+ ([, d]) => ({
91
+ "--un-enter-opacity": `${Number(handleMatchNumber(d) || 0) / 100}`,
92
+ }),
93
+ ],
94
+ [
95
+ /^fade-out-?(.+)?$/,
96
+ ([, d]) => ({
97
+ "--un-exit-opacity": `${Number(handleMatchNumber(d) || 0) / 100}`,
98
+ }),
99
+ ],
100
+ [
101
+ /^zoom-in-?(.+)?$/,
102
+ ([, d]) => ({
103
+ "--un-enter-scale": `${Number(handleMatchNumber(d) || 0) / 100}`,
104
+ }),
105
+ ],
106
+ [
107
+ /^zoom-out-?(.+)?$/,
108
+ ([, d]) => ({
109
+ "--un-out-scale": `${Number(handleMatchNumber(d) || 0) / 100}`,
110
+ }),
111
+ ],
112
+ [
113
+ /^spin-in-?(.+)?$/,
114
+ ([, d]) => ({
115
+ "--un-enter-rotate": `${Number(handleMatchNumber(d) || 0)}deg`,
116
+ }),
117
+ ],
118
+ [
119
+ /^spin-out-?(.+)?$/,
120
+ ([, d]) => ({
121
+ "--un-exit-rotate": `${Number(handleMatchNumber(d) || 0)}deg`,
122
+ }),
123
+ ],
124
+ [
125
+ /^slide-in-from-top-?(.+)?$/,
126
+ ([, d]) => ({ "--un-enter-translate-y": `-${handleMatchRem(d)}` }),
127
+ ],
128
+ [
129
+ /^slide-in-from-bottom-?(.+)?$/,
130
+ ([, d]) => ({ "--un-enter-translate-y": handleMatchRem(d) }),
131
+ ],
132
+ [
133
+ /^slide-in-from-left-?(.+)?$/,
134
+ ([, d]) => ({ "--un-enter-translate-x": `-${handleMatchRem(d)}` }),
135
+ ],
136
+ [
137
+ /^slide-in-from-right-?(.+)?$/,
138
+ ([, d]) => ({ "--un-enter-translate-x": handleMatchRem(d) }),
139
+ ],
140
+ [
141
+ /^slide-out-to-top-?(.+)?$/,
142
+ ([, d]) => ({ "--un-exit-translate-y": `-${handleMatchRem(d)}` }),
143
+ ],
144
+ [
145
+ /^slide-out-to-bottom-?(.+)?$/,
146
+ ([, d]) => ({ "--un-exit-translate-y": handleMatchRem(d) }),
147
+ ],
148
+ [
149
+ /^slide-out-to-left-?(.+)?$/,
150
+ ([, d]) => ({ "--un-exit-translate-x": `-${handleMatchRem(d)}` }),
151
+ ],
152
+ [
153
+ /^slide-out-to-right-?(.+)?$/,
154
+ ([, d]) => ({ "--un-exit-translate-x": handleMatchRem(d) }),
155
+ ],
156
+ ],
157
+ }
158
+ }
159
+
160
+ export default presetShadcn
@@ -0,0 +1,34 @@
1
+ /** @type {import('prettier').Config} */
2
+ module.exports = {
3
+ endOfLine: "lf",
4
+ semi: false,
5
+ singleQuote: false,
6
+ tabWidth: 2,
7
+ trailingComma: "es5",
8
+ importOrder: [
9
+ "^(react/(.*)$)|^(react$)",
10
+ "^(next/(.*)$)|^(next$)",
11
+ "<THIRD_PARTY_MODULES>",
12
+ "",
13
+ "^types$",
14
+ "^@/types/(.*)$",
15
+ "^@/config/(.*)$",
16
+ "^@/lib/(.*)$",
17
+ "^@/hooks/(.*)$",
18
+ "^@/components/ui/(.*)$",
19
+ "^@/components/(.*)$",
20
+ "^@/styles/(.*)$",
21
+ "^@/app/(.*)$",
22
+ "",
23
+ "^[./]",
24
+ ],
25
+ importOrderSeparation: false,
26
+ importOrderSortSpecifiers: true,
27
+ importOrderBuiltinModulesToTop: true,
28
+ importOrderParserPlugins: ["typescript", "jsx", "decorators-legacy"],
29
+ importOrderMergeDuplicateImports: true,
30
+ importOrderCombineTypeAndValueImports: true,
31
+ plugins: [
32
+ "@ianvs/prettier-plugin-sort-imports",
33
+ ],
34
+ }
@@ -0,0 +1,39 @@
1
+ import { useState } from "react"
2
+ import { invoke } from "@tauri-apps/api/tauri"
3
+
4
+ import { Menu } from "@/components/menu"
5
+
6
+ import { TailwindIndicator } from "./components/tailwind-indicator"
7
+ import { ThemeProvider } from "./components/theme-provider"
8
+ import DashboardPage from "./dashboard/page"
9
+ import { cn } from "./lib/utils"
10
+
11
+ function App() {
12
+ const [greetMsg, setGreetMsg] = useState("")
13
+ const [name, setName] = useState("")
14
+
15
+ async function greet() {
16
+ // Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
17
+ setGreetMsg(await invoke("greet", { name }))
18
+ }
19
+
20
+ return (
21
+ <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
22
+ <div className="h-screen overflow-clip">
23
+ <Menu />
24
+ <div
25
+ className={cn(
26
+ "h-screen overflow-auto border-t bg-background pb-8",
27
+ // "scrollbar-none"
28
+ "scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-md"
29
+ )}
30
+ >
31
+ <DashboardPage />
32
+ </div>
33
+ </div>
34
+ <TailwindIndicator />
35
+ </ThemeProvider>
36
+ )
37
+ }
38
+
39
+ export default App
@@ -0,0 +1,154 @@
1
+ import {
2
+ AlertTriangle,
3
+ ArrowRight,
4
+ Check,
5
+ ChevronLeft,
6
+ ChevronRight,
7
+ ClipboardCheck,
8
+ Copy,
9
+ CreditCard,
10
+ File,
11
+ FileText,
12
+ HelpCircle,
13
+ Image,
14
+ Laptop,
15
+ Loader2,
16
+ LucideProps,
17
+ Moon,
18
+ MoreVertical,
19
+ Pizza,
20
+ Plus,
21
+ Settings,
22
+ SunMedium,
23
+ Trash,
24
+ Twitter,
25
+ User,
26
+ X,
27
+ type Icon as LucideIcon,
28
+ } from "lucide-react"
29
+
30
+ export type Icon = LucideIcon
31
+
32
+ export const Icons = {
33
+ logo: (props: LucideProps) => (
34
+ <svg
35
+ viewBox="0 0 24 24"
36
+ fill="currentColor"
37
+ stroke="currentColor"
38
+ strokeWidth="2"
39
+ strokeLinecap="round"
40
+ strokeLinejoin="round"
41
+ {...props}
42
+ >
43
+ <circle cx="12" cy="12" r="10"></circle>
44
+ </svg>
45
+ ),
46
+ close: X,
47
+ spinner: Loader2,
48
+ chevronLeft: ChevronLeft,
49
+ chevronRight: ChevronRight,
50
+ trash: Trash,
51
+ post: FileText,
52
+ page: File,
53
+ media: Image,
54
+ settings: Settings,
55
+ billing: CreditCard,
56
+ ellipsis: MoreVertical,
57
+ add: Plus,
58
+ warning: AlertTriangle,
59
+ user: User,
60
+ arrowRight: ArrowRight,
61
+ help: HelpCircle,
62
+ pizza: Pizza,
63
+ twitter: Twitter,
64
+ check: Check,
65
+ copy: Copy,
66
+ copyDone: ClipboardCheck,
67
+ sun: SunMedium,
68
+ moon: Moon,
69
+ laptop: Laptop,
70
+ gitHub: (props: LucideProps) => (
71
+ <svg viewBox="0 0 438.549 438.549" {...props}>
72
+ <path
73
+ fill="currentColor"
74
+ d="M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"
75
+ ></path>
76
+ </svg>
77
+ ),
78
+ radix: (props: LucideProps) => (
79
+ <svg viewBox="0 0 25 25" fill="none" {...props}>
80
+ <path
81
+ d="M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z"
82
+ fill="currentcolor"
83
+ ></path>
84
+ <path d="M12 0H4V8H12V0Z" fill="currentcolor"></path>
85
+ <path
86
+ d="M17 8C19.2091 8 21 6.20914 21 4C21 1.79086 19.2091 0 17 0C14.7909 0 13 1.79086 13 4C13 6.20914 14.7909 8 17 8Z"
87
+ fill="currentcolor"
88
+ ></path>
89
+ </svg>
90
+ ),
91
+ aria: (props: LucideProps) => (
92
+ <svg role="img" viewBox="0 0 24 24" fill="currentColor" {...props}>
93
+ <path d="M13.966 22.624l-1.69-4.281H8.122l3.892-9.144 5.662 13.425zM8.884 1.376H0v21.248zm15.116 0h-8.884L24 22.624Z" />
94
+ </svg>
95
+ ),
96
+ npm: (props: LucideProps) => (
97
+ <svg viewBox="0 0 24 24" {...props}>
98
+ <path d="M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z" />
99
+ </svg>
100
+ ),
101
+ yarn: (props: LucideProps) => (
102
+ <svg viewBox="0 0 24 24" {...props}>
103
+ <path d="M12 0C5.375 0 0 5.375 0 12s5.375 12 12 12 12-5.375 12-12S18.625 0 12 0zm.768 4.105c.183 0 .363.053.525.157.125.083.287.185.755 1.154.31-.088.468-.042.551-.019.204.056.366.19.463.375.477.917.542 2.553.334 3.605-.241 1.232-.755 2.029-1.131 2.576.324.329.778.899 1.117 1.825.278.774.31 1.478.273 2.015a5.51 5.51 0 0 0 .602-.329c.593-.366 1.487-.917 2.553-.931.714-.009 1.269.445 1.353 1.103a1.23 1.23 0 0 1-.945 1.362c-.649.158-.95.278-1.821.843-1.232.797-2.539 1.242-3.012 1.39a1.686 1.686 0 0 1-.704.343c-.737.181-3.266.315-3.466.315h-.046c-.783 0-1.214-.241-1.45-.491-.658.329-1.51.19-2.122-.134a1.078 1.078 0 0 1-.58-1.153 1.243 1.243 0 0 1-.153-.195c-.162-.25-.528-.936-.454-1.946.056-.723.556-1.367.88-1.71a5.522 5.522 0 0 1 .408-2.256c.306-.727.885-1.348 1.32-1.737-.32-.537-.644-1.367-.329-2.21.227-.602.412-.936.82-1.08h-.005c.199-.074.389-.153.486-.259a3.418 3.418 0 0 1 2.298-1.103c.037-.093.079-.185.125-.283.31-.658.639-1.029 1.024-1.168a.94.94 0 0 1 .328-.06zm.006.7c-.507.016-1.001 1.519-1.001 1.519s-1.27-.204-2.266.871c-.199.218-.468.334-.746.44-.079.028-.176.023-.417.672-.371.991.625 2.094.625 2.094s-1.186.839-1.626 1.881c-.486 1.144-.338 2.261-.338 2.261s-.843.732-.899 1.487c-.051.663.139 1.2.343 1.515.227.343.51.176.51.176s-.561.653-.037.931c.477.25 1.283.394 1.71-.037.31-.31.371-1.001.486-1.283.028-.065.12.111.209.199.097.093.264.195.264.195s-.755.324-.445 1.066c.102.246.468.403 1.066.398.222-.005 2.664-.139 3.313-.296.375-.088.505-.283.505-.283s1.566-.431 2.998-1.357c.917-.598 1.293-.76 2.034-.936.612-.148.57-1.098-.241-1.084-.839.009-1.575.44-2.196.825-1.163.718-1.742.672-1.742.672l-.018-.032c-.079-.13.371-1.293-.134-2.678-.547-1.515-1.413-1.881-1.344-1.997.297-.5 1.038-1.297 1.334-2.78.176-.899.13-2.377-.269-3.151-.074-.144-.732.241-.732.241s-.616-1.371-.788-1.483a.271.271 0 0 0-.157-.046z" />
104
+ </svg>
105
+ ),
106
+ pnpm: (props: LucideProps) => (
107
+ <svg viewBox="0 0 24 24" {...props}>
108
+ <path d="M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z" />
109
+ </svg>
110
+ ),
111
+ react: (props: LucideProps) => (
112
+ <svg viewBox="0 0 24 24" {...props}>
113
+ <path d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z" />
114
+ </svg>
115
+ ),
116
+ tailwind: (props: LucideProps) => (
117
+ <svg viewBox="0 0 24 24" {...props}>
118
+ <path d="M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z" />
119
+ </svg>
120
+ ),
121
+ google: (props: LucideProps) => (
122
+ <svg role="img" viewBox="0 0 24 24" {...props}>
123
+ <path
124
+ fill="currentColor"
125
+ d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
126
+ />
127
+ </svg>
128
+ ),
129
+ apple: (props: LucideProps) => (
130
+ <svg role="img" viewBox="0 0 24 24" {...props}>
131
+ <path
132
+ d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
133
+ fill="currentColor"
134
+ />
135
+ </svg>
136
+ ),
137
+ paypal: (props: LucideProps) => (
138
+ <svg role="img" viewBox="0 0 24 24" {...props}>
139
+ <path
140
+ d="M7.076 21.337H2.47a.641.641 0 0 1-.633-.74L4.944.901C5.026.382 5.474 0 5.998 0h7.46c2.57 0 4.578.543 5.69 1.81 1.01 1.15 1.304 2.42 1.012 4.287-.023.143-.047.288-.077.437-.983 5.05-4.349 6.797-8.647 6.797h-2.19c-.524 0-.968.382-1.05.9l-1.12 7.106zm14.146-14.42a3.35 3.35 0 0 0-.607-.541c-.013.076-.026.175-.041.254-.93 4.778-4.005 7.201-9.138 7.201h-2.19a.563.563 0 0 0-.556.479l-1.187 7.527h-.506l-.24 1.516a.56.56 0 0 0 .554.647h3.882c.46 0 .85-.334.922-.788.06-.26.76-4.852.816-5.09a.932.932 0 0 1 .923-.788h.58c3.76 0 6.705-1.528 7.565-5.946.36-1.847.174-3.388-.777-4.471z"
141
+ fill="currentColor"
142
+ />
143
+ </svg>
144
+ ),
145
+
146
+ minimize: (props: LucideProps) => (
147
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" {...props}>
148
+ <path
149
+ fill="currentColor"
150
+ d="M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z"
151
+ />
152
+ </svg>
153
+ ),
154
+ }
@@ -0,0 +1,46 @@
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { useTheme } from "next-themes"
5
+
6
+ import { Button } from "@/components/ui/button"
7
+ import {
8
+ DropdownMenu,
9
+ DropdownMenuContent,
10
+ DropdownMenuItem,
11
+ DropdownMenuTrigger,
12
+ } from "@/components/ui/dropdown-menu"
13
+ import {
14
+ MenubarContent,
15
+ MenubarMenu,
16
+ MenubarRadioGroup,
17
+ MenubarRadioItem,
18
+ MenubarTrigger,
19
+ } from "@/components/ui/menubar"
20
+ import { Icons } from "@/components/icons"
21
+
22
+ export function MenuModeToggle() {
23
+ const { setTheme, theme } = useTheme()
24
+
25
+ return (
26
+ <MenubarMenu>
27
+ <MenubarTrigger>Theme</MenubarTrigger>
28
+ <MenubarContent forceMount>
29
+ <MenubarRadioGroup value={theme}>
30
+ <MenubarRadioItem value="light" onClick={() => setTheme("light")}>
31
+ <Icons.sun className="mr-2 h-4 w-4" />
32
+ <span>Light</span>
33
+ </MenubarRadioItem>
34
+ <MenubarRadioItem value="dark" onClick={() => setTheme("dark")}>
35
+ <Icons.moon className="mr-2 h-4 w-4" />
36
+ <span>Dark</span>
37
+ </MenubarRadioItem>
38
+ <MenubarRadioItem value="system" onClick={() => setTheme("system")}>
39
+ <Icons.laptop className="mr-2 h-4 w-4" />
40
+ <span>System</span>
41
+ </MenubarRadioItem>
42
+ </MenubarRadioGroup>
43
+ </MenubarContent>
44
+ </MenubarMenu>
45
+ )
46
+ }