create-tauri-ui 0.2.1 → 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 (263) hide show
  1. package/README.md +19 -10
  2. package/dist/index.mjs +26 -26
  3. package/package.json +55 -54
  4. package/templates/.shared/app-icon.png +0 -0
  5. package/templates/.shared/src-tauri/Cargo.lock +3832 -3701
  6. package/templates/.shared/src-tauri/Cargo.toml +4 -1
  7. package/templates/.shared/src-tauri/src/main.rs +3 -0
  8. package/templates/.shared/src-tauri/tauri.conf.json +1 -9
  9. package/templates/next/components.json +1 -1
  10. package/templates/next/package.json +87 -83
  11. package/templates/next/pnpm-lock.yaml +608 -566
  12. package/templates/next/src/app/examples/cards/components/date-picker.tsx +3 -1
  13. package/templates/next/src/app/examples/cards/components/github-card.tsx +2 -0
  14. package/templates/next/src/app/examples/cards/components/notifications.tsx +2 -0
  15. package/templates/next/src/app/examples/cards/components/payment-method.tsx +3 -1
  16. package/templates/next/src/app/examples/cards/components/team-members.tsx +3 -5
  17. package/templates/next/src/app/examples/forms/page.tsx +1 -1
  18. package/templates/next/src/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  19. package/templates/next/src/components/about-dialog.tsx +111 -0
  20. package/templates/next/src/components/icons.tsx +156 -154
  21. package/templates/next/src/components/menu-mode-toggle.tsx +47 -46
  22. package/templates/next/src/components/menu.tsx +178 -214
  23. package/templates/next/src/components/page-header.tsx +2 -0
  24. package/templates/next/src/components/ui/accordion.tsx +60 -60
  25. package/templates/next/src/components/ui/alert-dialog.tsx +145 -145
  26. package/templates/next/src/components/ui/alert.tsx +59 -59
  27. package/templates/next/src/components/ui/aspect-ratio.tsx +7 -7
  28. package/templates/next/src/components/ui/avatar.tsx +50 -50
  29. package/templates/next/src/components/ui/badge.tsx +36 -36
  30. package/templates/next/src/components/ui/button.tsx +56 -56
  31. package/templates/next/src/components/ui/calendar.tsx +64 -64
  32. package/templates/next/src/components/ui/card.tsx +79 -79
  33. package/templates/next/src/components/ui/checkbox.tsx +30 -30
  34. package/templates/next/src/components/ui/collapsible.tsx +11 -11
  35. package/templates/next/src/components/ui/command.tsx +155 -155
  36. package/templates/next/src/components/ui/context-menu.tsx +200 -200
  37. package/templates/next/src/components/ui/dialog.tsx +123 -123
  38. package/templates/next/src/components/ui/dropdown-menu.tsx +200 -200
  39. package/templates/next/src/components/ui/form.tsx +176 -176
  40. package/templates/next/src/components/ui/hover-card.tsx +29 -29
  41. package/templates/next/src/components/ui/input.tsx +25 -25
  42. package/templates/next/src/components/ui/label.tsx +26 -26
  43. package/templates/next/src/components/ui/menubar.tsx +236 -236
  44. package/templates/next/src/components/ui/navigation-menu.tsx +128 -128
  45. package/templates/next/src/components/ui/popover.tsx +31 -31
  46. package/templates/next/src/components/ui/progress.tsx +28 -28
  47. package/templates/next/src/components/ui/radio-group.tsx +44 -44
  48. package/templates/next/src/components/ui/scroll-area.tsx +48 -48
  49. package/templates/next/src/components/ui/select.tsx +121 -121
  50. package/templates/next/src/components/ui/separator.tsx +31 -31
  51. package/templates/next/src/components/ui/sheet.tsx +144 -144
  52. package/templates/next/src/components/ui/skeleton.tsx +15 -15
  53. package/templates/next/src/components/ui/slider.tsx +28 -28
  54. package/templates/next/src/components/ui/switch.tsx +29 -29
  55. package/templates/next/src/components/ui/table.tsx +114 -114
  56. package/templates/next/src/components/ui/tabs.tsx +55 -55
  57. package/templates/next/src/components/ui/textarea.tsx +24 -24
  58. package/templates/next/src/components/ui/toast.tsx +127 -127
  59. package/templates/next/src/components/ui/toaster.tsx +35 -35
  60. package/templates/next/src/components/ui/toggle.tsx +45 -45
  61. package/templates/next/src/components/ui/tooltip.tsx +30 -30
  62. package/templates/next/src/components/ui/use-toast.ts +192 -192
  63. package/templates/next/src/styles/globals.css +5 -3
  64. package/templates/next/src-tauri/Cargo.lock +270 -139
  65. package/templates/next/src-tauri/Cargo.toml +39 -36
  66. package/templates/next/src-tauri/src/main.rs +22 -19
  67. package/templates/next/src-tauri/tauri.conf.json +1 -9
  68. package/templates/sveltekit/.github/workflows/release.yml +108 -108
  69. package/templates/sveltekit/package.json +84 -84
  70. package/templates/sveltekit/pnpm-lock.yaml +1069 -691
  71. package/templates/sveltekit/src/app.html +1 -1
  72. package/templates/sveltekit/src-tauri/Cargo.lock +3701 -3701
  73. package/templates/sveltekit/src-tauri/Cargo.toml +36 -36
  74. package/templates/sveltekit/src-tauri/tauri.conf.json +71 -79
  75. package/templates/sveltekit/static/favicon.ico +0 -0
  76. package/templates/sveltekit/vite.config.js +10 -6
  77. package/templates/vite/index.html +1 -1
  78. package/templates/vite/package.json +83 -76
  79. package/templates/vite/pnpm-lock.yaml +5178 -5110
  80. package/templates/vite/src/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  81. package/templates/vite/src/components/about-dialog.tsx +101 -0
  82. package/templates/vite/src/components/icons.tsx +2 -2
  83. package/templates/vite/src/components/menu-mode-toggle.tsx +4 -3
  84. package/templates/vite/src/components/menu.tsx +177 -197
  85. package/templates/vite/src/components/ui/accordion.tsx +1 -3
  86. package/templates/vite/src/components/ui/alert-dialog.tsx +3 -10
  87. package/templates/vite/src/components/ui/alert.tsx +3 -5
  88. package/templates/vite/src/components/ui/aspect-ratio.tsx +0 -2
  89. package/templates/vite/src/components/ui/avatar.tsx +0 -2
  90. package/templates/vite/src/components/ui/badge.tsx +5 -5
  91. package/templates/vite/src/components/ui/button.tsx +15 -10
  92. package/templates/vite/src/components/ui/calendar.tsx +0 -2
  93. package/templates/vite/src/components/ui/card.tsx +1 -3
  94. package/templates/vite/src/components/ui/checkbox.tsx +2 -4
  95. package/templates/vite/src/components/ui/collapsible.tsx +0 -2
  96. package/templates/vite/src/components/ui/command.tsx +2 -4
  97. package/templates/vite/src/components/ui/context-menu.tsx +6 -8
  98. package/templates/vite/src/components/ui/dialog.tsx +4 -11
  99. package/templates/vite/src/components/ui/dropdown-menu.tsx +6 -8
  100. package/templates/vite/src/components/ui/form.tsx +176 -0
  101. package/templates/vite/src/components/ui/hover-card.tsx +1 -3
  102. package/templates/vite/src/components/ui/input.tsx +1 -3
  103. package/templates/vite/src/components/ui/label.tsx +1 -3
  104. package/templates/vite/src/components/ui/menubar.tsx +7 -9
  105. package/templates/vite/src/components/ui/navigation-menu.tsx +2 -4
  106. package/templates/vite/src/components/ui/popover.tsx +1 -3
  107. package/templates/vite/src/components/ui/progress.tsx +0 -2
  108. package/templates/vite/src/components/ui/radio-group.tsx +2 -4
  109. package/templates/vite/src/components/ui/scroll-area.tsx +0 -2
  110. package/templates/vite/src/components/ui/select.tsx +4 -5
  111. package/templates/vite/src/components/ui/separator.tsx +0 -2
  112. package/templates/vite/src/components/ui/sheet.tsx +22 -110
  113. package/templates/vite/src/components/ui/skeleton.tsx +0 -2
  114. package/templates/vite/src/components/ui/slider.tsx +0 -2
  115. package/templates/vite/src/components/ui/switch.tsx +1 -3
  116. package/templates/vite/src/components/ui/table.tsx +1 -1
  117. package/templates/vite/src/components/ui/tabs.tsx +1 -3
  118. package/templates/vite/src/components/ui/textarea.tsx +1 -3
  119. package/templates/vite/src/components/ui/toast.tsx +6 -8
  120. package/templates/vite/src/components/ui/toaster.tsx +0 -2
  121. package/templates/vite/src/components/ui/toggle.tsx +3 -5
  122. package/templates/vite/src/components/ui/tooltip.tsx +1 -3
  123. package/templates/vite/src/components/ui/use-toast.ts +5 -4
  124. package/templates/vite/src/styles/globals.css +5 -3
  125. package/templates/vite/src-tauri/Cargo.lock +3832 -3701
  126. package/templates/vite/src-tauri/Cargo.toml +39 -36
  127. package/templates/vite/src-tauri/src/main.rs +8 -2
  128. package/templates/vite/src-tauri/tauri.conf.json +1 -9
  129. package/templates/vite/vite.config.ts +2 -2
  130. package/templates/next/src/assets/Inter.var.woff2 +0 -0
  131. package/templates/vite/src/assets/Inter.var.woff2 +0 -0
  132. package/templates/viteuno/.github/workflows/release.yml +0 -108
  133. package/templates/viteuno/.vscode/extensions.json +0 -3
  134. package/templates/viteuno/README.md +0 -1
  135. package/templates/viteuno/app-icon.png +0 -0
  136. package/templates/viteuno/components.json +0 -16
  137. package/templates/viteuno/index.html +0 -16
  138. package/templates/viteuno/package.json +0 -73
  139. package/templates/viteuno/pnpm-lock.yaml +0 -5298
  140. package/templates/viteuno/preset.shadcn.ts +0 -160
  141. package/templates/viteuno/prettier.config.cjs +0 -34
  142. package/templates/viteuno/public/avatars/01.png +0 -0
  143. package/templates/viteuno/public/avatars/02.png +0 -0
  144. package/templates/viteuno/public/avatars/03.png +0 -0
  145. package/templates/viteuno/public/avatars/04.png +0 -0
  146. package/templates/viteuno/public/avatars/05.png +0 -0
  147. package/templates/viteuno/src/App.tsx +0 -39
  148. package/templates/viteuno/src/assets/Inter.var.woff2 +0 -0
  149. package/templates/viteuno/src/components/icons.tsx +0 -154
  150. package/templates/viteuno/src/components/menu-mode-toggle.tsx +0 -46
  151. package/templates/viteuno/src/components/menu.tsx +0 -232
  152. package/templates/viteuno/src/components/tailwind-indicator.tsx +0 -18
  153. package/templates/viteuno/src/components/theme-provider.tsx +0 -9
  154. package/templates/viteuno/src/components/ui/accordion.tsx +0 -60
  155. package/templates/viteuno/src/components/ui/alert-dialog.tsx +0 -150
  156. package/templates/viteuno/src/components/ui/alert.tsx +0 -61
  157. package/templates/viteuno/src/components/ui/aspect-ratio.tsx +0 -7
  158. package/templates/viteuno/src/components/ui/avatar.tsx +0 -50
  159. package/templates/viteuno/src/components/ui/badge.tsx +0 -36
  160. package/templates/viteuno/src/components/ui/button.tsx +0 -51
  161. package/templates/viteuno/src/components/ui/calendar.tsx +0 -64
  162. package/templates/viteuno/src/components/ui/card.tsx +0 -81
  163. package/templates/viteuno/src/components/ui/checkbox.tsx +0 -30
  164. package/templates/viteuno/src/components/ui/collapsible.tsx +0 -11
  165. package/templates/viteuno/src/components/ui/command.tsx +0 -155
  166. package/templates/viteuno/src/components/ui/context-menu.tsx +0 -200
  167. package/templates/viteuno/src/components/ui/dialog.tsx +0 -128
  168. package/templates/viteuno/src/components/ui/dropdown-menu.tsx +0 -200
  169. package/templates/viteuno/src/components/ui/hover-card.tsx +0 -29
  170. package/templates/viteuno/src/components/ui/index.ts +0 -0
  171. package/templates/viteuno/src/components/ui/input.tsx +0 -27
  172. package/templates/viteuno/src/components/ui/label.tsx +0 -26
  173. package/templates/viteuno/src/components/ui/menubar.tsx +0 -236
  174. package/templates/viteuno/src/components/ui/navigation-menu.tsx +0 -130
  175. package/templates/viteuno/src/components/ui/popover.tsx +0 -31
  176. package/templates/viteuno/src/components/ui/progress.tsx +0 -28
  177. package/templates/viteuno/src/components/ui/radio-group.tsx +0 -44
  178. package/templates/viteuno/src/components/ui/scroll-area.tsx +0 -48
  179. package/templates/viteuno/src/components/ui/select.tsx +0 -120
  180. package/templates/viteuno/src/components/ui/separator.tsx +0 -31
  181. package/templates/viteuno/src/components/ui/sheet.tsx +0 -230
  182. package/templates/viteuno/src/components/ui/skeleton.tsx +0 -17
  183. package/templates/viteuno/src/components/ui/slider.tsx +0 -28
  184. package/templates/viteuno/src/components/ui/switch.tsx +0 -29
  185. package/templates/viteuno/src/components/ui/table.tsx +0 -114
  186. package/templates/viteuno/src/components/ui/tabs.tsx +0 -55
  187. package/templates/viteuno/src/components/ui/textarea.tsx +0 -26
  188. package/templates/viteuno/src/components/ui/toast.tsx +0 -129
  189. package/templates/viteuno/src/components/ui/toaster.tsx +0 -35
  190. package/templates/viteuno/src/components/ui/toggle.tsx +0 -45
  191. package/templates/viteuno/src/components/ui/tooltip.tsx +0 -30
  192. package/templates/viteuno/src/components/ui/use-toast.ts +0 -191
  193. package/templates/viteuno/src/dashboard/components/date-range-picker.tsx +0 -66
  194. package/templates/viteuno/src/dashboard/components/main-nav.tsx +0 -38
  195. package/templates/viteuno/src/dashboard/components/overview.tsx +0 -78
  196. package/templates/viteuno/src/dashboard/components/recent-sales.tsx +0 -67
  197. package/templates/viteuno/src/dashboard/components/search.tsx +0 -13
  198. package/templates/viteuno/src/dashboard/components/team-switcher.tsx +0 -205
  199. package/templates/viteuno/src/dashboard/components/user-nav.tsx +0 -67
  200. package/templates/viteuno/src/dashboard/page.tsx +0 -140
  201. package/templates/viteuno/src/lib/utils.ts +0 -19
  202. package/templates/viteuno/src/main.tsx +0 -14
  203. package/templates/viteuno/src/styles/globals.css +0 -4
  204. package/templates/viteuno/src/vite-env.d.ts +0 -1
  205. package/templates/viteuno/src-tauri/Cargo.lock +0 -3701
  206. package/templates/viteuno/src-tauri/Cargo.toml +0 -36
  207. package/templates/viteuno/src-tauri/build.rs +0 -3
  208. package/templates/viteuno/src-tauri/icons/128x128.png +0 -0
  209. package/templates/viteuno/src-tauri/icons/128x128@2x.png +0 -0
  210. package/templates/viteuno/src-tauri/icons/32x32.png +0 -0
  211. package/templates/viteuno/src-tauri/icons/Square107x107Logo.png +0 -0
  212. package/templates/viteuno/src-tauri/icons/Square142x142Logo.png +0 -0
  213. package/templates/viteuno/src-tauri/icons/Square150x150Logo.png +0 -0
  214. package/templates/viteuno/src-tauri/icons/Square284x284Logo.png +0 -0
  215. package/templates/viteuno/src-tauri/icons/Square30x30Logo.png +0 -0
  216. package/templates/viteuno/src-tauri/icons/Square310x310Logo.png +0 -0
  217. package/templates/viteuno/src-tauri/icons/Square44x44Logo.png +0 -0
  218. package/templates/viteuno/src-tauri/icons/Square71x71Logo.png +0 -0
  219. package/templates/viteuno/src-tauri/icons/Square89x89Logo.png +0 -0
  220. package/templates/viteuno/src-tauri/icons/StoreLogo.png +0 -0
  221. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  222. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  223. package/templates/viteuno/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  224. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  225. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  226. package/templates/viteuno/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  227. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  228. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  229. package/templates/viteuno/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  230. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  231. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  232. package/templates/viteuno/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  233. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  234. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  235. package/templates/viteuno/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  236. package/templates/viteuno/src-tauri/icons/icon.icns +0 -0
  237. package/templates/viteuno/src-tauri/icons/icon.ico +0 -0
  238. package/templates/viteuno/src-tauri/icons/icon.png +0 -0
  239. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  240. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  241. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  242. package/templates/viteuno/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  243. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  244. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  245. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  246. package/templates/viteuno/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  247. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  248. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  249. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  250. package/templates/viteuno/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  251. package/templates/viteuno/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  252. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  253. package/templates/viteuno/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  254. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  255. package/templates/viteuno/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  256. package/templates/viteuno/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  257. package/templates/viteuno/src-tauri/src/main.rs +0 -16
  258. package/templates/viteuno/src-tauri/tauri.conf.json +0 -79
  259. package/templates/viteuno/tsconfig.json +0 -26
  260. package/templates/viteuno/tsconfig.node.json +0 -9
  261. package/templates/viteuno/uno.config.ts +0 -111
  262. package/templates/viteuno/vite.config.ts +0 -33
  263. /package/templates/next/src/app/examples/forms/{profile-form.tsx → components/profile-form.tsx} +0 -0
