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,236 +1,236 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as MenubarPrimitive from "@radix-ui/react-menubar"
5
- import { Check, ChevronRight, Circle } from "lucide-react"
6
-
7
- import { cn } from "@/lib/utils"
8
-
9
- const MenubarMenu = MenubarPrimitive.Menu
10
-
11
- const MenubarGroup = MenubarPrimitive.Group
12
-
13
- const MenubarPortal = MenubarPrimitive.Portal
14
-
15
- const MenubarSub = MenubarPrimitive.Sub
16
-
17
- const MenubarRadioGroup = MenubarPrimitive.RadioGroup
18
-
19
- const Menubar = React.forwardRef<
20
- React.ElementRef<typeof MenubarPrimitive.Root>,
21
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>
22
- >(({ className, ...props }, ref) => (
23
- <MenubarPrimitive.Root
24
- ref={ref}
25
- className={cn(
26
- "flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
27
- className
28
- )}
29
- {...props}
30
- />
31
- ))
32
- Menubar.displayName = MenubarPrimitive.Root.displayName
33
-
34
- const MenubarTrigger = React.forwardRef<
35
- React.ElementRef<typeof MenubarPrimitive.Trigger>,
36
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>
37
- >(({ className, ...props }, ref) => (
38
- <MenubarPrimitive.Trigger
39
- ref={ref}
40
- className={cn(
41
- "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
42
- className
43
- )}
44
- {...props}
45
- />
46
- ))
47
- MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName
48
-
49
- const MenubarSubTrigger = React.forwardRef<
50
- React.ElementRef<typeof MenubarPrimitive.SubTrigger>,
51
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {
52
- inset?: boolean
53
- }
54
- >(({ className, inset, children, ...props }, ref) => (
55
- <MenubarPrimitive.SubTrigger
56
- ref={ref}
57
- className={cn(
58
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
59
- inset && "pl-8",
60
- className
61
- )}
62
- {...props}
63
- >
64
- {children}
65
- <ChevronRight className="ml-auto h-4 w-4" />
66
- </MenubarPrimitive.SubTrigger>
67
- ))
68
- MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName
69
-
70
- const MenubarSubContent = React.forwardRef<
71
- React.ElementRef<typeof MenubarPrimitive.SubContent>,
72
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>
73
- >(({ className, ...props }, ref) => (
74
- <MenubarPrimitive.SubContent
75
- ref={ref}
76
- className={cn(
77
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
78
- className
79
- )}
80
- {...props}
81
- />
82
- ))
83
- MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName
84
-
85
- const MenubarContent = React.forwardRef<
86
- React.ElementRef<typeof MenubarPrimitive.Content>,
87
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>
88
- >(
89
- (
90
- { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },
91
- ref
92
- ) => (
93
- <MenubarPrimitive.Portal>
94
- <MenubarPrimitive.Content
95
- ref={ref}
96
- align={align}
97
- alignOffset={alignOffset}
98
- sideOffset={sideOffset}
99
- className={cn(
100
- "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
101
- className
102
- )}
103
- {...props}
104
- />
105
- </MenubarPrimitive.Portal>
106
- )
107
- )
108
- MenubarContent.displayName = MenubarPrimitive.Content.displayName
109
-
110
- const MenubarItem = React.forwardRef<
111
- React.ElementRef<typeof MenubarPrimitive.Item>,
112
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {
113
- inset?: boolean
114
- }
115
- >(({ className, inset, ...props }, ref) => (
116
- <MenubarPrimitive.Item
117
- ref={ref}
118
- className={cn(
119
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
120
- inset && "pl-8",
121
- className
122
- )}
123
- {...props}
124
- />
125
- ))
126
- MenubarItem.displayName = MenubarPrimitive.Item.displayName
127
-
128
- const MenubarCheckboxItem = React.forwardRef<
129
- React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,
130
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>
131
- >(({ className, children, checked, ...props }, ref) => (
132
- <MenubarPrimitive.CheckboxItem
133
- ref={ref}
134
- className={cn(
135
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
136
- className
137
- )}
138
- checked={checked}
139
- {...props}
140
- >
141
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
142
- <MenubarPrimitive.ItemIndicator>
143
- <Check className="h-4 w-4" />
144
- </MenubarPrimitive.ItemIndicator>
145
- </span>
146
- {children}
147
- </MenubarPrimitive.CheckboxItem>
148
- ))
149
- MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName
150
-
151
- const MenubarRadioItem = React.forwardRef<
152
- React.ElementRef<typeof MenubarPrimitive.RadioItem>,
153
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>
154
- >(({ className, children, ...props }, ref) => (
155
- <MenubarPrimitive.RadioItem
156
- ref={ref}
157
- className={cn(
158
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
159
- className
160
- )}
161
- {...props}
162
- >
163
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
164
- <MenubarPrimitive.ItemIndicator>
165
- <Circle className="h-2 w-2 fill-current" />
166
- </MenubarPrimitive.ItemIndicator>
167
- </span>
168
- {children}
169
- </MenubarPrimitive.RadioItem>
170
- ))
171
- MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName
172
-
173
- const MenubarLabel = React.forwardRef<
174
- React.ElementRef<typeof MenubarPrimitive.Label>,
175
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {
176
- inset?: boolean
177
- }
178
- >(({ className, inset, ...props }, ref) => (
179
- <MenubarPrimitive.Label
180
- ref={ref}
181
- className={cn(
182
- "px-2 py-1.5 text-sm font-semibold",
183
- inset && "pl-8",
184
- className
185
- )}
186
- {...props}
187
- />
188
- ))
189
- MenubarLabel.displayName = MenubarPrimitive.Label.displayName
190
-
191
- const MenubarSeparator = React.forwardRef<
192
- React.ElementRef<typeof MenubarPrimitive.Separator>,
193
- React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>
194
- >(({ className, ...props }, ref) => (
195
- <MenubarPrimitive.Separator
196
- ref={ref}
197
- className={cn("-mx-1 my-1 h-px bg-muted", className)}
198
- {...props}
199
- />
200
- ))
201
- MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName
202
-
203
- const MenubarShortcut = ({
204
- className,
205
- ...props
206
- }: React.HTMLAttributes<HTMLSpanElement>) => {
207
- return (
208
- <span
209
- className={cn(
210
- "ml-auto text-xs tracking-widest text-muted-foreground",
211
- className
212
- )}
213
- {...props}
214
- />
215
- )
216
- }
217
- MenubarShortcut.displayname = "MenubarShortcut"
218
-
219
- export {
220
- Menubar,
221
- MenubarMenu,
222
- MenubarTrigger,
223
- MenubarContent,
224
- MenubarItem,
225
- MenubarSeparator,
226
- MenubarLabel,
227
- MenubarCheckboxItem,
228
- MenubarRadioGroup,
229
- MenubarRadioItem,
230
- MenubarPortal,
231
- MenubarSubContent,
232
- MenubarSubTrigger,
233
- MenubarGroup,
234
- MenubarSub,
235
- MenubarShortcut,
236
- }
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as MenubarPrimitive from "@radix-ui/react-menubar"
5
+ import { Check, ChevronRight, Circle } from "lucide-react"
6
+
7
+ import { cn } from "@/lib/utils"
8
+
9
+ const MenubarMenu = MenubarPrimitive.Menu
10
+
11
+ const MenubarGroup = MenubarPrimitive.Group
12
+
13
+ const MenubarPortal = MenubarPrimitive.Portal
14
+
15
+ const MenubarSub = MenubarPrimitive.Sub
16
+
17
+ const MenubarRadioGroup = MenubarPrimitive.RadioGroup
18
+
19
+ const Menubar = React.forwardRef<
20
+ React.ElementRef<typeof MenubarPrimitive.Root>,
21
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>
22
+ >(({ className, ...props }, ref) => (
23
+ <MenubarPrimitive.Root
24
+ ref={ref}
25
+ className={cn(
26
+ "flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
27
+ className
28
+ )}
29
+ {...props}
30
+ />
31
+ ))
32
+ Menubar.displayName = MenubarPrimitive.Root.displayName
33
+
34
+ const MenubarTrigger = React.forwardRef<
35
+ React.ElementRef<typeof MenubarPrimitive.Trigger>,
36
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>
37
+ >(({ className, ...props }, ref) => (
38
+ <MenubarPrimitive.Trigger
39
+ ref={ref}
40
+ className={cn(
41
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
42
+ className
43
+ )}
44
+ {...props}
45
+ />
46
+ ))
47
+ MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName
48
+
49
+ const MenubarSubTrigger = React.forwardRef<
50
+ React.ElementRef<typeof MenubarPrimitive.SubTrigger>,
51
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {
52
+ inset?: boolean
53
+ }
54
+ >(({ className, inset, children, ...props }, ref) => (
55
+ <MenubarPrimitive.SubTrigger
56
+ ref={ref}
57
+ className={cn(
58
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
59
+ inset && "pl-8",
60
+ className
61
+ )}
62
+ {...props}
63
+ >
64
+ {children}
65
+ <ChevronRight className="ml-auto h-4 w-4" />
66
+ </MenubarPrimitive.SubTrigger>
67
+ ))
68
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName
69
+
70
+ const MenubarSubContent = React.forwardRef<
71
+ React.ElementRef<typeof MenubarPrimitive.SubContent>,
72
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>
73
+ >(({ className, ...props }, ref) => (
74
+ <MenubarPrimitive.SubContent
75
+ ref={ref}
76
+ className={cn(
77
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
78
+ className
79
+ )}
80
+ {...props}
81
+ />
82
+ ))
83
+ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName
84
+
85
+ const MenubarContent = React.forwardRef<
86
+ React.ElementRef<typeof MenubarPrimitive.Content>,
87
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>
88
+ >(
89
+ (
90
+ { className, align = "start", alignOffset = -4, sideOffset = 8, ...props },
91
+ ref
92
+ ) => (
93
+ <MenubarPrimitive.Portal>
94
+ <MenubarPrimitive.Content
95
+ ref={ref}
96
+ align={align}
97
+ alignOffset={alignOffset}
98
+ sideOffset={sideOffset}
99
+ className={cn(
100
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
101
+ className
102
+ )}
103
+ {...props}
104
+ />
105
+ </MenubarPrimitive.Portal>
106
+ )
107
+ )
108
+ MenubarContent.displayName = MenubarPrimitive.Content.displayName
109
+
110
+ const MenubarItem = React.forwardRef<
111
+ React.ElementRef<typeof MenubarPrimitive.Item>,
112
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {
113
+ inset?: boolean
114
+ }
115
+ >(({ className, inset, ...props }, ref) => (
116
+ <MenubarPrimitive.Item
117
+ ref={ref}
118
+ className={cn(
119
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
120
+ inset && "pl-8",
121
+ className
122
+ )}
123
+ {...props}
124
+ />
125
+ ))
126
+ MenubarItem.displayName = MenubarPrimitive.Item.displayName
127
+
128
+ const MenubarCheckboxItem = React.forwardRef<
129
+ React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,
130
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>
131
+ >(({ className, children, checked, ...props }, ref) => (
132
+ <MenubarPrimitive.CheckboxItem
133
+ ref={ref}
134
+ className={cn(
135
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
136
+ className
137
+ )}
138
+ checked={checked}
139
+ {...props}
140
+ >
141
+ <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
142
+ <MenubarPrimitive.ItemIndicator>
143
+ <Check className="h-4 w-4" />
144
+ </MenubarPrimitive.ItemIndicator>
145
+ </span>
146
+ {children}
147
+ </MenubarPrimitive.CheckboxItem>
148
+ ))
149
+ MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName
150
+
151
+ const MenubarRadioItem = React.forwardRef<
152
+ React.ElementRef<typeof MenubarPrimitive.RadioItem>,
153
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>
154
+ >(({ className, children, ...props }, ref) => (
155
+ <MenubarPrimitive.RadioItem
156
+ ref={ref}
157
+ className={cn(
158
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
159
+ className
160
+ )}
161
+ {...props}
162
+ >
163
+ <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
164
+ <MenubarPrimitive.ItemIndicator>
165
+ <Circle className="h-2 w-2 fill-current" />
166
+ </MenubarPrimitive.ItemIndicator>
167
+ </span>
168
+ {children}
169
+ </MenubarPrimitive.RadioItem>
170
+ ))
171
+ MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName
172
+
173
+ const MenubarLabel = React.forwardRef<
174
+ React.ElementRef<typeof MenubarPrimitive.Label>,
175
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {
176
+ inset?: boolean
177
+ }
178
+ >(({ className, inset, ...props }, ref) => (
179
+ <MenubarPrimitive.Label
180
+ ref={ref}
181
+ className={cn(
182
+ "px-2 py-1.5 text-sm font-semibold",
183
+ inset && "pl-8",
184
+ className
185
+ )}
186
+ {...props}
187
+ />
188
+ ))
189
+ MenubarLabel.displayName = MenubarPrimitive.Label.displayName
190
+
191
+ const MenubarSeparator = React.forwardRef<
192
+ React.ElementRef<typeof MenubarPrimitive.Separator>,
193
+ React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>
194
+ >(({ className, ...props }, ref) => (
195
+ <MenubarPrimitive.Separator
196
+ ref={ref}
197
+ className={cn("-mx-1 my-1 h-px bg-muted", className)}
198
+ {...props}
199
+ />
200
+ ))
201
+ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName
202
+
203
+ const MenubarShortcut = ({
204
+ className,
205
+ ...props
206
+ }: React.HTMLAttributes<HTMLSpanElement>) => {
207
+ return (
208
+ <span
209
+ className={cn(
210
+ "ml-auto text-xs tracking-widest text-muted-foreground",
211
+ className
212
+ )}
213
+ {...props}
214
+ />
215
+ )
216
+ }
217
+ MenubarShortcut.displayname = "MenubarShortcut"
218
+
219
+ export {
220
+ Menubar,
221
+ MenubarMenu,
222
+ MenubarTrigger,
223
+ MenubarContent,
224
+ MenubarItem,
225
+ MenubarSeparator,
226
+ MenubarLabel,
227
+ MenubarCheckboxItem,
228
+ MenubarRadioGroup,
229
+ MenubarRadioItem,
230
+ MenubarPortal,
231
+ MenubarSubContent,
232
+ MenubarSubTrigger,
233
+ MenubarGroup,
234
+ MenubarSub,
235
+ MenubarShortcut,
236
+ }