@hai3/uikit 0.1.0-alpha.2 → 0.1.0-alpha.4
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/dist/index.cjs +3399 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{index.d.mts → index.d.cts} +135 -128
- package/dist/index.d.ts +135 -128
- package/dist/index.js +1358 -619
- package/dist/index.js.map +1 -1
- package/package.json +18 -8
- package/src/styles/applyTheme.ts +8 -1
- package/dist/index.mjs +0 -2054
- package/dist/index.mjs.map +0 -1
- package/src/styles/themeTypes.ts +0 -114
package/dist/index.js
CHANGED
|
@@ -1,73 +1,50 @@
|
|
|
1
|
-
|
|
1
|
+
import * as AspectRatioPrimitive from '@radix-ui/react-aspect-ratio';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import * as React18 from 'react';
|
|
4
|
+
import React18__default from 'react';
|
|
5
|
+
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
6
|
+
import { clsx } from 'clsx';
|
|
7
|
+
import { twMerge } from 'tailwind-merge';
|
|
8
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
9
|
+
import { cva } from 'class-variance-authority';
|
|
10
|
+
import { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
|
|
11
|
+
export { ButtonSize, ButtonVariant, IconButtonSize } from '@hai3/uikit-contracts';
|
|
12
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
13
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
14
|
+
import { Loader2, ChevronDown, X, ArrowLeft, ArrowRight, ChevronUp, Check, ChevronRight, MoreHorizontal, GripVertical, User, Bot, Paperclip, Send, Plus, Search } from 'lucide-react';
|
|
15
|
+
import { trim, toUpper } from 'lodash';
|
|
16
|
+
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
17
|
+
import * as ProgressPrimitive from '@radix-ui/react-progress';
|
|
18
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
19
|
+
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
20
|
+
import * as HoverCardPrimitive from '@radix-ui/react-hover-card';
|
|
21
|
+
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
22
|
+
import * as MenubarPrimitive from '@radix-ui/react-menubar';
|
|
23
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
24
|
+
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
25
|
+
import { Drawer as Drawer$1 } from 'vaul';
|
|
26
|
+
import * as ResizablePrimitive from 'react-resizable-panels';
|
|
27
|
+
import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
|
|
28
|
+
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
29
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
30
|
+
import useEmblaCarousel from 'embla-carousel-react';
|
|
31
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
32
|
+
export { Area, AreaChart, Bar, BarChart, Brush, CartesianGrid, Cell, Legend as ChartLegend, Tooltip as ChartTooltip, ComposedChart, Cross, Curve, Customized, Dot, ErrorBar, Funnel, FunnelChart, Label, LabelList, Line, LineChart, Pie, PieChart, PolarAngleAxis, PolarGrid, PolarRadiusAxis, Polygon, Radar, RadarChart, RadialBar, RadialBarChart, Rectangle, ReferenceArea, ReferenceDot, ReferenceLine, ResponsiveContainer, Sankey, Scatter, ScatterChart, Sector, Text, Treemap, XAxis, YAxis, ZAxis } from 'recharts';
|
|
33
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
34
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
35
|
+
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
2
36
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var reactSlot = require('@radix-ui/react-slot');
|
|
9
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
10
|
-
var uikitContracts = require('@hai3/uikit-contracts');
|
|
11
|
-
var SwitchPrimitives = require('@radix-ui/react-switch');
|
|
12
|
-
var lucideReact = require('lucide-react');
|
|
13
|
-
var lodash = require('lodash');
|
|
14
|
-
var SliderPrimitive = require('@radix-ui/react-slider');
|
|
15
|
-
var ProgressPrimitive = require('@radix-ui/react-progress');
|
|
16
|
-
var TooltipPrimitive = require('@radix-ui/react-tooltip');
|
|
17
|
-
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
18
|
-
var HoverCardPrimitive = require('@radix-ui/react-hover-card');
|
|
19
|
-
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
20
|
-
var SheetPrimitive = require('@radix-ui/react-dialog');
|
|
21
|
-
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
22
|
-
var useEmblaCarousel = require('embla-carousel-react');
|
|
23
|
-
var CollapsiblePrimitive = require('@radix-ui/react-collapsible');
|
|
24
|
-
var SelectPrimitive = require('@radix-ui/react-select');
|
|
25
|
-
var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu');
|
|
26
|
-
var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
|
|
27
|
-
|
|
28
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
|
-
|
|
30
|
-
function _interopNamespace(e) {
|
|
31
|
-
if (e && e.__esModule) return e;
|
|
32
|
-
var n = Object.create(null);
|
|
33
|
-
if (e) {
|
|
34
|
-
Object.keys(e).forEach(function (k) {
|
|
35
|
-
if (k !== 'default') {
|
|
36
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
37
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
get: function () { return e[k]; }
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
n.default = e;
|
|
45
|
-
return Object.freeze(n);
|
|
37
|
+
// src/base/aspect-ratio.tsx
|
|
38
|
+
function AspectRatio({
|
|
39
|
+
...props
|
|
40
|
+
}) {
|
|
41
|
+
return /* @__PURE__ */ jsx(AspectRatioPrimitive.Root, { "data-slot": "aspect-ratio", ...props });
|
|
46
42
|
}
|
|
47
|
-
|
|
48
|
-
var React18__namespace = /*#__PURE__*/_interopNamespace(React18);
|
|
49
|
-
var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
|
|
50
|
-
var SwitchPrimitives__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitives);
|
|
51
|
-
var SliderPrimitive__namespace = /*#__PURE__*/_interopNamespace(SliderPrimitive);
|
|
52
|
-
var ProgressPrimitive__namespace = /*#__PURE__*/_interopNamespace(ProgressPrimitive);
|
|
53
|
-
var TooltipPrimitive__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive);
|
|
54
|
-
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
55
|
-
var HoverCardPrimitive__namespace = /*#__PURE__*/_interopNamespace(HoverCardPrimitive);
|
|
56
|
-
var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(NavigationMenuPrimitive);
|
|
57
|
-
var SheetPrimitive__namespace = /*#__PURE__*/_interopNamespace(SheetPrimitive);
|
|
58
|
-
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
59
|
-
var useEmblaCarousel__default = /*#__PURE__*/_interopDefault(useEmblaCarousel);
|
|
60
|
-
var CollapsiblePrimitive__namespace = /*#__PURE__*/_interopNamespace(CollapsiblePrimitive);
|
|
61
|
-
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
62
|
-
var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
|
|
63
|
-
var ContextMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(ContextMenuPrimitive);
|
|
64
|
-
|
|
65
|
-
// src/base/avatar.tsx
|
|
66
43
|
function cn(...inputs) {
|
|
67
|
-
return
|
|
44
|
+
return twMerge(clsx(inputs));
|
|
68
45
|
}
|
|
69
|
-
var Avatar =
|
|
70
|
-
|
|
46
|
+
var Avatar = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
47
|
+
AvatarPrimitive.Root,
|
|
71
48
|
{
|
|
72
49
|
ref,
|
|
73
50
|
className: cn(
|
|
@@ -77,18 +54,18 @@ var Avatar = React18__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
77
54
|
...props
|
|
78
55
|
}
|
|
79
56
|
));
|
|
80
|
-
Avatar.displayName =
|
|
81
|
-
var AvatarImage =
|
|
82
|
-
|
|
57
|
+
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
58
|
+
var AvatarImage = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
59
|
+
AvatarPrimitive.Image,
|
|
83
60
|
{
|
|
84
61
|
ref,
|
|
85
62
|
className: cn("aspect-square h-full w-full", className),
|
|
86
63
|
...props
|
|
87
64
|
}
|
|
88
65
|
));
|
|
89
|
-
AvatarImage.displayName =
|
|
90
|
-
var AvatarFallback =
|
|
91
|
-
|
|
66
|
+
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
67
|
+
var AvatarFallback = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
68
|
+
AvatarPrimitive.Fallback,
|
|
92
69
|
{
|
|
93
70
|
ref,
|
|
94
71
|
className: cn(
|
|
@@ -98,36 +75,36 @@ var AvatarFallback = React18__namespace.forwardRef(({ className, ...props }, ref
|
|
|
98
75
|
...props
|
|
99
76
|
}
|
|
100
77
|
));
|
|
101
|
-
AvatarFallback.displayName =
|
|
102
|
-
var buttonVariants =
|
|
78
|
+
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
79
|
+
var buttonVariants = cva(
|
|
103
80
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
104
81
|
{
|
|
105
82
|
variants: {
|
|
106
83
|
variant: {
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
[
|
|
110
|
-
[
|
|
111
|
-
[
|
|
112
|
-
[
|
|
84
|
+
[ButtonVariant.Default]: "bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
85
|
+
[ButtonVariant.Destructive]: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
|
86
|
+
[ButtonVariant.Outline]: "border border-input bg-background shadow-sm hover:bg-accent data-[state=open]:bg-accent",
|
|
87
|
+
[ButtonVariant.Secondary]: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
|
|
88
|
+
[ButtonVariant.Ghost]: "hover:bg-accent data-[state=open]:bg-accent",
|
|
89
|
+
[ButtonVariant.Link]: "text-primary underline-offset-4 hover:underline"
|
|
113
90
|
},
|
|
114
91
|
size: {
|
|
115
|
-
[
|
|
116
|
-
[
|
|
117
|
-
[
|
|
118
|
-
[
|
|
92
|
+
[ButtonSize.Default]: "h-9 px-4 py-2",
|
|
93
|
+
[ButtonSize.Sm]: "h-8 rounded-md px-3 text-xs",
|
|
94
|
+
[ButtonSize.Lg]: "h-10 rounded-md px-8",
|
|
95
|
+
[ButtonSize.Icon]: "h-9 w-9"
|
|
119
96
|
}
|
|
120
97
|
},
|
|
121
98
|
defaultVariants: {
|
|
122
|
-
variant:
|
|
123
|
-
size:
|
|
99
|
+
variant: ButtonVariant.Default,
|
|
100
|
+
size: ButtonSize.Default
|
|
124
101
|
}
|
|
125
102
|
}
|
|
126
103
|
);
|
|
127
|
-
var Button =
|
|
104
|
+
var Button = React18.forwardRef(
|
|
128
105
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
129
|
-
const Comp = asChild ?
|
|
130
|
-
return /* @__PURE__ */
|
|
106
|
+
const Comp = asChild ? Slot : "button";
|
|
107
|
+
return /* @__PURE__ */ jsx(
|
|
131
108
|
Comp,
|
|
132
109
|
{
|
|
133
110
|
className: cn(buttonVariants({ variant, size, className })),
|
|
@@ -138,7 +115,7 @@ var Button = React18__namespace.forwardRef(
|
|
|
138
115
|
}
|
|
139
116
|
);
|
|
140
117
|
Button.displayName = "Button";
|
|
141
|
-
var badgeVariants =
|
|
118
|
+
var badgeVariants = cva(
|
|
142
119
|
"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
|
|
143
120
|
{
|
|
144
121
|
variants: {
|
|
@@ -160,8 +137,8 @@ function Badge({
|
|
|
160
137
|
asChild = false,
|
|
161
138
|
...props
|
|
162
139
|
}) {
|
|
163
|
-
const Comp = asChild ?
|
|
164
|
-
return /* @__PURE__ */
|
|
140
|
+
const Comp = asChild ? Slot : "span";
|
|
141
|
+
return /* @__PURE__ */ jsx(
|
|
165
142
|
Comp,
|
|
166
143
|
{
|
|
167
144
|
className: cn(badgeVariants({ variant }), className),
|
|
@@ -169,9 +146,50 @@ function Badge({
|
|
|
169
146
|
}
|
|
170
147
|
);
|
|
171
148
|
}
|
|
172
|
-
var
|
|
149
|
+
var CheckIcon = ({ className = "" }) => {
|
|
150
|
+
return /* @__PURE__ */ jsx(
|
|
151
|
+
"svg",
|
|
152
|
+
{
|
|
153
|
+
className,
|
|
154
|
+
width: "16",
|
|
155
|
+
height: "16",
|
|
156
|
+
viewBox: "0 0 24 24",
|
|
157
|
+
fill: "none",
|
|
158
|
+
stroke: "currentColor",
|
|
159
|
+
strokeWidth: "2",
|
|
160
|
+
strokeLinecap: "round",
|
|
161
|
+
strokeLinejoin: "round",
|
|
162
|
+
children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
};
|
|
166
|
+
function Checkbox({
|
|
167
|
+
className,
|
|
168
|
+
...props
|
|
169
|
+
}) {
|
|
170
|
+
return /* @__PURE__ */ jsx(
|
|
171
|
+
CheckboxPrimitive.Root,
|
|
172
|
+
{
|
|
173
|
+
"data-slot": "checkbox",
|
|
174
|
+
className: cn(
|
|
175
|
+
"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",
|
|
176
|
+
className
|
|
177
|
+
),
|
|
178
|
+
...props,
|
|
179
|
+
children: /* @__PURE__ */ jsx(
|
|
180
|
+
CheckboxPrimitive.Indicator,
|
|
181
|
+
{
|
|
182
|
+
"data-slot": "checkbox-indicator",
|
|
183
|
+
className: "grid place-content-center text-current transition-none",
|
|
184
|
+
children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
|
|
185
|
+
}
|
|
186
|
+
)
|
|
187
|
+
}
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
var Input = React18.forwardRef(
|
|
173
191
|
({ className, type, ...props }, ref) => {
|
|
174
|
-
return /* @__PURE__ */
|
|
192
|
+
return /* @__PURE__ */ jsx(
|
|
175
193
|
"input",
|
|
176
194
|
{
|
|
177
195
|
type,
|
|
@@ -186,10 +204,10 @@ var Input = React18__namespace.forwardRef(
|
|
|
186
204
|
}
|
|
187
205
|
);
|
|
188
206
|
Input.displayName = "Input";
|
|
189
|
-
var Textarea =
|
|
207
|
+
var Textarea = React18.forwardRef(
|
|
190
208
|
({ className, autoResize = false, minHeight = 50, maxHeight = 350, size = "default", onChange, ...props }, ref) => {
|
|
191
|
-
const internalRef =
|
|
192
|
-
|
|
209
|
+
const internalRef = React18.useRef(null);
|
|
210
|
+
React18.useImperativeHandle(ref, () => internalRef.current);
|
|
193
211
|
const sizeClasses = {
|
|
194
212
|
sm: "min-h-11 h-11",
|
|
195
213
|
// 44px / 2.75rem - exact height
|
|
@@ -206,7 +224,7 @@ var Textarea = React18__namespace.forwardRef(
|
|
|
206
224
|
lg: "py-2"
|
|
207
225
|
// 8px top + 8px bottom (default)
|
|
208
226
|
};
|
|
209
|
-
const handleResize =
|
|
227
|
+
const handleResize = React18.useCallback(() => {
|
|
210
228
|
if (autoResize && size !== "sm" && internalRef.current) {
|
|
211
229
|
const textarea = internalRef.current;
|
|
212
230
|
textarea.style.height = "auto";
|
|
@@ -214,17 +232,17 @@ var Textarea = React18__namespace.forwardRef(
|
|
|
214
232
|
textarea.style.height = `${Math.min(Math.max(scrollHeight, minHeight), maxHeight)}px`;
|
|
215
233
|
}
|
|
216
234
|
}, [autoResize, size, minHeight, maxHeight]);
|
|
217
|
-
|
|
235
|
+
React18.useEffect(() => {
|
|
218
236
|
handleResize();
|
|
219
237
|
}, [handleResize, props.value]);
|
|
220
|
-
const handleChange =
|
|
238
|
+
const handleChange = React18.useCallback(
|
|
221
239
|
(e) => {
|
|
222
240
|
handleResize();
|
|
223
241
|
onChange?.(e);
|
|
224
242
|
},
|
|
225
243
|
[onChange, handleResize]
|
|
226
244
|
);
|
|
227
|
-
return /* @__PURE__ */
|
|
245
|
+
return /* @__PURE__ */ jsx(
|
|
228
246
|
"textarea",
|
|
229
247
|
{
|
|
230
248
|
className: cn(
|
|
@@ -241,8 +259,8 @@ var Textarea = React18__namespace.forwardRef(
|
|
|
241
259
|
}
|
|
242
260
|
);
|
|
243
261
|
Textarea.displayName = "Textarea";
|
|
244
|
-
var Switch =
|
|
245
|
-
|
|
262
|
+
var Switch = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
263
|
+
SwitchPrimitives.Root,
|
|
246
264
|
{
|
|
247
265
|
className: cn(
|
|
248
266
|
"peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
|
@@ -250,8 +268,8 @@ var Switch = React18__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
250
268
|
),
|
|
251
269
|
...props,
|
|
252
270
|
ref,
|
|
253
|
-
children: /* @__PURE__ */
|
|
254
|
-
|
|
271
|
+
children: /* @__PURE__ */ jsx(
|
|
272
|
+
SwitchPrimitives.Thumb,
|
|
255
273
|
{
|
|
256
274
|
className: cn(
|
|
257
275
|
"pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",
|
|
@@ -262,13 +280,13 @@ var Switch = React18__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
262
280
|
)
|
|
263
281
|
}
|
|
264
282
|
));
|
|
265
|
-
Switch.displayName =
|
|
283
|
+
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
266
284
|
function Skeleton({
|
|
267
285
|
className,
|
|
268
286
|
inheritColor = false,
|
|
269
287
|
...props
|
|
270
288
|
}) {
|
|
271
|
-
return /* @__PURE__ */
|
|
289
|
+
return /* @__PURE__ */ jsx(
|
|
272
290
|
"div",
|
|
273
291
|
{
|
|
274
292
|
className: cn(
|
|
@@ -280,24 +298,24 @@ function Skeleton({
|
|
|
280
298
|
}
|
|
281
299
|
);
|
|
282
300
|
}
|
|
283
|
-
var Spinner =
|
|
284
|
-
({ className, icon: Icon2 =
|
|
301
|
+
var Spinner = React18.forwardRef(
|
|
302
|
+
({ className, icon: Icon2 = Loader2, size = "size-4", ...props }, ref) => {
|
|
285
303
|
const textColorClasses = className?.match(/\btext-\S+/g)?.join(" ") || "";
|
|
286
|
-
const wrapperClasses =
|
|
287
|
-
return /* @__PURE__ */
|
|
304
|
+
const wrapperClasses = trim(className?.replace(/\btext-\S+/g, "") || "");
|
|
305
|
+
return /* @__PURE__ */ jsx(
|
|
288
306
|
"div",
|
|
289
307
|
{
|
|
290
308
|
ref,
|
|
291
309
|
className: cn("inline-flex items-center justify-center", wrapperClasses),
|
|
292
310
|
...props,
|
|
293
|
-
children: /* @__PURE__ */
|
|
311
|
+
children: /* @__PURE__ */ jsx(Icon2, { className: cn("animate-spin", size, textColorClasses) })
|
|
294
312
|
}
|
|
295
313
|
);
|
|
296
314
|
}
|
|
297
315
|
);
|
|
298
316
|
Spinner.displayName = "Spinner";
|
|
299
|
-
var Slider =
|
|
300
|
-
|
|
317
|
+
var Slider = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
318
|
+
SliderPrimitive.Root,
|
|
301
319
|
{
|
|
302
320
|
ref,
|
|
303
321
|
className: cn(
|
|
@@ -307,9 +325,9 @@ var Slider = React18__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
307
325
|
...props
|
|
308
326
|
}
|
|
309
327
|
));
|
|
310
|
-
Slider.displayName =
|
|
311
|
-
var SliderTrack =
|
|
312
|
-
|
|
328
|
+
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
329
|
+
var SliderTrack = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
330
|
+
SliderPrimitive.Track,
|
|
313
331
|
{
|
|
314
332
|
ref,
|
|
315
333
|
className: cn(
|
|
@@ -319,18 +337,18 @@ var SliderTrack = React18__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
319
337
|
...props
|
|
320
338
|
}
|
|
321
339
|
));
|
|
322
|
-
SliderTrack.displayName =
|
|
323
|
-
var SliderRange =
|
|
324
|
-
|
|
340
|
+
SliderTrack.displayName = SliderPrimitive.Track.displayName;
|
|
341
|
+
var SliderRange = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
342
|
+
SliderPrimitive.Range,
|
|
325
343
|
{
|
|
326
344
|
ref,
|
|
327
345
|
className: cn("absolute h-full bg-primary", className),
|
|
328
346
|
...props
|
|
329
347
|
}
|
|
330
348
|
));
|
|
331
|
-
SliderRange.displayName =
|
|
332
|
-
var SliderThumb =
|
|
333
|
-
|
|
349
|
+
SliderRange.displayName = SliderPrimitive.Range.displayName;
|
|
350
|
+
var SliderThumb = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
351
|
+
SliderPrimitive.Thumb,
|
|
334
352
|
{
|
|
335
353
|
ref,
|
|
336
354
|
className: cn(
|
|
@@ -340,9 +358,9 @@ var SliderThumb = React18__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
340
358
|
...props
|
|
341
359
|
}
|
|
342
360
|
));
|
|
343
|
-
SliderThumb.displayName =
|
|
344
|
-
var Progress =
|
|
345
|
-
|
|
361
|
+
SliderThumb.displayName = SliderPrimitive.Thumb.displayName;
|
|
362
|
+
var Progress = React18.forwardRef(({ className, value, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
363
|
+
ProgressPrimitive.Root,
|
|
346
364
|
{
|
|
347
365
|
ref,
|
|
348
366
|
className: cn(
|
|
@@ -350,8 +368,8 @@ var Progress = React18__namespace.forwardRef(({ className, value, ...props }, re
|
|
|
350
368
|
className
|
|
351
369
|
),
|
|
352
370
|
...props,
|
|
353
|
-
children: /* @__PURE__ */
|
|
354
|
-
|
|
371
|
+
children: /* @__PURE__ */ jsx(
|
|
372
|
+
ProgressPrimitive.Indicator,
|
|
355
373
|
{
|
|
356
374
|
className: "h-full w-full flex-1 bg-primary transition-all",
|
|
357
375
|
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
@@ -359,26 +377,26 @@ var Progress = React18__namespace.forwardRef(({ className, value, ...props }, re
|
|
|
359
377
|
)
|
|
360
378
|
}
|
|
361
379
|
));
|
|
362
|
-
Progress.displayName =
|
|
380
|
+
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
363
381
|
var TooltipProvider = ({
|
|
364
382
|
delayDuration = 0,
|
|
365
383
|
...props
|
|
366
|
-
}) => /* @__PURE__ */
|
|
367
|
-
|
|
384
|
+
}) => /* @__PURE__ */ jsx(
|
|
385
|
+
TooltipPrimitive.Provider,
|
|
368
386
|
{
|
|
369
387
|
delayDuration,
|
|
370
388
|
...props
|
|
371
389
|
}
|
|
372
390
|
);
|
|
373
|
-
TooltipProvider.displayName =
|
|
391
|
+
TooltipProvider.displayName = TooltipPrimitive.Provider.displayName;
|
|
374
392
|
var Tooltip = ({
|
|
375
393
|
...props
|
|
376
|
-
}) => /* @__PURE__ */
|
|
377
|
-
Tooltip.displayName =
|
|
378
|
-
var TooltipTrigger =
|
|
379
|
-
TooltipTrigger.displayName =
|
|
380
|
-
var TooltipContent =
|
|
381
|
-
|
|
394
|
+
}) => /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, { ...props }) });
|
|
395
|
+
Tooltip.displayName = TooltipPrimitive.Root.displayName;
|
|
396
|
+
var TooltipTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { ref, ...props }));
|
|
397
|
+
TooltipTrigger.displayName = TooltipPrimitive.Trigger.displayName;
|
|
398
|
+
var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
399
|
+
TooltipPrimitive.Content,
|
|
382
400
|
{
|
|
383
401
|
ref,
|
|
384
402
|
sideOffset,
|
|
@@ -389,11 +407,11 @@ var TooltipContent = React18__namespace.forwardRef(({ className, sideOffset = 4,
|
|
|
389
407
|
...props
|
|
390
408
|
}
|
|
391
409
|
) }));
|
|
392
|
-
TooltipContent.displayName =
|
|
393
|
-
var Popover =
|
|
410
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
411
|
+
var Popover = PopoverPrimitive.Root;
|
|
394
412
|
Popover.displayName = "Popover";
|
|
395
|
-
var PopoverTrigger =
|
|
396
|
-
|
|
413
|
+
var PopoverTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
414
|
+
PopoverPrimitive.Trigger,
|
|
397
415
|
{
|
|
398
416
|
ref,
|
|
399
417
|
"data-slot": "popover-trigger",
|
|
@@ -401,8 +419,8 @@ var PopoverTrigger = React18__namespace.forwardRef(({ ...props }, ref) => /* @__
|
|
|
401
419
|
}
|
|
402
420
|
));
|
|
403
421
|
PopoverTrigger.displayName = "PopoverTrigger";
|
|
404
|
-
var PopoverContent =
|
|
405
|
-
|
|
422
|
+
var PopoverContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
423
|
+
PopoverPrimitive.Content,
|
|
406
424
|
{
|
|
407
425
|
ref,
|
|
408
426
|
"data-slot": "popover-content",
|
|
@@ -416,8 +434,8 @@ var PopoverContent = React18__namespace.forwardRef(({ className, align = "center
|
|
|
416
434
|
}
|
|
417
435
|
) }));
|
|
418
436
|
PopoverContent.displayName = "PopoverContent";
|
|
419
|
-
var PopoverAnchor =
|
|
420
|
-
|
|
437
|
+
var PopoverAnchor = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
438
|
+
PopoverPrimitive.Anchor,
|
|
421
439
|
{
|
|
422
440
|
ref,
|
|
423
441
|
"data-slot": "popover-anchor",
|
|
@@ -425,10 +443,10 @@ var PopoverAnchor = React18__namespace.forwardRef(({ ...props }, ref) => /* @__P
|
|
|
425
443
|
}
|
|
426
444
|
));
|
|
427
445
|
PopoverAnchor.displayName = "PopoverAnchor";
|
|
428
|
-
var HoverCard =
|
|
446
|
+
var HoverCard = HoverCardPrimitive.Root;
|
|
429
447
|
HoverCard.displayName = "HoverCard";
|
|
430
|
-
var HoverCardTrigger =
|
|
431
|
-
|
|
448
|
+
var HoverCardTrigger = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
449
|
+
HoverCardPrimitive.Trigger,
|
|
432
450
|
{
|
|
433
451
|
ref,
|
|
434
452
|
"data-slot": "hover-card-trigger",
|
|
@@ -436,8 +454,8 @@ var HoverCardTrigger = React18__namespace.forwardRef(({ ...props }, ref) => /* @
|
|
|
436
454
|
}
|
|
437
455
|
));
|
|
438
456
|
HoverCardTrigger.displayName = "HoverCardTrigger";
|
|
439
|
-
var HoverCardContent =
|
|
440
|
-
|
|
457
|
+
var HoverCardContent = React18.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx(
|
|
458
|
+
HoverCardPrimitive.Content,
|
|
441
459
|
{
|
|
442
460
|
ref,
|
|
443
461
|
"data-slot": "hover-card-content",
|
|
@@ -451,7 +469,7 @@ var HoverCardContent = React18__namespace.forwardRef(({ className, align = "cent
|
|
|
451
469
|
}
|
|
452
470
|
) }));
|
|
453
471
|
HoverCardContent.displayName = "HoverCardContent";
|
|
454
|
-
var Card =
|
|
472
|
+
var Card = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
455
473
|
"div",
|
|
456
474
|
{
|
|
457
475
|
ref,
|
|
@@ -463,7 +481,7 @@ var Card = React18__namespace.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
463
481
|
}
|
|
464
482
|
));
|
|
465
483
|
Card.displayName = "Card";
|
|
466
|
-
var CardHeader =
|
|
484
|
+
var CardHeader = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
467
485
|
"div",
|
|
468
486
|
{
|
|
469
487
|
ref,
|
|
@@ -472,7 +490,7 @@ var CardHeader = React18__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
472
490
|
}
|
|
473
491
|
));
|
|
474
492
|
CardHeader.displayName = "CardHeader";
|
|
475
|
-
var CardTitle =
|
|
493
|
+
var CardTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
476
494
|
"div",
|
|
477
495
|
{
|
|
478
496
|
ref,
|
|
@@ -481,7 +499,7 @@ var CardTitle = React18__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
481
499
|
}
|
|
482
500
|
));
|
|
483
501
|
CardTitle.displayName = "CardTitle";
|
|
484
|
-
var CardDescription =
|
|
502
|
+
var CardDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
485
503
|
"div",
|
|
486
504
|
{
|
|
487
505
|
ref,
|
|
@@ -490,9 +508,9 @@ var CardDescription = React18__namespace.forwardRef(({ className, ...props }, re
|
|
|
490
508
|
}
|
|
491
509
|
));
|
|
492
510
|
CardDescription.displayName = "CardDescription";
|
|
493
|
-
var CardContent =
|
|
511
|
+
var CardContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("p-6 pt-0", className), ...props }));
|
|
494
512
|
CardContent.displayName = "CardContent";
|
|
495
|
-
var CardFooter =
|
|
513
|
+
var CardFooter = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
496
514
|
"div",
|
|
497
515
|
{
|
|
498
516
|
ref,
|
|
@@ -501,9 +519,9 @@ var CardFooter = React18__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
501
519
|
}
|
|
502
520
|
));
|
|
503
521
|
CardFooter.displayName = "CardFooter";
|
|
504
|
-
var Header =
|
|
522
|
+
var Header = React18__default.forwardRef(
|
|
505
523
|
({ children, className }, ref) => {
|
|
506
|
-
return /* @__PURE__ */
|
|
524
|
+
return /* @__PURE__ */ jsx(
|
|
507
525
|
"header",
|
|
508
526
|
{
|
|
509
527
|
ref,
|
|
@@ -511,14 +529,14 @@ var Header = React18__namespace.default.forwardRef(
|
|
|
511
529
|
"flex items-center justify-end px-6 py-4 bg-background border-b border-border h-16 w-full",
|
|
512
530
|
className
|
|
513
531
|
),
|
|
514
|
-
children: /* @__PURE__ */
|
|
532
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex items-center gap-4", children })
|
|
515
533
|
}
|
|
516
534
|
);
|
|
517
535
|
}
|
|
518
536
|
);
|
|
519
537
|
Header.displayName = "Header";
|
|
520
|
-
var NavigationMenu =
|
|
521
|
-
|
|
538
|
+
var NavigationMenu = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
539
|
+
NavigationMenuPrimitive.Root,
|
|
522
540
|
{
|
|
523
541
|
ref,
|
|
524
542
|
className: cn(
|
|
@@ -528,13 +546,13 @@ var NavigationMenu = React18__namespace.forwardRef(({ className, children, ...pr
|
|
|
528
546
|
...props,
|
|
529
547
|
children: [
|
|
530
548
|
children,
|
|
531
|
-
/* @__PURE__ */
|
|
549
|
+
/* @__PURE__ */ jsx(NavigationMenuViewport, {})
|
|
532
550
|
]
|
|
533
551
|
}
|
|
534
552
|
));
|
|
535
|
-
NavigationMenu.displayName =
|
|
536
|
-
var NavigationMenuList =
|
|
537
|
-
|
|
553
|
+
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
554
|
+
var NavigationMenuList = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
555
|
+
NavigationMenuPrimitive.List,
|
|
538
556
|
{
|
|
539
557
|
ref,
|
|
540
558
|
className: cn(
|
|
@@ -544,13 +562,13 @@ var NavigationMenuList = React18__namespace.forwardRef(({ className, ...props },
|
|
|
544
562
|
...props
|
|
545
563
|
}
|
|
546
564
|
));
|
|
547
|
-
NavigationMenuList.displayName =
|
|
548
|
-
var NavigationMenuItem =
|
|
549
|
-
var navigationMenuTriggerStyle =
|
|
565
|
+
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
|
566
|
+
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
567
|
+
var navigationMenuTriggerStyle = cva(
|
|
550
568
|
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=open]:text-accent-foreground data-[state=open]:bg-accent/50 data-[state=open]:hover:bg-accent data-[state=open]:focus:bg-accent"
|
|
551
569
|
);
|
|
552
|
-
var NavigationMenuTrigger =
|
|
553
|
-
|
|
570
|
+
var NavigationMenuTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
571
|
+
NavigationMenuPrimitive.Trigger,
|
|
554
572
|
{
|
|
555
573
|
ref,
|
|
556
574
|
className: cn(navigationMenuTriggerStyle(), "group", className),
|
|
@@ -558,8 +576,8 @@ var NavigationMenuTrigger = React18__namespace.forwardRef(({ className, children
|
|
|
558
576
|
children: [
|
|
559
577
|
children,
|
|
560
578
|
" ",
|
|
561
|
-
/* @__PURE__ */
|
|
562
|
-
|
|
579
|
+
/* @__PURE__ */ jsx(
|
|
580
|
+
ChevronDown,
|
|
563
581
|
{
|
|
564
582
|
className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
|
|
565
583
|
"aria-hidden": "true"
|
|
@@ -568,9 +586,9 @@ var NavigationMenuTrigger = React18__namespace.forwardRef(({ className, children
|
|
|
568
586
|
]
|
|
569
587
|
}
|
|
570
588
|
));
|
|
571
|
-
NavigationMenuTrigger.displayName =
|
|
572
|
-
var NavigationMenuContent =
|
|
573
|
-
|
|
589
|
+
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
590
|
+
var NavigationMenuContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
591
|
+
NavigationMenuPrimitive.Content,
|
|
574
592
|
{
|
|
575
593
|
ref,
|
|
576
594
|
className: cn(
|
|
@@ -580,10 +598,10 @@ var NavigationMenuContent = React18__namespace.forwardRef(({ className, ...props
|
|
|
580
598
|
...props
|
|
581
599
|
}
|
|
582
600
|
));
|
|
583
|
-
NavigationMenuContent.displayName =
|
|
584
|
-
var NavigationMenuLink =
|
|
585
|
-
var NavigationMenuViewport =
|
|
586
|
-
|
|
601
|
+
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
602
|
+
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
603
|
+
var NavigationMenuViewport = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
|
|
604
|
+
NavigationMenuPrimitive.Viewport,
|
|
587
605
|
{
|
|
588
606
|
className: cn(
|
|
589
607
|
"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
|
|
@@ -593,9 +611,9 @@ var NavigationMenuViewport = React18__namespace.forwardRef(({ className, ...prop
|
|
|
593
611
|
...props
|
|
594
612
|
}
|
|
595
613
|
) }));
|
|
596
|
-
NavigationMenuViewport.displayName =
|
|
597
|
-
var NavigationMenuIndicator =
|
|
598
|
-
|
|
614
|
+
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
615
|
+
var NavigationMenuIndicator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
616
|
+
NavigationMenuPrimitive.Indicator,
|
|
599
617
|
{
|
|
600
618
|
ref,
|
|
601
619
|
className: cn(
|
|
@@ -603,16 +621,574 @@ var NavigationMenuIndicator = React18__namespace.forwardRef(({ className, ...pro
|
|
|
603
621
|
className
|
|
604
622
|
),
|
|
605
623
|
...props,
|
|
606
|
-
children: /* @__PURE__ */
|
|
624
|
+
children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
|
|
607
625
|
}
|
|
608
626
|
));
|
|
609
|
-
NavigationMenuIndicator.displayName =
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
627
|
+
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
628
|
+
function Breadcrumb({ ...props }) {
|
|
629
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
|
|
630
|
+
}
|
|
631
|
+
function BreadcrumbList({ className, ...props }) {
|
|
632
|
+
return /* @__PURE__ */ jsx(
|
|
633
|
+
"ol",
|
|
634
|
+
{
|
|
635
|
+
"data-slot": "breadcrumb-list",
|
|
636
|
+
className: cn(
|
|
637
|
+
"text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5",
|
|
638
|
+
className
|
|
639
|
+
),
|
|
640
|
+
...props
|
|
641
|
+
}
|
|
642
|
+
);
|
|
643
|
+
}
|
|
644
|
+
function BreadcrumbItem({ className, ...props }) {
|
|
645
|
+
return /* @__PURE__ */ jsx(
|
|
646
|
+
"li",
|
|
647
|
+
{
|
|
648
|
+
"data-slot": "breadcrumb-item",
|
|
649
|
+
className: cn("inline-flex items-center gap-1.5", className),
|
|
650
|
+
...props
|
|
651
|
+
}
|
|
652
|
+
);
|
|
653
|
+
}
|
|
654
|
+
function BreadcrumbLink({
|
|
655
|
+
asChild,
|
|
656
|
+
className,
|
|
657
|
+
...props
|
|
658
|
+
}) {
|
|
659
|
+
const Comp = asChild ? Slot : "a";
|
|
660
|
+
return /* @__PURE__ */ jsx(
|
|
661
|
+
Comp,
|
|
662
|
+
{
|
|
663
|
+
"data-slot": "breadcrumb-link",
|
|
664
|
+
className: cn("hover:text-foreground transition-colors", className),
|
|
665
|
+
...props
|
|
666
|
+
}
|
|
667
|
+
);
|
|
668
|
+
}
|
|
669
|
+
function BreadcrumbPage({ className, ...props }) {
|
|
670
|
+
return /* @__PURE__ */ jsx(
|
|
671
|
+
"span",
|
|
672
|
+
{
|
|
673
|
+
"data-slot": "breadcrumb-page",
|
|
674
|
+
role: "link",
|
|
675
|
+
"aria-disabled": "true",
|
|
676
|
+
"aria-current": "page",
|
|
677
|
+
className: cn("text-foreground font-normal", className),
|
|
678
|
+
...props
|
|
679
|
+
}
|
|
680
|
+
);
|
|
681
|
+
}
|
|
682
|
+
function BreadcrumbSeparator({
|
|
683
|
+
children,
|
|
684
|
+
className,
|
|
685
|
+
...props
|
|
686
|
+
}) {
|
|
687
|
+
return /* @__PURE__ */ jsx(
|
|
688
|
+
"li",
|
|
689
|
+
{
|
|
690
|
+
"data-slot": "breadcrumb-separator",
|
|
691
|
+
role: "presentation",
|
|
692
|
+
"aria-hidden": "true",
|
|
693
|
+
className: cn("[&>svg]:size-3.5", className),
|
|
694
|
+
...props,
|
|
695
|
+
children: children ?? /* @__PURE__ */ jsx(ChevronRight, {})
|
|
696
|
+
}
|
|
697
|
+
);
|
|
698
|
+
}
|
|
699
|
+
function BreadcrumbEllipsis({
|
|
700
|
+
className,
|
|
701
|
+
...props
|
|
702
|
+
}) {
|
|
703
|
+
return /* @__PURE__ */ jsxs(
|
|
704
|
+
"span",
|
|
705
|
+
{
|
|
706
|
+
"data-slot": "breadcrumb-ellipsis",
|
|
707
|
+
role: "presentation",
|
|
708
|
+
"aria-hidden": "true",
|
|
709
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
710
|
+
...props,
|
|
711
|
+
children: [
|
|
712
|
+
/* @__PURE__ */ jsx(MoreHorizontal, { className: "size-4" }),
|
|
713
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More" })
|
|
714
|
+
]
|
|
715
|
+
}
|
|
716
|
+
);
|
|
717
|
+
}
|
|
718
|
+
var ChevronRightIcon = ({ className = "" }) => {
|
|
719
|
+
return /* @__PURE__ */ jsx(
|
|
720
|
+
"svg",
|
|
721
|
+
{
|
|
722
|
+
className,
|
|
723
|
+
width: "16",
|
|
724
|
+
height: "16",
|
|
725
|
+
viewBox: "0 0 24 24",
|
|
726
|
+
fill: "none",
|
|
727
|
+
stroke: "currentColor",
|
|
728
|
+
strokeWidth: "2",
|
|
729
|
+
strokeLinecap: "round",
|
|
730
|
+
strokeLinejoin: "round",
|
|
731
|
+
children: /* @__PURE__ */ jsx("path", { d: "m9 18 6-6-6-6" })
|
|
732
|
+
}
|
|
733
|
+
);
|
|
734
|
+
};
|
|
735
|
+
var CircleIcon = ({ className = "" }) => {
|
|
736
|
+
return /* @__PURE__ */ jsx(
|
|
737
|
+
"svg",
|
|
738
|
+
{
|
|
739
|
+
className,
|
|
740
|
+
width: "16",
|
|
741
|
+
height: "16",
|
|
742
|
+
viewBox: "0 0 24 24",
|
|
743
|
+
fill: "none",
|
|
744
|
+
stroke: "currentColor",
|
|
745
|
+
strokeWidth: "2",
|
|
746
|
+
strokeLinecap: "round",
|
|
747
|
+
strokeLinejoin: "round",
|
|
748
|
+
children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" })
|
|
749
|
+
}
|
|
750
|
+
);
|
|
751
|
+
};
|
|
752
|
+
function Menubar({
|
|
753
|
+
className,
|
|
754
|
+
...props
|
|
755
|
+
}) {
|
|
756
|
+
return /* @__PURE__ */ jsx(
|
|
757
|
+
MenubarPrimitive.Root,
|
|
758
|
+
{
|
|
759
|
+
"data-slot": "menubar",
|
|
760
|
+
className: cn(
|
|
761
|
+
"bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",
|
|
762
|
+
className
|
|
763
|
+
),
|
|
764
|
+
...props
|
|
765
|
+
}
|
|
766
|
+
);
|
|
767
|
+
}
|
|
768
|
+
function MenubarMenu({
|
|
769
|
+
...props
|
|
770
|
+
}) {
|
|
771
|
+
return /* @__PURE__ */ jsx(MenubarPrimitive.Menu, { "data-slot": "menubar-menu", ...props });
|
|
772
|
+
}
|
|
773
|
+
function MenubarGroup({
|
|
774
|
+
...props
|
|
775
|
+
}) {
|
|
776
|
+
return /* @__PURE__ */ jsx(MenubarPrimitive.Group, { "data-slot": "menubar-group", ...props });
|
|
777
|
+
}
|
|
778
|
+
function MenubarPortal({
|
|
779
|
+
...props
|
|
780
|
+
}) {
|
|
781
|
+
return /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { "data-slot": "menubar-portal", ...props });
|
|
782
|
+
}
|
|
783
|
+
function MenubarRadioGroup({
|
|
784
|
+
...props
|
|
785
|
+
}) {
|
|
786
|
+
return /* @__PURE__ */ jsx(MenubarPrimitive.RadioGroup, { "data-slot": "menubar-radio-group", ...props });
|
|
787
|
+
}
|
|
788
|
+
function MenubarTrigger({
|
|
789
|
+
className,
|
|
790
|
+
...props
|
|
791
|
+
}) {
|
|
792
|
+
return /* @__PURE__ */ jsx(
|
|
793
|
+
MenubarPrimitive.Trigger,
|
|
794
|
+
{
|
|
795
|
+
"data-slot": "menubar-trigger",
|
|
796
|
+
className: cn(
|
|
797
|
+
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",
|
|
798
|
+
className
|
|
799
|
+
),
|
|
800
|
+
...props
|
|
801
|
+
}
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
function MenubarContent({
|
|
805
|
+
className,
|
|
806
|
+
align = "start",
|
|
807
|
+
alignOffset = -4,
|
|
808
|
+
sideOffset = 8,
|
|
809
|
+
...props
|
|
810
|
+
}) {
|
|
811
|
+
return /* @__PURE__ */ jsx(MenubarPortal, { children: /* @__PURE__ */ jsx(
|
|
812
|
+
MenubarPrimitive.Content,
|
|
813
|
+
{
|
|
814
|
+
"data-slot": "menubar-content",
|
|
815
|
+
align,
|
|
816
|
+
alignOffset,
|
|
817
|
+
sideOffset,
|
|
818
|
+
className: cn(
|
|
819
|
+
"bg-popover text-popover-foreground 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 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",
|
|
820
|
+
className
|
|
821
|
+
),
|
|
822
|
+
...props
|
|
823
|
+
}
|
|
824
|
+
) });
|
|
825
|
+
}
|
|
826
|
+
function MenubarItem({
|
|
827
|
+
className,
|
|
828
|
+
inset,
|
|
829
|
+
variant = "default",
|
|
830
|
+
...props
|
|
831
|
+
}) {
|
|
832
|
+
return /* @__PURE__ */ jsx(
|
|
833
|
+
MenubarPrimitive.Item,
|
|
834
|
+
{
|
|
835
|
+
"data-slot": "menubar-item",
|
|
836
|
+
"data-inset": inset,
|
|
837
|
+
"data-variant": variant,
|
|
838
|
+
className: cn(
|
|
839
|
+
"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_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]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
840
|
+
className
|
|
841
|
+
),
|
|
842
|
+
...props
|
|
843
|
+
}
|
|
844
|
+
);
|
|
845
|
+
}
|
|
846
|
+
function MenubarCheckboxItem({
|
|
847
|
+
className,
|
|
848
|
+
children,
|
|
849
|
+
checked,
|
|
850
|
+
...props
|
|
851
|
+
}) {
|
|
852
|
+
return /* @__PURE__ */ jsxs(
|
|
853
|
+
MenubarPrimitive.CheckboxItem,
|
|
854
|
+
{
|
|
855
|
+
"data-slot": "menubar-checkbox-item",
|
|
856
|
+
className: cn(
|
|
857
|
+
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
858
|
+
className
|
|
859
|
+
),
|
|
860
|
+
checked,
|
|
861
|
+
...props,
|
|
862
|
+
children: [
|
|
863
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
|
|
864
|
+
children
|
|
865
|
+
]
|
|
866
|
+
}
|
|
867
|
+
);
|
|
868
|
+
}
|
|
869
|
+
function MenubarRadioItem({
|
|
870
|
+
className,
|
|
871
|
+
children,
|
|
872
|
+
...props
|
|
873
|
+
}) {
|
|
874
|
+
return /* @__PURE__ */ jsxs(
|
|
875
|
+
MenubarPrimitive.RadioItem,
|
|
876
|
+
{
|
|
877
|
+
"data-slot": "menubar-radio-item",
|
|
878
|
+
className: cn(
|
|
879
|
+
"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
880
|
+
className
|
|
881
|
+
),
|
|
882
|
+
...props,
|
|
883
|
+
children: [
|
|
884
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
|
|
885
|
+
children
|
|
886
|
+
]
|
|
887
|
+
}
|
|
888
|
+
);
|
|
889
|
+
}
|
|
890
|
+
function MenubarLabel({
|
|
891
|
+
className,
|
|
892
|
+
inset,
|
|
893
|
+
...props
|
|
894
|
+
}) {
|
|
895
|
+
return /* @__PURE__ */ jsx(
|
|
896
|
+
MenubarPrimitive.Label,
|
|
897
|
+
{
|
|
898
|
+
"data-slot": "menubar-label",
|
|
899
|
+
"data-inset": inset,
|
|
900
|
+
className: cn(
|
|
901
|
+
"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",
|
|
902
|
+
className
|
|
903
|
+
),
|
|
904
|
+
...props
|
|
905
|
+
}
|
|
906
|
+
);
|
|
907
|
+
}
|
|
908
|
+
function MenubarSeparator({
|
|
909
|
+
className,
|
|
910
|
+
...props
|
|
911
|
+
}) {
|
|
912
|
+
return /* @__PURE__ */ jsx(
|
|
913
|
+
MenubarPrimitive.Separator,
|
|
914
|
+
{
|
|
915
|
+
"data-slot": "menubar-separator",
|
|
916
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
917
|
+
...props
|
|
918
|
+
}
|
|
919
|
+
);
|
|
920
|
+
}
|
|
921
|
+
function MenubarShortcut({
|
|
922
|
+
className,
|
|
923
|
+
...props
|
|
924
|
+
}) {
|
|
925
|
+
return /* @__PURE__ */ jsx(
|
|
926
|
+
"span",
|
|
927
|
+
{
|
|
928
|
+
"data-slot": "menubar-shortcut",
|
|
929
|
+
className: cn(
|
|
930
|
+
"text-muted-foreground ml-auto text-xs tracking-widest",
|
|
931
|
+
className
|
|
932
|
+
),
|
|
933
|
+
...props
|
|
934
|
+
}
|
|
935
|
+
);
|
|
936
|
+
}
|
|
937
|
+
function MenubarSub({
|
|
938
|
+
...props
|
|
939
|
+
}) {
|
|
940
|
+
return /* @__PURE__ */ jsx(MenubarPrimitive.Sub, { "data-slot": "menubar-sub", ...props });
|
|
941
|
+
}
|
|
942
|
+
function MenubarSubTrigger({
|
|
943
|
+
className,
|
|
944
|
+
inset,
|
|
945
|
+
children,
|
|
946
|
+
...props
|
|
947
|
+
}) {
|
|
948
|
+
return /* @__PURE__ */ jsxs(
|
|
949
|
+
MenubarPrimitive.SubTrigger,
|
|
950
|
+
{
|
|
951
|
+
"data-slot": "menubar-sub-trigger",
|
|
952
|
+
"data-inset": inset,
|
|
953
|
+
className: cn(
|
|
954
|
+
"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",
|
|
955
|
+
className
|
|
956
|
+
),
|
|
957
|
+
...props,
|
|
958
|
+
children: [
|
|
959
|
+
children,
|
|
960
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
961
|
+
]
|
|
962
|
+
}
|
|
963
|
+
);
|
|
964
|
+
}
|
|
965
|
+
function MenubarSubContent({
|
|
966
|
+
className,
|
|
967
|
+
...props
|
|
968
|
+
}) {
|
|
969
|
+
return /* @__PURE__ */ jsx(
|
|
970
|
+
MenubarPrimitive.SubContent,
|
|
971
|
+
{
|
|
972
|
+
"data-slot": "menubar-sub-content",
|
|
973
|
+
className: cn(
|
|
974
|
+
"bg-popover 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 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",
|
|
975
|
+
className
|
|
976
|
+
),
|
|
977
|
+
...props
|
|
978
|
+
}
|
|
979
|
+
);
|
|
980
|
+
}
|
|
981
|
+
var ChevronLeftIcon = ({ className = "" }) => {
|
|
982
|
+
return /* @__PURE__ */ jsx(
|
|
983
|
+
"svg",
|
|
984
|
+
{
|
|
985
|
+
className,
|
|
986
|
+
width: "16",
|
|
987
|
+
height: "16",
|
|
988
|
+
viewBox: "0 0 24 24",
|
|
989
|
+
fill: "none",
|
|
990
|
+
stroke: "currentColor",
|
|
991
|
+
strokeWidth: "2",
|
|
992
|
+
strokeLinecap: "round",
|
|
993
|
+
strokeLinejoin: "round",
|
|
994
|
+
children: /* @__PURE__ */ jsx("path", { d: "m15 18-6-6 6-6" })
|
|
995
|
+
}
|
|
996
|
+
);
|
|
997
|
+
};
|
|
998
|
+
var MoreHorizontalIcon = ({ className = "" }) => {
|
|
999
|
+
return /* @__PURE__ */ jsxs(
|
|
1000
|
+
"svg",
|
|
1001
|
+
{
|
|
1002
|
+
className,
|
|
1003
|
+
width: "16",
|
|
1004
|
+
height: "16",
|
|
1005
|
+
viewBox: "0 0 24 24",
|
|
1006
|
+
fill: "none",
|
|
1007
|
+
stroke: "currentColor",
|
|
1008
|
+
strokeWidth: "2",
|
|
1009
|
+
strokeLinecap: "round",
|
|
1010
|
+
strokeLinejoin: "round",
|
|
1011
|
+
children: [
|
|
1012
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1" }),
|
|
1013
|
+
/* @__PURE__ */ jsx("circle", { cx: "19", cy: "12", r: "1" }),
|
|
1014
|
+
/* @__PURE__ */ jsx("circle", { cx: "5", cy: "12", r: "1" })
|
|
1015
|
+
]
|
|
1016
|
+
}
|
|
1017
|
+
);
|
|
1018
|
+
};
|
|
1019
|
+
function Pagination({ className, ...props }) {
|
|
1020
|
+
return /* @__PURE__ */ jsx(
|
|
1021
|
+
"nav",
|
|
1022
|
+
{
|
|
1023
|
+
role: "navigation",
|
|
1024
|
+
"aria-label": "pagination",
|
|
1025
|
+
"data-slot": "pagination",
|
|
1026
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
1027
|
+
...props
|
|
1028
|
+
}
|
|
1029
|
+
);
|
|
1030
|
+
}
|
|
1031
|
+
function PaginationContent({
|
|
1032
|
+
className,
|
|
1033
|
+
...props
|
|
1034
|
+
}) {
|
|
1035
|
+
return /* @__PURE__ */ jsx(
|
|
1036
|
+
"ul",
|
|
1037
|
+
{
|
|
1038
|
+
"data-slot": "pagination-content",
|
|
1039
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
1040
|
+
...props
|
|
1041
|
+
}
|
|
1042
|
+
);
|
|
1043
|
+
}
|
|
1044
|
+
function PaginationItem({ ...props }) {
|
|
1045
|
+
return /* @__PURE__ */ jsx("li", { "data-slot": "pagination-item", ...props });
|
|
1046
|
+
}
|
|
1047
|
+
function PaginationLink({
|
|
1048
|
+
className,
|
|
1049
|
+
isActive,
|
|
1050
|
+
size = ButtonSize.Icon,
|
|
1051
|
+
asChild,
|
|
1052
|
+
...props
|
|
1053
|
+
}) {
|
|
1054
|
+
const Comp = asChild ? Slot : "a";
|
|
1055
|
+
return /* @__PURE__ */ jsx(
|
|
1056
|
+
Comp,
|
|
1057
|
+
{
|
|
1058
|
+
"aria-current": isActive ? "page" : void 0,
|
|
1059
|
+
"data-slot": "pagination-link",
|
|
1060
|
+
"data-active": isActive,
|
|
1061
|
+
className: cn(
|
|
1062
|
+
buttonVariants({
|
|
1063
|
+
variant: isActive ? ButtonVariant.Outline : ButtonVariant.Ghost,
|
|
1064
|
+
size
|
|
1065
|
+
}),
|
|
1066
|
+
className
|
|
1067
|
+
),
|
|
1068
|
+
...props
|
|
1069
|
+
}
|
|
1070
|
+
);
|
|
1071
|
+
}
|
|
1072
|
+
function PaginationPrevious({
|
|
1073
|
+
className,
|
|
1074
|
+
children,
|
|
1075
|
+
...props
|
|
1076
|
+
}) {
|
|
1077
|
+
return /* @__PURE__ */ jsxs(
|
|
1078
|
+
PaginationLink,
|
|
1079
|
+
{
|
|
1080
|
+
"aria-label": "Go to previous page",
|
|
1081
|
+
size: ButtonSize.Default,
|
|
1082
|
+
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
1083
|
+
...props,
|
|
1084
|
+
children: [
|
|
1085
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, { className: "h-4 w-4" }),
|
|
1086
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: children ?? "Previous" })
|
|
1087
|
+
]
|
|
1088
|
+
}
|
|
1089
|
+
);
|
|
1090
|
+
}
|
|
1091
|
+
function PaginationNext({
|
|
1092
|
+
className,
|
|
1093
|
+
children,
|
|
1094
|
+
...props
|
|
1095
|
+
}) {
|
|
1096
|
+
return /* @__PURE__ */ jsxs(
|
|
1097
|
+
PaginationLink,
|
|
1098
|
+
{
|
|
1099
|
+
"aria-label": "Go to next page",
|
|
1100
|
+
size: ButtonSize.Default,
|
|
1101
|
+
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
1102
|
+
...props,
|
|
1103
|
+
children: [
|
|
1104
|
+
/* @__PURE__ */ jsx("span", { className: "hidden sm:block", children: children ?? "Next" }),
|
|
1105
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-4 w-4" })
|
|
1106
|
+
]
|
|
1107
|
+
}
|
|
1108
|
+
);
|
|
1109
|
+
}
|
|
1110
|
+
function PaginationEllipsis({
|
|
1111
|
+
className,
|
|
1112
|
+
...props
|
|
1113
|
+
}) {
|
|
1114
|
+
return /* @__PURE__ */ jsxs(
|
|
1115
|
+
"span",
|
|
1116
|
+
{
|
|
1117
|
+
"aria-hidden": true,
|
|
1118
|
+
"data-slot": "pagination-ellipsis",
|
|
1119
|
+
className: cn("flex size-9 items-center justify-center", className),
|
|
1120
|
+
...props,
|
|
1121
|
+
children: [
|
|
1122
|
+
/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "h-4 w-4" }),
|
|
1123
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
1124
|
+
]
|
|
1125
|
+
}
|
|
1126
|
+
);
|
|
1127
|
+
}
|
|
1128
|
+
function Tabs({
|
|
1129
|
+
className,
|
|
1130
|
+
...props
|
|
1131
|
+
}) {
|
|
1132
|
+
return /* @__PURE__ */ jsx(
|
|
1133
|
+
TabsPrimitive.Root,
|
|
1134
|
+
{
|
|
1135
|
+
"data-slot": "tabs",
|
|
1136
|
+
className: cn("flex flex-col gap-2", className),
|
|
1137
|
+
...props
|
|
1138
|
+
}
|
|
1139
|
+
);
|
|
1140
|
+
}
|
|
1141
|
+
function TabsList({
|
|
1142
|
+
className,
|
|
1143
|
+
...props
|
|
1144
|
+
}) {
|
|
1145
|
+
return /* @__PURE__ */ jsx(
|
|
1146
|
+
TabsPrimitive.List,
|
|
1147
|
+
{
|
|
1148
|
+
"data-slot": "tabs-list",
|
|
1149
|
+
className: cn(
|
|
1150
|
+
"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
|
|
1151
|
+
className
|
|
1152
|
+
),
|
|
1153
|
+
...props
|
|
1154
|
+
}
|
|
1155
|
+
);
|
|
1156
|
+
}
|
|
1157
|
+
function TabsTrigger({
|
|
1158
|
+
className,
|
|
1159
|
+
...props
|
|
1160
|
+
}) {
|
|
1161
|
+
return /* @__PURE__ */ jsx(
|
|
1162
|
+
TabsPrimitive.Trigger,
|
|
1163
|
+
{
|
|
1164
|
+
"data-slot": "tabs-trigger",
|
|
1165
|
+
className: cn(
|
|
1166
|
+
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
1167
|
+
className
|
|
1168
|
+
),
|
|
1169
|
+
...props
|
|
1170
|
+
}
|
|
1171
|
+
);
|
|
1172
|
+
}
|
|
1173
|
+
function TabsContent({
|
|
1174
|
+
className,
|
|
1175
|
+
...props
|
|
1176
|
+
}) {
|
|
1177
|
+
return /* @__PURE__ */ jsx(
|
|
1178
|
+
TabsPrimitive.Content,
|
|
1179
|
+
{
|
|
1180
|
+
"data-slot": "tabs-content",
|
|
1181
|
+
className: cn("flex-1 outline-none", className),
|
|
1182
|
+
...props
|
|
1183
|
+
}
|
|
1184
|
+
);
|
|
1185
|
+
}
|
|
1186
|
+
var Sheet = SheetPrimitive.Root;
|
|
1187
|
+
var SheetTrigger = SheetPrimitive.Trigger;
|
|
1188
|
+
var SheetClose = SheetPrimitive.Close;
|
|
1189
|
+
var SheetPortal = SheetPrimitive.Portal;
|
|
1190
|
+
var SheetOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1191
|
+
SheetPrimitive.Overlay,
|
|
616
1192
|
{
|
|
617
1193
|
className: cn(
|
|
618
1194
|
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
@@ -622,8 +1198,8 @@ var SheetOverlay = React18__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
622
1198
|
ref
|
|
623
1199
|
}
|
|
624
1200
|
));
|
|
625
|
-
SheetOverlay.displayName =
|
|
626
|
-
var sheetVariants =
|
|
1201
|
+
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
1202
|
+
var sheetVariants = cva(
|
|
627
1203
|
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
628
1204
|
{
|
|
629
1205
|
variants: {
|
|
@@ -639,29 +1215,29 @@ var sheetVariants = classVarianceAuthority.cva(
|
|
|
639
1215
|
}
|
|
640
1216
|
}
|
|
641
1217
|
);
|
|
642
|
-
var SheetContent =
|
|
643
|
-
/* @__PURE__ */
|
|
644
|
-
/* @__PURE__ */
|
|
645
|
-
|
|
1218
|
+
var SheetContent = React18.forwardRef(({ side = "right", className, children, ...props }, ref) => /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
1219
|
+
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
1220
|
+
/* @__PURE__ */ jsxs(
|
|
1221
|
+
SheetPrimitive.Content,
|
|
646
1222
|
{
|
|
647
1223
|
ref,
|
|
648
1224
|
className: cn(sheetVariants({ side }), className),
|
|
649
1225
|
...props,
|
|
650
1226
|
children: [
|
|
651
|
-
/* @__PURE__ */
|
|
652
|
-
/* @__PURE__ */
|
|
653
|
-
/* @__PURE__ */
|
|
1227
|
+
/* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
1228
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
1229
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
654
1230
|
] }),
|
|
655
1231
|
children
|
|
656
1232
|
]
|
|
657
1233
|
}
|
|
658
1234
|
)
|
|
659
1235
|
] }));
|
|
660
|
-
SheetContent.displayName =
|
|
1236
|
+
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
661
1237
|
var SheetHeader = ({
|
|
662
1238
|
className,
|
|
663
1239
|
...props
|
|
664
|
-
}) => /* @__PURE__ */
|
|
1240
|
+
}) => /* @__PURE__ */ jsx(
|
|
665
1241
|
"div",
|
|
666
1242
|
{
|
|
667
1243
|
className: cn(
|
|
@@ -675,7 +1251,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
675
1251
|
var SheetFooter = ({
|
|
676
1252
|
className,
|
|
677
1253
|
...props
|
|
678
|
-
}) => /* @__PURE__ */
|
|
1254
|
+
}) => /* @__PURE__ */ jsx(
|
|
679
1255
|
"div",
|
|
680
1256
|
{
|
|
681
1257
|
className: cn(
|
|
@@ -686,30 +1262,30 @@ var SheetFooter = ({
|
|
|
686
1262
|
}
|
|
687
1263
|
);
|
|
688
1264
|
SheetFooter.displayName = "SheetFooter";
|
|
689
|
-
var SheetTitle =
|
|
690
|
-
|
|
1265
|
+
var SheetTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1266
|
+
SheetPrimitive.Title,
|
|
691
1267
|
{
|
|
692
1268
|
ref,
|
|
693
1269
|
className: cn("text-lg font-semibold text-foreground", className),
|
|
694
1270
|
...props
|
|
695
1271
|
}
|
|
696
1272
|
));
|
|
697
|
-
SheetTitle.displayName =
|
|
698
|
-
var SheetDescription =
|
|
699
|
-
|
|
1273
|
+
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
1274
|
+
var SheetDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1275
|
+
SheetPrimitive.Description,
|
|
700
1276
|
{
|
|
701
1277
|
ref,
|
|
702
1278
|
className: cn("text-sm text-muted-foreground", className),
|
|
703
1279
|
...props
|
|
704
1280
|
}
|
|
705
1281
|
));
|
|
706
|
-
SheetDescription.displayName =
|
|
707
|
-
var Dialog =
|
|
708
|
-
var DialogTrigger =
|
|
709
|
-
var DialogPortal =
|
|
710
|
-
var DialogClose =
|
|
711
|
-
var DialogOverlay =
|
|
712
|
-
|
|
1282
|
+
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
1283
|
+
var Dialog = SheetPrimitive.Root;
|
|
1284
|
+
var DialogTrigger = SheetPrimitive.Trigger;
|
|
1285
|
+
var DialogPortal = SheetPrimitive.Portal;
|
|
1286
|
+
var DialogClose = SheetPrimitive.Close;
|
|
1287
|
+
var DialogOverlay = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1288
|
+
SheetPrimitive.Overlay,
|
|
713
1289
|
{
|
|
714
1290
|
ref,
|
|
715
1291
|
className: cn(
|
|
@@ -719,11 +1295,11 @@ var DialogOverlay = React18__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
719
1295
|
...props
|
|
720
1296
|
}
|
|
721
1297
|
));
|
|
722
|
-
DialogOverlay.displayName =
|
|
723
|
-
var DialogContent =
|
|
724
|
-
/* @__PURE__ */
|
|
725
|
-
/* @__PURE__ */
|
|
726
|
-
|
|
1298
|
+
DialogOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
1299
|
+
var DialogContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
1300
|
+
/* @__PURE__ */ jsx(DialogOverlay, {}),
|
|
1301
|
+
/* @__PURE__ */ jsxs(
|
|
1302
|
+
SheetPrimitive.Content,
|
|
727
1303
|
{
|
|
728
1304
|
ref,
|
|
729
1305
|
className: cn(
|
|
@@ -733,19 +1309,19 @@ var DialogContent = React18__namespace.forwardRef(({ className, children, ...pro
|
|
|
733
1309
|
...props,
|
|
734
1310
|
children: [
|
|
735
1311
|
children,
|
|
736
|
-
/* @__PURE__ */
|
|
737
|
-
/* @__PURE__ */
|
|
738
|
-
/* @__PURE__ */
|
|
1312
|
+
/* @__PURE__ */ jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
1313
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
1314
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
739
1315
|
] })
|
|
740
1316
|
]
|
|
741
1317
|
}
|
|
742
1318
|
)
|
|
743
1319
|
] }));
|
|
744
|
-
DialogContent.displayName =
|
|
1320
|
+
DialogContent.displayName = SheetPrimitive.Content.displayName;
|
|
745
1321
|
var DialogHeader = ({
|
|
746
1322
|
className,
|
|
747
1323
|
...props
|
|
748
|
-
}) => /* @__PURE__ */
|
|
1324
|
+
}) => /* @__PURE__ */ jsx(
|
|
749
1325
|
"div",
|
|
750
1326
|
{
|
|
751
1327
|
className: cn(
|
|
@@ -759,7 +1335,7 @@ DialogHeader.displayName = "DialogHeader";
|
|
|
759
1335
|
var DialogFooter = ({
|
|
760
1336
|
className,
|
|
761
1337
|
...props
|
|
762
|
-
}) => /* @__PURE__ */
|
|
1338
|
+
}) => /* @__PURE__ */ jsx(
|
|
763
1339
|
"div",
|
|
764
1340
|
{
|
|
765
1341
|
className: cn(
|
|
@@ -770,8 +1346,8 @@ var DialogFooter = ({
|
|
|
770
1346
|
}
|
|
771
1347
|
);
|
|
772
1348
|
DialogFooter.displayName = "DialogFooter";
|
|
773
|
-
var DialogTitle =
|
|
774
|
-
|
|
1349
|
+
var DialogTitle = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1350
|
+
SheetPrimitive.Title,
|
|
775
1351
|
{
|
|
776
1352
|
ref,
|
|
777
1353
|
className: cn(
|
|
@@ -781,18 +1357,243 @@ var DialogTitle = React18__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
781
1357
|
...props
|
|
782
1358
|
}
|
|
783
1359
|
));
|
|
784
|
-
DialogTitle.displayName =
|
|
785
|
-
var DialogDescription =
|
|
786
|
-
|
|
1360
|
+
DialogTitle.displayName = SheetPrimitive.Title.displayName;
|
|
1361
|
+
var DialogDescription = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1362
|
+
SheetPrimitive.Description,
|
|
787
1363
|
{
|
|
788
1364
|
ref,
|
|
789
1365
|
className: cn("text-sm text-muted-foreground", className),
|
|
790
1366
|
...props
|
|
791
1367
|
}
|
|
792
1368
|
));
|
|
793
|
-
DialogDescription.displayName =
|
|
794
|
-
|
|
795
|
-
|
|
1369
|
+
DialogDescription.displayName = SheetPrimitive.Description.displayName;
|
|
1370
|
+
function Drawer({
|
|
1371
|
+
...props
|
|
1372
|
+
}) {
|
|
1373
|
+
return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
|
|
1374
|
+
}
|
|
1375
|
+
function DrawerTrigger({
|
|
1376
|
+
...props
|
|
1377
|
+
}) {
|
|
1378
|
+
return /* @__PURE__ */ jsx(Drawer$1.Trigger, { "data-slot": "drawer-trigger", ...props });
|
|
1379
|
+
}
|
|
1380
|
+
function DrawerPortal({
|
|
1381
|
+
...props
|
|
1382
|
+
}) {
|
|
1383
|
+
return /* @__PURE__ */ jsx(Drawer$1.Portal, { "data-slot": "drawer-portal", ...props });
|
|
1384
|
+
}
|
|
1385
|
+
function DrawerClose({
|
|
1386
|
+
...props
|
|
1387
|
+
}) {
|
|
1388
|
+
return /* @__PURE__ */ jsx(Drawer$1.Close, { "data-slot": "drawer-close", ...props });
|
|
1389
|
+
}
|
|
1390
|
+
function DrawerOverlay({
|
|
1391
|
+
className,
|
|
1392
|
+
...props
|
|
1393
|
+
}) {
|
|
1394
|
+
return /* @__PURE__ */ jsx(
|
|
1395
|
+
Drawer$1.Overlay,
|
|
1396
|
+
{
|
|
1397
|
+
"data-slot": "drawer-overlay",
|
|
1398
|
+
className: cn(
|
|
1399
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
|
|
1400
|
+
className
|
|
1401
|
+
),
|
|
1402
|
+
...props
|
|
1403
|
+
}
|
|
1404
|
+
);
|
|
1405
|
+
}
|
|
1406
|
+
function DrawerContent({
|
|
1407
|
+
className,
|
|
1408
|
+
children,
|
|
1409
|
+
...props
|
|
1410
|
+
}) {
|
|
1411
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
1412
|
+
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
1413
|
+
/* @__PURE__ */ jsxs(
|
|
1414
|
+
Drawer$1.Content,
|
|
1415
|
+
{
|
|
1416
|
+
"data-slot": "drawer-content",
|
|
1417
|
+
className: cn(
|
|
1418
|
+
"group/drawer-content bg-background fixed z-50 flex h-auto flex-col",
|
|
1419
|
+
"data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
|
|
1420
|
+
"data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
|
|
1421
|
+
"data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
|
|
1422
|
+
"data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm",
|
|
1423
|
+
className
|
|
1424
|
+
),
|
|
1425
|
+
...props,
|
|
1426
|
+
children: [
|
|
1427
|
+
/* @__PURE__ */ jsx("div", { className: "bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }),
|
|
1428
|
+
children
|
|
1429
|
+
]
|
|
1430
|
+
}
|
|
1431
|
+
)
|
|
1432
|
+
] });
|
|
1433
|
+
}
|
|
1434
|
+
function DrawerHeader({ className, ...props }) {
|
|
1435
|
+
return /* @__PURE__ */ jsx(
|
|
1436
|
+
"div",
|
|
1437
|
+
{
|
|
1438
|
+
"data-slot": "drawer-header",
|
|
1439
|
+
className: cn(
|
|
1440
|
+
"flex flex-col gap-1.5 p-4 text-center sm:text-left",
|
|
1441
|
+
className
|
|
1442
|
+
),
|
|
1443
|
+
...props
|
|
1444
|
+
}
|
|
1445
|
+
);
|
|
1446
|
+
}
|
|
1447
|
+
function DrawerFooter({ className, ...props }) {
|
|
1448
|
+
return /* @__PURE__ */ jsx(
|
|
1449
|
+
"div",
|
|
1450
|
+
{
|
|
1451
|
+
"data-slot": "drawer-footer",
|
|
1452
|
+
className: cn("mt-auto flex flex-col gap-2 p-4", className),
|
|
1453
|
+
...props
|
|
1454
|
+
}
|
|
1455
|
+
);
|
|
1456
|
+
}
|
|
1457
|
+
function DrawerTitle({
|
|
1458
|
+
className,
|
|
1459
|
+
...props
|
|
1460
|
+
}) {
|
|
1461
|
+
return /* @__PURE__ */ jsx(
|
|
1462
|
+
Drawer$1.Title,
|
|
1463
|
+
{
|
|
1464
|
+
"data-slot": "drawer-title",
|
|
1465
|
+
className: cn("text-lg font-semibold text-foreground", className),
|
|
1466
|
+
...props
|
|
1467
|
+
}
|
|
1468
|
+
);
|
|
1469
|
+
}
|
|
1470
|
+
function DrawerDescription({
|
|
1471
|
+
className,
|
|
1472
|
+
...props
|
|
1473
|
+
}) {
|
|
1474
|
+
return /* @__PURE__ */ jsx(
|
|
1475
|
+
Drawer$1.Description,
|
|
1476
|
+
{
|
|
1477
|
+
"data-slot": "drawer-description",
|
|
1478
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
1479
|
+
...props
|
|
1480
|
+
}
|
|
1481
|
+
);
|
|
1482
|
+
}
|
|
1483
|
+
function ResizablePanelGroup({
|
|
1484
|
+
className,
|
|
1485
|
+
...props
|
|
1486
|
+
}) {
|
|
1487
|
+
return /* @__PURE__ */ jsx(
|
|
1488
|
+
ResizablePrimitive.PanelGroup,
|
|
1489
|
+
{
|
|
1490
|
+
"data-slot": "resizable-panel-group",
|
|
1491
|
+
className: cn(
|
|
1492
|
+
"flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
|
|
1493
|
+
className
|
|
1494
|
+
),
|
|
1495
|
+
...props
|
|
1496
|
+
}
|
|
1497
|
+
);
|
|
1498
|
+
}
|
|
1499
|
+
function ResizablePanel({
|
|
1500
|
+
...props
|
|
1501
|
+
}) {
|
|
1502
|
+
return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
1503
|
+
}
|
|
1504
|
+
function ResizableHandle({
|
|
1505
|
+
withHandle,
|
|
1506
|
+
className,
|
|
1507
|
+
...props
|
|
1508
|
+
}) {
|
|
1509
|
+
return /* @__PURE__ */ jsx(
|
|
1510
|
+
ResizablePrimitive.PanelResizeHandle,
|
|
1511
|
+
{
|
|
1512
|
+
"data-slot": "resizable-handle",
|
|
1513
|
+
className: cn(
|
|
1514
|
+
"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
|
1515
|
+
className
|
|
1516
|
+
),
|
|
1517
|
+
...props,
|
|
1518
|
+
children: withHandle && /* @__PURE__ */ jsx("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border", children: /* @__PURE__ */ jsx(GripVertical, { className: "size-2.5" }) })
|
|
1519
|
+
}
|
|
1520
|
+
);
|
|
1521
|
+
}
|
|
1522
|
+
function ScrollArea({
|
|
1523
|
+
className,
|
|
1524
|
+
children,
|
|
1525
|
+
...props
|
|
1526
|
+
}) {
|
|
1527
|
+
return /* @__PURE__ */ jsxs(
|
|
1528
|
+
ScrollAreaPrimitive.Root,
|
|
1529
|
+
{
|
|
1530
|
+
"data-slot": "scroll-area",
|
|
1531
|
+
className: cn("relative", className),
|
|
1532
|
+
...props,
|
|
1533
|
+
children: [
|
|
1534
|
+
/* @__PURE__ */ jsx(
|
|
1535
|
+
ScrollAreaPrimitive.Viewport,
|
|
1536
|
+
{
|
|
1537
|
+
"data-slot": "scroll-area-viewport",
|
|
1538
|
+
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",
|
|
1539
|
+
children
|
|
1540
|
+
}
|
|
1541
|
+
),
|
|
1542
|
+
/* @__PURE__ */ jsx(ScrollBar, {}),
|
|
1543
|
+
/* @__PURE__ */ jsx(ScrollAreaPrimitive.Corner, {})
|
|
1544
|
+
]
|
|
1545
|
+
}
|
|
1546
|
+
);
|
|
1547
|
+
}
|
|
1548
|
+
function ScrollBar({
|
|
1549
|
+
className,
|
|
1550
|
+
orientation = "vertical",
|
|
1551
|
+
...props
|
|
1552
|
+
}) {
|
|
1553
|
+
return /* @__PURE__ */ jsx(
|
|
1554
|
+
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
1555
|
+
{
|
|
1556
|
+
"data-slot": "scroll-area-scrollbar",
|
|
1557
|
+
orientation,
|
|
1558
|
+
className: cn(
|
|
1559
|
+
"flex touch-none p-px transition-colors select-none",
|
|
1560
|
+
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent",
|
|
1561
|
+
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent",
|
|
1562
|
+
className
|
|
1563
|
+
),
|
|
1564
|
+
...props,
|
|
1565
|
+
children: /* @__PURE__ */ jsx(
|
|
1566
|
+
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
1567
|
+
{
|
|
1568
|
+
"data-slot": "scroll-area-thumb",
|
|
1569
|
+
className: "bg-border relative flex-1 rounded-full"
|
|
1570
|
+
}
|
|
1571
|
+
)
|
|
1572
|
+
}
|
|
1573
|
+
);
|
|
1574
|
+
}
|
|
1575
|
+
function Separator2({
|
|
1576
|
+
className,
|
|
1577
|
+
orientation = "horizontal",
|
|
1578
|
+
decorative = true,
|
|
1579
|
+
...props
|
|
1580
|
+
}) {
|
|
1581
|
+
return /* @__PURE__ */ jsx(
|
|
1582
|
+
SeparatorPrimitive.Root,
|
|
1583
|
+
{
|
|
1584
|
+
"data-slot": "separator",
|
|
1585
|
+
decorative,
|
|
1586
|
+
orientation,
|
|
1587
|
+
className: cn(
|
|
1588
|
+
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
1589
|
+
className
|
|
1590
|
+
),
|
|
1591
|
+
...props
|
|
1592
|
+
}
|
|
1593
|
+
);
|
|
1594
|
+
}
|
|
1595
|
+
var Accordion = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1596
|
+
AccordionPrimitive.Root,
|
|
796
1597
|
{
|
|
797
1598
|
ref,
|
|
798
1599
|
"data-slot": "accordion",
|
|
@@ -800,8 +1601,8 @@ var Accordion = React18__namespace.forwardRef(({ ...props }, ref) => /* @__PURE_
|
|
|
800
1601
|
}
|
|
801
1602
|
));
|
|
802
1603
|
Accordion.displayName = "Accordion";
|
|
803
|
-
var AccordionItem =
|
|
804
|
-
|
|
1604
|
+
var AccordionItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1605
|
+
AccordionPrimitive.Item,
|
|
805
1606
|
{
|
|
806
1607
|
ref,
|
|
807
1608
|
"data-slot": "accordion-item",
|
|
@@ -810,8 +1611,8 @@ var AccordionItem = React18__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
810
1611
|
}
|
|
811
1612
|
));
|
|
812
1613
|
AccordionItem.displayName = "AccordionItem";
|
|
813
|
-
var AccordionTrigger =
|
|
814
|
-
|
|
1614
|
+
var AccordionTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs(
|
|
1615
|
+
AccordionPrimitive.Trigger,
|
|
815
1616
|
{
|
|
816
1617
|
ref,
|
|
817
1618
|
"data-slot": "accordion-trigger",
|
|
@@ -822,31 +1623,31 @@ var AccordionTrigger = React18__namespace.forwardRef(({ className, children, ...
|
|
|
822
1623
|
...props,
|
|
823
1624
|
children: [
|
|
824
1625
|
children,
|
|
825
|
-
/* @__PURE__ */
|
|
1626
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
|
|
826
1627
|
]
|
|
827
1628
|
}
|
|
828
1629
|
) }));
|
|
829
1630
|
AccordionTrigger.displayName = "AccordionTrigger";
|
|
830
|
-
var AccordionContent =
|
|
831
|
-
|
|
1631
|
+
var AccordionContent = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1632
|
+
AccordionPrimitive.Content,
|
|
832
1633
|
{
|
|
833
1634
|
ref,
|
|
834
1635
|
"data-slot": "accordion-content",
|
|
835
1636
|
className: "overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
|
|
836
1637
|
...props,
|
|
837
|
-
children: /* @__PURE__ */
|
|
1638
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("pt-0 pb-4", className), children })
|
|
838
1639
|
}
|
|
839
1640
|
));
|
|
840
1641
|
AccordionContent.displayName = "AccordionContent";
|
|
841
|
-
var CarouselContext =
|
|
1642
|
+
var CarouselContext = React18.createContext(null);
|
|
842
1643
|
function useCarousel() {
|
|
843
|
-
const context =
|
|
1644
|
+
const context = React18.useContext(CarouselContext);
|
|
844
1645
|
if (!context) {
|
|
845
1646
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
846
1647
|
}
|
|
847
1648
|
return context;
|
|
848
1649
|
}
|
|
849
|
-
var Carousel =
|
|
1650
|
+
var Carousel = React18.forwardRef(
|
|
850
1651
|
({
|
|
851
1652
|
orientation = "horizontal",
|
|
852
1653
|
opts,
|
|
@@ -856,27 +1657,27 @@ var Carousel = React18__namespace.forwardRef(
|
|
|
856
1657
|
children,
|
|
857
1658
|
...props
|
|
858
1659
|
}, ref) => {
|
|
859
|
-
const [carouselRef, api] =
|
|
1660
|
+
const [carouselRef, api] = useEmblaCarousel(
|
|
860
1661
|
{
|
|
861
1662
|
...opts,
|
|
862
1663
|
axis: orientation === "horizontal" ? "x" : "y"
|
|
863
1664
|
},
|
|
864
1665
|
plugins
|
|
865
1666
|
);
|
|
866
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
867
|
-
const [canScrollNext, setCanScrollNext] =
|
|
868
|
-
const onSelect =
|
|
1667
|
+
const [canScrollPrev, setCanScrollPrev] = React18.useState(false);
|
|
1668
|
+
const [canScrollNext, setCanScrollNext] = React18.useState(false);
|
|
1669
|
+
const onSelect = React18.useCallback((api2) => {
|
|
869
1670
|
if (!api2) return;
|
|
870
1671
|
setCanScrollPrev(api2.canScrollPrev());
|
|
871
1672
|
setCanScrollNext(api2.canScrollNext());
|
|
872
1673
|
}, []);
|
|
873
|
-
const scrollPrev =
|
|
1674
|
+
const scrollPrev = React18.useCallback(() => {
|
|
874
1675
|
api?.scrollPrev();
|
|
875
1676
|
}, [api]);
|
|
876
|
-
const scrollNext =
|
|
1677
|
+
const scrollNext = React18.useCallback(() => {
|
|
877
1678
|
api?.scrollNext();
|
|
878
1679
|
}, [api]);
|
|
879
|
-
const handleKeyDown =
|
|
1680
|
+
const handleKeyDown = React18.useCallback(
|
|
880
1681
|
(event) => {
|
|
881
1682
|
if (event.key === "ArrowLeft") {
|
|
882
1683
|
event.preventDefault();
|
|
@@ -888,11 +1689,11 @@ var Carousel = React18__namespace.forwardRef(
|
|
|
888
1689
|
},
|
|
889
1690
|
[scrollPrev, scrollNext]
|
|
890
1691
|
);
|
|
891
|
-
|
|
1692
|
+
React18.useEffect(() => {
|
|
892
1693
|
if (!api || !setApi) return;
|
|
893
1694
|
setApi(api);
|
|
894
1695
|
}, [api, setApi]);
|
|
895
|
-
|
|
1696
|
+
React18.useEffect(() => {
|
|
896
1697
|
if (!api) return;
|
|
897
1698
|
onSelect(api);
|
|
898
1699
|
api.on("reInit", onSelect);
|
|
@@ -901,7 +1702,7 @@ var Carousel = React18__namespace.forwardRef(
|
|
|
901
1702
|
api?.off("select", onSelect);
|
|
902
1703
|
};
|
|
903
1704
|
}, [api, onSelect]);
|
|
904
|
-
return /* @__PURE__ */
|
|
1705
|
+
return /* @__PURE__ */ jsx(
|
|
905
1706
|
CarouselContext.Provider,
|
|
906
1707
|
{
|
|
907
1708
|
value: {
|
|
@@ -914,7 +1715,7 @@ var Carousel = React18__namespace.forwardRef(
|
|
|
914
1715
|
canScrollPrev,
|
|
915
1716
|
canScrollNext
|
|
916
1717
|
},
|
|
917
|
-
children: /* @__PURE__ */
|
|
1718
|
+
children: /* @__PURE__ */ jsx(
|
|
918
1719
|
"div",
|
|
919
1720
|
{
|
|
920
1721
|
ref,
|
|
@@ -932,15 +1733,15 @@ var Carousel = React18__namespace.forwardRef(
|
|
|
932
1733
|
}
|
|
933
1734
|
);
|
|
934
1735
|
Carousel.displayName = "Carousel";
|
|
935
|
-
var CarouselContent =
|
|
1736
|
+
var CarouselContent = React18.forwardRef(({ className, ...props }, ref) => {
|
|
936
1737
|
const { carouselRef, orientation } = useCarousel();
|
|
937
|
-
return /* @__PURE__ */
|
|
1738
|
+
return /* @__PURE__ */ jsx(
|
|
938
1739
|
"div",
|
|
939
1740
|
{
|
|
940
1741
|
ref: carouselRef,
|
|
941
1742
|
className: "overflow-hidden",
|
|
942
1743
|
"data-slot": "carousel-content",
|
|
943
|
-
children: /* @__PURE__ */
|
|
1744
|
+
children: /* @__PURE__ */ jsx(
|
|
944
1745
|
"div",
|
|
945
1746
|
{
|
|
946
1747
|
ref,
|
|
@@ -956,9 +1757,9 @@ var CarouselContent = React18__namespace.forwardRef(({ className, ...props }, re
|
|
|
956
1757
|
);
|
|
957
1758
|
});
|
|
958
1759
|
CarouselContent.displayName = "CarouselContent";
|
|
959
|
-
var CarouselItem =
|
|
1760
|
+
var CarouselItem = React18.forwardRef(({ className, ...props }, ref) => {
|
|
960
1761
|
const { orientation } = useCarousel();
|
|
961
|
-
return /* @__PURE__ */
|
|
1762
|
+
return /* @__PURE__ */ jsx(
|
|
962
1763
|
"div",
|
|
963
1764
|
{
|
|
964
1765
|
ref,
|
|
@@ -975,9 +1776,9 @@ var CarouselItem = React18__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
975
1776
|
);
|
|
976
1777
|
});
|
|
977
1778
|
CarouselItem.displayName = "CarouselItem";
|
|
978
|
-
var CarouselPrevious =
|
|
1779
|
+
var CarouselPrevious = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
|
|
979
1780
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
980
|
-
return /* @__PURE__ */
|
|
1781
|
+
return /* @__PURE__ */ jsxs(
|
|
981
1782
|
Button,
|
|
982
1783
|
{
|
|
983
1784
|
ref,
|
|
@@ -993,16 +1794,16 @@ var CarouselPrevious = React18__namespace.forwardRef(({ className, variant = uik
|
|
|
993
1794
|
onClick: scrollPrev,
|
|
994
1795
|
...props,
|
|
995
1796
|
children: [
|
|
996
|
-
/* @__PURE__ */
|
|
997
|
-
/* @__PURE__ */
|
|
1797
|
+
/* @__PURE__ */ jsx(ArrowLeft, { className: "h-4 w-4" }),
|
|
1798
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
|
|
998
1799
|
]
|
|
999
1800
|
}
|
|
1000
1801
|
);
|
|
1001
1802
|
});
|
|
1002
1803
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
1003
|
-
var CarouselNext =
|
|
1804
|
+
var CarouselNext = React18.forwardRef(({ className, variant = ButtonVariant.Outline, size = ButtonSize.Icon, ...props }, ref) => {
|
|
1004
1805
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
1005
|
-
return /* @__PURE__ */
|
|
1806
|
+
return /* @__PURE__ */ jsxs(
|
|
1006
1807
|
Button,
|
|
1007
1808
|
{
|
|
1008
1809
|
ref,
|
|
@@ -1018,15 +1819,15 @@ var CarouselNext = React18__namespace.forwardRef(({ className, variant = uikitCo
|
|
|
1018
1819
|
onClick: scrollNext,
|
|
1019
1820
|
...props,
|
|
1020
1821
|
children: [
|
|
1021
|
-
/* @__PURE__ */
|
|
1022
|
-
/* @__PURE__ */
|
|
1822
|
+
/* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4" }),
|
|
1823
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
|
|
1023
1824
|
]
|
|
1024
1825
|
}
|
|
1025
1826
|
);
|
|
1026
1827
|
});
|
|
1027
1828
|
CarouselNext.displayName = "CarouselNext";
|
|
1028
|
-
var Collapsible =
|
|
1029
|
-
|
|
1829
|
+
var Collapsible = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1830
|
+
CollapsiblePrimitive.Root,
|
|
1030
1831
|
{
|
|
1031
1832
|
ref,
|
|
1032
1833
|
"data-slot": "collapsible",
|
|
@@ -1034,8 +1835,8 @@ var Collapsible = React18__namespace.forwardRef(({ ...props }, ref) => /* @__PUR
|
|
|
1034
1835
|
}
|
|
1035
1836
|
));
|
|
1036
1837
|
Collapsible.displayName = "Collapsible";
|
|
1037
|
-
var CollapsibleTrigger2 =
|
|
1038
|
-
|
|
1838
|
+
var CollapsibleTrigger2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1839
|
+
CollapsiblePrimitive.CollapsibleTrigger,
|
|
1039
1840
|
{
|
|
1040
1841
|
ref,
|
|
1041
1842
|
"data-slot": "collapsible-trigger",
|
|
@@ -1043,8 +1844,8 @@ var CollapsibleTrigger2 = React18__namespace.forwardRef(({ ...props }, ref) => /
|
|
|
1043
1844
|
}
|
|
1044
1845
|
));
|
|
1045
1846
|
CollapsibleTrigger2.displayName = "CollapsibleTrigger";
|
|
1046
|
-
var CollapsibleContent2 =
|
|
1047
|
-
|
|
1847
|
+
var CollapsibleContent2 = React18.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1848
|
+
CollapsiblePrimitive.CollapsibleContent,
|
|
1048
1849
|
{
|
|
1049
1850
|
ref,
|
|
1050
1851
|
"data-slot": "collapsible-content",
|
|
@@ -1052,11 +1853,89 @@ var CollapsibleContent2 = React18__namespace.forwardRef(({ ...props }, ref) => /
|
|
|
1052
1853
|
}
|
|
1053
1854
|
));
|
|
1054
1855
|
CollapsibleContent2.displayName = "CollapsibleContent";
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1856
|
+
function ChartContainer({
|
|
1857
|
+
className,
|
|
1858
|
+
children,
|
|
1859
|
+
width = "100%",
|
|
1860
|
+
height = 350
|
|
1861
|
+
}) {
|
|
1862
|
+
return /* @__PURE__ */ jsx(
|
|
1863
|
+
"div",
|
|
1864
|
+
{
|
|
1865
|
+
"data-slot": "chart-container",
|
|
1866
|
+
className: cn("w-full", className),
|
|
1867
|
+
style: { width, height: typeof height === "number" ? `${height}px` : height },
|
|
1868
|
+
children
|
|
1869
|
+
}
|
|
1870
|
+
);
|
|
1871
|
+
}
|
|
1872
|
+
function ChartTooltipContent({
|
|
1873
|
+
className,
|
|
1874
|
+
label,
|
|
1875
|
+
payload,
|
|
1876
|
+
active
|
|
1877
|
+
}) {
|
|
1878
|
+
if (!active || !payload || payload.length === 0) {
|
|
1879
|
+
return null;
|
|
1880
|
+
}
|
|
1881
|
+
return /* @__PURE__ */ jsxs(
|
|
1882
|
+
"div",
|
|
1883
|
+
{
|
|
1884
|
+
"data-slot": "chart-tooltip-content",
|
|
1885
|
+
className: cn(
|
|
1886
|
+
"bg-background border-border text-foreground rounded-lg border p-2 shadow-md",
|
|
1887
|
+
className
|
|
1888
|
+
),
|
|
1889
|
+
children: [
|
|
1890
|
+
label && /* @__PURE__ */ jsx("div", { className: "mb-1 text-xs font-medium text-muted-foreground", children: label }),
|
|
1891
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1", children: payload.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-xs", children: [
|
|
1892
|
+
/* @__PURE__ */ jsx(
|
|
1893
|
+
"div",
|
|
1894
|
+
{
|
|
1895
|
+
className: "h-2 w-2 rounded-full",
|
|
1896
|
+
style: { backgroundColor: item.color }
|
|
1897
|
+
}
|
|
1898
|
+
),
|
|
1899
|
+
/* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
1900
|
+
item.name,
|
|
1901
|
+
":"
|
|
1902
|
+
] }),
|
|
1903
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
1904
|
+
] }, index)) })
|
|
1905
|
+
]
|
|
1906
|
+
}
|
|
1907
|
+
);
|
|
1908
|
+
}
|
|
1909
|
+
function ChartLegendContent({
|
|
1910
|
+
className,
|
|
1911
|
+
payload
|
|
1912
|
+
}) {
|
|
1913
|
+
if (!payload || payload.length === 0) {
|
|
1914
|
+
return null;
|
|
1915
|
+
}
|
|
1916
|
+
return /* @__PURE__ */ jsx(
|
|
1917
|
+
"div",
|
|
1918
|
+
{
|
|
1919
|
+
"data-slot": "chart-legend-content",
|
|
1920
|
+
className: cn("flex items-center justify-center gap-4 text-sm pt-4", className),
|
|
1921
|
+
children: payload.map((item, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1922
|
+
/* @__PURE__ */ jsx(
|
|
1923
|
+
"div",
|
|
1924
|
+
{
|
|
1925
|
+
className: "h-3 w-3 rounded-sm",
|
|
1926
|
+
style: { backgroundColor: item.color }
|
|
1927
|
+
}
|
|
1928
|
+
),
|
|
1929
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: item.value })
|
|
1930
|
+
] }, index))
|
|
1931
|
+
}
|
|
1932
|
+
);
|
|
1933
|
+
}
|
|
1934
|
+
var Select = SelectPrimitive.Root;
|
|
1935
|
+
var SelectGroup = SelectPrimitive.Group;
|
|
1936
|
+
var SelectValue = SelectPrimitive.Value;
|
|
1937
|
+
var SelectTrigger = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
1938
|
+
SelectPrimitive.Trigger,
|
|
1060
1939
|
{
|
|
1061
1940
|
ref,
|
|
1062
1941
|
className: cn(
|
|
@@ -1067,13 +1946,13 @@ var SelectTrigger = React18__namespace.forwardRef(({ className, children, ...pro
|
|
|
1067
1946
|
...props,
|
|
1068
1947
|
children: [
|
|
1069
1948
|
children,
|
|
1070
|
-
/* @__PURE__ */
|
|
1949
|
+
/* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })
|
|
1071
1950
|
]
|
|
1072
1951
|
}
|
|
1073
1952
|
));
|
|
1074
|
-
SelectTrigger.displayName =
|
|
1075
|
-
var SelectScrollUpButton =
|
|
1076
|
-
|
|
1953
|
+
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
1954
|
+
var SelectScrollUpButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1955
|
+
SelectPrimitive.ScrollUpButton,
|
|
1077
1956
|
{
|
|
1078
1957
|
ref,
|
|
1079
1958
|
className: cn(
|
|
@@ -1081,12 +1960,12 @@ var SelectScrollUpButton = React18__namespace.forwardRef(({ className, ...props
|
|
|
1081
1960
|
className
|
|
1082
1961
|
),
|
|
1083
1962
|
...props,
|
|
1084
|
-
children: /* @__PURE__ */
|
|
1963
|
+
children: /* @__PURE__ */ jsx(ChevronUp, { className: "h-4 w-4" })
|
|
1085
1964
|
}
|
|
1086
1965
|
));
|
|
1087
|
-
SelectScrollUpButton.displayName =
|
|
1088
|
-
var SelectScrollDownButton =
|
|
1089
|
-
|
|
1966
|
+
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
1967
|
+
var SelectScrollDownButton = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1968
|
+
SelectPrimitive.ScrollDownButton,
|
|
1090
1969
|
{
|
|
1091
1970
|
ref,
|
|
1092
1971
|
className: cn(
|
|
@@ -1094,12 +1973,12 @@ var SelectScrollDownButton = React18__namespace.forwardRef(({ className, ...prop
|
|
|
1094
1973
|
className
|
|
1095
1974
|
),
|
|
1096
1975
|
...props,
|
|
1097
|
-
children: /* @__PURE__ */
|
|
1976
|
+
children: /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
|
|
1098
1977
|
}
|
|
1099
1978
|
));
|
|
1100
|
-
SelectScrollDownButton.displayName =
|
|
1101
|
-
var SelectContent =
|
|
1102
|
-
|
|
1979
|
+
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
1980
|
+
var SelectContent = React18.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
|
|
1981
|
+
SelectPrimitive.Content,
|
|
1103
1982
|
{
|
|
1104
1983
|
ref,
|
|
1105
1984
|
className: cn(
|
|
@@ -1110,9 +1989,9 @@ var SelectContent = React18__namespace.forwardRef(({ className, children, positi
|
|
|
1110
1989
|
position,
|
|
1111
1990
|
...props,
|
|
1112
1991
|
children: [
|
|
1113
|
-
/* @__PURE__ */
|
|
1114
|
-
/* @__PURE__ */
|
|
1115
|
-
|
|
1992
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
1993
|
+
/* @__PURE__ */ jsx(
|
|
1994
|
+
SelectPrimitive.Viewport,
|
|
1116
1995
|
{
|
|
1117
1996
|
className: cn(
|
|
1118
1997
|
"p-1",
|
|
@@ -1121,22 +2000,22 @@ var SelectContent = React18__namespace.forwardRef(({ className, children, positi
|
|
|
1121
2000
|
children
|
|
1122
2001
|
}
|
|
1123
2002
|
),
|
|
1124
|
-
/* @__PURE__ */
|
|
2003
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
1125
2004
|
]
|
|
1126
2005
|
}
|
|
1127
2006
|
) }));
|
|
1128
|
-
SelectContent.displayName =
|
|
1129
|
-
var SelectLabel =
|
|
1130
|
-
|
|
2007
|
+
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2008
|
+
var SelectLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2009
|
+
SelectPrimitive.Label,
|
|
1131
2010
|
{
|
|
1132
2011
|
ref,
|
|
1133
2012
|
className: cn("px-2 py-1.5 text-sm font-semibold", className),
|
|
1134
2013
|
...props
|
|
1135
2014
|
}
|
|
1136
2015
|
));
|
|
1137
|
-
SelectLabel.displayName =
|
|
1138
|
-
var SelectItem =
|
|
1139
|
-
|
|
2016
|
+
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2017
|
+
var SelectItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2018
|
+
SelectPrimitive.Item,
|
|
1140
2019
|
{
|
|
1141
2020
|
ref,
|
|
1142
2021
|
className: cn(
|
|
@@ -1145,36 +2024,36 @@ var SelectItem = React18__namespace.forwardRef(({ className, children, ...props
|
|
|
1145
2024
|
),
|
|
1146
2025
|
...props,
|
|
1147
2026
|
children: [
|
|
1148
|
-
/* @__PURE__ */
|
|
1149
|
-
/* @__PURE__ */
|
|
2027
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
2028
|
+
/* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })
|
|
1150
2029
|
]
|
|
1151
2030
|
}
|
|
1152
2031
|
));
|
|
1153
|
-
SelectItem.displayName =
|
|
1154
|
-
var SelectSeparator =
|
|
1155
|
-
|
|
2032
|
+
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2033
|
+
var SelectSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2034
|
+
SelectPrimitive.Separator,
|
|
1156
2035
|
{
|
|
1157
2036
|
ref,
|
|
1158
2037
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
1159
2038
|
...props
|
|
1160
2039
|
}
|
|
1161
2040
|
));
|
|
1162
|
-
SelectSeparator.displayName =
|
|
1163
|
-
var DropdownMenu = ({ dir, ...props }) => /* @__PURE__ */
|
|
1164
|
-
|
|
2041
|
+
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
2042
|
+
var DropdownMenu = ({ dir, ...props }) => /* @__PURE__ */ jsx(
|
|
2043
|
+
DropdownMenuPrimitive.Root,
|
|
1165
2044
|
{
|
|
1166
2045
|
...props,
|
|
1167
2046
|
dir
|
|
1168
2047
|
}
|
|
1169
2048
|
);
|
|
1170
2049
|
DropdownMenu.displayName = "DropdownMenu";
|
|
1171
|
-
var DropdownMenuTrigger =
|
|
1172
|
-
var DropdownMenuGroup =
|
|
1173
|
-
var DropdownMenuPortal =
|
|
1174
|
-
var DropdownMenuSub =
|
|
1175
|
-
var DropdownMenuRadioGroup =
|
|
1176
|
-
var DropdownMenuSubTrigger =
|
|
1177
|
-
|
|
2050
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2051
|
+
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
2052
|
+
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
|
2053
|
+
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
|
2054
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
|
2055
|
+
var DropdownMenuSubTrigger = React18.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2056
|
+
DropdownMenuPrimitive.SubTrigger,
|
|
1178
2057
|
{
|
|
1179
2058
|
ref,
|
|
1180
2059
|
className: cn(
|
|
@@ -1185,13 +2064,13 @@ var DropdownMenuSubTrigger = React18__namespace.forwardRef(({ className, inset,
|
|
|
1185
2064
|
...props,
|
|
1186
2065
|
children: [
|
|
1187
2066
|
children,
|
|
1188
|
-
/* @__PURE__ */
|
|
2067
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "ms-auto rtl:rotate-180" })
|
|
1189
2068
|
]
|
|
1190
2069
|
}
|
|
1191
2070
|
));
|
|
1192
|
-
DropdownMenuSubTrigger.displayName =
|
|
1193
|
-
var DropdownMenuSubContent =
|
|
1194
|
-
|
|
2071
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
2072
|
+
var DropdownMenuSubContent = React18.forwardRef(({ className, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
|
|
2073
|
+
DropdownMenuPrimitive.SubContent,
|
|
1195
2074
|
{
|
|
1196
2075
|
ref,
|
|
1197
2076
|
className: cn(
|
|
@@ -1201,9 +2080,9 @@ var DropdownMenuSubContent = React18__namespace.forwardRef(({ className, contain
|
|
|
1201
2080
|
...props
|
|
1202
2081
|
}
|
|
1203
2082
|
) }));
|
|
1204
|
-
DropdownMenuSubContent.displayName =
|
|
1205
|
-
var DropdownMenuContent =
|
|
1206
|
-
|
|
2083
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
2084
|
+
var DropdownMenuContent = React18.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, { container: container ?? void 0, children: /* @__PURE__ */ jsx(
|
|
2085
|
+
DropdownMenuPrimitive.Content,
|
|
1207
2086
|
{
|
|
1208
2087
|
ref,
|
|
1209
2088
|
sideOffset,
|
|
@@ -1215,9 +2094,9 @@ var DropdownMenuContent = React18__namespace.forwardRef(({ className, sideOffset
|
|
|
1215
2094
|
...props
|
|
1216
2095
|
}
|
|
1217
2096
|
) }));
|
|
1218
|
-
DropdownMenuContent.displayName =
|
|
1219
|
-
var DropdownMenuItem =
|
|
1220
|
-
|
|
2097
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2098
|
+
var DropdownMenuItem = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2099
|
+
DropdownMenuPrimitive.Item,
|
|
1221
2100
|
{
|
|
1222
2101
|
ref,
|
|
1223
2102
|
className: cn(
|
|
@@ -1228,9 +2107,9 @@ var DropdownMenuItem = React18__namespace.forwardRef(({ className, inset, ...pro
|
|
|
1228
2107
|
...props
|
|
1229
2108
|
}
|
|
1230
2109
|
));
|
|
1231
|
-
DropdownMenuItem.displayName =
|
|
1232
|
-
var DropdownMenuCheckboxItem =
|
|
1233
|
-
|
|
2110
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2111
|
+
var DropdownMenuCheckboxItem = React18.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2112
|
+
DropdownMenuPrimitive.CheckboxItem,
|
|
1234
2113
|
{
|
|
1235
2114
|
ref,
|
|
1236
2115
|
className: cn(
|
|
@@ -1240,14 +2119,14 @@ var DropdownMenuCheckboxItem = React18__namespace.forwardRef(({ className, child
|
|
|
1240
2119
|
checked,
|
|
1241
2120
|
...props,
|
|
1242
2121
|
children: [
|
|
1243
|
-
/* @__PURE__ */
|
|
2122
|
+
/* @__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" }) }) }),
|
|
1244
2123
|
children
|
|
1245
2124
|
]
|
|
1246
2125
|
}
|
|
1247
2126
|
));
|
|
1248
|
-
DropdownMenuCheckboxItem.displayName =
|
|
1249
|
-
var DropdownMenuRadioItem =
|
|
1250
|
-
|
|
2127
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2128
|
+
var DropdownMenuRadioItem = React18.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
2129
|
+
DropdownMenuPrimitive.RadioItem,
|
|
1251
2130
|
{
|
|
1252
2131
|
ref,
|
|
1253
2132
|
className: cn(
|
|
@@ -1256,14 +2135,14 @@ var DropdownMenuRadioItem = React18__namespace.forwardRef(({ className, children
|
|
|
1256
2135
|
),
|
|
1257
2136
|
...props,
|
|
1258
2137
|
children: [
|
|
1259
|
-
/* @__PURE__ */
|
|
2138
|
+
/* @__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(CircleIcon, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1260
2139
|
children
|
|
1261
2140
|
]
|
|
1262
2141
|
}
|
|
1263
2142
|
));
|
|
1264
|
-
DropdownMenuRadioItem.displayName =
|
|
1265
|
-
var DropdownMenuLabel =
|
|
1266
|
-
|
|
2143
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2144
|
+
var DropdownMenuLabel = React18.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2145
|
+
DropdownMenuPrimitive.Label,
|
|
1267
2146
|
{
|
|
1268
2147
|
ref,
|
|
1269
2148
|
className: cn(
|
|
@@ -1274,21 +2153,21 @@ var DropdownMenuLabel = React18__namespace.forwardRef(({ className, inset, ...pr
|
|
|
1274
2153
|
...props
|
|
1275
2154
|
}
|
|
1276
2155
|
));
|
|
1277
|
-
DropdownMenuLabel.displayName =
|
|
1278
|
-
var DropdownMenuSeparator =
|
|
1279
|
-
|
|
2156
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2157
|
+
var DropdownMenuSeparator = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
2158
|
+
DropdownMenuPrimitive.Separator,
|
|
1280
2159
|
{
|
|
1281
2160
|
ref,
|
|
1282
2161
|
className: cn("-mx-1 my-1 h-px bg-muted", className),
|
|
1283
2162
|
...props
|
|
1284
2163
|
}
|
|
1285
2164
|
));
|
|
1286
|
-
DropdownMenuSeparator.displayName =
|
|
2165
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
1287
2166
|
var DropdownMenuShortcut = ({
|
|
1288
2167
|
className,
|
|
1289
2168
|
...props
|
|
1290
2169
|
}) => {
|
|
1291
|
-
return /* @__PURE__ */
|
|
2170
|
+
return /* @__PURE__ */ jsx(
|
|
1292
2171
|
"span",
|
|
1293
2172
|
{
|
|
1294
2173
|
className: cn("ml-auto text-xs tracking-widest opacity-60", className),
|
|
@@ -1300,33 +2179,33 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
1300
2179
|
function ContextMenu({
|
|
1301
2180
|
...props
|
|
1302
2181
|
}) {
|
|
1303
|
-
return /* @__PURE__ */
|
|
2182
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Root, { "data-slot": "context-menu", ...props });
|
|
1304
2183
|
}
|
|
1305
2184
|
function ContextMenuTrigger({
|
|
1306
2185
|
...props
|
|
1307
2186
|
}) {
|
|
1308
|
-
return /* @__PURE__ */
|
|
2187
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Trigger, { "data-slot": "context-menu-trigger", ...props });
|
|
1309
2188
|
}
|
|
1310
2189
|
function ContextMenuGroup({
|
|
1311
2190
|
...props
|
|
1312
2191
|
}) {
|
|
1313
|
-
return /* @__PURE__ */
|
|
2192
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Group, { "data-slot": "context-menu-group", ...props });
|
|
1314
2193
|
}
|
|
1315
2194
|
function ContextMenuPortal({
|
|
1316
2195
|
...props
|
|
1317
2196
|
}) {
|
|
1318
|
-
return /* @__PURE__ */
|
|
2197
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { "data-slot": "context-menu-portal", ...props });
|
|
1319
2198
|
}
|
|
1320
2199
|
function ContextMenuSub({
|
|
1321
2200
|
...props
|
|
1322
2201
|
}) {
|
|
1323
|
-
return /* @__PURE__ */
|
|
2202
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Sub, { "data-slot": "context-menu-sub", ...props });
|
|
1324
2203
|
}
|
|
1325
2204
|
function ContextMenuRadioGroup({
|
|
1326
2205
|
...props
|
|
1327
2206
|
}) {
|
|
1328
|
-
return /* @__PURE__ */
|
|
1329
|
-
|
|
2207
|
+
return /* @__PURE__ */ jsx(
|
|
2208
|
+
ContextMenuPrimitive.RadioGroup,
|
|
1330
2209
|
{
|
|
1331
2210
|
"data-slot": "context-menu-radio-group",
|
|
1332
2211
|
...props
|
|
@@ -1339,8 +2218,8 @@ function ContextMenuSubTrigger({
|
|
|
1339
2218
|
children,
|
|
1340
2219
|
...props
|
|
1341
2220
|
}) {
|
|
1342
|
-
return /* @__PURE__ */
|
|
1343
|
-
|
|
2221
|
+
return /* @__PURE__ */ jsxs(
|
|
2222
|
+
ContextMenuPrimitive.SubTrigger,
|
|
1344
2223
|
{
|
|
1345
2224
|
"data-slot": "context-menu-sub-trigger",
|
|
1346
2225
|
"data-inset": inset,
|
|
@@ -1351,7 +2230,7 @@ function ContextMenuSubTrigger({
|
|
|
1351
2230
|
...props,
|
|
1352
2231
|
children: [
|
|
1353
2232
|
children,
|
|
1354
|
-
/* @__PURE__ */
|
|
2233
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto" })
|
|
1355
2234
|
]
|
|
1356
2235
|
}
|
|
1357
2236
|
);
|
|
@@ -1360,8 +2239,8 @@ function ContextMenuSubContent({
|
|
|
1360
2239
|
className,
|
|
1361
2240
|
...props
|
|
1362
2241
|
}) {
|
|
1363
|
-
return /* @__PURE__ */
|
|
1364
|
-
|
|
2242
|
+
return /* @__PURE__ */ jsx(
|
|
2243
|
+
ContextMenuPrimitive.SubContent,
|
|
1365
2244
|
{
|
|
1366
2245
|
"data-slot": "context-menu-sub-content",
|
|
1367
2246
|
className: cn(
|
|
@@ -1376,8 +2255,8 @@ function ContextMenuContent({
|
|
|
1376
2255
|
className,
|
|
1377
2256
|
...props
|
|
1378
2257
|
}) {
|
|
1379
|
-
return /* @__PURE__ */
|
|
1380
|
-
|
|
2258
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
2259
|
+
ContextMenuPrimitive.Content,
|
|
1381
2260
|
{
|
|
1382
2261
|
"data-slot": "context-menu-content",
|
|
1383
2262
|
className: cn(
|
|
@@ -1394,8 +2273,8 @@ function ContextMenuItem({
|
|
|
1394
2273
|
variant = "default",
|
|
1395
2274
|
...props
|
|
1396
2275
|
}) {
|
|
1397
|
-
return /* @__PURE__ */
|
|
1398
|
-
|
|
2276
|
+
return /* @__PURE__ */ jsx(
|
|
2277
|
+
ContextMenuPrimitive.Item,
|
|
1399
2278
|
{
|
|
1400
2279
|
"data-slot": "context-menu-item",
|
|
1401
2280
|
"data-inset": inset,
|
|
@@ -1414,8 +2293,8 @@ function ContextMenuCheckboxItem({
|
|
|
1414
2293
|
checked,
|
|
1415
2294
|
...props
|
|
1416
2295
|
}) {
|
|
1417
|
-
return /* @__PURE__ */
|
|
1418
|
-
|
|
2296
|
+
return /* @__PURE__ */ jsxs(
|
|
2297
|
+
ContextMenuPrimitive.CheckboxItem,
|
|
1419
2298
|
{
|
|
1420
2299
|
"data-slot": "context-menu-checkbox-item",
|
|
1421
2300
|
className: cn(
|
|
@@ -1425,7 +2304,7 @@ function ContextMenuCheckboxItem({
|
|
|
1425
2304
|
checked,
|
|
1426
2305
|
...props,
|
|
1427
2306
|
children: [
|
|
1428
|
-
/* @__PURE__ */
|
|
2307
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
|
|
1429
2308
|
children
|
|
1430
2309
|
]
|
|
1431
2310
|
}
|
|
@@ -1436,8 +2315,8 @@ function ContextMenuRadioItem({
|
|
|
1436
2315
|
children,
|
|
1437
2316
|
...props
|
|
1438
2317
|
}) {
|
|
1439
|
-
return /* @__PURE__ */
|
|
1440
|
-
|
|
2318
|
+
return /* @__PURE__ */ jsxs(
|
|
2319
|
+
ContextMenuPrimitive.RadioItem,
|
|
1441
2320
|
{
|
|
1442
2321
|
"data-slot": "context-menu-radio-item",
|
|
1443
2322
|
className: cn(
|
|
@@ -1446,7 +2325,7 @@ function ContextMenuRadioItem({
|
|
|
1446
2325
|
),
|
|
1447
2326
|
...props,
|
|
1448
2327
|
children: [
|
|
1449
|
-
/* @__PURE__ */
|
|
2328
|
+
/* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CircleIcon, { className: "size-2 fill-current" }) }) }),
|
|
1450
2329
|
children
|
|
1451
2330
|
]
|
|
1452
2331
|
}
|
|
@@ -1457,8 +2336,8 @@ function ContextMenuLabel({
|
|
|
1457
2336
|
inset,
|
|
1458
2337
|
...props
|
|
1459
2338
|
}) {
|
|
1460
|
-
return /* @__PURE__ */
|
|
1461
|
-
|
|
2339
|
+
return /* @__PURE__ */ jsx(
|
|
2340
|
+
ContextMenuPrimitive.Label,
|
|
1462
2341
|
{
|
|
1463
2342
|
"data-slot": "context-menu-label",
|
|
1464
2343
|
"data-inset": inset,
|
|
@@ -1474,8 +2353,8 @@ function ContextMenuSeparator({
|
|
|
1474
2353
|
className,
|
|
1475
2354
|
...props
|
|
1476
2355
|
}) {
|
|
1477
|
-
return /* @__PURE__ */
|
|
1478
|
-
|
|
2356
|
+
return /* @__PURE__ */ jsx(
|
|
2357
|
+
ContextMenuPrimitive.Separator,
|
|
1479
2358
|
{
|
|
1480
2359
|
"data-slot": "context-menu-separator",
|
|
1481
2360
|
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
@@ -1487,7 +2366,7 @@ function ContextMenuShortcut({
|
|
|
1487
2366
|
className,
|
|
1488
2367
|
...props
|
|
1489
2368
|
}) {
|
|
1490
|
-
return /* @__PURE__ */
|
|
2369
|
+
return /* @__PURE__ */ jsx(
|
|
1491
2370
|
"span",
|
|
1492
2371
|
{
|
|
1493
2372
|
"data-slot": "context-menu-shortcut",
|
|
@@ -1499,19 +2378,19 @@ function ContextMenuShortcut({
|
|
|
1499
2378
|
}
|
|
1500
2379
|
);
|
|
1501
2380
|
}
|
|
1502
|
-
var IconButton =
|
|
1503
|
-
({ variant =
|
|
2381
|
+
var IconButton = React18__default.forwardRef(
|
|
2382
|
+
({ variant = ButtonVariant.Ghost, size = IconButtonSize.Default, className, ...props }, ref) => {
|
|
1504
2383
|
const sizeStyles = {
|
|
1505
|
-
[
|
|
1506
|
-
[
|
|
1507
|
-
[
|
|
2384
|
+
[IconButtonSize.Small]: "h-8 w-8",
|
|
2385
|
+
[IconButtonSize.Default]: "h-9 w-9",
|
|
2386
|
+
[IconButtonSize.Large]: "h-11 w-11"
|
|
1508
2387
|
};
|
|
1509
|
-
return /* @__PURE__ */
|
|
2388
|
+
return /* @__PURE__ */ jsx(
|
|
1510
2389
|
Button,
|
|
1511
2390
|
{
|
|
1512
2391
|
ref,
|
|
1513
2392
|
variant,
|
|
1514
|
-
size:
|
|
2393
|
+
size: ButtonSize.Icon,
|
|
1515
2394
|
className: cn(sizeStyles[size], className),
|
|
1516
2395
|
...props
|
|
1517
2396
|
}
|
|
@@ -1519,8 +2398,8 @@ var IconButton = React18__namespace.default.forwardRef(
|
|
|
1519
2398
|
}
|
|
1520
2399
|
);
|
|
1521
2400
|
IconButton.displayName = "IconButton";
|
|
1522
|
-
var DropdownButton =
|
|
1523
|
-
return /* @__PURE__ */
|
|
2401
|
+
var DropdownButton = React18__default.forwardRef(({ children, variant = ButtonVariant.Outline, className, ...props }, ref) => {
|
|
2402
|
+
return /* @__PURE__ */ jsxs(
|
|
1524
2403
|
Button,
|
|
1525
2404
|
{
|
|
1526
2405
|
ref,
|
|
@@ -1528,15 +2407,15 @@ var DropdownButton = React18__namespace.default.forwardRef(({ children, variant
|
|
|
1528
2407
|
className: cn("min-w-40 justify-between rtl:flex-row-reverse", className),
|
|
1529
2408
|
...props,
|
|
1530
2409
|
children: [
|
|
1531
|
-
/* @__PURE__ */
|
|
1532
|
-
/* @__PURE__ */
|
|
2410
|
+
/* @__PURE__ */ jsx("span", { children }),
|
|
2411
|
+
/* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
|
|
1533
2412
|
]
|
|
1534
2413
|
}
|
|
1535
2414
|
);
|
|
1536
2415
|
});
|
|
1537
2416
|
DropdownButton.displayName = "DropdownButton";
|
|
1538
|
-
var Sidebar =
|
|
1539
|
-
return /* @__PURE__ */
|
|
2417
|
+
var Sidebar = React18.forwardRef(({ collapsed = false, className, children, ...props }, ref) => {
|
|
2418
|
+
return /* @__PURE__ */ jsx(
|
|
1540
2419
|
"aside",
|
|
1541
2420
|
{
|
|
1542
2421
|
ref,
|
|
@@ -1554,7 +2433,7 @@ var Sidebar = React18__namespace.forwardRef(({ collapsed = false, className, chi
|
|
|
1554
2433
|
);
|
|
1555
2434
|
});
|
|
1556
2435
|
Sidebar.displayName = "Sidebar";
|
|
1557
|
-
var SidebarContent =
|
|
2436
|
+
var SidebarContent = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1558
2437
|
"div",
|
|
1559
2438
|
{
|
|
1560
2439
|
ref,
|
|
@@ -1568,7 +2447,7 @@ var SidebarContent = React18__namespace.forwardRef(({ className, ...props }, ref
|
|
|
1568
2447
|
}
|
|
1569
2448
|
));
|
|
1570
2449
|
SidebarContent.displayName = "SidebarContent";
|
|
1571
|
-
var SidebarMenu =
|
|
2450
|
+
var SidebarMenu = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1572
2451
|
"ul",
|
|
1573
2452
|
{
|
|
1574
2453
|
ref,
|
|
@@ -1578,7 +2457,7 @@ var SidebarMenu = React18__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
1578
2457
|
}
|
|
1579
2458
|
));
|
|
1580
2459
|
SidebarMenu.displayName = "SidebarMenu";
|
|
1581
|
-
var SidebarMenuItem =
|
|
2460
|
+
var SidebarMenuItem = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1582
2461
|
"li",
|
|
1583
2462
|
{
|
|
1584
2463
|
ref,
|
|
@@ -1588,7 +2467,7 @@ var SidebarMenuItem = React18__namespace.forwardRef(({ className, ...props }, re
|
|
|
1588
2467
|
}
|
|
1589
2468
|
));
|
|
1590
2469
|
SidebarMenuItem.displayName = "SidebarMenuItem";
|
|
1591
|
-
var sidebarMenuButtonVariants =
|
|
2470
|
+
var sidebarMenuButtonVariants = cva(
|
|
1592
2471
|
// HAI3 customization: All sizing uses rem-based Tailwind classes for theme responsiveness
|
|
1593
2472
|
"peer/menu-button flex w-full items-center gap-2 rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>span:last-child]:overflow-hidden [&>svg]:size-5 [&>svg]:shrink-0 text-mainMenu-foreground hover:bg-mainMenu-hover data-[active=true]:bg-mainMenu-selected data-[active=true]:text-white data-[active=true]:font-medium",
|
|
1594
2473
|
{
|
|
@@ -1610,7 +2489,7 @@ var sidebarMenuButtonVariants = classVarianceAuthority.cva(
|
|
|
1610
2489
|
}
|
|
1611
2490
|
}
|
|
1612
2491
|
);
|
|
1613
|
-
var SidebarMenuButton =
|
|
2492
|
+
var SidebarMenuButton = React18.forwardRef(
|
|
1614
2493
|
({
|
|
1615
2494
|
asChild = false,
|
|
1616
2495
|
isActive = false,
|
|
@@ -1620,8 +2499,8 @@ var SidebarMenuButton = React18__namespace.forwardRef(
|
|
|
1620
2499
|
className,
|
|
1621
2500
|
...props
|
|
1622
2501
|
}, ref) => {
|
|
1623
|
-
const Comp = asChild ?
|
|
1624
|
-
return /* @__PURE__ */
|
|
2502
|
+
const Comp = asChild ? Slot : "button";
|
|
2503
|
+
return /* @__PURE__ */ jsx(
|
|
1625
2504
|
Comp,
|
|
1626
2505
|
{
|
|
1627
2506
|
ref,
|
|
@@ -1636,7 +2515,7 @@ var SidebarMenuButton = React18__namespace.forwardRef(
|
|
|
1636
2515
|
}
|
|
1637
2516
|
);
|
|
1638
2517
|
SidebarMenuButton.displayName = "SidebarMenuButton";
|
|
1639
|
-
var SidebarMenuIcon =
|
|
2518
|
+
var SidebarMenuIcon = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1640
2519
|
"span",
|
|
1641
2520
|
{
|
|
1642
2521
|
ref,
|
|
@@ -1645,7 +2524,7 @@ var SidebarMenuIcon = React18__namespace.forwardRef(({ className, ...props }, re
|
|
|
1645
2524
|
}
|
|
1646
2525
|
));
|
|
1647
2526
|
SidebarMenuIcon.displayName = "SidebarMenuIcon";
|
|
1648
|
-
var SidebarMenuLabel =
|
|
2527
|
+
var SidebarMenuLabel = React18.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1649
2528
|
"span",
|
|
1650
2529
|
{
|
|
1651
2530
|
ref,
|
|
@@ -1654,9 +2533,9 @@ var SidebarMenuLabel = React18__namespace.forwardRef(({ className, ...props }, r
|
|
|
1654
2533
|
}
|
|
1655
2534
|
));
|
|
1656
2535
|
SidebarMenuLabel.displayName = "SidebarMenuLabel";
|
|
1657
|
-
var SidebarHeader =
|
|
2536
|
+
var SidebarHeader = React18.forwardRef(
|
|
1658
2537
|
({ logo, logoText, collapsed = false, onClick, className, ...props }, ref) => {
|
|
1659
|
-
return /* @__PURE__ */
|
|
2538
|
+
return /* @__PURE__ */ jsxs(
|
|
1660
2539
|
"div",
|
|
1661
2540
|
{
|
|
1662
2541
|
ref,
|
|
@@ -1666,36 +2545,36 @@ var SidebarHeader = React18__namespace.forwardRef(
|
|
|
1666
2545
|
),
|
|
1667
2546
|
...props,
|
|
1668
2547
|
children: [
|
|
1669
|
-
/* @__PURE__ */
|
|
1670
|
-
logo && /* @__PURE__ */
|
|
1671
|
-
logoText && /* @__PURE__ */
|
|
2548
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center flex-1 px-2", children: /* @__PURE__ */ jsxs(SidebarMenuButton, { onClick, tooltip: collapsed ? "Expand menu" : "Collapse menu", children: [
|
|
2549
|
+
logo && /* @__PURE__ */ jsx(SidebarMenuIcon, { children: logo }),
|
|
2550
|
+
logoText && /* @__PURE__ */ jsx(SidebarMenuLabel, { className: "[&>svg]:h-5 [&>svg]:w-auto", children: logoText })
|
|
1672
2551
|
] }) }),
|
|
1673
|
-
/* @__PURE__ */
|
|
2552
|
+
/* @__PURE__ */ jsx("div", { className: "border-b border-mainMenu-border mx-4" })
|
|
1674
2553
|
]
|
|
1675
2554
|
}
|
|
1676
2555
|
);
|
|
1677
2556
|
}
|
|
1678
2557
|
);
|
|
1679
2558
|
SidebarHeader.displayName = "SidebarHeader";
|
|
1680
|
-
var UserInfo =
|
|
2559
|
+
var UserInfo = React18__default.forwardRef(
|
|
1681
2560
|
({ displayName, email, avatarUrl, className, loading }, ref) => {
|
|
1682
2561
|
const getInitials = () => {
|
|
1683
|
-
if (!displayName) return
|
|
1684
|
-
const parts =
|
|
2562
|
+
if (!displayName) return toUpper(email?.[0] || "") || "?";
|
|
2563
|
+
const parts = trim(displayName).split(/\s+/);
|
|
1685
2564
|
if (parts.length >= 2) {
|
|
1686
|
-
return
|
|
2565
|
+
return toUpper(`${parts[0][0]}${parts[parts.length - 1][0]}`);
|
|
1687
2566
|
}
|
|
1688
|
-
return
|
|
2567
|
+
return toUpper(displayName.slice(0, 2));
|
|
1689
2568
|
};
|
|
1690
2569
|
const initials = getInitials();
|
|
1691
2570
|
const displayText = displayName || email || "User";
|
|
1692
2571
|
if (loading) {
|
|
1693
|
-
return /* @__PURE__ */
|
|
1694
|
-
/* @__PURE__ */
|
|
1695
|
-
/* @__PURE__ */
|
|
2572
|
+
return /* @__PURE__ */ jsxs("div", { ref, className: cn("flex items-center gap-2 text-sm", className), children: [
|
|
2573
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-8 rounded-full" }),
|
|
2574
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24" })
|
|
1696
2575
|
] });
|
|
1697
2576
|
}
|
|
1698
|
-
return /* @__PURE__ */
|
|
2577
|
+
return /* @__PURE__ */ jsxs(
|
|
1699
2578
|
"div",
|
|
1700
2579
|
{
|
|
1701
2580
|
ref,
|
|
@@ -1704,11 +2583,11 @@ var UserInfo = React18__namespace.default.forwardRef(
|
|
|
1704
2583
|
className
|
|
1705
2584
|
),
|
|
1706
2585
|
children: [
|
|
1707
|
-
/* @__PURE__ */
|
|
1708
|
-
avatarUrl && /* @__PURE__ */
|
|
1709
|
-
/* @__PURE__ */
|
|
2586
|
+
/* @__PURE__ */ jsxs(Avatar, { className: "h-8 w-8", children: [
|
|
2587
|
+
avatarUrl && /* @__PURE__ */ jsx(AvatarImage, { src: avatarUrl, alt: displayText }),
|
|
2588
|
+
/* @__PURE__ */ jsx(AvatarFallback, { children: initials })
|
|
1710
2589
|
] }),
|
|
1711
|
-
/* @__PURE__ */
|
|
2590
|
+
/* @__PURE__ */ jsx("span", { children: displayText })
|
|
1712
2591
|
]
|
|
1713
2592
|
}
|
|
1714
2593
|
);
|
|
@@ -1729,24 +2608,24 @@ var MessageBubble = ({
|
|
|
1729
2608
|
onDelete
|
|
1730
2609
|
}) => {
|
|
1731
2610
|
const isUser = type === "user" /* User */;
|
|
1732
|
-
return /* @__PURE__ */
|
|
1733
|
-
/* @__PURE__ */
|
|
2611
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex gap-4 group ${className}`, children: [
|
|
2612
|
+
/* @__PURE__ */ jsx(Avatar, { className: "h-8 w-8 flex-shrink-0", children: /* @__PURE__ */ jsx(
|
|
1734
2613
|
AvatarFallback,
|
|
1735
2614
|
{
|
|
1736
2615
|
className: isUser ? "bg-blue-500 text-white" : "bg-green-500 text-white",
|
|
1737
|
-
children: isUser ? /* @__PURE__ */
|
|
2616
|
+
children: isUser ? /* @__PURE__ */ jsx(User, { size: 16 }) : /* @__PURE__ */ jsx(Bot, { size: 16 })
|
|
1738
2617
|
}
|
|
1739
2618
|
) }),
|
|
1740
|
-
/* @__PURE__ */
|
|
1741
|
-
/* @__PURE__ */
|
|
1742
|
-
(onCopy || onEdit || onDelete) && /* @__PURE__ */
|
|
1743
|
-
onCopy && /* @__PURE__ */
|
|
2619
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
2620
|
+
/* @__PURE__ */ jsx("div", { className: "prose prose-sm max-w-none", children: /* @__PURE__ */ jsx("div", { className: "leading-relaxed whitespace-pre-wrap", children: content }) }),
|
|
2621
|
+
(onCopy || onEdit || onDelete) && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 mt-2 opacity-0 group-hover:opacity-100 transition-opacity", children: [
|
|
2622
|
+
onCopy && /* @__PURE__ */ jsx(
|
|
1744
2623
|
"button",
|
|
1745
2624
|
{
|
|
1746
2625
|
onClick: onCopy,
|
|
1747
2626
|
className: "p-1.5 hover:bg-muted rounded-lg transition-colors text-muted-foreground hover:text-foreground",
|
|
1748
2627
|
title: "Copy message",
|
|
1749
|
-
children: /* @__PURE__ */
|
|
2628
|
+
children: /* @__PURE__ */ jsxs(
|
|
1750
2629
|
"svg",
|
|
1751
2630
|
{
|
|
1752
2631
|
width: "14",
|
|
@@ -1758,20 +2637,20 @@ var MessageBubble = ({
|
|
|
1758
2637
|
strokeLinecap: "round",
|
|
1759
2638
|
strokeLinejoin: "round",
|
|
1760
2639
|
children: [
|
|
1761
|
-
/* @__PURE__ */
|
|
1762
|
-
/* @__PURE__ */
|
|
2640
|
+
/* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }),
|
|
2641
|
+
/* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
|
|
1763
2642
|
]
|
|
1764
2643
|
}
|
|
1765
2644
|
)
|
|
1766
2645
|
}
|
|
1767
2646
|
),
|
|
1768
|
-
onEdit && /* @__PURE__ */
|
|
2647
|
+
onEdit && /* @__PURE__ */ jsx(
|
|
1769
2648
|
"button",
|
|
1770
2649
|
{
|
|
1771
2650
|
onClick: onEdit,
|
|
1772
2651
|
className: "p-1.5 hover:bg-muted rounded-lg transition-colors text-muted-foreground hover:text-foreground",
|
|
1773
2652
|
title: "Edit message",
|
|
1774
|
-
children: /* @__PURE__ */
|
|
2653
|
+
children: /* @__PURE__ */ jsxs(
|
|
1775
2654
|
"svg",
|
|
1776
2655
|
{
|
|
1777
2656
|
width: "14",
|
|
@@ -1783,20 +2662,20 @@ var MessageBubble = ({
|
|
|
1783
2662
|
strokeLinecap: "round",
|
|
1784
2663
|
strokeLinejoin: "round",
|
|
1785
2664
|
children: [
|
|
1786
|
-
/* @__PURE__ */
|
|
1787
|
-
/* @__PURE__ */
|
|
2665
|
+
/* @__PURE__ */ jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
|
|
2666
|
+
/* @__PURE__ */ jsx("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
|
|
1788
2667
|
]
|
|
1789
2668
|
}
|
|
1790
2669
|
)
|
|
1791
2670
|
}
|
|
1792
2671
|
),
|
|
1793
|
-
onDelete && /* @__PURE__ */
|
|
2672
|
+
onDelete && /* @__PURE__ */ jsx(
|
|
1794
2673
|
"button",
|
|
1795
2674
|
{
|
|
1796
2675
|
onClick: onDelete,
|
|
1797
2676
|
className: "p-1.5 hover:bg-destructive/10 rounded-lg transition-colors text-muted-foreground hover:text-destructive",
|
|
1798
2677
|
title: "Delete message",
|
|
1799
|
-
children: /* @__PURE__ */
|
|
2678
|
+
children: /* @__PURE__ */ jsxs(
|
|
1800
2679
|
"svg",
|
|
1801
2680
|
{
|
|
1802
2681
|
width: "14",
|
|
@@ -1808,8 +2687,8 @@ var MessageBubble = ({
|
|
|
1808
2687
|
strokeLinecap: "round",
|
|
1809
2688
|
strokeLinejoin: "round",
|
|
1810
2689
|
children: [
|
|
1811
|
-
/* @__PURE__ */
|
|
1812
|
-
/* @__PURE__ */
|
|
2690
|
+
/* @__PURE__ */ jsx("polyline", { points: "3 6 5 6 21 6" }),
|
|
2691
|
+
/* @__PURE__ */ jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
|
|
1813
2692
|
]
|
|
1814
2693
|
}
|
|
1815
2694
|
)
|
|
@@ -1832,7 +2711,7 @@ var ChatInput = ({
|
|
|
1832
2711
|
const handleKeyDown = (e) => {
|
|
1833
2712
|
if (e.key === "Enter" && !e.shiftKey) {
|
|
1834
2713
|
e.preventDefault();
|
|
1835
|
-
if (!disabled &&
|
|
2714
|
+
if (!disabled && trim(value)) {
|
|
1836
2715
|
onSend();
|
|
1837
2716
|
}
|
|
1838
2717
|
}
|
|
@@ -1841,20 +2720,20 @@ var ChatInput = ({
|
|
|
1841
2720
|
Math.max(value.split("\n").length, 1),
|
|
1842
2721
|
maxRows
|
|
1843
2722
|
);
|
|
1844
|
-
return /* @__PURE__ */
|
|
1845
|
-
onAttachFile && /* @__PURE__ */
|
|
2723
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex items-end gap-2 ${className}`, children: [
|
|
2724
|
+
onAttachFile && /* @__PURE__ */ jsx(
|
|
1846
2725
|
Button,
|
|
1847
2726
|
{
|
|
1848
|
-
variant:
|
|
1849
|
-
size:
|
|
2727
|
+
variant: ButtonVariant.Ghost,
|
|
2728
|
+
size: ButtonSize.Icon,
|
|
1850
2729
|
onClick: onAttachFile,
|
|
1851
2730
|
disabled,
|
|
1852
2731
|
className: "flex-shrink-0",
|
|
1853
2732
|
"aria-label": "Attach file",
|
|
1854
|
-
children: /* @__PURE__ */
|
|
2733
|
+
children: /* @__PURE__ */ jsx(Paperclip, { size: 20 })
|
|
1855
2734
|
}
|
|
1856
2735
|
),
|
|
1857
|
-
/* @__PURE__ */
|
|
2736
|
+
/* @__PURE__ */ jsx(
|
|
1858
2737
|
"textarea",
|
|
1859
2738
|
{
|
|
1860
2739
|
value,
|
|
@@ -1866,14 +2745,14 @@ var ChatInput = ({
|
|
|
1866
2745
|
className: "flex-1 resize-none rounded-lg border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"
|
|
1867
2746
|
}
|
|
1868
2747
|
),
|
|
1869
|
-
/* @__PURE__ */
|
|
2748
|
+
/* @__PURE__ */ jsx(
|
|
1870
2749
|
Button,
|
|
1871
2750
|
{
|
|
1872
2751
|
onClick: onSend,
|
|
1873
|
-
disabled: disabled || !
|
|
2752
|
+
disabled: disabled || !trim(value),
|
|
1874
2753
|
className: "flex-shrink-0",
|
|
1875
2754
|
"aria-label": "Send message",
|
|
1876
|
-
children: /* @__PURE__ */
|
|
2755
|
+
children: /* @__PURE__ */ jsx(Send, { size: 20 })
|
|
1877
2756
|
}
|
|
1878
2757
|
)
|
|
1879
2758
|
] });
|
|
@@ -1890,38 +2769,38 @@ var ThreadList = ({
|
|
|
1890
2769
|
className = ""
|
|
1891
2770
|
}) => {
|
|
1892
2771
|
if (loading) {
|
|
1893
|
-
return /* @__PURE__ */
|
|
1894
|
-
/* @__PURE__ */
|
|
1895
|
-
/* @__PURE__ */
|
|
1896
|
-
/* @__PURE__ */
|
|
2772
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex flex-col h-full ${className}`, children: [
|
|
2773
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4 border-b", children: [
|
|
2774
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-full mb-3" }),
|
|
2775
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-10 w-full" })
|
|
1897
2776
|
] }),
|
|
1898
|
-
/* @__PURE__ */
|
|
2777
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto p-2", children: [1, 2, 3, 4, 5].map((i) => /* @__PURE__ */ jsx(Skeleton, { className: "h-16 w-full mb-2" }, i)) })
|
|
1899
2778
|
] });
|
|
1900
2779
|
}
|
|
1901
|
-
return /* @__PURE__ */
|
|
1902
|
-
/* @__PURE__ */
|
|
1903
|
-
/* @__PURE__ */
|
|
1904
|
-
/* @__PURE__ */
|
|
1905
|
-
/* @__PURE__ */
|
|
2780
|
+
return /* @__PURE__ */ jsxs("div", { className: `flex flex-col h-full ${className}`, children: [
|
|
2781
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4 border-b", children: [
|
|
2782
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
|
|
2783
|
+
/* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold", children: "Recent Chats" }),
|
|
2784
|
+
/* @__PURE__ */ jsx(
|
|
1906
2785
|
Button,
|
|
1907
2786
|
{
|
|
1908
|
-
variant:
|
|
1909
|
-
size:
|
|
2787
|
+
variant: ButtonVariant.Ghost,
|
|
2788
|
+
size: ButtonSize.Icon,
|
|
1910
2789
|
onClick: onNewThread,
|
|
1911
2790
|
"aria-label": "New chat",
|
|
1912
|
-
children: /* @__PURE__ */
|
|
2791
|
+
children: /* @__PURE__ */ jsx(Plus, { size: 16 })
|
|
1913
2792
|
}
|
|
1914
2793
|
)
|
|
1915
2794
|
] }),
|
|
1916
|
-
onSearchChange && /* @__PURE__ */
|
|
1917
|
-
/* @__PURE__ */
|
|
1918
|
-
|
|
2795
|
+
onSearchChange && /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
2796
|
+
/* @__PURE__ */ jsx(
|
|
2797
|
+
Search,
|
|
1919
2798
|
{
|
|
1920
2799
|
size: 16,
|
|
1921
2800
|
className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground"
|
|
1922
2801
|
}
|
|
1923
2802
|
),
|
|
1924
|
-
/* @__PURE__ */
|
|
2803
|
+
/* @__PURE__ */ jsx(
|
|
1925
2804
|
"input",
|
|
1926
2805
|
{
|
|
1927
2806
|
type: "text",
|
|
@@ -1933,20 +2812,20 @@ var ThreadList = ({
|
|
|
1933
2812
|
)
|
|
1934
2813
|
] })
|
|
1935
2814
|
] }),
|
|
1936
|
-
/* @__PURE__ */
|
|
2815
|
+
/* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: threads.length === 0 ? /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-muted-foreground text-sm", children: "No chats yet. Start a new conversation!" }) : threads.map((thread) => /* @__PURE__ */ jsx(
|
|
1937
2816
|
"div",
|
|
1938
2817
|
{
|
|
1939
2818
|
onClick: () => onThreadSelect(thread.id),
|
|
1940
2819
|
className: `p-3 border-b cursor-pointer transition-colors hover:bg-muted/50 ${selectedThreadId === thread.id ? "bg-muted" : ""}`,
|
|
1941
|
-
children: /* @__PURE__ */
|
|
1942
|
-
/* @__PURE__ */
|
|
1943
|
-
/* @__PURE__ */
|
|
2820
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
2821
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
2822
|
+
/* @__PURE__ */ jsxs("h3", { className: "font-medium text-sm truncate mb-1", children: [
|
|
1944
2823
|
thread.title,
|
|
1945
|
-
thread.isTemporary && /* @__PURE__ */
|
|
2824
|
+
thread.isTemporary && /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: "(Temporary)" })
|
|
1946
2825
|
] }),
|
|
1947
|
-
/* @__PURE__ */
|
|
2826
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate", children: thread.preview })
|
|
1948
2827
|
] }),
|
|
1949
|
-
onDeleteThread && /* @__PURE__ */
|
|
2828
|
+
onDeleteThread && /* @__PURE__ */ jsx(
|
|
1950
2829
|
"button",
|
|
1951
2830
|
{
|
|
1952
2831
|
onClick: (e) => {
|
|
@@ -1955,7 +2834,7 @@ var ThreadList = ({
|
|
|
1955
2834
|
},
|
|
1956
2835
|
className: "p-1 opacity-0 group-hover:opacity-100 hover:bg-destructive/10 rounded transition-opacity text-muted-foreground hover:text-destructive",
|
|
1957
2836
|
"aria-label": "Delete thread",
|
|
1958
|
-
children: /* @__PURE__ */
|
|
2837
|
+
children: /* @__PURE__ */ jsxs(
|
|
1959
2838
|
"svg",
|
|
1960
2839
|
{
|
|
1961
2840
|
width: "14",
|
|
@@ -1967,8 +2846,8 @@ var ThreadList = ({
|
|
|
1967
2846
|
strokeLinecap: "round",
|
|
1968
2847
|
strokeLinejoin: "round",
|
|
1969
2848
|
children: [
|
|
1970
|
-
/* @__PURE__ */
|
|
1971
|
-
/* @__PURE__ */
|
|
2849
|
+
/* @__PURE__ */ jsx("polyline", { points: "3 6 5 6 21 6" }),
|
|
2850
|
+
/* @__PURE__ */ jsx("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
|
|
1972
2851
|
]
|
|
1973
2852
|
}
|
|
1974
2853
|
)
|
|
@@ -1982,7 +2861,7 @@ var ThreadList = ({
|
|
|
1982
2861
|
};
|
|
1983
2862
|
var MENU_ICON_ID = "menu";
|
|
1984
2863
|
var MenuIcon = ({ className = "" }) => {
|
|
1985
|
-
return /* @__PURE__ */
|
|
2864
|
+
return /* @__PURE__ */ jsxs(
|
|
1986
2865
|
"svg",
|
|
1987
2866
|
{
|
|
1988
2867
|
className,
|
|
@@ -1995,16 +2874,16 @@ var MenuIcon = ({ className = "" }) => {
|
|
|
1995
2874
|
strokeLinecap: "round",
|
|
1996
2875
|
strokeLinejoin: "round",
|
|
1997
2876
|
children: [
|
|
1998
|
-
/* @__PURE__ */
|
|
1999
|
-
/* @__PURE__ */
|
|
2000
|
-
/* @__PURE__ */
|
|
2877
|
+
/* @__PURE__ */ jsx("line", { x1: "3", y1: "12", x2: "21", y2: "12" }),
|
|
2878
|
+
/* @__PURE__ */ jsx("line", { x1: "3", y1: "6", x2: "21", y2: "6" }),
|
|
2879
|
+
/* @__PURE__ */ jsx("line", { x1: "3", y1: "18", x2: "21", y2: "18" })
|
|
2001
2880
|
]
|
|
2002
2881
|
}
|
|
2003
2882
|
);
|
|
2004
2883
|
};
|
|
2005
2884
|
var CLOSE_ICON_ID = "close";
|
|
2006
2885
|
var CloseIcon = ({ className = "" }) => {
|
|
2007
|
-
return /* @__PURE__ */
|
|
2886
|
+
return /* @__PURE__ */ jsxs(
|
|
2008
2887
|
"svg",
|
|
2009
2888
|
{
|
|
2010
2889
|
className,
|
|
@@ -2017,8 +2896,8 @@ var CloseIcon = ({ className = "" }) => {
|
|
|
2017
2896
|
strokeLinecap: "round",
|
|
2018
2897
|
strokeLinejoin: "round",
|
|
2019
2898
|
children: [
|
|
2020
|
-
/* @__PURE__ */
|
|
2021
|
-
/* @__PURE__ */
|
|
2899
|
+
/* @__PURE__ */ jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
2900
|
+
/* @__PURE__ */ jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
2022
2901
|
]
|
|
2023
2902
|
}
|
|
2024
2903
|
);
|
|
@@ -2062,6 +2941,11 @@ var applyTheme = (theme, themeName) => {
|
|
|
2062
2941
|
root.style.setProperty("--warning", hslToVar(theme.colors.warning));
|
|
2063
2942
|
root.style.setProperty("--success", hslToVar(theme.colors.success));
|
|
2064
2943
|
root.style.setProperty("--info", hslToVar(theme.colors.info));
|
|
2944
|
+
root.style.setProperty("--chart-1", theme.colors.chart[1]);
|
|
2945
|
+
root.style.setProperty("--chart-2", theme.colors.chart[2]);
|
|
2946
|
+
root.style.setProperty("--chart-3", theme.colors.chart[3]);
|
|
2947
|
+
root.style.setProperty("--chart-4", theme.colors.chart[4]);
|
|
2948
|
+
root.style.setProperty("--chart-5", theme.colors.chart[5]);
|
|
2065
2949
|
root.style.setProperty("--left-menu", hslToVar(theme.colors.mainMenu.DEFAULT));
|
|
2066
2950
|
root.style.setProperty("--left-menu-foreground", hslToVar(theme.colors.mainMenu.foreground));
|
|
2067
2951
|
root.style.setProperty("--left-menu-hover", hslToVar(theme.colors.mainMenu.hover));
|
|
@@ -2086,151 +2970,6 @@ var applyTheme = (theme, themeName) => {
|
|
|
2086
2970
|
}
|
|
2087
2971
|
};
|
|
2088
2972
|
|
|
2089
|
-
|
|
2090
|
-
enumerable: true,
|
|
2091
|
-
get: function () { return uikitContracts.ButtonSize; }
|
|
2092
|
-
});
|
|
2093
|
-
Object.defineProperty(exports, "ButtonVariant", {
|
|
2094
|
-
enumerable: true,
|
|
2095
|
-
get: function () { return uikitContracts.ButtonVariant; }
|
|
2096
|
-
});
|
|
2097
|
-
Object.defineProperty(exports, "IconButtonSize", {
|
|
2098
|
-
enumerable: true,
|
|
2099
|
-
get: function () { return uikitContracts.IconButtonSize; }
|
|
2100
|
-
});
|
|
2101
|
-
exports.Accordion = Accordion;
|
|
2102
|
-
exports.AccordionContent = AccordionContent;
|
|
2103
|
-
exports.AccordionItem = AccordionItem;
|
|
2104
|
-
exports.AccordionTrigger = AccordionTrigger;
|
|
2105
|
-
exports.Avatar = Avatar;
|
|
2106
|
-
exports.AvatarFallback = AvatarFallback;
|
|
2107
|
-
exports.AvatarImage = AvatarImage;
|
|
2108
|
-
exports.Badge = Badge;
|
|
2109
|
-
exports.Button = Button;
|
|
2110
|
-
exports.CLOSE_ICON_ID = CLOSE_ICON_ID;
|
|
2111
|
-
exports.Card = Card;
|
|
2112
|
-
exports.CardContent = CardContent;
|
|
2113
|
-
exports.CardDescription = CardDescription;
|
|
2114
|
-
exports.CardFooter = CardFooter;
|
|
2115
|
-
exports.CardHeader = CardHeader;
|
|
2116
|
-
exports.CardTitle = CardTitle;
|
|
2117
|
-
exports.Carousel = Carousel;
|
|
2118
|
-
exports.CarouselContent = CarouselContent;
|
|
2119
|
-
exports.CarouselItem = CarouselItem;
|
|
2120
|
-
exports.CarouselNext = CarouselNext;
|
|
2121
|
-
exports.CarouselPrevious = CarouselPrevious;
|
|
2122
|
-
exports.ChatInput = ChatInput;
|
|
2123
|
-
exports.CloseIcon = CloseIcon;
|
|
2124
|
-
exports.Collapsible = Collapsible;
|
|
2125
|
-
exports.CollapsibleContent = CollapsibleContent2;
|
|
2126
|
-
exports.CollapsibleTrigger = CollapsibleTrigger2;
|
|
2127
|
-
exports.ContextMenu = ContextMenu;
|
|
2128
|
-
exports.ContextMenuCheckboxItem = ContextMenuCheckboxItem;
|
|
2129
|
-
exports.ContextMenuContent = ContextMenuContent;
|
|
2130
|
-
exports.ContextMenuGroup = ContextMenuGroup;
|
|
2131
|
-
exports.ContextMenuItem = ContextMenuItem;
|
|
2132
|
-
exports.ContextMenuLabel = ContextMenuLabel;
|
|
2133
|
-
exports.ContextMenuPortal = ContextMenuPortal;
|
|
2134
|
-
exports.ContextMenuRadioGroup = ContextMenuRadioGroup;
|
|
2135
|
-
exports.ContextMenuRadioItem = ContextMenuRadioItem;
|
|
2136
|
-
exports.ContextMenuSeparator = ContextMenuSeparator;
|
|
2137
|
-
exports.ContextMenuShortcut = ContextMenuShortcut;
|
|
2138
|
-
exports.ContextMenuSub = ContextMenuSub;
|
|
2139
|
-
exports.ContextMenuSubContent = ContextMenuSubContent;
|
|
2140
|
-
exports.ContextMenuSubTrigger = ContextMenuSubTrigger;
|
|
2141
|
-
exports.ContextMenuTrigger = ContextMenuTrigger;
|
|
2142
|
-
exports.Dialog = Dialog;
|
|
2143
|
-
exports.DialogClose = DialogClose;
|
|
2144
|
-
exports.DialogContent = DialogContent;
|
|
2145
|
-
exports.DialogDescription = DialogDescription;
|
|
2146
|
-
exports.DialogFooter = DialogFooter;
|
|
2147
|
-
exports.DialogHeader = DialogHeader;
|
|
2148
|
-
exports.DialogOverlay = DialogOverlay;
|
|
2149
|
-
exports.DialogPortal = DialogPortal;
|
|
2150
|
-
exports.DialogTitle = DialogTitle;
|
|
2151
|
-
exports.DialogTrigger = DialogTrigger;
|
|
2152
|
-
exports.DropdownButton = DropdownButton;
|
|
2153
|
-
exports.DropdownMenu = DropdownMenu;
|
|
2154
|
-
exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
|
|
2155
|
-
exports.DropdownMenuContent = DropdownMenuContent;
|
|
2156
|
-
exports.DropdownMenuGroup = DropdownMenuGroup;
|
|
2157
|
-
exports.DropdownMenuItem = DropdownMenuItem;
|
|
2158
|
-
exports.DropdownMenuLabel = DropdownMenuLabel;
|
|
2159
|
-
exports.DropdownMenuPortal = DropdownMenuPortal;
|
|
2160
|
-
exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
|
|
2161
|
-
exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
|
|
2162
|
-
exports.DropdownMenuSeparator = DropdownMenuSeparator;
|
|
2163
|
-
exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
2164
|
-
exports.DropdownMenuSub = DropdownMenuSub;
|
|
2165
|
-
exports.DropdownMenuSubContent = DropdownMenuSubContent;
|
|
2166
|
-
exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
|
|
2167
|
-
exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
2168
|
-
exports.Header = Header;
|
|
2169
|
-
exports.HoverCard = HoverCard;
|
|
2170
|
-
exports.HoverCardContent = HoverCardContent;
|
|
2171
|
-
exports.HoverCardTrigger = HoverCardTrigger;
|
|
2172
|
-
exports.IconButton = IconButton;
|
|
2173
|
-
exports.Input = Input;
|
|
2174
|
-
exports.MENU_ICON_ID = MENU_ICON_ID;
|
|
2175
|
-
exports.MenuIcon = MenuIcon;
|
|
2176
|
-
exports.MessageBubble = MessageBubble;
|
|
2177
|
-
exports.MessageType = MessageType;
|
|
2178
|
-
exports.NavigationMenu = NavigationMenu;
|
|
2179
|
-
exports.NavigationMenuContent = NavigationMenuContent;
|
|
2180
|
-
exports.NavigationMenuIndicator = NavigationMenuIndicator;
|
|
2181
|
-
exports.NavigationMenuItem = NavigationMenuItem;
|
|
2182
|
-
exports.NavigationMenuLink = NavigationMenuLink;
|
|
2183
|
-
exports.NavigationMenuList = NavigationMenuList;
|
|
2184
|
-
exports.NavigationMenuTrigger = NavigationMenuTrigger;
|
|
2185
|
-
exports.NavigationMenuViewport = NavigationMenuViewport;
|
|
2186
|
-
exports.Popover = Popover;
|
|
2187
|
-
exports.PopoverAnchor = PopoverAnchor;
|
|
2188
|
-
exports.PopoverContent = PopoverContent;
|
|
2189
|
-
exports.PopoverTrigger = PopoverTrigger;
|
|
2190
|
-
exports.Progress = Progress;
|
|
2191
|
-
exports.Select = Select;
|
|
2192
|
-
exports.SelectContent = SelectContent;
|
|
2193
|
-
exports.SelectGroup = SelectGroup;
|
|
2194
|
-
exports.SelectItem = SelectItem;
|
|
2195
|
-
exports.SelectLabel = SelectLabel;
|
|
2196
|
-
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
2197
|
-
exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
2198
|
-
exports.SelectSeparator = SelectSeparator;
|
|
2199
|
-
exports.SelectTrigger = SelectTrigger;
|
|
2200
|
-
exports.SelectValue = SelectValue;
|
|
2201
|
-
exports.Sheet = Sheet;
|
|
2202
|
-
exports.SheetClose = SheetClose;
|
|
2203
|
-
exports.SheetContent = SheetContent;
|
|
2204
|
-
exports.SheetDescription = SheetDescription;
|
|
2205
|
-
exports.SheetFooter = SheetFooter;
|
|
2206
|
-
exports.SheetHeader = SheetHeader;
|
|
2207
|
-
exports.SheetOverlay = SheetOverlay;
|
|
2208
|
-
exports.SheetPortal = SheetPortal;
|
|
2209
|
-
exports.SheetTitle = SheetTitle;
|
|
2210
|
-
exports.SheetTrigger = SheetTrigger;
|
|
2211
|
-
exports.Sidebar = Sidebar;
|
|
2212
|
-
exports.SidebarContent = SidebarContent;
|
|
2213
|
-
exports.SidebarHeader = SidebarHeader;
|
|
2214
|
-
exports.SidebarMenu = SidebarMenu;
|
|
2215
|
-
exports.SidebarMenuButton = SidebarMenuButton;
|
|
2216
|
-
exports.SidebarMenuIcon = SidebarMenuIcon;
|
|
2217
|
-
exports.SidebarMenuItem = SidebarMenuItem;
|
|
2218
|
-
exports.SidebarMenuLabel = SidebarMenuLabel;
|
|
2219
|
-
exports.Skeleton = Skeleton;
|
|
2220
|
-
exports.Slider = Slider;
|
|
2221
|
-
exports.SliderRange = SliderRange;
|
|
2222
|
-
exports.SliderThumb = SliderThumb;
|
|
2223
|
-
exports.SliderTrack = SliderTrack;
|
|
2224
|
-
exports.Spinner = Spinner;
|
|
2225
|
-
exports.Switch = Switch;
|
|
2226
|
-
exports.Textarea = Textarea;
|
|
2227
|
-
exports.ThreadList = ThreadList;
|
|
2228
|
-
exports.Tooltip = Tooltip;
|
|
2229
|
-
exports.TooltipContent = TooltipContent;
|
|
2230
|
-
exports.TooltipProvider = TooltipProvider;
|
|
2231
|
-
exports.TooltipTrigger = TooltipTrigger;
|
|
2232
|
-
exports.UserInfo = UserInfo;
|
|
2233
|
-
exports.applyTheme = applyTheme;
|
|
2234
|
-
exports.badgeVariants = badgeVariants;
|
|
2973
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AspectRatio, Avatar, AvatarFallback, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, CLOSE_ICON_ID, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegendContent, ChartTooltipContent, ChatInput, Checkbox, CloseIcon, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Header, HoverCard, HoverCardContent, HoverCardTrigger, IconButton, Input, MENU_ICON_ID, MenuIcon, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MessageBubble, MessageType, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, ResizableHandle, ResizablePanel, ResizablePanelGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuIcon, SidebarMenuItem, SidebarMenuLabel, Skeleton, Slider, SliderRange, SliderThumb, SliderTrack, Spinner, Switch, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThreadList, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserInfo, applyTheme, badgeVariants };
|
|
2235
2974
|
//# sourceMappingURL=index.js.map
|
|
2236
2975
|
//# sourceMappingURL=index.js.map
|