@vendure/dashboard 3.3.6-master-202507030835 → 3.3.6-master-202507031127

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 (51) hide show
  1. package/package.json +27 -40
  2. package/src/app/routes/_authenticated/_collections/components/move-collections-dialog.tsx +7 -7
  3. package/src/app/routes/_authenticated/_customers/components/customer-address-card.tsx +3 -8
  4. package/src/lib/components/data-table/data-table-bulk-actions.tsx +9 -3
  5. package/src/lib/components/data-table/data-table.tsx +3 -2
  6. package/src/lib/components/ui/accordion.tsx +45 -50
  7. package/src/lib/components/ui/alert-dialog.tsx +93 -122
  8. package/src/lib/components/ui/alert.tsx +48 -54
  9. package/src/lib/components/ui/badge.tsx +29 -37
  10. package/src/lib/components/ui/breadcrumb.tsx +82 -89
  11. package/src/lib/components/ui/button.tsx +51 -52
  12. package/src/lib/components/ui/calendar.tsx +435 -196
  13. package/src/lib/components/ui/card.tsx +33 -78
  14. package/src/lib/components/ui/checkbox.tsx +23 -28
  15. package/src/lib/components/ui/collapsible.tsx +2 -0
  16. package/src/lib/components/ui/command.tsx +114 -159
  17. package/src/lib/components/ui/dialog.tsx +90 -115
  18. package/src/lib/components/ui/dropdown-menu.tsx +170 -207
  19. package/src/lib/components/ui/form.tsx +114 -138
  20. package/src/lib/components/ui/hover-card.tsx +26 -32
  21. package/src/lib/components/ui/input.tsx +15 -17
  22. package/src/lib/components/ui/label.tsx +16 -19
  23. package/src/lib/components/ui/pagination.tsx +87 -108
  24. package/src/lib/components/ui/popover.tsx +28 -36
  25. package/src/lib/components/ui/scroll-area.tsx +40 -48
  26. package/src/lib/components/ui/select.tsx +129 -151
  27. package/src/lib/components/ui/separator.tsx +20 -22
  28. package/src/lib/components/ui/sheet.tsx +91 -110
  29. package/src/lib/components/ui/sidebar.tsx +622 -652
  30. package/src/lib/components/ui/skeleton.tsx +10 -10
  31. package/src/lib/components/ui/sonner.tsx +11 -7
  32. package/src/lib/components/ui/switch.tsx +22 -27
  33. package/src/lib/components/ui/table.tsx +64 -96
  34. package/src/lib/components/ui/tabs.tsx +38 -56
  35. package/src/lib/components/ui/textarea.tsx +14 -14
  36. package/src/lib/components/ui/tooltip.tsx +37 -45
  37. package/src/lib/components/ui/aspect-ratio.tsx +0 -9
  38. package/src/lib/components/ui/avatar.tsx +0 -53
  39. package/src/lib/components/ui/carousel.tsx +0 -241
  40. package/src/lib/components/ui/chart.tsx +0 -351
  41. package/src/lib/components/ui/context-menu.tsx +0 -252
  42. package/src/lib/components/ui/drawer.tsx +0 -133
  43. package/src/lib/components/ui/input-otp.tsx +0 -77
  44. package/src/lib/components/ui/menubar.tsx +0 -274
  45. package/src/lib/components/ui/navigation-menu.tsx +0 -168
  46. package/src/lib/components/ui/progress.tsx +0 -29
  47. package/src/lib/components/ui/radio-group.tsx +0 -45
  48. package/src/lib/components/ui/resizable.tsx +0 -54
  49. package/src/lib/components/ui/slider.tsx +0 -63
  50. package/src/lib/components/ui/toggle-group.tsx +0 -73
  51. package/src/lib/components/ui/toggle.tsx +0 -45
@@ -1,92 +1,47 @@
1
- import * as React from "react"
1
+ import * as React from 'react';
2
2
 
3
- import { cn } from "@/vdb/lib/utils"
3
+ import { cn } from '@/vdb/lib/utils.js';
4
4
 
