create-tauri-ui 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/README.md +22 -11
  2. package/dist/index.mjs +26 -26
  3. package/package.json +3 -2
  4. package/templates/.shared/app-icon.png +0 -0
  5. package/templates/.shared/src-tauri/Cargo.lock +270 -139
  6. package/templates/.shared/src-tauri/Cargo.toml +39 -36
  7. package/templates/.shared/src-tauri/src/main.rs +3 -0
  8. package/templates/.shared/src-tauri/tauri.conf.json +71 -79
  9. package/templates/next/components.json +15 -15
  10. package/templates/next/next.config.js +14 -14
  11. package/templates/next/package.json +18 -14
  12. package/templates/next/pnpm-lock.yaml +608 -566
  13. package/templates/next/src/app/examples/cards/components/date-picker.tsx +3 -1
  14. package/templates/next/src/app/examples/cards/components/github-card.tsx +2 -0
  15. package/templates/next/src/app/examples/cards/components/notifications.tsx +2 -0
  16. package/templates/next/src/app/examples/cards/components/payment-method.tsx +3 -1
  17. package/templates/next/src/app/examples/cards/components/team-members.tsx +3 -5
  18. package/templates/next/src/app/examples/forms/page.tsx +1 -1
  19. package/templates/next/src/app/layout.tsx +47 -47
  20. package/templates/next/src/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  21. package/templates/next/src/components/about-dialog.tsx +111 -0
  22. package/templates/next/src/components/icons.tsx +156 -154
  23. package/templates/next/src/components/menu-mode-toggle.tsx +47 -46
  24. package/templates/next/src/components/menu.tsx +223 -259
  25. package/templates/next/src/components/page-header.tsx +2 -0
  26. package/templates/next/src/components/ui/accordion.tsx +60 -60
  27. package/templates/next/src/components/ui/alert-dialog.tsx +145 -145
  28. package/templates/next/src/components/ui/alert.tsx +59 -59
  29. package/templates/next/src/components/ui/aspect-ratio.tsx +7 -7
  30. package/templates/next/src/components/ui/avatar.tsx +50 -50
  31. package/templates/next/src/components/ui/badge.tsx +36 -36
  32. package/templates/next/src/components/ui/button.tsx +56 -56
  33. package/templates/next/src/components/ui/calendar.tsx +64 -64
  34. package/templates/next/src/components/ui/card.tsx +79 -79
  35. package/templates/next/src/components/ui/checkbox.tsx +30 -30
  36. package/templates/next/src/components/ui/collapsible.tsx +11 -11
  37. package/templates/next/src/components/ui/command.tsx +155 -155
  38. package/templates/next/src/components/ui/context-menu.tsx +200 -200
  39. package/templates/next/src/components/ui/dialog.tsx +123 -123
  40. package/templates/next/src/components/ui/dropdown-menu.tsx +200 -200
  41. package/templates/next/src/components/ui/form.tsx +176 -176
  42. package/templates/next/src/components/ui/hover-card.tsx +29 -29
  43. package/templates/next/src/components/ui/input.tsx +25 -25
  44. package/templates/next/src/components/ui/label.tsx +26 -26
  45. package/templates/next/src/components/ui/menubar.tsx +236 -236
  46. package/templates/next/src/components/ui/navigation-menu.tsx +128 -128
  47. package/templates/next/src/components/ui/popover.tsx +31 -31
  48. package/templates/next/src/components/ui/progress.tsx +28 -28
  49. package/templates/next/src/components/ui/radio-group.tsx +44 -44
  50. package/templates/next/src/components/ui/scroll-area.tsx +48 -48
  51. package/templates/next/src/components/ui/select.tsx +121 -121
  52. package/templates/next/src/components/ui/separator.tsx +31 -31
  53. package/templates/next/src/components/ui/sheet.tsx +144 -144
  54. package/templates/next/src/components/ui/skeleton.tsx +15 -15
  55. package/templates/next/src/components/ui/slider.tsx +28 -28
  56. package/templates/next/src/components/ui/switch.tsx +29 -29
  57. package/templates/next/src/components/ui/table.tsx +114 -114
  58. package/templates/next/src/components/ui/tabs.tsx +55 -55
  59. package/templates/next/src/components/ui/textarea.tsx +24 -24
  60. package/templates/next/src/components/ui/toast.tsx +127 -127
  61. package/templates/next/src/components/ui/toaster.tsx +35 -35
  62. package/templates/next/src/components/ui/toggle.tsx +45 -45
  63. package/templates/next/src/components/ui/tooltip.tsx +30 -30
  64. package/templates/next/src/components/ui/use-toast.ts +192 -192
  65. package/templates/next/src/lib/utils.ts +6 -6
  66. package/templates/next/src/styles/globals.css +88 -86
  67. package/templates/next/src-tauri/Cargo.lock +3832 -3701
  68. package/templates/next/src-tauri/Cargo.toml +4 -1
  69. package/templates/next/src-tauri/src/main.rs +22 -19
  70. package/templates/next/src-tauri/tauri.conf.json +71 -79
  71. package/templates/next/tailwind.config.js +77 -77
  72. package/templates/next/tsconfig.json +34 -34
  73. package/templates/sveltekit/.github/workflows/release.yml +108 -108
  74. package/templates/sveltekit/package.json +22 -22
  75. package/templates/sveltekit/pnpm-lock.yaml +1069 -691
  76. package/templates/sveltekit/src/app.html +1 -1
  77. package/templates/sveltekit/src-tauri/Cargo.lock +136 -136
  78. package/templates/sveltekit/src-tauri/tauri.conf.json +2 -10
  79. package/templates/sveltekit/static/favicon.ico +0 -0
  80. package/templates/sveltekit/vite.config.js +10 -6
  81. package/templates/vite/components.json +15 -15
  82. package/templates/vite/index.html +1 -1
  83. package/templates/vite/package.json +20 -13
  84. package/templates/vite/pnpm-lock.yaml +598 -530
  85. package/templates/vite/src/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  86. package/templates/vite/src/components/about-dialog.tsx +101 -0
  87. package/templates/vite/src/components/icons.tsx +2 -2
  88. package/templates/vite/src/components/menu-mode-toggle.tsx +4 -3
  89. package/templates/vite/src/components/menu.tsx +177 -197
  90. package/templates/vite/src/components/ui/accordion.tsx +1 -3
  91. package/templates/vite/src/components/ui/alert-dialog.tsx +3 -10
  92. package/templates/vite/src/components/ui/alert.tsx +3 -5
  93. package/templates/vite/src/components/ui/aspect-ratio.tsx +0 -2
  94. package/templates/vite/src/components/ui/avatar.tsx +0 -2
  95. package/templates/vite/src/components/ui/badge.tsx +5 -5
  96. package/templates/vite/src/components/ui/button.tsx +15 -10
  97. package/templates/vite/src/components/ui/calendar.tsx +0 -2
  98. package/templates/vite/src/components/ui/card.tsx +1 -3
  99. package/templates/vite/src/components/ui/checkbox.tsx +2 -4
  100. package/templates/vite/src/components/ui/collapsible.tsx +0 -2
  101. package/templates/vite/src/components/ui/command.tsx +2 -4
  102. package/templates/vite/src/components/ui/context-menu.tsx +6 -8
  103. package/templates/vite/src/components/ui/dialog.tsx +4 -11
  104. package/templates/vite/src/components/ui/dropdown-menu.tsx +6 -8
  105. package/templates/vite/src/components/ui/form.tsx +176 -0
  106. package/templates/vite/src/components/ui/hover-card.tsx +1 -3
  107. package/templates/vite/src/components/ui/input.tsx +1 -3
  108. package/templates/vite/src/components/ui/label.tsx +1 -3
  109. package/templates/vite/src/components/ui/menubar.tsx +7 -9
  110. package/templates/vite/src/components/ui/navigation-menu.tsx +2 -4
  111. package/templates/vite/src/components/ui/popover.tsx +1 -3
  112. package/templates/vite/src/components/ui/progress.tsx +0 -2
  113. package/templates/vite/src/components/ui/radio-group.tsx +2 -4
  114. package/templates/vite/src/components/ui/scroll-area.tsx +0 -2
  115. package/templates/vite/src/components/ui/select.tsx +4 -5
  116. package/templates/vite/src/components/ui/separator.tsx +0 -2
  117. package/templates/vite/src/components/ui/sheet.tsx +22 -110
  118. package/templates/vite/src/components/ui/skeleton.tsx +0 -2
  119. package/templates/vite/src/components/ui/slider.tsx +0 -2
  120. package/templates/vite/src/components/ui/switch.tsx +1 -3
  121. package/templates/vite/src/components/ui/table.tsx +1 -1
  122. package/templates/vite/src/components/ui/tabs.tsx +1 -3
  123. package/templates/vite/src/components/ui/textarea.tsx +1 -3
  124. package/templates/vite/src/components/ui/toast.tsx +6 -8
  125. package/templates/vite/src/components/ui/toaster.tsx +0 -2
  126. package/templates/vite/src/components/ui/toggle.tsx +3 -5
  127. package/templates/vite/src/components/ui/tooltip.tsx +1 -3
  128. package/templates/vite/src/components/ui/use-toast.ts +5 -4
  129. package/templates/vite/src/styles/globals.css +5 -3
  130. package/templates/vite/src-tauri/Cargo.lock +270 -139
  131. package/templates/vite/src-tauri/Cargo.toml +4 -1
  132. package/templates/vite/src-tauri/src/main.rs +8 -2
  133. package/templates/vite/src-tauri/tauri.conf.json +71 -79
  134. package/templates/vite/vite.config.ts +2 -2
  135. package/templates/next/src/assets/Inter.var.woff2 +0 -0
  136. package/templates/vite/src/assets/Inter.var.woff2 +0 -0
  137. package/templates/viteuno/.github/workflows/release.yml +0 -108
  138. package/templates/viteuno/.vscode/extensions.json +0 -3
  139. package/templates/viteuno/README.md +0 -1
  140. package/templates/viteuno/app-icon.png +0 -0
  141. package/templates/viteuno/components.json +0 -16
  142. package/templates/viteuno/index.html +0 -16
  143. package/templates/viteuno/package.json +0 -73
  144. package/templates/viteuno/pnpm-lock.yaml +0 -5298
  145. package/templates/viteuno/preset.shadcn.ts +0 -160
  146. package/templates/viteuno/prettier.config.cjs +0 -34
  147. package/templates/viteuno/public/avatars/01.png +0 -0
  148. package/templates/viteuno/public/avatars/02.png +0 -0
  149. package/templates/viteuno/public/avatars/03.png +0 -0
  150. package/templates/viteuno/public/avatars/04.png +0 -0
  151. package/templates/viteuno/public/avatars/05.png +0 -0
  152. package/templates/viteuno/src/App.tsx +0 -39
  153. package/templates/viteuno/src/assets/Inter.var.woff2 +0 -0
  154. package/templates/viteuno/src/components/icons.tsx +0 -154
  155. package/templates/viteuno/src/components/menu-mode-toggle.tsx +0 -46
  156. package/templates/viteuno/src/components/menu.tsx +0 -232
  157. package/templates/viteuno/src/components/tailwind-indicator.tsx +0 -18
  158. package/templates/viteuno/src/components/theme-provider.tsx +0 -9
  159. package/templates/viteuno/src/components/ui/accordion.tsx +0 -60
  160. package/templates/viteuno/src/components/ui/alert-dialog.tsx +0 -150
  161. package/templates/viteuno/src/components/ui/alert.tsx +0 -61
  162. package/templates/viteuno/src/components/ui/aspect-ratio.tsx +0 -7
  163. package/templates/viteuno/src/components/ui/avatar.tsx +0 -50
  164. package/templates/viteuno/src/components/ui/badge.tsx +0 -36
  165. package/templates/viteuno/src/components/ui/button.tsx +0 -51
  166. package/templates/viteuno/src/components/ui/calendar.tsx +0 -64
  167. package/templates/viteuno/src/components/ui/card.tsx +0 -81
  168. package/templates/viteuno/src/components/ui/checkbox.tsx +0 -30
  169. package/templates/viteuno/src/components/ui/collapsible.tsx +0 -11
  170. package/templates/viteuno/src/components/ui/command.tsx +0 -155
  171. package/templates/viteuno/src/components/ui/context-menu.tsx +0 -200
  172. package/templates/viteuno/src/components/ui/dialog.tsx +0 -128
  173. package/templates/viteuno/src/components/ui/dropdown-menu.tsx +0 -200
  174. package/templates/viteuno/src/components/ui/hover-card.tsx +0 -29
  175. package/templates/viteuno/src/components/ui/index.ts +0 -0
  176. package/templates/viteuno/src/components/ui/input.tsx +0 -27
  177. package/templates/viteuno/src/components/ui/label.tsx +0 -26
  178. package/templates/viteuno/src/components/ui/menubar.tsx +0 -236
  179. package/templates/viteuno/src/components/ui/navigation-menu.tsx +0 -130
  180. package/templates/viteuno/src/components/ui/popover.tsx +0 -31
  181. package/templates/viteuno/src/components/ui/progress.tsx +0 -28
  182. package/templates/viteuno/src/components/ui/radio-group.tsx +0 -44
  183. package/templates/viteuno/src/components/ui/scroll-area.tsx +0 -48
  184. package/templates/viteuno/src/components/ui/select.tsx +0 -120
  185. package/templates/viteuno/src/components/ui/separator.tsx +0 -31
  186. package/templates/viteuno/src/components/ui/sheet.tsx +0 -230
  187. package/templates/viteuno/src/components/ui/skeleton.tsx +0 -17
  188. package/templates/viteuno/src/components/ui/slider.tsx +0 -28
  189. package/templates/viteuno/src/components/ui/switch.tsx +0 -29
  190. package/templates/viteuno/src/components/ui/table.tsx +0 -114
  191. package/templates/viteuno/src/components/ui/tabs.tsx +0 -55
  192. package/templates/viteuno/src/components/ui/textarea.tsx +0 -26
  193. package/templates/viteuno/src/components/ui/toast.tsx +0 -129
  194. package/templates/viteuno/src/components/ui/toaster.tsx +0 -35
  195. package/templates/viteuno/src/components/ui/toggle.tsx +0 -45
  196. package/templates/viteuno/src/components/ui/tooltip.tsx +0 -30
  197. package/templates/viteuno/src/components/ui/use-toast.ts +0 -191
  198. package/templates/viteuno/src/dashboard/components/date-range-picker.tsx +0 -66
  199. package/templates/viteuno/src/dashboard/components/main-nav.tsx +0 -38
  200. package/templates/viteuno/src/dashboard/components/overview.tsx +0 -78
  201. package/templates/viteuno/src/dashboard/components/recent-sales.tsx +0 -67
  202. package/templates/viteuno/src/dashboard/components/search.tsx +0 -13
  203. package/templates/viteuno/src/dashboard/components/team-switcher.tsx +0 -205
  204. package/templates/viteuno/src/dashboard/components/user-nav.tsx +0 -67
  205. package/templates/viteuno/src/dashboard/page.tsx +0 -140
  206. package/templates/viteuno/src/lib/utils.ts +0 -19
  207. package/templates/viteuno/src/main.tsx +0 -14
  208. package/templates/viteuno/src/styles/globals.css +0 -4
  209. package/templates/viteuno/src/vite-env.d.ts +0 -1
  210. package/templates/viteuno/src-tauri/Cargo.lock +0 -3701
  211. package/templates/viteuno/src-tauri/Cargo.toml +0 -36
  212. package/templates/viteuno/src-tauri/build.rs +0 -3
  213. package/templates/viteuno/src-tauri/icons/128x128.png +0 -0
  214. package/templates/viteuno/src-tauri/icons/128x128@2x.png +0 -0
  215. package/templates/viteuno/src-tauri/icons/32x32.png +0 -0
  216. package/templates/viteuno/src-tauri/icons/Square107x107Logo.png +0 -0
  217. package/templates/viteuno/src-tauri/icons/Square142x142Logo.png +0 -0
  218. package/templates/viteuno/src-tauri/icons/Square150x150Logo.png +0 -0
  219. package/templates/viteuno/src-tauri/icons/Square284x284Logo.png +0 -0
  220. package/templates/viteuno/src-tauri/icons/Square30x30Logo.png +0 -0
  221. package/templates/viteuno/src-tauri/icons/Square310x310Logo.png +0 -0
  222. package/templates/viteuno/src-tauri/icons/Square44x44Logo.png +0 -0
  223. package/templates/viteuno/src-tauri/icons/Square71x71Logo.png +0 -0
  224. package/templates/viteuno/src-tauri/icons/Square89x89Logo.png +0 -0
  225. package/templates/viteuno/src-tauri/icons/StoreLogo.png +0 -0
  226. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  227. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  228. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  229. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  230. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  231. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  232. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  233. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  234. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  235. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  236. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  237. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  238. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  239. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  240. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  241. package/templates/viteuno/src-tauri/icons/icon.icns +0 -0
  242. package/templates/viteuno/src-tauri/icons/icon.ico +0 -0
  243. package/templates/viteuno/src-tauri/icons/icon.png +0 -0
  244. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  245. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  246. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  247. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  248. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  249. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  250. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  251. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  252. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  253. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  254. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  255. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  256. package/templates/viteuno/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  257. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  258. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  259. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  260. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  261. package/templates/viteuno/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  262. package/templates/viteuno/src-tauri/src/main.rs +0 -16
  263. package/templates/viteuno/src-tauri/tauri.conf.json +0 -79
  264. package/templates/viteuno/tsconfig.json +0 -26
  265. package/templates/viteuno/tsconfig.node.json +0 -9
  266. package/templates/viteuno/uno.config.ts +0 -111
  267. package/templates/viteuno/vite.config.ts +0 -33
  268. /package/templates/next/src/app/examples/forms/{profile-form.tsx → components/profile-form.tsx} +0 -0
