@ai-matrx/design-system 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +109 -0
- package/README.md +8 -4
- package/dist/index.cjs +1110 -413
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +379 -3
- package/dist/index.d.ts +379 -3
- package/dist/index.js +1110 -413
- package/dist/index.js.map +1 -1
- package/dist/styles.css +9 -0
- package/package.json +9 -1
package/dist/index.js
CHANGED
|
@@ -39,11 +39,187 @@ function Badge({ className, variant, ...props }) {
|
|
|
39
39
|
|
|
40
40
|
// src/bottom-sheet.tsx
|
|
41
41
|
import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
|
|
42
|
+
import { Drawer as DrawerPrimitive2 } from "vaul";
|
|
43
|
+
|
|
44
|
+
// src/drawer.tsx
|
|
45
|
+
import { treeContainsComponent } from "@ai-matrx/kit/react-tree";
|
|
42
46
|
import * as React2 from "react";
|
|
43
47
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
44
48
|
|
|
49
|
+
// src/radix-dialog-modal-context.tsx
|
|
50
|
+
import * as React from "react";
|
|
51
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
52
|
+
var RadixDialogModalContext = React.createContext(true);
|
|
53
|
+
function RadixDialogModalProvider({
|
|
54
|
+
children,
|
|
55
|
+
modal
|
|
56
|
+
}) {
|
|
57
|
+
return /* @__PURE__ */ jsx2(RadixDialogModalContext.Provider, { value: modal, children });
|
|
58
|
+
}
|
|
59
|
+
function useRadixDialogModal() {
|
|
60
|
+
return React.useContext(RadixDialogModalContext);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// src/drawer.tsx
|
|
64
|
+
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
65
|
+
var DrawerDirectionContext = React2.createContext("bottom");
|
|
66
|
+
var useDrawerDirection = () => React2.useContext(DrawerDirectionContext);
|
|
67
|
+
var Drawer = ({
|
|
68
|
+
children,
|
|
69
|
+
shouldScaleBackground = true,
|
|
70
|
+
...props
|
|
71
|
+
}) => {
|
|
72
|
+
const direction = props.direction ?? "bottom";
|
|
73
|
+
return /* @__PURE__ */ jsx3(RadixDialogModalProvider, { modal: true, children: /* @__PURE__ */ jsx3(DrawerDirectionContext.Provider, { value: direction, children: /* @__PURE__ */ jsx3(
|
|
74
|
+
DrawerPrimitive.Root,
|
|
75
|
+
{
|
|
76
|
+
modal: true,
|
|
77
|
+
shouldScaleBackground,
|
|
78
|
+
...props,
|
|
79
|
+
direction,
|
|
80
|
+
children
|
|
81
|
+
}
|
|
82
|
+
) }) });
|
|
83
|
+
};
|
|
84
|
+
Drawer.displayName = "Drawer";
|
|
85
|
+
var DrawerTrigger = DrawerPrimitive.Trigger;
|
|
86
|
+
var DrawerPortal = DrawerPrimitive.Portal;
|
|
87
|
+
var DrawerClose = DrawerPrimitive.Close;
|
|
88
|
+
var DrawerOverlay = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
89
|
+
DrawerPrimitive.Overlay,
|
|
90
|
+
{
|
|
91
|
+
ref,
|
|
92
|
+
"data-slot": "drawer-overlay",
|
|
93
|
+
className: cn(
|
|
94
|
+
"fixed inset-0 z-[10000] bg-[var(--matrx-overlay-scrim)]",
|
|
95
|
+
className
|
|
96
|
+
),
|
|
97
|
+
...props
|
|
98
|
+
}
|
|
99
|
+
));
|
|
100
|
+
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
|
101
|
+
var DrawerDescription = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
102
|
+
DrawerPrimitive.Description,
|
|
103
|
+
{
|
|
104
|
+
ref,
|
|
105
|
+
"data-slot": "drawer-description",
|
|
106
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
107
|
+
...props
|
|
108
|
+
}
|
|
109
|
+
));
|
|
110
|
+
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
|
111
|
+
var DrawerContentPrimitive = React2.forwardRef((props, ref) => /* @__PURE__ */ jsx3(DrawerPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
|
|
112
|
+
DrawerContentPrimitive.displayName = "DrawerContentPrimitive";
|
|
113
|
+
var DIRECTION_CLASSES = {
|
|
114
|
+
bottom: "inset-x-0 bottom-0 mt-24 flex-col rounded-t-[10px] border-t pb-safe",
|
|
115
|
+
top: "inset-x-0 top-0 mb-24 flex-col rounded-b-[10px] border-b pt-safe",
|
|
116
|
+
left: "inset-y-0 left-0 mr-24 flex-row rounded-r-[10px] border-r",
|
|
117
|
+
right: "inset-y-0 right-0 ml-24 flex-row rounded-l-[10px] border-l"
|
|
118
|
+
};
|
|
119
|
+
var SIZE_CLASSES = {
|
|
120
|
+
bottom: { adaptive: "h-auto max-h-[90dvh]", full: "h-[92dvh]" },
|
|
121
|
+
top: { adaptive: "h-auto max-h-[90dvh]", full: "h-[92dvh]" },
|
|
122
|
+
left: { adaptive: "w-auto max-w-[92vw]", full: "h-dvh w-[92vw] max-w-sm" },
|
|
123
|
+
right: { adaptive: "w-auto max-w-[92vw]", full: "h-dvh w-[92vw] max-w-sm" }
|
|
124
|
+
};
|
|
125
|
+
var DrawerContent = React2.forwardRef(({ className, children, size = "adaptive", showHandle, ...props }, ref) => {
|
|
126
|
+
const direction = useDrawerDirection();
|
|
127
|
+
const hasDescription = treeContainsComponent(children, DrawerDescription) || treeContainsComponent(children, DrawerPrimitive.Description);
|
|
128
|
+
const withHandle = showHandle ?? (direction === "bottom" || direction === "top");
|
|
129
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
|
|
130
|
+
/* @__PURE__ */ jsx3(DrawerOverlay, {}),
|
|
131
|
+
/* @__PURE__ */ jsxs(
|
|
132
|
+
DrawerContentPrimitive,
|
|
133
|
+
{
|
|
134
|
+
ref,
|
|
135
|
+
"data-slot": "drawer-content",
|
|
136
|
+
"data-direction": direction,
|
|
137
|
+
className: cn(
|
|
138
|
+
"fixed z-[10000] flex min-w-0 border bg-background",
|
|
139
|
+
DIRECTION_CLASSES[direction],
|
|
140
|
+
SIZE_CLASSES[direction][size],
|
|
141
|
+
className
|
|
142
|
+
),
|
|
143
|
+
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
144
|
+
...props,
|
|
145
|
+
children: [
|
|
146
|
+
withHandle ? (
|
|
147
|
+
// Rule 3: the pill is 4px; the TARGET is 44px.
|
|
148
|
+
/* @__PURE__ */ jsx3(
|
|
149
|
+
"div",
|
|
150
|
+
{
|
|
151
|
+
"aria-hidden": true,
|
|
152
|
+
"data-slot": "drawer-handle",
|
|
153
|
+
className: cn(
|
|
154
|
+
"flex min-h-11 w-full shrink-0 cursor-grab items-center justify-center active:cursor-grabbing",
|
|
155
|
+
direction === "top" && "order-last"
|
|
156
|
+
),
|
|
157
|
+
children: /* @__PURE__ */ jsx3("div", { className: "h-1 w-[100px] rounded-full bg-muted" })
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
) : null,
|
|
161
|
+
children
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
)
|
|
165
|
+
] });
|
|
166
|
+
});
|
|
167
|
+
DrawerContent.displayName = "DrawerContent";
|
|
168
|
+
var DrawerHeader = ({
|
|
169
|
+
className,
|
|
170
|
+
...props
|
|
171
|
+
}) => /* @__PURE__ */ jsx3(
|
|
172
|
+
"div",
|
|
173
|
+
{
|
|
174
|
+
"data-slot": "drawer-header",
|
|
175
|
+
className: cn(
|
|
176
|
+
"grid shrink-0 gap-1.5 p-4 text-center sm:text-left",
|
|
177
|
+
className
|
|
178
|
+
),
|
|
179
|
+
...props
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
DrawerHeader.displayName = "DrawerHeader";
|
|
183
|
+
var DrawerBody = ({
|
|
184
|
+
className,
|
|
185
|
+
...props
|
|
186
|
+
}) => /* @__PURE__ */ jsx3(
|
|
187
|
+
"div",
|
|
188
|
+
{
|
|
189
|
+
"data-slot": "drawer-body",
|
|
190
|
+
className: cn("min-h-0 flex-1 overflow-y-auto overscroll-contain px-4", className),
|
|
191
|
+
...props
|
|
192
|
+
}
|
|
193
|
+
);
|
|
194
|
+
DrawerBody.displayName = "DrawerBody";
|
|
195
|
+
var DrawerFooter = ({
|
|
196
|
+
className,
|
|
197
|
+
...props
|
|
198
|
+
}) => /* @__PURE__ */ jsx3(
|
|
199
|
+
"div",
|
|
200
|
+
{
|
|
201
|
+
"data-slot": "drawer-footer",
|
|
202
|
+
className: cn("mt-auto flex shrink-0 flex-col gap-2 p-4 pb-safe", className),
|
|
203
|
+
...props
|
|
204
|
+
}
|
|
205
|
+
);
|
|
206
|
+
DrawerFooter.displayName = "DrawerFooter";
|
|
207
|
+
var DrawerTitle = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx3(
|
|
208
|
+
DrawerPrimitive.Title,
|
|
209
|
+
{
|
|
210
|
+
ref,
|
|
211
|
+
"data-slot": "drawer-title",
|
|
212
|
+
className: cn(
|
|
213
|
+
"text-lg font-semibold leading-none tracking-tight",
|
|
214
|
+
className
|
|
215
|
+
),
|
|
216
|
+
...props
|
|
217
|
+
}
|
|
218
|
+
));
|
|
219
|
+
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
|
220
|
+
|
|
45
221
|
// src/icons.tsx
|
|
46
|
-
import { jsx as
|
|
222
|
+
import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
47
223
|
function lucideProps(props) {
|
|
48
224
|
return {
|
|
49
225
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -58,53 +234,53 @@ function lucideProps(props) {
|
|
|
58
234
|
};
|
|
59
235
|
}
|
|
60
236
|
function Loader2Icon(props) {
|
|
61
|
-
return /* @__PURE__ */
|
|
237
|
+
return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
|
|
62
238
|
}
|
|
63
239
|
function ChevronLeftIcon(props) {
|
|
64
|
-
return /* @__PURE__ */
|
|
240
|
+
return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "m15 18-6-6 6-6" }) });
|
|
65
241
|
}
|
|
66
242
|
function ChevronRightIcon(props) {
|
|
67
|
-
return /* @__PURE__ */
|
|
243
|
+
return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "m9 18 6-6-6-6" }) });
|
|
68
244
|
}
|
|
69
245
|
function MoreHorizontalIcon(props) {
|
|
70
|
-
return /* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */
|
|
72
|
-
/* @__PURE__ */
|
|
73
|
-
/* @__PURE__ */
|
|
246
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
247
|
+
/* @__PURE__ */ jsx4("circle", { cx: "12", cy: "12", r: "1" }),
|
|
248
|
+
/* @__PURE__ */ jsx4("circle", { cx: "19", cy: "12", r: "1" }),
|
|
249
|
+
/* @__PURE__ */ jsx4("circle", { cx: "5", cy: "12", r: "1" })
|
|
74
250
|
] });
|
|
75
251
|
}
|
|
76
252
|
function LucideCheckIcon(props) {
|
|
77
|
-
return /* @__PURE__ */
|
|
253
|
+
return /* @__PURE__ */ jsx4("svg", { ...lucideProps(props), children: /* @__PURE__ */ jsx4("path", { d: "M20 6 9 17l-5-5" }) });
|
|
78
254
|
}
|
|
79
255
|
function ChevronsUpDownIcon(props) {
|
|
80
|
-
return /* @__PURE__ */
|
|
81
|
-
/* @__PURE__ */
|
|
82
|
-
/* @__PURE__ */
|
|
256
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
257
|
+
/* @__PURE__ */ jsx4("path", { d: "m7 15 5 5 5-5" }),
|
|
258
|
+
/* @__PURE__ */ jsx4("path", { d: "m7 9 5-5 5 5" })
|
|
83
259
|
] });
|
|
84
260
|
}
|
|
85
261
|
function ExternalLinkIcon(props) {
|
|
86
|
-
return /* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
88
|
-
/* @__PURE__ */
|
|
89
|
-
/* @__PURE__ */
|
|
262
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
263
|
+
/* @__PURE__ */ jsx4("path", { d: "M15 3h6v6" }),
|
|
264
|
+
/* @__PURE__ */ jsx4("path", { d: "M10 14 21 3" }),
|
|
265
|
+
/* @__PURE__ */ jsx4("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" })
|
|
90
266
|
] });
|
|
91
267
|
}
|
|
92
268
|
function LockIcon(props) {
|
|
93
|
-
return /* @__PURE__ */
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
/* @__PURE__ */
|
|
269
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
270
|
+
/* @__PURE__ */ jsx4("rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" }),
|
|
271
|
+
/* @__PURE__ */ jsx4("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
|
|
96
272
|
] });
|
|
97
273
|
}
|
|
98
274
|
function PlusIcon(props) {
|
|
99
|
-
return /* @__PURE__ */
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
275
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
276
|
+
/* @__PURE__ */ jsx4("path", { d: "M5 12h14" }),
|
|
277
|
+
/* @__PURE__ */ jsx4("path", { d: "M12 5v14" })
|
|
102
278
|
] });
|
|
103
279
|
}
|
|
104
280
|
function XIcon(props) {
|
|
105
|
-
return /* @__PURE__ */
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
-
/* @__PURE__ */
|
|
281
|
+
return /* @__PURE__ */ jsxs2("svg", { ...lucideProps(props), children: [
|
|
282
|
+
/* @__PURE__ */ jsx4("path", { d: "M18 6 6 18" }),
|
|
283
|
+
/* @__PURE__ */ jsx4("path", { d: "m6 6 12 12" })
|
|
108
284
|
] });
|
|
109
285
|
}
|
|
110
286
|
function radixProps(props) {
|
|
@@ -119,7 +295,7 @@ function radixProps(props) {
|
|
|
119
295
|
};
|
|
120
296
|
}
|
|
121
297
|
function MagnifyingGlassIcon(props) {
|
|
122
|
-
return /* @__PURE__ */
|
|
298
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
123
299
|
"path",
|
|
124
300
|
{
|
|
125
301
|
d: "M10 6.5C10 8.433 8.433 10 6.5 10C4.567 10 3 8.433 3 6.5C3 4.567 4.567 3 6.5 3C8.433 3 10 4.567 10 6.5ZM9.30884 10.0159C8.53901 10.6318 7.56251 11 6.5 11C4.01472 11 2 8.98528 2 6.5C2 4.01472 4.01472 2 6.5 2C8.98528 2 11 4.01472 11 6.5C11 7.56251 10.6318 8.53901 10.0159 9.30884L12.8536 12.1464C13.0488 12.3417 13.0488 12.6583 12.8536 12.8536C12.6583 13.0488 12.3417 13.0488 12.1464 12.8536L9.30884 10.0159Z",
|
|
@@ -130,7 +306,7 @@ function MagnifyingGlassIcon(props) {
|
|
|
130
306
|
) });
|
|
131
307
|
}
|
|
132
308
|
function CheckIcon(props) {
|
|
133
|
-
return /* @__PURE__ */
|
|
309
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
134
310
|
"path",
|
|
135
311
|
{
|
|
136
312
|
d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",
|
|
@@ -141,7 +317,7 @@ function CheckIcon(props) {
|
|
|
141
317
|
) });
|
|
142
318
|
}
|
|
143
319
|
function DividerHorizontalIcon(props) {
|
|
144
|
-
return /* @__PURE__ */
|
|
320
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
145
321
|
"path",
|
|
146
322
|
{
|
|
147
323
|
d: "M2 7.5C2 7.22386 2.22386 7 2.5 7H12.5C12.7761 7 13 7.22386 13 7.5C13 7.77614 12.7761 8 12.5 8H2.5C2.22386 8 2 7.77614 2 7.5Z",
|
|
@@ -152,7 +328,7 @@ function DividerHorizontalIcon(props) {
|
|
|
152
328
|
) });
|
|
153
329
|
}
|
|
154
330
|
function DotFilledIcon(props) {
|
|
155
|
-
return /* @__PURE__ */
|
|
331
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
156
332
|
"path",
|
|
157
333
|
{
|
|
158
334
|
d: "M9.875 7.5C9.875 8.81168 8.81168 9.875 7.5 9.875C6.18832 9.875 5.125 8.81168 5.125 7.5C5.125 6.18832 6.18832 5.125 7.5 5.125C8.81168 5.125 9.875 6.18832 9.875 7.5Z",
|
|
@@ -161,7 +337,7 @@ function DotFilledIcon(props) {
|
|
|
161
337
|
) });
|
|
162
338
|
}
|
|
163
339
|
function RadixChevronRightIcon(props) {
|
|
164
|
-
return /* @__PURE__ */
|
|
340
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
165
341
|
"path",
|
|
166
342
|
{
|
|
167
343
|
d: "M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z",
|
|
@@ -172,7 +348,7 @@ function RadixChevronRightIcon(props) {
|
|
|
172
348
|
) });
|
|
173
349
|
}
|
|
174
350
|
function RadixChevronDownIcon(props) {
|
|
175
|
-
return /* @__PURE__ */
|
|
351
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
176
352
|
"path",
|
|
177
353
|
{
|
|
178
354
|
d: "M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z",
|
|
@@ -183,7 +359,7 @@ function RadixChevronDownIcon(props) {
|
|
|
183
359
|
) });
|
|
184
360
|
}
|
|
185
361
|
function RadixChevronUpIcon(props) {
|
|
186
|
-
return /* @__PURE__ */
|
|
362
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
187
363
|
"path",
|
|
188
364
|
{
|
|
189
365
|
d: "M3.13523 8.84197C3.3241 9.04343 3.64052 9.05363 3.84197 8.86477L7.5 5.43536L11.158 8.86477C11.3595 9.05363 11.6759 9.04343 11.8648 8.84197C12.0536 8.64051 12.0434 8.32409 11.842 8.13523L7.84197 4.38523C7.64964 4.20492 7.35036 4.20492 7.15803 4.38523L3.15803 8.13523C2.95657 8.32409 2.94637 8.64051 3.13523 8.84197Z",
|
|
@@ -194,7 +370,7 @@ function RadixChevronUpIcon(props) {
|
|
|
194
370
|
) });
|
|
195
371
|
}
|
|
196
372
|
function Cross2Icon(props) {
|
|
197
|
-
return /* @__PURE__ */
|
|
373
|
+
return /* @__PURE__ */ jsx4(
|
|
198
374
|
"svg",
|
|
199
375
|
{
|
|
200
376
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -202,7 +378,7 @@ function Cross2Icon(props) {
|
|
|
202
378
|
fill: "none",
|
|
203
379
|
"aria-hidden": true,
|
|
204
380
|
...props,
|
|
205
|
-
children: /* @__PURE__ */
|
|
381
|
+
children: /* @__PURE__ */ jsx4(
|
|
206
382
|
"path",
|
|
207
383
|
{
|
|
208
384
|
d: "M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",
|
|
@@ -214,39 +390,20 @@ function Cross2Icon(props) {
|
|
|
214
390
|
}
|
|
215
391
|
);
|
|
216
392
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
function useRadixDialogModal() {
|
|
229
|
-
return React.useContext(RadixDialogModalContext);
|
|
393
|
+
function DragHandleDots2Icon(props) {
|
|
394
|
+
return /* @__PURE__ */ jsx4("svg", { ...radixProps(props), children: /* @__PURE__ */ jsx4(
|
|
395
|
+
"path",
|
|
396
|
+
{
|
|
397
|
+
d: "M4.5 2.5C5.05228 2.5 5.5 2.05228 5.5 1.5C5.5 0.947715 5.05228 0.5 4.5 0.5C3.94772 0.5 3.5 0.947715 3.5 1.5C3.5 2.05228 3.94772 2.5 4.5 2.5ZM4.5 6.5C5.05228 6.5 5.5 6.05229 5.5 5.5C5.5 4.94771 5.05228 4.5 4.5 4.5C3.94772 4.5 3.5 4.94771 3.5 5.5C3.5 6.05229 3.94772 6.5 4.5 6.5ZM5.5 9.5C5.5 10.0523 5.05228 10.5 4.5 10.5C3.94772 10.5 3.5 10.0523 3.5 9.5C3.5 8.94771 3.94772 8.5 4.5 8.5C5.05228 8.5 5.5 8.94771 5.5 9.5ZM4.5 14.5C5.05228 14.5 5.5 14.0523 5.5 13.5C5.5 12.9477 5.05228 12.5 4.5 12.5C3.94772 12.5 3.5 12.9477 3.5 13.5C3.5 14.0523 3.94772 14.5 4.5 14.5ZM11.5 1.5C11.5 2.05228 11.0523 2.5 10.5 2.5C9.94771 2.5 9.5 2.05228 9.5 1.5C9.5 0.947715 9.94771 0.5 10.5 0.5C11.0523 0.5 11.5 0.947715 11.5 1.5ZM10.5 6.5C11.0523 6.5 11.5 6.05229 11.5 5.5C11.5 4.94771 11.0523 4.5 10.5 4.5C9.94771 4.5 9.5 4.94771 9.5 5.5C9.5 6.05229 9.94771 6.5 10.5 6.5ZM11.5 9.5C11.5 10.0523 11.0523 10.5 10.5 10.5C9.94771 10.5 9.5 10.0523 9.5 9.5C9.5 8.94771 9.94771 8.5 10.5 8.5C11.0523 8.5 11.5 8.94771 11.5 9.5ZM10.5 14.5C11.0523 14.5 11.5 14.0523 11.5 13.5C11.5 12.9477 11.0523 12.5 10.5 12.5C9.94771 12.5 9.5 12.9477 9.5 13.5C9.5 14.0523 9.94771 14.5 10.5 14.5Z",
|
|
398
|
+
fill: "currentColor",
|
|
399
|
+
fillRule: "evenodd",
|
|
400
|
+
clipRule: "evenodd"
|
|
401
|
+
}
|
|
402
|
+
) });
|
|
230
403
|
}
|
|
231
404
|
|
|
232
405
|
// src/bottom-sheet.tsx
|
|
233
|
-
import { jsx as
|
|
234
|
-
var DrawerRoot = ({
|
|
235
|
-
children,
|
|
236
|
-
shouldScaleBackground = true,
|
|
237
|
-
...props
|
|
238
|
-
}) => /* @__PURE__ */ jsx4(RadixDialogModalProvider, { modal: true, children: /* @__PURE__ */ jsx4(
|
|
239
|
-
DrawerPrimitive.Root,
|
|
240
|
-
{
|
|
241
|
-
modal: true,
|
|
242
|
-
shouldScaleBackground,
|
|
243
|
-
...props,
|
|
244
|
-
children
|
|
245
|
-
}
|
|
246
|
-
) });
|
|
247
|
-
DrawerRoot.displayName = "DrawerRoot";
|
|
248
|
-
var DrawerContentPrimitive = React2.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx4(DrawerPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
|
|
249
|
-
DrawerContentPrimitive.displayName = "DrawerContentPrimitive";
|
|
406
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
250
407
|
function BottomSheet({
|
|
251
408
|
open,
|
|
252
409
|
onOpenChange,
|
|
@@ -256,15 +413,15 @@ function BottomSheet({
|
|
|
256
413
|
contentClassName,
|
|
257
414
|
children
|
|
258
415
|
}) {
|
|
259
|
-
return /* @__PURE__ */
|
|
260
|
-
/* @__PURE__ */
|
|
261
|
-
|
|
416
|
+
return /* @__PURE__ */ jsx5(Drawer, { open, onOpenChange, children: /* @__PURE__ */ jsxs3(DrawerPrimitive2.Portal, { children: [
|
|
417
|
+
/* @__PURE__ */ jsx5(
|
|
418
|
+
DrawerPrimitive2.Overlay,
|
|
262
419
|
{
|
|
263
420
|
className: cn("fixed inset-0 z-50 bg-[var(--matrx-overlay-scrim)]", "fixed inset-0 z-50"),
|
|
264
421
|
style: { background: "var(--matrx-overlay-scrim-drawer)" }
|
|
265
422
|
}
|
|
266
423
|
),
|
|
267
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ jsxs3(
|
|
268
425
|
DrawerContentPrimitive,
|
|
269
426
|
{
|
|
270
427
|
className: cn(
|
|
@@ -281,11 +438,11 @@ function BottomSheet({
|
|
|
281
438
|
borderBottom: "none"
|
|
282
439
|
} : void 0,
|
|
283
440
|
children: [
|
|
284
|
-
/* @__PURE__ */
|
|
285
|
-
/* @__PURE__ */
|
|
286
|
-
/* @__PURE__ */
|
|
441
|
+
/* @__PURE__ */ jsxs3(VisuallyHidden, { children: [
|
|
442
|
+
/* @__PURE__ */ jsx5(DrawerPrimitive2.Title, { children: title }),
|
|
443
|
+
/* @__PURE__ */ jsx5(DrawerPrimitive2.Description, { children: "Bottom sheet panel." })
|
|
287
444
|
] }),
|
|
288
|
-
/* @__PURE__ */
|
|
445
|
+
/* @__PURE__ */ jsx5("div", { className: "mx-auto mt-3 mb-1 h-1.5 w-10 rounded-full bg-muted-foreground/30 flex-shrink-0" }),
|
|
289
446
|
children
|
|
290
447
|
]
|
|
291
448
|
}
|
|
@@ -298,8 +455,8 @@ function BottomSheetHeader({
|
|
|
298
455
|
onBack,
|
|
299
456
|
trailing
|
|
300
457
|
}) {
|
|
301
|
-
return /* @__PURE__ */
|
|
302
|
-
/* @__PURE__ */
|
|
458
|
+
return /* @__PURE__ */ jsxs3("div", { className: "flex items-center px-2 pt-1 pb-2 flex-shrink-0 min-h-[44px]", children: [
|
|
459
|
+
/* @__PURE__ */ jsx5("div", { className: "min-w-[44px] flex items-center justify-start", children: /* @__PURE__ */ jsx5(
|
|
303
460
|
"button",
|
|
304
461
|
{
|
|
305
462
|
onClick: onBack,
|
|
@@ -309,15 +466,15 @@ function BottomSheetHeader({
|
|
|
309
466
|
),
|
|
310
467
|
"aria-hidden": !showBack,
|
|
311
468
|
tabIndex: showBack ? 0 : -1,
|
|
312
|
-
children: /* @__PURE__ */
|
|
469
|
+
children: /* @__PURE__ */ jsx5(ChevronLeftIcon, { className: "h-4 w-4 text-foreground" })
|
|
313
470
|
}
|
|
314
471
|
) }),
|
|
315
|
-
/* @__PURE__ */
|
|
316
|
-
/* @__PURE__ */
|
|
472
|
+
/* @__PURE__ */ jsx5("span", { className: "text-[17px] font-semibold flex-1 text-center truncate", children: title }),
|
|
473
|
+
/* @__PURE__ */ jsx5("div", { className: "min-w-[44px] flex items-center justify-end", children: trailing })
|
|
317
474
|
] });
|
|
318
475
|
}
|
|
319
476
|
function BottomSheetBody({ children, className }) {
|
|
320
|
-
return /* @__PURE__ */
|
|
477
|
+
return /* @__PURE__ */ jsx5(
|
|
321
478
|
"div",
|
|
322
479
|
{
|
|
323
480
|
className: cn(
|
|
@@ -334,7 +491,7 @@ function BottomSheetFooter({
|
|
|
334
491
|
children,
|
|
335
492
|
className
|
|
336
493
|
}) {
|
|
337
|
-
return /* @__PURE__ */
|
|
494
|
+
return /* @__PURE__ */ jsx5(
|
|
338
495
|
"div",
|
|
339
496
|
{
|
|
340
497
|
className: cn(
|
|
@@ -346,12 +503,73 @@ function BottomSheetFooter({
|
|
|
346
503
|
);
|
|
347
504
|
}
|
|
348
505
|
|
|
349
|
-
// src/
|
|
350
|
-
import { Slot } from "@radix-ui/react-slot";
|
|
506
|
+
// src/alert.tsx
|
|
351
507
|
import { cva as cva2 } from "class-variance-authority";
|
|
352
508
|
import * as React3 from "react";
|
|
353
|
-
import { jsx as
|
|
354
|
-
var
|
|
509
|
+
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
510
|
+
var alertVariants = cva2(
|
|
511
|
+
"relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg~*]:pl-7",
|
|
512
|
+
{
|
|
513
|
+
variants: {
|
|
514
|
+
variant: {
|
|
515
|
+
default: "bg-background text-foreground [&>svg]:text-foreground",
|
|
516
|
+
destructive: "border-destructive/50 bg-destructive/5 text-destructive dark:border-destructive [&>svg]:text-destructive",
|
|
517
|
+
warning: "border-warning/50 bg-warning/5 text-warning dark:border-warning [&>svg]:text-warning",
|
|
518
|
+
success: "border-success/50 bg-success/5 text-success dark:border-success [&>svg]:text-success",
|
|
519
|
+
info: "border-info/50 bg-info/5 text-info dark:border-info [&>svg]:text-info"
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
defaultVariants: {
|
|
523
|
+
variant: "default"
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
);
|
|
527
|
+
var Alert = React3.forwardRef(
|
|
528
|
+
({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
529
|
+
"div",
|
|
530
|
+
{
|
|
531
|
+
ref,
|
|
532
|
+
role: "alert",
|
|
533
|
+
"data-slot": "alert",
|
|
534
|
+
"data-variant": variant ?? "default",
|
|
535
|
+
className: cn(alertVariants({ variant }), className),
|
|
536
|
+
...props
|
|
537
|
+
}
|
|
538
|
+
)
|
|
539
|
+
);
|
|
540
|
+
Alert.displayName = "Alert";
|
|
541
|
+
var AlertTitle = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
542
|
+
"h5",
|
|
543
|
+
{
|
|
544
|
+
ref,
|
|
545
|
+
"data-slot": "alert-title",
|
|
546
|
+
className: cn("mb-1 font-medium leading-none tracking-tight", className),
|
|
547
|
+
...props
|
|
548
|
+
}
|
|
549
|
+
));
|
|
550
|
+
AlertTitle.displayName = "AlertTitle";
|
|
551
|
+
var AlertDescription = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx6(
|
|
552
|
+
"div",
|
|
553
|
+
{
|
|
554
|
+
ref,
|
|
555
|
+
"data-slot": "alert-description",
|
|
556
|
+
className: cn("text-sm [&_p]:leading-relaxed", className),
|
|
557
|
+
...props
|
|
558
|
+
}
|
|
559
|
+
));
|
|
560
|
+
AlertDescription.displayName = "AlertDescription";
|
|
561
|
+
|
|
562
|
+
// src/alert-dialog.tsx
|
|
563
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
564
|
+
import { treeContainsComponent as treeContainsComponent2 } from "@ai-matrx/kit/react-tree";
|
|
565
|
+
import * as React6 from "react";
|
|
566
|
+
|
|
567
|
+
// src/button.tsx
|
|
568
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
569
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
570
|
+
import * as React4 from "react";
|
|
571
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
572
|
+
var buttonVariants = cva3(
|
|
355
573
|
"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-0 disabled:pointer-events-none disabled:opacity-50 active:scale-[0.98] [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
356
574
|
{
|
|
357
575
|
variants: {
|
|
@@ -402,10 +620,10 @@ var buttonVariants = cva2(
|
|
|
402
620
|
}
|
|
403
621
|
}
|
|
404
622
|
);
|
|
405
|
-
var Button =
|
|
623
|
+
var Button = React4.forwardRef(
|
|
406
624
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
407
625
|
const Component = asChild ? Slot : "button";
|
|
408
|
-
return /* @__PURE__ */
|
|
626
|
+
return /* @__PURE__ */ jsx7(
|
|
409
627
|
Component,
|
|
410
628
|
{
|
|
411
629
|
className: cn(buttonVariants({ variant, size, className })),
|
|
@@ -417,16 +635,166 @@ var Button = React3.forwardRef(
|
|
|
417
635
|
);
|
|
418
636
|
Button.displayName = "Button";
|
|
419
637
|
|
|
638
|
+
// src/portal-container.tsx
|
|
639
|
+
import * as React5 from "react";
|
|
640
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
641
|
+
var PortalContainerContext = React5.createContext(
|
|
642
|
+
void 0
|
|
643
|
+
);
|
|
644
|
+
function PortalContainerProvider({
|
|
645
|
+
container,
|
|
646
|
+
children
|
|
647
|
+
}) {
|
|
648
|
+
return /* @__PURE__ */ jsx8(PortalContainerContext.Provider, { value: container ?? void 0, children });
|
|
649
|
+
}
|
|
650
|
+
function usePortalContainer(explicit) {
|
|
651
|
+
const injected = React5.useContext(PortalContainerContext);
|
|
652
|
+
if (explicit !== void 0) {
|
|
653
|
+
return explicit ?? void 0;
|
|
654
|
+
}
|
|
655
|
+
return injected ?? void 0;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
// src/alert-dialog.tsx
|
|
659
|
+
import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
660
|
+
var AlertDialog = AlertDialogPrimitive.Root;
|
|
661
|
+
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
662
|
+
var AlertDialogPortal = ({
|
|
663
|
+
container,
|
|
664
|
+
...props
|
|
665
|
+
}) => {
|
|
666
|
+
const resolved = usePortalContainer(container);
|
|
667
|
+
return /* @__PURE__ */ jsx9(AlertDialogPrimitive.Portal, { container: resolved ?? null, ...props });
|
|
668
|
+
};
|
|
669
|
+
AlertDialogPortal.displayName = "AlertDialogPortal";
|
|
670
|
+
var AlertDialogOverlay = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
671
|
+
AlertDialogPrimitive.Overlay,
|
|
672
|
+
{
|
|
673
|
+
ref,
|
|
674
|
+
"data-slot": "alert-dialog-overlay",
|
|
675
|
+
className: cn(
|
|
676
|
+
"fixed inset-0 z-[10000] bg-[var(--matrx-overlay-scrim)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
677
|
+
className
|
|
678
|
+
),
|
|
679
|
+
...props
|
|
680
|
+
}
|
|
681
|
+
));
|
|
682
|
+
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
683
|
+
var AlertDialogContentPrimitive = React6.forwardRef((props, ref) => /* @__PURE__ */ jsx9(AlertDialogPrimitive.Content, { ...props, ref, "aria-modal": "true" }));
|
|
684
|
+
AlertDialogContentPrimitive.displayName = "AlertDialogContentPrimitive";
|
|
685
|
+
var AlertDialogDescription = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
686
|
+
AlertDialogPrimitive.Description,
|
|
687
|
+
{
|
|
688
|
+
ref,
|
|
689
|
+
"data-slot": "alert-dialog-description",
|
|
690
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
691
|
+
...props
|
|
692
|
+
}
|
|
693
|
+
));
|
|
694
|
+
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
|
695
|
+
var AlertDialogContent = React6.forwardRef(({ className, children, container, ...props }, ref) => {
|
|
696
|
+
const hasDescription = treeContainsComponent2(children, AlertDialogDescription) || treeContainsComponent2(children, AlertDialogPrimitive.Description);
|
|
697
|
+
return /* @__PURE__ */ jsxs4(AlertDialogPortal, { container, children: [
|
|
698
|
+
/* @__PURE__ */ jsx9(AlertDialogOverlay, {}),
|
|
699
|
+
/* @__PURE__ */ jsxs4(
|
|
700
|
+
AlertDialogContentPrimitive,
|
|
701
|
+
{
|
|
702
|
+
ref,
|
|
703
|
+
"data-slot": "alert-dialog-content",
|
|
704
|
+
className: cn(
|
|
705
|
+
"fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200",
|
|
706
|
+
// Ruling 3 — never taller than the viewport, always scrollable, and
|
|
707
|
+
// the footer stays reachable via --dialog-pad like Dialog's.
|
|
708
|
+
"max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full",
|
|
709
|
+
"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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
|
|
710
|
+
className
|
|
711
|
+
),
|
|
712
|
+
...props,
|
|
713
|
+
children: [
|
|
714
|
+
hasDescription ? null : /* @__PURE__ */ jsx9(AlertDialogPrimitive.Description, { className: "sr-only", children: "Please confirm the action described in this dialog." }),
|
|
715
|
+
children
|
|
716
|
+
]
|
|
717
|
+
}
|
|
718
|
+
)
|
|
719
|
+
] });
|
|
720
|
+
});
|
|
721
|
+
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
722
|
+
var AlertDialogHeader = ({
|
|
723
|
+
className,
|
|
724
|
+
...props
|
|
725
|
+
}) => /* @__PURE__ */ jsx9(
|
|
726
|
+
"div",
|
|
727
|
+
{
|
|
728
|
+
"data-slot": "alert-dialog-header",
|
|
729
|
+
className: cn("flex flex-col space-y-2 text-center sm:text-left", className),
|
|
730
|
+
...props
|
|
731
|
+
}
|
|
732
|
+
);
|
|
733
|
+
AlertDialogHeader.displayName = "AlertDialogHeader";
|
|
734
|
+
var AlertDialogFooter = ({
|
|
735
|
+
className,
|
|
736
|
+
...props
|
|
737
|
+
}) => /* @__PURE__ */ jsx9(
|
|
738
|
+
"div",
|
|
739
|
+
{
|
|
740
|
+
"data-slot": "alert-dialog-footer",
|
|
741
|
+
className: cn(
|
|
742
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
|
743
|
+
// Ruling 3/4 — sticky to the card edges so a scrolled body never shows
|
|
744
|
+
// through under the actions, and safe-area padded on a phone.
|
|
745
|
+
"sticky bottom-0 z-10 bg-background pt-3",
|
|
746
|
+
"mx-[calc(var(--dialog-pad,0px)*-1)] mb-[calc(var(--dialog-pad,0px)*-1)] px-[var(--dialog-pad,0px)] pb-[var(--dialog-pad,0px)]",
|
|
747
|
+
className
|
|
748
|
+
),
|
|
749
|
+
...props
|
|
750
|
+
}
|
|
751
|
+
);
|
|
752
|
+
AlertDialogFooter.displayName = "AlertDialogFooter";
|
|
753
|
+
var AlertDialogTitle = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
754
|
+
AlertDialogPrimitive.Title,
|
|
755
|
+
{
|
|
756
|
+
ref,
|
|
757
|
+
"data-slot": "alert-dialog-title",
|
|
758
|
+
className: cn("text-lg font-semibold", className),
|
|
759
|
+
...props
|
|
760
|
+
}
|
|
761
|
+
));
|
|
762
|
+
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
|
763
|
+
var AlertDialogAction = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
764
|
+
AlertDialogPrimitive.Action,
|
|
765
|
+
{
|
|
766
|
+
ref,
|
|
767
|
+
"data-slot": "alert-dialog-action",
|
|
768
|
+
className: cn(buttonVariants(), className),
|
|
769
|
+
...props
|
|
770
|
+
}
|
|
771
|
+
));
|
|
772
|
+
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
|
773
|
+
var AlertDialogCancel = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
774
|
+
AlertDialogPrimitive.Cancel,
|
|
775
|
+
{
|
|
776
|
+
ref,
|
|
777
|
+
"data-slot": "alert-dialog-cancel",
|
|
778
|
+
className: cn(
|
|
779
|
+
buttonVariants({ variant: "outline" }),
|
|
780
|
+
"mt-2 sm:mt-0",
|
|
781
|
+
className
|
|
782
|
+
),
|
|
783
|
+
...props
|
|
784
|
+
}
|
|
785
|
+
));
|
|
786
|
+
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
|
787
|
+
|
|
420
788
|
// src/avatar.tsx
|
|
421
789
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
422
|
-
import * as
|
|
423
|
-
import { jsx as
|
|
790
|
+
import * as React7 from "react";
|
|
791
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
424
792
|
var AVATAR_SIZES = {
|
|
425
793
|
sm: "h-8 w-8 text-[11px]",
|
|
426
794
|
md: "h-9 w-9 text-xs",
|
|
427
795
|
lg: "h-10 w-10 text-sm"
|
|
428
796
|
};
|
|
429
|
-
var Avatar =
|
|
797
|
+
var Avatar = React7.forwardRef(({ className, size = "lg", ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
430
798
|
AvatarPrimitive.Root,
|
|
431
799
|
{
|
|
432
800
|
ref,
|
|
@@ -440,7 +808,7 @@ var Avatar = React4.forwardRef(({ className, size = "lg", ...props }, ref) => /*
|
|
|
440
808
|
}
|
|
441
809
|
));
|
|
442
810
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
443
|
-
var AvatarImage =
|
|
811
|
+
var AvatarImage = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
444
812
|
AvatarPrimitive.Image,
|
|
445
813
|
{
|
|
446
814
|
ref,
|
|
@@ -450,7 +818,7 @@ var AvatarImage = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
450
818
|
}
|
|
451
819
|
));
|
|
452
820
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
453
|
-
var AvatarFallback =
|
|
821
|
+
var AvatarFallback = React7.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
454
822
|
AvatarPrimitive.Fallback,
|
|
455
823
|
{
|
|
456
824
|
ref,
|
|
@@ -465,8 +833,8 @@ var AvatarFallback = React4.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
465
833
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
466
834
|
|
|
467
835
|
// src/card.tsx
|
|
468
|
-
import * as
|
|
469
|
-
import { jsx as
|
|
836
|
+
import * as React8 from "react";
|
|
837
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
470
838
|
var CARD_SIZES = {
|
|
471
839
|
sm: {
|
|
472
840
|
root: "rounded-xl border bg-card text-card-foreground shadow",
|
|
@@ -484,12 +852,12 @@ var CARD_SIZES = {
|
|
|
484
852
|
padTopless: "p-6 pt-0"
|
|
485
853
|
}
|
|
486
854
|
};
|
|
487
|
-
var CardSizeContext =
|
|
855
|
+
var CardSizeContext = React8.createContext("md");
|
|
488
856
|
function useCardSize() {
|
|
489
|
-
return
|
|
857
|
+
return React8.useContext(CardSizeContext);
|
|
490
858
|
}
|
|
491
|
-
var Card =
|
|
492
|
-
({ className, size = "md", ...props }, ref) => /* @__PURE__ */
|
|
859
|
+
var Card = React8.forwardRef(
|
|
860
|
+
({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx11(CardSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx11(
|
|
493
861
|
"div",
|
|
494
862
|
{
|
|
495
863
|
ref,
|
|
@@ -501,9 +869,9 @@ var Card = React5.forwardRef(
|
|
|
501
869
|
) })
|
|
502
870
|
);
|
|
503
871
|
Card.displayName = "Card";
|
|
504
|
-
var CardHeader =
|
|
872
|
+
var CardHeader = React8.forwardRef(({ className, ...props }, ref) => {
|
|
505
873
|
const size = useCardSize();
|
|
506
|
-
return /* @__PURE__ */
|
|
874
|
+
return /* @__PURE__ */ jsx11(
|
|
507
875
|
"div",
|
|
508
876
|
{
|
|
509
877
|
ref,
|
|
@@ -518,7 +886,7 @@ var CardHeader = React5.forwardRef(({ className, ...props }, ref) => {
|
|
|
518
886
|
);
|
|
519
887
|
});
|
|
520
888
|
CardHeader.displayName = "CardHeader";
|
|
521
|
-
var CardTitle =
|
|
889
|
+
var CardTitle = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
522
890
|
"h3",
|
|
523
891
|
{
|
|
524
892
|
ref,
|
|
@@ -528,7 +896,7 @@ var CardTitle = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
528
896
|
}
|
|
529
897
|
));
|
|
530
898
|
CardTitle.displayName = "CardTitle";
|
|
531
|
-
var CardDescription =
|
|
899
|
+
var CardDescription = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
532
900
|
"p",
|
|
533
901
|
{
|
|
534
902
|
ref,
|
|
@@ -538,7 +906,7 @@ var CardDescription = React5.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
538
906
|
}
|
|
539
907
|
));
|
|
540
908
|
CardDescription.displayName = "CardDescription";
|
|
541
|
-
var CardAction =
|
|
909
|
+
var CardAction = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx11(
|
|
542
910
|
"div",
|
|
543
911
|
{
|
|
544
912
|
ref,
|
|
@@ -548,9 +916,9 @@ var CardAction = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
548
916
|
}
|
|
549
917
|
));
|
|
550
918
|
CardAction.displayName = "CardAction";
|
|
551
|
-
var CardContent =
|
|
919
|
+
var CardContent = React8.forwardRef(({ className, ...props }, ref) => {
|
|
552
920
|
const size = useCardSize();
|
|
553
|
-
return /* @__PURE__ */
|
|
921
|
+
return /* @__PURE__ */ jsx11(
|
|
554
922
|
"div",
|
|
555
923
|
{
|
|
556
924
|
ref,
|
|
@@ -561,9 +929,9 @@ var CardContent = React5.forwardRef(({ className, ...props }, ref) => {
|
|
|
561
929
|
);
|
|
562
930
|
});
|
|
563
931
|
CardContent.displayName = "CardContent";
|
|
564
|
-
var CardFooter =
|
|
932
|
+
var CardFooter = React8.forwardRef(({ className, ...props }, ref) => {
|
|
565
933
|
const size = useCardSize();
|
|
566
|
-
return /* @__PURE__ */
|
|
934
|
+
return /* @__PURE__ */ jsx11(
|
|
567
935
|
"div",
|
|
568
936
|
{
|
|
569
937
|
ref,
|
|
@@ -581,13 +949,13 @@ CardFooter.displayName = "CardFooter";
|
|
|
581
949
|
|
|
582
950
|
// src/checkbox.tsx
|
|
583
951
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
584
|
-
import * as
|
|
585
|
-
import { jsx as
|
|
952
|
+
import * as React9 from "react";
|
|
953
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
586
954
|
var CHECKBOX_SIZES = {
|
|
587
955
|
sm: { root: "h-3.5 w-3.5 rounded-xs", glyph: "h-3 w-3" },
|
|
588
956
|
md: { root: "h-4 w-4 rounded-sm", glyph: "h-3.5 w-3.5" }
|
|
589
957
|
};
|
|
590
|
-
var Checkbox =
|
|
958
|
+
var Checkbox = React9.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx12(
|
|
591
959
|
CheckboxPrimitive.Root,
|
|
592
960
|
{
|
|
593
961
|
ref,
|
|
@@ -598,12 +966,12 @@ var Checkbox = React6.forwardRef(({ className, size = "md", ...props }, ref) =>
|
|
|
598
966
|
className
|
|
599
967
|
),
|
|
600
968
|
...props,
|
|
601
|
-
children: /* @__PURE__ */
|
|
969
|
+
children: /* @__PURE__ */ jsx12(
|
|
602
970
|
CheckboxPrimitive.Indicator,
|
|
603
971
|
{
|
|
604
972
|
"data-slot": "checkbox-indicator",
|
|
605
973
|
className: "flex items-center justify-center text-current",
|
|
606
|
-
children: props.checked === "indeterminate" ? /* @__PURE__ */
|
|
974
|
+
children: props.checked === "indeterminate" ? /* @__PURE__ */ jsx12(DividerHorizontalIcon, { className: CHECKBOX_SIZES[size].glyph }) : /* @__PURE__ */ jsx12(CheckIcon, { className: CHECKBOX_SIZES[size].glyph })
|
|
607
975
|
}
|
|
608
976
|
)
|
|
609
977
|
}
|
|
@@ -619,35 +987,15 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
|
|
619
987
|
// src/command.tsx
|
|
620
988
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
621
989
|
import { Command as CommandPrimitive } from "cmdk";
|
|
622
|
-
import * as
|
|
623
|
-
|
|
624
|
-
// src/portal-container.tsx
|
|
625
|
-
import * as React7 from "react";
|
|
626
|
-
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
627
|
-
var PortalContainerContext = React7.createContext(
|
|
628
|
-
void 0
|
|
629
|
-
);
|
|
630
|
-
function PortalContainerProvider({
|
|
631
|
-
container,
|
|
632
|
-
children
|
|
633
|
-
}) {
|
|
634
|
-
return /* @__PURE__ */ jsx9(PortalContainerContext.Provider, { value: container ?? void 0, children });
|
|
635
|
-
}
|
|
636
|
-
function usePortalContainer(explicit) {
|
|
637
|
-
const injected = React7.useContext(PortalContainerContext);
|
|
638
|
-
if (explicit !== void 0) {
|
|
639
|
-
return explicit ?? void 0;
|
|
640
|
-
}
|
|
641
|
-
return injected ?? void 0;
|
|
642
|
-
}
|
|
990
|
+
import * as React11 from "react";
|
|
643
991
|
|
|
644
992
|
// src/use-is-mobile.ts
|
|
645
|
-
import * as
|
|
993
|
+
import * as React10 from "react";
|
|
646
994
|
var MOBILE_BREAKPOINT = 768;
|
|
647
995
|
function useIsMobile() {
|
|
648
|
-
const [isMobile, setIsMobile] =
|
|
649
|
-
const [hasMounted, setHasMounted] =
|
|
650
|
-
|
|
996
|
+
const [isMobile, setIsMobile] = React10.useState(false);
|
|
997
|
+
const [hasMounted, setHasMounted] = React10.useState(false);
|
|
998
|
+
React10.useEffect(() => {
|
|
651
999
|
setHasMounted(true);
|
|
652
1000
|
const onChange = () => {
|
|
653
1001
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -667,8 +1015,8 @@ function useIsMobile() {
|
|
|
667
1015
|
}
|
|
668
1016
|
|
|
669
1017
|
// src/command.tsx
|
|
670
|
-
import { jsx as
|
|
671
|
-
var Command =
|
|
1018
|
+
import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
1019
|
+
var Command = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
672
1020
|
CommandPrimitive,
|
|
673
1021
|
{
|
|
674
1022
|
ref,
|
|
@@ -683,18 +1031,18 @@ Command.displayName = CommandPrimitive.displayName;
|
|
|
683
1031
|
var DIALOG_DESKTOP_CLASSES = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg";
|
|
684
1032
|
var DIALOG_MOBILE_SHEET_CLASSES = "fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain 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]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom";
|
|
685
1033
|
var DIALOG_MOBILE_SHEET_OVERRIDE = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
|
|
686
|
-
var CommandDialogContent =
|
|
1034
|
+
var CommandDialogContent = React11.forwardRef(({ className, children, container, ...props }, ref) => {
|
|
687
1035
|
const isMobile = useIsMobile();
|
|
688
1036
|
const isModal = useRadixDialogModal();
|
|
689
1037
|
const portalContainer = usePortalContainer(container);
|
|
690
|
-
return /* @__PURE__ */
|
|
691
|
-
isModal ? /* @__PURE__ */
|
|
1038
|
+
return /* @__PURE__ */ jsxs5(DialogPrimitive.Portal, { container: portalContainer, children: [
|
|
1039
|
+
isModal ? /* @__PURE__ */ jsx13(
|
|
692
1040
|
DialogPrimitive.Overlay,
|
|
693
1041
|
{
|
|
694
1042
|
className: "fixed inset-0 z-[10000] bg-[var(--matrx-overlay-scrim-soft)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"
|
|
695
1043
|
}
|
|
696
1044
|
) : null,
|
|
697
|
-
/* @__PURE__ */
|
|
1045
|
+
/* @__PURE__ */ jsxs5(
|
|
698
1046
|
DialogPrimitive.Content,
|
|
699
1047
|
{
|
|
700
1048
|
ref,
|
|
@@ -709,9 +1057,9 @@ var CommandDialogContent = React9.forwardRef(({ className, children, container,
|
|
|
709
1057
|
...props,
|
|
710
1058
|
children: [
|
|
711
1059
|
children,
|
|
712
|
-
/* @__PURE__ */
|
|
713
|
-
/* @__PURE__ */
|
|
714
|
-
/* @__PURE__ */
|
|
1060
|
+
/* @__PURE__ */ jsxs5(DialogPrimitive.Close, { className: "absolute right-2 top-4 flex h-10 w-10 items-center justify-center 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 sm:right-4", children: [
|
|
1061
|
+
/* @__PURE__ */ jsx13(XIcon, { className: "h-4 w-4" }),
|
|
1062
|
+
/* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Close" })
|
|
715
1063
|
] })
|
|
716
1064
|
]
|
|
717
1065
|
}
|
|
@@ -725,21 +1073,21 @@ var CommandDialog = ({
|
|
|
725
1073
|
...props
|
|
726
1074
|
}) => {
|
|
727
1075
|
const modal = props.modal ?? true;
|
|
728
|
-
return /* @__PURE__ */
|
|
1076
|
+
return /* @__PURE__ */ jsx13(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx13(DialogPrimitive.Root, { ...props, modal, children: /* @__PURE__ */ jsxs5(
|
|
729
1077
|
CommandDialogContent,
|
|
730
1078
|
{
|
|
731
1079
|
className: "overflow-hidden p-0",
|
|
732
1080
|
...container !== void 0 ? { container } : {},
|
|
733
1081
|
children: [
|
|
734
|
-
/* @__PURE__ */
|
|
735
|
-
/* @__PURE__ */
|
|
1082
|
+
/* @__PURE__ */ jsx13(DialogPrimitive.Title, { className: "sr-only" }),
|
|
1083
|
+
/* @__PURE__ */ jsx13(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
736
1084
|
]
|
|
737
1085
|
}
|
|
738
1086
|
) }) });
|
|
739
1087
|
};
|
|
740
|
-
var CommandInput =
|
|
741
|
-
/* @__PURE__ */
|
|
742
|
-
/* @__PURE__ */
|
|
1088
|
+
var CommandInput = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxs5("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
|
1089
|
+
/* @__PURE__ */ jsx13(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
1090
|
+
/* @__PURE__ */ jsx13(
|
|
743
1091
|
CommandPrimitive.Input,
|
|
744
1092
|
{
|
|
745
1093
|
ref,
|
|
@@ -752,7 +1100,7 @@ var CommandInput = React9.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
752
1100
|
)
|
|
753
1101
|
] }));
|
|
754
1102
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
755
|
-
var CommandList =
|
|
1103
|
+
var CommandList = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
756
1104
|
CommandPrimitive.List,
|
|
757
1105
|
{
|
|
758
1106
|
ref,
|
|
@@ -761,7 +1109,7 @@ var CommandList = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
761
1109
|
}
|
|
762
1110
|
));
|
|
763
1111
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
764
|
-
var CommandEmpty =
|
|
1112
|
+
var CommandEmpty = React11.forwardRef((props, ref) => /* @__PURE__ */ jsx13(
|
|
765
1113
|
CommandPrimitive.Empty,
|
|
766
1114
|
{
|
|
767
1115
|
ref,
|
|
@@ -770,7 +1118,7 @@ var CommandEmpty = React9.forwardRef((props, ref) => /* @__PURE__ */ jsx10(
|
|
|
770
1118
|
}
|
|
771
1119
|
));
|
|
772
1120
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
773
|
-
var CommandGroup =
|
|
1121
|
+
var CommandGroup = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
774
1122
|
CommandPrimitive.Group,
|
|
775
1123
|
{
|
|
776
1124
|
ref,
|
|
@@ -782,7 +1130,7 @@ var CommandGroup = React9.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
782
1130
|
}
|
|
783
1131
|
));
|
|
784
1132
|
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
|
785
|
-
var CommandSeparator =
|
|
1133
|
+
var CommandSeparator = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
786
1134
|
CommandPrimitive.Separator,
|
|
787
1135
|
{
|
|
788
1136
|
ref,
|
|
@@ -791,7 +1139,7 @@ var CommandSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
791
1139
|
}
|
|
792
1140
|
));
|
|
793
1141
|
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
|
794
|
-
var CommandItem =
|
|
1142
|
+
var CommandItem = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx13(
|
|
795
1143
|
CommandPrimitive.Item,
|
|
796
1144
|
{
|
|
797
1145
|
ref,
|
|
@@ -807,7 +1155,7 @@ var CommandShortcut = ({
|
|
|
807
1155
|
className,
|
|
808
1156
|
...props
|
|
809
1157
|
}) => {
|
|
810
|
-
return /* @__PURE__ */
|
|
1158
|
+
return /* @__PURE__ */ jsx13(
|
|
811
1159
|
"span",
|
|
812
1160
|
{
|
|
813
1161
|
className: cn(
|
|
@@ -822,8 +1170,8 @@ CommandShortcut.displayName = "CommandShortcut";
|
|
|
822
1170
|
|
|
823
1171
|
// src/context-menu.tsx
|
|
824
1172
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
825
|
-
import * as
|
|
826
|
-
import { jsx as
|
|
1173
|
+
import * as React12 from "react";
|
|
1174
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
827
1175
|
var ContextMenu = ContextMenuPrimitive.Root;
|
|
828
1176
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
829
1177
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
@@ -834,7 +1182,7 @@ var SURFACE_CLASS = "z-50 min-w-[8rem] max-h-[var(--radix-context-menu-content-a
|
|
|
834
1182
|
var MOTION_CLASS = "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";
|
|
835
1183
|
var ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
836
1184
|
var INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
837
|
-
var ContextMenuSubTrigger =
|
|
1185
|
+
var ContextMenuSubTrigger = React12.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
838
1186
|
ContextMenuPrimitive.SubTrigger,
|
|
839
1187
|
{
|
|
840
1188
|
ref,
|
|
@@ -847,12 +1195,12 @@ var ContextMenuSubTrigger = React10.forwardRef(({ className, inset, children, ..
|
|
|
847
1195
|
...props,
|
|
848
1196
|
children: [
|
|
849
1197
|
children,
|
|
850
|
-
/* @__PURE__ */
|
|
1198
|
+
/* @__PURE__ */ jsx14(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
851
1199
|
]
|
|
852
1200
|
}
|
|
853
1201
|
));
|
|
854
1202
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
855
|
-
var ContextMenuSubContent =
|
|
1203
|
+
var ContextMenuSubContent = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
856
1204
|
ContextMenuPrimitive.SubContent,
|
|
857
1205
|
{
|
|
858
1206
|
ref,
|
|
@@ -862,9 +1210,9 @@ var ContextMenuSubContent = React10.forwardRef(({ className, ...props }, ref) =>
|
|
|
862
1210
|
}
|
|
863
1211
|
));
|
|
864
1212
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
865
|
-
var ContextMenuContent =
|
|
1213
|
+
var ContextMenuContent = React12.forwardRef(({ className, container, ...props }, ref) => {
|
|
866
1214
|
const portalContainer = usePortalContainer(container);
|
|
867
|
-
return /* @__PURE__ */
|
|
1215
|
+
return /* @__PURE__ */ jsx14(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx14(
|
|
868
1216
|
ContextMenuPrimitive.Content,
|
|
869
1217
|
{
|
|
870
1218
|
ref,
|
|
@@ -875,7 +1223,7 @@ var ContextMenuContent = React10.forwardRef(({ className, container, ...props },
|
|
|
875
1223
|
) });
|
|
876
1224
|
});
|
|
877
1225
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
878
|
-
var ContextMenuItem =
|
|
1226
|
+
var ContextMenuItem = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
879
1227
|
ContextMenuPrimitive.Item,
|
|
880
1228
|
{
|
|
881
1229
|
ref,
|
|
@@ -890,7 +1238,7 @@ var ContextMenuItem = React10.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
890
1238
|
}
|
|
891
1239
|
));
|
|
892
1240
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
893
|
-
var ContextMenuCheckboxItem =
|
|
1241
|
+
var ContextMenuCheckboxItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
894
1242
|
ContextMenuPrimitive.CheckboxItem,
|
|
895
1243
|
{
|
|
896
1244
|
ref,
|
|
@@ -898,13 +1246,13 @@ var ContextMenuCheckboxItem = React10.forwardRef(({ className, children, ...prop
|
|
|
898
1246
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
899
1247
|
...props,
|
|
900
1248
|
children: [
|
|
901
|
-
/* @__PURE__ */
|
|
1249
|
+
/* @__PURE__ */ jsx14("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
902
1250
|
children
|
|
903
1251
|
]
|
|
904
1252
|
}
|
|
905
1253
|
));
|
|
906
1254
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
907
|
-
var ContextMenuRadioItem =
|
|
1255
|
+
var ContextMenuRadioItem = React12.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs6(
|
|
908
1256
|
ContextMenuPrimitive.RadioItem,
|
|
909
1257
|
{
|
|
910
1258
|
ref,
|
|
@@ -912,13 +1260,13 @@ var ContextMenuRadioItem = React10.forwardRef(({ className, children, ...props }
|
|
|
912
1260
|
className: cn(INDICATOR_ITEM_CLASS, className),
|
|
913
1261
|
...props,
|
|
914
1262
|
children: [
|
|
915
|
-
/* @__PURE__ */
|
|
1263
|
+
/* @__PURE__ */ jsx14("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx14(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx14(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
916
1264
|
children
|
|
917
1265
|
]
|
|
918
1266
|
}
|
|
919
1267
|
));
|
|
920
1268
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
921
|
-
var ContextMenuLabel =
|
|
1269
|
+
var ContextMenuLabel = React12.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
922
1270
|
ContextMenuPrimitive.Label,
|
|
923
1271
|
{
|
|
924
1272
|
ref,
|
|
@@ -932,7 +1280,7 @@ var ContextMenuLabel = React10.forwardRef(({ className, inset, ...props }, ref)
|
|
|
932
1280
|
}
|
|
933
1281
|
));
|
|
934
1282
|
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
935
|
-
var ContextMenuSeparator =
|
|
1283
|
+
var ContextMenuSeparator = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx14(
|
|
936
1284
|
ContextMenuPrimitive.Separator,
|
|
937
1285
|
{
|
|
938
1286
|
ref,
|
|
@@ -945,7 +1293,7 @@ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
|
945
1293
|
var ContextMenuShortcut = ({
|
|
946
1294
|
className,
|
|
947
1295
|
...props
|
|
948
|
-
}) => /* @__PURE__ */
|
|
1296
|
+
}) => /* @__PURE__ */ jsx14(
|
|
949
1297
|
"span",
|
|
950
1298
|
{
|
|
951
1299
|
"data-slot": "context-menu-shortcut",
|
|
@@ -963,15 +1311,15 @@ import {
|
|
|
963
1311
|
|
|
964
1312
|
// src/popover.tsx
|
|
965
1313
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
966
|
-
import * as
|
|
967
|
-
import { jsx as
|
|
1314
|
+
import * as React13 from "react";
|
|
1315
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
968
1316
|
var Popover = PopoverPrimitive.Root;
|
|
969
1317
|
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
970
1318
|
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
971
|
-
var PopoverContent =
|
|
1319
|
+
var PopoverContent = React13.forwardRef(
|
|
972
1320
|
({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
|
|
973
1321
|
const portalContainer = usePortalContainer(container);
|
|
974
|
-
return /* @__PURE__ */
|
|
1322
|
+
return /* @__PURE__ */ jsx15(PopoverPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx15(
|
|
975
1323
|
PopoverPrimitive.Content,
|
|
976
1324
|
{
|
|
977
1325
|
ref,
|
|
@@ -995,7 +1343,7 @@ var PopoverContent = React11.forwardRef(
|
|
|
995
1343
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
996
1344
|
|
|
997
1345
|
// src/creatable-picker.tsx
|
|
998
|
-
import { jsx as
|
|
1346
|
+
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
999
1347
|
function article(noun) {
|
|
1000
1348
|
return /^[aeiou]/i.test(noun.trim()) ? `an ${noun}` : `a ${noun}`;
|
|
1001
1349
|
}
|
|
@@ -1070,8 +1418,8 @@ function CreatablePicker({
|
|
|
1070
1418
|
setBusy(false);
|
|
1071
1419
|
}
|
|
1072
1420
|
};
|
|
1073
|
-
return /* @__PURE__ */
|
|
1074
|
-
/* @__PURE__ */
|
|
1421
|
+
return /* @__PURE__ */ jsxs7(Popover, { open, onOpenChange: (next) => next ? setOpen(true) : close(), children: [
|
|
1422
|
+
/* @__PURE__ */ jsx16(PopoverTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs7(
|
|
1075
1423
|
"button",
|
|
1076
1424
|
{
|
|
1077
1425
|
type: "button",
|
|
@@ -1085,12 +1433,12 @@ function CreatablePicker({
|
|
|
1085
1433
|
triggerClassName
|
|
1086
1434
|
),
|
|
1087
1435
|
children: [
|
|
1088
|
-
/* @__PURE__ */
|
|
1089
|
-
/* @__PURE__ */
|
|
1436
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1 truncate", children: selected ? renderSelected ?? selected.render ?? selected.label : /* @__PURE__ */ jsx16("span", { className: "text-muted-foreground", children: loading ? "Loading\u2026" : placeholder }) }),
|
|
1437
|
+
/* @__PURE__ */ jsx16(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 opacity-50" })
|
|
1090
1438
|
]
|
|
1091
1439
|
}
|
|
1092
1440
|
) }),
|
|
1093
|
-
/* @__PURE__ */
|
|
1441
|
+
/* @__PURE__ */ jsx16(PopoverContent, { align: "start", className: "w-[--radix-popover-trigger-width] min-w-56 p-0", children: /* @__PURE__ */ jsxs7(
|
|
1094
1442
|
Command,
|
|
1095
1443
|
{
|
|
1096
1444
|
filter: (itemValue, search, keywords) => {
|
|
@@ -1098,7 +1446,7 @@ function CreatablePicker({
|
|
|
1098
1446
|
return haystack.includes(search.toLowerCase()) ? 1 : 0;
|
|
1099
1447
|
},
|
|
1100
1448
|
children: [
|
|
1101
|
-
/* @__PURE__ */
|
|
1449
|
+
/* @__PURE__ */ jsx16(
|
|
1102
1450
|
CommandInput,
|
|
1103
1451
|
{
|
|
1104
1452
|
ref: inputRef,
|
|
@@ -1110,13 +1458,13 @@ function CreatablePicker({
|
|
|
1110
1458
|
placeholder: searchPlaceholder ?? `Search or add ${article(noun)}\u2026`
|
|
1111
1459
|
}
|
|
1112
1460
|
),
|
|
1113
|
-
/* @__PURE__ */
|
|
1114
|
-
/* @__PURE__ */
|
|
1115
|
-
groups.map((group) => /* @__PURE__ */
|
|
1461
|
+
/* @__PURE__ */ jsxs7(CommandList, { children: [
|
|
1462
|
+
/* @__PURE__ */ jsx16(CommandEmpty, { children: emptyLabel }),
|
|
1463
|
+
groups.map((group) => /* @__PURE__ */ jsx16(
|
|
1116
1464
|
CommandGroup,
|
|
1117
1465
|
{
|
|
1118
1466
|
...group.heading === void 0 ? {} : { heading: group.heading },
|
|
1119
|
-
children: group.options.map((option) => /* @__PURE__ */
|
|
1467
|
+
children: group.options.map((option) => /* @__PURE__ */ jsxs7(
|
|
1120
1468
|
CommandItem,
|
|
1121
1469
|
{
|
|
1122
1470
|
value: option.label,
|
|
@@ -1127,7 +1475,7 @@ function CreatablePicker({
|
|
|
1127
1475
|
},
|
|
1128
1476
|
className: "gap-2 text-xs",
|
|
1129
1477
|
children: [
|
|
1130
|
-
/* @__PURE__ */
|
|
1478
|
+
/* @__PURE__ */ jsx16(
|
|
1131
1479
|
LucideCheckIcon,
|
|
1132
1480
|
{
|
|
1133
1481
|
className: cn(
|
|
@@ -1136,8 +1484,8 @@ function CreatablePicker({
|
|
|
1136
1484
|
)
|
|
1137
1485
|
}
|
|
1138
1486
|
),
|
|
1139
|
-
/* @__PURE__ */
|
|
1140
|
-
option.hint ? /* @__PURE__ */
|
|
1487
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 flex-1 truncate", children: option.render ?? option.label }),
|
|
1488
|
+
option.hint ? /* @__PURE__ */ jsx16("span", { className: "shrink-0 text-[10px] text-muted-foreground", children: option.hint }) : null
|
|
1141
1489
|
]
|
|
1142
1490
|
},
|
|
1143
1491
|
option.value
|
|
@@ -1146,9 +1494,9 @@ function CreatablePicker({
|
|
|
1146
1494
|
group.heading ?? "__ungrouped__"
|
|
1147
1495
|
))
|
|
1148
1496
|
] }),
|
|
1149
|
-
canCreate ? /* @__PURE__ */
|
|
1150
|
-
createExtra && typed && !exactMatch ? /* @__PURE__ */
|
|
1151
|
-
/* @__PURE__ */
|
|
1497
|
+
canCreate ? /* @__PURE__ */ jsxs7("div", { className: "space-y-1 border-t border-border p-1", children: [
|
|
1498
|
+
createExtra && typed && !exactMatch ? /* @__PURE__ */ jsx16("div", { className: "px-1 pt-0.5", children: typeof createExtra === "function" ? createExtra(typed) : createExtra }) : null,
|
|
1499
|
+
/* @__PURE__ */ jsxs7(
|
|
1152
1500
|
"button",
|
|
1153
1501
|
{
|
|
1154
1502
|
type: "button",
|
|
@@ -1156,22 +1504,22 @@ function CreatablePicker({
|
|
|
1156
1504
|
onClick: () => void create(typed),
|
|
1157
1505
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50",
|
|
1158
1506
|
children: [
|
|
1159
|
-
busy ? /* @__PURE__ */
|
|
1160
|
-
/* @__PURE__ */
|
|
1507
|
+
busy ? /* @__PURE__ */ jsx16(Loader2Icon, { className: "size-3.5 shrink-0 animate-spin" }) : /* @__PURE__ */ jsx16(PlusIcon, { className: "size-3.5 shrink-0" }),
|
|
1508
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: typed && !exactMatch ? `Create \u201C${typed}\u201D` : `Add ${article(noun)}\u2026` })
|
|
1161
1509
|
]
|
|
1162
1510
|
}
|
|
1163
1511
|
),
|
|
1164
|
-
needsName ? /* @__PURE__ */
|
|
1512
|
+
needsName ? /* @__PURE__ */ jsxs7("p", { className: "px-2 pb-0.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
1165
1513
|
"Type the name of the ",
|
|
1166
1514
|
noun,
|
|
1167
1515
|
" you want to add \u2014 then this creates it."
|
|
1168
1516
|
] }) : null
|
|
1169
1517
|
] }) : null,
|
|
1170
|
-
footerActions?.length || manageAction ? /* @__PURE__ */
|
|
1518
|
+
footerActions?.length || manageAction ? /* @__PURE__ */ jsxs7("div", { className: "space-y-0.5 border-t border-border p-1", children: [
|
|
1171
1519
|
footerActions?.map((action) => {
|
|
1172
1520
|
const Icon2 = action.icon;
|
|
1173
|
-
return /* @__PURE__ */
|
|
1174
|
-
/* @__PURE__ */
|
|
1521
|
+
return /* @__PURE__ */ jsxs7("div", { children: [
|
|
1522
|
+
/* @__PURE__ */ jsxs7(
|
|
1175
1523
|
"button",
|
|
1176
1524
|
{
|
|
1177
1525
|
type: "button",
|
|
@@ -1181,15 +1529,15 @@ function CreatablePicker({
|
|
|
1181
1529
|
},
|
|
1182
1530
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
1183
1531
|
children: [
|
|
1184
|
-
Icon2 ? /* @__PURE__ */
|
|
1185
|
-
/* @__PURE__ */
|
|
1532
|
+
Icon2 ? /* @__PURE__ */ jsx16(Icon2, { className: "size-3.5 shrink-0" }) : null,
|
|
1533
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: action.label })
|
|
1186
1534
|
]
|
|
1187
1535
|
}
|
|
1188
1536
|
),
|
|
1189
|
-
action.note ? /* @__PURE__ */
|
|
1537
|
+
action.note ? /* @__PURE__ */ jsx16("p", { className: "px-2 pb-1 text-[10px] leading-snug text-muted-foreground", children: action.note }) : null
|
|
1190
1538
|
] }, action.label);
|
|
1191
1539
|
}),
|
|
1192
|
-
manageAction ? /* @__PURE__ */
|
|
1540
|
+
manageAction ? /* @__PURE__ */ jsxs7(
|
|
1193
1541
|
"a",
|
|
1194
1542
|
{
|
|
1195
1543
|
href: manageAction.href,
|
|
@@ -1198,18 +1546,18 @@ function CreatablePicker({
|
|
|
1198
1546
|
onClick: close,
|
|
1199
1547
|
className: "flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",
|
|
1200
1548
|
children: [
|
|
1201
|
-
/* @__PURE__ */
|
|
1202
|
-
/* @__PURE__ */
|
|
1549
|
+
/* @__PURE__ */ jsx16(ExternalLinkIcon, { className: "size-3.5 shrink-0" }),
|
|
1550
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: manageAction.label })
|
|
1203
1551
|
]
|
|
1204
1552
|
}
|
|
1205
1553
|
) : null
|
|
1206
1554
|
] }) : null,
|
|
1207
|
-
lockedNote ? /* @__PURE__ */
|
|
1208
|
-
/* @__PURE__ */
|
|
1209
|
-
/* @__PURE__ */
|
|
1210
|
-
/* @__PURE__ */
|
|
1555
|
+
lockedNote ? /* @__PURE__ */ jsxs7("div", { className: "space-y-1 border-t border-border p-2", children: [
|
|
1556
|
+
/* @__PURE__ */ jsxs7("p", { className: "flex gap-1.5 text-[11px] leading-snug text-muted-foreground", children: [
|
|
1557
|
+
/* @__PURE__ */ jsx16(LockIcon, { className: "mt-px size-3 shrink-0" }),
|
|
1558
|
+
/* @__PURE__ */ jsx16("span", { children: lockedNote })
|
|
1211
1559
|
] }),
|
|
1212
|
-
lockedAction ? /* @__PURE__ */
|
|
1560
|
+
lockedAction ? /* @__PURE__ */ jsxs7(
|
|
1213
1561
|
"button",
|
|
1214
1562
|
{
|
|
1215
1563
|
type: "button",
|
|
@@ -1219,8 +1567,8 @@ function CreatablePicker({
|
|
|
1219
1567
|
},
|
|
1220
1568
|
className: "flex w-full items-center gap-2 rounded-sm px-1 py-1 text-left text-xs font-medium text-primary transition-colors hover:bg-accent",
|
|
1221
1569
|
children: [
|
|
1222
|
-
/* @__PURE__ */
|
|
1223
|
-
/* @__PURE__ */
|
|
1570
|
+
/* @__PURE__ */ jsx16(PlusIcon, { className: "size-3.5 shrink-0" }),
|
|
1571
|
+
/* @__PURE__ */ jsx16("span", { className: "min-w-0 truncate", children: lockedAction.label })
|
|
1224
1572
|
]
|
|
1225
1573
|
}
|
|
1226
1574
|
) : null
|
|
@@ -1234,15 +1582,15 @@ function CreatablePicker({
|
|
|
1234
1582
|
// src/dialog.tsx
|
|
1235
1583
|
import * as DialogPrimitive2 from "@radix-ui/react-dialog";
|
|
1236
1584
|
import * as VisuallyHidden2 from "@radix-ui/react-visually-hidden";
|
|
1237
|
-
import { treeContainsComponent } from "@ai-matrx/kit/react-tree";
|
|
1238
|
-
import * as
|
|
1239
|
-
import { jsx as
|
|
1585
|
+
import { treeContainsComponent as treeContainsComponent3 } from "@ai-matrx/kit/react-tree";
|
|
1586
|
+
import * as React14 from "react";
|
|
1587
|
+
import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1240
1588
|
var Dialog = ({
|
|
1241
1589
|
children,
|
|
1242
1590
|
...props
|
|
1243
1591
|
}) => {
|
|
1244
1592
|
const modal = props.modal ?? true;
|
|
1245
|
-
return /* @__PURE__ */
|
|
1593
|
+
return /* @__PURE__ */ jsx17(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx17(DialogPrimitive2.Root, { ...props, modal, children }) });
|
|
1246
1594
|
};
|
|
1247
1595
|
Dialog.displayName = "Dialog";
|
|
1248
1596
|
var DialogTrigger = DialogPrimitive2.Trigger;
|
|
@@ -1252,12 +1600,12 @@ var DialogPortal = ({
|
|
|
1252
1600
|
...props
|
|
1253
1601
|
}) => {
|
|
1254
1602
|
const resolved = usePortalContainer(container);
|
|
1255
|
-
return /* @__PURE__ */
|
|
1603
|
+
return /* @__PURE__ */ jsx17(DialogPrimitive2.Portal, { container: resolved ?? null, ...props });
|
|
1256
1604
|
};
|
|
1257
1605
|
DialogPortal.displayName = "DialogPortal";
|
|
1258
|
-
var DialogContainerContext =
|
|
1259
|
-
var useDialogContainer = () =>
|
|
1260
|
-
var DialogOverlay =
|
|
1606
|
+
var DialogContainerContext = React14.createContext(null);
|
|
1607
|
+
var useDialogContainer = () => React14.useContext(DialogContainerContext);
|
|
1608
|
+
var DialogOverlay = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1261
1609
|
DialogPrimitive2.Overlay,
|
|
1262
1610
|
{
|
|
1263
1611
|
ref,
|
|
@@ -1272,9 +1620,9 @@ var DialogOverlay = React12.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1272
1620
|
}
|
|
1273
1621
|
));
|
|
1274
1622
|
DialogOverlay.displayName = DialogPrimitive2.Overlay.displayName;
|
|
1275
|
-
var DialogContentPrimitive =
|
|
1623
|
+
var DialogContentPrimitive = React14.forwardRef((props, ref) => {
|
|
1276
1624
|
const isModal = useRadixDialogModal();
|
|
1277
|
-
return /* @__PURE__ */
|
|
1625
|
+
return /* @__PURE__ */ jsx17(
|
|
1278
1626
|
DialogPrimitive2.Content,
|
|
1279
1627
|
{
|
|
1280
1628
|
...props,
|
|
@@ -1287,7 +1635,7 @@ DialogContentPrimitive.displayName = "DialogContentPrimitive";
|
|
|
1287
1635
|
var DIALOG_DESKTOP_CLASSES2 = "fixed left-[50%] top-[50%] z-[10000] grid min-w-0 w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 max-h-[85dvh] overflow-y-auto overscroll-contain [--dialog-pad:1.5rem] overflow-x-clip border bg-background p-6 shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg";
|
|
1288
1636
|
var DIALOG_MOBILE_SHEET_CLASSES2 = "matrx-mobile-sheet fixed inset-x-0 bottom-0 left-0 right-0 top-auto z-[10000] flex min-w-0 flex-col w-full max-w-full max-h-[90dvh] translate-x-0 translate-y-0 gap-4 [--dialog-pad:1rem] overflow-x-clip border-t bg-background p-4 pb-safe shadow-lg [overflow-wrap:anywhere] [&>*]:min-w-0 [&>*]:max-w-full duration-200 rounded-t-2xl rounded-b-none overflow-y-auto overscroll-contain 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]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom";
|
|
1289
1637
|
var DIALOG_MOBILE_SHEET_OVERRIDE2 = "inset-x-0 bottom-0 left-0 right-0 top-auto translate-x-0 translate-y-0 w-full max-w-full max-h-[90dvh] rounded-b-none rounded-t-2xl overflow-y-auto";
|
|
1290
|
-
var DialogContent =
|
|
1638
|
+
var DialogContent = React14.forwardRef(
|
|
1291
1639
|
({
|
|
1292
1640
|
className,
|
|
1293
1641
|
children,
|
|
@@ -1300,10 +1648,10 @@ var DialogContent = React12.forwardRef(
|
|
|
1300
1648
|
const isModal = useRadixDialogModal();
|
|
1301
1649
|
const injectedContainer = usePortalContainer(container);
|
|
1302
1650
|
const asSheet = mobileSheet && isMobile;
|
|
1303
|
-
const [containerEl, setContainerEl] =
|
|
1651
|
+
const [containerEl, setContainerEl] = React14.useState(
|
|
1304
1652
|
null
|
|
1305
1653
|
);
|
|
1306
|
-
const mergedRef =
|
|
1654
|
+
const mergedRef = React14.useCallback(
|
|
1307
1655
|
(node) => {
|
|
1308
1656
|
setContainerEl(node);
|
|
1309
1657
|
if (typeof ref === "function") ref(node);
|
|
@@ -1312,11 +1660,11 @@ var DialogContent = React12.forwardRef(
|
|
|
1312
1660
|
},
|
|
1313
1661
|
[ref]
|
|
1314
1662
|
);
|
|
1315
|
-
const hasTitle =
|
|
1316
|
-
const hasDescription =
|
|
1317
|
-
return /* @__PURE__ */
|
|
1318
|
-
isModal ? /* @__PURE__ */
|
|
1319
|
-
/* @__PURE__ */
|
|
1663
|
+
const hasTitle = treeContainsComponent3(children, DialogTitle) || treeContainsComponent3(children, DialogPrimitive2.Title);
|
|
1664
|
+
const hasDescription = treeContainsComponent3(children, DialogDescription) || treeContainsComponent3(children, DialogPrimitive2.Description);
|
|
1665
|
+
return /* @__PURE__ */ jsxs8(DialogPortal, { container, children: [
|
|
1666
|
+
isModal ? /* @__PURE__ */ jsx17(DialogOverlay, {}) : null,
|
|
1667
|
+
/* @__PURE__ */ jsxs8(
|
|
1320
1668
|
DialogContentPrimitive,
|
|
1321
1669
|
{
|
|
1322
1670
|
ref: mergedRef,
|
|
@@ -1334,23 +1682,23 @@ var DialogContent = React12.forwardRef(
|
|
|
1334
1682
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
1335
1683
|
...props,
|
|
1336
1684
|
children: [
|
|
1337
|
-
hasTitle ? null : /* @__PURE__ */
|
|
1338
|
-
/* @__PURE__ */
|
|
1685
|
+
hasTitle ? null : /* @__PURE__ */ jsx17(VisuallyHidden2.Root, { children: /* @__PURE__ */ jsx17(DialogPrimitive2.Title, { children: "Dialog" }) }),
|
|
1686
|
+
/* @__PURE__ */ jsx17(DialogContainerContext.Provider, { value: containerEl, children: /* @__PURE__ */ jsx17(
|
|
1339
1687
|
PortalContainerProvider,
|
|
1340
1688
|
{
|
|
1341
1689
|
container: containerEl ?? injectedContainer ?? null,
|
|
1342
1690
|
children
|
|
1343
1691
|
}
|
|
1344
1692
|
) }),
|
|
1345
|
-
showCloseButton ? /* @__PURE__ */
|
|
1693
|
+
showCloseButton ? /* @__PURE__ */ jsxs8(
|
|
1346
1694
|
DialogPrimitive2.Close,
|
|
1347
1695
|
{
|
|
1348
1696
|
"data-slot": "dialog-close",
|
|
1349
1697
|
"aria-label": "Close",
|
|
1350
1698
|
className: "absolute right-2 top-4 flex h-11 w-11 items-center justify-center 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 sm:right-4 lg:h-10 lg:w-10",
|
|
1351
1699
|
children: [
|
|
1352
|
-
/* @__PURE__ */
|
|
1353
|
-
/* @__PURE__ */
|
|
1700
|
+
/* @__PURE__ */ jsx17(XIcon, { className: "h-4 w-4" }),
|
|
1701
|
+
/* @__PURE__ */ jsx17("span", { className: "sr-only", children: "Close" })
|
|
1354
1702
|
]
|
|
1355
1703
|
}
|
|
1356
1704
|
) : null
|
|
@@ -1364,7 +1712,7 @@ DialogContent.displayName = DialogPrimitive2.Content.displayName;
|
|
|
1364
1712
|
var DialogHeader = ({
|
|
1365
1713
|
className,
|
|
1366
1714
|
...props
|
|
1367
|
-
}) => /* @__PURE__ */
|
|
1715
|
+
}) => /* @__PURE__ */ jsx17(
|
|
1368
1716
|
"div",
|
|
1369
1717
|
{
|
|
1370
1718
|
"data-slot": "dialog-header",
|
|
@@ -1381,7 +1729,7 @@ DialogHeader.displayName = "DialogHeader";
|
|
|
1381
1729
|
var DialogFooter = ({
|
|
1382
1730
|
className,
|
|
1383
1731
|
...props
|
|
1384
|
-
}) => /* @__PURE__ */
|
|
1732
|
+
}) => /* @__PURE__ */ jsx17(
|
|
1385
1733
|
"div",
|
|
1386
1734
|
{
|
|
1387
1735
|
"data-slot": "dialog-footer",
|
|
@@ -1395,7 +1743,7 @@ var DialogFooter = ({
|
|
|
1395
1743
|
}
|
|
1396
1744
|
);
|
|
1397
1745
|
DialogFooter.displayName = "DialogFooter";
|
|
1398
|
-
var DialogTitle =
|
|
1746
|
+
var DialogTitle = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1399
1747
|
DialogPrimitive2.Title,
|
|
1400
1748
|
{
|
|
1401
1749
|
ref,
|
|
@@ -1405,7 +1753,7 @@ var DialogTitle = React12.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1405
1753
|
}
|
|
1406
1754
|
));
|
|
1407
1755
|
DialogTitle.displayName = DialogPrimitive2.Title.displayName;
|
|
1408
|
-
var DialogDescription =
|
|
1756
|
+
var DialogDescription = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx17(
|
|
1409
1757
|
DialogPrimitive2.Description,
|
|
1410
1758
|
{
|
|
1411
1759
|
ref,
|
|
@@ -1418,8 +1766,8 @@ DialogDescription.displayName = DialogPrimitive2.Description.displayName;
|
|
|
1418
1766
|
|
|
1419
1767
|
// src/dropdown-menu.tsx
|
|
1420
1768
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
1421
|
-
import * as
|
|
1422
|
-
import { jsx as
|
|
1769
|
+
import * as React15 from "react";
|
|
1770
|
+
import { jsx as jsx18, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1423
1771
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
1424
1772
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
1425
1773
|
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
|
@@ -1430,7 +1778,7 @@ var MENU_SURFACE_CLASS = "z-[10001] min-w-[8rem] max-h-[var(--radix-dropdown-men
|
|
|
1430
1778
|
var MENU_MOTION_CLASS = "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";
|
|
1431
1779
|
var MENU_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
1432
1780
|
var MENU_INDICATOR_ITEM_CLASS = "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
1433
|
-
var DropdownMenuSubTrigger =
|
|
1781
|
+
var DropdownMenuSubTrigger = React15.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1434
1782
|
DropdownMenuPrimitive.SubTrigger,
|
|
1435
1783
|
{
|
|
1436
1784
|
ref,
|
|
@@ -1443,12 +1791,12 @@ var DropdownMenuSubTrigger = React13.forwardRef(({ className, inset, children, .
|
|
|
1443
1791
|
...props,
|
|
1444
1792
|
children: [
|
|
1445
1793
|
children,
|
|
1446
|
-
/* @__PURE__ */
|
|
1794
|
+
/* @__PURE__ */ jsx18(RadixChevronRightIcon, { className: "ml-auto h-4 w-4" })
|
|
1447
1795
|
]
|
|
1448
1796
|
}
|
|
1449
1797
|
));
|
|
1450
1798
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
1451
|
-
var DropdownMenuSubContent =
|
|
1799
|
+
var DropdownMenuSubContent = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1452
1800
|
DropdownMenuPrimitive.SubContent,
|
|
1453
1801
|
{
|
|
1454
1802
|
ref,
|
|
@@ -1458,9 +1806,9 @@ var DropdownMenuSubContent = React13.forwardRef(({ className, ...props }, ref) =
|
|
|
1458
1806
|
}
|
|
1459
1807
|
));
|
|
1460
1808
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
1461
|
-
var DropdownMenuContent =
|
|
1809
|
+
var DropdownMenuContent = React15.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
|
|
1462
1810
|
const portalContainer = usePortalContainer(container);
|
|
1463
|
-
return /* @__PURE__ */
|
|
1811
|
+
return /* @__PURE__ */ jsx18(DropdownMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx18(
|
|
1464
1812
|
DropdownMenuPrimitive.Content,
|
|
1465
1813
|
{
|
|
1466
1814
|
ref,
|
|
@@ -1477,7 +1825,7 @@ var DropdownMenuContent = React13.forwardRef(({ className, sideOffset = 4, conta
|
|
|
1477
1825
|
) });
|
|
1478
1826
|
});
|
|
1479
1827
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
1480
|
-
var DropdownMenuItem =
|
|
1828
|
+
var DropdownMenuItem = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1481
1829
|
DropdownMenuPrimitive.Item,
|
|
1482
1830
|
{
|
|
1483
1831
|
ref,
|
|
@@ -1487,7 +1835,7 @@ var DropdownMenuItem = React13.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1487
1835
|
}
|
|
1488
1836
|
));
|
|
1489
1837
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
1490
|
-
var DropdownMenuCheckboxItem =
|
|
1838
|
+
var DropdownMenuCheckboxItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1491
1839
|
DropdownMenuPrimitive.CheckboxItem,
|
|
1492
1840
|
{
|
|
1493
1841
|
ref,
|
|
@@ -1495,13 +1843,13 @@ var DropdownMenuCheckboxItem = React13.forwardRef(({ className, children, ...pro
|
|
|
1495
1843
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
1496
1844
|
...props,
|
|
1497
1845
|
children: [
|
|
1498
|
-
/* @__PURE__ */
|
|
1846
|
+
/* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
1499
1847
|
children
|
|
1500
1848
|
]
|
|
1501
1849
|
}
|
|
1502
1850
|
));
|
|
1503
1851
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
1504
|
-
var DropdownMenuRadioItem =
|
|
1852
|
+
var DropdownMenuRadioItem = React15.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs9(
|
|
1505
1853
|
DropdownMenuPrimitive.RadioItem,
|
|
1506
1854
|
{
|
|
1507
1855
|
ref,
|
|
@@ -1509,13 +1857,13 @@ var DropdownMenuRadioItem = React13.forwardRef(({ className, children, ...props
|
|
|
1509
1857
|
className: cn(MENU_INDICATOR_ITEM_CLASS, className),
|
|
1510
1858
|
...props,
|
|
1511
1859
|
children: [
|
|
1512
|
-
/* @__PURE__ */
|
|
1860
|
+
/* @__PURE__ */ jsx18("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx18(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx18(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
1513
1861
|
children
|
|
1514
1862
|
]
|
|
1515
1863
|
}
|
|
1516
1864
|
));
|
|
1517
1865
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
1518
|
-
var DropdownMenuLabel =
|
|
1866
|
+
var DropdownMenuLabel = React15.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1519
1867
|
DropdownMenuPrimitive.Label,
|
|
1520
1868
|
{
|
|
1521
1869
|
ref,
|
|
@@ -1525,7 +1873,7 @@ var DropdownMenuLabel = React13.forwardRef(({ className, inset, ...props }, ref)
|
|
|
1525
1873
|
}
|
|
1526
1874
|
));
|
|
1527
1875
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
1528
|
-
var DropdownMenuSeparator =
|
|
1876
|
+
var DropdownMenuSeparator = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx18(
|
|
1529
1877
|
DropdownMenuPrimitive.Separator,
|
|
1530
1878
|
{
|
|
1531
1879
|
ref,
|
|
@@ -1538,7 +1886,7 @@ DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
|
1538
1886
|
var DropdownMenuShortcut = ({
|
|
1539
1887
|
className,
|
|
1540
1888
|
...props
|
|
1541
|
-
}) => /* @__PURE__ */
|
|
1889
|
+
}) => /* @__PURE__ */ jsx18(
|
|
1542
1890
|
"span",
|
|
1543
1891
|
{
|
|
1544
1892
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -1550,7 +1898,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
1550
1898
|
|
|
1551
1899
|
// src/editable-label.tsx
|
|
1552
1900
|
import { useCallback as useCallback2, useEffect as useEffect2, useRef as useRef2, useState as useState4 } from "react";
|
|
1553
|
-
import { jsx as
|
|
1901
|
+
import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1554
1902
|
function EditableLabel({
|
|
1555
1903
|
value,
|
|
1556
1904
|
onCommit,
|
|
@@ -1657,8 +2005,8 @@ function EditableLabel({
|
|
|
1657
2005
|
setEditing
|
|
1658
2006
|
]);
|
|
1659
2007
|
if (editing) {
|
|
1660
|
-
return /* @__PURE__ */
|
|
1661
|
-
/* @__PURE__ */
|
|
2008
|
+
return /* @__PURE__ */ jsxs10("span", { className: cn("relative flex min-w-0 flex-1 items-center", className), children: [
|
|
2009
|
+
/* @__PURE__ */ jsx19(
|
|
1662
2010
|
"input",
|
|
1663
2011
|
{
|
|
1664
2012
|
ref: inputRef,
|
|
@@ -1698,12 +2046,12 @@ function EditableLabel({
|
|
|
1698
2046
|
)
|
|
1699
2047
|
}
|
|
1700
2048
|
),
|
|
1701
|
-
busy && /* @__PURE__ */
|
|
1702
|
-
error && /* @__PURE__ */
|
|
2049
|
+
busy && /* @__PURE__ */ jsx19(Loader2Icon, { className: "absolute right-1 h-3.5 w-3.5 animate-spin text-muted-foreground" }),
|
|
2050
|
+
error && /* @__PURE__ */ jsx19("span", { className: "absolute left-0 top-full mt-0.5 whitespace-nowrap text-xs text-destructive", children: error })
|
|
1703
2051
|
] });
|
|
1704
2052
|
}
|
|
1705
2053
|
if (controlled) return null;
|
|
1706
|
-
return /* @__PURE__ */
|
|
2054
|
+
return /* @__PURE__ */ jsx19(
|
|
1707
2055
|
"button",
|
|
1708
2056
|
{
|
|
1709
2057
|
type: "button",
|
|
@@ -1737,8 +2085,8 @@ function EditableLabel({
|
|
|
1737
2085
|
}
|
|
1738
2086
|
|
|
1739
2087
|
// src/input.tsx
|
|
1740
|
-
import * as
|
|
1741
|
-
import { jsx as
|
|
2088
|
+
import * as React16 from "react";
|
|
2089
|
+
import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1742
2090
|
var getVariantStyles = (variant = "default") => {
|
|
1743
2091
|
const baseStyles = `flex h-10 w-full border border-border bg-background text-foreground shadow-input rounded-md px-3 py-2 text-sm file:border-0 file:bg-transparent
|
|
1744
2092
|
file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground
|
|
@@ -1766,9 +2114,9 @@ var getVariantStyles = (variant = "default") => {
|
|
|
1766
2114
|
return baseStyles;
|
|
1767
2115
|
}
|
|
1768
2116
|
};
|
|
1769
|
-
var Input =
|
|
2117
|
+
var Input = React16.forwardRef(
|
|
1770
2118
|
({ className, type, variant = "default", ...props }, ref) => {
|
|
1771
|
-
return /* @__PURE__ */
|
|
2119
|
+
return /* @__PURE__ */ jsx20(
|
|
1772
2120
|
"input",
|
|
1773
2121
|
{
|
|
1774
2122
|
type,
|
|
@@ -1780,7 +2128,7 @@ var Input = React14.forwardRef(
|
|
|
1780
2128
|
}
|
|
1781
2129
|
);
|
|
1782
2130
|
Input.displayName = "Input";
|
|
1783
|
-
var EnterInput =
|
|
2131
|
+
var EnterInput = React16.forwardRef(
|
|
1784
2132
|
({ onEnter, ...props }, ref) => {
|
|
1785
2133
|
const handleKeyDown = (e) => {
|
|
1786
2134
|
if (e.key === "Enter" && onEnter) {
|
|
@@ -1788,7 +2136,7 @@ var EnterInput = React14.forwardRef(
|
|
|
1788
2136
|
onEnter();
|
|
1789
2137
|
}
|
|
1790
2138
|
};
|
|
1791
|
-
return /* @__PURE__ */
|
|
2139
|
+
return /* @__PURE__ */ jsx20(
|
|
1792
2140
|
Input,
|
|
1793
2141
|
{
|
|
1794
2142
|
...props,
|
|
@@ -1804,11 +2152,11 @@ var EnterInput = React14.forwardRef(
|
|
|
1804
2152
|
}
|
|
1805
2153
|
);
|
|
1806
2154
|
EnterInput.displayName = "EnterInput";
|
|
1807
|
-
var BasicInput =
|
|
2155
|
+
var BasicInput = React16.forwardRef(
|
|
1808
2156
|
// `variant` is accepted (prop-compatible with Input) but intentionally
|
|
1809
2157
|
// unused — and destructured so it never leaks onto the DOM element.
|
|
1810
2158
|
({ className, type, variant: _variant = "default", ...props }, ref) => {
|
|
1811
|
-
return /* @__PURE__ */
|
|
2159
|
+
return /* @__PURE__ */ jsx20(
|
|
1812
2160
|
"input",
|
|
1813
2161
|
{
|
|
1814
2162
|
type,
|
|
@@ -1823,10 +2171,10 @@ var BasicInput = React14.forwardRef(
|
|
|
1823
2171
|
}
|
|
1824
2172
|
);
|
|
1825
2173
|
BasicInput.displayName = "BasicInput";
|
|
1826
|
-
var InputWithPrefix =
|
|
1827
|
-
return /* @__PURE__ */
|
|
1828
|
-
prefix && /* @__PURE__ */
|
|
1829
|
-
/* @__PURE__ */
|
|
2174
|
+
var InputWithPrefix = React16.forwardRef(({ prefix, className, wrapperClassName, ...props }, ref) => {
|
|
2175
|
+
return /* @__PURE__ */ jsxs11("div", { className: cn("relative", wrapperClassName), children: [
|
|
2176
|
+
prefix && /* @__PURE__ */ jsx20("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground", children: prefix }),
|
|
2177
|
+
/* @__PURE__ */ jsx20(
|
|
1830
2178
|
Input,
|
|
1831
2179
|
{
|
|
1832
2180
|
ref,
|
|
@@ -1840,9 +2188,9 @@ InputWithPrefix.displayName = "InputWithPrefix";
|
|
|
1840
2188
|
|
|
1841
2189
|
// src/label.tsx
|
|
1842
2190
|
import * as LabelPrimitive from "@radix-ui/react-label";
|
|
1843
|
-
import * as
|
|
1844
|
-
import { jsx as
|
|
1845
|
-
var Label3 =
|
|
2191
|
+
import * as React17 from "react";
|
|
2192
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
2193
|
+
var Label3 = React17.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx21(
|
|
1846
2194
|
LabelPrimitive.Root,
|
|
1847
2195
|
{
|
|
1848
2196
|
ref,
|
|
@@ -1857,7 +2205,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
|
|
|
1857
2205
|
|
|
1858
2206
|
// src/overflow-toolbar.tsx
|
|
1859
2207
|
import { useLayoutEffect, useMemo, useRef as useRef3, useState as useState5 } from "react";
|
|
1860
|
-
import { Fragment, jsx as
|
|
2208
|
+
import { Fragment, jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1861
2209
|
var GAP_PX = 6;
|
|
1862
2210
|
var TONE = {
|
|
1863
2211
|
default: "border border-border bg-background hover:bg-accent text-foreground",
|
|
@@ -1879,16 +2227,16 @@ function ToolbarButton({
|
|
|
1879
2227
|
action.hideLabel && !action.running ? "w-7 justify-center px-0" : "px-2",
|
|
1880
2228
|
TONE[tone]
|
|
1881
2229
|
);
|
|
1882
|
-
const inner = /* @__PURE__ */
|
|
1883
|
-
/* @__PURE__ */
|
|
2230
|
+
const inner = /* @__PURE__ */ jsxs12(Fragment, { children: [
|
|
2231
|
+
/* @__PURE__ */ jsx22(
|
|
1884
2232
|
Icon2,
|
|
1885
2233
|
{
|
|
1886
2234
|
className: cn("w-3.5 h-3.5 shrink-0", action.running && "animate-spin")
|
|
1887
2235
|
}
|
|
1888
2236
|
),
|
|
1889
|
-
showLabel && /* @__PURE__ */
|
|
2237
|
+
showLabel && /* @__PURE__ */ jsx22("span", { children: text })
|
|
1890
2238
|
] });
|
|
1891
|
-
const control = action.href && !action.disabled ? /* @__PURE__ */
|
|
2239
|
+
const control = action.href && !action.disabled ? /* @__PURE__ */ jsx22(
|
|
1892
2240
|
"a",
|
|
1893
2241
|
{
|
|
1894
2242
|
href: action.href,
|
|
@@ -1898,7 +2246,7 @@ function ToolbarButton({
|
|
|
1898
2246
|
"aria-label": action.label,
|
|
1899
2247
|
children: inner
|
|
1900
2248
|
}
|
|
1901
|
-
) : /* @__PURE__ */
|
|
2249
|
+
) : /* @__PURE__ */ jsx22(
|
|
1902
2250
|
"button",
|
|
1903
2251
|
{
|
|
1904
2252
|
type: "button",
|
|
@@ -1910,12 +2258,12 @@ function ToolbarButton({
|
|
|
1910
2258
|
}
|
|
1911
2259
|
);
|
|
1912
2260
|
if (enableTooltip && action.hideLabel && renderTooltip) {
|
|
1913
|
-
return /* @__PURE__ */
|
|
2261
|
+
return /* @__PURE__ */ jsx22(Fragment, { children: renderTooltip(control, action.label) });
|
|
1914
2262
|
}
|
|
1915
2263
|
return control;
|
|
1916
2264
|
}
|
|
1917
2265
|
function OverflowTrigger({ ariaLabel }) {
|
|
1918
|
-
return /* @__PURE__ */
|
|
2266
|
+
return /* @__PURE__ */ jsx22(
|
|
1919
2267
|
"button",
|
|
1920
2268
|
{
|
|
1921
2269
|
type: "button",
|
|
@@ -1926,7 +2274,7 @@ function OverflowTrigger({ ariaLabel }) {
|
|
|
1926
2274
|
"inline-flex items-center justify-center h-7 w-7 rounded-md transition-colors",
|
|
1927
2275
|
"border border-border bg-background hover:bg-accent text-foreground"
|
|
1928
2276
|
),
|
|
1929
|
-
children: /* @__PURE__ */
|
|
2277
|
+
children: /* @__PURE__ */ jsx22(MoreHorizontalIcon, { className: "w-3.5 h-3.5" })
|
|
1930
2278
|
}
|
|
1931
2279
|
);
|
|
1932
2280
|
}
|
|
@@ -1986,22 +2334,22 @@ function OverflowToolbar({
|
|
|
1986
2334
|
}, [signature, leading != null]);
|
|
1987
2335
|
const shown = visibleActions.slice(0, visibleCount);
|
|
1988
2336
|
const hidden = visibleActions.slice(visibleCount);
|
|
1989
|
-
return /* @__PURE__ */
|
|
1990
|
-
/* @__PURE__ */
|
|
2337
|
+
return /* @__PURE__ */ jsxs12("div", { ref: containerRef, className: cn("relative min-w-0", className), children: [
|
|
2338
|
+
/* @__PURE__ */ jsxs12(
|
|
1991
2339
|
"div",
|
|
1992
2340
|
{
|
|
1993
2341
|
ref: ghostRef,
|
|
1994
2342
|
"aria-hidden": true,
|
|
1995
2343
|
className: "pointer-events-none absolute left-0 top-0 flex items-center gap-1.5 opacity-0",
|
|
1996
2344
|
children: [
|
|
1997
|
-
visibleActions.map((a) => /* @__PURE__ */
|
|
1998
|
-
/* @__PURE__ */
|
|
2345
|
+
visibleActions.map((a) => /* @__PURE__ */ jsx22(ToolbarButton, { action: a }, a.id)),
|
|
2346
|
+
/* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
1999
2347
|
]
|
|
2000
2348
|
}
|
|
2001
2349
|
),
|
|
2002
|
-
/* @__PURE__ */
|
|
2003
|
-
leading != null && /* @__PURE__ */
|
|
2004
|
-
shown.map((a) => /* @__PURE__ */
|
|
2350
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-end gap-1.5", children: [
|
|
2351
|
+
leading != null && /* @__PURE__ */ jsx22("span", { ref: leadingRef, className: "shrink-0", children: leading }),
|
|
2352
|
+
shown.map((a) => /* @__PURE__ */ jsx22(
|
|
2005
2353
|
ToolbarButton,
|
|
2006
2354
|
{
|
|
2007
2355
|
action: a,
|
|
@@ -2012,7 +2360,7 @@ function OverflowToolbar({
|
|
|
2012
2360
|
)),
|
|
2013
2361
|
hidden.length > 0 && renderOverflowMenu({
|
|
2014
2362
|
actions: hidden,
|
|
2015
|
-
trigger: /* @__PURE__ */
|
|
2363
|
+
trigger: /* @__PURE__ */ jsx22(OverflowTrigger, { ariaLabel: overflowAriaLabel })
|
|
2016
2364
|
})
|
|
2017
2365
|
] })
|
|
2018
2366
|
] });
|
|
@@ -2020,20 +2368,20 @@ function OverflowToolbar({
|
|
|
2020
2368
|
|
|
2021
2369
|
// src/progress.tsx
|
|
2022
2370
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
2023
|
-
import * as
|
|
2024
|
-
import { jsx as
|
|
2371
|
+
import * as React19 from "react";
|
|
2372
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2025
2373
|
var PROGRESS_TONES = {
|
|
2026
2374
|
default: "bg-primary",
|
|
2027
2375
|
success: "bg-success",
|
|
2028
2376
|
warning: "bg-warning",
|
|
2029
2377
|
destructive: "bg-destructive"
|
|
2030
2378
|
};
|
|
2031
|
-
var Progress =
|
|
2379
|
+
var Progress = React19.forwardRef(({ className, tone = "default", indicatorClassName, ...props }, ref) => {
|
|
2032
2380
|
const { value, max } = props;
|
|
2033
2381
|
const ceiling = max ?? 100;
|
|
2034
2382
|
const isIndeterminate = value === null || value === void 0;
|
|
2035
2383
|
const pct = isIndeterminate ? 0 : Math.min(100, Math.max(0, value / ceiling * 100));
|
|
2036
|
-
return /* @__PURE__ */
|
|
2384
|
+
return /* @__PURE__ */ jsx23(
|
|
2037
2385
|
ProgressPrimitive.Root,
|
|
2038
2386
|
{
|
|
2039
2387
|
ref,
|
|
@@ -2043,7 +2391,7 @@ var Progress = React17.forwardRef(({ className, tone = "default", indicatorClass
|
|
|
2043
2391
|
className
|
|
2044
2392
|
),
|
|
2045
2393
|
...props,
|
|
2046
|
-
children: /* @__PURE__ */
|
|
2394
|
+
children: /* @__PURE__ */ jsx23(
|
|
2047
2395
|
ProgressPrimitive.Indicator,
|
|
2048
2396
|
{
|
|
2049
2397
|
"data-slot": "progress-indicator",
|
|
@@ -2063,9 +2411,9 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
|
2063
2411
|
|
|
2064
2412
|
// src/scroll-area.tsx
|
|
2065
2413
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
2066
|
-
import * as
|
|
2067
|
-
import { jsx as
|
|
2068
|
-
var ScrollArea =
|
|
2414
|
+
import * as React20 from "react";
|
|
2415
|
+
import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2416
|
+
var ScrollArea = React20.forwardRef(
|
|
2069
2417
|
({
|
|
2070
2418
|
className,
|
|
2071
2419
|
children,
|
|
@@ -2074,7 +2422,7 @@ var ScrollArea = React18.forwardRef(
|
|
|
2074
2422
|
scrollBarClassName,
|
|
2075
2423
|
orientation = "vertical",
|
|
2076
2424
|
...props
|
|
2077
|
-
}, ref) => /* @__PURE__ */
|
|
2425
|
+
}, ref) => /* @__PURE__ */ jsxs13(
|
|
2078
2426
|
ScrollAreaPrimitive.Root,
|
|
2079
2427
|
{
|
|
2080
2428
|
ref,
|
|
@@ -2082,7 +2430,7 @@ var ScrollArea = React18.forwardRef(
|
|
|
2082
2430
|
className: cn("relative overflow-hidden", className),
|
|
2083
2431
|
...props,
|
|
2084
2432
|
children: [
|
|
2085
|
-
/* @__PURE__ */
|
|
2433
|
+
/* @__PURE__ */ jsx24(
|
|
2086
2434
|
ScrollAreaPrimitive.Viewport,
|
|
2087
2435
|
{
|
|
2088
2436
|
ref: viewportRef,
|
|
@@ -2091,14 +2439,14 @@ var ScrollArea = React18.forwardRef(
|
|
|
2091
2439
|
children
|
|
2092
2440
|
}
|
|
2093
2441
|
),
|
|
2094
|
-
/* @__PURE__ */
|
|
2095
|
-
/* @__PURE__ */
|
|
2442
|
+
/* @__PURE__ */ jsx24(ScrollBar, { orientation, className: scrollBarClassName }),
|
|
2443
|
+
/* @__PURE__ */ jsx24(ScrollAreaPrimitive.Corner, {})
|
|
2096
2444
|
]
|
|
2097
2445
|
}
|
|
2098
2446
|
)
|
|
2099
2447
|
);
|
|
2100
2448
|
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
|
2101
|
-
var ScrollBar =
|
|
2449
|
+
var ScrollBar = React20.forwardRef(({ className, orientation = "vertical", ...props }, ref) => /* @__PURE__ */ jsx24(
|
|
2102
2450
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
2103
2451
|
{
|
|
2104
2452
|
ref,
|
|
@@ -2111,7 +2459,7 @@ var ScrollBar = React18.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2111
2459
|
className
|
|
2112
2460
|
),
|
|
2113
2461
|
...props,
|
|
2114
|
-
children: /* @__PURE__ */
|
|
2462
|
+
children: /* @__PURE__ */ jsx24(
|
|
2115
2463
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
2116
2464
|
{
|
|
2117
2465
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2123,7 +2471,7 @@ var ScrollBar = React18.forwardRef(({ className, orientation = "vertical", ...pr
|
|
|
2123
2471
|
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
|
2124
2472
|
|
|
2125
2473
|
// src/score-ring.tsx
|
|
2126
|
-
import { jsx as
|
|
2474
|
+
import { jsx as jsx25, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2127
2475
|
var DEFAULT_SCORE_THRESHOLDS = {
|
|
2128
2476
|
good: 75,
|
|
2129
2477
|
warning: 50
|
|
@@ -2154,7 +2502,7 @@ function ScoreRing({
|
|
|
2154
2502
|
const circumference = 2 * Math.PI * radius;
|
|
2155
2503
|
const boundedPct = pct === null ? 0 : Math.max(0, Math.min(100, pct));
|
|
2156
2504
|
const dashOffset = circumference * (1 - boundedPct / 100);
|
|
2157
|
-
return /* @__PURE__ */
|
|
2505
|
+
return /* @__PURE__ */ jsxs14(
|
|
2158
2506
|
"div",
|
|
2159
2507
|
{
|
|
2160
2508
|
className: cn(
|
|
@@ -2165,8 +2513,8 @@ function ScoreRing({
|
|
|
2165
2513
|
role: "img",
|
|
2166
2514
|
"aria-label": `${label ?? "Score"}: ${pct === null ? "not available" : `${pct} out of 100`}`,
|
|
2167
2515
|
children: [
|
|
2168
|
-
/* @__PURE__ */
|
|
2169
|
-
/* @__PURE__ */
|
|
2516
|
+
/* @__PURE__ */ jsxs14("svg", { viewBox: "0 0 100 100", className: "h-full w-full -rotate-90", children: [
|
|
2517
|
+
/* @__PURE__ */ jsx25(
|
|
2170
2518
|
"circle",
|
|
2171
2519
|
{
|
|
2172
2520
|
cx: "50",
|
|
@@ -2177,7 +2525,7 @@ function ScoreRing({
|
|
|
2177
2525
|
fill: "none"
|
|
2178
2526
|
}
|
|
2179
2527
|
),
|
|
2180
|
-
pct !== null ? /* @__PURE__ */
|
|
2528
|
+
pct !== null ? /* @__PURE__ */ jsx25(
|
|
2181
2529
|
"circle",
|
|
2182
2530
|
{
|
|
2183
2531
|
cx: "50",
|
|
@@ -2196,8 +2544,8 @@ function ScoreRing({
|
|
|
2196
2544
|
}
|
|
2197
2545
|
) : null
|
|
2198
2546
|
] }),
|
|
2199
|
-
/* @__PURE__ */
|
|
2200
|
-
/* @__PURE__ */
|
|
2547
|
+
/* @__PURE__ */ jsxs14("div", { className: "absolute flex flex-col items-center justify-center", children: [
|
|
2548
|
+
/* @__PURE__ */ jsx25(
|
|
2201
2549
|
"span",
|
|
2202
2550
|
{
|
|
2203
2551
|
className: cn(
|
|
@@ -2207,7 +2555,7 @@ function ScoreRing({
|
|
|
2207
2555
|
children: pct === null ? "\u2014" : `${pct}${suffix}`
|
|
2208
2556
|
}
|
|
2209
2557
|
),
|
|
2210
|
-
label ? /* @__PURE__ */
|
|
2558
|
+
label ? /* @__PURE__ */ jsx25("span", { className: "max-w-[74px] truncate text-[9px] font-semibold uppercase tracking-wide text-muted-foreground", children: label }) : null
|
|
2211
2559
|
] })
|
|
2212
2560
|
]
|
|
2213
2561
|
}
|
|
@@ -2215,7 +2563,7 @@ function ScoreRing({
|
|
|
2215
2563
|
}
|
|
2216
2564
|
|
|
2217
2565
|
// src/segmented-control.tsx
|
|
2218
|
-
import { jsx as
|
|
2566
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2219
2567
|
function SegmentedControl({
|
|
2220
2568
|
value,
|
|
2221
2569
|
onValueChange,
|
|
@@ -2230,7 +2578,7 @@ function SegmentedControl({
|
|
|
2230
2578
|
md: "h-9 text-sm",
|
|
2231
2579
|
lg: "h-10 text-base"
|
|
2232
2580
|
};
|
|
2233
|
-
return /* @__PURE__ */
|
|
2581
|
+
return /* @__PURE__ */ jsx26(
|
|
2234
2582
|
"div",
|
|
2235
2583
|
{
|
|
2236
2584
|
className: cn(
|
|
@@ -2241,7 +2589,7 @@ function SegmentedControl({
|
|
|
2241
2589
|
role: "tablist",
|
|
2242
2590
|
children: data.map((option) => {
|
|
2243
2591
|
const isActive = value === option.value;
|
|
2244
|
-
return /* @__PURE__ */
|
|
2592
|
+
return /* @__PURE__ */ jsx26(
|
|
2245
2593
|
"button",
|
|
2246
2594
|
{
|
|
2247
2595
|
type: "button",
|
|
@@ -2267,13 +2615,13 @@ function SegmentedControl({
|
|
|
2267
2615
|
|
|
2268
2616
|
// src/select.tsx
|
|
2269
2617
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
2270
|
-
import { cva as
|
|
2271
|
-
import * as
|
|
2272
|
-
import { jsx as
|
|
2618
|
+
import { cva as cva4 } from "class-variance-authority";
|
|
2619
|
+
import * as React21 from "react";
|
|
2620
|
+
import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2273
2621
|
var Select = SelectPrimitive.Root;
|
|
2274
2622
|
var SelectGroup = SelectPrimitive.Group;
|
|
2275
2623
|
var SelectValue = SelectPrimitive.Value;
|
|
2276
|
-
var selectTriggerVariants =
|
|
2624
|
+
var selectTriggerVariants = cva4(
|
|
2277
2625
|
"flex w-full items-center justify-between whitespace-nowrap rounded-md border border-border bg-card text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground transition-colors hover:bg-accent hover:border-accent-foreground/20 focus:outline-none focus:ring-1 focus:ring-primary/30 focus:border-primary/40 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
2278
2626
|
{
|
|
2279
2627
|
variants: {
|
|
@@ -2288,7 +2636,7 @@ var selectTriggerVariants = cva3(
|
|
|
2288
2636
|
}
|
|
2289
2637
|
}
|
|
2290
2638
|
);
|
|
2291
|
-
var SelectTrigger =
|
|
2639
|
+
var SelectTrigger = React21.forwardRef(({ className, children, hideArrow = false, size, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2292
2640
|
SelectPrimitive.Trigger,
|
|
2293
2641
|
{
|
|
2294
2642
|
ref,
|
|
@@ -2296,12 +2644,12 @@ var SelectTrigger = React19.forwardRef(({ className, children, hideArrow = false
|
|
|
2296
2644
|
...props,
|
|
2297
2645
|
children: [
|
|
2298
2646
|
children,
|
|
2299
|
-
!hideArrow && /* @__PURE__ */
|
|
2647
|
+
!hideArrow && /* @__PURE__ */ jsx27(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })
|
|
2300
2648
|
]
|
|
2301
2649
|
}
|
|
2302
2650
|
));
|
|
2303
2651
|
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
|
2304
|
-
var SelectScrollUpButton =
|
|
2652
|
+
var SelectScrollUpButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
2305
2653
|
SelectPrimitive.ScrollUpButton,
|
|
2306
2654
|
{
|
|
2307
2655
|
ref,
|
|
@@ -2310,11 +2658,11 @@ var SelectScrollUpButton = React19.forwardRef(({ className, ...props }, ref) =>
|
|
|
2310
2658
|
className
|
|
2311
2659
|
),
|
|
2312
2660
|
...props,
|
|
2313
|
-
children: /* @__PURE__ */
|
|
2661
|
+
children: /* @__PURE__ */ jsx27(RadixChevronUpIcon, {})
|
|
2314
2662
|
}
|
|
2315
2663
|
));
|
|
2316
2664
|
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
|
2317
|
-
var SelectScrollDownButton =
|
|
2665
|
+
var SelectScrollDownButton = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
2318
2666
|
SelectPrimitive.ScrollDownButton,
|
|
2319
2667
|
{
|
|
2320
2668
|
ref,
|
|
@@ -2323,13 +2671,13 @@ var SelectScrollDownButton = React19.forwardRef(({ className, ...props }, ref) =
|
|
|
2323
2671
|
className
|
|
2324
2672
|
),
|
|
2325
2673
|
...props,
|
|
2326
|
-
children: /* @__PURE__ */
|
|
2674
|
+
children: /* @__PURE__ */ jsx27(RadixChevronDownIcon, {})
|
|
2327
2675
|
}
|
|
2328
2676
|
));
|
|
2329
2677
|
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
|
2330
|
-
var SelectContent =
|
|
2678
|
+
var SelectContent = React21.forwardRef(({ className, children, position = "popper", container, ...props }, ref) => {
|
|
2331
2679
|
const portalContainer = usePortalContainer(container);
|
|
2332
|
-
return /* @__PURE__ */
|
|
2680
|
+
return /* @__PURE__ */ jsx27(SelectPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs15(
|
|
2333
2681
|
SelectPrimitive.Content,
|
|
2334
2682
|
{
|
|
2335
2683
|
ref,
|
|
@@ -2341,8 +2689,8 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
|
|
|
2341
2689
|
position,
|
|
2342
2690
|
...props,
|
|
2343
2691
|
children: [
|
|
2344
|
-
/* @__PURE__ */
|
|
2345
|
-
/* @__PURE__ */
|
|
2692
|
+
/* @__PURE__ */ jsx27(SelectScrollUpButton, {}),
|
|
2693
|
+
/* @__PURE__ */ jsx27(
|
|
2346
2694
|
SelectPrimitive.Viewport,
|
|
2347
2695
|
{
|
|
2348
2696
|
className: cn(
|
|
@@ -2352,13 +2700,13 @@ var SelectContent = React19.forwardRef(({ className, children, position = "poppe
|
|
|
2352
2700
|
children
|
|
2353
2701
|
}
|
|
2354
2702
|
),
|
|
2355
|
-
/* @__PURE__ */
|
|
2703
|
+
/* @__PURE__ */ jsx27(SelectScrollDownButton, {})
|
|
2356
2704
|
]
|
|
2357
2705
|
}
|
|
2358
2706
|
) });
|
|
2359
2707
|
});
|
|
2360
2708
|
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
|
2361
|
-
var SelectLabel =
|
|
2709
|
+
var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
2362
2710
|
SelectPrimitive.Label,
|
|
2363
2711
|
{
|
|
2364
2712
|
ref,
|
|
@@ -2367,7 +2715,7 @@ var SelectLabel = React19.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2367
2715
|
}
|
|
2368
2716
|
));
|
|
2369
2717
|
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
|
2370
|
-
var SelectItem =
|
|
2718
|
+
var SelectItem = React21.forwardRef(({ className, children, description, ...props }, ref) => /* @__PURE__ */ jsxs15(
|
|
2371
2719
|
SelectPrimitive.Item,
|
|
2372
2720
|
{
|
|
2373
2721
|
ref,
|
|
@@ -2378,14 +2726,14 @@ var SelectItem = React19.forwardRef(({ className, children, description, ...prop
|
|
|
2378
2726
|
),
|
|
2379
2727
|
...props,
|
|
2380
2728
|
children: [
|
|
2381
|
-
/* @__PURE__ */
|
|
2382
|
-
/* @__PURE__ */
|
|
2383
|
-
description ? /* @__PURE__ */
|
|
2729
|
+
/* @__PURE__ */ jsx27("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx27(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx27(CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
2730
|
+
/* @__PURE__ */ jsx27(SelectPrimitive.ItemText, { children }),
|
|
2731
|
+
description ? /* @__PURE__ */ jsx27("span", { className: "block text-xs leading-snug text-muted-foreground", children: description }) : null
|
|
2384
2732
|
]
|
|
2385
2733
|
}
|
|
2386
2734
|
));
|
|
2387
2735
|
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
|
2388
|
-
var SelectSeparator =
|
|
2736
|
+
var SelectSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx27(
|
|
2389
2737
|
SelectPrimitive.Separator,
|
|
2390
2738
|
{
|
|
2391
2739
|
ref,
|
|
@@ -2397,9 +2745,9 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
|
2397
2745
|
|
|
2398
2746
|
// src/separator.tsx
|
|
2399
2747
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
2400
|
-
import * as
|
|
2401
|
-
import { jsx as
|
|
2402
|
-
var Separator4 =
|
|
2748
|
+
import * as React22 from "react";
|
|
2749
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
2750
|
+
var Separator4 = React22.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ jsx28(
|
|
2403
2751
|
SeparatorPrimitive.Root,
|
|
2404
2752
|
{
|
|
2405
2753
|
ref,
|
|
@@ -2417,13 +2765,13 @@ Separator4.displayName = SeparatorPrimitive.Root.displayName;
|
|
|
2417
2765
|
|
|
2418
2766
|
// src/sheet.tsx
|
|
2419
2767
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
2420
|
-
import { treeContainsComponent as
|
|
2421
|
-
import { cva as
|
|
2422
|
-
import * as
|
|
2423
|
-
import { jsx as
|
|
2424
|
-
var SheetContentBase =
|
|
2768
|
+
import { treeContainsComponent as treeContainsComponent4 } from "@ai-matrx/kit/react-tree";
|
|
2769
|
+
import { cva as cva5 } from "class-variance-authority";
|
|
2770
|
+
import * as React23 from "react";
|
|
2771
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2772
|
+
var SheetContentBase = React23.forwardRef(({ ...props }, ref) => {
|
|
2425
2773
|
const isModal = useRadixDialogModal();
|
|
2426
|
-
return /* @__PURE__ */
|
|
2774
|
+
return /* @__PURE__ */ jsx29(
|
|
2427
2775
|
SheetPrimitive.Content,
|
|
2428
2776
|
{
|
|
2429
2777
|
...props,
|
|
@@ -2433,15 +2781,15 @@ var SheetContentBase = React21.forwardRef(({ ...props }, ref) => {
|
|
|
2433
2781
|
);
|
|
2434
2782
|
});
|
|
2435
2783
|
SheetContentBase.displayName = "SheetContentBase";
|
|
2436
|
-
var Sheet =
|
|
2784
|
+
var Sheet = React23.forwardRef(({ children, ...props }, _ref) => {
|
|
2437
2785
|
const modal = props.modal ?? true;
|
|
2438
|
-
return /* @__PURE__ */
|
|
2786
|
+
return /* @__PURE__ */ jsx29(RadixDialogModalProvider, { modal, children: /* @__PURE__ */ jsx29(SheetPrimitive.Root, { ...props, modal, children }) });
|
|
2439
2787
|
});
|
|
2440
2788
|
Sheet.displayName = "Sheet";
|
|
2441
2789
|
var SheetTrigger = SheetPrimitive.Trigger;
|
|
2442
2790
|
var SheetClose = SheetPrimitive.Close;
|
|
2443
2791
|
var SheetPortal = SheetPrimitive.Portal;
|
|
2444
|
-
var SheetOverlay =
|
|
2792
|
+
var SheetOverlay = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2445
2793
|
SheetPrimitive.Overlay,
|
|
2446
2794
|
{
|
|
2447
2795
|
className: cn(
|
|
@@ -2453,7 +2801,7 @@ var SheetOverlay = React21.forwardRef(({ className, ...props }, ref) => /* @__PU
|
|
|
2453
2801
|
}
|
|
2454
2802
|
));
|
|
2455
2803
|
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
|
2456
|
-
var sheetVariants =
|
|
2804
|
+
var sheetVariants = cva5(
|
|
2457
2805
|
"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",
|
|
2458
2806
|
{
|
|
2459
2807
|
variants: {
|
|
@@ -2470,7 +2818,7 @@ var sheetVariants = cva4(
|
|
|
2470
2818
|
}
|
|
2471
2819
|
}
|
|
2472
2820
|
);
|
|
2473
|
-
var SheetDescription =
|
|
2821
|
+
var SheetDescription = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2474
2822
|
SheetPrimitive.Description,
|
|
2475
2823
|
{
|
|
2476
2824
|
ref,
|
|
@@ -2479,7 +2827,7 @@ var SheetDescription = React21.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
2479
2827
|
}
|
|
2480
2828
|
));
|
|
2481
2829
|
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
2482
|
-
var SheetContent =
|
|
2830
|
+
var SheetContent = React23.forwardRef(
|
|
2483
2831
|
({
|
|
2484
2832
|
side = "right",
|
|
2485
2833
|
className,
|
|
@@ -2489,10 +2837,10 @@ var SheetContent = React21.forwardRef(
|
|
|
2489
2837
|
overlayClassName,
|
|
2490
2838
|
...props
|
|
2491
2839
|
}, ref) => {
|
|
2492
|
-
const hasDescription =
|
|
2493
|
-
return /* @__PURE__ */
|
|
2494
|
-
!hideOverlay && /* @__PURE__ */
|
|
2495
|
-
/* @__PURE__ */
|
|
2840
|
+
const hasDescription = treeContainsComponent4(children, SheetDescription) || treeContainsComponent4(children, SheetPrimitive.Description);
|
|
2841
|
+
return /* @__PURE__ */ jsxs16(SheetPortal, { children: [
|
|
2842
|
+
!hideOverlay && /* @__PURE__ */ jsx29(SheetOverlay, { className: overlayClassName }),
|
|
2843
|
+
/* @__PURE__ */ jsxs16(
|
|
2496
2844
|
SheetContentBase,
|
|
2497
2845
|
{
|
|
2498
2846
|
ref,
|
|
@@ -2500,9 +2848,9 @@ var SheetContent = React21.forwardRef(
|
|
|
2500
2848
|
...hasDescription ? {} : { "aria-describedby": void 0 },
|
|
2501
2849
|
...props,
|
|
2502
2850
|
children: [
|
|
2503
|
-
!hideCloseButton && /* @__PURE__ */
|
|
2504
|
-
/* @__PURE__ */
|
|
2505
|
-
/* @__PURE__ */
|
|
2851
|
+
!hideCloseButton && /* @__PURE__ */ jsxs16(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: [
|
|
2852
|
+
/* @__PURE__ */ jsx29(Cross2Icon, { className: "h-4 w-4" }),
|
|
2853
|
+
/* @__PURE__ */ jsx29("span", { className: "sr-only", children: "Close" })
|
|
2506
2854
|
] }),
|
|
2507
2855
|
children
|
|
2508
2856
|
]
|
|
@@ -2515,7 +2863,7 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
|
2515
2863
|
var SheetHeader = ({
|
|
2516
2864
|
className,
|
|
2517
2865
|
...props
|
|
2518
|
-
}) => /* @__PURE__ */
|
|
2866
|
+
}) => /* @__PURE__ */ jsx29(
|
|
2519
2867
|
"div",
|
|
2520
2868
|
{
|
|
2521
2869
|
className: cn(
|
|
@@ -2529,7 +2877,7 @@ SheetHeader.displayName = "SheetHeader";
|
|
|
2529
2877
|
var SheetFooter = ({
|
|
2530
2878
|
className,
|
|
2531
2879
|
...props
|
|
2532
|
-
}) => /* @__PURE__ */
|
|
2880
|
+
}) => /* @__PURE__ */ jsx29(
|
|
2533
2881
|
"div",
|
|
2534
2882
|
{
|
|
2535
2883
|
className: cn(
|
|
@@ -2540,7 +2888,7 @@ var SheetFooter = ({
|
|
|
2540
2888
|
}
|
|
2541
2889
|
);
|
|
2542
2890
|
SheetFooter.displayName = "SheetFooter";
|
|
2543
|
-
var SheetTitle =
|
|
2891
|
+
var SheetTitle = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
|
|
2544
2892
|
SheetPrimitive.Title,
|
|
2545
2893
|
{
|
|
2546
2894
|
ref,
|
|
@@ -2551,12 +2899,12 @@ var SheetTitle = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE
|
|
|
2551
2899
|
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
2552
2900
|
|
|
2553
2901
|
// src/skeleton.tsx
|
|
2554
|
-
import { jsx as
|
|
2902
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
2555
2903
|
function Skeleton({
|
|
2556
2904
|
className,
|
|
2557
2905
|
...props
|
|
2558
2906
|
}) {
|
|
2559
|
-
return /* @__PURE__ */
|
|
2907
|
+
return /* @__PURE__ */ jsx30(
|
|
2560
2908
|
"div",
|
|
2561
2909
|
{
|
|
2562
2910
|
className: cn("animate-pulse rounded-md bg-primary/10", className),
|
|
@@ -2567,8 +2915,8 @@ function Skeleton({
|
|
|
2567
2915
|
|
|
2568
2916
|
// src/switch.tsx
|
|
2569
2917
|
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
2570
|
-
import * as
|
|
2571
|
-
import { jsx as
|
|
2918
|
+
import * as React24 from "react";
|
|
2919
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
2572
2920
|
var SWITCH_SIZES = {
|
|
2573
2921
|
sm: {
|
|
2574
2922
|
root: "h-4 w-9 border-border data-[state=unchecked]:bg-input",
|
|
@@ -2579,7 +2927,7 @@ var SWITCH_SIZES = {
|
|
|
2579
2927
|
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
2580
2928
|
}
|
|
2581
2929
|
};
|
|
2582
|
-
var Switch =
|
|
2930
|
+
var Switch = React24.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx31(
|
|
2583
2931
|
SwitchPrimitives.Root,
|
|
2584
2932
|
{
|
|
2585
2933
|
ref,
|
|
@@ -2590,7 +2938,7 @@ var Switch = React22.forwardRef(({ className, size = "md", ...props }, ref) => /
|
|
|
2590
2938
|
className
|
|
2591
2939
|
),
|
|
2592
2940
|
...props,
|
|
2593
|
-
children: /* @__PURE__ */
|
|
2941
|
+
children: /* @__PURE__ */ jsx31(
|
|
2594
2942
|
SwitchPrimitives.Thumb,
|
|
2595
2943
|
{
|
|
2596
2944
|
"data-slot": "switch-thumb",
|
|
@@ -2606,7 +2954,7 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
|
2606
2954
|
|
|
2607
2955
|
// src/tabbed-bottom-sheet.tsx
|
|
2608
2956
|
import { useState as useState6 } from "react";
|
|
2609
|
-
import { jsx as
|
|
2957
|
+
import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2610
2958
|
function TabbedBottomSheet({
|
|
2611
2959
|
open,
|
|
2612
2960
|
onOpenChange,
|
|
@@ -2620,15 +2968,15 @@ function TabbedBottomSheet({
|
|
|
2620
2968
|
if (open) setSelectedTabId(null);
|
|
2621
2969
|
}
|
|
2622
2970
|
const selectedTab = selectedTabId ? tabs.find((tab) => tab.id === selectedTabId) : null;
|
|
2623
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ jsx32(
|
|
2624
2972
|
BottomSheet,
|
|
2625
2973
|
{
|
|
2626
2974
|
open,
|
|
2627
2975
|
onOpenChange,
|
|
2628
2976
|
title,
|
|
2629
2977
|
size: "full",
|
|
2630
|
-
children: /* @__PURE__ */
|
|
2631
|
-
/* @__PURE__ */
|
|
2978
|
+
children: /* @__PURE__ */ jsxs17("div", { className: "matrx-mobile-sheet flex min-h-0 flex-1 flex-col", children: [
|
|
2979
|
+
/* @__PURE__ */ jsx32(
|
|
2632
2980
|
BottomSheetHeader,
|
|
2633
2981
|
{
|
|
2634
2982
|
title: selectedTab ? selectedTab.label : title,
|
|
@@ -2636,19 +2984,19 @@ function TabbedBottomSheet({
|
|
|
2636
2984
|
onBack: () => setSelectedTabId(null)
|
|
2637
2985
|
}
|
|
2638
2986
|
),
|
|
2639
|
-
selectedTab ? /* @__PURE__ */
|
|
2987
|
+
selectedTab ? /* @__PURE__ */ jsx32("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden pb-safe", children: selectedTab.content }) : /* @__PURE__ */ jsx32(BottomSheetBody, { children: /* @__PURE__ */ jsx32("ul", { className: "divide-y divide-border", children: tabs.map((tab) => {
|
|
2640
2988
|
const Icon2 = tab.icon;
|
|
2641
|
-
return /* @__PURE__ */
|
|
2989
|
+
return /* @__PURE__ */ jsx32("li", { children: /* @__PURE__ */ jsxs17(
|
|
2642
2990
|
"button",
|
|
2643
2991
|
{
|
|
2644
2992
|
type: "button",
|
|
2645
2993
|
onClick: () => setSelectedTabId(tab.id),
|
|
2646
2994
|
className: "flex w-full items-center gap-3 px-4 py-3.5 text-left transition-colors hover:bg-muted/60 active:bg-muted",
|
|
2647
2995
|
children: [
|
|
2648
|
-
Icon2 ? /* @__PURE__ */
|
|
2649
|
-
/* @__PURE__ */
|
|
2996
|
+
Icon2 ? /* @__PURE__ */ jsx32(Icon2, { className: "h-5 w-5 shrink-0 text-muted-foreground" }) : null,
|
|
2997
|
+
/* @__PURE__ */ jsx32("span", { className: "min-w-0 flex-1 text-base text-foreground", children: tab.label }),
|
|
2650
2998
|
tab.trailing,
|
|
2651
|
-
/* @__PURE__ */
|
|
2999
|
+
/* @__PURE__ */ jsx32(ChevronRightIcon, { className: "h-5 w-5 shrink-0 text-muted-foreground" })
|
|
2652
3000
|
]
|
|
2653
3001
|
}
|
|
2654
3002
|
) }, tab.id);
|
|
@@ -2659,19 +3007,19 @@ function TabbedBottomSheet({
|
|
|
2659
3007
|
}
|
|
2660
3008
|
|
|
2661
3009
|
// src/table.tsx
|
|
2662
|
-
import * as
|
|
2663
|
-
import { jsx as
|
|
3010
|
+
import * as React25 from "react";
|
|
3011
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
2664
3012
|
var TABLE_SIZES = {
|
|
2665
3013
|
sm: { head: "px-2", cell: "p-2" },
|
|
2666
3014
|
md: { head: "px-3", cell: "p-3" }
|
|
2667
3015
|
};
|
|
2668
|
-
var TableSizeContext =
|
|
3016
|
+
var TableSizeContext = React25.createContext("md");
|
|
2669
3017
|
function useTableSize() {
|
|
2670
|
-
return
|
|
3018
|
+
return React25.useContext(TableSizeContext);
|
|
2671
3019
|
}
|
|
2672
|
-
var Table =
|
|
3020
|
+
var Table = React25.forwardRef(
|
|
2673
3021
|
({ className, size = "md", wrap = true, wrapperClassName, ...props }, ref) => {
|
|
2674
|
-
const table = /* @__PURE__ */
|
|
3022
|
+
const table = /* @__PURE__ */ jsx33(
|
|
2675
3023
|
"table",
|
|
2676
3024
|
{
|
|
2677
3025
|
ref,
|
|
@@ -2681,7 +3029,7 @@ var Table = React23.forwardRef(
|
|
|
2681
3029
|
...props
|
|
2682
3030
|
}
|
|
2683
3031
|
);
|
|
2684
|
-
return /* @__PURE__ */
|
|
3032
|
+
return /* @__PURE__ */ jsx33(TableSizeContext.Provider, { value: size, children: wrap ? /* @__PURE__ */ jsx33(
|
|
2685
3033
|
"div",
|
|
2686
3034
|
{
|
|
2687
3035
|
"data-slot": "table-wrapper",
|
|
@@ -2692,7 +3040,7 @@ var Table = React23.forwardRef(
|
|
|
2692
3040
|
}
|
|
2693
3041
|
);
|
|
2694
3042
|
Table.displayName = "Table";
|
|
2695
|
-
var TableHeader =
|
|
3043
|
+
var TableHeader = React25.forwardRef(({ className, sticky = false, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2696
3044
|
"thead",
|
|
2697
3045
|
{
|
|
2698
3046
|
ref,
|
|
@@ -2706,7 +3054,7 @@ var TableHeader = React23.forwardRef(({ className, sticky = false, ...props }, r
|
|
|
2706
3054
|
}
|
|
2707
3055
|
));
|
|
2708
3056
|
TableHeader.displayName = "TableHeader";
|
|
2709
|
-
var TableBody =
|
|
3057
|
+
var TableBody = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2710
3058
|
"tbody",
|
|
2711
3059
|
{
|
|
2712
3060
|
ref,
|
|
@@ -2716,7 +3064,7 @@ var TableBody = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
2716
3064
|
}
|
|
2717
3065
|
));
|
|
2718
3066
|
TableBody.displayName = "TableBody";
|
|
2719
|
-
var TableFooter =
|
|
3067
|
+
var TableFooter = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2720
3068
|
"tfoot",
|
|
2721
3069
|
{
|
|
2722
3070
|
ref,
|
|
@@ -2729,7 +3077,7 @@ var TableFooter = React23.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2729
3077
|
}
|
|
2730
3078
|
));
|
|
2731
3079
|
TableFooter.displayName = "TableFooter";
|
|
2732
|
-
var TableRow =
|
|
3080
|
+
var TableRow = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2733
3081
|
"tr",
|
|
2734
3082
|
{
|
|
2735
3083
|
ref,
|
|
@@ -2742,9 +3090,9 @@ var TableRow = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
2742
3090
|
}
|
|
2743
3091
|
));
|
|
2744
3092
|
TableRow.displayName = "TableRow";
|
|
2745
|
-
var TableHead =
|
|
3093
|
+
var TableHead = React25.forwardRef(({ className, ...props }, ref) => {
|
|
2746
3094
|
const size = useTableSize();
|
|
2747
|
-
return /* @__PURE__ */
|
|
3095
|
+
return /* @__PURE__ */ jsx33(
|
|
2748
3096
|
"th",
|
|
2749
3097
|
{
|
|
2750
3098
|
ref,
|
|
@@ -2759,9 +3107,9 @@ var TableHead = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2759
3107
|
);
|
|
2760
3108
|
});
|
|
2761
3109
|
TableHead.displayName = "TableHead";
|
|
2762
|
-
var TableCell =
|
|
3110
|
+
var TableCell = React25.forwardRef(({ className, ...props }, ref) => {
|
|
2763
3111
|
const size = useTableSize();
|
|
2764
|
-
return /* @__PURE__ */
|
|
3112
|
+
return /* @__PURE__ */ jsx33(
|
|
2765
3113
|
"td",
|
|
2766
3114
|
{
|
|
2767
3115
|
ref,
|
|
@@ -2776,7 +3124,7 @@ var TableCell = React23.forwardRef(({ className, ...props }, ref) => {
|
|
|
2776
3124
|
);
|
|
2777
3125
|
});
|
|
2778
3126
|
TableCell.displayName = "TableCell";
|
|
2779
|
-
var TableCaption =
|
|
3127
|
+
var TableCaption = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
|
|
2780
3128
|
"caption",
|
|
2781
3129
|
{
|
|
2782
3130
|
ref,
|
|
@@ -2789,11 +3137,11 @@ TableCaption.displayName = "TableCaption";
|
|
|
2789
3137
|
|
|
2790
3138
|
// src/tabs.tsx
|
|
2791
3139
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
2792
|
-
import * as
|
|
2793
|
-
import { jsx as
|
|
3140
|
+
import * as React26 from "react";
|
|
3141
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
2794
3142
|
var Tabs = TabsPrimitive.Root;
|
|
2795
3143
|
var TABS_TRIGGER_BASE = "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm";
|
|
2796
|
-
var TabsList =
|
|
3144
|
+
var TabsList = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2797
3145
|
TabsPrimitive.List,
|
|
2798
3146
|
{
|
|
2799
3147
|
ref,
|
|
@@ -2806,7 +3154,7 @@ var TabsList = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__
|
|
|
2806
3154
|
}
|
|
2807
3155
|
));
|
|
2808
3156
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
2809
|
-
var TabsTrigger =
|
|
3157
|
+
var TabsTrigger = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2810
3158
|
TabsPrimitive.Trigger,
|
|
2811
3159
|
{
|
|
2812
3160
|
ref,
|
|
@@ -2820,7 +3168,7 @@ var TabsTrigger = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2820
3168
|
}
|
|
2821
3169
|
));
|
|
2822
3170
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
2823
|
-
var TabsTriggerCore =
|
|
3171
|
+
var TabsTriggerCore = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2824
3172
|
TabsPrimitive.Trigger,
|
|
2825
3173
|
{
|
|
2826
3174
|
ref,
|
|
@@ -2830,7 +3178,7 @@ var TabsTriggerCore = React24.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
2830
3178
|
}
|
|
2831
3179
|
));
|
|
2832
3180
|
TabsTriggerCore.displayName = TabsPrimitive.Trigger.displayName;
|
|
2833
|
-
var TabsContent =
|
|
3181
|
+
var TabsContent = React26.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2834
3182
|
TabsPrimitive.Content,
|
|
2835
3183
|
{
|
|
2836
3184
|
ref,
|
|
@@ -2846,8 +3194,8 @@ var TabsContent = React24.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2846
3194
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
2847
3195
|
|
|
2848
3196
|
// src/textarea.tsx
|
|
2849
|
-
import * as
|
|
2850
|
-
import { jsx as
|
|
3197
|
+
import * as React27 from "react";
|
|
3198
|
+
import { jsx as jsx35, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
2851
3199
|
var FILL_HEIGHT_REGEX = /(?:^|\s)(h-full|h-dvh|flex-1|grow)(?:\s|$)/;
|
|
2852
3200
|
var FILL_WIDTH_REGEX = /(?:^|\s)(w-full|w-screen)(?:\s|$)/;
|
|
2853
3201
|
function getStretchClasses(className) {
|
|
@@ -2860,7 +3208,7 @@ function getStretchClasses(className) {
|
|
|
2860
3208
|
var TEXTAREA_ELEVATED_CLASS = "flex h-auto w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground shadow-textarea transition duration-400 placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-[2px] focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
2861
3209
|
var TEXTAREA_CONTROL_CLASS = "flex w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm text-foreground shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
|
|
2862
3210
|
function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
2863
|
-
|
|
3211
|
+
React27.useEffect(() => {
|
|
2864
3212
|
if (!autoGrow || !ref.current) return;
|
|
2865
3213
|
const textarea = ref.current;
|
|
2866
3214
|
textarea.style.height = "auto";
|
|
@@ -2876,8 +3224,8 @@ function useAutoGrow(ref, value, autoGrow = false, minHeight, maxHeight) {
|
|
|
2876
3224
|
}, [value, autoGrow, minHeight, maxHeight, ref]);
|
|
2877
3225
|
}
|
|
2878
3226
|
function useMergedTextareaRef(forwarded) {
|
|
2879
|
-
const internal =
|
|
2880
|
-
const callback =
|
|
3227
|
+
const internal = React27.useRef(null);
|
|
3228
|
+
const callback = React27.useCallback(
|
|
2881
3229
|
(node) => {
|
|
2882
3230
|
internal.current = node;
|
|
2883
3231
|
if (typeof forwarded === "function") forwarded(node);
|
|
@@ -2894,13 +3242,13 @@ function boxStyle(minHeight, maxHeight) {
|
|
|
2894
3242
|
maxHeight: maxHeight ? `${maxHeight}px` : void 0
|
|
2895
3243
|
};
|
|
2896
3244
|
}
|
|
2897
|
-
var Textarea =
|
|
3245
|
+
var Textarea = React27.forwardRef(
|
|
2898
3246
|
({ className, autoGrow, minHeight, maxHeight, wrapperClassName, ...props }, forwarded) => {
|
|
2899
3247
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
2900
3248
|
const stretchClasses = getStretchClasses(className);
|
|
2901
3249
|
const needsWrapper = Boolean(wrapperClassName || stretchClasses);
|
|
2902
3250
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
2903
|
-
const textarea = /* @__PURE__ */
|
|
3251
|
+
const textarea = /* @__PURE__ */ jsx35(
|
|
2904
3252
|
"textarea",
|
|
2905
3253
|
{
|
|
2906
3254
|
ref: callback,
|
|
@@ -2916,15 +3264,15 @@ var Textarea = React25.forwardRef(
|
|
|
2916
3264
|
}
|
|
2917
3265
|
);
|
|
2918
3266
|
if (!needsWrapper) return textarea;
|
|
2919
|
-
return /* @__PURE__ */
|
|
3267
|
+
return /* @__PURE__ */ jsx35("div", { className: cn(stretchClasses, wrapperClassName), children: textarea });
|
|
2920
3268
|
}
|
|
2921
3269
|
);
|
|
2922
3270
|
Textarea.displayName = "Textarea";
|
|
2923
|
-
var BasicTextarea =
|
|
3271
|
+
var BasicTextarea = React27.forwardRef(
|
|
2924
3272
|
({ className, autoGrow, minHeight, maxHeight, ...props }, forwarded) => {
|
|
2925
3273
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
2926
3274
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
2927
|
-
return /* @__PURE__ */
|
|
3275
|
+
return /* @__PURE__ */ jsx35(
|
|
2928
3276
|
"textarea",
|
|
2929
3277
|
{
|
|
2930
3278
|
ref: callback,
|
|
@@ -2942,7 +3290,7 @@ var BasicTextarea = React25.forwardRef(
|
|
|
2942
3290
|
}
|
|
2943
3291
|
);
|
|
2944
3292
|
BasicTextarea.displayName = "BasicTextarea";
|
|
2945
|
-
var TextareaWithPrefix =
|
|
3293
|
+
var TextareaWithPrefix = React27.forwardRef(
|
|
2946
3294
|
({
|
|
2947
3295
|
prefix,
|
|
2948
3296
|
className,
|
|
@@ -2954,13 +3302,13 @@ var TextareaWithPrefix = React25.forwardRef(
|
|
|
2954
3302
|
}, forwarded) => {
|
|
2955
3303
|
const { ref, callback } = useMergedTextareaRef(forwarded);
|
|
2956
3304
|
useAutoGrow(ref, props.value, autoGrow, minHeight, maxHeight);
|
|
2957
|
-
return /* @__PURE__ */
|
|
3305
|
+
return /* @__PURE__ */ jsxs18(
|
|
2958
3306
|
"div",
|
|
2959
3307
|
{
|
|
2960
3308
|
className: cn("relative", getStretchClasses(className), wrapperClassName),
|
|
2961
3309
|
children: [
|
|
2962
|
-
prefix ? /* @__PURE__ */
|
|
2963
|
-
/* @__PURE__ */
|
|
3310
|
+
prefix ? /* @__PURE__ */ jsx35("div", { className: "pointer-events-none absolute left-3 top-3 z-10 text-muted-foreground", children: prefix }) : null,
|
|
3311
|
+
/* @__PURE__ */ jsx35(
|
|
2964
3312
|
"textarea",
|
|
2965
3313
|
{
|
|
2966
3314
|
ref: callback,
|
|
@@ -3036,7 +3384,325 @@ function useScrollFade() {
|
|
|
3036
3384
|
}
|
|
3037
3385
|
};
|
|
3038
3386
|
}
|
|
3387
|
+
|
|
3388
|
+
// src/hover-card.tsx
|
|
3389
|
+
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
|
3390
|
+
import * as React28 from "react";
|
|
3391
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
3392
|
+
var HoverCard = HoverCardPrimitive.Root;
|
|
3393
|
+
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
|
3394
|
+
var HoverCardContent = React28.forwardRef(({ className, align = "center", sideOffset = 4, container, ...props }, ref) => {
|
|
3395
|
+
const resolved = usePortalContainer(container);
|
|
3396
|
+
return /* @__PURE__ */ jsx36(HoverCardPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx36(
|
|
3397
|
+
HoverCardPrimitive.Content,
|
|
3398
|
+
{
|
|
3399
|
+
ref,
|
|
3400
|
+
"data-slot": "hover-card-content",
|
|
3401
|
+
align,
|
|
3402
|
+
sideOffset,
|
|
3403
|
+
className: cn(
|
|
3404
|
+
"z-[10001] w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none 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",
|
|
3405
|
+
className
|
|
3406
|
+
),
|
|
3407
|
+
...props
|
|
3408
|
+
}
|
|
3409
|
+
) });
|
|
3410
|
+
});
|
|
3411
|
+
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
3412
|
+
|
|
3413
|
+
// src/radio-group.tsx
|
|
3414
|
+
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
3415
|
+
import * as React29 from "react";
|
|
3416
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
3417
|
+
var RadioGroupSizeContext = React29.createContext("md");
|
|
3418
|
+
var CONTROL_CLASSES = {
|
|
3419
|
+
sm: "h-3.5 w-3.5",
|
|
3420
|
+
md: "h-4 w-4",
|
|
3421
|
+
lg: "h-5 w-5"
|
|
3422
|
+
};
|
|
3423
|
+
var DOT_CLASSES = {
|
|
3424
|
+
sm: "h-1 w-1",
|
|
3425
|
+
md: "h-1.5 w-1.5",
|
|
3426
|
+
lg: "h-2 w-2"
|
|
3427
|
+
};
|
|
3428
|
+
var RadioGroup3 = React29.forwardRef(({ className, size = "md", ...props }, ref) => /* @__PURE__ */ jsx37(RadioGroupSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx37(
|
|
3429
|
+
RadioGroupPrimitive.Root,
|
|
3430
|
+
{
|
|
3431
|
+
ref,
|
|
3432
|
+
"data-slot": "radio-group",
|
|
3433
|
+
className: cn("grid gap-2", className),
|
|
3434
|
+
...props
|
|
3435
|
+
}
|
|
3436
|
+
) }));
|
|
3437
|
+
RadioGroup3.displayName = RadioGroupPrimitive.Root.displayName;
|
|
3438
|
+
var RadioGroupItem = React29.forwardRef(({ className, size, ...props }, ref) => {
|
|
3439
|
+
const groupSize = React29.useContext(RadioGroupSizeContext);
|
|
3440
|
+
const resolved = size ?? groupSize;
|
|
3441
|
+
return /* @__PURE__ */ jsx37(
|
|
3442
|
+
RadioGroupPrimitive.Item,
|
|
3443
|
+
{
|
|
3444
|
+
ref,
|
|
3445
|
+
"data-slot": "radio-group-item",
|
|
3446
|
+
className: cn(
|
|
3447
|
+
"relative aspect-square shrink-0 rounded-full border border-primary shadow",
|
|
3448
|
+
"focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
3449
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
3450
|
+
"data-[state=checked]:border-primary data-[state=checked]:bg-primary",
|
|
3451
|
+
// Ruling 2 — invisible 44px target on touch, layout untouched.
|
|
3452
|
+
"after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:content-['']",
|
|
3453
|
+
"pointer-coarse:after:h-11 pointer-coarse:after:w-11",
|
|
3454
|
+
CONTROL_CLASSES[resolved],
|
|
3455
|
+
className
|
|
3456
|
+
),
|
|
3457
|
+
...props,
|
|
3458
|
+
children: /* @__PURE__ */ jsx37(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx37(
|
|
3459
|
+
"div",
|
|
3460
|
+
{
|
|
3461
|
+
className: cn("rounded-full bg-primary-foreground", DOT_CLASSES[resolved])
|
|
3462
|
+
}
|
|
3463
|
+
) })
|
|
3464
|
+
}
|
|
3465
|
+
);
|
|
3466
|
+
});
|
|
3467
|
+
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
|
3468
|
+
|
|
3469
|
+
// src/resizable.tsx
|
|
3470
|
+
import { Group as Group4, Panel, Separator as Separator5 } from "react-resizable-panels";
|
|
3471
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3472
|
+
var HANDLE_SIZES = {
|
|
3473
|
+
xs: "w-0.5 [&[aria-orientation=horizontal]]:h-0.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3474
|
+
sm: "w-1 [&[aria-orientation=horizontal]]:h-1 [&[aria-orientation=horizontal]]:w-full",
|
|
3475
|
+
md: "w-1.5 [&[aria-orientation=horizontal]]:h-1.5 [&[aria-orientation=horizontal]]:w-full",
|
|
3476
|
+
lg: "w-2 [&[aria-orientation=horizontal]]:h-2 [&[aria-orientation=horizontal]]:w-full",
|
|
3477
|
+
xl: "w-3 [&[aria-orientation=horizontal]]:h-3 [&[aria-orientation=horizontal]]:w-full",
|
|
3478
|
+
"2xl": "w-4 [&[aria-orientation=horizontal]]:h-4 [&[aria-orientation=horizontal]]:w-full",
|
|
3479
|
+
"3xl": "w-6 [&[aria-orientation=horizontal]]:h-6 [&[aria-orientation=horizontal]]:w-full",
|
|
3480
|
+
"4xl": "w-8 [&[aria-orientation=horizontal]]:h-8 [&[aria-orientation=horizontal]]:w-full"
|
|
3481
|
+
};
|
|
3482
|
+
var ResizablePanelGroup = ({
|
|
3483
|
+
className,
|
|
3484
|
+
...props
|
|
3485
|
+
}) => /* @__PURE__ */ jsx38(
|
|
3486
|
+
Group4,
|
|
3487
|
+
{
|
|
3488
|
+
"data-slot": "resizable-group",
|
|
3489
|
+
className: cn("flex h-full w-full", className),
|
|
3490
|
+
...props
|
|
3491
|
+
}
|
|
3492
|
+
);
|
|
3493
|
+
ResizablePanelGroup.displayName = "ResizablePanelGroup";
|
|
3494
|
+
var ResizablePanel = Panel;
|
|
3495
|
+
var ResizableHandle = ({
|
|
3496
|
+
withHandle,
|
|
3497
|
+
size = "sm",
|
|
3498
|
+
className,
|
|
3499
|
+
...props
|
|
3500
|
+
}) => /* @__PURE__ */ jsx38(
|
|
3501
|
+
Separator5,
|
|
3502
|
+
{
|
|
3503
|
+
"data-slot": "resizable-handle",
|
|
3504
|
+
className: cn(
|
|
3505
|
+
"group/handle relative flex shrink-0 items-center justify-center bg-border transition-colors",
|
|
3506
|
+
// Invisible hit target centered on the line; wider still on touch.
|
|
3507
|
+
"after:absolute after:inset-y-0 after:left-1/2 after:w-1.5 after:-translate-x-1/2 after:content-['']",
|
|
3508
|
+
"pointer-coarse:after:w-11",
|
|
3509
|
+
"[&[aria-orientation=horizontal]]:after:inset-x-0 [&[aria-orientation=horizontal]]:after:left-0 [&[aria-orientation=horizontal]]:after:top-1/2 [&[aria-orientation=horizontal]]:after:h-1.5 [&[aria-orientation=horizontal]]:after:w-full [&[aria-orientation=horizontal]]:after:-translate-x-0 [&[aria-orientation=horizontal]]:after:-translate-y-1/2",
|
|
3510
|
+
"pointer-coarse:[&[aria-orientation=horizontal]]:after:h-11",
|
|
3511
|
+
// The drag-outline bug: suppress for ALL focus, restore for keyboard.
|
|
3512
|
+
"focus:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1",
|
|
3513
|
+
// Library-driven state feedback.
|
|
3514
|
+
"data-[separator=hover]:bg-primary data-[separator=active]:bg-primary",
|
|
3515
|
+
HANDLE_SIZES[size],
|
|
3516
|
+
"cursor-col-resize [&[aria-orientation=horizontal]]:cursor-row-resize",
|
|
3517
|
+
className
|
|
3518
|
+
),
|
|
3519
|
+
...props,
|
|
3520
|
+
children: withHandle ? /* @__PURE__ */ jsx38("div", { className: "z-10 flex h-8 w-4 items-center justify-center rounded-sm border bg-border group-aria-[orientation=horizontal]/handle:h-4 group-aria-[orientation=horizontal]/handle:w-8", children: /* @__PURE__ */ jsx38(DragHandleDots2Icon, { className: "h-2.5 w-2.5 group-aria-[orientation=horizontal]/handle:rotate-90" }) }) : null
|
|
3521
|
+
}
|
|
3522
|
+
);
|
|
3523
|
+
ResizableHandle.displayName = "ResizableHandle";
|
|
3524
|
+
|
|
3525
|
+
// src/slider.tsx
|
|
3526
|
+
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
3527
|
+
import * as React30 from "react";
|
|
3528
|
+
import { jsx as jsx39, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3529
|
+
var TRACK_CLASSES = {
|
|
3530
|
+
sm: "h-1",
|
|
3531
|
+
md: "h-1.5",
|
|
3532
|
+
lg: "h-2.5"
|
|
3533
|
+
};
|
|
3534
|
+
var THUMB_CLASSES = {
|
|
3535
|
+
sm: "h-3.5 w-3.5",
|
|
3536
|
+
md: "h-4 w-4",
|
|
3537
|
+
lg: "h-5 w-5"
|
|
3538
|
+
};
|
|
3539
|
+
var Slider = React30.forwardRef(({ className, size = "md", ...props }, ref) => {
|
|
3540
|
+
const thumbCount = Math.max(
|
|
3541
|
+
1,
|
|
3542
|
+
(props.value ?? props.defaultValue ?? [0]).length
|
|
3543
|
+
);
|
|
3544
|
+
return /* @__PURE__ */ jsxs19(
|
|
3545
|
+
SliderPrimitive.Root,
|
|
3546
|
+
{
|
|
3547
|
+
ref,
|
|
3548
|
+
"data-slot": "slider",
|
|
3549
|
+
className: cn(
|
|
3550
|
+
"relative flex w-full touch-none select-none items-center data-[disabled]:opacity-50",
|
|
3551
|
+
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",
|
|
3552
|
+
className
|
|
3553
|
+
),
|
|
3554
|
+
...props,
|
|
3555
|
+
children: [
|
|
3556
|
+
/* @__PURE__ */ jsx39(
|
|
3557
|
+
SliderPrimitive.Track,
|
|
3558
|
+
{
|
|
3559
|
+
"data-slot": "slider-track",
|
|
3560
|
+
className: cn(
|
|
3561
|
+
"relative w-full grow overflow-hidden rounded-full bg-primary/20",
|
|
3562
|
+
TRACK_CLASSES[size],
|
|
3563
|
+
"data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
3564
|
+
),
|
|
3565
|
+
children: /* @__PURE__ */ jsx39(
|
|
3566
|
+
SliderPrimitive.Range,
|
|
3567
|
+
{
|
|
3568
|
+
"data-slot": "slider-range",
|
|
3569
|
+
className: "absolute h-full bg-primary data-[orientation=vertical]:w-full"
|
|
3570
|
+
}
|
|
3571
|
+
)
|
|
3572
|
+
}
|
|
3573
|
+
),
|
|
3574
|
+
Array.from({ length: thumbCount }, (_, index) => /* @__PURE__ */ jsx39(
|
|
3575
|
+
SliderPrimitive.Thumb,
|
|
3576
|
+
{
|
|
3577
|
+
"data-slot": "slider-thumb",
|
|
3578
|
+
className: cn(
|
|
3579
|
+
"relative block cursor-grab rounded-full border border-primary/50 bg-background shadow transition-colors active:cursor-grabbing",
|
|
3580
|
+
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
3581
|
+
"disabled:pointer-events-none disabled:opacity-50",
|
|
3582
|
+
// Ruling 1 — invisible 44px target, coarse pointers only, so a
|
|
3583
|
+
// dense desktop row keeps its exact hit behaviour.
|
|
3584
|
+
"after:absolute after:left-1/2 after:top-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:content-['']",
|
|
3585
|
+
"pointer-coarse:after:h-11 pointer-coarse:after:w-11",
|
|
3586
|
+
THUMB_CLASSES[size]
|
|
3587
|
+
)
|
|
3588
|
+
},
|
|
3589
|
+
index
|
|
3590
|
+
))
|
|
3591
|
+
]
|
|
3592
|
+
}
|
|
3593
|
+
);
|
|
3594
|
+
});
|
|
3595
|
+
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
3596
|
+
|
|
3597
|
+
// src/toggle.tsx
|
|
3598
|
+
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
3599
|
+
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
3600
|
+
import { cva as cva6 } from "class-variance-authority";
|
|
3601
|
+
import * as React31 from "react";
|
|
3602
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
3603
|
+
var toggleVariants = cva6(
|
|
3604
|
+
"inline-flex cursor-pointer items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
3605
|
+
{
|
|
3606
|
+
variants: {
|
|
3607
|
+
variant: {
|
|
3608
|
+
default: "bg-transparent",
|
|
3609
|
+
outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground"
|
|
3610
|
+
},
|
|
3611
|
+
size: {
|
|
3612
|
+
default: "h-9 min-w-9 px-3",
|
|
3613
|
+
sm: "h-8 min-w-8 px-2",
|
|
3614
|
+
lg: "h-10 min-w-10 px-3"
|
|
3615
|
+
}
|
|
3616
|
+
},
|
|
3617
|
+
defaultVariants: {
|
|
3618
|
+
variant: "default",
|
|
3619
|
+
size: "default"
|
|
3620
|
+
}
|
|
3621
|
+
}
|
|
3622
|
+
);
|
|
3623
|
+
var Toggle = React31.forwardRef(({ className, variant, size, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3624
|
+
TogglePrimitive.Root,
|
|
3625
|
+
{
|
|
3626
|
+
ref,
|
|
3627
|
+
"data-slot": "toggle",
|
|
3628
|
+
className: cn(toggleVariants({ variant, size }), className),
|
|
3629
|
+
...props
|
|
3630
|
+
}
|
|
3631
|
+
));
|
|
3632
|
+
Toggle.displayName = TogglePrimitive.Root.displayName;
|
|
3633
|
+
var ToggleGroupContext = React31.createContext({ size: "default", variant: "default" });
|
|
3634
|
+
var ToggleGroup = React31.forwardRef(({ className, variant, size, children, ...props }, ref) => /* @__PURE__ */ jsx40(
|
|
3635
|
+
ToggleGroupPrimitive.Root,
|
|
3636
|
+
{
|
|
3637
|
+
ref,
|
|
3638
|
+
"data-slot": "toggle-group",
|
|
3639
|
+
className: cn("flex items-center justify-center gap-1", className),
|
|
3640
|
+
...props,
|
|
3641
|
+
children: /* @__PURE__ */ jsx40(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
3642
|
+
}
|
|
3643
|
+
));
|
|
3644
|
+
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
|
3645
|
+
var ToggleGroupItem = React31.forwardRef(({ className, children, variant, size, ...props }, ref) => {
|
|
3646
|
+
const context = React31.useContext(ToggleGroupContext);
|
|
3647
|
+
return /* @__PURE__ */ jsx40(
|
|
3648
|
+
ToggleGroupPrimitive.Item,
|
|
3649
|
+
{
|
|
3650
|
+
ref,
|
|
3651
|
+
"data-slot": "toggle-group-item",
|
|
3652
|
+
className: cn(
|
|
3653
|
+
toggleVariants({
|
|
3654
|
+
variant: context.variant ?? variant,
|
|
3655
|
+
size: context.size ?? size
|
|
3656
|
+
}),
|
|
3657
|
+
className
|
|
3658
|
+
),
|
|
3659
|
+
...props,
|
|
3660
|
+
children
|
|
3661
|
+
}
|
|
3662
|
+
);
|
|
3663
|
+
});
|
|
3664
|
+
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
|
3665
|
+
|
|
3666
|
+
// src/tooltip.tsx
|
|
3667
|
+
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
3668
|
+
import * as React32 from "react";
|
|
3669
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
3670
|
+
var TooltipProvider = TooltipPrimitive.Provider;
|
|
3671
|
+
var Tooltip = TooltipPrimitive.Root;
|
|
3672
|
+
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
3673
|
+
var TooltipContent = React32.forwardRef(({ className, sideOffset = 4, container, ...props }, ref) => {
|
|
3674
|
+
const resolved = usePortalContainer(container);
|
|
3675
|
+
return /* @__PURE__ */ jsx41(TooltipPrimitive.Portal, { container: resolved ?? null, children: /* @__PURE__ */ jsx41(
|
|
3676
|
+
TooltipPrimitive.Content,
|
|
3677
|
+
{
|
|
3678
|
+
ref,
|
|
3679
|
+
"data-slot": "tooltip-content",
|
|
3680
|
+
sideOffset,
|
|
3681
|
+
className: cn(
|
|
3682
|
+
"z-[10001] overflow-hidden rounded-md border border-border bg-popover px-3 py-1.5 text-xs text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",
|
|
3683
|
+
className
|
|
3684
|
+
),
|
|
3685
|
+
...props
|
|
3686
|
+
}
|
|
3687
|
+
) });
|
|
3688
|
+
});
|
|
3689
|
+
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
3039
3690
|
export {
|
|
3691
|
+
Alert,
|
|
3692
|
+
AlertDescription,
|
|
3693
|
+
AlertDialog,
|
|
3694
|
+
AlertDialogAction,
|
|
3695
|
+
AlertDialogCancel,
|
|
3696
|
+
AlertDialogContent,
|
|
3697
|
+
AlertDialogContentPrimitive,
|
|
3698
|
+
AlertDialogDescription,
|
|
3699
|
+
AlertDialogFooter,
|
|
3700
|
+
AlertDialogHeader,
|
|
3701
|
+
AlertDialogOverlay,
|
|
3702
|
+
AlertDialogPortal,
|
|
3703
|
+
AlertDialogTitle,
|
|
3704
|
+
AlertDialogTrigger,
|
|
3705
|
+
AlertTitle,
|
|
3040
3706
|
Avatar,
|
|
3041
3707
|
AvatarFallback,
|
|
3042
3708
|
AvatarImage,
|
|
@@ -3096,6 +3762,18 @@ export {
|
|
|
3096
3762
|
DialogPortal,
|
|
3097
3763
|
DialogTitle,
|
|
3098
3764
|
DialogTrigger,
|
|
3765
|
+
Drawer,
|
|
3766
|
+
DrawerBody,
|
|
3767
|
+
DrawerClose,
|
|
3768
|
+
DrawerContent,
|
|
3769
|
+
DrawerContentPrimitive,
|
|
3770
|
+
DrawerDescription,
|
|
3771
|
+
DrawerFooter,
|
|
3772
|
+
DrawerHeader,
|
|
3773
|
+
DrawerOverlay,
|
|
3774
|
+
DrawerPortal,
|
|
3775
|
+
DrawerTitle,
|
|
3776
|
+
DrawerTrigger,
|
|
3099
3777
|
DropdownMenu,
|
|
3100
3778
|
DropdownMenuCheckboxItem,
|
|
3101
3779
|
DropdownMenuContent,
|
|
@@ -3113,6 +3791,9 @@ export {
|
|
|
3113
3791
|
DropdownMenuTrigger,
|
|
3114
3792
|
EditableLabel,
|
|
3115
3793
|
EnterInput,
|
|
3794
|
+
HoverCard,
|
|
3795
|
+
HoverCardContent,
|
|
3796
|
+
HoverCardTrigger,
|
|
3116
3797
|
Input,
|
|
3117
3798
|
InputWithPrefix,
|
|
3118
3799
|
Label3 as Label,
|
|
@@ -3124,7 +3805,12 @@ export {
|
|
|
3124
3805
|
PopoverTrigger,
|
|
3125
3806
|
PortalContainerProvider,
|
|
3126
3807
|
Progress,
|
|
3808
|
+
RadioGroup3 as RadioGroup,
|
|
3809
|
+
RadioGroupItem,
|
|
3127
3810
|
RadixDialogModalProvider,
|
|
3811
|
+
ResizableHandle,
|
|
3812
|
+
ResizablePanel,
|
|
3813
|
+
ResizablePanelGroup,
|
|
3128
3814
|
ScoreRing,
|
|
3129
3815
|
ScrollArea,
|
|
3130
3816
|
ScrollBar,
|
|
@@ -3151,6 +3837,7 @@ export {
|
|
|
3151
3837
|
SheetTitle,
|
|
3152
3838
|
SheetTrigger,
|
|
3153
3839
|
Skeleton,
|
|
3840
|
+
Slider,
|
|
3154
3841
|
Switch,
|
|
3155
3842
|
TabbedBottomSheet,
|
|
3156
3843
|
Table,
|
|
@@ -3168,6 +3855,14 @@ export {
|
|
|
3168
3855
|
TabsTriggerCore,
|
|
3169
3856
|
Textarea,
|
|
3170
3857
|
TextareaWithPrefix,
|
|
3858
|
+
Toggle,
|
|
3859
|
+
ToggleGroup,
|
|
3860
|
+
ToggleGroupItem,
|
|
3861
|
+
Tooltip,
|
|
3862
|
+
TooltipContent,
|
|
3863
|
+
TooltipProvider,
|
|
3864
|
+
TooltipTrigger,
|
|
3865
|
+
alertVariants,
|
|
3171
3866
|
badgeVariants,
|
|
3172
3867
|
buttonVariants,
|
|
3173
3868
|
cn,
|
|
@@ -3175,8 +3870,10 @@ export {
|
|
|
3175
3870
|
scoreRingColorClasses,
|
|
3176
3871
|
selectTriggerVariants,
|
|
3177
3872
|
sheetVariants,
|
|
3873
|
+
toggleVariants,
|
|
3178
3874
|
useCardSize,
|
|
3179
3875
|
useDialogContainer,
|
|
3876
|
+
useDrawerDirection,
|
|
3180
3877
|
useIsMobile,
|
|
3181
3878
|
usePortalContainer,
|
|
3182
3879
|
useRadixDialogModal,
|