5
- function Card({ className, ...props }: React.ComponentProps<"div">) {
6
- return (
7
- <div
8
- data-slot="card"
9
- className={cn(
10
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
11
- className
12
- )}
13
- {...props}
14
- />
15
- )
5
+ function Card({ className, ...props }: React.ComponentProps<'div'>) {
6
+ return (
7
+ <div
8
+ data-slot="card"
9
+ className={cn('bg-card text-card-foreground rounded-xl border shadow-sm', className)}
10
+ {...props}
11
+ />
12
+ );
16
13
  }
17
14
 
18
- function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
19
- return (
20
- <div
21
- data-slot="card-header"
22
- className={cn(
23
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
24
- className
25
- )}
26
- {...props}
27
- />
28
- )
15
+ function CardHeader({ className, ...props }: React.ComponentProps<'div'>) {
16
+ return <div data-slot="card-header" className={cn('flex flex-col gap-1.5 p-6', className)} {...props} />;
29
17
  }
30
18
 
31
- function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
32
- return (
33
- <div
34
- data-slot="card-title"
35
- className={cn("leading-none font-semibold", className)}
36
- {...props}
37
- />
38
- )
19
+ function CardTitle({ className, ...props }: React.ComponentProps<'div'>) {
20
+ return (
21
+ <div
22
+ data-slot="card-title"
23
+ className={cn('leading-none font-semibold tracking-tight', className)}
24
+ {...props}
25
+ />
26
+ );
39
27
  }
40
28
 
41
- function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
42
- return (
43
- <div
44
- data-slot="card-description"
45
- className={cn("text-muted-foreground text-sm", className)}
46
- {...props}
47
- />
48
- )
29
+ function CardDescription({ className, ...props }: React.ComponentProps<'div'>) {
30
+ return (
31
+ <div
32
+ data-slot="card-description"
33
+ className={cn('text-muted-foreground text-sm', className)}
34
+ {...props}
35
+ />
36
+ );
49
37
  }
50
38
 
51
- function CardAction({ className, ...props }: React.ComponentProps<"div">) {
52
- return (
53
- <div
54
- data-slot="card-action"
55
- className={cn(
56
- "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
57
- className
58
- )}
59
- {...props}
60
- />
61
- )
39
+ function CardContent({ className, ...props }: React.ComponentProps<'div'>) {
40
+ return <div data-slot="card-content" className={cn('p-6 pt-0', className)} {...props} />;
62
41
  }
63
42
 
64
- function CardContent({ className, ...props }: React.ComponentProps<"div">) {
65
- return (
66
- <div
67
- data-slot="card-content"
68
- className={cn("px-6", className)}
69
- {...props}
70
- />
71
- )
43
+ function CardFooter({ className, ...props }: React.ComponentProps<'div'>) {
44
+ return <div data-slot="card-footer" className={cn('flex items-center p-6 pt-0', className)} {...props} />;
72
45
  }
73
46
 
74
- function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
75
- return (
76
- <div
77
- data-slot="card-footer"
78
- className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
79
- {...props}
80
- />
81
- )
82
- }
83
-
84
- export {
85
- Card,
86
- CardHeader,
87
- CardFooter,
88
- CardTitle,
89
- CardAction,
90
- CardDescription,
91
- CardContent,
92
- }
47
+ export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
@@ -1,32 +1,27 @@
1
- "use client"
1
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
2
+ import { CheckIcon } from 'lucide-react';
3
+ import * as React from 'react';
2
4
 
3
- import * as React from "react"
4
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox"
5
- import { CheckIcon } from "lucide-react"
5
+ import { cn } from '@/vdb/lib/utils.js';
6
6
 
7
- import { cn } from "@/vdb/lib/utils"
8
-
9
- function Checkbox({
10
- className,
11
- ...props
12
- }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
13
- return (
14
- <CheckboxPrimitive.Root
15
- data-slot="checkbox"
16
- className={cn(
17
- "peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
18
- className
19
- )}
20
- {...props}
21
- >
22
- <CheckboxPrimitive.Indicator
23
- data-slot="checkbox-indicator"
24
- className="flex items-center justify-center text-current transition-none"
25
- >
26
- <CheckIcon className="size-3.5" />
27
- </CheckboxPrimitive.Indicator>
28
- </CheckboxPrimitive.Root>
29
- )
7
+ function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {
8
+ return (
9
+ <CheckboxPrimitive.Root
10
+ data-slot="checkbox"
11
+ className={cn(
12
+ 'peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',
13
+ className,
14
+ )}
15
+ {...props}
16
+ >
17
+ <CheckboxPrimitive.Indicator
18
+ data-slot="checkbox-indicator"
19
+ className="flex items-center justify-center text-current transition-none"
20
+ >
21
+ <CheckIcon className="size-3.5" />
22
+ </CheckboxPrimitive.Indicator>
23
+ </CheckboxPrimitive.Root>
24
+ );
30
25
  }
31
26
 
32
- export { Checkbox }
27
+ export { Checkbox };
@@ -1,3 +1,5 @@
1
+ "use client"
2
+
1
3
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"
2
4
 
3
5
  function Collapsible({
@@ -1,184 +1,139 @@
1
- "use client"
1
+ import { Command as CommandPrimitive } from 'cmdk';
2
+ import { SearchIcon } from 'lucide-react';
3
+ import * as React from 'react';
2
4
 
3
- import * as React from "react"
4
- import { Command as CommandPrimitive } from "cmdk"
5
- import { SearchIcon } from "lucide-react"
6
-
7
- import { cn } from "@/vdb/lib/utils"
8
5
  import {
9
- Dialog,
10
- DialogContent,
11
- DialogDescription,
12
- DialogHeader,
13
- DialogTitle,
14
- } from "@/vdb/components/ui/dialog"
6
+ Dialog,
7
+ DialogContent,
8
+ DialogDescription,
9
+ DialogHeader,
10
+ DialogTitle,
11
+ } from '@/vdb/components/ui/dialog.js';
12
+ import { cn } from '@/vdb/lib/utils.js';
15
13
 
16
- function Command({
17
- className,
18
- ...props
19
- }: React.ComponentProps<typeof CommandPrimitive>) {
20
- return (
21
- <CommandPrimitive
22
- data-slot="command"
23
- className={cn(
24
- "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
25
- className
26
- )}
27
- {...props}
28
- />
29
- )
14
+ function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>) {
15
+ return (
16
+ <CommandPrimitive
17
+ data-slot="command"
18
+ className={cn(
19
+ 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',
20
+ className,
21
+ )}
22
+ {...props}
23
+ />
24
+ );
30
25
  }
31
26
 
32
27
  function CommandDialog({
33
- title = "Command Palette",
34
- description = "Search for a command to run...",
35
- children,
36
- className,
37
- showCloseButton = true,
38
- ...props
28
+ title = 'Command Palette',
29
+ description = 'Search for a command to run...',
30
+ children,
31
+ ...props
39
32
  }: React.ComponentProps<typeof Dialog> & {
40
- title?: string
41
- description?: string
42
- className?: string
43
- showCloseButton?: boolean
33
+ title?: string;
34
+ description?: string;
44
35
  }) {
45
- return (
46
- <Dialog {...props}>
47
- <DialogHeader className="sr-only">
48
- <DialogTitle>{title}</DialogTitle>
49
- <DialogDescription>{description}</DialogDescription>
50
- </DialogHeader>
51
- <DialogContent
52
- className={cn("overflow-hidden p-0", className)}
53
- showCloseButton={showCloseButton}
54
- >
55
- <Command className="[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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">
56
- {children}
57
- </Command>
58
- </DialogContent>
59
- </Dialog>
60
- )
36
+ return (
37
+ <Dialog {...props}>
38
+ <DialogHeader className="sr-only">
39
+ <DialogTitle>{title}</DialogTitle>
40
+ <DialogDescription>{description}</DialogDescription>
41
+ </DialogHeader>
42
+ <DialogContent className="overflow-hidden p-0">
43
+ <Command className="[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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">
44
+ {children}
45
+ </Command>
46
+ </DialogContent>
47
+ </Dialog>
48
+ );
61
49
  }
62
50
 
63
- function CommandInput({
64
- className,
65
- ...props
66
- }: React.ComponentProps<typeof CommandPrimitive.Input>) {
67
- return (
68
- <div
69
- data-slot="command-input-wrapper"
70
- className="flex h-9 items-center gap-2 border-b px-3"
71
- >
72
- <SearchIcon className="size-4 shrink-0 opacity-50" />
73
- <CommandPrimitive.Input
74
- data-slot="command-input"
75
- className={cn(
76
- "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
77
- className
78
- )}
79
- {...props}
80
- />
81
- </div>
82
- )
51
+ function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>) {
52
+ return (
53
+ <div data-slot="command-input-wrapper" className="flex h-9 items-center gap-2 border-b px-3">
54
+ <SearchIcon className="size-4 shrink-0 opacity-50" />
55
+ <CommandPrimitive.Input
56
+ data-slot="command-input"
57
+ className={cn(
58
+ 'placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50',
59
+ className,
60
+ )}
61
+ {...props}
62
+ />
63
+ </div>
64
+ );
83
65
  }
84
66
 
85
- function CommandList({
86
- className,
87
- ...props
88
- }: React.ComponentProps<typeof CommandPrimitive.List>) {
89
- return (
90
- <CommandPrimitive.List
91
- data-slot="command-list"
92
- className={cn(
93
- "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
94
- className
95
- )}
96
- {...props}
97
- />
98
- )
67
+ function CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>) {
68
+ return (
69
+ <CommandPrimitive.List
70
+ data-slot="command-list"
71
+ className={cn('max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto', className)}
72
+ {...props}
73
+ />
74
+ );
99
75
  }
100
76
 
101
- function CommandEmpty({
102
- ...props
103
- }: React.ComponentProps<typeof CommandPrimitive.Empty>) {
104
- return (
105
- <CommandPrimitive.Empty
106
- data-slot="command-empty"
107
- className="py-6 text-center text-sm"
108
- {...props}
109
- />
110
- )
77
+ function CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>) {
78
+ return (
79
+ <CommandPrimitive.Empty data-slot="command-empty" className="py-6 text-center text-sm" {...props} />
80
+ );
111
81
  }
112
82
 
113
- function CommandGroup({
114
- className,
115
- ...props
116
- }: React.ComponentProps<typeof CommandPrimitive.Group>) {
117
- return (
118
- <CommandPrimitive.Group
119
- data-slot="command-group"
120
- className={cn(
121
- "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
122
- className
123
- )}
124
- {...props}
125
- />
126
- )
83
+ function CommandGroup({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Group>) {
84
+ return (
85
+ <CommandPrimitive.Group
86
+ data-slot="command-group"
87
+ className={cn(
88
+ 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',
89
+ className,
90
+ )}
91
+ {...props}
92
+ />
93
+ );
127
94
  }
128
95
 
129
- function CommandSeparator({
130
- className,
131
- ...props
132
- }: React.ComponentProps<typeof CommandPrimitive.Separator>) {
133
- return (
134
- <CommandPrimitive.Separator
135
- data-slot="command-separator"
136
- className={cn("bg-border -mx-1 h-px", className)}
137
- {...props}
138
- />
139
- )
96
+ function CommandSeparator({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator>) {
97
+ return (
98
+ <CommandPrimitive.Separator
99
+ data-slot="command-separator"
100
+ className={cn('bg-border -mx-1 h-px', className)}
101
+ {...props}
102
+ />
103
+ );
140
104
  }
141
105
 
142
- function CommandItem({
143
- className,
144
- ...props
145
- }: React.ComponentProps<typeof CommandPrimitive.Item>) {
146
- return (
147
- <CommandPrimitive.Item
148
- data-slot="command-item"
149
- className={cn(
150
- "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
151
- className
152
- )}
153
- {...props}
154
- />
155
- )
106
+ function CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>) {
107
+ return (
108
+ <CommandPrimitive.Item
109
+ data-slot="command-item"
110
+ className={cn(
111
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
112
+ className,
113
+ )}
114
+ {...props}
115
+ />
116
+ );
156
117
  }
157
118
 
158
- function CommandShortcut({
159
- className,
160
- ...props
161
- }: React.ComponentProps<"span">) {
162
- return (
163
- <span
164
- data-slot="command-shortcut"
165
- className={cn(
166
- "text-muted-foreground ml-auto text-xs tracking-widest",
167
- className
168
- )}
169
- {...props}
170
- />
171
- )
119
+ function CommandShortcut({ className, ...props }: React.ComponentProps<'span'>) {
120
+ return (
121
+ <span
122
+ data-slot="command-shortcut"
123
+ className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}
124
+ {...props}
125
+ />
126
+ );
172
127
  }
173
128
 
174
129
  export {
175
- Command,
176
- CommandDialog,
177
- CommandInput,
178
- CommandList,
179
- CommandEmpty,
180
- CommandGroup,
181
- CommandItem,
182
- CommandShortcut,
183
- CommandSeparator,
184
- }
130
+ Command,
131
+ CommandDialog,
132
+ CommandEmpty,
133
+ CommandGroup,
134
+ CommandInput,
135
+ CommandItem,
136
+ CommandList,
137
+ CommandSeparator,
138
+ CommandShortcut,
139
+ };