@@ -1,28 +1,28 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as SliderPrimitive from "@radix-ui/react-slider"
5
-
6
- import { cn } from "@/lib/utils"
7
-
8
- const Slider = React.forwardRef<
9
- React.ElementRef<typeof SliderPrimitive.Root>,
10
- React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
11
- >(({ className, ...props }, ref) => (
12
- <SliderPrimitive.Root
13
- ref={ref}
14
- className={cn(
15
- "relative flex w-full touch-none select-none items-center",
16
- className
17
- )}
18
- {...props}
19
- >
20
- <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-secondary">
21
- <SliderPrimitive.Range className="absolute h-full bg-primary" />
22
- </SliderPrimitive.Track>
23
- <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" />
24
- </SliderPrimitive.Root>
25
- ))
26
- Slider.displayName = SliderPrimitive.Root.displayName
27
-
28
- export { Slider }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as SliderPrimitive from "@radix-ui/react-slider"
5
+
6
+ import { cn } from "@/lib/utils"
7
+
8
+ const Slider = React.forwardRef<
9
+ React.ElementRef<typeof SliderPrimitive.Root>,
10
+ React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
11
+ >(({ className, ...props }, ref) => (
12
+ <SliderPrimitive.Root
13
+ ref={ref}
14
+ className={cn(
15
+ "relative flex w-full touch-none select-none items-center",
16
+ className
17
+ )}
18
+ {...props}
19
+ >
20
+ <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-secondary">
21
+ <SliderPrimitive.Range className="absolute h-full bg-primary" />
22
+ </SliderPrimitive.Track>
23
+ <SliderPrimitive.Thumb className="block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" />
24
+ </SliderPrimitive.Root>
25
+ ))
26
+ Slider.displayName = SliderPrimitive.Root.displayName
27
+
28
+ export { Slider }
@@ -1,29 +1,29 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as SwitchPrimitives from "@radix-ui/react-switch"
5
-
6
- import { cn } from "@/lib/utils"
7
-
8
- const Switch = React.forwardRef<
9
- React.ElementRef<typeof SwitchPrimitives.Root>,
10
- React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>
11
- >(({ className, ...props }, ref) => (
12
- <SwitchPrimitives.Root
13
- className={cn(
14
- "peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
15
- className
16
- )}
17
- {...props}
18
- ref={ref}
19
- >
20
- <SwitchPrimitives.Thumb
21
- className={cn(
22
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
23
- )}
24
- />
25
- </SwitchPrimitives.Root>
26
- ))
27
- Switch.displayName = SwitchPrimitives.Root.displayName
28
-
29
- export { Switch }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as SwitchPrimitives from "@radix-ui/react-switch"
5
+
6
+ import { cn } from "@/lib/utils"
7
+
8
+ const Switch = React.forwardRef<
9
+ React.ElementRef<typeof SwitchPrimitives.Root>,
10
+ React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>
11
+ >(({ className, ...props }, ref) => (
12
+ <SwitchPrimitives.Root
13
+ className={cn(
14
+ "peer inline-flex h-[24px] w-[44px] shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
15
+ className
16
+ )}
17
+ {...props}
18
+ ref={ref}
19
+ >
20
+ <SwitchPrimitives.Thumb
21
+ className={cn(
22
+ "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
23
+ )}
24
+ />
25
+ </SwitchPrimitives.Root>
26
+ ))
27
+ Switch.displayName = SwitchPrimitives.Root.displayName
28
+
29
+ export { Switch }
@@ -1,114 +1,114 @@
1
- import * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- const Table = React.forwardRef<
6
- HTMLTableElement,
7
- React.HTMLAttributes<HTMLTableElement>
8
- >(({ className, ...props }, ref) => (
9
- <div className="w-full overflow-auto">
10
- <table
11
- ref={ref}
12
- className={cn("w-full caption-bottom text-sm", className)}
13
- {...props}
14
- />
15
- </div>
16
- ))
17
- Table.displayName = "Table"
18
-
19
- const TableHeader = React.forwardRef<
20
- HTMLTableSectionElement,
21
- React.HTMLAttributes<HTMLTableSectionElement>
22
- >(({ className, ...props }, ref) => (
23
- <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
24
- ))
25
- TableHeader.displayName = "TableHeader"
26
-
27
- const TableBody = React.forwardRef<
28
- HTMLTableSectionElement,
29
- React.HTMLAttributes<HTMLTableSectionElement>
30
- >(({ className, ...props }, ref) => (
31
- <tbody
32
- ref={ref}
33
- className={cn("[&_tr:last-child]:border-0", className)}
34
- {...props}
35
- />
36
- ))
37
- TableBody.displayName = "TableBody"
38
-
39
- const TableFooter = React.forwardRef<
40
- HTMLTableSectionElement,
41
- React.HTMLAttributes<HTMLTableSectionElement>
42
- >(({ className, ...props }, ref) => (
43
- <tfoot
44
- ref={ref}
45
- className={cn("bg-primary font-medium text-primary-foreground", className)}
46
- {...props}
47
- />
48
- ))
49
- TableFooter.displayName = "TableFooter"
50
-
51
- const TableRow = React.forwardRef<
52
- HTMLTableRowElement,
53
- React.HTMLAttributes<HTMLTableRowElement>
54
- >(({ className, ...props }, ref) => (
55
- <tr
56
- ref={ref}
57
- className={cn(
58
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
59
- className
60
- )}
61
- {...props}
62
- />
63
- ))
64
- TableRow.displayName = "TableRow"
65
-
66
- const TableHead = React.forwardRef<
67
- HTMLTableCellElement,
68
- React.ThHTMLAttributes<HTMLTableCellElement>
69
- >(({ className, ...props }, ref) => (
70
- <th
71
- ref={ref}
72
- className={cn(
73
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
74
- className
75
- )}
76
- {...props}
77
- />
78
- ))
79
- TableHead.displayName = "TableHead"
80
-
81
- const TableCell = React.forwardRef<
82
- HTMLTableCellElement,
83
- React.TdHTMLAttributes<HTMLTableCellElement>
84
- >(({ className, ...props }, ref) => (
85
- <td
86
- ref={ref}
87
- className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
88
- {...props}
89
- />
90
- ))
91
- TableCell.displayName = "TableCell"
92
-
93
- const TableCaption = React.forwardRef<
94
- HTMLTableCaptionElement,
95
- React.HTMLAttributes<HTMLTableCaptionElement>
96
- >(({ className, ...props }, ref) => (
97
- <caption
98
- ref={ref}
99
- className={cn("mt-4 text-sm text-muted-foreground", className)}
100
- {...props}
101
- />
102
- ))
103
- TableCaption.displayName = "TableCaption"
104
-
105
- export {
106
- Table,
107
- TableHeader,
108
- TableBody,
109
- TableFooter,
110
- TableHead,
111
- TableRow,
112
- TableCell,
113
- TableCaption,
114
- }
1
+ import * as React from "react"
2
+
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const Table = React.forwardRef<
6
+ HTMLTableElement,
7
+ React.HTMLAttributes<HTMLTableElement>
8
+ >(({ className, ...props }, ref) => (
9
+ <div className="w-full overflow-auto">
10
+ <table
11
+ ref={ref}
12
+ className={cn("w-full caption-bottom text-sm", className)}
13
+ {...props}
14
+ />
15
+ </div>
16
+ ))
17
+ Table.displayName = "Table"
18
+
19
+ const TableHeader = React.forwardRef<
20
+ HTMLTableSectionElement,
21
+ React.HTMLAttributes<HTMLTableSectionElement>
22
+ >(({ className, ...props }, ref) => (
23
+ <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
24
+ ))
25
+ TableHeader.displayName = "TableHeader"
26
+
27
+ const TableBody = React.forwardRef<
28
+ HTMLTableSectionElement,
29
+ React.HTMLAttributes<HTMLTableSectionElement>
30
+ >(({ className, ...props }, ref) => (
31
+ <tbody
32
+ ref={ref}
33
+ className={cn("[&_tr:last-child]:border-0", className)}
34
+ {...props}
35
+ />
36
+ ))
37
+ TableBody.displayName = "TableBody"
38
+
39
+ const TableFooter = React.forwardRef<
40
+ HTMLTableSectionElement,
41
+ React.HTMLAttributes<HTMLTableSectionElement>
42
+ >(({ className, ...props }, ref) => (
43
+ <tfoot
44
+ ref={ref}
45
+ className={cn("bg-primary font-medium text-primary-foreground", className)}
46
+ {...props}
47
+ />
48
+ ))
49
+ TableFooter.displayName = "TableFooter"
50
+
51
+ const TableRow = React.forwardRef<
52
+ HTMLTableRowElement,
53
+ React.HTMLAttributes<HTMLTableRowElement>
54
+ >(({ className, ...props }, ref) => (
55
+ <tr
56
+ ref={ref}
57
+ className={cn(
58
+ "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
59
+ className
60
+ )}
61
+ {...props}
62
+ />
63
+ ))
64
+ TableRow.displayName = "TableRow"
65
+
66
+ const TableHead = React.forwardRef<
67
+ HTMLTableCellElement,
68
+ React.ThHTMLAttributes<HTMLTableCellElement>
69
+ >(({ className, ...props }, ref) => (
70
+ <th
71
+ ref={ref}
72
+ className={cn(
73
+ "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
74
+ className
75
+ )}
76
+ {...props}
77
+ />
78
+ ))
79
+ TableHead.displayName = "TableHead"
80
+
81
+ const TableCell = React.forwardRef<
82
+ HTMLTableCellElement,
83
+ React.TdHTMLAttributes<HTMLTableCellElement>
84
+ >(({ className, ...props }, ref) => (
85
+ <td
86
+ ref={ref}
87
+ className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
88
+ {...props}
89
+ />
90
+ ))
91
+ TableCell.displayName = "TableCell"
92
+
93
+ const TableCaption = React.forwardRef<
94
+ HTMLTableCaptionElement,
95
+ React.HTMLAttributes<HTMLTableCaptionElement>
96
+ >(({ className, ...props }, ref) => (
97
+ <caption
98
+ ref={ref}
99
+ className={cn("mt-4 text-sm text-muted-foreground", className)}
100
+ {...props}
101
+ />
102
+ ))
103
+ TableCaption.displayName = "TableCaption"
104
+
105
+ export {
106
+ Table,
107
+ TableHeader,
108
+ TableBody,
109
+ TableFooter,
110
+ TableHead,
111
+ TableRow,
112
+ TableCell,
113
+ TableCaption,
114
+ }
@@ -1,55 +1,55 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as TabsPrimitive from "@radix-ui/react-tabs"
5
-
6
- import { cn } from "@/lib/utils"
7
-
8
- const Tabs = TabsPrimitive.Root
9
-
10
- const TabsList = React.forwardRef<
11
- React.ElementRef<typeof TabsPrimitive.List>,
12
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
13
- >(({ className, ...props }, ref) => (
14
- <TabsPrimitive.List
15
- ref={ref}
16
- className={cn(
17
- "inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
18
- className
19
- )}
20
- {...props}
21
- />
22
- ))
23
- TabsList.displayName = TabsPrimitive.List.displayName
24
-
25
- const TabsTrigger = React.forwardRef<
26
- React.ElementRef<typeof TabsPrimitive.Trigger>,
27
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
28
- >(({ className, ...props }, ref) => (
29
- <TabsPrimitive.Trigger
30
- ref={ref}
31
- className={cn(
32
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
33
- className
34
- )}
35
- {...props}
36
- />
37
- ))
38
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
39
-
40
- const TabsContent = React.forwardRef<
41
- React.ElementRef<typeof TabsPrimitive.Content>,
42
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
43
- >(({ className, ...props }, ref) => (
44
- <TabsPrimitive.Content
45
- ref={ref}
46
- className={cn(
47
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
48
- className
49
- )}
50
- {...props}
51
- />
52
- ))
53
- TabsContent.displayName = TabsPrimitive.Content.displayName
54
-
55
- export { Tabs, TabsList, TabsTrigger, TabsContent }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as TabsPrimitive from "@radix-ui/react-tabs"
5
+
6
+ import { cn } from "@/lib/utils"
7
+
8
+ const Tabs = TabsPrimitive.Root
9
+
10
+ const TabsList = React.forwardRef<
11
+ React.ElementRef<typeof TabsPrimitive.List>,
12
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
13
+ >(({ className, ...props }, ref) => (
14
+ <TabsPrimitive.List
15
+ ref={ref}
16
+ className={cn(
17
+ "inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
18
+ className
19
+ )}
20
+ {...props}
21
+ />
22
+ ))
23
+ TabsList.displayName = TabsPrimitive.List.displayName
24
+
25
+ const TabsTrigger = React.forwardRef<
26
+ React.ElementRef<typeof TabsPrimitive.Trigger>,
27
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
28
+ >(({ className, ...props }, ref) => (
29
+ <TabsPrimitive.Trigger
30
+ ref={ref}
31
+ className={cn(
32
+ "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
33
+ className
34
+ )}
35
+ {...props}
36
+ />
37
+ ))
38
+ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
39
+
40
+ const TabsContent = React.forwardRef<
41
+ React.ElementRef<typeof TabsPrimitive.Content>,
42
+ React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
43
+ >(({ className, ...props }, ref) => (
44
+ <TabsPrimitive.Content
45
+ ref={ref}
46
+ className={cn(
47
+ "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
48
+ className
49
+ )}
50
+ {...props}
51
+ />
52
+ ))
53
+ TabsContent.displayName = TabsPrimitive.Content.displayName
54
+
55
+ export { Tabs, TabsList, TabsTrigger, TabsContent }
@@ -1,24 +1,24 @@
1
- import * as React from "react"
2
-
3
- import { cn } from "@/lib/utils"
4
-
5
- export interface TextareaProps
6
- extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
7
-
8
- const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
9
- ({ className, ...props }, ref) => {
10
- return (
11
- <textarea
12
- className={cn(
13
- "flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
14
- className
15
- )}
16
- ref={ref}
17
- {...props}
18
- />
19
- )
20
- }
21
- )
22
- Textarea.displayName = "Textarea"
23
-
24
- export { Textarea }
1
+ import * as React from "react"
2
+
3
+ import { cn } from "@/lib/utils"
4
+
5
+ export interface TextareaProps
6
+ extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
7
+
8
+ const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
9
+ ({ className, ...props }, ref) => {
10
+ return (
11
+ <textarea
12
+ className={cn(
13
+ "flex min-h-[80px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
14
+ className
15
+ )}
16
+ ref={ref}
17
+ {...props}
18
+ />
19
+ )
20
+ }
21
+ )
22
+ Textarea.displayName = "Textarea"
23
+
24
+ export { Textarea }