@nuvia/components 0.1.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.
- package/README.md +96 -0
- package/dist/hooks/use-mobile.cjs +44 -0
- package/dist/hooks/use-mobile.cjs.map +1 -0
- package/dist/hooks/use-mobile.js +22 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-toast.cjs +146 -0
- package/dist/hooks/use-toast.cjs.map +1 -0
- package/dist/hooks/use-toast.js +122 -0
- package/dist/hooks/use-toast.js.map +1 -0
- package/dist/index.cjs +4117 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +3800 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/fonts.cjs +15 -0
- package/dist/lib/fonts.cjs.map +1 -0
- package/dist/lib/fonts.js +13 -0
- package/dist/lib/fonts.js.map +1 -0
- package/dist/lib/utils.cjs +18 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.js +14 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/providers/theme.cjs +24 -0
- package/dist/providers/theme.cjs.map +1 -0
- package/dist/providers/theme.js +22 -0
- package/dist/providers/theme.js.map +1 -0
- package/dist/ui/accordion.cjs +75 -0
- package/dist/ui/accordion.cjs.map +1 -0
- package/dist/ui/accordion.js +49 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.cjs +189 -0
- package/dist/ui/alert-dialog.cjs.map +1 -0
- package/dist/ui/alert-dialog.js +156 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.cjs +81 -0
- package/dist/ui/alert.cjs.map +1 -0
- package/dist/ui/alert.js +57 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.cjs +29 -0
- package/dist/ui/aspect-ratio.cjs.map +1 -0
- package/dist/ui/aspect-ratio.js +7 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/auto-complete.cjs +284 -0
- package/dist/ui/auto-complete.cjs.map +1 -0
- package/dist/ui/auto-complete.js +262 -0
- package/dist/ui/auto-complete.js.map +1 -0
- package/dist/ui/avatar.cjs +70 -0
- package/dist/ui/avatar.cjs.map +1 -0
- package/dist/ui/avatar.js +45 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.cjs +34 -0
- package/dist/ui/badge.cjs.map +1 -0
- package/dist/ui/badge.js +31 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.cjs +120 -0
- package/dist/ui/breadcrumb.cjs.map +1 -0
- package/dist/ui/breadcrumb.js +92 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.cjs +80 -0
- package/dist/ui/button.cjs.map +1 -0
- package/dist/ui/button.js +57 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/calendar.cjs +135 -0
- package/dist/ui/calendar.cjs.map +1 -0
- package/dist/ui/calendar.js +113 -0
- package/dist/ui/calendar.js.map +1 -0
- package/dist/ui/card.cjs +89 -0
- package/dist/ui/card.cjs.map +1 -0
- package/dist/ui/card.js +62 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.cjs +269 -0
- package/dist/ui/carousel.cjs.map +1 -0
- package/dist/ui/carousel.js +240 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/chart.cjs +267 -0
- package/dist/ui/chart.cjs.map +1 -0
- package/dist/ui/chart.js +239 -0
- package/dist/ui/chart.js.map +1 -0
- package/dist/ui/checkbox.cjs +55 -0
- package/dist/ui/checkbox.cjs.map +1 -0
- package/dist/ui/checkbox.js +32 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/chip.cjs +79 -0
- package/dist/ui/chip.cjs.map +1 -0
- package/dist/ui/chip.js +55 -0
- package/dist/ui/chip.js.map +1 -0
- package/dist/ui/collapsible.cjs +33 -0
- package/dist/ui/collapsible.cjs.map +1 -0
- package/dist/ui/collapsible.js +9 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/combobox.cjs +254 -0
- package/dist/ui/combobox.cjs.map +1 -0
- package/dist/ui/combobox.js +232 -0
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/command.cjs +199 -0
- package/dist/ui/command.cjs.map +1 -0
- package/dist/ui/command.js +168 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/context-menu.cjs +181 -0
- package/dist/ui/context-menu.cjs.map +1 -0
- package/dist/ui/context-menu.js +144 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/dialog.cjs +132 -0
- package/dist/ui/dialog.cjs.map +1 -0
- package/dist/ui/dialog.js +100 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/drawer.cjs +128 -0
- package/dist/ui/drawer.cjs.map +1 -0
- package/dist/ui/drawer.js +97 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.cjs +194 -0
- package/dist/ui/dropdown-menu.cjs.map +1 -0
- package/dist/ui/dropdown-menu.js +157 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/form.cjs +179 -0
- package/dist/ui/form.cjs.map +1 -0
- package/dist/ui/form.js +149 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.cjs +53 -0
- package/dist/ui/hover-card.cjs.map +1 -0
- package/dist/ui/hover-card.js +28 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/input-otp.cjs +76 -0
- package/dist/ui/input-otp.cjs.map +1 -0
- package/dist/ui/input-otp.js +51 -0
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.cjs +51 -0
- package/dist/ui/input.cjs.map +1 -0
- package/dist/ui/input.js +29 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.cjs +55 -0
- package/dist/ui/label.cjs.map +1 -0
- package/dist/ui/label.js +32 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/lottie-animation.cjs +85 -0
- package/dist/ui/lottie-animation.cjs.map +1 -0
- package/dist/ui/lottie-animation.js +79 -0
- package/dist/ui/lottie-animation.js.map +1 -0
- package/dist/ui/menubar.cjs +210 -0
- package/dist/ui/menubar.cjs.map +1 -0
- package/dist/ui/menubar.js +172 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/multi-combobox.cjs +319 -0
- package/dist/ui/multi-combobox.cjs.map +1 -0
- package/dist/ui/multi-combobox.js +297 -0
- package/dist/ui/multi-combobox.js.map +1 -0
- package/dist/ui/navigation-menu.cjs +136 -0
- package/dist/ui/navigation-menu.cjs.map +1 -0
- package/dist/ui/navigation-menu.js +105 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/pagination.cjs +172 -0
- package/dist/ui/pagination.cjs.map +1 -0
- package/dist/ui/pagination.js +144 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.cjs +55 -0
- package/dist/ui/popover.cjs.map +1 -0
- package/dist/ui/popover.js +29 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.cjs +54 -0
- package/dist/ui/progress.cjs.map +1 -0
- package/dist/ui/progress.js +31 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio-group.cjs +62 -0
- package/dist/ui/radio-group.cjs.map +1 -0
- package/dist/ui/radio-group.js +38 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/resizable.cjs +65 -0
- package/dist/ui/resizable.cjs.map +1 -0
- package/dist/ui/resizable.js +41 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.cjs +66 -0
- package/dist/ui/scroll-area.cjs.map +1 -0
- package/dist/ui/scroll-area.js +42 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/select.cjs +152 -0
- package/dist/ui/select.cjs.map +1 -0
- package/dist/ui/select.js +120 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.cjs +52 -0
- package/dist/ui/separator.cjs.map +1 -0
- package/dist/ui/separator.js +29 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.cjs +143 -0
- package/dist/ui/sheet.cjs.map +1 -0
- package/dist/ui/sheet.js +111 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.cjs +816 -0
- package/dist/ui/sidebar.cjs.map +1 -0
- package/dist/ui/sidebar.js +768 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.cjs +25 -0
- package/dist/ui/skeleton.cjs.map +1 -0
- package/dist/ui/skeleton.js +23 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.cjs +51 -0
- package/dist/ui/slider.cjs.map +1 -0
- package/dist/ui/slider.js +28 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/sonner.cjs +46 -0
- package/dist/ui/sonner.cjs.map +1 -0
- package/dist/ui/sonner.js +41 -0
- package/dist/ui/sonner.js.map +1 -0
- package/dist/ui/spinner.cjs +83 -0
- package/dist/ui/spinner.cjs.map +1 -0
- package/dist/ui/spinner.js +81 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/switch.cjs +67 -0
- package/dist/ui/switch.cjs.map +1 -0
- package/dist/ui/switch.js +44 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.cjs +118 -0
- package/dist/ui/table.cjs.map +1 -0
- package/dist/ui/table.js +89 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.cjs +79 -0
- package/dist/ui/tabs.cjs.map +1 -0
- package/dist/ui/tabs.js +53 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.cjs +48 -0
- package/dist/ui/textarea.cjs.map +1 -0
- package/dist/ui/textarea.js +26 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toast.cjs +125 -0
- package/dist/ui/toast.cjs.map +1 -0
- package/dist/ui/toast.js +96 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.cjs +251 -0
- package/dist/ui/toaster.cjs.map +1 -0
- package/dist/ui/toaster.js +228 -0
- package/dist/ui/toaster.js.map +1 -0
- package/dist/ui/toggle-group.cjs +101 -0
- package/dist/ui/toggle-group.cjs.map +1 -0
- package/dist/ui/toggle-group.js +76 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.cjs +66 -0
- package/dist/ui/toggle.cjs.map +1 -0
- package/dist/ui/toggle.js +42 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.cjs +54 -0
- package/dist/ui/tooltip.cjs.map +1 -0
- package/dist/ui/tooltip.js +28 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/package.json +116 -0
- package/src/styles/globals.css +529 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Drawer as Drawer$1 } from 'vaul';
|
|
3
|
+
import { clsx } from 'clsx';
|
|
4
|
+
import 'sonner';
|
|
5
|
+
import { twMerge } from 'tailwind-merge';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var cn = (...inputs) => twMerge(clsx(inputs));
|
|
9
|
+
var Drawer = ({
|
|
10
|
+
shouldScaleBackground = true,
|
|
11
|
+
...props
|
|
12
|
+
}) => /* @__PURE__ */ jsx(
|
|
13
|
+
Drawer$1.Root,
|
|
14
|
+
{
|
|
15
|
+
shouldScaleBackground,
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
Drawer.displayName = "Drawer";
|
|
20
|
+
var DrawerTrigger = Drawer$1.Trigger;
|
|
21
|
+
var DrawerPortal = Drawer$1.Portal;
|
|
22
|
+
var DrawerClose = Drawer$1.Close;
|
|
23
|
+
var DrawerOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
24
|
+
Drawer$1.Overlay,
|
|
25
|
+
{
|
|
26
|
+
ref,
|
|
27
|
+
className: cn("fixed inset-0 z-50 bg-black/80", className),
|
|
28
|
+
...props
|
|
29
|
+
}
|
|
30
|
+
));
|
|
31
|
+
DrawerOverlay.displayName = Drawer$1.Overlay.displayName;
|
|
32
|
+
var DrawerContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DrawerPortal, { children: [
|
|
33
|
+
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
34
|
+
/* @__PURE__ */ jsxs(
|
|
35
|
+
Drawer$1.Content,
|
|
36
|
+
{
|
|
37
|
+
ref,
|
|
38
|
+
className: cn(
|
|
39
|
+
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
|
|
40
|
+
className
|
|
41
|
+
),
|
|
42
|
+
...props,
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
|
|
45
|
+
children
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
] }));
|
|
50
|
+
DrawerContent.displayName = "DrawerContent";
|
|
51
|
+
var DrawerHeader = ({
|
|
52
|
+
className,
|
|
53
|
+
...props
|
|
54
|
+
}) => /* @__PURE__ */ jsx(
|
|
55
|
+
"div",
|
|
56
|
+
{
|
|
57
|
+
className: cn("grid gap-1.5 p-4 text-center sm:text-left", className),
|
|
58
|
+
...props
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
DrawerHeader.displayName = "DrawerHeader";
|
|
62
|
+
var DrawerFooter = ({
|
|
63
|
+
className,
|
|
64
|
+
...props
|
|
65
|
+
}) => /* @__PURE__ */ jsx(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
69
|
+
...props
|
|
70
|
+
}
|
|
71
|
+
);
|
|
72
|
+
DrawerFooter.displayName = "DrawerFooter";
|
|
73
|
+
var DrawerTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
74
|
+
Drawer$1.Title,
|
|
75
|
+
{
|
|
76
|
+
ref,
|
|
77
|
+
className: cn(
|
|
78
|
+
"text-lg font-semibold leading-none tracking-tight text-text-brand-primary",
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
...props
|
|
82
|
+
}
|
|
83
|
+
));
|
|
84
|
+
DrawerTitle.displayName = Drawer$1.Title.displayName;
|
|
85
|
+
var DrawerDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
86
|
+
Drawer$1.Description,
|
|
87
|
+
{
|
|
88
|
+
ref,
|
|
89
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
90
|
+
...props
|
|
91
|
+
}
|
|
92
|
+
));
|
|
93
|
+
DrawerDescription.displayName = Drawer$1.Description.displayName;
|
|
94
|
+
|
|
95
|
+
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
96
|
+
//# sourceMappingURL=drawer.js.map
|
|
97
|
+
//# sourceMappingURL=drawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/drawer.tsx"],"names":["DrawerPrimitive"],"mappings":"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","file":"drawer.js","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"../lib/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight text-text-brand-primary\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n"]}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
5
|
+
var reactIcons = require('@radix-ui/react-icons');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
require('sonner');
|
|
8
|
+
var tailwindMerge = require('tailwind-merge');
|
|
9
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
+
|
|
11
|
+
function _interopNamespace(e) {
|
|
12
|
+
if (e && e.__esModule) return e;
|
|
13
|
+
var n = Object.create(null);
|
|
14
|
+
if (e) {
|
|
15
|
+
Object.keys(e).forEach(function (k) {
|
|
16
|
+
if (k !== 'default') {
|
|
17
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
18
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () { return e[k]; }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
n.default = e;
|
|
26
|
+
return Object.freeze(n);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
|
+
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
31
|
+
|
|
32
|
+
var cn = (...inputs) => tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
33
|
+
var DropdownMenu = DropdownMenuPrimitive__namespace.Root;
|
|
34
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
|
|
35
|
+
var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
|
|
36
|
+
var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
37
|
+
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
38
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
39
|
+
var DropdownMenuSubTrigger = React__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
40
|
+
DropdownMenuPrimitive__namespace.SubTrigger,
|
|
41
|
+
{
|
|
42
|
+
ref,
|
|
43
|
+
className: cn(
|
|
44
|
+
"flex cursor-default gap-2 select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
45
|
+
inset && "pl-8",
|
|
46
|
+
className
|
|
47
|
+
),
|
|
48
|
+
...props,
|
|
49
|
+
children: [
|
|
50
|
+
children,
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronRightIcon, { className: "ml-auto" })
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
));
|
|
55
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
|
|
56
|
+
var DropdownMenuSubContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
57
|
+
DropdownMenuPrimitive__namespace.SubContent,
|
|
58
|
+
{
|
|
59
|
+
ref,
|
|
60
|
+
className: cn(
|
|
61
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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",
|
|
62
|
+
className
|
|
63
|
+
),
|
|
64
|
+
...props
|
|
65
|
+
}
|
|
66
|
+
));
|
|
67
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
|
|
68
|
+
var DropdownMenuContent = React__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
+
DropdownMenuPrimitive__namespace.Content,
|
|
70
|
+
{
|
|
71
|
+
ref,
|
|
72
|
+
sideOffset,
|
|
73
|
+
className: cn(
|
|
74
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md",
|
|
75
|
+
"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",
|
|
76
|
+
className
|
|
77
|
+
),
|
|
78
|
+
...props
|
|
79
|
+
}
|
|
80
|
+
) }));
|
|
81
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
|
|
82
|
+
var DropdownMenuItem = React__namespace.forwardRef(
|
|
83
|
+
({ className, inset, noInteractive, ...props }, ref) => noInteractive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
ref,
|
|
87
|
+
className: cn(
|
|
88
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0 hover:bg-secondary/50",
|
|
89
|
+
inset && "pl-8",
|
|
90
|
+
className
|
|
91
|
+
),
|
|
92
|
+
onClick: props.onClick,
|
|
93
|
+
children: props.children
|
|
94
|
+
}
|
|
95
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
DropdownMenuPrimitive__namespace.Item,
|
|
97
|
+
{
|
|
98
|
+
ref,
|
|
99
|
+
className: cn(
|
|
100
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
101
|
+
inset && "pl-8",
|
|
102
|
+
className
|
|
103
|
+
),
|
|
104
|
+
...props
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
);
|
|
108
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
|
|
109
|
+
var DropdownMenuCheckboxItem = React__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
110
|
+
DropdownMenuPrimitive__namespace.CheckboxItem,
|
|
111
|
+
{
|
|
112
|
+
ref,
|
|
113
|
+
className: cn(
|
|
114
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
115
|
+
className
|
|
116
|
+
),
|
|
117
|
+
checked,
|
|
118
|
+
...props,
|
|
119
|
+
children: [
|
|
120
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
121
|
+
children
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
));
|
|
125
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
|
|
126
|
+
var DropdownMenuRadioItem = React__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
127
|
+
DropdownMenuPrimitive__namespace.RadioItem,
|
|
128
|
+
{
|
|
129
|
+
ref,
|
|
130
|
+
className: cn(
|
|
131
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
132
|
+
className
|
|
133
|
+
),
|
|
134
|
+
...props,
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DotFilledIcon, { className: "h-2 w-2 fill-current" }) }) }),
|
|
137
|
+
children
|
|
138
|
+
]
|
|
139
|
+
}
|
|
140
|
+
));
|
|
141
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
|
|
142
|
+
var DropdownMenuLabel = React__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
143
|
+
DropdownMenuPrimitive__namespace.Label,
|
|
144
|
+
{
|
|
145
|
+
ref,
|
|
146
|
+
className: cn(
|
|
147
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
148
|
+
inset && "pl-8",
|
|
149
|
+
className
|
|
150
|
+
),
|
|
151
|
+
...props
|
|
152
|
+
}
|
|
153
|
+
));
|
|
154
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
|
|
155
|
+
var DropdownMenuSeparator = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
156
|
+
DropdownMenuPrimitive__namespace.Separator,
|
|
157
|
+
{
|
|
158
|
+
ref,
|
|
159
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
160
|
+
...props
|
|
161
|
+
}
|
|
162
|
+
));
|
|
163
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive__namespace.Separator.displayName;
|
|
164
|
+
var DropdownMenuShortcut = ({
|
|
165
|
+
className,
|
|
166
|
+
...props
|
|
167
|
+
}) => {
|
|
168
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
169
|
+
"span",
|
|
170
|
+
{
|
|
171
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
172
|
+
...props
|
|
173
|
+
}
|
|
174
|
+
);
|
|
175
|
+
};
|
|
176
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
177
|
+
|
|
178
|
+
exports.DropdownMenu = DropdownMenu;
|
|
179
|
+
exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
|
|
180
|
+
exports.DropdownMenuContent = DropdownMenuContent;
|
|
181
|
+
exports.DropdownMenuGroup = DropdownMenuGroup;
|
|
182
|
+
exports.DropdownMenuItem = DropdownMenuItem;
|
|
183
|
+
exports.DropdownMenuLabel = DropdownMenuLabel;
|
|
184
|
+
exports.DropdownMenuPortal = DropdownMenuPortal;
|
|
185
|
+
exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
|
|
186
|
+
exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
|
|
187
|
+
exports.DropdownMenuSeparator = DropdownMenuSeparator;
|
|
188
|
+
exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
189
|
+
exports.DropdownMenuSub = DropdownMenuSub;
|
|
190
|
+
exports.DropdownMenuSubContent = DropdownMenuSubContent;
|
|
191
|
+
exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
|
|
192
|
+
exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
193
|
+
//# sourceMappingURL=dropdown-menu.cjs.map
|
|
194
|
+
//# sourceMappingURL=dropdown-menu.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/dropdown-menu.tsx"],"names":["twMerge","clsx","DropdownMenuPrimitive","React","jsxs","jsx","ChevronRightIcon","CheckIcon","DotFilledIcon"],"mappings":"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","file":"dropdown-menu.cjs","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"../lib/utils\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default gap-2 select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md\",\n \"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\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n noInteractive?: boolean;\n }\n>(({ className, inset, noInteractive, ...props }, ref) =>\n noInteractive ? (\n <div\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0 hover:bg-secondary/50\",\n inset && \"pl-8\",\n className\n )}\n onClick={props.onClick}\n >\n {props.children}\n </div>\n ) : (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n )\n);\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
3
|
+
import { ChevronRightIcon, CheckIcon, DotFilledIcon } from '@radix-ui/react-icons';
|
|
4
|
+
import { clsx } from 'clsx';
|
|
5
|
+
import 'sonner';
|
|
6
|
+
import { twMerge } from 'tailwind-merge';
|
|
7
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
8
|
+
|
|
9
|
+
var cn = (...inputs) => twMerge(clsx(inputs));
|
|
10
|
+
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
11
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
12
|
+
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
13
|
+
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
14
|
+
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
15
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
16
|
+
var DropdownMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
17
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
className: cn(
|
|
21
|
+
"flex cursor-default gap-2 select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
22
|
+
inset && "pl-8",
|
|
23
|
+
className
|
|
24
|
+
),
|
|
25
|
+
...props,
|
|
26
|
+
children: [
|
|
27
|
+
children,
|
|
28
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
));
|
|
32
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
33
|
+
var DropdownMenuSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
34
|
+
DropdownMenuPrimitive.SubContent,
|
|
35
|
+
{
|
|
36
|
+
ref,
|
|
37
|
+
className: cn(
|
|
38
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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",
|
|
39
|
+
className
|
|
40
|
+
),
|
|
41
|
+
...props
|
|
42
|
+
}
|
|
43
|
+
));
|
|
44
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
45
|
+
var DropdownMenuContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
46
|
+
DropdownMenuPrimitive.Content,
|
|
47
|
+
{
|
|
48
|
+
ref,
|
|
49
|
+
sideOffset,
|
|
50
|
+
className: cn(
|
|
51
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md",
|
|
52
|
+
"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",
|
|
53
|
+
className
|
|
54
|
+
),
|
|
55
|
+
...props
|
|
56
|
+
}
|
|
57
|
+
) }));
|
|
58
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
59
|
+
var DropdownMenuItem = React.forwardRef(
|
|
60
|
+
({ className, inset, noInteractive, ...props }, ref) => noInteractive ? /* @__PURE__ */ jsx(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
ref,
|
|
64
|
+
className: cn(
|
|
65
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0 hover:bg-secondary/50",
|
|
66
|
+
inset && "pl-8",
|
|
67
|
+
className
|
|
68
|
+
),
|
|
69
|
+
onClick: props.onClick,
|
|
70
|
+
children: props.children
|
|
71
|
+
}
|
|
72
|
+
) : /* @__PURE__ */ jsx(
|
|
73
|
+
DropdownMenuPrimitive.Item,
|
|
74
|
+
{
|
|
75
|
+
ref,
|
|
76
|
+
className: cn(
|
|
77
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
78
|
+
inset && "pl-8",
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
...props
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
);
|
|
85
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
86
|
+
var DropdownMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
87
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
88
|
+
{
|
|
89
|
+
ref,
|
|
90
|
+
className: cn(
|
|
91
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
92
|
+
className
|
|
93
|
+
),
|
|
94
|
+
checked,
|
|
95
|
+
...props,
|
|
96
|
+
children: [
|
|
97
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
98
|
+
children
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
));
|
|
102
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
103
|
+
var DropdownMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
104
|
+
DropdownMenuPrimitive.RadioItem,
|
|
105
|
+
{
|
|
106
|
+
ref,
|
|
107
|
+
className: cn(
|
|
108
|
+
"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(DotFilledIcon, { className: "h-2 w-2 fill-current" }) }) }),
|
|
114
|
+
children
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
));
|
|
118
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
119
|
+
var DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
120
|
+
DropdownMenuPrimitive.Label,
|
|
121
|
+
{
|
|
122
|
+
ref,
|
|
123
|
+
className: cn(
|
|
124
|
+
"px-2 py-1.5 text-sm font-semibold",
|
|
125
|
+
inset && "pl-8",
|
|
126
|
+
className
|
|
127
|
+
),
|
|
128
|
+
...props
|
|
129
|
+
}
|
|
130
|
+
));
|
|
131
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
132
|
+
var DropdownMenuSeparator = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
133
|
+
DropdownMenuPrimitive.Separator,
|
|
134
|
+
{
|
|
135
|
+
ref,
|
|
136
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
137
|
+
...props
|
|
138
|
+
}
|
|
139
|
+
));
|
|
140
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
141
|
+
var DropdownMenuShortcut = ({
|
|
142
|
+
className,
|
|
143
|
+
...props
|
|
144
|
+
}) => {
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
"span",
|
|
147
|
+
{
|
|
148
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
149
|
+
...props
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
};
|
|
153
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
154
|
+
|
|
155
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
|
|
156
|
+
//# sourceMappingURL=dropdown-menu.js.map
|
|
157
|
+
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/lib/utils.ts","../../src/ui/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"dropdown-menu.js","sourcesContent":["import { clsx } from \"clsx\";\nimport type { ClassValue } from \"clsx\";\nimport { toast } from \"sonner\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport const cn = (...inputs: ClassValue[]): string => twMerge(clsx(inputs));\n\nexport const capitalize = (str: string) =>\n str?.charAt(0)?.toUpperCase() + str?.slice(1);\n\nexport const handleError = (error: { message: string }): void => {\n toast.error(error.message);\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport { cn } from \"../lib/utils\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default gap-2 select-none items-center rounded-lg px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-lg 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\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-xl border bg-popover p-1 text-popover-foreground shadow-md\",\n \"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\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n noInteractive?: boolean;\n }\n>(({ className, inset, noInteractive, ...props }, ref) =>\n noInteractive ? (\n <div\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0 hover:bg-secondary/50\",\n inset && \"pl-8\",\n className\n )}\n onClick={props.onClick}\n >\n {props.children}\n </div>\n ) : (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-lg px-2 py-1.5 text-sm outline-none transition-colors focus:bg-secondary/50 dark:focus:bg-secondary/25 focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n )\n);\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-lg py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|