create-tauri-ui 0.3.2 → 0.3.3

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 (245) hide show
  1. package/index.js +1 -1
  2. package/package.json +6 -6
  3. package/templates/.shared/.github/workflows/release.yml +112 -112
  4. package/templates/.shared/src-tauri/Cargo.lock +3835 -3835
  5. package/templates/.shared/src-tauri/Cargo.toml +4 -4
  6. package/templates/.shared/src-tauri/build.rs +3 -3
  7. package/templates/.shared/src-tauri/src/main.rs +22 -22
  8. package/templates/next/.github/workflows/release.yml +108 -108
  9. package/templates/next/.vscode/extensions.json +3 -3
  10. package/templates/next/README.md +95 -95
  11. package/templates/next/next-env.d.ts +5 -5
  12. package/templates/next/package.json +87 -87
  13. package/templates/next/pnpm-lock.yaml +4911 -4911
  14. package/templates/next/postcss.config.js +6 -6
  15. package/templates/next/prettier.config.js +35 -35
  16. package/templates/next/src/app/examples/layout.tsx +7 -7
  17. package/templates/next/src/app/page.tsx +5 -5
  18. package/templates/next/src/components/examples-nav.tsx +70 -70
  19. package/templates/next/src/components/greeting.tsx +21 -21
  20. package/templates/next/src/components/mode-toggle.tsx +43 -43
  21. package/templates/next/src/components/page-header.tsx +52 -52
  22. package/templates/next/src/components/style-switcher.tsx +19 -19
  23. package/templates/next/src/components/tailwind-indicator.tsx +18 -18
  24. package/templates/next/src/components/theme-provider.tsx +9 -9
  25. package/templates/next/src/components/ui/accordion.tsx +60 -60
  26. package/templates/next/src/components/ui/alert-dialog.tsx +145 -145
  27. package/templates/next/src/components/ui/alert.tsx +59 -59
  28. package/templates/next/src/components/ui/aspect-ratio.tsx +7 -7
  29. package/templates/next/src/components/ui/avatar.tsx +50 -50
  30. package/templates/next/src/components/ui/badge.tsx +36 -36
  31. package/templates/next/src/components/ui/button.tsx +56 -56
  32. package/templates/next/src/components/ui/calendar.tsx +64 -64
  33. package/templates/next/src/components/ui/card.tsx +79 -79
  34. package/templates/next/src/components/ui/checkbox.tsx +30 -30
  35. package/templates/next/src/components/ui/collapsible.tsx +11 -11
  36. package/templates/next/src/components/ui/command.tsx +155 -155
  37. package/templates/next/src/components/ui/context-menu.tsx +200 -200
  38. package/templates/next/src/components/ui/dialog.tsx +123 -123
  39. package/templates/next/src/components/ui/dropdown-menu.tsx +200 -200
  40. package/templates/next/src/components/ui/form.tsx +176 -176
  41. package/templates/next/src/components/ui/hover-card.tsx +29 -29
  42. package/templates/next/src/components/ui/input.tsx +25 -25
  43. package/templates/next/src/components/ui/label.tsx +26 -26
  44. package/templates/next/src/components/ui/menubar.tsx +236 -236
  45. package/templates/next/src/components/ui/navigation-menu.tsx +128 -128
  46. package/templates/next/src/components/ui/popover.tsx +31 -31
  47. package/templates/next/src/components/ui/progress.tsx +28 -28
  48. package/templates/next/src/components/ui/radio-group.tsx +44 -44
  49. package/templates/next/src/components/ui/scroll-area.tsx +48 -48
  50. package/templates/next/src/components/ui/select.tsx +121 -121
  51. package/templates/next/src/components/ui/separator.tsx +31 -31
  52. package/templates/next/src/components/ui/sheet.tsx +144 -144
  53. package/templates/next/src/components/ui/skeleton.tsx +15 -15
  54. package/templates/next/src/components/ui/slider.tsx +28 -28
  55. package/templates/next/src/components/ui/switch.tsx +29 -29
  56. package/templates/next/src/components/ui/table.tsx +114 -114
  57. package/templates/next/src/components/ui/tabs.tsx +55 -55
  58. package/templates/next/src/components/ui/textarea.tsx +24 -24
  59. package/templates/next/src/components/ui/toast.tsx +127 -127
  60. package/templates/next/src/components/ui/toaster.tsx +35 -35
  61. package/templates/next/src/components/ui/toggle.tsx +45 -45
  62. package/templates/next/src/components/ui/tooltip.tsx +30 -30
  63. package/templates/next/src/components/ui/use-toast.ts +192 -192
  64. package/templates/next/src/data/albums.ts +71 -71
  65. package/templates/next/src/data/playlists.ts +16 -16
  66. package/templates/next/src-tauri/Cargo.lock +3835 -3835
  67. package/templates/next/src-tauri/Cargo.toml +39 -39
  68. package/templates/next/src-tauri/build.rs +3 -3
  69. package/templates/sveltekit/.github/workflows/release.yml +108 -108
  70. package/templates/sveltekit/.prettierignore +13 -13
  71. package/templates/sveltekit/.prettierrc +8 -8
  72. package/templates/sveltekit/README.md +1 -1
  73. package/templates/sveltekit/package.json +85 -85
  74. package/templates/sveltekit/pnpm-lock.yaml +4177 -4177
  75. package/templates/sveltekit/postcss.config.cjs +13 -13
  76. package/templates/sveltekit/src/app.d.ts +18 -18
  77. package/templates/sveltekit/src/app.html +16 -16
  78. package/templates/sveltekit/src/index.test.ts +7 -7
  79. package/templates/sveltekit/src/lib/components/docs/TailwindIndicator.svelte +10 -10
  80. package/templates/sveltekit/src/lib/components/docs/charts/Bar.svelte +152 -152
  81. package/templates/sveltekit/src/lib/components/docs/dashboard/DashboardPage.svelte +108 -108
  82. package/templates/sveltekit/src/lib/components/docs/dashboard/MainNav.svelte +31 -31
  83. package/templates/sveltekit/src/lib/components/docs/dashboard/Overview.svelte +5 -5
  84. package/templates/sveltekit/src/lib/components/docs/dashboard/RecentSales.svelte +61 -61
  85. package/templates/sveltekit/src/lib/components/docs/dashboard/Search.svelte +7 -7
  86. package/templates/sveltekit/src/lib/components/docs/dashboard/index.ts +1 -1
  87. package/templates/sveltekit/src/lib/components/docs/examples-nav/ExampleCodeLink.svelte +19 -19
  88. package/templates/sveltekit/src/lib/components/docs/examples-nav/ExamplesNav.svelte +27 -27
  89. package/templates/sveltekit/src/lib/components/docs/examples-nav/index.ts +2 -2
  90. package/templates/sveltekit/src/lib/components/docs/icons/Apple.svelte +12 -12
  91. package/templates/sveltekit/src/lib/components/docs/icons/Aria.svelte +11 -11
  92. package/templates/sveltekit/src/lib/components/docs/icons/GitHub.svelte +12 -12
  93. package/templates/sveltekit/src/lib/components/docs/icons/Google.svelte +12 -12
  94. package/templates/sveltekit/src/lib/components/docs/icons/Logo.svelte +17 -17
  95. package/templates/sveltekit/src/lib/components/docs/icons/Minimize.svelte +12 -12
  96. package/templates/sveltekit/src/lib/components/docs/icons/Npm.svelte +12 -12
  97. package/templates/sveltekit/src/lib/components/docs/icons/PayPal.svelte +12 -12
  98. package/templates/sveltekit/src/lib/components/docs/icons/Pnpm.svelte +12 -12
  99. package/templates/sveltekit/src/lib/components/docs/icons/Radix.svelte +14 -14
  100. package/templates/sveltekit/src/lib/components/docs/icons/RadixSvelte.svelte +14 -14
  101. package/templates/sveltekit/src/lib/components/docs/icons/Tailwind.svelte +12 -12
  102. package/templates/sveltekit/src/lib/components/docs/icons/Yarn.svelte +12 -12
  103. package/templates/sveltekit/src/lib/components/docs/icons/index.ts +78 -78
  104. package/templates/sveltekit/src/lib/components/docs/index.ts +6 -6
  105. package/templates/sveltekit/src/lib/components/docs/light-switch/LightSwitch.svelte +75 -75
  106. package/templates/sveltekit/src/lib/components/docs/light-switch/index.ts +1 -1
  107. package/templates/sveltekit/src/lib/components/docs/light-switch/light-switch.ts +87 -87
  108. package/templates/sveltekit/src/lib/components/docs/light-switch/local-storage-store.ts +81 -81
  109. package/templates/sveltekit/src/lib/components/ui/accordion/Accordion.svelte +11 -11
  110. package/templates/sveltekit/src/lib/components/ui/accordion/AccordionContent.svelte +19 -19
  111. package/templates/sveltekit/src/lib/components/ui/accordion/AccordionItem.svelte +13 -13
  112. package/templates/sveltekit/src/lib/components/ui/accordion/AccordionTrigger.svelte +21 -21
  113. package/templates/sveltekit/src/lib/components/ui/accordion/index.ts +4 -4
  114. package/templates/sveltekit/src/lib/components/ui/alert/Alert.svelte +29 -29
  115. package/templates/sveltekit/src/lib/components/ui/alert/AlertDescription.svelte +10 -10
  116. package/templates/sveltekit/src/lib/components/ui/alert/AlertTitle.svelte +15 -15
  117. package/templates/sveltekit/src/lib/components/ui/alert/index.ts +3 -3
  118. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogAction.svelte +12 -12
  119. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogCancel.svelte +15 -15
  120. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogContent.svelte +22 -22
  121. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogDescription.svelte +14 -14
  122. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogFooter.svelte +13 -13
  123. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogHeader.svelte +10 -10
  124. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogOverlay.svelte +15 -15
  125. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogPortal.svelte +9 -9
  126. package/templates/sveltekit/src/lib/components/ui/alert-dialog/AlertDialogTitle.svelte +11 -11
  127. package/templates/sveltekit/src/lib/components/ui/alert-dialog/index.ts +12 -12
  128. package/templates/sveltekit/src/lib/components/ui/aspect-ratio/AspectRatio.svelte +13 -13
  129. package/templates/sveltekit/src/lib/components/ui/aspect-ratio/index.ts +1 -1
  130. package/templates/sveltekit/src/lib/components/ui/avatar/Avatar.svelte +14 -14
  131. package/templates/sveltekit/src/lib/components/ui/avatar/AvatarFallback.svelte +14 -14
  132. package/templates/sveltekit/src/lib/components/ui/avatar/AvatarImage.svelte +17 -17
  133. package/templates/sveltekit/src/lib/components/ui/avatar/index.ts +3 -3
  134. package/templates/sveltekit/src/lib/components/ui/badge/Badge.svelte +39 -39
  135. package/templates/sveltekit/src/lib/components/ui/badge/index.ts +21 -21
  136. package/templates/sveltekit/src/lib/components/ui/button/Button.svelte +47 -47
  137. package/templates/sveltekit/src/lib/components/ui/button/index.ts +28 -28
  138. package/templates/sveltekit/src/lib/components/ui/card/Card.svelte +18 -18
  139. package/templates/sveltekit/src/lib/components/ui/card/CardContent.svelte +10 -10
  140. package/templates/sveltekit/src/lib/components/ui/card/CardDescription.svelte +10 -10
  141. package/templates/sveltekit/src/lib/components/ui/card/CardFooter.svelte +10 -10
  142. package/templates/sveltekit/src/lib/components/ui/card/CardHeader.svelte +10 -10
  143. package/templates/sveltekit/src/lib/components/ui/card/CardTitle.svelte +16 -16
  144. package/templates/sveltekit/src/lib/components/ui/card/index.ts +6 -6
  145. package/templates/sveltekit/src/lib/components/ui/checkbox/Checkbox.svelte +23 -23
  146. package/templates/sveltekit/src/lib/components/ui/checkbox/index.ts +1 -1
  147. package/templates/sveltekit/src/lib/components/ui/collapsible/index.ts +7 -7
  148. package/templates/sveltekit/src/lib/components/ui/dialog/DialogContent.svelte +29 -29
  149. package/templates/sveltekit/src/lib/components/ui/dialog/DialogDescription.svelte +14 -14
  150. package/templates/sveltekit/src/lib/components/ui/dialog/DialogFooter.svelte +13 -13
  151. package/templates/sveltekit/src/lib/components/ui/dialog/DialogHeader.svelte +10 -10
  152. package/templates/sveltekit/src/lib/components/ui/dialog/DialogOverlay.svelte +15 -15
  153. package/templates/sveltekit/src/lib/components/ui/dialog/DialogPortal.svelte +13 -13
  154. package/templates/sveltekit/src/lib/components/ui/dialog/DialogTitle.svelte +14 -14
  155. package/templates/sveltekit/src/lib/components/ui/dialog/index.ts +12 -12
  156. package/templates/sveltekit/src/lib/components/ui/hover-card/HoverCardContent.svelte +24 -24
  157. package/templates/sveltekit/src/lib/components/ui/hover-card/index.ts +6 -6
  158. package/templates/sveltekit/src/lib/components/ui/input/Input.svelte +30 -30
  159. package/templates/sveltekit/src/lib/components/ui/input/index.ts +1 -1
  160. package/templates/sveltekit/src/lib/components/ui/label/Label.svelte +16 -16
  161. package/templates/sveltekit/src/lib/components/ui/label/index.ts +1 -1
  162. package/templates/sveltekit/src/lib/components/ui/progress/Progress.svelte +22 -22
  163. package/templates/sveltekit/src/lib/components/ui/progress/index.ts +1 -1
  164. package/templates/sveltekit/src/lib/components/ui/radio-group/RadioGroup.svelte +13 -13
  165. package/templates/sveltekit/src/lib/components/ui/radio-group/RadioGroupItem.svelte +23 -23
  166. package/templates/sveltekit/src/lib/components/ui/radio-group/index.ts +2 -2
  167. package/templates/sveltekit/src/lib/components/ui/select/SelectContent.svelte +26 -26
  168. package/templates/sveltekit/src/lib/components/ui/select/SelectItem.svelte +29 -29
  169. package/templates/sveltekit/src/lib/components/ui/select/SelectLabel.svelte +14 -14
  170. package/templates/sveltekit/src/lib/components/ui/select/SelectSeparator.svelte +9 -9
  171. package/templates/sveltekit/src/lib/components/ui/select/SelectTrigger.svelte +21 -21
  172. package/templates/sveltekit/src/lib/components/ui/select/index.ts +10 -10
  173. package/templates/sveltekit/src/lib/components/ui/separator/Separator.svelte +22 -22
  174. package/templates/sveltekit/src/lib/components/ui/separator/index.ts +1 -1
  175. package/templates/sveltekit/src/lib/components/ui/sheet/SheetContent.svelte +27 -27
  176. package/templates/sveltekit/src/lib/components/ui/sheet/SheetDescription.svelte +11 -11
  177. package/templates/sveltekit/src/lib/components/ui/sheet/SheetFooter.svelte +13 -13
  178. package/templates/sveltekit/src/lib/components/ui/sheet/SheetHeader.svelte +10 -10
  179. package/templates/sveltekit/src/lib/components/ui/sheet/SheetOverlay.svelte +15 -15
  180. package/templates/sveltekit/src/lib/components/ui/sheet/SheetPortal.svelte +28 -28
  181. package/templates/sveltekit/src/lib/components/ui/sheet/SheetTitle.svelte +14 -14
  182. package/templates/sveltekit/src/lib/components/ui/sheet/index.ts +102 -102
  183. package/templates/sveltekit/src/lib/components/ui/skeleton/Skeleton.svelte +8 -8
  184. package/templates/sveltekit/src/lib/components/ui/skeleton/index.ts +1 -1
  185. package/templates/sveltekit/src/lib/components/ui/slider/Slider.svelte +22 -22
  186. package/templates/sveltekit/src/lib/components/ui/slider/index.ts +1 -1
  187. package/templates/sveltekit/src/lib/components/ui/switch/Switch.svelte +32 -32
  188. package/templates/sveltekit/src/lib/components/ui/switch/index.ts +1 -1
  189. package/templates/sveltekit/src/lib/components/ui/table/Table.svelte +12 -12
  190. package/templates/sveltekit/src/lib/components/ui/table/TableBody.svelte +10 -10
  191. package/templates/sveltekit/src/lib/components/ui/table/TableCaption.svelte +10 -10
  192. package/templates/sveltekit/src/lib/components/ui/table/TableCell.svelte +10 -10
  193. package/templates/sveltekit/src/lib/components/ui/table/TableFooter.svelte +10 -10
  194. package/templates/sveltekit/src/lib/components/ui/table/TableHead.svelte +16 -16
  195. package/templates/sveltekit/src/lib/components/ui/table/TableHeader.svelte +10 -10
  196. package/templates/sveltekit/src/lib/components/ui/table/TableRow.svelte +16 -16
  197. package/templates/sveltekit/src/lib/components/ui/table/index.ts +8 -8
  198. package/templates/sveltekit/src/lib/components/ui/tabs/TabsContent.svelte +20 -20
  199. package/templates/sveltekit/src/lib/components/ui/tabs/TabsList.svelte +17 -17
  200. package/templates/sveltekit/src/lib/components/ui/tabs/TabsTrigger.svelte +20 -20
  201. package/templates/sveltekit/src/lib/components/ui/tabs/index.ts +7 -7
  202. package/templates/sveltekit/src/lib/components/ui/textarea/Textarea.svelte +30 -30
  203. package/templates/sveltekit/src/lib/components/ui/textarea/index.ts +1 -1
  204. package/templates/sveltekit/src/lib/components/ui/toggle/Toggle.svelte +44 -44
  205. package/templates/sveltekit/src/lib/components/ui/toggle/index.ts +1 -1
  206. package/templates/sveltekit/src/lib/components/ui/tooltip/TooltipContent.svelte +22 -22
  207. package/templates/sveltekit/src/lib/components/ui/tooltip/index.ts +6 -6
  208. package/templates/sveltekit/src/lib/config/components.ts +306 -306
  209. package/templates/sveltekit/src/lib/config/docs.ts +356 -356
  210. package/templates/sveltekit/src/lib/config/site.ts +15 -15
  211. package/templates/sveltekit/src/lib/types/docs.ts +50 -50
  212. package/templates/sveltekit/src/lib/types/nav.ts +18 -18
  213. package/templates/sveltekit/src/lib/utils.ts +75 -75
  214. package/templates/sveltekit/src/routes/+layout.svelte +48 -48
  215. package/templates/sveltekit/src/routes/+page.ts +6 -6
  216. package/templates/sveltekit/src/routes/authentication/+page.svelte +57 -57
  217. package/templates/sveltekit/src/routes/authentication/+page.ts +7 -7
  218. package/templates/sveltekit/src/routes/authentication/UserAuthForm.svelte +61 -61
  219. package/templates/sveltekit/src/routes/cards/+page.svelte +26 -26
  220. package/templates/sveltekit/src/routes/cards/+page.ts +7 -7
  221. package/templates/sveltekit/src/routes/cards/CookieSettings.svelte +52 -52
  222. package/templates/sveltekit/src/routes/cards/CreateAccount.svelte +52 -52
  223. package/templates/sveltekit/src/routes/cards/DemoContainer.svelte +10 -10
  224. package/templates/sveltekit/src/routes/cards/Notifications.svelte +38 -38
  225. package/templates/sveltekit/src/routes/cards/PaymentMethod.svelte +110 -110
  226. package/templates/sveltekit/src/routes/cards/ReportAnIssue.svelte +71 -71
  227. package/templates/sveltekit/src/routes/cards/ShareDocument.svelte +91 -91
  228. package/templates/sveltekit/src/routes/dashboard/+page.svelte +5 -5
  229. package/templates/sveltekit/src/routes/dashboard/+page.ts +7 -7
  230. package/templates/sveltekit/src/routes/music/albums.ts +61 -61
  231. package/templates/sveltekit/src/routes/music/playlists.ts +16 -16
  232. package/templates/sveltekit/src/styles/globals.css +125 -125
  233. package/templates/sveltekit/src/styles/mdsvex.css +80 -80
  234. package/templates/sveltekit/src-tauri/Cargo.lock +3835 -3835
  235. package/templates/sveltekit/src-tauri/Cargo.toml +39 -39
  236. package/templates/sveltekit/src-tauri/build.rs +3 -3
  237. package/templates/sveltekit/src-tauri/tauri.conf.json +71 -71
  238. package/templates/sveltekit/svelte.config.js +22 -22
  239. package/templates/sveltekit/tailwind.config.js +67 -67
  240. package/templates/sveltekit/tsconfig.json +13 -13
  241. package/templates/vite/package.json +83 -83
  242. package/templates/vite/pnpm-lock.yaml +5176 -5176
  243. package/templates/vite/src-tauri/Cargo.lock +3835 -3835
  244. package/templates/vite/src-tauri/Cargo.toml +39 -39
  245. package/templates/vite/src-tauri/build.rs +3 -3
