@doscientos/ui 0.1.18 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +425 -258
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +41 -4
- package/dist/index.d.ts +41 -4
- package/dist/index.js +391 -228
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -83,6 +83,16 @@ __export(index_exports, {
|
|
|
83
83
|
CommandItem: () => CommandItem,
|
|
84
84
|
CommandList: () => CommandList,
|
|
85
85
|
ConfirmDialog: () => ConfirmDialog,
|
|
86
|
+
Dialog: () => Dialog,
|
|
87
|
+
DialogClose: () => DialogClose,
|
|
88
|
+
DialogContent: () => DialogContent,
|
|
89
|
+
DialogDescription: () => DialogDescription,
|
|
90
|
+
DialogFooter: () => DialogFooter,
|
|
91
|
+
DialogHeader: () => DialogHeader,
|
|
92
|
+
DialogOverlay: () => DialogOverlay,
|
|
93
|
+
DialogPortal: () => DialogPortal,
|
|
94
|
+
DialogTitle: () => DialogTitle,
|
|
95
|
+
DialogTrigger: () => DialogTrigger,
|
|
86
96
|
Drawer: () => Drawer,
|
|
87
97
|
DrawerDescription: () => DrawerDescription,
|
|
88
98
|
DrawerFooter: () => DrawerFooter,
|
|
@@ -1165,36 +1175,183 @@ function ConfirmDialog({
|
|
|
1165
1175
|
);
|
|
1166
1176
|
}
|
|
1167
1177
|
|
|
1168
|
-
// src/ui/
|
|
1178
|
+
// src/ui/dialog/dialog.tsx
|
|
1179
|
+
var import_lucide_react4 = require("lucide-react");
|
|
1180
|
+
var React2 = __toESM(require("react"), 1);
|
|
1169
1181
|
var import_react_aria_components10 = require("react-aria-components");
|
|
1170
1182
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1183
|
+
var DialogContext = React2.createContext(null);
|
|
1184
|
+
function useDialogContext() {
|
|
1185
|
+
const context = React2.useContext(DialogContext);
|
|
1186
|
+
if (!context) throw new Error("Dialog components must be rendered within Dialog.");
|
|
1187
|
+
return context;
|
|
1188
|
+
}
|
|
1189
|
+
function Dialog({ children, defaultOpen = false, onOpenChange, open: controlledOpen }) {
|
|
1190
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React2.useState(defaultOpen);
|
|
1191
|
+
const open = controlledOpen ?? uncontrolledOpen;
|
|
1192
|
+
const setOpen = React2.useCallback(
|
|
1193
|
+
(nextOpen) => {
|
|
1194
|
+
if (controlledOpen === void 0) setUncontrolledOpen(nextOpen);
|
|
1195
|
+
onOpenChange?.(nextOpen);
|
|
1196
|
+
},
|
|
1197
|
+
[controlledOpen, onOpenChange]
|
|
1198
|
+
);
|
|
1199
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogContext.Provider, { value: { open, setOpen }, children });
|
|
1200
|
+
}
|
|
1201
|
+
function DialogTrigger({ asChild = false, children, onClick, ...props }) {
|
|
1202
|
+
const { setOpen } = useDialogContext();
|
|
1203
|
+
const handleClick = (event) => {
|
|
1204
|
+
onClick?.(event);
|
|
1205
|
+
if (!event.defaultPrevented) setOpen(true);
|
|
1206
|
+
};
|
|
1207
|
+
if (asChild && React2.isValidElement(children)) {
|
|
1208
|
+
const child = children;
|
|
1209
|
+
return React2.cloneElement(child, {
|
|
1210
|
+
...props,
|
|
1211
|
+
"data-slot": "dialog-trigger",
|
|
1212
|
+
onClick: (event) => {
|
|
1213
|
+
child.props.onClick?.(event);
|
|
1214
|
+
handleClick(event);
|
|
1215
|
+
}
|
|
1216
|
+
});
|
|
1217
|
+
}
|
|
1218
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { "data-slot": "dialog-trigger", onPress: () => setOpen(true), ...props, children });
|
|
1219
|
+
}
|
|
1220
|
+
function DialogPortal({ children }) {
|
|
1221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children });
|
|
1222
|
+
}
|
|
1223
|
+
function DialogOverlay({ children, className, ...props }) {
|
|
1224
|
+
const { open, setOpen } = useDialogContext();
|
|
1225
|
+
if (!open) return null;
|
|
1226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1227
|
+
import_react_aria_components10.ModalOverlay,
|
|
1228
|
+
{
|
|
1229
|
+
"data-slot": "dialog-overlay",
|
|
1230
|
+
isDismissable: true,
|
|
1231
|
+
isOpen: open,
|
|
1232
|
+
onOpenChange: setOpen,
|
|
1233
|
+
className: cn(
|
|
1234
|
+
"fixed inset-0 isolate z-50 grid place-items-center bg-black/10 p-4 duration-100 supports-backdrop-filter:backdrop-blur-xs data-entering:animate-ui-overlay-in data-exiting:animate-ui-overlay-out",
|
|
1235
|
+
className
|
|
1236
|
+
),
|
|
1237
|
+
...props,
|
|
1238
|
+
children
|
|
1239
|
+
}
|
|
1240
|
+
);
|
|
1241
|
+
}
|
|
1242
|
+
function DialogContent({
|
|
1243
|
+
children,
|
|
1244
|
+
className,
|
|
1245
|
+
onOverlayClick,
|
|
1246
|
+
showCloseButton = true,
|
|
1247
|
+
...props
|
|
1248
|
+
}) {
|
|
1249
|
+
const { setOpen } = useDialogContext();
|
|
1250
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogPortal, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1251
|
+
DialogOverlay,
|
|
1252
|
+
{
|
|
1253
|
+
onClick: (event) => {
|
|
1254
|
+
if (event.target === event.currentTarget) onOverlayClick?.(event);
|
|
1255
|
+
},
|
|
1256
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1257
|
+
import_react_aria_components10.Modal,
|
|
1258
|
+
{
|
|
1259
|
+
className: cn(
|
|
1260
|
+
"w-full max-w-[calc(100%-2rem)] max-h-[calc(100dvh-2rem)] outline-none sm:max-w-sm",
|
|
1261
|
+
className
|
|
1262
|
+
),
|
|
1263
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
1264
|
+
import_react_aria_components10.Dialog,
|
|
1265
|
+
{
|
|
1266
|
+
"data-slot": "dialog-content",
|
|
1267
|
+
className: cn(
|
|
1268
|
+
"grid max-h-[calc(100dvh-2rem)] gap-4 overflow-y-auto rounded-xl bg-background p-4 text-sm text-foreground ring-1 ring-foreground/10 outline-none",
|
|
1269
|
+
className
|
|
1270
|
+
),
|
|
1271
|
+
...props,
|
|
1272
|
+
children: [
|
|
1273
|
+
children,
|
|
1274
|
+
showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1275
|
+
Button,
|
|
1276
|
+
{
|
|
1277
|
+
"aria-label": "Cerrar di\xE1logo",
|
|
1278
|
+
"data-slot": "dialog-close",
|
|
1279
|
+
variant: "ghost",
|
|
1280
|
+
className: "absolute top-2 right-2",
|
|
1281
|
+
size: "icon-sm",
|
|
1282
|
+
onPress: () => setOpen(false),
|
|
1283
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_lucide_react4.XIcon, {})
|
|
1284
|
+
}
|
|
1285
|
+
) : null
|
|
1286
|
+
]
|
|
1287
|
+
}
|
|
1288
|
+
)
|
|
1289
|
+
}
|
|
1290
|
+
)
|
|
1291
|
+
}
|
|
1292
|
+
) });
|
|
1293
|
+
}
|
|
1294
|
+
function DialogClose({ asChild = false, children, onClick, ...props }) {
|
|
1295
|
+
const { setOpen } = useDialogContext();
|
|
1296
|
+
if (asChild && React2.isValidElement(children)) {
|
|
1297
|
+
const child = children;
|
|
1298
|
+
return React2.cloneElement(child, {
|
|
1299
|
+
...props,
|
|
1300
|
+
"data-slot": "dialog-close",
|
|
1301
|
+
onClick: (event) => {
|
|
1302
|
+
child.props.onClick?.(event);
|
|
1303
|
+
if (!event.defaultPrevented) setOpen(false);
|
|
1304
|
+
}
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { "data-slot": "dialog-close", onPress: () => setOpen(false), ...props, children });
|
|
1308
|
+
}
|
|
1309
|
+
function DialogHeader({ className, ...props }) {
|
|
1310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2", className), ...props });
|
|
1311
|
+
}
|
|
1312
|
+
function DialogFooter({ className, showCloseButton = false, children, ...props }) {
|
|
1313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { "data-slot": "dialog-footer", className: cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:flex-wrap sm:justify-end", className), ...props, children: [
|
|
1314
|
+
children,
|
|
1315
|
+
showCloseButton ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DialogClose, { variant: "outline", children: "Cerrar" }) : null
|
|
1316
|
+
] });
|
|
1317
|
+
}
|
|
1318
|
+
function DialogTitle({ className, ...props }) {
|
|
1319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_aria_components10.Heading, { slot: "title", "data-slot": "dialog-title", className: cn("font-heading text-base leading-none font-medium", className), ...props });
|
|
1320
|
+
}
|
|
1321
|
+
function DialogDescription({ className, ...props }) {
|
|
1322
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_aria_components10.Text, { slot: "description", "data-slot": "dialog-description", className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props });
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
// src/ui/drawer/drawer.tsx
|
|
1326
|
+
var import_react_aria_components11 = require("react-aria-components");
|
|
1327
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1171
1328
|
var sideStyles = { left: "inset-y-0 left-0 h-full w-[min(22rem,calc(100%-2rem))] data-entering:animate-ui-surface-in", right: "inset-y-0 right-0 h-full w-[min(22rem,calc(100%-2rem))] data-entering:animate-ui-surface-in", bottom: "inset-x-0 bottom-0 max-h-[85vh] w-full data-entering:animate-ui-surface-in" };
|
|
1172
1329
|
function Drawer({ children, side = "right", className, ...props }) {
|
|
1173
|
-
return /* @__PURE__ */ (0,
|
|
1330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.ModalOverlay, { isDismissable: true, className: "fixed inset-0 z-50 bg-black/20 backdrop-blur-[1px] motion-safe:data-entering:animate-ui-overlay-in motion-safe:data-exiting:animate-ui-overlay-out", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.Modal, { className: cn("absolute grid gap-4 overflow-y-auto rounded-xl border border-border bg-background p-5 text-foreground shadow-xl outline-none", sideStyles[side], className), children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_aria_components11.Dialog, { "data-slot": "drawer", className: "outline-none", children }) }) });
|
|
1174
1331
|
}
|
|
1175
1332
|
function DrawerHeader({ className, ...props }) {
|
|
1176
|
-
return /* @__PURE__ */ (0,
|
|
1333
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { "data-slot": "drawer-header", className: cn("flex flex-col gap-1.5", className), ...props });
|
|
1177
1334
|
}
|
|
1178
1335
|
function DrawerFooter({ className, ...props }) {
|
|
1179
|
-
return /* @__PURE__ */ (0,
|
|
1336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { "data-slot": "drawer-footer", className: cn("mt-auto flex flex-col-reverse gap-2 pt-4 sm:flex-row sm:justify-end", className), ...props });
|
|
1180
1337
|
}
|
|
1181
1338
|
function DrawerTitle({ className, ...props }) {
|
|
1182
|
-
return /* @__PURE__ */ (0,
|
|
1339
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("h2", { "data-slot": "drawer-title", className: cn("text-base font-semibold", className), ...props });
|
|
1183
1340
|
}
|
|
1184
1341
|
function DrawerDescription({ className, ...props }) {
|
|
1185
|
-
return /* @__PURE__ */ (0,
|
|
1342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { "data-slot": "drawer-description", className: cn("text-sm text-muted-foreground", className), ...props });
|
|
1186
1343
|
}
|
|
1187
1344
|
|
|
1188
1345
|
// src/ui/dropdown-menu/dropdown-menu.tsx
|
|
1189
|
-
var
|
|
1346
|
+
var React3 = require("react");
|
|
1190
1347
|
var import_class_variance_authority6 = require("class-variance-authority");
|
|
1191
|
-
var
|
|
1192
|
-
var
|
|
1193
|
-
var
|
|
1348
|
+
var import_lucide_react5 = require("lucide-react");
|
|
1349
|
+
var import_react_aria_components12 = require("react-aria-components");
|
|
1350
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1194
1351
|
function DropdownMenuTrigger({
|
|
1195
1352
|
...props
|
|
1196
1353
|
}) {
|
|
1197
|
-
return /* @__PURE__ */ (0,
|
|
1354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_aria_components12.MenuTrigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
1198
1355
|
}
|
|
1199
1356
|
function DropdownMenu({
|
|
1200
1357
|
"data-slot": dataSlot = "dropdown-menu-content",
|
|
@@ -1205,16 +1362,16 @@ function DropdownMenu({
|
|
|
1205
1362
|
children,
|
|
1206
1363
|
...props
|
|
1207
1364
|
}) {
|
|
1208
|
-
return /* @__PURE__ */ (0,
|
|
1209
|
-
|
|
1365
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1366
|
+
import_react_aria_components12.Popover,
|
|
1210
1367
|
{
|
|
1211
1368
|
"data-slot": dataSlot,
|
|
1212
1369
|
placement,
|
|
1213
1370
|
offset,
|
|
1214
1371
|
crossOffset,
|
|
1215
1372
|
className: cn("z-50 w-(--trigger-width) min-w-32 origin-(--trigger-anchor-point) overflow-x-hidden overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-lg outline-none motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out", className),
|
|
1216
|
-
children: /* @__PURE__ */ (0,
|
|
1217
|
-
|
|
1373
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1374
|
+
import_react_aria_components12.Menu,
|
|
1218
1375
|
{
|
|
1219
1376
|
className: "max-h-[inherit] overflow-x-hidden overflow-y-auto outline-hidden",
|
|
1220
1377
|
...props,
|
|
@@ -1227,15 +1384,15 @@ function DropdownMenu({
|
|
|
1227
1384
|
function DropdownMenuGroup({
|
|
1228
1385
|
...props
|
|
1229
1386
|
}) {
|
|
1230
|
-
return /* @__PURE__ */ (0,
|
|
1387
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_aria_components12.MenuSection, { "data-slot": "dropdown-menu-group", ...props });
|
|
1231
1388
|
}
|
|
1232
1389
|
function DropdownMenuLabel({
|
|
1233
1390
|
className,
|
|
1234
1391
|
inset,
|
|
1235
1392
|
...props
|
|
1236
1393
|
}) {
|
|
1237
|
-
return /* @__PURE__ */ (0,
|
|
1238
|
-
|
|
1394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1395
|
+
import_react_aria_components12.Header,
|
|
1239
1396
|
{
|
|
1240
1397
|
"data-slot": "dropdown-menu-label",
|
|
1241
1398
|
"data-inset": inset,
|
|
@@ -1266,27 +1423,27 @@ function DropdownMenuItem({
|
|
|
1266
1423
|
children,
|
|
1267
1424
|
...props
|
|
1268
1425
|
}) {
|
|
1269
|
-
return /* @__PURE__ */ (0,
|
|
1270
|
-
|
|
1426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1427
|
+
import_react_aria_components12.MenuItem,
|
|
1271
1428
|
{
|
|
1272
1429
|
"data-slot": "dropdown-menu-item",
|
|
1273
1430
|
"data-inset": inset,
|
|
1274
1431
|
"data-variant": variant,
|
|
1275
1432
|
textValue: typeof children === "string" ? children : props.textValue,
|
|
1276
|
-
className: (0,
|
|
1433
|
+
className: (0, import_react_aria_components12.composeRenderProps)(
|
|
1277
1434
|
className,
|
|
1278
1435
|
(className2, { selectionMode }) => cn(dropdownMenuItemVariants({ selectionMode }), className2)
|
|
1279
1436
|
),
|
|
1280
1437
|
...props,
|
|
1281
|
-
children: (0,
|
|
1438
|
+
children: (0, import_react_aria_components12.composeRenderProps)(
|
|
1282
1439
|
children,
|
|
1283
|
-
(children2, { isSelected, selectionMode }) => /* @__PURE__ */ (0,
|
|
1284
|
-
selectionMode !== "none" ? /* @__PURE__ */ (0,
|
|
1440
|
+
(children2, { isSelected, selectionMode }) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
1441
|
+
selectionMode !== "none" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1285
1442
|
"span",
|
|
1286
1443
|
{
|
|
1287
1444
|
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
1288
1445
|
"data-slot": selectionMode === "single" ? "dropdown-menu-radio-item-indicator" : "dropdown-menu-checkbox-item-indicator",
|
|
1289
|
-
children: isSelected ? /* @__PURE__ */ (0,
|
|
1446
|
+
children: isSelected ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react5.CheckIcon, {}) : null
|
|
1290
1447
|
}
|
|
1291
1448
|
) : null,
|
|
1292
1449
|
children2
|
|
@@ -1298,7 +1455,7 @@ function DropdownMenuItem({
|
|
|
1298
1455
|
function DropdownMenuSub({
|
|
1299
1456
|
...props
|
|
1300
1457
|
}) {
|
|
1301
|
-
return /* @__PURE__ */ (0,
|
|
1458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_aria_components12.SubmenuTrigger, { "data-slot": "dropdown-menu-sub", ...props });
|
|
1302
1459
|
}
|
|
1303
1460
|
function DropdownMenuSubTrigger({
|
|
1304
1461
|
className,
|
|
@@ -1306,8 +1463,8 @@ function DropdownMenuSubTrigger({
|
|
|
1306
1463
|
children,
|
|
1307
1464
|
...props
|
|
1308
1465
|
}) {
|
|
1309
|
-
return /* @__PURE__ */ (0,
|
|
1310
|
-
|
|
1466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1467
|
+
import_react_aria_components12.MenuItem,
|
|
1311
1468
|
{
|
|
1312
1469
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
1313
1470
|
"data-inset": inset,
|
|
@@ -1317,9 +1474,9 @@ function DropdownMenuSubTrigger({
|
|
|
1317
1474
|
className
|
|
1318
1475
|
),
|
|
1319
1476
|
...props,
|
|
1320
|
-
children: (0,
|
|
1477
|
+
children: (0, import_react_aria_components12.composeRenderProps)(children, (children2) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
|
|
1321
1478
|
children2,
|
|
1322
|
-
/* @__PURE__ */ (0,
|
|
1479
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react5.ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
|
|
1323
1480
|
] }))
|
|
1324
1481
|
}
|
|
1325
1482
|
);
|
|
@@ -1331,7 +1488,7 @@ function DropdownMenuSubContent({
|
|
|
1331
1488
|
className,
|
|
1332
1489
|
...props
|
|
1333
1490
|
}) {
|
|
1334
|
-
return /* @__PURE__ */ (0,
|
|
1491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1335
1492
|
DropdownMenu,
|
|
1336
1493
|
{
|
|
1337
1494
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -1347,8 +1504,8 @@ function DropdownMenuSeparator({
|
|
|
1347
1504
|
className,
|
|
1348
1505
|
...props
|
|
1349
1506
|
}) {
|
|
1350
|
-
return /* @__PURE__ */ (0,
|
|
1351
|
-
|
|
1507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1508
|
+
import_react_aria_components12.Separator,
|
|
1352
1509
|
{
|
|
1353
1510
|
"data-slot": "dropdown-menu-separator",
|
|
1354
1511
|
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
@@ -1360,7 +1517,7 @@ function DropdownMenuShortcut({
|
|
|
1360
1517
|
className,
|
|
1361
1518
|
...props
|
|
1362
1519
|
}) {
|
|
1363
|
-
return /* @__PURE__ */ (0,
|
|
1520
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1364
1521
|
"span",
|
|
1365
1522
|
{
|
|
1366
1523
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -1375,9 +1532,9 @@ function DropdownMenuShortcut({
|
|
|
1375
1532
|
|
|
1376
1533
|
// src/ui/empty-state/empty-state.tsx
|
|
1377
1534
|
var import_class_variance_authority7 = require("class-variance-authority");
|
|
1378
|
-
var
|
|
1535
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1379
1536
|
function EmptyState({ className, ...props }) {
|
|
1380
|
-
return /* @__PURE__ */ (0,
|
|
1537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1381
1538
|
"div",
|
|
1382
1539
|
{
|
|
1383
1540
|
"data-slot": "empty-state",
|
|
@@ -1390,7 +1547,7 @@ function EmptyState({ className, ...props }) {
|
|
|
1390
1547
|
);
|
|
1391
1548
|
}
|
|
1392
1549
|
function EmptyStateHeader({ className, ...props }) {
|
|
1393
|
-
return /* @__PURE__ */ (0,
|
|
1550
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1394
1551
|
"div",
|
|
1395
1552
|
{
|
|
1396
1553
|
"data-slot": "empty-state-header",
|
|
@@ -1416,7 +1573,7 @@ function EmptyStateMedia({
|
|
|
1416
1573
|
variant = "default",
|
|
1417
1574
|
...props
|
|
1418
1575
|
}) {
|
|
1419
|
-
return /* @__PURE__ */ (0,
|
|
1576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1420
1577
|
"div",
|
|
1421
1578
|
{
|
|
1422
1579
|
"data-slot": "empty-state-media",
|
|
@@ -1427,7 +1584,7 @@ function EmptyStateMedia({
|
|
|
1427
1584
|
);
|
|
1428
1585
|
}
|
|
1429
1586
|
function EmptyStateTitle({ className, ...props }) {
|
|
1430
|
-
return /* @__PURE__ */ (0,
|
|
1587
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1431
1588
|
"h3",
|
|
1432
1589
|
{
|
|
1433
1590
|
"data-slot": "empty-state-title",
|
|
@@ -1437,7 +1594,7 @@ function EmptyStateTitle({ className, ...props }) {
|
|
|
1437
1594
|
);
|
|
1438
1595
|
}
|
|
1439
1596
|
function EmptyStateDescription({ className, ...props }) {
|
|
1440
|
-
return /* @__PURE__ */ (0,
|
|
1597
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1441
1598
|
"p",
|
|
1442
1599
|
{
|
|
1443
1600
|
"data-slot": "empty-state-description",
|
|
@@ -1450,7 +1607,7 @@ function EmptyStateDescription({ className, ...props }) {
|
|
|
1450
1607
|
);
|
|
1451
1608
|
}
|
|
1452
1609
|
function EmptyStateContent({ className, ...props }) {
|
|
1453
|
-
return /* @__PURE__ */ (0,
|
|
1610
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1454
1611
|
"div",
|
|
1455
1612
|
{
|
|
1456
1613
|
"data-slot": "empty-state-content",
|
|
@@ -1468,23 +1625,23 @@ var import_class_variance_authority8 = require("class-variance-authority");
|
|
|
1468
1625
|
|
|
1469
1626
|
// src/ui/label/label.tsx
|
|
1470
1627
|
var import_react6 = require("react");
|
|
1471
|
-
var
|
|
1472
|
-
var
|
|
1628
|
+
var import_react_aria_components13 = require("react-aria-components");
|
|
1629
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1473
1630
|
var Label2 = (0, import_react6.forwardRef)(function Label3({ className, ...props }, ref) {
|
|
1474
|
-
return /* @__PURE__ */ (0,
|
|
1631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_aria_components13.Label, { ref, "data-slot": "label", className: cn("flex items-center gap-2 text-sm font-medium leading-none select-none", className), ...props });
|
|
1475
1632
|
});
|
|
1476
1633
|
|
|
1477
1634
|
// src/ui/field/field.tsx
|
|
1478
|
-
var
|
|
1635
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1479
1636
|
function FieldSet({ className, ...props }) {
|
|
1480
|
-
return /* @__PURE__ */ (0,
|
|
1637
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("fieldset", { "data-slot": "field-set", className: cn("flex flex-col gap-4", className), ...props });
|
|
1481
1638
|
}
|
|
1482
1639
|
function FieldLegend({
|
|
1483
1640
|
className,
|
|
1484
1641
|
variant = "legend",
|
|
1485
1642
|
...props
|
|
1486
1643
|
}) {
|
|
1487
|
-
return /* @__PURE__ */ (0,
|
|
1644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1488
1645
|
"legend",
|
|
1489
1646
|
{
|
|
1490
1647
|
"data-slot": "field-legend",
|
|
@@ -1498,7 +1655,7 @@ function FieldLegend({
|
|
|
1498
1655
|
);
|
|
1499
1656
|
}
|
|
1500
1657
|
function FieldGroup({ className, ...props }) {
|
|
1501
|
-
return /* @__PURE__ */ (0,
|
|
1658
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1502
1659
|
"div",
|
|
1503
1660
|
{
|
|
1504
1661
|
"data-slot": "field-group",
|
|
@@ -1526,7 +1683,7 @@ var fieldVariants = (0, import_class_variance_authority8.cva)(
|
|
|
1526
1683
|
function Field({ className, orientation = "vertical", ...props }) {
|
|
1527
1684
|
return (
|
|
1528
1685
|
// biome-ignore lint/a11y/useSemanticElements: FieldSet provides native fieldset semantics when they are appropriate.
|
|
1529
|
-
/* @__PURE__ */ (0,
|
|
1686
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1530
1687
|
"div",
|
|
1531
1688
|
{
|
|
1532
1689
|
role: "group",
|
|
@@ -1539,7 +1696,7 @@ function Field({ className, orientation = "vertical", ...props }) {
|
|
|
1539
1696
|
);
|
|
1540
1697
|
}
|
|
1541
1698
|
function FieldContent({ className, ...props }) {
|
|
1542
|
-
return /* @__PURE__ */ (0,
|
|
1699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1543
1700
|
"div",
|
|
1544
1701
|
{
|
|
1545
1702
|
"data-slot": "field-content",
|
|
@@ -1549,7 +1706,7 @@ function FieldContent({ className, ...props }) {
|
|
|
1549
1706
|
);
|
|
1550
1707
|
}
|
|
1551
1708
|
function FieldLabel({ className, ...props }) {
|
|
1552
|
-
return /* @__PURE__ */ (0,
|
|
1709
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1553
1710
|
Label2,
|
|
1554
1711
|
{
|
|
1555
1712
|
"data-slot": "field-label",
|
|
@@ -1562,7 +1719,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
1562
1719
|
);
|
|
1563
1720
|
}
|
|
1564
1721
|
function FieldTitle({ className, ...props }) {
|
|
1565
|
-
return /* @__PURE__ */ (0,
|
|
1722
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1566
1723
|
"div",
|
|
1567
1724
|
{
|
|
1568
1725
|
"data-slot": "field-title",
|
|
@@ -1572,7 +1729,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
1572
1729
|
);
|
|
1573
1730
|
}
|
|
1574
1731
|
function FieldDescription({ className, ...props }) {
|
|
1575
|
-
return /* @__PURE__ */ (0,
|
|
1732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1576
1733
|
"p",
|
|
1577
1734
|
{
|
|
1578
1735
|
"data-slot": "field-description",
|
|
@@ -1585,7 +1742,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
1585
1742
|
);
|
|
1586
1743
|
}
|
|
1587
1744
|
function FieldSeparator({ className, children, ...props }) {
|
|
1588
|
-
return /* @__PURE__ */ (0,
|
|
1745
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1589
1746
|
"div",
|
|
1590
1747
|
{
|
|
1591
1748
|
"data-slot": "field-separator",
|
|
@@ -1593,8 +1750,8 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
1593
1750
|
className: cn("relative -my-2 h-5 text-sm", className),
|
|
1594
1751
|
...props,
|
|
1595
1752
|
children: [
|
|
1596
|
-
/* @__PURE__ */ (0,
|
|
1597
|
-
children ? /* @__PURE__ */ (0,
|
|
1753
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
1754
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1598
1755
|
"span",
|
|
1599
1756
|
{
|
|
1600
1757
|
"data-slot": "field-separator-content",
|
|
@@ -1608,9 +1765,9 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
1608
1765
|
}
|
|
1609
1766
|
function FieldError2({ className, children, errors, ...props }) {
|
|
1610
1767
|
const messages = [...new Set(errors?.flatMap((error) => error?.message ?? []) ?? [])];
|
|
1611
|
-
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ (0,
|
|
1768
|
+
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("ul", { className: "ml-4 list-disc", children: messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("li", { children: message }, message)) }) : null);
|
|
1612
1769
|
if (!content) return null;
|
|
1613
|
-
return /* @__PURE__ */ (0,
|
|
1770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1614
1771
|
"div",
|
|
1615
1772
|
{
|
|
1616
1773
|
role: "alert",
|
|
@@ -1624,8 +1781,8 @@ function FieldError2({ className, children, errors, ...props }) {
|
|
|
1624
1781
|
|
|
1625
1782
|
// src/ui/form-feedback/form-feedback.tsx
|
|
1626
1783
|
var import_react7 = require("react");
|
|
1627
|
-
var
|
|
1628
|
-
var
|
|
1784
|
+
var import_lucide_react6 = require("lucide-react");
|
|
1785
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1629
1786
|
function useFormFeedback(options) {
|
|
1630
1787
|
const resetMs = options?.successResetMs ?? 2500;
|
|
1631
1788
|
const [state, setState] = (0, import_react7.useState)({ status: "idle" });
|
|
@@ -1655,57 +1812,57 @@ function useFormFeedback(options) {
|
|
|
1655
1812
|
return { state, pending: state.status === "pending", setPending, setSuccess, setError, reset };
|
|
1656
1813
|
}
|
|
1657
1814
|
function FormFeedback({ state, className, pendingLabel = "Guardando\u2026", successLabel = "Guardado" }) {
|
|
1658
|
-
if (state.status === "idle") return /* @__PURE__ */ (0,
|
|
1815
|
+
if (state.status === "idle") return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { "aria-hidden": "true", className: cn("inline-flex h-5 items-center", className) });
|
|
1659
1816
|
const error = state.status === "error";
|
|
1660
1817
|
const success = state.status === "success";
|
|
1661
|
-
return /* @__PURE__ */ (0,
|
|
1662
|
-
state.status === "pending" && /* @__PURE__ */ (0,
|
|
1663
|
-
success && /* @__PURE__ */ (0,
|
|
1664
|
-
error && /* @__PURE__ */ (0,
|
|
1665
|
-
/* @__PURE__ */ (0,
|
|
1818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("span", { role: error ? "alert" : "status", "aria-live": "polite", className: cn("inline-flex h-5 items-center gap-1.5 text-xs", error && "text-destructive", success && "text-success", state.status === "pending" && "text-muted-foreground", className), children: [
|
|
1819
|
+
state.status === "pending" && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react6.LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
1820
|
+
success && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react6.CheckCircle, { "aria-hidden": "true", className: "size-3.5" }),
|
|
1821
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react6.CircleAlert, { "aria-hidden": "true", className: "size-3.5" }),
|
|
1822
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { children: state.status === "pending" ? pendingLabel : success ? state.message ?? successLabel : state.message })
|
|
1666
1823
|
] });
|
|
1667
1824
|
}
|
|
1668
1825
|
|
|
1669
1826
|
// src/ui/form-row/form-row.tsx
|
|
1670
|
-
var
|
|
1827
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1671
1828
|
function FormRow({ label, htmlFor, required, hint, error, className, children }) {
|
|
1672
1829
|
const hintId = hint ? `${htmlFor}-hint` : void 0;
|
|
1673
1830
|
const errorId = error ? `${htmlFor}-error` : void 0;
|
|
1674
|
-
return /* @__PURE__ */ (0,
|
|
1675
|
-
/* @__PURE__ */ (0,
|
|
1831
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { "data-slot": "form-row", className: cn("flex flex-col gap-1.5", className), children: [
|
|
1832
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("label", { htmlFor, className: "text-sm font-medium text-foreground", children: [
|
|
1676
1833
|
label,
|
|
1677
|
-
required && /* @__PURE__ */ (0,
|
|
1678
|
-
/* @__PURE__ */ (0,
|
|
1679
|
-
/* @__PURE__ */ (0,
|
|
1834
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
|
|
1835
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { "aria-hidden": "true", className: "ml-0.5 text-destructive", children: "*" }),
|
|
1836
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "sr-only", children: " (obligatorio)" })
|
|
1680
1837
|
] })
|
|
1681
1838
|
] }),
|
|
1682
1839
|
children,
|
|
1683
|
-
hint && /* @__PURE__ */ (0,
|
|
1684
|
-
error && /* @__PURE__ */ (0,
|
|
1840
|
+
hint && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { id: hintId, className: "text-xs text-muted-foreground", children: hint }),
|
|
1841
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { id: errorId, role: "alert", className: "text-xs font-medium text-destructive", children: error })
|
|
1685
1842
|
] });
|
|
1686
1843
|
}
|
|
1687
1844
|
|
|
1688
1845
|
// src/ui/icon-button/icon-button.tsx
|
|
1689
|
-
var
|
|
1846
|
+
var import_react_aria_components15 = require("react-aria-components");
|
|
1690
1847
|
|
|
1691
1848
|
// src/ui/tooltip/tooltip.tsx
|
|
1692
|
-
var
|
|
1693
|
-
var
|
|
1694
|
-
var
|
|
1849
|
+
var React4 = __toESM(require("react"), 1);
|
|
1850
|
+
var import_react_aria_components14 = require("react-aria-components");
|
|
1851
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1695
1852
|
function TooltipTrigger({
|
|
1696
1853
|
delay = 0,
|
|
1697
1854
|
children,
|
|
1698
1855
|
...props
|
|
1699
1856
|
}) {
|
|
1700
|
-
const [trigger, tooltip] =
|
|
1701
|
-
return /* @__PURE__ */ (0,
|
|
1702
|
-
|
|
1857
|
+
const [trigger, tooltip] = React4.Children.toArray(children);
|
|
1858
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1859
|
+
import_react_aria_components14.TooltipTrigger,
|
|
1703
1860
|
{
|
|
1704
1861
|
"data-slot": "tooltip-trigger",
|
|
1705
1862
|
delay,
|
|
1706
1863
|
...props,
|
|
1707
1864
|
children: [
|
|
1708
|
-
/* @__PURE__ */ (0,
|
|
1865
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_aria_components14.Focusable, { children: trigger }),
|
|
1709
1866
|
tooltip
|
|
1710
1867
|
]
|
|
1711
1868
|
}
|
|
@@ -1719,8 +1876,8 @@ function Tooltip({
|
|
|
1719
1876
|
children,
|
|
1720
1877
|
...props
|
|
1721
1878
|
}) {
|
|
1722
|
-
return /* @__PURE__ */ (0,
|
|
1723
|
-
|
|
1879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
1880
|
+
import_react_aria_components14.Tooltip,
|
|
1724
1881
|
{
|
|
1725
1882
|
"data-slot": "tooltip-content",
|
|
1726
1883
|
placement,
|
|
@@ -1733,8 +1890,8 @@ function Tooltip({
|
|
|
1733
1890
|
...props,
|
|
1734
1891
|
children: [
|
|
1735
1892
|
children,
|
|
1736
|
-
/* @__PURE__ */ (0,
|
|
1737
|
-
|
|
1893
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
1894
|
+
import_react_aria_components14.OverlayArrow,
|
|
1738
1895
|
{
|
|
1739
1896
|
className: "z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-xs bg-foreground fill-foreground",
|
|
1740
1897
|
style: ({ placement: placement2, defaultStyle }) => ({
|
|
@@ -1751,7 +1908,7 @@ function Tooltip({
|
|
|
1751
1908
|
}
|
|
1752
1909
|
|
|
1753
1910
|
// src/ui/icon-button/icon-button.tsx
|
|
1754
|
-
var
|
|
1911
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1755
1912
|
function IconButton({
|
|
1756
1913
|
label,
|
|
1757
1914
|
children,
|
|
@@ -1764,9 +1921,9 @@ function IconButton({
|
|
|
1764
1921
|
buttonVariants({ variant, size: "icon" }),
|
|
1765
1922
|
className
|
|
1766
1923
|
);
|
|
1767
|
-
return /* @__PURE__ */ (0,
|
|
1768
|
-
href ? /* @__PURE__ */ (0,
|
|
1769
|
-
|
|
1924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(TooltipTrigger, { children: [
|
|
1925
|
+
href ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1926
|
+
import_react_aria_components15.Link,
|
|
1770
1927
|
{
|
|
1771
1928
|
"data-slot": "icon-button",
|
|
1772
1929
|
"aria-label": label,
|
|
@@ -1774,7 +1931,7 @@ function IconButton({
|
|
|
1774
1931
|
className: linkClassName,
|
|
1775
1932
|
children
|
|
1776
1933
|
}
|
|
1777
|
-
) : /* @__PURE__ */ (0,
|
|
1934
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
1778
1935
|
Button,
|
|
1779
1936
|
{
|
|
1780
1937
|
"data-slot": "icon-button",
|
|
@@ -1786,7 +1943,7 @@ function IconButton({
|
|
|
1786
1943
|
children
|
|
1787
1944
|
}
|
|
1788
1945
|
),
|
|
1789
|
-
/* @__PURE__ */ (0,
|
|
1946
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Tooltip, { children: label })
|
|
1790
1947
|
] });
|
|
1791
1948
|
}
|
|
1792
1949
|
|
|
@@ -1795,29 +1952,29 @@ var import_class_variance_authority9 = require("class-variance-authority");
|
|
|
1795
1952
|
|
|
1796
1953
|
// src/ui/input/input.tsx
|
|
1797
1954
|
var import_react8 = require("react");
|
|
1798
|
-
var
|
|
1799
|
-
var
|
|
1955
|
+
var import_react_aria_components16 = require("react-aria-components");
|
|
1956
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1800
1957
|
var InputImpl = (0, import_react8.forwardRef)(function Input2({ className, type, ...props }, ref) {
|
|
1801
|
-
return /* @__PURE__ */ (0,
|
|
1958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_aria_components16.Input, { ref, type, "data-slot": "input", className: cn("h-8 w-full min-w-0 rounded-lg border border-border bg-background px-2.5 py-1 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive", className), ...props });
|
|
1802
1959
|
});
|
|
1803
1960
|
var Input3 = InputImpl;
|
|
1804
1961
|
|
|
1805
1962
|
// src/ui/textarea/textarea.tsx
|
|
1806
1963
|
var import_react9 = require("react");
|
|
1807
|
-
var
|
|
1808
|
-
var
|
|
1964
|
+
var import_react_aria_components17 = require("react-aria-components");
|
|
1965
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1809
1966
|
var TextareaImpl = (0, import_react9.forwardRef)(function Textarea({ className, ...props }, ref) {
|
|
1810
|
-
return /* @__PURE__ */ (0,
|
|
1967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_aria_components17.TextArea, { ref, "data-slot": "textarea", className: cn("min-h-20 w-full rounded-lg border border-border bg-background px-2.5 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive", className), ...props });
|
|
1811
1968
|
});
|
|
1812
1969
|
var Textarea2 = TextareaImpl;
|
|
1813
1970
|
|
|
1814
1971
|
// src/ui/input-group/input-group.tsx
|
|
1815
|
-
var
|
|
1972
|
+
var import_jsx_runtime28 = (
|
|
1816
1973
|
// biome-ignore lint/a11y/useSemanticElements: fieldset cannot preserve this inline control composition.
|
|
1817
1974
|
require("react/jsx-runtime")
|
|
1818
1975
|
);
|
|
1819
1976
|
function InputGroup({ className, ...props }) {
|
|
1820
|
-
return /* @__PURE__ */ (0,
|
|
1977
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1821
1978
|
"div",
|
|
1822
1979
|
{
|
|
1823
1980
|
role: "group",
|
|
@@ -1852,7 +2009,7 @@ function InputGroupAddon({
|
|
|
1852
2009
|
}) {
|
|
1853
2010
|
return (
|
|
1854
2011
|
// biome-ignore lint/a11y/useSemanticElements: this addon delegates focus to its associated input.
|
|
1855
|
-
/* @__PURE__ */ (0,
|
|
2012
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1856
2013
|
"div",
|
|
1857
2014
|
{
|
|
1858
2015
|
role: "group",
|
|
@@ -1883,7 +2040,7 @@ function InputGroupButton({
|
|
|
1883
2040
|
...props
|
|
1884
2041
|
}) {
|
|
1885
2042
|
const buttonSize = size === "icon-xs" || size === "icon-sm" ? size : size;
|
|
1886
|
-
return /* @__PURE__ */ (0,
|
|
2043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1887
2044
|
Button,
|
|
1888
2045
|
{
|
|
1889
2046
|
"data-slot": "input-group-button",
|
|
@@ -1896,7 +2053,7 @@ function InputGroupButton({
|
|
|
1896
2053
|
);
|
|
1897
2054
|
}
|
|
1898
2055
|
function InputGroupText({ className, ...props }) {
|
|
1899
|
-
return /* @__PURE__ */ (0,
|
|
2056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1900
2057
|
"span",
|
|
1901
2058
|
{
|
|
1902
2059
|
"data-slot": "input-group-text",
|
|
@@ -1909,7 +2066,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
1909
2066
|
);
|
|
1910
2067
|
}
|
|
1911
2068
|
function InputGroupInput({ className, ...props }) {
|
|
1912
|
-
return /* @__PURE__ */ (0,
|
|
2069
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1913
2070
|
Input3,
|
|
1914
2071
|
{
|
|
1915
2072
|
"data-slot": "input-group-control",
|
|
@@ -1922,7 +2079,7 @@ function InputGroupInput({ className, ...props }) {
|
|
|
1922
2079
|
);
|
|
1923
2080
|
}
|
|
1924
2081
|
function InputGroupTextarea({ className, ...props }) {
|
|
1925
|
-
return /* @__PURE__ */ (0,
|
|
2082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1926
2083
|
Textarea2,
|
|
1927
2084
|
{
|
|
1928
2085
|
"data-slot": "input-group-control",
|
|
@@ -1936,42 +2093,42 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
1936
2093
|
}
|
|
1937
2094
|
|
|
1938
2095
|
// src/ui/kbd/kbd.tsx
|
|
1939
|
-
var
|
|
2096
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1940
2097
|
function Kbd({ className, ...props }) {
|
|
1941
|
-
return /* @__PURE__ */ (0,
|
|
2098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("kbd", { "data-slot": "kbd", className: cn("pointer-events-none inline-flex h-5 min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none", className), ...props });
|
|
1942
2099
|
}
|
|
1943
2100
|
function KbdGroup({ className, ...props }) {
|
|
1944
|
-
return /* @__PURE__ */ (0,
|
|
2101
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { "data-slot": "kbd-group", className: cn("inline-flex items-center gap-1", className), ...props });
|
|
1945
2102
|
}
|
|
1946
2103
|
|
|
1947
2104
|
// src/ui/loading-overlay/loading-overlay.tsx
|
|
1948
|
-
var
|
|
1949
|
-
var
|
|
2105
|
+
var import_lucide_react7 = require("lucide-react");
|
|
2106
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1950
2107
|
function LoadingOverlay({ label = "Cargando", className, ...props }) {
|
|
1951
|
-
return /* @__PURE__ */ (0,
|
|
1952
|
-
/* @__PURE__ */ (0,
|
|
1953
|
-
/* @__PURE__ */ (0,
|
|
2108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { role: "status", "aria-live": "polite", className: cn("absolute inset-0 z-10 flex items-center justify-center bg-background/70 backdrop-blur-[2px]", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex items-center gap-2 rounded-lg border border-border bg-background px-3 py-2 text-sm shadow-sm", children: [
|
|
2109
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_lucide_react7.LoaderCircle, { className: "animate-spin", "aria-hidden": "true" }),
|
|
2110
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { children: label })
|
|
1954
2111
|
] }) });
|
|
1955
2112
|
}
|
|
1956
2113
|
|
|
1957
2114
|
// src/ui/menu/menu.tsx
|
|
1958
|
-
var
|
|
1959
|
-
var
|
|
1960
|
-
var MenuTrigger =
|
|
2115
|
+
var import_react_aria_components18 = require("react-aria-components");
|
|
2116
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2117
|
+
var MenuTrigger = import_react_aria_components18.MenuTrigger;
|
|
1961
2118
|
function MenuContent({ className, ...props }) {
|
|
1962
|
-
return /* @__PURE__ */ (0,
|
|
2119
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_aria_components18.Popover, { "data-slot": "menu-content", className: cn("min-w-40 overflow-hidden rounded-xl border border-border bg-background p-1.5 text-foreground shadow-lg motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out", className), ...props });
|
|
1963
2120
|
}
|
|
1964
2121
|
function Menu({ className, ...props }) {
|
|
1965
|
-
return /* @__PURE__ */ (0,
|
|
2122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_aria_components18.Menu, { "data-slot": "menu", className: cn("outline-none", className), ...props });
|
|
1966
2123
|
}
|
|
1967
2124
|
function MenuItem({ className, children, ...props }) {
|
|
1968
|
-
return /* @__PURE__ */ (0,
|
|
2125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_aria_components18.MenuItem, { "data-slot": "menu-item", className: cn("flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none data-focused:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50", className), ...props, children });
|
|
1969
2126
|
}
|
|
1970
2127
|
|
|
1971
2128
|
// src/ui/otp-input/otp-input.tsx
|
|
1972
2129
|
var import_react10 = require("react");
|
|
1973
|
-
var
|
|
1974
|
-
var
|
|
2130
|
+
var import_react_aria_components19 = require("react-aria-components");
|
|
2131
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1975
2132
|
function normalizeOtp(value, length) {
|
|
1976
2133
|
return value.replace(/[^0-9]/g, "").slice(0, length);
|
|
1977
2134
|
}
|
|
@@ -2023,7 +2180,7 @@ var OtpInputImpl = (0, import_react10.forwardRef)(function OtpInput({
|
|
|
2023
2180
|
input.setSelectionRange(position, position);
|
|
2024
2181
|
setSelectionStart(position);
|
|
2025
2182
|
}
|
|
2026
|
-
return /* @__PURE__ */ (0,
|
|
2183
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
2027
2184
|
"div",
|
|
2028
2185
|
{
|
|
2029
2186
|
"data-slot": "otp-input",
|
|
@@ -2033,8 +2190,8 @@ var OtpInputImpl = (0, import_react10.forwardRef)(function OtpInput({
|
|
|
2033
2190
|
style: { gridTemplateColumns: `repeat(${slotCount}, minmax(0, 2.5rem))` },
|
|
2034
2191
|
onPointerDown: handlePointerDown,
|
|
2035
2192
|
children: [
|
|
2036
|
-
/* @__PURE__ */ (0,
|
|
2037
|
-
|
|
2193
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2194
|
+
import_react_aria_components19.Input,
|
|
2038
2195
|
{
|
|
2039
2196
|
...props,
|
|
2040
2197
|
ref: inputRef,
|
|
@@ -2073,7 +2230,7 @@ var OtpInputImpl = (0, import_react10.forwardRef)(function OtpInput({
|
|
|
2073
2230
|
}
|
|
2074
2231
|
}
|
|
2075
2232
|
),
|
|
2076
|
-
slots.map((slot, index) => /* @__PURE__ */ (0,
|
|
2233
|
+
slots.map((slot, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2077
2234
|
"span",
|
|
2078
2235
|
{
|
|
2079
2236
|
"aria-hidden": "true",
|
|
@@ -2096,56 +2253,56 @@ var OtpInputImpl = (0, import_react10.forwardRef)(function OtpInput({
|
|
|
2096
2253
|
var OtpInput2 = OtpInputImpl;
|
|
2097
2254
|
|
|
2098
2255
|
// src/ui/page-header/page-header.tsx
|
|
2099
|
-
var
|
|
2256
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2100
2257
|
function PageHeader({ className, ...props }) {
|
|
2101
|
-
return /* @__PURE__ */ (0,
|
|
2258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("header", { "data-slot": "page-header", className: cn("flex flex-col gap-4 py-2 sm:flex-row sm:items-center sm:justify-between", className), ...props });
|
|
2102
2259
|
}
|
|
2103
2260
|
function PageHeaderHeading({ className, ...props }) {
|
|
2104
|
-
return /* @__PURE__ */ (0,
|
|
2261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { "data-slot": "page-header-heading", className: cn("min-w-0", className), ...props });
|
|
2105
2262
|
}
|
|
2106
2263
|
function PageHeaderTitle({ className, ...props }) {
|
|
2107
|
-
return /* @__PURE__ */ (0,
|
|
2264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("h1", { "data-slot": "page-header-title", className: cn("truncate text-xl font-semibold tracking-tight md:text-2xl", className), ...props });
|
|
2108
2265
|
}
|
|
2109
2266
|
function PageHeaderDescription({ className, ...props }) {
|
|
2110
|
-
return /* @__PURE__ */ (0,
|
|
2267
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { "data-slot": "page-header-description", className: cn("mt-1 text-sm text-muted-foreground", className), ...props });
|
|
2111
2268
|
}
|
|
2112
2269
|
function PageHeaderActions({ className, ...props }) {
|
|
2113
|
-
return /* @__PURE__ */ (0,
|
|
2270
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { "data-slot": "page-header-actions", className: cn("flex shrink-0 items-center gap-2", className), ...props });
|
|
2114
2271
|
}
|
|
2115
2272
|
|
|
2116
2273
|
// src/ui/pagination/pagination.tsx
|
|
2117
|
-
var
|
|
2118
|
-
var
|
|
2274
|
+
var import_lucide_react8 = require("lucide-react");
|
|
2275
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2119
2276
|
function Pagination({ page, pageCount, onPageChange, className }) {
|
|
2120
2277
|
const pages = Array.from({ length: pageCount }, (_, index) => index + 1);
|
|
2121
|
-
return /* @__PURE__ */ (0,
|
|
2122
|
-
/* @__PURE__ */ (0,
|
|
2278
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("nav", { "aria-label": "Paginaci\xF3n", className: cn("flex items-center justify-between gap-4", className), children: [
|
|
2279
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("p", { className: "text-sm text-muted-foreground", children: [
|
|
2123
2280
|
"P\xE1gina ",
|
|
2124
2281
|
page,
|
|
2125
2282
|
" de ",
|
|
2126
2283
|
pageCount
|
|
2127
2284
|
] }),
|
|
2128
|
-
/* @__PURE__ */ (0,
|
|
2129
|
-
/* @__PURE__ */ (0,
|
|
2130
|
-
pages.map((item) => /* @__PURE__ */ (0,
|
|
2131
|
-
/* @__PURE__ */ (0,
|
|
2285
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
2286
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button, { "aria-label": "P\xE1gina anterior", isDisabled: page <= 1, onPress: () => onPageChange(page - 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react8.ChevronLeft, {}) }),
|
|
2287
|
+
pages.map((item) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button, { "aria-current": item === page ? "page" : void 0, "aria-label": `P\xE1gina ${item}`, onPress: () => onPageChange(item), size: "icon", variant: item === page ? "secondary" : "ghost", children: item }, item)),
|
|
2288
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button, { "aria-label": "P\xE1gina siguiente", isDisabled: page >= pageCount, onPress: () => onPageChange(page + 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_lucide_react8.ChevronRight, {}) })
|
|
2132
2289
|
] })
|
|
2133
2290
|
] });
|
|
2134
2291
|
}
|
|
2135
2292
|
|
|
2136
2293
|
// src/ui/popover/popover.tsx
|
|
2137
|
-
var
|
|
2138
|
-
var
|
|
2139
|
-
var PopoverTrigger =
|
|
2294
|
+
var import_react_aria_components20 = require("react-aria-components");
|
|
2295
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2296
|
+
var PopoverTrigger = import_react_aria_components20.DialogTrigger;
|
|
2140
2297
|
function Popover4({ className, ...props }) {
|
|
2141
|
-
return /* @__PURE__ */ (0,
|
|
2298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_aria_components20.Popover, { "data-slot": "popover", offset: 6, className: cn("min-w-48 rounded-xl border border-border bg-background p-1.5 text-foreground shadow-lg outline-none motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out", className), ...props });
|
|
2142
2299
|
}
|
|
2143
2300
|
var PopoverContent = Popover4;
|
|
2144
2301
|
|
|
2145
2302
|
// src/ui/quantity-input/quantity-input.tsx
|
|
2146
|
-
var
|
|
2147
|
-
var
|
|
2148
|
-
var
|
|
2303
|
+
var import_lucide_react9 = require("lucide-react");
|
|
2304
|
+
var import_react_aria_components21 = require("react-aria-components");
|
|
2305
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2149
2306
|
function QuantityInput({
|
|
2150
2307
|
className,
|
|
2151
2308
|
inputClassName,
|
|
@@ -2155,23 +2312,23 @@ function QuantityInput({
|
|
|
2155
2312
|
step = 1,
|
|
2156
2313
|
...props
|
|
2157
2314
|
}) {
|
|
2158
|
-
return /* @__PURE__ */ (0,
|
|
2159
|
-
|
|
2315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
2316
|
+
import_react_aria_components21.NumberField,
|
|
2160
2317
|
{
|
|
2161
2318
|
...props,
|
|
2162
2319
|
minValue,
|
|
2163
2320
|
step,
|
|
2164
2321
|
"data-slot": "quantity-input",
|
|
2165
2322
|
className: cn("group/quantity-input inline-flex min-w-0 data-disabled:cursor-not-allowed data-disabled:opacity-50", className),
|
|
2166
|
-
children: /* @__PURE__ */ (0,
|
|
2167
|
-
|
|
2323
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
2324
|
+
import_react_aria_components21.Group,
|
|
2168
2325
|
{
|
|
2169
2326
|
"data-slot": "quantity-input-group",
|
|
2170
2327
|
className: "flex h-8 min-w-0 items-stretch overflow-hidden rounded-lg border border-border bg-background text-foreground transition-[border-color,box-shadow] focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 group-data-invalid/quantity-input:border-destructive",
|
|
2171
2328
|
children: [
|
|
2172
|
-
/* @__PURE__ */ (0,
|
|
2173
|
-
/* @__PURE__ */ (0,
|
|
2174
|
-
/* @__PURE__ */ (0,
|
|
2329
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_aria_components21.Button, { slot: "decrement", "aria-label": decrementAriaLabel, "data-slot": "quantity-input-decrement", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-r border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react9.Minus, { "aria-hidden": "true", className: "size-4" }) }),
|
|
2330
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_aria_components21.Input, { "data-slot": "quantity-input-value", className: cn("w-14 min-w-0 bg-transparent px-1 text-center text-sm tabular-nums outline-none", inputClassName) }),
|
|
2331
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_aria_components21.Button, { slot: "increment", "aria-label": incrementAriaLabel, "data-slot": "quantity-input-increment", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-l border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react9.Plus, { "aria-hidden": "true", className: "size-4" }) })
|
|
2175
2332
|
]
|
|
2176
2333
|
}
|
|
2177
2334
|
)
|
|
@@ -2180,50 +2337,50 @@ function QuantityInput({
|
|
|
2180
2337
|
}
|
|
2181
2338
|
|
|
2182
2339
|
// src/ui/search-field/search-field.tsx
|
|
2183
|
-
var
|
|
2184
|
-
var
|
|
2185
|
-
var
|
|
2186
|
-
var SearchField =
|
|
2340
|
+
var import_react_aria_components22 = require("react-aria-components");
|
|
2341
|
+
var import_lucide_react10 = require("lucide-react");
|
|
2342
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2343
|
+
var SearchField = import_react_aria_components22.SearchField;
|
|
2187
2344
|
function SearchInput({ className, ...props }) {
|
|
2188
|
-
return /* @__PURE__ */ (0,
|
|
2345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_aria_components22.Input, { "data-slot": "search-input", className: cn("h-8 w-full min-w-0 rounded-lg border border-border bg-background px-2.5 py-1 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-3 focus-visible:ring-ring/50", className), ...props });
|
|
2189
2346
|
}
|
|
2190
|
-
function SearchClearButton({ className, children = /* @__PURE__ */ (0,
|
|
2191
|
-
return /* @__PURE__ */ (0,
|
|
2347
|
+
function SearchClearButton({ className, children = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_lucide_react10.X, { "aria-hidden": "true", className: "size-4" }), ...props }) {
|
|
2348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_aria_components22.Button, { slot: "clear", "data-slot": "search-clear", className: cn("absolute top-1/2 right-1 rounded p-1 text-muted-foreground outline-none hover:bg-muted data-focus-visible:ring-2 data-focus-visible:ring-ring", className), ...props, children });
|
|
2192
2349
|
}
|
|
2193
2350
|
|
|
2194
2351
|
// src/ui/select/select.tsx
|
|
2195
|
-
var
|
|
2196
|
-
var
|
|
2197
|
-
var
|
|
2198
|
-
var Select =
|
|
2352
|
+
var import_react_aria_components23 = require("react-aria-components");
|
|
2353
|
+
var import_lucide_react11 = require("lucide-react");
|
|
2354
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2355
|
+
var Select = import_react_aria_components23.Select;
|
|
2199
2356
|
function SelectTrigger({ className, children, ...props }) {
|
|
2200
|
-
return /* @__PURE__ */ (0,
|
|
2357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_aria_components23.Button, { "data-slot": "select-trigger", className: cn("group/select-trigger flex h-8 w-full min-w-36 items-center gap-2 rounded-lg border border-border bg-background px-2.5 text-left text-sm text-foreground outline-none data-focus-visible:ring-3 data-focus-visible:ring-ring/50 data-disabled:cursor-not-allowed data-disabled:opacity-50", className), ...props, children: (state) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
2201
2358
|
typeof children === "function" ? children(state) : children,
|
|
2202
|
-
/* @__PURE__ */ (0,
|
|
2359
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react11.ChevronDown, { "aria-hidden": "true", className: "ml-auto size-4 text-muted-foreground transition-transform group-data-pressed/select-trigger:rotate-180 motion-reduce:transition-none" })
|
|
2203
2360
|
] }) });
|
|
2204
2361
|
}
|
|
2205
2362
|
function SelectValue({ className, ...props }) {
|
|
2206
|
-
return /* @__PURE__ */ (0,
|
|
2363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_aria_components23.SelectValue, { "data-slot": "select-value", className: cn("flex-1 truncate data-placeholder:text-muted-foreground", className), ...props });
|
|
2207
2364
|
}
|
|
2208
2365
|
function SelectContent({ className, ...props }) {
|
|
2209
|
-
return /* @__PURE__ */ (0,
|
|
2366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_aria_components23.Popover, { "data-slot": "select-content", className: cn("w-(--trigger-width) overflow-hidden rounded-xl border border-border bg-background p-1.5 text-foreground shadow-lg motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out", className), ...props });
|
|
2210
2367
|
}
|
|
2211
2368
|
function SelectList({ className, ...props }) {
|
|
2212
|
-
return /* @__PURE__ */ (0,
|
|
2369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_aria_components23.ListBox, { "data-slot": "select-list", className: cn("max-h-64 overflow-y-auto", className), ...props });
|
|
2213
2370
|
}
|
|
2214
2371
|
function SelectItem({ className, children, ...props }) {
|
|
2215
|
-
return /* @__PURE__ */ (0,
|
|
2372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_aria_components23.ListBoxItem, { "data-slot": "select-item", className: cn("flex cursor-default items-center gap-2 rounded-md px-2 py-1.5 text-sm outline-none data-focused:bg-muted data-selected:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50", className), ...props, children });
|
|
2216
2373
|
}
|
|
2217
2374
|
|
|
2218
2375
|
// src/ui/sheet/sheet.tsx
|
|
2219
|
-
var
|
|
2220
|
-
var
|
|
2221
|
-
var
|
|
2376
|
+
var import_lucide_react12 = require("lucide-react");
|
|
2377
|
+
var import_react_aria_components24 = require("react-aria-components");
|
|
2378
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2222
2379
|
function SheetTrigger({ ...props }) {
|
|
2223
|
-
return /* @__PURE__ */ (0,
|
|
2380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_aria_components24.DialogTrigger, { "data-slot": "sheet-trigger", ...props });
|
|
2224
2381
|
}
|
|
2225
2382
|
function SheetClose({ className, variant = "outline", size = "default", ...props }) {
|
|
2226
|
-
return /* @__PURE__ */ (0,
|
|
2383
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2227
2384
|
Button,
|
|
2228
2385
|
{
|
|
2229
2386
|
slot: "close",
|
|
@@ -2240,8 +2397,8 @@ function SheetOverlay({
|
|
|
2240
2397
|
children,
|
|
2241
2398
|
...props
|
|
2242
2399
|
}) {
|
|
2243
|
-
return /* @__PURE__ */ (0,
|
|
2244
|
-
|
|
2400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2401
|
+
import_react_aria_components24.ModalOverlay,
|
|
2245
2402
|
{
|
|
2246
2403
|
"data-slot": "sheet-overlay",
|
|
2247
2404
|
isDismissable: true,
|
|
@@ -2261,8 +2418,8 @@ function Sheet({
|
|
|
2261
2418
|
showCloseButton = true,
|
|
2262
2419
|
...props
|
|
2263
2420
|
}) {
|
|
2264
|
-
return /* @__PURE__ */ (0,
|
|
2265
|
-
|
|
2421
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SheetOverlay, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2422
|
+
import_react_aria_components24.Modal,
|
|
2266
2423
|
{
|
|
2267
2424
|
"data-slot": "sheet-content",
|
|
2268
2425
|
"data-side": side,
|
|
@@ -2270,16 +2427,16 @@ function Sheet({
|
|
|
2270
2427
|
"fixed z-50 flex flex-col gap-4 border-border bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-entering:opacity-0 data-exiting:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-entering:translate-y-10 data-[side=bottom]:data-exiting:translate-y-10 data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-entering:-translate-x-10 data-[side=left]:data-exiting:-translate-x-10 data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-entering:translate-x-10 data-[side=right]:data-exiting:translate-x-10 data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-entering:-translate-y-10 data-[side=top]:data-exiting:-translate-y-10 data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
|
|
2271
2428
|
className
|
|
2272
2429
|
),
|
|
2273
|
-
children: /* @__PURE__ */ (0,
|
|
2274
|
-
|
|
2430
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2431
|
+
import_react_aria_components24.Dialog,
|
|
2275
2432
|
{
|
|
2276
2433
|
"data-slot": "sheet",
|
|
2277
2434
|
className: "[display:inherit] h-full max-h-[inherit] [flex-direction:inherit] gap-[inherit] outline-none",
|
|
2278
2435
|
children: [
|
|
2279
2436
|
children,
|
|
2280
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
2281
|
-
/* @__PURE__ */ (0,
|
|
2282
|
-
/* @__PURE__ */ (0,
|
|
2437
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(SheetClose, { variant: "ghost", className: "absolute top-3 right-3", size: "icon-sm", children: [
|
|
2438
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react12.XIcon, {}),
|
|
2439
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "sr-only", children: "Cerrar" })
|
|
2283
2440
|
] })
|
|
2284
2441
|
]
|
|
2285
2442
|
}
|
|
@@ -2294,10 +2451,10 @@ function SheetContent({
|
|
|
2294
2451
|
showCloseButton = true,
|
|
2295
2452
|
...props
|
|
2296
2453
|
}) {
|
|
2297
|
-
return /* @__PURE__ */ (0,
|
|
2454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Sheet, { className, side, showCloseButton, ...props, children });
|
|
2298
2455
|
}
|
|
2299
2456
|
function SheetHeader({ className, ...props }) {
|
|
2300
|
-
return /* @__PURE__ */ (0,
|
|
2457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2301
2458
|
"div",
|
|
2302
2459
|
{
|
|
2303
2460
|
"data-slot": "sheet-header",
|
|
@@ -2307,7 +2464,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
2307
2464
|
);
|
|
2308
2465
|
}
|
|
2309
2466
|
function SheetFooter({ className, ...props }) {
|
|
2310
|
-
return /* @__PURE__ */ (0,
|
|
2467
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2311
2468
|
"div",
|
|
2312
2469
|
{
|
|
2313
2470
|
"data-slot": "sheet-footer",
|
|
@@ -2317,8 +2474,8 @@ function SheetFooter({ className, ...props }) {
|
|
|
2317
2474
|
);
|
|
2318
2475
|
}
|
|
2319
2476
|
function SheetTitle({ className, ...props }) {
|
|
2320
|
-
return /* @__PURE__ */ (0,
|
|
2321
|
-
|
|
2477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2478
|
+
import_react_aria_components24.Heading,
|
|
2322
2479
|
{
|
|
2323
2480
|
slot: "title",
|
|
2324
2481
|
"data-slot": "sheet-title",
|
|
@@ -2331,8 +2488,8 @@ function SheetDescription({
|
|
|
2331
2488
|
className,
|
|
2332
2489
|
...props
|
|
2333
2490
|
}) {
|
|
2334
|
-
return /* @__PURE__ */ (0,
|
|
2335
|
-
|
|
2491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2492
|
+
import_react_aria_components24.Text,
|
|
2336
2493
|
{
|
|
2337
2494
|
slot: "description",
|
|
2338
2495
|
"data-slot": "sheet-description",
|
|
@@ -2343,10 +2500,10 @@ function SheetDescription({
|
|
|
2343
2500
|
}
|
|
2344
2501
|
|
|
2345
2502
|
// src/ui/sidebar/sidebar.tsx
|
|
2346
|
-
var
|
|
2503
|
+
var import_lucide_react13 = require("lucide-react");
|
|
2347
2504
|
var import_react11 = require("react");
|
|
2348
|
-
var
|
|
2349
|
-
var
|
|
2505
|
+
var import_react_aria_components25 = require("react-aria-components");
|
|
2506
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2350
2507
|
var SidebarContext = (0, import_react11.createContext)(null);
|
|
2351
2508
|
function useSidebar() {
|
|
2352
2509
|
const context = (0, import_react11.useContext)(SidebarContext);
|
|
@@ -2367,14 +2524,14 @@ function SidebarProvider({
|
|
|
2367
2524
|
}),
|
|
2368
2525
|
[collapsed]
|
|
2369
2526
|
);
|
|
2370
|
-
return /* @__PURE__ */ (0,
|
|
2527
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SidebarContext.Provider, { value, children });
|
|
2371
2528
|
}
|
|
2372
2529
|
function Sidebar({
|
|
2373
2530
|
className,
|
|
2374
2531
|
...props
|
|
2375
2532
|
}) {
|
|
2376
2533
|
const { collapsed } = useSidebar();
|
|
2377
|
-
return /* @__PURE__ */ (0,
|
|
2534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2378
2535
|
"aside",
|
|
2379
2536
|
{
|
|
2380
2537
|
"data-slot": "sidebar",
|
|
@@ -2391,7 +2548,7 @@ function SidebarHeader({
|
|
|
2391
2548
|
className,
|
|
2392
2549
|
...props
|
|
2393
2550
|
}) {
|
|
2394
|
-
return /* @__PURE__ */ (0,
|
|
2551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2395
2552
|
"div",
|
|
2396
2553
|
{
|
|
2397
2554
|
"data-slot": "sidebar-header",
|
|
@@ -2406,7 +2563,7 @@ function SidebarSearch({
|
|
|
2406
2563
|
className,
|
|
2407
2564
|
...props
|
|
2408
2565
|
}) {
|
|
2409
|
-
return /* @__PURE__ */ (0,
|
|
2566
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2410
2567
|
"button",
|
|
2411
2568
|
{
|
|
2412
2569
|
type: "button",
|
|
@@ -2417,9 +2574,9 @@ function SidebarSearch({
|
|
|
2417
2574
|
),
|
|
2418
2575
|
...props,
|
|
2419
2576
|
children: [
|
|
2420
|
-
/* @__PURE__ */ (0,
|
|
2421
|
-
/* @__PURE__ */ (0,
|
|
2422
|
-
/* @__PURE__ */ (0,
|
|
2577
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.Search, { className: "size-4 shrink-0" }),
|
|
2578
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex-1 text-left", children: label }),
|
|
2579
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("kbd", { className: "rounded bg-secondary px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground", children: shortcut })
|
|
2423
2580
|
]
|
|
2424
2581
|
}
|
|
2425
2582
|
);
|
|
@@ -2428,7 +2585,7 @@ function SidebarContent({
|
|
|
2428
2585
|
className,
|
|
2429
2586
|
...props
|
|
2430
2587
|
}) {
|
|
2431
|
-
return /* @__PURE__ */ (0,
|
|
2588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2432
2589
|
"nav",
|
|
2433
2590
|
{
|
|
2434
2591
|
"data-slot": "sidebar-content",
|
|
@@ -2442,7 +2599,7 @@ function SidebarFooter({
|
|
|
2442
2599
|
className,
|
|
2443
2600
|
...props
|
|
2444
2601
|
}) {
|
|
2445
|
-
return /* @__PURE__ */ (0,
|
|
2602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2446
2603
|
"div",
|
|
2447
2604
|
{
|
|
2448
2605
|
"data-slot": "sidebar-footer",
|
|
@@ -2461,14 +2618,14 @@ function SidebarGroup({
|
|
|
2461
2618
|
...props
|
|
2462
2619
|
}) {
|
|
2463
2620
|
const { collapsed } = useSidebar();
|
|
2464
|
-
return /* @__PURE__ */ (0,
|
|
2621
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2465
2622
|
"section",
|
|
2466
2623
|
{
|
|
2467
2624
|
"data-slot": "sidebar-group",
|
|
2468
2625
|
className: cn("mb-4 last:mb-0", className),
|
|
2469
2626
|
...props,
|
|
2470
2627
|
children: [
|
|
2471
|
-
label && /* @__PURE__ */ (0,
|
|
2628
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2472
2629
|
"h2",
|
|
2473
2630
|
{
|
|
2474
2631
|
className: cn(
|
|
@@ -2494,8 +2651,8 @@ function SidebarItem({
|
|
|
2494
2651
|
}) {
|
|
2495
2652
|
const { collapsed } = useSidebar();
|
|
2496
2653
|
const content = typeof children === "function" ? label : children ?? label;
|
|
2497
|
-
return /* @__PURE__ */ (0,
|
|
2498
|
-
|
|
2654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2655
|
+
import_react_aria_components25.Link,
|
|
2499
2656
|
{
|
|
2500
2657
|
"data-slot": "sidebar-item",
|
|
2501
2658
|
"aria-current": active ? "page" : void 0,
|
|
@@ -2506,16 +2663,16 @@ function SidebarItem({
|
|
|
2506
2663
|
typeof className === "function" ? className : className
|
|
2507
2664
|
),
|
|
2508
2665
|
...props,
|
|
2509
|
-
children: (values) => /* @__PURE__ */ (0,
|
|
2510
|
-
/* @__PURE__ */ (0,
|
|
2511
|
-
/* @__PURE__ */ (0,
|
|
2666
|
+
children: (values) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
2667
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center", children: icon }),
|
|
2668
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2512
2669
|
"span",
|
|
2513
2670
|
{
|
|
2514
2671
|
className: cn("min-w-0 flex-1 truncate", collapsed && "sr-only"),
|
|
2515
2672
|
children: typeof children === "function" ? children(values) : content
|
|
2516
2673
|
}
|
|
2517
2674
|
),
|
|
2518
|
-
badge && !collapsed && /* @__PURE__ */ (0,
|
|
2675
|
+
badge && !collapsed && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-xs text-muted-foreground", children: badge })
|
|
2519
2676
|
] })
|
|
2520
2677
|
}
|
|
2521
2678
|
);
|
|
@@ -2524,7 +2681,7 @@ function SidebarSeparator({
|
|
|
2524
2681
|
className,
|
|
2525
2682
|
...props
|
|
2526
2683
|
}) {
|
|
2527
|
-
return /* @__PURE__ */ (0,
|
|
2684
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2528
2685
|
"hr",
|
|
2529
2686
|
{
|
|
2530
2687
|
"data-slot": "sidebar-separator",
|
|
@@ -2535,7 +2692,7 @@ function SidebarSeparator({
|
|
|
2535
2692
|
}
|
|
2536
2693
|
function SidebarTrigger({ className, ...props }) {
|
|
2537
2694
|
const { collapsed, toggle } = useSidebar();
|
|
2538
|
-
return /* @__PURE__ */ (0,
|
|
2695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2539
2696
|
Button,
|
|
2540
2697
|
{
|
|
2541
2698
|
"aria-label": collapsed ? "Expandir navegaci\xF3n" : "Colapsar navegaci\xF3n",
|
|
@@ -2544,7 +2701,7 @@ function SidebarTrigger({ className, ...props }) {
|
|
|
2544
2701
|
variant: "ghost",
|
|
2545
2702
|
className: cn("ml-auto", className),
|
|
2546
2703
|
...props,
|
|
2547
|
-
children: collapsed ? /* @__PURE__ */ (0,
|
|
2704
|
+
children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronRight, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.ChevronLeft, {})
|
|
2548
2705
|
}
|
|
2549
2706
|
);
|
|
2550
2707
|
}
|
|
@@ -2553,7 +2710,7 @@ function SidebarRail({
|
|
|
2553
2710
|
...props
|
|
2554
2711
|
}) {
|
|
2555
2712
|
const { toggle } = useSidebar();
|
|
2556
|
-
return /* @__PURE__ */ (0,
|
|
2713
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2557
2714
|
"button",
|
|
2558
2715
|
{
|
|
2559
2716
|
type: "button",
|
|
@@ -2568,7 +2725,7 @@ function SidebarRail({
|
|
|
2568
2725
|
);
|
|
2569
2726
|
}
|
|
2570
2727
|
function SidebarMore({ className, ...props }) {
|
|
2571
|
-
return /* @__PURE__ */ (0,
|
|
2728
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2572
2729
|
Button,
|
|
2573
2730
|
{
|
|
2574
2731
|
"aria-label": "M\xE1s opciones",
|
|
@@ -2576,34 +2733,34 @@ function SidebarMore({ className, ...props }) {
|
|
|
2576
2733
|
variant: "ghost",
|
|
2577
2734
|
className: cn("size-7", className),
|
|
2578
2735
|
...props,
|
|
2579
|
-
children: /* @__PURE__ */ (0,
|
|
2736
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react13.Ellipsis, {})
|
|
2580
2737
|
}
|
|
2581
2738
|
);
|
|
2582
2739
|
}
|
|
2583
2740
|
|
|
2584
2741
|
// src/ui/skeleton/skeleton.tsx
|
|
2585
|
-
var
|
|
2742
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2586
2743
|
function Skeleton({ className, ...props }) {
|
|
2587
|
-
return /* @__PURE__ */ (0,
|
|
2744
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { "aria-hidden": "true", "data-slot": "skeleton", className: cn("animate-pulse rounded-md bg-muted", className), ...props });
|
|
2588
2745
|
}
|
|
2589
2746
|
|
|
2590
2747
|
// src/ui/submit-button/submit-button.tsx
|
|
2591
2748
|
var import_react_dom = require("react-dom");
|
|
2592
|
-
var
|
|
2593
|
-
var
|
|
2749
|
+
var import_lucide_react14 = require("lucide-react");
|
|
2750
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2594
2751
|
function SubmitButton({ pendingLabel = "Guardando\u2026", loading = false, children, isDisabled, size = "sm", ...props }) {
|
|
2595
2752
|
const { pending } = (0, import_react_dom.useFormStatus)();
|
|
2596
2753
|
const busy = pending || loading;
|
|
2597
|
-
return /* @__PURE__ */ (0,
|
|
2598
|
-
/* @__PURE__ */ (0,
|
|
2754
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Button, { type: "submit", size, isDisabled: busy || isDisabled, "aria-busy": busy || void 0, ...props, children: busy ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
2755
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react14.LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
2599
2756
|
pendingLabel
|
|
2600
2757
|
] }) : children });
|
|
2601
2758
|
}
|
|
2602
2759
|
|
|
2603
2760
|
// src/ui/switch/switch.tsx
|
|
2604
2761
|
var import_react12 = require("react");
|
|
2605
|
-
var
|
|
2606
|
-
var
|
|
2762
|
+
var import_react_aria_components26 = require("react-aria-components");
|
|
2763
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2607
2764
|
var switchSizes = {
|
|
2608
2765
|
sm: {
|
|
2609
2766
|
control: "h-4 w-[1.875rem] p-0.5",
|
|
@@ -2659,8 +2816,8 @@ function Switch({
|
|
|
2659
2816
|
ownerDocument.addEventListener("keydown", handleDirectionalKey);
|
|
2660
2817
|
return () => ownerDocument.removeEventListener("keydown", handleDirectionalKey);
|
|
2661
2818
|
}, [isDisabled, isReadOnly, resolvedInputRef]);
|
|
2662
|
-
return /* @__PURE__ */ (0,
|
|
2663
|
-
|
|
2819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2820
|
+
import_react_aria_components26.Switch,
|
|
2664
2821
|
{
|
|
2665
2822
|
"data-slot": "switch",
|
|
2666
2823
|
"data-size": size,
|
|
@@ -2676,8 +2833,8 @@ function Switch({
|
|
|
2676
2833
|
children: (state) => {
|
|
2677
2834
|
const isThumbActive = state.isHovered || state.isPressed;
|
|
2678
2835
|
const thumbOffset = state.isSelected ? isThumbActive ? styles.activeSelectedOffset : styles.selectedOffset : "0";
|
|
2679
|
-
return /* @__PURE__ */ (0,
|
|
2680
|
-
/* @__PURE__ */ (0,
|
|
2836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_jsx_runtime43.Fragment, { children: [
|
|
2837
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2681
2838
|
"span",
|
|
2682
2839
|
{
|
|
2683
2840
|
"aria-hidden": "true",
|
|
@@ -2691,7 +2848,7 @@ function Switch({
|
|
|
2691
2848
|
"group-data-focus-visible/switch:ring-3 group-data-focus-visible/switch:ring-ring/50",
|
|
2692
2849
|
styles.control
|
|
2693
2850
|
),
|
|
2694
|
-
children: /* @__PURE__ */ (0,
|
|
2851
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2695
2852
|
"span",
|
|
2696
2853
|
{
|
|
2697
2854
|
"data-slot": "switch-thumb",
|
|
@@ -2711,9 +2868,9 @@ function Switch({
|
|
|
2711
2868
|
)
|
|
2712
2869
|
}
|
|
2713
2870
|
),
|
|
2714
|
-
children || description ? /* @__PURE__ */ (0,
|
|
2715
|
-
children ? /* @__PURE__ */ (0,
|
|
2716
|
-
description ? /* @__PURE__ */ (0,
|
|
2871
|
+
children || description ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("span", { className: "grid gap-0.5 leading-tight", children: [
|
|
2872
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { "data-slot": "switch-label", className: "font-medium", children: typeof children === "function" ? children(state) : children }) : null,
|
|
2873
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("span", { "data-slot": "switch-description", className: "text-xs font-normal text-muted-foreground", children: description }) : null
|
|
2717
2874
|
] }) : null
|
|
2718
2875
|
] });
|
|
2719
2876
|
}
|
|
@@ -2722,9 +2879,9 @@ function Switch({
|
|
|
2722
2879
|
}
|
|
2723
2880
|
|
|
2724
2881
|
// src/ui/table/table.tsx
|
|
2725
|
-
var
|
|
2882
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2726
2883
|
function Table({ className, ...props }) {
|
|
2727
|
-
return /* @__PURE__ */ (0,
|
|
2884
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2728
2885
|
"table",
|
|
2729
2886
|
{
|
|
2730
2887
|
"data-slot": "table",
|
|
@@ -2734,10 +2891,10 @@ function Table({ className, ...props }) {
|
|
|
2734
2891
|
) });
|
|
2735
2892
|
}
|
|
2736
2893
|
function TableHeader({ className, ...props }) {
|
|
2737
|
-
return /* @__PURE__ */ (0,
|
|
2894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("thead", { "data-slot": "table-header", className: cn("[&_tr]:border-b", className), ...props });
|
|
2738
2895
|
}
|
|
2739
2896
|
function TableBody({ className, ...props }) {
|
|
2740
|
-
return /* @__PURE__ */ (0,
|
|
2897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2741
2898
|
"tbody",
|
|
2742
2899
|
{
|
|
2743
2900
|
"data-slot": "table-body",
|
|
@@ -2747,7 +2904,7 @@ function TableBody({ className, ...props }) {
|
|
|
2747
2904
|
);
|
|
2748
2905
|
}
|
|
2749
2906
|
function TableRow({ className, ...props }) {
|
|
2750
|
-
return /* @__PURE__ */ (0,
|
|
2907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2751
2908
|
"tr",
|
|
2752
2909
|
{
|
|
2753
2910
|
"data-slot": "table-row",
|
|
@@ -2760,7 +2917,7 @@ function TableRow({ className, ...props }) {
|
|
|
2760
2917
|
);
|
|
2761
2918
|
}
|
|
2762
2919
|
function TableHead({ className, ...props }) {
|
|
2763
|
-
return /* @__PURE__ */ (0,
|
|
2920
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2764
2921
|
"th",
|
|
2765
2922
|
{
|
|
2766
2923
|
"data-slot": "table-head",
|
|
@@ -2773,7 +2930,7 @@ function TableHead({ className, ...props }) {
|
|
|
2773
2930
|
);
|
|
2774
2931
|
}
|
|
2775
2932
|
function TableCell({ className, ...props }) {
|
|
2776
|
-
return /* @__PURE__ */ (0,
|
|
2933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2777
2934
|
"td",
|
|
2778
2935
|
{
|
|
2779
2936
|
"data-slot": "table-cell",
|
|
@@ -2783,7 +2940,7 @@ function TableCell({ className, ...props }) {
|
|
|
2783
2940
|
);
|
|
2784
2941
|
}
|
|
2785
2942
|
function TableCaption({ className, ...props }) {
|
|
2786
|
-
return /* @__PURE__ */ (0,
|
|
2943
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2787
2944
|
"caption",
|
|
2788
2945
|
{
|
|
2789
2946
|
"data-slot": "table-caption",
|
|
@@ -2793,7 +2950,7 @@ function TableCaption({ className, ...props }) {
|
|
|
2793
2950
|
);
|
|
2794
2951
|
}
|
|
2795
2952
|
function TableFooter({ className, ...props }) {
|
|
2796
|
-
return /* @__PURE__ */ (0,
|
|
2953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2797
2954
|
"tfoot",
|
|
2798
2955
|
{
|
|
2799
2956
|
"data-slot": "table-footer",
|
|
@@ -2804,28 +2961,28 @@ function TableFooter({ className, ...props }) {
|
|
|
2804
2961
|
}
|
|
2805
2962
|
|
|
2806
2963
|
// src/ui/tabs/tabs.tsx
|
|
2807
|
-
var
|
|
2808
|
-
var
|
|
2964
|
+
var import_react_aria_components27 = require("react-aria-components");
|
|
2965
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2809
2966
|
function Tabs({ className, ...props }) {
|
|
2810
|
-
return /* @__PURE__ */ (0,
|
|
2967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_aria_components27.Tabs, { "data-slot": "tabs", className: (0, import_react_aria_components27.composeRenderProps)(className, (value) => cn("flex flex-col gap-2", value)), ...props });
|
|
2811
2968
|
}
|
|
2812
2969
|
function TabsList({ className, ...props }) {
|
|
2813
|
-
return /* @__PURE__ */ (0,
|
|
2970
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_aria_components27.TabList, { "data-slot": "tabs-list", className: (0, import_react_aria_components27.composeRenderProps)(className, (value) => cn("inline-flex w-fit items-center gap-1 rounded-lg bg-muted p-1 text-muted-foreground", value)), ...props });
|
|
2814
2971
|
}
|
|
2815
2972
|
function TabsTrigger({ className, ...props }) {
|
|
2816
|
-
return /* @__PURE__ */ (0,
|
|
2973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_aria_components27.Tab, { "data-slot": "tabs-trigger", className: (0, import_react_aria_components27.composeRenderProps)(className, (value) => cn("inline-flex h-7 items-center justify-center gap-1.5 rounded-md px-2.5 text-sm font-medium outline-none transition-colors data-hovered:text-foreground data-selected:bg-background data-selected:text-foreground data-selected:shadow-sm data-focus-visible:ring-3 data-focus-visible:ring-ring/50 data-disabled:cursor-not-allowed data-disabled:opacity-50", value)), ...props });
|
|
2817
2974
|
}
|
|
2818
2975
|
function TabsPanels({ className, ...props }) {
|
|
2819
|
-
return /* @__PURE__ */ (0,
|
|
2976
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_aria_components27.TabPanels, { "data-slot": "tabs-panels", className: cn("min-w-0", className), ...props });
|
|
2820
2977
|
}
|
|
2821
2978
|
function TabsContent({ className, ...props }) {
|
|
2822
|
-
return /* @__PURE__ */ (0,
|
|
2979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_aria_components27.TabPanel, { "data-slot": "tabs-content", className: (0, import_react_aria_components27.composeRenderProps)(className, (value) => cn("text-sm outline-none data-focus-visible:ring-3 data-focus-visible:ring-ring/50", value)), ...props });
|
|
2823
2980
|
}
|
|
2824
2981
|
|
|
2825
2982
|
// src/ui/toast/toast.tsx
|
|
2826
2983
|
var import_react13 = require("react");
|
|
2827
2984
|
var import_sileo = require("sileo");
|
|
2828
|
-
var
|
|
2985
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2829
2986
|
function toSileoOptions({ title, description, duration, position, action }) {
|
|
2830
2987
|
return {
|
|
2831
2988
|
title,
|
|
@@ -2864,18 +3021,18 @@ function useToast() {
|
|
|
2864
3021
|
return toast;
|
|
2865
3022
|
}
|
|
2866
3023
|
function ToastProvider({ children }) {
|
|
2867
|
-
return /* @__PURE__ */ (0,
|
|
3024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
2868
3025
|
children,
|
|
2869
|
-
/* @__PURE__ */ (0,
|
|
3026
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Toaster, {})
|
|
2870
3027
|
] });
|
|
2871
3028
|
}
|
|
2872
3029
|
function Toaster({ position }) {
|
|
2873
|
-
return /* @__PURE__ */ (0,
|
|
3030
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_sileo.Toaster, { position, options: { fill: "var(--ui-secondary)" } });
|
|
2874
3031
|
}
|
|
2875
3032
|
function ToastViewport({ position, visiblePosition, className }) {
|
|
2876
3033
|
void className;
|
|
2877
3034
|
if (visiblePosition && visiblePosition !== position) return null;
|
|
2878
|
-
return /* @__PURE__ */ (0,
|
|
3035
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Toaster, { position });
|
|
2879
3036
|
}
|
|
2880
3037
|
function Toast({ id, title, description, variant = "default", action, state = "open", duration = 0, position, onDismiss }) {
|
|
2881
3038
|
(0, import_react13.useEffect)(() => {
|
|
@@ -2890,15 +3047,15 @@ function Toast({ id, title, description, variant = "default", action, state = "o
|
|
|
2890
3047
|
}
|
|
2891
3048
|
|
|
2892
3049
|
// src/ui/toolbar/toolbar.tsx
|
|
2893
|
-
var
|
|
3050
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2894
3051
|
function Toolbar({ className, ...props }) {
|
|
2895
|
-
return /* @__PURE__ */ (0,
|
|
3052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { role: "toolbar", "data-slot": "toolbar", className: cn("flex flex-wrap items-center gap-2", className), ...props });
|
|
2896
3053
|
}
|
|
2897
3054
|
function ToolbarGroup({ className, ...props }) {
|
|
2898
|
-
return /* @__PURE__ */ (0,
|
|
3055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "data-slot": "toolbar-group", className: cn("flex items-center gap-2", className), ...props });
|
|
2899
3056
|
}
|
|
2900
3057
|
function ToolbarSpacer({ className, ...props }) {
|
|
2901
|
-
return /* @__PURE__ */ (0,
|
|
3058
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { "aria-hidden": "true", className: cn("hidden flex-1 sm:block", className), ...props });
|
|
2902
3059
|
}
|
|
2903
3060
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2904
3061
|
0 && (module.exports = {
|
|
@@ -2954,6 +3111,16 @@ function ToolbarSpacer({ className, ...props }) {
|
|
|
2954
3111
|
CommandItem,
|
|
2955
3112
|
CommandList,
|
|
2956
3113
|
ConfirmDialog,
|
|
3114
|
+
Dialog,
|
|
3115
|
+
DialogClose,
|
|
3116
|
+
DialogContent,
|
|
3117
|
+
DialogDescription,
|
|
3118
|
+
DialogFooter,
|
|
3119
|
+
DialogHeader,
|
|
3120
|
+
DialogOverlay,
|
|
3121
|
+
DialogPortal,
|
|
3122
|
+
DialogTitle,
|
|
3123
|
+
DialogTrigger,
|
|
2957
3124
|
Drawer,
|
|
2958
3125
|
DrawerDescription,
|
|
2959
3126
|
DrawerFooter,
|