@@ -1,6 +1,8 @@
1
- import DatePickerWithRange from "@/components/example/date-picker-with-range"
1
+ "use client"
2
+
2
3
  import { Card, CardContent } from "@/components/ui/card"
3
4
  import { Label } from "@/components/ui/label"
5
+ import DatePickerWithRange from "@/components/example/date-picker-with-range"
4
6
 
5
7
  export function DemoDatePicker() {
6
8
  return (
@@ -1,3 +1,5 @@
1
+ "use client"
2
+
1
3
  import {
2
4
  ChevronDownIcon,
3
5
  CircleIcon,
@@ -1,3 +1,5 @@
1
+ "use client"
2
+
1
3
  import { BellIcon, EyeNoneIcon, PersonIcon } from "@radix-ui/react-icons"
2
4
 
3
5
  import {
@@ -1,4 +1,5 @@
1
- import { Icons } from "@/components/icons"
1
+ "use client"
2
+
2
3
  import { Button } from "@/components/ui/button"
3
4
  import {
4
5
  Card,
@@ -18,6 +19,7 @@ import {
18
19
  SelectTrigger,
19
20
  SelectValue,
20
21
  } from "@/components/ui/select"
22
+ import { Icons } from "@/components/icons"
21
23
 
22
24
  export function DemoPaymentMethod() {
23
25
  return (
@@ -1,10 +1,8 @@
1
+ "use client"
2
+
1
3
  import { ChevronDownIcon } from "@radix-ui/react-icons"
2
4
 
3
- import {
4
- Avatar,
5
- AvatarFallback,
6
- AvatarImage,
7
- } from "@/components/ui/avatar"
5
+ import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
8
6
  import { Button } from "@/components/ui/button"
9
7
  import {
10
8
  Card,
@@ -1,5 +1,5 @@
1
1
  import { Separator } from "@/components/ui/separator"
2
- import { ProfileForm } from "@/app/examples/forms/profile-form"
2
+ import { ProfileForm } from "@/app/examples/forms/components/profile-form"
3
3
 
4
4
  export default function SettingsProfilePage() {
5
5
  return (
@@ -1,47 +1,47 @@
1
- import "@/styles/globals.css"
2
- import { Metadata } from "next"
3
-
4
- import { fontMono, fontSans } from "@/lib/fonts"
5
- import { cn } from "@/lib/utils"
6
- import { Greeting } from "@/components/greeting"
7
- import { Menu } from "@/components/menu"
8
- import { StyleSwitcher } from "@/components/style-switcher"
9
- import { TailwindIndicator } from "@/components/tailwind-indicator"
10
- import { ThemeProvider } from "@/components/theme-provider"
11
-
12
- interface ExamplesLayoutProps {
13
- children: React.ReactNode
14
- }
15
-
16
- export default function MyApp({ children }: ExamplesLayoutProps) {
17
- return (
18
- <html lang="en" suppressHydrationWarning className="overflow-clip bg-black">
19
- <head />
20
- <body className="overflow-clip bg-transparent font-sans antialiased scrollbar-none">
21
- <Greeting />
22
- <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
23
- <div className="h-screen overflow-clip">
24
- <Menu />
25
- <div
26
- className={cn(
27
- "h-screen overflow-auto border-t bg-background pb-8",
28
- // "scrollbar-none"
29
- "scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-md"
30
- )}
31
- >
32
- {children}
33
- </div>
34
- </div>
35
- <TailwindIndicator />
36
- </ThemeProvider>
37
- <StyleSwitcher />
38
- </body>
39
- </html>
40
- )
41
- }
42
-
43
- export const metadata: Metadata = {
44
- icons: {
45
- shortcut: ["#"],
46
- },
47
- }
1
+ import "@/styles/globals.css"
2
+ import { Metadata } from "next"
3
+
4
+ import { fontMono, fontSans } from "@/lib/fonts"
5
+ import { cn } from "@/lib/utils"
6
+ import { Greeting } from "@/components/greeting"
7
+ import { Menu } from "@/components/menu"
8
+ import { StyleSwitcher } from "@/components/style-switcher"
9
+ import { TailwindIndicator } from "@/components/tailwind-indicator"
10
+ import { ThemeProvider } from "@/components/theme-provider"
11
+
12
+ interface ExamplesLayoutProps {
13
+ children: React.ReactNode
14
+ }
15
+
16
+ export default function MyApp({ children }: ExamplesLayoutProps) {
17
+ return (
18
+ <html lang="en" suppressHydrationWarning className="overflow-clip bg-black">
19
+ <head />
20
+ <body className="overflow-clip bg-transparent font-sans antialiased scrollbar-none">
21
+ <Greeting />
22
+ <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
23
+ <div className="h-screen overflow-clip">
24
+ <Menu />
25
+ <div
26
+ className={cn(
27
+ "h-screen overflow-auto border-t bg-background pb-8",
28
+ // "scrollbar-none"
29
+ "scrollbar scrollbar-track-transparent scrollbar-thumb-accent scrollbar-thumb-rounded-md"
30
+ )}
31
+ >
32
+ {children}
33
+ </div>
34
+ </div>
35
+ <TailwindIndicator />
36
+ </ThemeProvider>
37
+ <StyleSwitcher />
38
+ </body>
39
+ </html>
40
+ )
41
+ }
42
+
43
+ export const metadata: Metadata = {
44
+ icons: {
45
+ shortcut: ["#"],
46
+ },
47
+ }
@@ -0,0 +1,111 @@
1
+ "use client"
2
+
3
+ import { useCallback, useState } from "react"
4
+ import * as DialogPrimitive from "@radix-ui/react-dialog"
5
+ import { UpdateIcon } from "@radix-ui/react-icons"
6
+ import { GithubIcon, HomeIcon, LucideArrowUpRight } from "lucide-react"
7
+
8
+ import { Icons } from "./icons"
9
+ import { Button, buttonVariants } from "./ui/button"
10
+ import {
11
+ DialogContent,
12
+ DialogDescription,
13
+ DialogFooter,
14
+ DialogHeader,
15
+ DialogTitle,
16
+ } from "./ui/dialog"
17
+
18
+ export function AboutDialog() {
19
+ const [updateText, setUpdateText] = useState("")
20
+ const [version, setVersion] = useState("")
21
+ const [name, setName] = useState("")
22
+ const [tauriVersion, setTauriVersion] = useState("")
23
+ const [arc, setArc] = useState("")
24
+
25
+ const getInfos = useCallback(async () => {
26
+ const { getName, getTauriVersion, getVersion } = await import(
27
+ "@tauri-apps/plugin-app"
28
+ )
29
+ const { arch } = await import("@tauri-apps/plugin-os")
30
+
31
+ getName && getName().then((x) => setName(x))
32
+ getVersion && getVersion().then((x) => setVersion(x))
33
+ getTauriVersion && getTauriVersion().then((x) => setTauriVersion(x))
34
+ arch && arch().then((x) => setArc(x))
35
+ }, [])
36
+
37
+ if (typeof window !== "undefined") getInfos()
38
+
39
+ const open = useCallback(async (url: string) => {
40
+ const { open } = await import("@tauri-apps/plugin-shell")
41
+ open && open(url)
42
+ }, [])
43
+
44
+ return (
45
+ <DialogContent className="overflow-clip pb-2">
46
+ <DialogHeader className="flex items-center text-center">
47
+ <div className="rounded-full bg-background p-[6px] text-slate-600 drop-shadow-none transition duration-1000 hover:text-slate-800 hover:drop-shadow-[0_0px_10px_rgba(0,10,50,0.50)] dark:hover:text-slate-400 ">
48
+ <Icons.logo className="h-12 w-12" />
49
+ </div>
50
+
51
+ <DialogTitle className="flex flex-col items-center gap-2 pt-2">
52
+ Tauri Demos ({name})
53
+ <span className="flex gap-1 font-mono text-xs font-medium">
54
+ Version {version} ({arc})
55
+ <span className="font-sans font-medium text-gray-400">
56
+ (
57
+ <span
58
+ className="cursor-pointer text-blue-500"
59
+ onClick={() =>
60
+ open("https://github.com/agmmnn/tauri-ui/releases/tag/v0.2.0")
61
+ }
62
+ >
63
+ release notes
64
+ </span>
65
+ )
66
+ </span>
67
+ </span>
68
+ </DialogTitle>
69
+
70
+ <DialogDescription className=" text-foreground">
71
+ Tauri-ui description.
72
+ </DialogDescription>
73
+
74
+ <span className="text-xs text-gray-400">{updateText}</span>
75
+ <DialogDescription className="flex flex-row"></DialogDescription>
76
+ </DialogHeader>
77
+
78
+ <span className="font-mono text-xs font-medium text-gray-400">
79
+ Tauri version: {tauriVersion}
80
+ </span>
81
+
82
+ <DialogFooter className="flex flex-row items-center border-t pt-2 text-slate-400">
83
+ <div className="mr-auto flex flex-row gap-2">
84
+ <HomeIcon
85
+ className="h-5 w-5 cursor-pointer transition hover:text-slate-300"
86
+ onClick={() => open("https://github.com/agmmnn/tauri-ui")}
87
+ />
88
+ <GithubIcon
89
+ className="h-5 w-5 cursor-pointer transition hover:text-slate-300 "
90
+ onClick={() => open("https://github.com/agmmnn/tauri-ui")}
91
+ />
92
+ </div>
93
+
94
+ <Button
95
+ type="submit"
96
+ variant="outline"
97
+ className="h-7 gap-1"
98
+ onClick={() => setUpdateText("You have the latest version.")}
99
+ >
100
+ <UpdateIcon /> Check for Updates
101
+ </Button>
102
+ <DialogPrimitive.Close
103
+ type="submit"
104
+ className={buttonVariants({ variant: "ghost", className: "h-7" })}
105
+ >
106
+ Close
107
+ </DialogPrimitive.Close>
108
+ </DialogFooter>
109
+ </DialogContent>
110
+ )
111
+ }
@@ -1,154 +1,156 @@
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
- }
1
+ "use client"
2
+
3
+ import {
4
+ AlertTriangle,
5
+ ArrowRight,
6
+ Check,
7
+ ChevronLeft,
8
+ ChevronRight,
9
+ ClipboardCheck,
10
+ Copy,
11
+ CreditCard,
12
+ File,
13
+ FileText,
14
+ HelpCircle,
15
+ Image,
16
+ Laptop,
17
+ Loader2,
18
+ LucideProps,
19
+ Moon,
20
+ MoreVertical,
21
+ Pizza,
22
+ Plus,
23
+ Settings,
24
+ SunMedium,
25
+ Trash,
26
+ Twitter,
27
+ User,
28
+ X,
29
+ type XIcon as LucideIcon,
30
+ } from "lucide-react"
31
+
32
+ export type Icon = typeof LucideIcon
33
+
34
+ export const Icons = {
35
+ logo: (props: LucideProps) => (
36
+ <svg
37
+ viewBox="0 0 24 24"
38
+ fill="currentColor"
39
+ stroke="currentColor"
40
+ strokeWidth="2"
41
+ strokeLinecap="round"
42
+ strokeLinejoin="round"
43
+ {...props}
44
+ >
45
+ <circle cx="12" cy="12" r="10"></circle>
46
+ </svg>
47
+ ),
48
+ close: X,
49
+ spinner: Loader2,
50
+ chevronLeft: ChevronLeft,
51
+ chevronRight: ChevronRight,
52
+ trash: Trash,
53
+ post: FileText,
54
+ page: File,
55
+ media: Image,
56
+ settings: Settings,
57
+ billing: CreditCard,
58
+ ellipsis: MoreVertical,
59
+ add: Plus,
60
+ warning: AlertTriangle,
61
+ user: User,
62
+ arrowRight: ArrowRight,
63
+ help: HelpCircle,
64
+ pizza: Pizza,
65
+ twitter: Twitter,
66
+ check: Check,
67
+ copy: Copy,
68
+ copyDone: ClipboardCheck,
69
+ sun: SunMedium,
70
+ moon: Moon,
71
+ laptop: Laptop,
72
+ gitHub: (props: LucideProps) => (
73
+ <svg viewBox="0 0 438.549 438.549" {...props}>
74
+ <path
75
+ fill="currentColor"
76
+ 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"
77
+ ></path>
78
+ </svg>
79
+ ),
80
+ radix: (props: LucideProps) => (
81
+ <svg viewBox="0 0 25 25" fill="none" {...props}>
82
+ <path
83
+ d="M12 25C7.58173 25 4 21.4183 4 17C4 12.5817 7.58173 9 12 9V25Z"
84
+ fill="currentcolor"
85
+ ></path>
86
+ <path d="M12 0H4V8H12V0Z" fill="currentcolor"></path>
87
+ <path
88
+ 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"
89
+ fill="currentcolor"
90
+ ></path>
91
+ </svg>
92
+ ),
93
+ aria: (props: LucideProps) => (
94
+ <svg role="img" viewBox="0 0 24 24" fill="currentColor" {...props}>
95
+ <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" />
96
+ </svg>
97
+ ),
98
+ npm: (props: LucideProps) => (
99
+ <svg viewBox="0 0 24 24" {...props}>
100
+ <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" />
101
+ </svg>
102
+ ),
103
+ yarn: (props: LucideProps) => (
104
+ <svg viewBox="0 0 24 24" {...props}>
105
+ <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" />
106
+ </svg>
107
+ ),
108
+ pnpm: (props: LucideProps) => (
109
+ <svg viewBox="0 0 24 24" {...props}>
110
+ <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" />
111
+ </svg>
112
+ ),
113
+ react: (props: LucideProps) => (
114
+ <svg viewBox="0 0 24 24" {...props}>
115
+ <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" />
116
+ </svg>
117
+ ),
118
+ tailwind: (props: LucideProps) => (
119
+ <svg viewBox="0 0 24 24" {...props}>
120
+ <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" />
121
+ </svg>
122
+ ),
123
+ google: (props: LucideProps) => (
124
+ <svg role="img" viewBox="0 0 24 24" {...props}>
125
+ <path
126
+ fill="currentColor"
127
+ 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"
128
+ />
129
+ </svg>
130
+ ),
131
+ apple: (props: LucideProps) => (
132
+ <svg role="img" viewBox="0 0 24 24" {...props}>
133
+ <path
134
+ 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"
135
+ fill="currentColor"
136
+ />
137
+ </svg>
138
+ ),
139
+ paypal: (props: LucideProps) => (
140
+ <svg role="img" viewBox="0 0 24 24" {...props}>
141
+ <path
142
+ 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"
143
+ fill="currentColor"
144
+ />
145
+ </svg>
146
+ ),
147
+
148
+ minimize: (props: LucideProps) => (
149
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" {...props}>
150
+ <path
151
+ fill="currentColor"
152
+ 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"
153
+ />
154
+ </svg>
155
+ ),
156
+ }