@@ -1,155 +1,155 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { DialogProps } from "@radix-ui/react-dialog"
5
- import { Command as CommandPrimitive } from "cmdk"
6
- import { Search } from "lucide-react"
7
-
8
- import { cn } from "@/lib/utils"
9
- import { Dialog, DialogContent } from "@/components/ui/dialog"
10
-
11
- const Command = React.forwardRef<
12
- React.ElementRef<typeof CommandPrimitive>,
13
- React.ComponentPropsWithoutRef<typeof CommandPrimitive>
14
- >(({ className, ...props }, ref) => (
15
- <CommandPrimitive
16
- ref={ref}
17
- className={cn(
18
- "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
19
- className
20
- )}
21
- {...props}
22
- />
23
- ))
24
- Command.displayName = CommandPrimitive.displayName
25
-
26
- interface CommandDialogProps extends DialogProps {}
27
-
28
- const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
29
- return (
30
- <Dialog {...props}>
31
- <DialogContent className="overflow-hidden p-0 shadow-lg">
32
- <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
33
- {children}
34
- </Command>
35
- </DialogContent>
36
- </Dialog>
37
- )
38
- }
39
-
40
- const CommandInput = React.forwardRef<
41
- React.ElementRef<typeof CommandPrimitive.Input>,
42
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>
43
- >(({ className, ...props }, ref) => (
44
- <div className="flex items-center border-b px-3" cmdk-input-wrapper="">
45
- <Search className="mr-2 h-4 w-4 shrink-0 opacity-50" />
46
- <CommandPrimitive.Input
47
- ref={ref}
48
- className={cn(
49
- "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
50
- className
51
- )}
52
- {...props}
53
- />
54
- </div>
55
- ))
56
-
57
- CommandInput.displayName = CommandPrimitive.Input.displayName
58
-
59
- const CommandList = React.forwardRef<
60
- React.ElementRef<typeof CommandPrimitive.List>,
61
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>
62
- >(({ className, ...props }, ref) => (
63
- <CommandPrimitive.List
64
- ref={ref}
65
- className={cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className)}
66
- {...props}
67
- />
68
- ))
69
-
70
- CommandList.displayName = CommandPrimitive.List.displayName
71
-
72
- const CommandEmpty = React.forwardRef<
73
- React.ElementRef<typeof CommandPrimitive.Empty>,
74
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>
75
- >((props, ref) => (
76
- <CommandPrimitive.Empty
77
- ref={ref}
78
- className="py-6 text-center text-sm"
79
- {...props}
80
- />
81
- ))
82
-
83
- CommandEmpty.displayName = CommandPrimitive.Empty.displayName
84
-
85
- const CommandGroup = React.forwardRef<
86
- React.ElementRef<typeof CommandPrimitive.Group>,
87
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>
88
- >(({ className, ...props }, ref) => (
89
- <CommandPrimitive.Group
90
- ref={ref}
91
- className={cn(
92
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
93
- className
94
- )}
95
- {...props}
96
- />
97
- ))
98
-
99
- CommandGroup.displayName = CommandPrimitive.Group.displayName
100
-
101
- const CommandSeparator = React.forwardRef<
102
- React.ElementRef<typeof CommandPrimitive.Separator>,
103
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>
104
- >(({ className, ...props }, ref) => (
105
- <CommandPrimitive.Separator
106
- ref={ref}
107
- className={cn("-mx-1 h-px bg-border", className)}
108
- {...props}
109
- />
110
- ))
111
- CommandSeparator.displayName = CommandPrimitive.Separator.displayName
112
-
113
- const CommandItem = React.forwardRef<
114
- React.ElementRef<typeof CommandPrimitive.Item>,
115
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>
116
- >(({ className, ...props }, ref) => (
117
- <CommandPrimitive.Item
118
- ref={ref}
119
- className={cn(
120
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
121
- className
122
- )}
123
- {...props}
124
- />
125
- ))
126
-
127
- CommandItem.displayName = CommandPrimitive.Item.displayName
128
-
129
- const CommandShortcut = ({
130
- className,
131
- ...props
132
- }: React.HTMLAttributes<HTMLSpanElement>) => {
133
- return (
134
- <span
135
- className={cn(
136
- "ml-auto text-xs tracking-widest text-muted-foreground",
137
- className
138
- )}
139
- {...props}
140
- />
141
- )
142
- }
143
- CommandShortcut.displayName = "CommandShortcut"
144
-
145
- export {
146
- Command,
147
- CommandDialog,
148
- CommandInput,
149
- CommandList,
150
- CommandEmpty,
151
- CommandGroup,
152
- CommandItem,
153
- CommandShortcut,
154
- CommandSeparator,
155
- }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import { DialogProps } from "@radix-ui/react-dialog"
5
+ import { Command as CommandPrimitive } from "cmdk"
6
+ import { Search } from "lucide-react"
7
+
8
+ import { cn } from "@/lib/utils"
9
+ import { Dialog, DialogContent } from "@/components/ui/dialog"
10
+
11
+ const Command = React.forwardRef<
12
+ React.ElementRef<typeof CommandPrimitive>,
13
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive>
14
+ >(({ className, ...props }, ref) => (
15
+ <CommandPrimitive
16
+ ref={ref}
17
+ className={cn(
18
+ "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
19
+ className
20
+ )}
21
+ {...props}
22
+ />
23
+ ))
24
+ Command.displayName = CommandPrimitive.displayName
25
+
26
+ interface CommandDialogProps extends DialogProps {}
27
+
28
+ const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
29
+ return (
30
+ <Dialog {...props}>
31
+ <DialogContent className="overflow-hidden p-0 shadow-lg">
32
+ <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
33
+ {children}
34
+ </Command>
35
+ </DialogContent>
36
+ </Dialog>
37
+ )
38
+ }
39
+
40
+ const CommandInput = React.forwardRef<
41
+ React.ElementRef<typeof CommandPrimitive.Input>,
42
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>
43
+ >(({ className, ...props }, ref) => (
44
+ <div className="flex items-center border-b px-3" cmdk-input-wrapper="">
45
+ <Search className="mr-2 h-4 w-4 shrink-0 opacity-50" />
46
+ <CommandPrimitive.Input
47
+ ref={ref}
48
+ className={cn(
49
+ "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
50
+ className
51
+ )}
52
+ {...props}
53
+ />
54
+ </div>
55
+ ))
56
+
57
+ CommandInput.displayName = CommandPrimitive.Input.displayName
58
+
59
+ const CommandList = React.forwardRef<
60
+ React.ElementRef<typeof CommandPrimitive.List>,
61
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>
62
+ >(({ className, ...props }, ref) => (
63
+ <CommandPrimitive.List
64
+ ref={ref}
65
+ className={cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className)}
66
+ {...props}
67
+ />
68
+ ))
69
+
70
+ CommandList.displayName = CommandPrimitive.List.displayName
71
+
72
+ const CommandEmpty = React.forwardRef<
73
+ React.ElementRef<typeof CommandPrimitive.Empty>,
74
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>
75
+ >((props, ref) => (
76
+ <CommandPrimitive.Empty
77
+ ref={ref}
78
+ className="py-6 text-center text-sm"
79
+ {...props}
80
+ />
81
+ ))
82
+
83
+ CommandEmpty.displayName = CommandPrimitive.Empty.displayName
84
+
85
+ const CommandGroup = React.forwardRef<
86
+ React.ElementRef<typeof CommandPrimitive.Group>,
87
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>
88
+ >(({ className, ...props }, ref) => (
89
+ <CommandPrimitive.Group
90
+ ref={ref}
91
+ className={cn(
92
+ "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
93
+ className
94
+ )}
95
+ {...props}
96
+ />
97
+ ))
98
+
99
+ CommandGroup.displayName = CommandPrimitive.Group.displayName
100
+
101
+ const CommandSeparator = React.forwardRef<
102
+ React.ElementRef<typeof CommandPrimitive.Separator>,
103
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>
104
+ >(({ className, ...props }, ref) => (
105
+ <CommandPrimitive.Separator
106
+ ref={ref}
107
+ className={cn("-mx-1 h-px bg-border", className)}
108
+ {...props}
109
+ />
110
+ ))
111
+ CommandSeparator.displayName = CommandPrimitive.Separator.displayName
112
+
113
+ const CommandItem = React.forwardRef<
114
+ React.ElementRef<typeof CommandPrimitive.Item>,
115
+ React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>
116
+ >(({ className, ...props }, ref) => (
117
+ <CommandPrimitive.Item
118
+ ref={ref}
119
+ className={cn(
120
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
121
+ className
122
+ )}
123
+ {...props}
124
+ />
125
+ ))
126
+
127
+ CommandItem.displayName = CommandPrimitive.Item.displayName
128
+
129
+ const CommandShortcut = ({
130
+ className,
131
+ ...props
132
+ }: React.HTMLAttributes<HTMLSpanElement>) => {
133
+ return (
134
+ <span
135
+ className={cn(
136
+ "ml-auto text-xs tracking-widest text-muted-foreground",
137
+ className
138
+ )}
139
+ {...props}
140
+ />
141
+ )
142
+ }
143
+ CommandShortcut.displayName = "CommandShortcut"
144
+
145
+ export {
146
+ Command,
147
+ CommandDialog,
148
+ CommandInput,
149
+ CommandList,
150
+ CommandEmpty,
151
+ CommandGroup,
152
+ CommandItem,
153
+ CommandShortcut,
154
+ CommandSeparator,
155
+ }