@windrun-huaiin/base-ui 3.3.0 → 3.4.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/dist/index.d.mts +2 -38
- package/dist/index.d.ts +2 -38
- package/dist/index.js +187 -4263
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +184 -4037
- package/dist/index.mjs.map +1 -1
- package/dist/ui/index.d.mts +37 -711
- package/dist/ui/index.d.ts +37 -711
- package/dist/ui/index.js +172 -4248
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +171 -4024
- package/dist/ui/index.mjs.map +1 -1
- package/package.json +1 -33
- package/src/ui/index.ts +2 -48
- package/src/ui/accordion.tsx +0 -58
- package/src/ui/alert.tsx +0 -59
- package/src/ui/aspect-ratio.tsx +0 -7
- package/src/ui/avatar.tsx +0 -50
- package/src/ui/badge.tsx +0 -36
- package/src/ui/breadcrumb.tsx +0 -115
- package/src/ui/calendar.tsx +0 -66
- package/src/ui/card.tsx +0 -79
- package/src/ui/carousel.tsx +0 -262
- package/src/ui/chart.tsx +0 -365
- package/src/ui/checkbox.tsx +0 -30
- package/src/ui/collapsible.tsx +0 -11
- package/src/ui/command.tsx +0 -153
- package/src/ui/context-menu.tsx +0 -200
- package/src/ui/dialog.tsx +0 -122
- package/src/ui/drawer.tsx +0 -118
- package/src/ui/form.tsx +0 -178
- package/src/ui/hover-card.tsx +0 -29
- package/src/ui/input-otp.tsx +0 -71
- package/src/ui/input.tsx +0 -22
- package/src/ui/menubar.tsx +0 -236
- package/src/ui/navigation-menu.tsx +0 -128
- package/src/ui/pagination.tsx +0 -117
- package/src/ui/popover.tsx +0 -31
- package/src/ui/progress.tsx +0 -28
- package/src/ui/radio-group.tsx +0 -44
- package/src/ui/resizable.tsx +0 -45
- package/src/ui/scroll-area.tsx +0 -48
- package/src/ui/select.tsx +0 -160
- package/src/ui/separator.tsx +0 -31
- package/src/ui/sheet.tsx +0 -140
- package/src/ui/sidebar.tsx +0 -763
- package/src/ui/skeleton.tsx +0 -15
- package/src/ui/slider.tsx +0 -28
- package/src/ui/sonner.tsx +0 -31
- package/src/ui/switch.tsx +0 -29
- package/src/ui/table.tsx +0 -117
- package/src/ui/tabs.tsx +0 -55
- package/src/ui/textarea.tsx +0 -22
- package/src/ui/toast.tsx +0 -129
- package/src/ui/toaster.tsx +0 -35
- package/src/ui/toggle-group.tsx +0 -61
- package/src/ui/toggle.tsx +0 -45
- package/src/ui/tooltip.tsx +0 -30
- package/src/ui/use-mobile.tsx +0 -19
- package/src/ui/use-toast.ts +0 -194
package/dist/index.mjs
CHANGED
@@ -34,9 +34,21 @@ var __export = (target, all) => {
|
|
34
34
|
__defProp(target, name, { get: all[name], enumerable: true });
|
35
35
|
};
|
36
36
|
|
37
|
-
// src/ui/
|
37
|
+
// src/ui/alert-dialog.tsx
|
38
|
+
import * as React31 from "react";
|
39
|
+
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
40
|
+
|
41
|
+
// ../lib/src/utils.ts
|
42
|
+
import { clsx } from "clsx";
|
43
|
+
import { twMerge } from "tailwind-merge";
|
44
|
+
function cn(...inputs) {
|
45
|
+
return twMerge(clsx(inputs));
|
46
|
+
}
|
47
|
+
|
48
|
+
// src/ui/button.tsx
|
38
49
|
import * as React30 from "react";
|
39
|
-
import
|
50
|
+
import { Slot } from "@radix-ui/react-slot";
|
51
|
+
import { cva } from "class-variance-authority";
|
40
52
|
|
41
53
|
// src/assets/github.tsx
|
42
54
|
import React from "react";
|
@@ -1311,8 +1323,8 @@ function getGlobalIcon(iconKey, createElement) {
|
|
1311
1323
|
}
|
1312
1324
|
return globalLucideIcons[DEFAULT_FALLBACK_ICON];
|
1313
1325
|
}
|
1314
|
-
const
|
1315
|
-
if (!
|
1326
|
+
const Icon = globalLucideIcons[iconKey];
|
1327
|
+
if (!Icon) {
|
1316
1328
|
if (typeof process !== "undefined" && ((_a = process.env) == null ? void 0 : _a.NODE_ENV) !== "production") {
|
1317
1329
|
console.warn(
|
1318
1330
|
`[global-icon] iconKey "${iconKey}" is not defined in globalIcons, will use default "${String(DEFAULT_FALLBACK_ICON)}" icon, please check!`
|
@@ -1325,9 +1337,9 @@ function getGlobalIcon(iconKey, createElement) {
|
|
1325
1337
|
return FallbackIcon;
|
1326
1338
|
}
|
1327
1339
|
if (createElement) {
|
1328
|
-
return React29.createElement(
|
1340
|
+
return React29.createElement(Icon);
|
1329
1341
|
}
|
1330
|
-
return
|
1342
|
+
return Icon;
|
1331
1343
|
}
|
1332
1344
|
function getIconElement(icon) {
|
1333
1345
|
return getGlobalIcon(icon, true);
|
@@ -1335,69 +1347,8 @@ function getIconElement(icon) {
|
|
1335
1347
|
var DefaultSiteIcon = () => /* @__PURE__ */ jsx29(globalLucideIcons.Zap, { className: `h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}` });
|
1336
1348
|
var NotFoundIcon = () => /* @__PURE__ */ jsx29(globalLucideIcons.SquareTerminal, { className: `h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}` });
|
1337
1349
|
|
1338
|
-
// ../lib/src/utils.ts
|
1339
|
-
import { clsx } from "clsx";
|
1340
|
-
import { twMerge } from "tailwind-merge";
|
1341
|
-
function cn(...inputs) {
|
1342
|
-
return twMerge(clsx(inputs));
|
1343
|
-
}
|
1344
|
-
|
1345
|
-
// src/ui/accordion.tsx
|
1346
|
-
import { jsx as jsx30, jsxs as jsxs7 } from "react/jsx-runtime";
|
1347
|
-
var Accordion = AccordionPrimitive.Root;
|
1348
|
-
var AccordionItem = React30.forwardRef((_a, ref) => {
|
1349
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1350
|
-
return /* @__PURE__ */ jsx30(
|
1351
|
-
AccordionPrimitive.Item,
|
1352
|
-
__spreadValues({
|
1353
|
-
ref,
|
1354
|
-
className: cn("border-b", className)
|
1355
|
-
}, props)
|
1356
|
-
);
|
1357
|
-
});
|
1358
|
-
AccordionItem.displayName = "AccordionItem";
|
1359
|
-
var AccordionTrigger = React30.forwardRef((_a, ref) => {
|
1360
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
1361
|
-
return /* @__PURE__ */ jsx30(AccordionPrimitive.Header, { className: "flex", children: /* @__PURE__ */ jsxs7(
|
1362
|
-
AccordionPrimitive.Trigger,
|
1363
|
-
__spreadProps(__spreadValues({
|
1364
|
-
ref,
|
1365
|
-
className: cn(
|
1366
|
-
"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
|
1367
|
-
className
|
1368
|
-
)
|
1369
|
-
}, props), {
|
1370
|
-
children: [
|
1371
|
-
children,
|
1372
|
-
/* @__PURE__ */ jsx30(globalLucideIcons.ChevronDown, { className: "h-4 w-4 shrink-0 transition-transform duration-200" })
|
1373
|
-
]
|
1374
|
-
})
|
1375
|
-
) });
|
1376
|
-
});
|
1377
|
-
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
1378
|
-
var AccordionContent = React30.forwardRef((_a, ref) => {
|
1379
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
1380
|
-
return /* @__PURE__ */ jsx30(
|
1381
|
-
AccordionPrimitive.Content,
|
1382
|
-
__spreadProps(__spreadValues({
|
1383
|
-
ref,
|
1384
|
-
className: "overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
|
1385
|
-
}, props), {
|
1386
|
-
children: /* @__PURE__ */ jsx30("div", { className: cn("pb-4 pt-0", className), children })
|
1387
|
-
})
|
1388
|
-
);
|
1389
|
-
});
|
1390
|
-
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
1391
|
-
|
1392
|
-
// src/ui/alert-dialog.tsx
|
1393
|
-
import * as React32 from "react";
|
1394
|
-
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
1395
|
-
|
1396
1350
|
// src/ui/button.tsx
|
1397
|
-
import
|
1398
|
-
import { Slot } from "@radix-ui/react-slot";
|
1399
|
-
import { cva } from "class-variance-authority";
|
1400
|
-
import { jsx as jsx31, jsxs as jsxs8 } from "react/jsx-runtime";
|
1351
|
+
import { jsx as jsx30, jsxs as jsxs7 } from "react/jsx-runtime";
|
1401
1352
|
var buttonVariants = cva(
|
1402
1353
|
"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
1403
1354
|
{
|
@@ -1423,12 +1374,12 @@ var buttonVariants = cva(
|
|
1423
1374
|
}
|
1424
1375
|
}
|
1425
1376
|
);
|
1426
|
-
var Button =
|
1377
|
+
var Button = React30.forwardRef(
|
1427
1378
|
(_a, ref) => {
|
1428
1379
|
var _b = _a, { className, variant, size, asChild = false, loading = false, children } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild", "loading", "children"]);
|
1429
1380
|
const Comp = asChild ? Slot : "button";
|
1430
1381
|
if (asChild) {
|
1431
|
-
return /* @__PURE__ */
|
1382
|
+
return /* @__PURE__ */ jsx30(
|
1432
1383
|
Comp,
|
1433
1384
|
__spreadProps(__spreadValues({
|
1434
1385
|
className: cn(buttonVariants({ variant, size, className })),
|
@@ -1439,7 +1390,7 @@ var Button = React31.forwardRef(
|
|
1439
1390
|
})
|
1440
1391
|
);
|
1441
1392
|
}
|
1442
|
-
return /* @__PURE__ */
|
1393
|
+
return /* @__PURE__ */ jsxs7(
|
1443
1394
|
Comp,
|
1444
1395
|
__spreadProps(__spreadValues({
|
1445
1396
|
className: cn(buttonVariants({ variant, size, className })),
|
@@ -1448,7 +1399,7 @@ var Button = React31.forwardRef(
|
|
1448
1399
|
}, props), {
|
1449
1400
|
children: [
|
1450
1401
|
children,
|
1451
|
-
loading && /* @__PURE__ */
|
1402
|
+
loading && /* @__PURE__ */ jsx30(globalLucideIcons.Loader2, { className: "ml-2 h-4 w-4 animate-spin" })
|
1452
1403
|
]
|
1453
1404
|
})
|
1454
1405
|
);
|
@@ -1457,13 +1408,13 @@ var Button = React31.forwardRef(
|
|
1457
1408
|
Button.displayName = "Button";
|
1458
1409
|
|
1459
1410
|
// src/ui/alert-dialog.tsx
|
1460
|
-
import { jsx as
|
1411
|
+
import { jsx as jsx31, jsxs as jsxs8 } from "react/jsx-runtime";
|
1461
1412
|
var AlertDialog = AlertDialogPrimitive.Root;
|
1462
1413
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
1463
1414
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
1464
|
-
var AlertDialogOverlay =
|
1415
|
+
var AlertDialogOverlay = React31.forwardRef((_a, ref) => {
|
1465
1416
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1466
|
-
return /* @__PURE__ */
|
1417
|
+
return /* @__PURE__ */ jsx31(
|
1467
1418
|
AlertDialogPrimitive.Overlay,
|
1468
1419
|
__spreadProps(__spreadValues({
|
1469
1420
|
className: cn(
|
@@ -1476,11 +1427,11 @@ var AlertDialogOverlay = React32.forwardRef((_a, ref) => {
|
|
1476
1427
|
);
|
1477
1428
|
});
|
1478
1429
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
1479
|
-
var AlertDialogContent =
|
1430
|
+
var AlertDialogContent = React31.forwardRef((_a, ref) => {
|
1480
1431
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1481
|
-
return /* @__PURE__ */
|
1482
|
-
/* @__PURE__ */
|
1483
|
-
/* @__PURE__ */
|
1432
|
+
return /* @__PURE__ */ jsxs8(AlertDialogPortal, { children: [
|
1433
|
+
/* @__PURE__ */ jsx31(AlertDialogOverlay, {}),
|
1434
|
+
/* @__PURE__ */ jsx31(
|
1484
1435
|
AlertDialogPrimitive.Content,
|
1485
1436
|
__spreadValues({
|
1486
1437
|
ref,
|
@@ -1499,7 +1450,7 @@ var AlertDialogHeader = (_a) => {
|
|
1499
1450
|
} = _b, props = __objRest(_b, [
|
1500
1451
|
"className"
|
1501
1452
|
]);
|
1502
|
-
return /* @__PURE__ */
|
1453
|
+
return /* @__PURE__ */ jsx31(
|
1503
1454
|
"div",
|
1504
1455
|
__spreadValues({
|
1505
1456
|
className: cn(
|
@@ -1516,7 +1467,7 @@ var AlertDialogFooter = (_a) => {
|
|
1516
1467
|
} = _b, props = __objRest(_b, [
|
1517
1468
|
"className"
|
1518
1469
|
]);
|
1519
|
-
return /* @__PURE__ */
|
1470
|
+
return /* @__PURE__ */ jsx31(
|
1520
1471
|
"div",
|
1521
1472
|
__spreadValues({
|
1522
1473
|
className: cn(
|
@@ -1527,9 +1478,9 @@ var AlertDialogFooter = (_a) => {
|
|
1527
1478
|
);
|
1528
1479
|
};
|
1529
1480
|
AlertDialogFooter.displayName = "AlertDialogFooter";
|
1530
|
-
var AlertDialogTitle =
|
1481
|
+
var AlertDialogTitle = React31.forwardRef((_a, ref) => {
|
1531
1482
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1532
|
-
return /* @__PURE__ */
|
1483
|
+
return /* @__PURE__ */ jsx31(
|
1533
1484
|
AlertDialogPrimitive.Title,
|
1534
1485
|
__spreadValues({
|
1535
1486
|
ref,
|
@@ -1538,9 +1489,9 @@ var AlertDialogTitle = React32.forwardRef((_a, ref) => {
|
|
1538
1489
|
);
|
1539
1490
|
});
|
1540
1491
|
AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
|
1541
|
-
var AlertDialogDescription =
|
1492
|
+
var AlertDialogDescription = React31.forwardRef((_a, ref) => {
|
1542
1493
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1543
|
-
return /* @__PURE__ */
|
1494
|
+
return /* @__PURE__ */ jsx31(
|
1544
1495
|
AlertDialogPrimitive.Description,
|
1545
1496
|
__spreadValues({
|
1546
1497
|
ref,
|
@@ -1549,9 +1500,9 @@ var AlertDialogDescription = React32.forwardRef((_a, ref) => {
|
|
1549
1500
|
);
|
1550
1501
|
});
|
1551
1502
|
AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
|
1552
|
-
var AlertDialogAction =
|
1503
|
+
var AlertDialogAction = React31.forwardRef((_a, ref) => {
|
1553
1504
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1554
|
-
return /* @__PURE__ */
|
1505
|
+
return /* @__PURE__ */ jsx31(
|
1555
1506
|
AlertDialogPrimitive.Action,
|
1556
1507
|
__spreadValues({
|
1557
1508
|
ref,
|
@@ -1560,9 +1511,9 @@ var AlertDialogAction = React32.forwardRef((_a, ref) => {
|
|
1560
1511
|
);
|
1561
1512
|
});
|
1562
1513
|
AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
|
1563
|
-
var AlertDialogCancel =
|
1514
|
+
var AlertDialogCancel = React31.forwardRef((_a, ref) => {
|
1564
1515
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1565
|
-
return /* @__PURE__ */
|
1516
|
+
return /* @__PURE__ */ jsx31(
|
1566
1517
|
AlertDialogPrimitive.Cancel,
|
1567
1518
|
__spreadValues({
|
1568
1519
|
ref,
|
@@ -1576,3794 +1527,217 @@ var AlertDialogCancel = React32.forwardRef((_a, ref) => {
|
|
1576
1527
|
});
|
1577
1528
|
AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
|
1578
1529
|
|
1579
|
-
// src/ui/
|
1580
|
-
import * as
|
1581
|
-
import
|
1582
|
-
import { jsx as
|
1583
|
-
var
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1593
|
-
|
1594
|
-
}
|
1595
|
-
}
|
1596
|
-
);
|
1597
|
-
var Alert = React33.forwardRef((_a, ref) => {
|
1598
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
1599
|
-
return /* @__PURE__ */ jsx33(
|
1600
|
-
"div",
|
1601
|
-
__spreadValues({
|
1530
|
+
// src/ui/dropdown-menu.tsx
|
1531
|
+
import * as React32 from "react";
|
1532
|
+
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
1533
|
+
import { jsx as jsx32, jsxs as jsxs9 } from "react/jsx-runtime";
|
1534
|
+
var DropdownMenu = DropdownMenuPrimitive.Root;
|
1535
|
+
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
1536
|
+
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
1537
|
+
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
1538
|
+
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
1539
|
+
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
1540
|
+
var DropdownMenuSubTrigger = React32.forwardRef((_a, ref) => {
|
1541
|
+
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
1542
|
+
return /* @__PURE__ */ jsxs9(
|
1543
|
+
DropdownMenuPrimitive.SubTrigger,
|
1544
|
+
__spreadProps(__spreadValues({
|
1602
1545
|
ref,
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1546
|
+
className: cn(
|
1547
|
+
"flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
1548
|
+
inset && "pl-8",
|
1549
|
+
className
|
1550
|
+
)
|
1551
|
+
}, props), {
|
1552
|
+
children: [
|
1553
|
+
children,
|
1554
|
+
/* @__PURE__ */ jsx32(globalLucideIcons.ChevronRight, { className: "ml-auto" })
|
1555
|
+
]
|
1556
|
+
})
|
1606
1557
|
);
|
1607
1558
|
});
|
1608
|
-
|
1609
|
-
var
|
1559
|
+
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
1560
|
+
var DropdownMenuSubContent = React32.forwardRef((_a, ref) => {
|
1610
1561
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1611
|
-
return /* @__PURE__ */
|
1612
|
-
|
1562
|
+
return /* @__PURE__ */ jsx32(
|
1563
|
+
DropdownMenuPrimitive.SubContent,
|
1613
1564
|
__spreadValues({
|
1614
1565
|
ref,
|
1615
|
-
className: cn(
|
1566
|
+
className: cn(
|
1567
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
1568
|
+
className
|
1569
|
+
)
|
1616
1570
|
}, props)
|
1617
1571
|
);
|
1618
1572
|
});
|
1619
|
-
|
1620
|
-
var
|
1621
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1622
|
-
return /* @__PURE__ */
|
1623
|
-
|
1573
|
+
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
1574
|
+
var DropdownMenuContent = React32.forwardRef((_a, ref) => {
|
1575
|
+
var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
|
1576
|
+
return /* @__PURE__ */ jsx32(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx32(
|
1577
|
+
DropdownMenuPrimitive.Content,
|
1624
1578
|
__spreadValues({
|
1625
1579
|
ref,
|
1626
|
-
|
1580
|
+
sideOffset,
|
1581
|
+
className: cn(
|
1582
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
|
1583
|
+
className
|
1584
|
+
)
|
1627
1585
|
}, props)
|
1628
|
-
);
|
1586
|
+
) });
|
1629
1587
|
});
|
1630
|
-
|
1631
|
-
|
1632
|
-
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1636
|
-
// src/ui/avatar.tsx
|
1637
|
-
import * as React34 from "react";
|
1638
|
-
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
1639
|
-
import { jsx as jsx34 } from "react/jsx-runtime";
|
1640
|
-
var Avatar = React34.forwardRef((_a, ref) => {
|
1641
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1642
|
-
return /* @__PURE__ */ jsx34(
|
1643
|
-
AvatarPrimitive.Root,
|
1588
|
+
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
1589
|
+
var DropdownMenuItem = React32.forwardRef((_a, ref) => {
|
1590
|
+
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
1591
|
+
return /* @__PURE__ */ jsx32(
|
1592
|
+
DropdownMenuPrimitive.Item,
|
1644
1593
|
__spreadValues({
|
1645
1594
|
ref,
|
1646
1595
|
className: cn(
|
1647
|
-
"relative flex
|
1596
|
+
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
1597
|
+
inset && "pl-8",
|
1648
1598
|
className
|
1649
1599
|
)
|
1650
1600
|
}, props)
|
1651
1601
|
);
|
1652
1602
|
});
|
1653
|
-
|
1654
|
-
var
|
1655
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1656
|
-
return /* @__PURE__ */
|
1657
|
-
|
1658
|
-
__spreadValues({
|
1603
|
+
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
1604
|
+
var DropdownMenuCheckboxItem = React32.forwardRef((_a, ref) => {
|
1605
|
+
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
1606
|
+
return /* @__PURE__ */ jsxs9(
|
1607
|
+
DropdownMenuPrimitive.CheckboxItem,
|
1608
|
+
__spreadProps(__spreadValues({
|
1659
1609
|
ref,
|
1660
|
-
className: cn(
|
1661
|
-
|
1610
|
+
className: cn(
|
1611
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
1612
|
+
className
|
1613
|
+
),
|
1614
|
+
checked
|
1615
|
+
}, props), {
|
1616
|
+
children: [
|
1617
|
+
/* @__PURE__ */ jsx32("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx32(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx32(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
|
1618
|
+
children
|
1619
|
+
]
|
1620
|
+
})
|
1662
1621
|
);
|
1663
1622
|
});
|
1664
|
-
|
1665
|
-
var
|
1666
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1667
|
-
return /* @__PURE__ */
|
1668
|
-
|
1669
|
-
__spreadValues({
|
1623
|
+
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
1624
|
+
var DropdownMenuRadioItem = React32.forwardRef((_a, ref) => {
|
1625
|
+
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
1626
|
+
return /* @__PURE__ */ jsxs9(
|
1627
|
+
DropdownMenuPrimitive.RadioItem,
|
1628
|
+
__spreadProps(__spreadValues({
|
1670
1629
|
ref,
|
1671
1630
|
className: cn(
|
1672
|
-
"flex
|
1631
|
+
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
1673
1632
|
className
|
1674
1633
|
)
|
1675
|
-
}, props)
|
1634
|
+
}, props), {
|
1635
|
+
children: [
|
1636
|
+
/* @__PURE__ */ jsx32("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx32(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx32(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
1637
|
+
children
|
1638
|
+
]
|
1639
|
+
})
|
1676
1640
|
);
|
1677
1641
|
});
|
1678
|
-
|
1679
|
-
|
1680
|
-
|
1681
|
-
|
1682
|
-
|
1683
|
-
var badgeVariants = cva3(
|
1684
|
-
"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
1685
|
-
{
|
1686
|
-
variants: {
|
1687
|
-
variant: {
|
1688
|
-
default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
|
1689
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
1690
|
-
destructive: "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
|
1691
|
-
outline: "text-foreground"
|
1692
|
-
}
|
1693
|
-
},
|
1694
|
-
defaultVariants: {
|
1695
|
-
variant: "default"
|
1696
|
-
}
|
1697
|
-
}
|
1698
|
-
);
|
1699
|
-
function Badge(_a) {
|
1700
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
1701
|
-
return /* @__PURE__ */ jsx35("div", __spreadValues({ className: cn(badgeVariants({ variant }), className) }, props));
|
1702
|
-
}
|
1703
|
-
|
1704
|
-
// src/ui/breadcrumb.tsx
|
1705
|
-
import * as React35 from "react";
|
1706
|
-
import { Slot as Slot2 } from "@radix-ui/react-slot";
|
1707
|
-
import { jsx as jsx36, jsxs as jsxs10 } from "react/jsx-runtime";
|
1708
|
-
var Breadcrumb = React35.forwardRef((_a, ref) => {
|
1709
|
-
var props = __objRest(_a, []);
|
1710
|
-
return /* @__PURE__ */ jsx36("nav", __spreadValues({ ref, "aria-label": "breadcrumb" }, props));
|
1711
|
-
});
|
1712
|
-
Breadcrumb.displayName = "Breadcrumb";
|
1713
|
-
var BreadcrumbList = React35.forwardRef((_a, ref) => {
|
1714
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1715
|
-
return /* @__PURE__ */ jsx36(
|
1716
|
-
"ol",
|
1642
|
+
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
1643
|
+
var DropdownMenuLabel = React32.forwardRef((_a, ref) => {
|
1644
|
+
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
1645
|
+
return /* @__PURE__ */ jsx32(
|
1646
|
+
DropdownMenuPrimitive.Label,
|
1717
1647
|
__spreadValues({
|
1718
1648
|
ref,
|
1719
1649
|
className: cn(
|
1720
|
-
"
|
1650
|
+
"px-2 py-1.5 text-sm font-semibold",
|
1651
|
+
inset && "pl-8",
|
1721
1652
|
className
|
1722
1653
|
)
|
1723
1654
|
}, props)
|
1724
1655
|
);
|
1725
1656
|
});
|
1726
|
-
|
1727
|
-
var
|
1728
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1729
|
-
return /* @__PURE__ */ jsx36(
|
1730
|
-
"li",
|
1731
|
-
__spreadValues({
|
1732
|
-
ref,
|
1733
|
-
className: cn("inline-flex items-center gap-1.5", className)
|
1734
|
-
}, props)
|
1735
|
-
);
|
1736
|
-
});
|
1737
|
-
BreadcrumbItem.displayName = "BreadcrumbItem";
|
1738
|
-
var BreadcrumbLink = React35.forwardRef((_a, ref) => {
|
1739
|
-
var _b = _a, { asChild, className } = _b, props = __objRest(_b, ["asChild", "className"]);
|
1740
|
-
const Comp = asChild ? Slot2 : "a";
|
1741
|
-
return /* @__PURE__ */ jsx36(
|
1742
|
-
Comp,
|
1743
|
-
__spreadValues({
|
1744
|
-
ref,
|
1745
|
-
className: cn("transition-colors hover:text-foreground", className)
|
1746
|
-
}, props)
|
1747
|
-
);
|
1748
|
-
});
|
1749
|
-
BreadcrumbLink.displayName = "BreadcrumbLink";
|
1750
|
-
var BreadcrumbPage = React35.forwardRef((_a, ref) => {
|
1657
|
+
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
1658
|
+
var DropdownMenuSeparator = React32.forwardRef((_a, ref) => {
|
1751
1659
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1752
|
-
return /* @__PURE__ */
|
1753
|
-
|
1660
|
+
return /* @__PURE__ */ jsx32(
|
1661
|
+
DropdownMenuPrimitive.Separator,
|
1754
1662
|
__spreadValues({
|
1755
1663
|
ref,
|
1756
|
-
|
1757
|
-
"aria-disabled": "true",
|
1758
|
-
"aria-current": "page",
|
1759
|
-
className: cn("font-normal text-foreground", className)
|
1664
|
+
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
1760
1665
|
}, props)
|
1761
1666
|
);
|
1762
1667
|
});
|
1763
|
-
|
1764
|
-
var
|
1765
|
-
var _b = _a, {
|
1766
|
-
children,
|
1767
|
-
className
|
1768
|
-
} = _b, props = __objRest(_b, [
|
1769
|
-
"children",
|
1770
|
-
"className"
|
1771
|
-
]);
|
1772
|
-
return /* @__PURE__ */ jsx36(
|
1773
|
-
"li",
|
1774
|
-
__spreadProps(__spreadValues({
|
1775
|
-
role: "presentation",
|
1776
|
-
"aria-hidden": "true",
|
1777
|
-
className: cn("[&>svg]:w-3.5 [&>svg]:h-3.5", className)
|
1778
|
-
}, props), {
|
1779
|
-
children: children != null ? children : /* @__PURE__ */ jsx36(globalLucideIcons.ChevronRight, {})
|
1780
|
-
})
|
1781
|
-
);
|
1782
|
-
};
|
1783
|
-
BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
|
1784
|
-
var BreadcrumbEllipsis = (_a) => {
|
1668
|
+
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
1669
|
+
var DropdownMenuShortcut = (_a) => {
|
1785
1670
|
var _b = _a, {
|
1786
1671
|
className
|
1787
1672
|
} = _b, props = __objRest(_b, [
|
1788
1673
|
"className"
|
1789
1674
|
]);
|
1790
|
-
return /* @__PURE__ */
|
1675
|
+
return /* @__PURE__ */ jsx32(
|
1791
1676
|
"span",
|
1792
|
-
__spreadProps(__spreadValues({
|
1793
|
-
role: "presentation",
|
1794
|
-
"aria-hidden": "true",
|
1795
|
-
className: cn("flex h-9 w-9 items-center justify-center", className)
|
1796
|
-
}, props), {
|
1797
|
-
children: [
|
1798
|
-
/* @__PURE__ */ jsx36(globalLucideIcons.MoreHorizontal, { className: "h-4 w-4" }),
|
1799
|
-
/* @__PURE__ */ jsx36("span", { className: "sr-only", children: "More" })
|
1800
|
-
]
|
1801
|
-
})
|
1802
|
-
);
|
1803
|
-
};
|
1804
|
-
BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
|
1805
|
-
|
1806
|
-
// src/ui/calendar.tsx
|
1807
|
-
import { DayPicker } from "react-day-picker";
|
1808
|
-
import { jsx as jsx37 } from "react/jsx-runtime";
|
1809
|
-
function Calendar(_a) {
|
1810
|
-
var _b = _a, {
|
1811
|
-
className,
|
1812
|
-
classNames,
|
1813
|
-
showOutsideDays = true
|
1814
|
-
} = _b, props = __objRest(_b, [
|
1815
|
-
"className",
|
1816
|
-
"classNames",
|
1817
|
-
"showOutsideDays"
|
1818
|
-
]);
|
1819
|
-
return /* @__PURE__ */ jsx37(
|
1820
|
-
DayPicker,
|
1821
1677
|
__spreadValues({
|
1822
|
-
|
1823
|
-
className: cn("p-3", className),
|
1824
|
-
classNames: __spreadValues({
|
1825
|
-
months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
|
1826
|
-
month: "space-y-4",
|
1827
|
-
caption: "flex justify-center pt-1 relative items-center",
|
1828
|
-
caption_label: "text-sm font-medium",
|
1829
|
-
nav: "space-x-1 flex items-center",
|
1830
|
-
nav_button: cn(
|
1831
|
-
buttonVariants({ variant: "outline" }),
|
1832
|
-
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
|
1833
|
-
),
|
1834
|
-
nav_button_previous: "absolute left-1",
|
1835
|
-
nav_button_next: "absolute right-1",
|
1836
|
-
table: "w-full border-collapse space-y-1",
|
1837
|
-
head_row: "flex",
|
1838
|
-
head_cell: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
|
1839
|
-
row: "flex w-full mt-2",
|
1840
|
-
cell: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
|
1841
|
-
day: cn(
|
1842
|
-
buttonVariants({ variant: "ghost" }),
|
1843
|
-
"h-9 w-9 p-0 font-normal aria-selected:opacity-100"
|
1844
|
-
),
|
1845
|
-
day_range_end: "day-range-end",
|
1846
|
-
day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
|
1847
|
-
day_today: "bg-accent text-accent-foreground",
|
1848
|
-
day_outside: "day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",
|
1849
|
-
day_disabled: "text-muted-foreground opacity-50",
|
1850
|
-
day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
1851
|
-
day_hidden: "invisible"
|
1852
|
-
}, classNames),
|
1853
|
-
components: {
|
1854
|
-
IconLeft: (_a2) => {
|
1855
|
-
var _props = __objRest(_a2, []);
|
1856
|
-
return /* @__PURE__ */ jsx37(globalLucideIcons.ChevronLeft, { className: "h-4 w-4" });
|
1857
|
-
},
|
1858
|
-
IconRight: (_b2) => {
|
1859
|
-
var _props = __objRest(_b2, []);
|
1860
|
-
return /* @__PURE__ */ jsx37(globalLucideIcons.ChevronRight, { className: "h-4 w-4" });
|
1861
|
-
}
|
1862
|
-
}
|
1678
|
+
className: cn("ml-auto text-xs tracking-widest opacity-60", className)
|
1863
1679
|
}, props)
|
1864
1680
|
);
|
1865
|
-
}
|
1866
|
-
|
1681
|
+
};
|
1682
|
+
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
1867
1683
|
|
1868
|
-
// src/ui/
|
1869
|
-
import * as
|
1870
|
-
import
|
1871
|
-
|
1684
|
+
// src/ui/label.tsx
|
1685
|
+
import * as React33 from "react";
|
1686
|
+
import * as LabelPrimitive from "@radix-ui/react-label";
|
1687
|
+
import { cva as cva2 } from "class-variance-authority";
|
1688
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
1689
|
+
var labelVariants = cva2(
|
1690
|
+
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
1691
|
+
);
|
1692
|
+
var Label2 = React33.forwardRef((_a, ref) => {
|
1872
1693
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1873
|
-
return /* @__PURE__ */
|
1874
|
-
|
1694
|
+
return /* @__PURE__ */ jsx33(
|
1695
|
+
LabelPrimitive.Root,
|
1875
1696
|
__spreadValues({
|
1876
1697
|
ref,
|
1877
|
-
className: cn(
|
1878
|
-
"rounded-lg border bg-card text-card-foreground shadow-xs",
|
1879
|
-
className
|
1880
|
-
)
|
1698
|
+
className: cn(labelVariants(), className)
|
1881
1699
|
}, props)
|
1882
1700
|
);
|
1883
1701
|
});
|
1884
|
-
|
1885
|
-
var CardHeader = React36.forwardRef((_a, ref) => {
|
1886
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1887
|
-
return /* @__PURE__ */ jsx38(
|
1888
|
-
"div",
|
1889
|
-
__spreadValues({
|
1890
|
-
ref,
|
1891
|
-
className: cn("flex flex-col space-y-1.5 p-6", className)
|
1892
|
-
}, props)
|
1893
|
-
);
|
1894
|
-
});
|
1895
|
-
CardHeader.displayName = "CardHeader";
|
1896
|
-
var CardTitle = React36.forwardRef((_a, ref) => {
|
1897
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1898
|
-
return /* @__PURE__ */ jsx38(
|
1899
|
-
"div",
|
1900
|
-
__spreadValues({
|
1901
|
-
ref,
|
1902
|
-
className: cn(
|
1903
|
-
"text-2xl font-semibold leading-none tracking-tight",
|
1904
|
-
className
|
1905
|
-
)
|
1906
|
-
}, props)
|
1907
|
-
);
|
1908
|
-
});
|
1909
|
-
CardTitle.displayName = "CardTitle";
|
1910
|
-
var CardDescription = React36.forwardRef((_a, ref) => {
|
1911
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1912
|
-
return /* @__PURE__ */ jsx38(
|
1913
|
-
"div",
|
1914
|
-
__spreadValues({
|
1915
|
-
ref,
|
1916
|
-
className: cn("text-sm text-muted-foreground", className)
|
1917
|
-
}, props)
|
1918
|
-
);
|
1919
|
-
});
|
1920
|
-
CardDescription.displayName = "CardDescription";
|
1921
|
-
var CardContent = React36.forwardRef((_a, ref) => {
|
1922
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1923
|
-
return /* @__PURE__ */ jsx38("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
|
1924
|
-
});
|
1925
|
-
CardContent.displayName = "CardContent";
|
1926
|
-
var CardFooter = React36.forwardRef((_a, ref) => {
|
1927
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
1928
|
-
return /* @__PURE__ */ jsx38(
|
1929
|
-
"div",
|
1930
|
-
__spreadValues({
|
1931
|
-
ref,
|
1932
|
-
className: cn("flex items-center p-6 pt-0", className)
|
1933
|
-
}, props)
|
1934
|
-
);
|
1935
|
-
});
|
1936
|
-
CardFooter.displayName = "CardFooter";
|
1702
|
+
Label2.displayName = LabelPrimitive.Root.displayName;
|
1937
1703
|
|
1938
|
-
// src/ui/
|
1939
|
-
import * as
|
1940
|
-
import
|
1941
|
-
|
1942
|
-
var CarouselContext = React37.createContext(null);
|
1943
|
-
function useCarousel() {
|
1944
|
-
const context = React37.useContext(CarouselContext);
|
1945
|
-
if (!context) {
|
1946
|
-
throw new Error("useCarousel must be used within a <Carousel />");
|
1947
|
-
}
|
1948
|
-
return context;
|
1949
|
-
}
|
1950
|
-
var Carousel = React37.forwardRef(
|
1704
|
+
// src/ui/language-button.tsx
|
1705
|
+
import * as React34 from "react";
|
1706
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
1707
|
+
var LanguageButton = React34.forwardRef(
|
1951
1708
|
(_a, ref) => {
|
1952
|
-
var _b = _a, {
|
1953
|
-
|
1954
|
-
|
1955
|
-
|
1956
|
-
plugins,
|
1957
|
-
className,
|
1958
|
-
children
|
1959
|
-
} = _b, props = __objRest(_b, [
|
1960
|
-
"orientation",
|
1961
|
-
"opts",
|
1962
|
-
"setApi",
|
1963
|
-
"plugins",
|
1964
|
-
"className",
|
1965
|
-
"children"
|
1966
|
-
]);
|
1967
|
-
const [carouselRef, api] = useEmblaCarousel(
|
1968
|
-
__spreadProps(__spreadValues({}, opts), {
|
1969
|
-
axis: orientation === "horizontal" ? "x" : "y"
|
1970
|
-
}),
|
1971
|
-
plugins
|
1972
|
-
);
|
1973
|
-
const [canScrollPrev, setCanScrollPrev] = React37.useState(false);
|
1974
|
-
const [canScrollNext, setCanScrollNext] = React37.useState(false);
|
1975
|
-
const onSelect = React37.useCallback((api2) => {
|
1976
|
-
if (!api2) {
|
1977
|
-
return;
|
1978
|
-
}
|
1979
|
-
setCanScrollPrev(api2.canScrollPrev());
|
1980
|
-
setCanScrollNext(api2.canScrollNext());
|
1981
|
-
}, []);
|
1982
|
-
const scrollPrev = React37.useCallback(() => {
|
1983
|
-
api == null ? void 0 : api.scrollPrev();
|
1984
|
-
}, [api]);
|
1985
|
-
const scrollNext = React37.useCallback(() => {
|
1986
|
-
api == null ? void 0 : api.scrollNext();
|
1987
|
-
}, [api]);
|
1988
|
-
const handleKeyDown = React37.useCallback(
|
1989
|
-
(event) => {
|
1990
|
-
if (event.key === "ArrowLeft") {
|
1991
|
-
event.preventDefault();
|
1992
|
-
scrollPrev();
|
1993
|
-
} else if (event.key === "ArrowRight") {
|
1994
|
-
event.preventDefault();
|
1995
|
-
scrollNext();
|
1996
|
-
}
|
1997
|
-
},
|
1998
|
-
[scrollPrev, scrollNext]
|
1999
|
-
);
|
2000
|
-
React37.useEffect(() => {
|
2001
|
-
if (!api || !setApi) {
|
2002
|
-
return;
|
2003
|
-
}
|
2004
|
-
setApi(api);
|
2005
|
-
}, [api, setApi]);
|
2006
|
-
React37.useEffect(() => {
|
2007
|
-
if (!api) {
|
2008
|
-
return;
|
2009
|
-
}
|
2010
|
-
onSelect(api);
|
2011
|
-
api.on("reInit", onSelect);
|
2012
|
-
api.on("select", onSelect);
|
2013
|
-
return () => {
|
2014
|
-
api == null ? void 0 : api.off("select", onSelect);
|
2015
|
-
};
|
2016
|
-
}, [api, onSelect]);
|
2017
|
-
return /* @__PURE__ */ jsx39(
|
2018
|
-
CarouselContext.Provider,
|
2019
|
-
{
|
2020
|
-
value: {
|
2021
|
-
carouselRef,
|
2022
|
-
api,
|
2023
|
-
opts,
|
2024
|
-
orientation: orientation || ((opts == null ? void 0 : opts.axis) === "y" ? "vertical" : "horizontal"),
|
2025
|
-
scrollPrev,
|
2026
|
-
scrollNext,
|
2027
|
-
canScrollPrev,
|
2028
|
-
canScrollNext
|
2029
|
-
},
|
2030
|
-
children: /* @__PURE__ */ jsx39(
|
2031
|
-
"div",
|
2032
|
-
__spreadProps(__spreadValues({
|
2033
|
-
ref,
|
2034
|
-
onKeyDownCapture: handleKeyDown,
|
2035
|
-
className: cn("relative", className),
|
2036
|
-
role: "region",
|
2037
|
-
"aria-roledescription": "carousel"
|
2038
|
-
}, props), {
|
2039
|
-
children
|
2040
|
-
})
|
2041
|
-
)
|
2042
|
-
}
|
2043
|
-
);
|
2044
|
-
}
|
2045
|
-
);
|
2046
|
-
Carousel.displayName = "Carousel";
|
2047
|
-
var CarouselContent = React37.forwardRef((_a, ref) => {
|
2048
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2049
|
-
const { carouselRef, orientation } = useCarousel();
|
2050
|
-
return /* @__PURE__ */ jsx39("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx39(
|
2051
|
-
"div",
|
2052
|
-
__spreadValues({
|
2053
|
-
ref,
|
2054
|
-
className: cn(
|
2055
|
-
"flex",
|
2056
|
-
orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
|
2057
|
-
className
|
2058
|
-
)
|
2059
|
-
}, props)
|
2060
|
-
) });
|
2061
|
-
});
|
2062
|
-
CarouselContent.displayName = "CarouselContent";
|
2063
|
-
var CarouselItem = React37.forwardRef((_a, ref) => {
|
2064
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2065
|
-
const { orientation } = useCarousel();
|
2066
|
-
return /* @__PURE__ */ jsx39(
|
2067
|
-
"div",
|
2068
|
-
__spreadValues({
|
2069
|
-
ref,
|
2070
|
-
role: "group",
|
2071
|
-
"aria-roledescription": "slide",
|
2072
|
-
className: cn(
|
2073
|
-
"min-w-0 shrink-0 grow-0 basis-full",
|
2074
|
-
orientation === "horizontal" ? "pl-4" : "pt-4",
|
2075
|
-
className
|
2076
|
-
)
|
2077
|
-
}, props)
|
2078
|
-
);
|
2079
|
-
});
|
2080
|
-
CarouselItem.displayName = "CarouselItem";
|
2081
|
-
var CarouselPrevious = React37.forwardRef((_a, ref) => {
|
2082
|
-
var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
2083
|
-
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
2084
|
-
return /* @__PURE__ */ jsxs11(
|
2085
|
-
Button,
|
2086
|
-
__spreadProps(__spreadValues({
|
2087
|
-
ref,
|
2088
|
-
variant,
|
2089
|
-
size,
|
2090
|
-
className: cn(
|
2091
|
-
"absolute h-8 w-8 rounded-full",
|
2092
|
-
orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
2093
|
-
className
|
2094
|
-
),
|
2095
|
-
disabled: !canScrollPrev,
|
2096
|
-
onClick: scrollPrev
|
2097
|
-
}, props), {
|
2098
|
-
children: [
|
2099
|
-
/* @__PURE__ */ jsx39(globalLucideIcons.ArrowLeft, { className: "h-4 w-4" }),
|
2100
|
-
/* @__PURE__ */ jsx39("span", { className: "sr-only", children: "Previous slide" })
|
2101
|
-
]
|
2102
|
-
})
|
2103
|
-
);
|
2104
|
-
});
|
2105
|
-
CarouselPrevious.displayName = "CarouselPrevious";
|
2106
|
-
var CarouselNext = React37.forwardRef((_a, ref) => {
|
2107
|
-
var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
2108
|
-
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
2109
|
-
return /* @__PURE__ */ jsxs11(
|
2110
|
-
Button,
|
2111
|
-
__spreadProps(__spreadValues({
|
2112
|
-
ref,
|
2113
|
-
variant,
|
2114
|
-
size,
|
2115
|
-
className: cn(
|
2116
|
-
"absolute h-8 w-8 rounded-full",
|
2117
|
-
orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
2118
|
-
className
|
2119
|
-
),
|
2120
|
-
disabled: !canScrollNext,
|
2121
|
-
onClick: scrollNext
|
2122
|
-
}, props), {
|
2123
|
-
children: [
|
2124
|
-
/* @__PURE__ */ jsx39(globalLucideIcons.ArrowRight, { className: "h-4 w-4" }),
|
2125
|
-
/* @__PURE__ */ jsx39("span", { className: "sr-only", children: "Next slide" })
|
2126
|
-
]
|
2127
|
-
})
|
2128
|
-
);
|
2129
|
-
});
|
2130
|
-
CarouselNext.displayName = "CarouselNext";
|
2131
|
-
|
2132
|
-
// src/ui/chart.tsx
|
2133
|
-
import * as React38 from "react";
|
2134
|
-
import * as RechartsPrimitive from "recharts";
|
2135
|
-
import { Fragment, jsx as jsx40, jsxs as jsxs12 } from "react/jsx-runtime";
|
2136
|
-
var THEMES = { light: "", dark: ".dark" };
|
2137
|
-
var ChartContext = React38.createContext(null);
|
2138
|
-
function useChart() {
|
2139
|
-
const context = React38.useContext(ChartContext);
|
2140
|
-
if (!context) {
|
2141
|
-
throw new Error("useChart must be used within a <ChartContainer />");
|
2142
|
-
}
|
2143
|
-
return context;
|
2144
|
-
}
|
2145
|
-
var ChartContainer = React38.forwardRef((_a, ref) => {
|
2146
|
-
var _b = _a, { id, className, children, config } = _b, props = __objRest(_b, ["id", "className", "children", "config"]);
|
2147
|
-
const uniqueId = React38.useId();
|
2148
|
-
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
2149
|
-
return /* @__PURE__ */ jsx40(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs12(
|
2150
|
-
"div",
|
2151
|
-
__spreadProps(__spreadValues({
|
2152
|
-
"data-chart": chartId,
|
2153
|
-
ref,
|
2154
|
-
className: cn(
|
2155
|
-
"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden",
|
2156
|
-
className
|
2157
|
-
)
|
2158
|
-
}, props), {
|
2159
|
-
children: [
|
2160
|
-
/* @__PURE__ */ jsx40(ChartStyle, { id: chartId, config }),
|
2161
|
-
/* @__PURE__ */ jsx40(RechartsPrimitive.ResponsiveContainer, { children })
|
2162
|
-
]
|
2163
|
-
})
|
2164
|
-
) });
|
2165
|
-
});
|
2166
|
-
ChartContainer.displayName = "Chart";
|
2167
|
-
var ChartStyle = ({ id, config }) => {
|
2168
|
-
const colorConfig = Object.entries(config).filter(
|
2169
|
-
([_, config2]) => config2.theme || config2.color
|
2170
|
-
);
|
2171
|
-
if (!colorConfig.length) {
|
2172
|
-
return null;
|
2173
|
-
}
|
2174
|
-
return /* @__PURE__ */ jsx40(
|
2175
|
-
"style",
|
2176
|
-
{
|
2177
|
-
dangerouslySetInnerHTML: {
|
2178
|
-
__html: Object.entries(THEMES).map(
|
2179
|
-
([theme, prefix]) => `
|
2180
|
-
${prefix} [data-chart=${id}] {
|
2181
|
-
${colorConfig.map(([key, itemConfig]) => {
|
2182
|
-
var _a;
|
2183
|
-
const color = ((_a = itemConfig.theme) == null ? void 0 : _a[theme]) || itemConfig.color;
|
2184
|
-
return color ? ` --color-${key}: ${color};` : null;
|
2185
|
-
}).join("\n")}
|
2186
|
-
}
|
2187
|
-
`
|
2188
|
-
).join("\n")
|
2189
|
-
}
|
2190
|
-
}
|
2191
|
-
);
|
2192
|
-
};
|
2193
|
-
var ChartTooltip = RechartsPrimitive.Tooltip;
|
2194
|
-
var ChartTooltipContent = React38.forwardRef(
|
2195
|
-
({
|
2196
|
-
active,
|
2197
|
-
payload,
|
2198
|
-
className,
|
2199
|
-
indicator = "dot",
|
2200
|
-
hideLabel = false,
|
2201
|
-
hideIndicator = false,
|
2202
|
-
label,
|
2203
|
-
labelFormatter,
|
2204
|
-
labelClassName,
|
2205
|
-
formatter,
|
2206
|
-
color,
|
2207
|
-
nameKey,
|
2208
|
-
labelKey
|
2209
|
-
}, ref) => {
|
2210
|
-
const { config } = useChart();
|
2211
|
-
const tooltipLabel = React38.useMemo(() => {
|
2212
|
-
var _a;
|
2213
|
-
if (hideLabel || !(payload == null ? void 0 : payload.length)) {
|
2214
|
-
return null;
|
2215
|
-
}
|
2216
|
-
const [item] = payload;
|
2217
|
-
const key = `${labelKey || item.dataKey || item.name || "value"}`;
|
2218
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
2219
|
-
const value = !labelKey && typeof label === "string" ? ((_a = config[label]) == null ? void 0 : _a.label) || label : itemConfig == null ? void 0 : itemConfig.label;
|
2220
|
-
if (labelFormatter) {
|
2221
|
-
return /* @__PURE__ */ jsx40("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
|
2222
|
-
}
|
2223
|
-
if (!value) {
|
2224
|
-
return null;
|
2225
|
-
}
|
2226
|
-
return /* @__PURE__ */ jsx40("div", { className: cn("font-medium", labelClassName), children: value });
|
2227
|
-
}, [
|
2228
|
-
label,
|
2229
|
-
labelFormatter,
|
2230
|
-
payload,
|
2231
|
-
hideLabel,
|
2232
|
-
labelClassName,
|
2233
|
-
config,
|
2234
|
-
labelKey
|
2235
|
-
]);
|
2236
|
-
if (!active || !(payload == null ? void 0 : payload.length)) {
|
2237
|
-
return null;
|
2238
|
-
}
|
2239
|
-
const nestLabel = payload.length === 1 && indicator !== "dot";
|
2240
|
-
return /* @__PURE__ */ jsxs12(
|
2241
|
-
"div",
|
2242
|
-
{
|
2243
|
-
ref,
|
2244
|
-
className: cn(
|
2245
|
-
"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",
|
2246
|
-
className
|
2247
|
-
),
|
2248
|
-
children: [
|
2249
|
-
!nestLabel ? tooltipLabel : null,
|
2250
|
-
/* @__PURE__ */ jsx40("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
|
2251
|
-
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
2252
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
2253
|
-
const indicatorColor = color || item.payload.fill || item.color;
|
2254
|
-
return /* @__PURE__ */ jsx40(
|
2255
|
-
"div",
|
2256
|
-
{
|
2257
|
-
className: cn(
|
2258
|
-
"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
|
2259
|
-
indicator === "dot" && "items-center"
|
2260
|
-
),
|
2261
|
-
children: formatter && (item == null ? void 0 : item.value) !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs12(Fragment, { children: [
|
2262
|
-
(itemConfig == null ? void 0 : itemConfig.icon) ? /* @__PURE__ */ jsx40(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx40(
|
2263
|
-
"div",
|
2264
|
-
{
|
2265
|
-
className: cn(
|
2266
|
-
"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
|
2267
|
-
{
|
2268
|
-
"h-2.5 w-2.5": indicator === "dot",
|
2269
|
-
"w-1": indicator === "line",
|
2270
|
-
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
2271
|
-
"my-0.5": nestLabel && indicator === "dashed"
|
2272
|
-
}
|
2273
|
-
),
|
2274
|
-
style: {
|
2275
|
-
"--color-bg": indicatorColor,
|
2276
|
-
"--color-border": indicatorColor
|
2277
|
-
}
|
2278
|
-
}
|
2279
|
-
),
|
2280
|
-
/* @__PURE__ */ jsxs12(
|
2281
|
-
"div",
|
2282
|
-
{
|
2283
|
-
className: cn(
|
2284
|
-
"flex flex-1 justify-between leading-none",
|
2285
|
-
nestLabel ? "items-end" : "items-center"
|
2286
|
-
),
|
2287
|
-
children: [
|
2288
|
-
/* @__PURE__ */ jsxs12("div", { className: "grid gap-1.5", children: [
|
2289
|
-
nestLabel ? tooltipLabel : null,
|
2290
|
-
/* @__PURE__ */ jsx40("span", { className: "text-muted-foreground", children: (itemConfig == null ? void 0 : itemConfig.label) || item.name })
|
2291
|
-
] }),
|
2292
|
-
item.value && /* @__PURE__ */ jsx40("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() })
|
2293
|
-
]
|
2294
|
-
}
|
2295
|
-
)
|
2296
|
-
] })
|
2297
|
-
},
|
2298
|
-
item.dataKey
|
2299
|
-
);
|
2300
|
-
}) })
|
2301
|
-
]
|
2302
|
-
}
|
2303
|
-
);
|
2304
|
-
}
|
2305
|
-
);
|
2306
|
-
ChartTooltipContent.displayName = "ChartTooltip";
|
2307
|
-
var ChartLegend = RechartsPrimitive.Legend;
|
2308
|
-
var ChartLegendContent = React38.forwardRef(
|
2309
|
-
({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
|
2310
|
-
const { config } = useChart();
|
2311
|
-
if (!(payload == null ? void 0 : payload.length)) {
|
2312
|
-
return null;
|
2313
|
-
}
|
2314
|
-
return /* @__PURE__ */ jsx40(
|
2315
|
-
"div",
|
2316
|
-
{
|
2317
|
-
ref,
|
1709
|
+
var _b = _a, { className, variant = "default", size = "default" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
1710
|
+
return /* @__PURE__ */ jsx34(
|
1711
|
+
"button",
|
1712
|
+
__spreadValues({
|
2318
1713
|
className: cn(
|
2319
|
-
"flex items-center justify-center
|
2320
|
-
|
1714
|
+
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
|
1715
|
+
{
|
1716
|
+
"bg-primary text-primary-foreground hover:bg-primary/90": variant === "default",
|
1717
|
+
"hover:bg-accent hover:text-accent-foreground": variant === "ghost",
|
1718
|
+
"h-10 px-4 py-2": size === "default",
|
1719
|
+
"h-9 px-3": size === "sm",
|
1720
|
+
"h-11 px-8": size === "lg",
|
1721
|
+
"h-10 w-10": size === "icon"
|
1722
|
+
},
|
2321
1723
|
className
|
2322
1724
|
),
|
2323
|
-
|
2324
|
-
|
2325
|
-
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
2326
|
-
return /* @__PURE__ */ jsxs12(
|
2327
|
-
"div",
|
2328
|
-
{
|
2329
|
-
className: cn(
|
2330
|
-
"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"
|
2331
|
-
),
|
2332
|
-
children: [
|
2333
|
-
(itemConfig == null ? void 0 : itemConfig.icon) && !hideIcon ? /* @__PURE__ */ jsx40(itemConfig.icon, {}) : /* @__PURE__ */ jsx40(
|
2334
|
-
"div",
|
2335
|
-
{
|
2336
|
-
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
2337
|
-
style: {
|
2338
|
-
backgroundColor: item.color
|
2339
|
-
}
|
2340
|
-
}
|
2341
|
-
),
|
2342
|
-
itemConfig == null ? void 0 : itemConfig.label
|
2343
|
-
]
|
2344
|
-
},
|
2345
|
-
item.value
|
2346
|
-
);
|
2347
|
-
})
|
2348
|
-
}
|
1725
|
+
ref
|
1726
|
+
}, props)
|
2349
1727
|
);
|
2350
1728
|
}
|
2351
1729
|
);
|
2352
|
-
|
2353
|
-
function getPayloadConfigFromPayload(config, payload, key) {
|
2354
|
-
if (typeof payload !== "object" || payload === null) {
|
2355
|
-
return void 0;
|
2356
|
-
}
|
2357
|
-
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
|
2358
|
-
let configLabelKey = key;
|
2359
|
-
if (key in payload && typeof payload[key] === "string") {
|
2360
|
-
configLabelKey = payload[key];
|
2361
|
-
} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
|
2362
|
-
configLabelKey = payloadPayload[key];
|
2363
|
-
}
|
2364
|
-
return configLabelKey in config ? config[configLabelKey] : config[key];
|
2365
|
-
}
|
2366
|
-
|
2367
|
-
// src/ui/checkbox.tsx
|
2368
|
-
import * as React39 from "react";
|
2369
|
-
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
2370
|
-
import { jsx as jsx41 } from "react/jsx-runtime";
|
2371
|
-
var Checkbox = React39.forwardRef((_a, ref) => {
|
2372
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2373
|
-
return /* @__PURE__ */ jsx41(
|
2374
|
-
CheckboxPrimitive.Root,
|
2375
|
-
__spreadProps(__spreadValues({
|
2376
|
-
ref,
|
2377
|
-
className: cn(
|
2378
|
-
"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
|
2379
|
-
className
|
2380
|
-
)
|
2381
|
-
}, props), {
|
2382
|
-
children: /* @__PURE__ */ jsx41(
|
2383
|
-
CheckboxPrimitive.Indicator,
|
2384
|
-
{
|
2385
|
-
className: cn("flex items-center justify-center text-current"),
|
2386
|
-
children: /* @__PURE__ */ jsx41(globalLucideIcons.Check, { className: "h-4 w-4" })
|
2387
|
-
}
|
2388
|
-
)
|
2389
|
-
})
|
2390
|
-
);
|
2391
|
-
});
|
2392
|
-
Checkbox.displayName = CheckboxPrimitive.Root.displayName;
|
2393
|
-
|
2394
|
-
// src/ui/collapsible.tsx
|
2395
|
-
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
2396
|
-
var Collapsible = CollapsiblePrimitive.Root;
|
2397
|
-
var CollapsibleTrigger2 = CollapsiblePrimitive.CollapsibleTrigger;
|
2398
|
-
var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
|
2399
|
-
|
2400
|
-
// src/ui/command.tsx
|
2401
|
-
import * as React41 from "react";
|
2402
|
-
import { Command as CommandPrimitive } from "cmdk";
|
2403
|
-
|
2404
|
-
// src/ui/dialog.tsx
|
2405
|
-
import * as React40 from "react";
|
2406
|
-
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
2407
|
-
import { jsx as jsx42, jsxs as jsxs13 } from "react/jsx-runtime";
|
2408
|
-
var Dialog = DialogPrimitive.Root;
|
2409
|
-
var DialogTrigger = DialogPrimitive.Trigger;
|
2410
|
-
var DialogPortal = DialogPrimitive.Portal;
|
2411
|
-
var DialogClose = DialogPrimitive.Close;
|
2412
|
-
var DialogOverlay = React40.forwardRef((_a, ref) => {
|
2413
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2414
|
-
return /* @__PURE__ */ jsx42(
|
2415
|
-
DialogPrimitive.Overlay,
|
2416
|
-
__spreadValues({
|
2417
|
-
ref,
|
2418
|
-
className: cn(
|
2419
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
2420
|
-
className
|
2421
|
-
)
|
2422
|
-
}, props)
|
2423
|
-
);
|
2424
|
-
});
|
2425
|
-
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
2426
|
-
var DialogContent = React40.forwardRef((_a, ref) => {
|
2427
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
2428
|
-
return /* @__PURE__ */ jsxs13(DialogPortal, { children: [
|
2429
|
-
/* @__PURE__ */ jsx42(DialogOverlay, {}),
|
2430
|
-
/* @__PURE__ */ jsxs13(
|
2431
|
-
DialogPrimitive.Content,
|
2432
|
-
__spreadProps(__spreadValues({
|
2433
|
-
ref,
|
2434
|
-
className: cn(
|
2435
|
-
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg 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",
|
2436
|
-
className
|
2437
|
-
)
|
2438
|
-
}, props), {
|
2439
|
-
children: [
|
2440
|
-
children,
|
2441
|
-
/* @__PURE__ */ jsxs13(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
2442
|
-
/* @__PURE__ */ jsx42(globalLucideIcons.X, { className: "h-4 w-4" }),
|
2443
|
-
/* @__PURE__ */ jsx42("span", { className: "sr-only", children: "Close" })
|
2444
|
-
] })
|
2445
|
-
]
|
2446
|
-
})
|
2447
|
-
)
|
2448
|
-
] });
|
2449
|
-
});
|
2450
|
-
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
2451
|
-
var DialogHeader = (_a) => {
|
2452
|
-
var _b = _a, {
|
2453
|
-
className
|
2454
|
-
} = _b, props = __objRest(_b, [
|
2455
|
-
"className"
|
2456
|
-
]);
|
2457
|
-
return /* @__PURE__ */ jsx42(
|
2458
|
-
"div",
|
2459
|
-
__spreadValues({
|
2460
|
-
className: cn(
|
2461
|
-
"flex flex-col space-y-1.5 text-center sm:text-left",
|
2462
|
-
className
|
2463
|
-
)
|
2464
|
-
}, props)
|
2465
|
-
);
|
2466
|
-
};
|
2467
|
-
DialogHeader.displayName = "DialogHeader";
|
2468
|
-
var DialogFooter = (_a) => {
|
2469
|
-
var _b = _a, {
|
2470
|
-
className
|
2471
|
-
} = _b, props = __objRest(_b, [
|
2472
|
-
"className"
|
2473
|
-
]);
|
2474
|
-
return /* @__PURE__ */ jsx42(
|
2475
|
-
"div",
|
2476
|
-
__spreadValues({
|
2477
|
-
className: cn(
|
2478
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
2479
|
-
className
|
2480
|
-
)
|
2481
|
-
}, props)
|
2482
|
-
);
|
2483
|
-
};
|
2484
|
-
DialogFooter.displayName = "DialogFooter";
|
2485
|
-
var DialogTitle = React40.forwardRef((_a, ref) => {
|
2486
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2487
|
-
return /* @__PURE__ */ jsx42(
|
2488
|
-
DialogPrimitive.Title,
|
2489
|
-
__spreadValues({
|
2490
|
-
ref,
|
2491
|
-
className: cn(
|
2492
|
-
"text-lg font-semibold leading-none tracking-tight",
|
2493
|
-
className
|
2494
|
-
)
|
2495
|
-
}, props)
|
2496
|
-
);
|
2497
|
-
});
|
2498
|
-
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
2499
|
-
var DialogDescription = React40.forwardRef((_a, ref) => {
|
2500
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2501
|
-
return /* @__PURE__ */ jsx42(
|
2502
|
-
DialogPrimitive.Description,
|
2503
|
-
__spreadValues({
|
2504
|
-
ref,
|
2505
|
-
className: cn("text-sm text-muted-foreground", className)
|
2506
|
-
}, props)
|
2507
|
-
);
|
2508
|
-
});
|
2509
|
-
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
2510
|
-
|
2511
|
-
// src/ui/command.tsx
|
2512
|
-
import { jsx as jsx43, jsxs as jsxs14 } from "react/jsx-runtime";
|
2513
|
-
var Command = React41.forwardRef((_a, ref) => {
|
2514
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2515
|
-
return /* @__PURE__ */ jsx43(
|
2516
|
-
CommandPrimitive,
|
2517
|
-
__spreadValues({
|
2518
|
-
ref,
|
2519
|
-
className: cn(
|
2520
|
-
"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
|
2521
|
-
className
|
2522
|
-
)
|
2523
|
-
}, props)
|
2524
|
-
);
|
2525
|
-
});
|
2526
|
-
Command.displayName = CommandPrimitive.displayName;
|
2527
|
-
var CommandDialog = (_a) => {
|
2528
|
-
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
2529
|
-
return /* @__PURE__ */ jsx43(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsx43(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: /* @__PURE__ */ jsx43(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 }) }) }));
|
2530
|
-
};
|
2531
|
-
var CommandInput = React41.forwardRef((_a, ref) => {
|
2532
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2533
|
-
return /* @__PURE__ */ jsxs14("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
|
2534
|
-
/* @__PURE__ */ jsx43(globalLucideIcons.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
2535
|
-
/* @__PURE__ */ jsx43(
|
2536
|
-
CommandPrimitive.Input,
|
2537
|
-
__spreadValues({
|
2538
|
-
ref,
|
2539
|
-
className: cn(
|
2540
|
-
"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
2541
|
-
className
|
2542
|
-
)
|
2543
|
-
}, props)
|
2544
|
-
)
|
2545
|
-
] });
|
2546
|
-
});
|
2547
|
-
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
2548
|
-
var CommandList = React41.forwardRef((_a, ref) => {
|
2549
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2550
|
-
return /* @__PURE__ */ jsx43(
|
2551
|
-
CommandPrimitive.List,
|
2552
|
-
__spreadValues({
|
2553
|
-
ref,
|
2554
|
-
className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className)
|
2555
|
-
}, props)
|
2556
|
-
);
|
2557
|
-
});
|
2558
|
-
CommandList.displayName = CommandPrimitive.List.displayName;
|
2559
|
-
var CommandEmpty = React41.forwardRef((props, ref) => /* @__PURE__ */ jsx43(
|
2560
|
-
CommandPrimitive.Empty,
|
2561
|
-
__spreadValues({
|
2562
|
-
ref,
|
2563
|
-
className: "py-6 text-center text-sm"
|
2564
|
-
}, props)
|
2565
|
-
));
|
2566
|
-
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
2567
|
-
var CommandGroup = React41.forwardRef((_a, ref) => {
|
2568
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2569
|
-
return /* @__PURE__ */ jsx43(
|
2570
|
-
CommandPrimitive.Group,
|
2571
|
-
__spreadValues({
|
2572
|
-
ref,
|
2573
|
-
className: cn(
|
2574
|
-
"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
|
2575
|
-
className
|
2576
|
-
)
|
2577
|
-
}, props)
|
2578
|
-
);
|
2579
|
-
});
|
2580
|
-
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
2581
|
-
var CommandSeparator = React41.forwardRef((_a, ref) => {
|
2582
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2583
|
-
return /* @__PURE__ */ jsx43(
|
2584
|
-
CommandPrimitive.Separator,
|
2585
|
-
__spreadValues({
|
2586
|
-
ref,
|
2587
|
-
className: cn("-mx-1 h-px bg-border", className)
|
2588
|
-
}, props)
|
2589
|
-
);
|
2590
|
-
});
|
2591
|
-
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
2592
|
-
var CommandItem = React41.forwardRef((_a, ref) => {
|
2593
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2594
|
-
return /* @__PURE__ */ jsx43(
|
2595
|
-
CommandPrimitive.Item,
|
2596
|
-
__spreadValues({
|
2597
|
-
ref,
|
2598
|
-
className: cn(
|
2599
|
-
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
2600
|
-
className
|
2601
|
-
)
|
2602
|
-
}, props)
|
2603
|
-
);
|
2604
|
-
});
|
2605
|
-
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
2606
|
-
var CommandShortcut = (_a) => {
|
2607
|
-
var _b = _a, {
|
2608
|
-
className
|
2609
|
-
} = _b, props = __objRest(_b, [
|
2610
|
-
"className"
|
2611
|
-
]);
|
2612
|
-
return /* @__PURE__ */ jsx43(
|
2613
|
-
"span",
|
2614
|
-
__spreadValues({
|
2615
|
-
className: cn(
|
2616
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
2617
|
-
className
|
2618
|
-
)
|
2619
|
-
}, props)
|
2620
|
-
);
|
2621
|
-
};
|
2622
|
-
CommandShortcut.displayName = "CommandShortcut";
|
2623
|
-
|
2624
|
-
// src/ui/context-menu.tsx
|
2625
|
-
import * as React42 from "react";
|
2626
|
-
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
2627
|
-
import { jsx as jsx44, jsxs as jsxs15 } from "react/jsx-runtime";
|
2628
|
-
var ContextMenu = ContextMenuPrimitive.Root;
|
2629
|
-
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
2630
|
-
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
2631
|
-
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
2632
|
-
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
2633
|
-
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
2634
|
-
var ContextMenuSubTrigger = React42.forwardRef((_a, ref) => {
|
2635
|
-
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
2636
|
-
return /* @__PURE__ */ jsxs15(
|
2637
|
-
ContextMenuPrimitive.SubTrigger,
|
2638
|
-
__spreadProps(__spreadValues({
|
2639
|
-
ref,
|
2640
|
-
className: cn(
|
2641
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
2642
|
-
inset && "pl-8",
|
2643
|
-
className
|
2644
|
-
)
|
2645
|
-
}, props), {
|
2646
|
-
children: [
|
2647
|
-
children,
|
2648
|
-
/* @__PURE__ */ jsx44(globalLucideIcons.ChevronRight, { className: "ml-auto h-4 w-4" })
|
2649
|
-
]
|
2650
|
-
})
|
2651
|
-
);
|
2652
|
-
});
|
2653
|
-
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
2654
|
-
var ContextMenuSubContent = React42.forwardRef((_a, ref) => {
|
2655
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2656
|
-
return /* @__PURE__ */ jsx44(
|
2657
|
-
ContextMenuPrimitive.SubContent,
|
2658
|
-
__spreadValues({
|
2659
|
-
ref,
|
2660
|
-
className: cn(
|
2661
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
|
2662
|
-
className
|
2663
|
-
)
|
2664
|
-
}, props)
|
2665
|
-
);
|
2666
|
-
});
|
2667
|
-
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
2668
|
-
var ContextMenuContent = React42.forwardRef((_a, ref) => {
|
2669
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2670
|
-
return /* @__PURE__ */ jsx44(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx44(
|
2671
|
-
ContextMenuPrimitive.Content,
|
2672
|
-
__spreadValues({
|
2673
|
-
ref,
|
2674
|
-
className: cn(
|
2675
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 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",
|
2676
|
-
className
|
2677
|
-
)
|
2678
|
-
}, props)
|
2679
|
-
) });
|
2680
|
-
});
|
2681
|
-
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
2682
|
-
var ContextMenuItem = React42.forwardRef((_a, ref) => {
|
2683
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
2684
|
-
return /* @__PURE__ */ jsx44(
|
2685
|
-
ContextMenuPrimitive.Item,
|
2686
|
-
__spreadValues({
|
2687
|
-
ref,
|
2688
|
-
className: cn(
|
2689
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
2690
|
-
inset && "pl-8",
|
2691
|
-
className
|
2692
|
-
)
|
2693
|
-
}, props)
|
2694
|
-
);
|
2695
|
-
});
|
2696
|
-
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
2697
|
-
var ContextMenuCheckboxItem = React42.forwardRef((_a, ref) => {
|
2698
|
-
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
2699
|
-
return /* @__PURE__ */ jsxs15(
|
2700
|
-
ContextMenuPrimitive.CheckboxItem,
|
2701
|
-
__spreadProps(__spreadValues({
|
2702
|
-
ref,
|
2703
|
-
className: cn(
|
2704
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
2705
|
-
className
|
2706
|
-
),
|
2707
|
-
checked
|
2708
|
-
}, props), {
|
2709
|
-
children: [
|
2710
|
-
/* @__PURE__ */ jsx44("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx44(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx44(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
|
2711
|
-
children
|
2712
|
-
]
|
2713
|
-
})
|
2714
|
-
);
|
2715
|
-
});
|
2716
|
-
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
2717
|
-
var ContextMenuRadioItem = React42.forwardRef((_a, ref) => {
|
2718
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
2719
|
-
return /* @__PURE__ */ jsxs15(
|
2720
|
-
ContextMenuPrimitive.RadioItem,
|
2721
|
-
__spreadProps(__spreadValues({
|
2722
|
-
ref,
|
2723
|
-
className: cn(
|
2724
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
2725
|
-
className
|
2726
|
-
)
|
2727
|
-
}, props), {
|
2728
|
-
children: [
|
2729
|
-
/* @__PURE__ */ jsx44("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx44(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx44(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
2730
|
-
children
|
2731
|
-
]
|
2732
|
-
})
|
2733
|
-
);
|
2734
|
-
});
|
2735
|
-
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
2736
|
-
var ContextMenuLabel = React42.forwardRef((_a, ref) => {
|
2737
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
2738
|
-
return /* @__PURE__ */ jsx44(
|
2739
|
-
ContextMenuPrimitive.Label,
|
2740
|
-
__spreadValues({
|
2741
|
-
ref,
|
2742
|
-
className: cn(
|
2743
|
-
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
2744
|
-
inset && "pl-8",
|
2745
|
-
className
|
2746
|
-
)
|
2747
|
-
}, props)
|
2748
|
-
);
|
2749
|
-
});
|
2750
|
-
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
2751
|
-
var ContextMenuSeparator = React42.forwardRef((_a, ref) => {
|
2752
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2753
|
-
return /* @__PURE__ */ jsx44(
|
2754
|
-
ContextMenuPrimitive.Separator,
|
2755
|
-
__spreadValues({
|
2756
|
-
ref,
|
2757
|
-
className: cn("-mx-1 my-1 h-px bg-border", className)
|
2758
|
-
}, props)
|
2759
|
-
);
|
2760
|
-
});
|
2761
|
-
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
2762
|
-
var ContextMenuShortcut = (_a) => {
|
2763
|
-
var _b = _a, {
|
2764
|
-
className
|
2765
|
-
} = _b, props = __objRest(_b, [
|
2766
|
-
"className"
|
2767
|
-
]);
|
2768
|
-
return /* @__PURE__ */ jsx44(
|
2769
|
-
"span",
|
2770
|
-
__spreadValues({
|
2771
|
-
className: cn(
|
2772
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
2773
|
-
className
|
2774
|
-
)
|
2775
|
-
}, props)
|
2776
|
-
);
|
2777
|
-
};
|
2778
|
-
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
2779
|
-
|
2780
|
-
// src/ui/drawer.tsx
|
2781
|
-
import * as React43 from "react";
|
2782
|
-
import { Drawer as DrawerPrimitive } from "vaul";
|
2783
|
-
import { jsx as jsx45, jsxs as jsxs16 } from "react/jsx-runtime";
|
2784
|
-
var Drawer = (_a) => {
|
2785
|
-
var _b = _a, {
|
2786
|
-
shouldScaleBackground = true
|
2787
|
-
} = _b, props = __objRest(_b, [
|
2788
|
-
"shouldScaleBackground"
|
2789
|
-
]);
|
2790
|
-
return /* @__PURE__ */ jsx45(
|
2791
|
-
DrawerPrimitive.Root,
|
2792
|
-
__spreadValues({
|
2793
|
-
shouldScaleBackground
|
2794
|
-
}, props)
|
2795
|
-
);
|
2796
|
-
};
|
2797
|
-
Drawer.displayName = "Drawer";
|
2798
|
-
var DrawerTrigger = DrawerPrimitive.Trigger;
|
2799
|
-
var DrawerPortal = DrawerPrimitive.Portal;
|
2800
|
-
var DrawerClose = DrawerPrimitive.Close;
|
2801
|
-
var DrawerOverlay = React43.forwardRef((_a, ref) => {
|
2802
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2803
|
-
return /* @__PURE__ */ jsx45(
|
2804
|
-
DrawerPrimitive.Overlay,
|
2805
|
-
__spreadValues({
|
2806
|
-
ref,
|
2807
|
-
className: cn("fixed inset-0 z-50 bg-black/80", className)
|
2808
|
-
}, props)
|
2809
|
-
);
|
2810
|
-
});
|
2811
|
-
DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
|
2812
|
-
var DrawerContent = React43.forwardRef((_a, ref) => {
|
2813
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
2814
|
-
return /* @__PURE__ */ jsxs16(DrawerPortal, { children: [
|
2815
|
-
/* @__PURE__ */ jsx45(DrawerOverlay, {}),
|
2816
|
-
/* @__PURE__ */ jsxs16(
|
2817
|
-
DrawerPrimitive.Content,
|
2818
|
-
__spreadProps(__spreadValues({
|
2819
|
-
ref,
|
2820
|
-
className: cn(
|
2821
|
-
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
|
2822
|
-
className
|
2823
|
-
)
|
2824
|
-
}, props), {
|
2825
|
-
children: [
|
2826
|
-
/* @__PURE__ */ jsx45("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
|
2827
|
-
children
|
2828
|
-
]
|
2829
|
-
})
|
2830
|
-
)
|
2831
|
-
] });
|
2832
|
-
});
|
2833
|
-
DrawerContent.displayName = "DrawerContent";
|
2834
|
-
var DrawerHeader = (_a) => {
|
2835
|
-
var _b = _a, {
|
2836
|
-
className
|
2837
|
-
} = _b, props = __objRest(_b, [
|
2838
|
-
"className"
|
2839
|
-
]);
|
2840
|
-
return /* @__PURE__ */ jsx45(
|
2841
|
-
"div",
|
2842
|
-
__spreadValues({
|
2843
|
-
className: cn("grid gap-1.5 p-4 text-center sm:text-left", className)
|
2844
|
-
}, props)
|
2845
|
-
);
|
2846
|
-
};
|
2847
|
-
DrawerHeader.displayName = "DrawerHeader";
|
2848
|
-
var DrawerFooter = (_a) => {
|
2849
|
-
var _b = _a, {
|
2850
|
-
className
|
2851
|
-
} = _b, props = __objRest(_b, [
|
2852
|
-
"className"
|
2853
|
-
]);
|
2854
|
-
return /* @__PURE__ */ jsx45(
|
2855
|
-
"div",
|
2856
|
-
__spreadValues({
|
2857
|
-
className: cn("mt-auto flex flex-col gap-2 p-4", className)
|
2858
|
-
}, props)
|
2859
|
-
);
|
2860
|
-
};
|
2861
|
-
DrawerFooter.displayName = "DrawerFooter";
|
2862
|
-
var DrawerTitle = React43.forwardRef((_a, ref) => {
|
2863
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2864
|
-
return /* @__PURE__ */ jsx45(
|
2865
|
-
DrawerPrimitive.Title,
|
2866
|
-
__spreadValues({
|
2867
|
-
ref,
|
2868
|
-
className: cn(
|
2869
|
-
"text-lg font-semibold leading-none tracking-tight",
|
2870
|
-
className
|
2871
|
-
)
|
2872
|
-
}, props)
|
2873
|
-
);
|
2874
|
-
});
|
2875
|
-
DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
|
2876
|
-
var DrawerDescription = React43.forwardRef((_a, ref) => {
|
2877
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2878
|
-
return /* @__PURE__ */ jsx45(
|
2879
|
-
DrawerPrimitive.Description,
|
2880
|
-
__spreadValues({
|
2881
|
-
ref,
|
2882
|
-
className: cn("text-sm text-muted-foreground", className)
|
2883
|
-
}, props)
|
2884
|
-
);
|
2885
|
-
});
|
2886
|
-
DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
|
2887
|
-
|
2888
|
-
// src/ui/dropdown-menu.tsx
|
2889
|
-
import * as React44 from "react";
|
2890
|
-
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
2891
|
-
import { jsx as jsx46, jsxs as jsxs17 } from "react/jsx-runtime";
|
2892
|
-
var DropdownMenu = DropdownMenuPrimitive.Root;
|
2893
|
-
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
2894
|
-
var DropdownMenuGroup = DropdownMenuPrimitive.Group;
|
2895
|
-
var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
|
2896
|
-
var DropdownMenuSub = DropdownMenuPrimitive.Sub;
|
2897
|
-
var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
|
2898
|
-
var DropdownMenuSubTrigger = React44.forwardRef((_a, ref) => {
|
2899
|
-
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
2900
|
-
return /* @__PURE__ */ jsxs17(
|
2901
|
-
DropdownMenuPrimitive.SubTrigger,
|
2902
|
-
__spreadProps(__spreadValues({
|
2903
|
-
ref,
|
2904
|
-
className: cn(
|
2905
|
-
"flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
2906
|
-
inset && "pl-8",
|
2907
|
-
className
|
2908
|
-
)
|
2909
|
-
}, props), {
|
2910
|
-
children: [
|
2911
|
-
children,
|
2912
|
-
/* @__PURE__ */ jsx46(globalLucideIcons.ChevronRight, { className: "ml-auto" })
|
2913
|
-
]
|
2914
|
-
})
|
2915
|
-
);
|
2916
|
-
});
|
2917
|
-
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
2918
|
-
var DropdownMenuSubContent = React44.forwardRef((_a, ref) => {
|
2919
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
2920
|
-
return /* @__PURE__ */ jsx46(
|
2921
|
-
DropdownMenuPrimitive.SubContent,
|
2922
|
-
__spreadValues({
|
2923
|
-
ref,
|
2924
|
-
className: cn(
|
2925
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
2926
|
-
className
|
2927
|
-
)
|
2928
|
-
}, props)
|
2929
|
-
);
|
2930
|
-
});
|
2931
|
-
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
2932
|
-
var DropdownMenuContent = React44.forwardRef((_a, ref) => {
|
2933
|
-
var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
|
2934
|
-
return /* @__PURE__ */ jsx46(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx46(
|
2935
|
-
DropdownMenuPrimitive.Content,
|
2936
|
-
__spreadValues({
|
2937
|
-
ref,
|
2938
|
-
sideOffset,
|
2939
|
-
className: cn(
|
2940
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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",
|
2941
|
-
className
|
2942
|
-
)
|
2943
|
-
}, props)
|
2944
|
-
) });
|
2945
|
-
});
|
2946
|
-
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
2947
|
-
var DropdownMenuItem = React44.forwardRef((_a, ref) => {
|
2948
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
2949
|
-
return /* @__PURE__ */ jsx46(
|
2950
|
-
DropdownMenuPrimitive.Item,
|
2951
|
-
__spreadValues({
|
2952
|
-
ref,
|
2953
|
-
className: cn(
|
2954
|
-
"relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
2955
|
-
inset && "pl-8",
|
2956
|
-
className
|
2957
|
-
)
|
2958
|
-
}, props)
|
2959
|
-
);
|
2960
|
-
});
|
2961
|
-
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
2962
|
-
var DropdownMenuCheckboxItem = React44.forwardRef((_a, ref) => {
|
2963
|
-
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
2964
|
-
return /* @__PURE__ */ jsxs17(
|
2965
|
-
DropdownMenuPrimitive.CheckboxItem,
|
2966
|
-
__spreadProps(__spreadValues({
|
2967
|
-
ref,
|
2968
|
-
className: cn(
|
2969
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
2970
|
-
className
|
2971
|
-
),
|
2972
|
-
checked
|
2973
|
-
}, props), {
|
2974
|
-
children: [
|
2975
|
-
/* @__PURE__ */ jsx46("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx46(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx46(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
|
2976
|
-
children
|
2977
|
-
]
|
2978
|
-
})
|
2979
|
-
);
|
2980
|
-
});
|
2981
|
-
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
2982
|
-
var DropdownMenuRadioItem = React44.forwardRef((_a, ref) => {
|
2983
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
2984
|
-
return /* @__PURE__ */ jsxs17(
|
2985
|
-
DropdownMenuPrimitive.RadioItem,
|
2986
|
-
__spreadProps(__spreadValues({
|
2987
|
-
ref,
|
2988
|
-
className: cn(
|
2989
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
2990
|
-
className
|
2991
|
-
)
|
2992
|
-
}, props), {
|
2993
|
-
children: [
|
2994
|
-
/* @__PURE__ */ jsx46("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx46(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx46(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
2995
|
-
children
|
2996
|
-
]
|
2997
|
-
})
|
2998
|
-
);
|
2999
|
-
});
|
3000
|
-
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
3001
|
-
var DropdownMenuLabel = React44.forwardRef((_a, ref) => {
|
3002
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
3003
|
-
return /* @__PURE__ */ jsx46(
|
3004
|
-
DropdownMenuPrimitive.Label,
|
3005
|
-
__spreadValues({
|
3006
|
-
ref,
|
3007
|
-
className: cn(
|
3008
|
-
"px-2 py-1.5 text-sm font-semibold",
|
3009
|
-
inset && "pl-8",
|
3010
|
-
className
|
3011
|
-
)
|
3012
|
-
}, props)
|
3013
|
-
);
|
3014
|
-
});
|
3015
|
-
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
3016
|
-
var DropdownMenuSeparator = React44.forwardRef((_a, ref) => {
|
3017
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3018
|
-
return /* @__PURE__ */ jsx46(
|
3019
|
-
DropdownMenuPrimitive.Separator,
|
3020
|
-
__spreadValues({
|
3021
|
-
ref,
|
3022
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
3023
|
-
}, props)
|
3024
|
-
);
|
3025
|
-
});
|
3026
|
-
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
3027
|
-
var DropdownMenuShortcut = (_a) => {
|
3028
|
-
var _b = _a, {
|
3029
|
-
className
|
3030
|
-
} = _b, props = __objRest(_b, [
|
3031
|
-
"className"
|
3032
|
-
]);
|
3033
|
-
return /* @__PURE__ */ jsx46(
|
3034
|
-
"span",
|
3035
|
-
__spreadValues({
|
3036
|
-
className: cn("ml-auto text-xs tracking-widest opacity-60", className)
|
3037
|
-
}, props)
|
3038
|
-
);
|
3039
|
-
};
|
3040
|
-
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
3041
|
-
|
3042
|
-
// src/ui/form.tsx
|
3043
|
-
import * as React46 from "react";
|
3044
|
-
import { Slot as Slot3 } from "@radix-ui/react-slot";
|
3045
|
-
import {
|
3046
|
-
Controller,
|
3047
|
-
FormProvider,
|
3048
|
-
useFormContext
|
3049
|
-
} from "react-hook-form";
|
3050
|
-
|
3051
|
-
// src/ui/label.tsx
|
3052
|
-
import * as React45 from "react";
|
3053
|
-
import * as LabelPrimitive from "@radix-ui/react-label";
|
3054
|
-
import { cva as cva4 } from "class-variance-authority";
|
3055
|
-
import { jsx as jsx47 } from "react/jsx-runtime";
|
3056
|
-
var labelVariants = cva4(
|
3057
|
-
"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
3058
|
-
);
|
3059
|
-
var Label3 = React45.forwardRef((_a, ref) => {
|
3060
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3061
|
-
return /* @__PURE__ */ jsx47(
|
3062
|
-
LabelPrimitive.Root,
|
3063
|
-
__spreadValues({
|
3064
|
-
ref,
|
3065
|
-
className: cn(labelVariants(), className)
|
3066
|
-
}, props)
|
3067
|
-
);
|
3068
|
-
});
|
3069
|
-
Label3.displayName = LabelPrimitive.Root.displayName;
|
3070
|
-
|
3071
|
-
// src/ui/form.tsx
|
3072
|
-
import { jsx as jsx48 } from "react/jsx-runtime";
|
3073
|
-
var Form = FormProvider;
|
3074
|
-
var FormFieldContext = React46.createContext(
|
3075
|
-
{}
|
3076
|
-
);
|
3077
|
-
var FormField = (_a) => {
|
3078
|
-
var props = __objRest(_a, []);
|
3079
|
-
return /* @__PURE__ */ jsx48(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx48(Controller, __spreadValues({}, props)) });
|
3080
|
-
};
|
3081
|
-
var useFormField = () => {
|
3082
|
-
const fieldContext = React46.useContext(FormFieldContext);
|
3083
|
-
const itemContext = React46.useContext(FormItemContext);
|
3084
|
-
const { getFieldState, formState } = useFormContext();
|
3085
|
-
const fieldState = getFieldState(fieldContext.name, formState);
|
3086
|
-
if (!fieldContext) {
|
3087
|
-
throw new Error("useFormField should be used within <FormField>");
|
3088
|
-
}
|
3089
|
-
const { id } = itemContext;
|
3090
|
-
return __spreadValues({
|
3091
|
-
id,
|
3092
|
-
name: fieldContext.name,
|
3093
|
-
formItemId: `${id}-form-item`,
|
3094
|
-
formDescriptionId: `${id}-form-item-description`,
|
3095
|
-
formMessageId: `${id}-form-item-message`
|
3096
|
-
}, fieldState);
|
3097
|
-
};
|
3098
|
-
var FormItemContext = React46.createContext(
|
3099
|
-
{}
|
3100
|
-
);
|
3101
|
-
var FormItem = React46.forwardRef((_a, ref) => {
|
3102
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3103
|
-
const id = React46.useId();
|
3104
|
-
return /* @__PURE__ */ jsx48(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx48("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
|
3105
|
-
});
|
3106
|
-
FormItem.displayName = "FormItem";
|
3107
|
-
var FormLabel = React46.forwardRef((_a, ref) => {
|
3108
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3109
|
-
const { error, formItemId } = useFormField();
|
3110
|
-
return /* @__PURE__ */ jsx48(
|
3111
|
-
Label3,
|
3112
|
-
__spreadValues({
|
3113
|
-
ref,
|
3114
|
-
className: cn(error && "text-destructive", className),
|
3115
|
-
htmlFor: formItemId
|
3116
|
-
}, props)
|
3117
|
-
);
|
3118
|
-
});
|
3119
|
-
FormLabel.displayName = "FormLabel";
|
3120
|
-
var FormControl = React46.forwardRef((_a, ref) => {
|
3121
|
-
var props = __objRest(_a, []);
|
3122
|
-
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
3123
|
-
return /* @__PURE__ */ jsx48(
|
3124
|
-
Slot3,
|
3125
|
-
__spreadValues({
|
3126
|
-
ref,
|
3127
|
-
id: formItemId,
|
3128
|
-
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
3129
|
-
"aria-invalid": !!error
|
3130
|
-
}, props)
|
3131
|
-
);
|
3132
|
-
});
|
3133
|
-
FormControl.displayName = "FormControl";
|
3134
|
-
var FormDescription = React46.forwardRef((_a, ref) => {
|
3135
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3136
|
-
const { formDescriptionId } = useFormField();
|
3137
|
-
return /* @__PURE__ */ jsx48(
|
3138
|
-
"p",
|
3139
|
-
__spreadValues({
|
3140
|
-
ref,
|
3141
|
-
id: formDescriptionId,
|
3142
|
-
className: cn("text-sm text-muted-foreground", className)
|
3143
|
-
}, props)
|
3144
|
-
);
|
3145
|
-
});
|
3146
|
-
FormDescription.displayName = "FormDescription";
|
3147
|
-
var FormMessage = React46.forwardRef((_a, ref) => {
|
3148
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3149
|
-
const { error, formMessageId } = useFormField();
|
3150
|
-
const body = error ? String(error == null ? void 0 : error.message) : children;
|
3151
|
-
if (!body) {
|
3152
|
-
return null;
|
3153
|
-
}
|
3154
|
-
return /* @__PURE__ */ jsx48(
|
3155
|
-
"p",
|
3156
|
-
__spreadProps(__spreadValues({
|
3157
|
-
ref,
|
3158
|
-
id: formMessageId,
|
3159
|
-
className: cn("text-sm font-medium text-destructive", className)
|
3160
|
-
}, props), {
|
3161
|
-
children: body
|
3162
|
-
})
|
3163
|
-
);
|
3164
|
-
});
|
3165
|
-
FormMessage.displayName = "FormMessage";
|
3166
|
-
|
3167
|
-
// src/ui/hover-card.tsx
|
3168
|
-
import * as React47 from "react";
|
3169
|
-
import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
|
3170
|
-
import { jsx as jsx49 } from "react/jsx-runtime";
|
3171
|
-
var HoverCard = HoverCardPrimitive.Root;
|
3172
|
-
var HoverCardTrigger = HoverCardPrimitive.Trigger;
|
3173
|
-
var HoverCardContent = React47.forwardRef((_a, ref) => {
|
3174
|
-
var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
|
3175
|
-
return /* @__PURE__ */ jsx49(
|
3176
|
-
HoverCardPrimitive.Content,
|
3177
|
-
__spreadValues({
|
3178
|
-
ref,
|
3179
|
-
align,
|
3180
|
-
sideOffset,
|
3181
|
-
className: cn(
|
3182
|
-
"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
|
3183
|
-
className
|
3184
|
-
)
|
3185
|
-
}, props)
|
3186
|
-
);
|
3187
|
-
});
|
3188
|
-
HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
3189
|
-
|
3190
|
-
// src/ui/input-otp.tsx
|
3191
|
-
import * as React48 from "react";
|
3192
|
-
import { OTPInput, OTPInputContext } from "input-otp";
|
3193
|
-
import { jsx as jsx50, jsxs as jsxs18 } from "react/jsx-runtime";
|
3194
|
-
var InputOTP = React48.forwardRef((_a, ref) => {
|
3195
|
-
var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
|
3196
|
-
return /* @__PURE__ */ jsx50(
|
3197
|
-
OTPInput,
|
3198
|
-
__spreadValues({
|
3199
|
-
ref,
|
3200
|
-
containerClassName: cn(
|
3201
|
-
"flex items-center gap-2 has-disabled:opacity-50",
|
3202
|
-
containerClassName
|
3203
|
-
),
|
3204
|
-
className: cn("disabled:cursor-not-allowed", className)
|
3205
|
-
}, props)
|
3206
|
-
);
|
3207
|
-
});
|
3208
|
-
InputOTP.displayName = "InputOTP";
|
3209
|
-
var InputOTPGroup = React48.forwardRef((_a, ref) => {
|
3210
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3211
|
-
return /* @__PURE__ */ jsx50("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
|
3212
|
-
});
|
3213
|
-
InputOTPGroup.displayName = "InputOTPGroup";
|
3214
|
-
var InputOTPSlot = React48.forwardRef((_a, ref) => {
|
3215
|
-
var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
|
3216
|
-
const inputOTPContext = React48.useContext(OTPInputContext);
|
3217
|
-
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
3218
|
-
return /* @__PURE__ */ jsxs18(
|
3219
|
-
"div",
|
3220
|
-
__spreadProps(__spreadValues({
|
3221
|
-
ref,
|
3222
|
-
className: cn(
|
3223
|
-
"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
|
3224
|
-
isActive && "z-10 ring-2 ring-ring ring-offset-background",
|
3225
|
-
className
|
3226
|
-
)
|
3227
|
-
}, props), {
|
3228
|
-
children: [
|
3229
|
-
char,
|
3230
|
-
hasFakeCaret && /* @__PURE__ */ jsx50("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx50("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
|
3231
|
-
]
|
3232
|
-
})
|
3233
|
-
);
|
3234
|
-
});
|
3235
|
-
InputOTPSlot.displayName = "InputOTPSlot";
|
3236
|
-
var InputOTPSeparator = React48.forwardRef((_a, ref) => {
|
3237
|
-
var props = __objRest(_a, []);
|
3238
|
-
return /* @__PURE__ */ jsx50("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx50(globalLucideIcons.Dot, {}) }));
|
3239
|
-
});
|
3240
|
-
InputOTPSeparator.displayName = "InputOTPSeparator";
|
3241
|
-
|
3242
|
-
// src/ui/input.tsx
|
3243
|
-
import * as React49 from "react";
|
3244
|
-
import { jsx as jsx51 } from "react/jsx-runtime";
|
3245
|
-
var Input = React49.forwardRef(
|
3246
|
-
(_a, ref) => {
|
3247
|
-
var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
|
3248
|
-
return /* @__PURE__ */ jsx51(
|
3249
|
-
"input",
|
3250
|
-
__spreadValues({
|
3251
|
-
type,
|
3252
|
-
className: cn(
|
3253
|
-
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
3254
|
-
className
|
3255
|
-
),
|
3256
|
-
ref
|
3257
|
-
}, props)
|
3258
|
-
);
|
3259
|
-
}
|
3260
|
-
);
|
3261
|
-
Input.displayName = "Input";
|
3262
|
-
|
3263
|
-
// src/ui/language-button.tsx
|
3264
|
-
import * as React50 from "react";
|
3265
|
-
import { jsx as jsx52 } from "react/jsx-runtime";
|
3266
|
-
var LanguageButton = React50.forwardRef(
|
3267
|
-
(_a, ref) => {
|
3268
|
-
var _b = _a, { className, variant = "default", size = "default" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
3269
|
-
return /* @__PURE__ */ jsx52(
|
3270
|
-
"button",
|
3271
|
-
__spreadValues({
|
3272
|
-
className: cn(
|
3273
|
-
"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background",
|
3274
|
-
{
|
3275
|
-
"bg-primary text-primary-foreground hover:bg-primary/90": variant === "default",
|
3276
|
-
"hover:bg-accent hover:text-accent-foreground": variant === "ghost",
|
3277
|
-
"h-10 px-4 py-2": size === "default",
|
3278
|
-
"h-9 px-3": size === "sm",
|
3279
|
-
"h-11 px-8": size === "lg",
|
3280
|
-
"h-10 w-10": size === "icon"
|
3281
|
-
},
|
3282
|
-
className
|
3283
|
-
),
|
3284
|
-
ref
|
3285
|
-
}, props)
|
3286
|
-
);
|
3287
|
-
}
|
3288
|
-
);
|
3289
|
-
LanguageButton.displayName = "Button";
|
3290
|
-
|
3291
|
-
// src/ui/menubar.tsx
|
3292
|
-
import * as React51 from "react";
|
3293
|
-
import * as MenubarPrimitive from "@radix-ui/react-menubar";
|
3294
|
-
import { jsx as jsx53, jsxs as jsxs19 } from "react/jsx-runtime";
|
3295
|
-
var MenubarMenu = MenubarPrimitive.Menu;
|
3296
|
-
var MenubarGroup = MenubarPrimitive.Group;
|
3297
|
-
var MenubarPortal = MenubarPrimitive.Portal;
|
3298
|
-
var MenubarSub = MenubarPrimitive.Sub;
|
3299
|
-
var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
|
3300
|
-
var Menubar = React51.forwardRef((_a, ref) => {
|
3301
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3302
|
-
return /* @__PURE__ */ jsx53(
|
3303
|
-
MenubarPrimitive.Root,
|
3304
|
-
__spreadValues({
|
3305
|
-
ref,
|
3306
|
-
className: cn(
|
3307
|
-
"flex h-10 items-center space-x-1 rounded-md border bg-background p-1",
|
3308
|
-
className
|
3309
|
-
)
|
3310
|
-
}, props)
|
3311
|
-
);
|
3312
|
-
});
|
3313
|
-
Menubar.displayName = MenubarPrimitive.Root.displayName;
|
3314
|
-
var MenubarTrigger = React51.forwardRef((_a, ref) => {
|
3315
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3316
|
-
return /* @__PURE__ */ jsx53(
|
3317
|
-
MenubarPrimitive.Trigger,
|
3318
|
-
__spreadValues({
|
3319
|
-
ref,
|
3320
|
-
className: cn(
|
3321
|
-
"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
3322
|
-
className
|
3323
|
-
)
|
3324
|
-
}, props)
|
3325
|
-
);
|
3326
|
-
});
|
3327
|
-
MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
|
3328
|
-
var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
|
3329
|
-
var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
|
3330
|
-
return /* @__PURE__ */ jsxs19(
|
3331
|
-
MenubarPrimitive.SubTrigger,
|
3332
|
-
__spreadProps(__spreadValues({
|
3333
|
-
ref,
|
3334
|
-
className: cn(
|
3335
|
-
"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
3336
|
-
inset && "pl-8",
|
3337
|
-
className
|
3338
|
-
)
|
3339
|
-
}, props), {
|
3340
|
-
children: [
|
3341
|
-
children,
|
3342
|
-
/* @__PURE__ */ jsx53(globalLucideIcons.ChevronRight, { className: "ml-auto h-4 w-4" })
|
3343
|
-
]
|
3344
|
-
})
|
3345
|
-
);
|
3346
|
-
});
|
3347
|
-
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
|
3348
|
-
var MenubarSubContent = React51.forwardRef((_a, ref) => {
|
3349
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3350
|
-
return /* @__PURE__ */ jsx53(
|
3351
|
-
MenubarPrimitive.SubContent,
|
3352
|
-
__spreadValues({
|
3353
|
-
ref,
|
3354
|
-
className: cn(
|
3355
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
3356
|
-
className
|
3357
|
-
)
|
3358
|
-
}, props)
|
3359
|
-
);
|
3360
|
-
});
|
3361
|
-
MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
|
3362
|
-
var MenubarContent = React51.forwardRef(
|
3363
|
-
(_a, ref) => {
|
3364
|
-
var _b = _a, { className, align = "start", alignOffset = -4, sideOffset = 8 } = _b, props = __objRest(_b, ["className", "align", "alignOffset", "sideOffset"]);
|
3365
|
-
return /* @__PURE__ */ jsx53(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx53(
|
3366
|
-
MenubarPrimitive.Content,
|
3367
|
-
__spreadValues({
|
3368
|
-
ref,
|
3369
|
-
align,
|
3370
|
-
alignOffset,
|
3371
|
-
sideOffset,
|
3372
|
-
className: cn(
|
3373
|
-
"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
3374
|
-
className
|
3375
|
-
)
|
3376
|
-
}, props)
|
3377
|
-
) });
|
3378
|
-
}
|
3379
|
-
);
|
3380
|
-
MenubarContent.displayName = MenubarPrimitive.Content.displayName;
|
3381
|
-
var MenubarItem = React51.forwardRef((_a, ref) => {
|
3382
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
3383
|
-
return /* @__PURE__ */ jsx53(
|
3384
|
-
MenubarPrimitive.Item,
|
3385
|
-
__spreadValues({
|
3386
|
-
ref,
|
3387
|
-
className: cn(
|
3388
|
-
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
3389
|
-
inset && "pl-8",
|
3390
|
-
className
|
3391
|
-
)
|
3392
|
-
}, props)
|
3393
|
-
);
|
3394
|
-
});
|
3395
|
-
MenubarItem.displayName = MenubarPrimitive.Item.displayName;
|
3396
|
-
var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
|
3397
|
-
var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
|
3398
|
-
return /* @__PURE__ */ jsxs19(
|
3399
|
-
MenubarPrimitive.CheckboxItem,
|
3400
|
-
__spreadProps(__spreadValues({
|
3401
|
-
ref,
|
3402
|
-
className: cn(
|
3403
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
3404
|
-
className
|
3405
|
-
),
|
3406
|
-
checked
|
3407
|
-
}, props), {
|
3408
|
-
children: [
|
3409
|
-
/* @__PURE__ */ jsx53("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx53(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx53(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
|
3410
|
-
children
|
3411
|
-
]
|
3412
|
-
})
|
3413
|
-
);
|
3414
|
-
});
|
3415
|
-
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
|
3416
|
-
var MenubarRadioItem = React51.forwardRef((_a, ref) => {
|
3417
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3418
|
-
return /* @__PURE__ */ jsxs19(
|
3419
|
-
MenubarPrimitive.RadioItem,
|
3420
|
-
__spreadProps(__spreadValues({
|
3421
|
-
ref,
|
3422
|
-
className: cn(
|
3423
|
-
"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
3424
|
-
className
|
3425
|
-
)
|
3426
|
-
}, props), {
|
3427
|
-
children: [
|
3428
|
-
/* @__PURE__ */ jsx53("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx53(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx53(globalLucideIcons.Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
3429
|
-
children
|
3430
|
-
]
|
3431
|
-
})
|
3432
|
-
);
|
3433
|
-
});
|
3434
|
-
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
|
3435
|
-
var MenubarLabel = React51.forwardRef((_a, ref) => {
|
3436
|
-
var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
|
3437
|
-
return /* @__PURE__ */ jsx53(
|
3438
|
-
MenubarPrimitive.Label,
|
3439
|
-
__spreadValues({
|
3440
|
-
ref,
|
3441
|
-
className: cn(
|
3442
|
-
"px-2 py-1.5 text-sm font-semibold",
|
3443
|
-
inset && "pl-8",
|
3444
|
-
className
|
3445
|
-
)
|
3446
|
-
}, props)
|
3447
|
-
);
|
3448
|
-
});
|
3449
|
-
MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
|
3450
|
-
var MenubarSeparator = React51.forwardRef((_a, ref) => {
|
3451
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3452
|
-
return /* @__PURE__ */ jsx53(
|
3453
|
-
MenubarPrimitive.Separator,
|
3454
|
-
__spreadValues({
|
3455
|
-
ref,
|
3456
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
3457
|
-
}, props)
|
3458
|
-
);
|
3459
|
-
});
|
3460
|
-
MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
|
3461
|
-
var MenubarShortcut = (_a) => {
|
3462
|
-
var _b = _a, {
|
3463
|
-
className
|
3464
|
-
} = _b, props = __objRest(_b, [
|
3465
|
-
"className"
|
3466
|
-
]);
|
3467
|
-
return /* @__PURE__ */ jsx53(
|
3468
|
-
"span",
|
3469
|
-
__spreadValues({
|
3470
|
-
className: cn(
|
3471
|
-
"ml-auto text-xs tracking-widest text-muted-foreground",
|
3472
|
-
className
|
3473
|
-
)
|
3474
|
-
}, props)
|
3475
|
-
);
|
3476
|
-
};
|
3477
|
-
MenubarShortcut.displayName = "MenubarShortcut";
|
3478
|
-
|
3479
|
-
// src/ui/navigation-menu.tsx
|
3480
|
-
import * as React52 from "react";
|
3481
|
-
import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
|
3482
|
-
import { cva as cva5 } from "class-variance-authority";
|
3483
|
-
import { jsx as jsx54, jsxs as jsxs20 } from "react/jsx-runtime";
|
3484
|
-
var NavigationMenu = React52.forwardRef((_a, ref) => {
|
3485
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3486
|
-
return /* @__PURE__ */ jsxs20(
|
3487
|
-
NavigationMenuPrimitive.Root,
|
3488
|
-
__spreadProps(__spreadValues({
|
3489
|
-
ref,
|
3490
|
-
className: cn(
|
3491
|
-
"relative z-10 flex max-w-max flex-1 items-center justify-center",
|
3492
|
-
className
|
3493
|
-
)
|
3494
|
-
}, props), {
|
3495
|
-
children: [
|
3496
|
-
children,
|
3497
|
-
/* @__PURE__ */ jsx54(NavigationMenuViewport, {})
|
3498
|
-
]
|
3499
|
-
})
|
3500
|
-
);
|
3501
|
-
});
|
3502
|
-
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
3503
|
-
var NavigationMenuList = React52.forwardRef((_a, ref) => {
|
3504
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3505
|
-
return /* @__PURE__ */ jsx54(
|
3506
|
-
NavigationMenuPrimitive.List,
|
3507
|
-
__spreadValues({
|
3508
|
-
ref,
|
3509
|
-
className: cn(
|
3510
|
-
"group flex flex-1 list-none items-center justify-center space-x-1",
|
3511
|
-
className
|
3512
|
-
)
|
3513
|
-
}, props)
|
3514
|
-
);
|
3515
|
-
});
|
3516
|
-
NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
|
3517
|
-
var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
3518
|
-
var navigationMenuTriggerStyle = cva5(
|
3519
|
-
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-active:bg-accent/50 data-[state=open]:bg-accent/50"
|
3520
|
-
);
|
3521
|
-
var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
|
3522
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3523
|
-
return /* @__PURE__ */ jsxs20(
|
3524
|
-
NavigationMenuPrimitive.Trigger,
|
3525
|
-
__spreadProps(__spreadValues({
|
3526
|
-
ref,
|
3527
|
-
className: cn(navigationMenuTriggerStyle(), "group", className)
|
3528
|
-
}, props), {
|
3529
|
-
children: [
|
3530
|
-
children,
|
3531
|
-
" ",
|
3532
|
-
/* @__PURE__ */ jsx54(
|
3533
|
-
globalLucideIcons.ChevronDown,
|
3534
|
-
{
|
3535
|
-
className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
|
3536
|
-
"aria-hidden": "true"
|
3537
|
-
}
|
3538
|
-
)
|
3539
|
-
]
|
3540
|
-
})
|
3541
|
-
);
|
3542
|
-
});
|
3543
|
-
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
3544
|
-
var NavigationMenuContent = React52.forwardRef((_a, ref) => {
|
3545
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3546
|
-
return /* @__PURE__ */ jsx54(
|
3547
|
-
NavigationMenuPrimitive.Content,
|
3548
|
-
__spreadValues({
|
3549
|
-
ref,
|
3550
|
-
className: cn(
|
3551
|
-
"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
|
3552
|
-
className
|
3553
|
-
)
|
3554
|
-
}, props)
|
3555
|
-
);
|
3556
|
-
});
|
3557
|
-
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
3558
|
-
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
3559
|
-
var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
|
3560
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3561
|
-
return /* @__PURE__ */ jsx54("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx54(
|
3562
|
-
NavigationMenuPrimitive.Viewport,
|
3563
|
-
__spreadValues({
|
3564
|
-
className: cn(
|
3565
|
-
"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
|
3566
|
-
className
|
3567
|
-
),
|
3568
|
-
ref
|
3569
|
-
}, props)
|
3570
|
-
) });
|
3571
|
-
});
|
3572
|
-
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
3573
|
-
var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
|
3574
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3575
|
-
return /* @__PURE__ */ jsx54(
|
3576
|
-
NavigationMenuPrimitive.Indicator,
|
3577
|
-
__spreadProps(__spreadValues({
|
3578
|
-
ref,
|
3579
|
-
className: cn(
|
3580
|
-
"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
|
3581
|
-
className
|
3582
|
-
)
|
3583
|
-
}, props), {
|
3584
|
-
children: /* @__PURE__ */ jsx54("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
|
3585
|
-
})
|
3586
|
-
);
|
3587
|
-
});
|
3588
|
-
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
3589
|
-
|
3590
|
-
// src/ui/pagination.tsx
|
3591
|
-
import * as React53 from "react";
|
3592
|
-
import { jsx as jsx55, jsxs as jsxs21 } from "react/jsx-runtime";
|
3593
|
-
var Pagination = (_a) => {
|
3594
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3595
|
-
return /* @__PURE__ */ jsx55(
|
3596
|
-
"nav",
|
3597
|
-
__spreadValues({
|
3598
|
-
role: "navigation",
|
3599
|
-
"aria-label": "pagination",
|
3600
|
-
className: cn("mx-auto flex w-full justify-center", className)
|
3601
|
-
}, props)
|
3602
|
-
);
|
3603
|
-
};
|
3604
|
-
Pagination.displayName = "Pagination";
|
3605
|
-
var PaginationContent = React53.forwardRef((_a, ref) => {
|
3606
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3607
|
-
return /* @__PURE__ */ jsx55(
|
3608
|
-
"ul",
|
3609
|
-
__spreadValues({
|
3610
|
-
ref,
|
3611
|
-
className: cn("flex flex-row items-center gap-1", className)
|
3612
|
-
}, props)
|
3613
|
-
);
|
3614
|
-
});
|
3615
|
-
PaginationContent.displayName = "PaginationContent";
|
3616
|
-
var PaginationItem = React53.forwardRef((_a, ref) => {
|
3617
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3618
|
-
return /* @__PURE__ */ jsx55("li", __spreadValues({ ref, className: cn("", className) }, props));
|
3619
|
-
});
|
3620
|
-
PaginationItem.displayName = "PaginationItem";
|
3621
|
-
var PaginationLink = (_a) => {
|
3622
|
-
var _b = _a, {
|
3623
|
-
className,
|
3624
|
-
isActive,
|
3625
|
-
size = "icon"
|
3626
|
-
} = _b, props = __objRest(_b, [
|
3627
|
-
"className",
|
3628
|
-
"isActive",
|
3629
|
-
"size"
|
3630
|
-
]);
|
3631
|
-
return /* @__PURE__ */ jsx55(
|
3632
|
-
"a",
|
3633
|
-
__spreadValues({
|
3634
|
-
"aria-current": isActive ? "page" : void 0,
|
3635
|
-
className: cn(
|
3636
|
-
buttonVariants({
|
3637
|
-
variant: isActive ? "outline" : "ghost",
|
3638
|
-
size
|
3639
|
-
}),
|
3640
|
-
className
|
3641
|
-
)
|
3642
|
-
}, props)
|
3643
|
-
);
|
3644
|
-
};
|
3645
|
-
PaginationLink.displayName = "PaginationLink";
|
3646
|
-
var PaginationPrevious = (_a) => {
|
3647
|
-
var _b = _a, {
|
3648
|
-
className
|
3649
|
-
} = _b, props = __objRest(_b, [
|
3650
|
-
"className"
|
3651
|
-
]);
|
3652
|
-
return /* @__PURE__ */ jsxs21(
|
3653
|
-
PaginationLink,
|
3654
|
-
__spreadProps(__spreadValues({
|
3655
|
-
"aria-label": "Go to previous page",
|
3656
|
-
size: "default",
|
3657
|
-
className: cn("gap-1 pl-2.5", className)
|
3658
|
-
}, props), {
|
3659
|
-
children: [
|
3660
|
-
/* @__PURE__ */ jsx55(globalLucideIcons.ChevronLeft, { className: "h-4 w-4" }),
|
3661
|
-
/* @__PURE__ */ jsx55("span", { children: "Previous" })
|
3662
|
-
]
|
3663
|
-
})
|
3664
|
-
);
|
3665
|
-
};
|
3666
|
-
PaginationPrevious.displayName = "PaginationPrevious";
|
3667
|
-
var PaginationNext = (_a) => {
|
3668
|
-
var _b = _a, {
|
3669
|
-
className
|
3670
|
-
} = _b, props = __objRest(_b, [
|
3671
|
-
"className"
|
3672
|
-
]);
|
3673
|
-
return /* @__PURE__ */ jsxs21(
|
3674
|
-
PaginationLink,
|
3675
|
-
__spreadProps(__spreadValues({
|
3676
|
-
"aria-label": "Go to next page",
|
3677
|
-
size: "default",
|
3678
|
-
className: cn("gap-1 pr-2.5", className)
|
3679
|
-
}, props), {
|
3680
|
-
children: [
|
3681
|
-
/* @__PURE__ */ jsx55("span", { children: "Next" }),
|
3682
|
-
/* @__PURE__ */ jsx55(globalLucideIcons.ChevronRight, { className: "h-4 w-4" })
|
3683
|
-
]
|
3684
|
-
})
|
3685
|
-
);
|
3686
|
-
};
|
3687
|
-
PaginationNext.displayName = "PaginationNext";
|
3688
|
-
var PaginationEllipsis = (_a) => {
|
3689
|
-
var _b = _a, {
|
3690
|
-
className
|
3691
|
-
} = _b, props = __objRest(_b, [
|
3692
|
-
"className"
|
3693
|
-
]);
|
3694
|
-
return /* @__PURE__ */ jsxs21(
|
3695
|
-
"span",
|
3696
|
-
__spreadProps(__spreadValues({
|
3697
|
-
"aria-hidden": true,
|
3698
|
-
className: cn("flex h-9 w-9 items-center justify-center", className)
|
3699
|
-
}, props), {
|
3700
|
-
children: [
|
3701
|
-
/* @__PURE__ */ jsx55(globalLucideIcons.MoreHorizontal, { className: "h-4 w-4" }),
|
3702
|
-
/* @__PURE__ */ jsx55("span", { className: "sr-only", children: "More pages" })
|
3703
|
-
]
|
3704
|
-
})
|
3705
|
-
);
|
3706
|
-
};
|
3707
|
-
PaginationEllipsis.displayName = "PaginationEllipsis";
|
3708
|
-
|
3709
|
-
// src/ui/popover.tsx
|
3710
|
-
import * as React54 from "react";
|
3711
|
-
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
3712
|
-
import { jsx as jsx56 } from "react/jsx-runtime";
|
3713
|
-
var Popover = PopoverPrimitive.Root;
|
3714
|
-
var PopoverTrigger = PopoverPrimitive.Trigger;
|
3715
|
-
var PopoverContent = React54.forwardRef((_a, ref) => {
|
3716
|
-
var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
|
3717
|
-
return /* @__PURE__ */ jsx56(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx56(
|
3718
|
-
PopoverPrimitive.Content,
|
3719
|
-
__spreadValues({
|
3720
|
-
ref,
|
3721
|
-
align,
|
3722
|
-
sideOffset,
|
3723
|
-
className: cn(
|
3724
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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",
|
3725
|
-
className
|
3726
|
-
)
|
3727
|
-
}, props)
|
3728
|
-
) });
|
3729
|
-
});
|
3730
|
-
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
3731
|
-
|
3732
|
-
// src/ui/progress.tsx
|
3733
|
-
import * as React55 from "react";
|
3734
|
-
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
3735
|
-
import { jsx as jsx57 } from "react/jsx-runtime";
|
3736
|
-
var Progress = React55.forwardRef((_a, ref) => {
|
3737
|
-
var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
|
3738
|
-
return /* @__PURE__ */ jsx57(
|
3739
|
-
ProgressPrimitive.Root,
|
3740
|
-
__spreadProps(__spreadValues({
|
3741
|
-
ref,
|
3742
|
-
className: cn(
|
3743
|
-
"relative h-4 w-full overflow-hidden rounded-full bg-secondary",
|
3744
|
-
className
|
3745
|
-
)
|
3746
|
-
}, props), {
|
3747
|
-
children: /* @__PURE__ */ jsx57(
|
3748
|
-
ProgressPrimitive.Indicator,
|
3749
|
-
{
|
3750
|
-
className: "h-full w-full flex-1 bg-primary transition-all",
|
3751
|
-
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
3752
|
-
}
|
3753
|
-
)
|
3754
|
-
})
|
3755
|
-
);
|
3756
|
-
});
|
3757
|
-
Progress.displayName = ProgressPrimitive.Root.displayName;
|
3758
|
-
|
3759
|
-
// src/ui/radio-group.tsx
|
3760
|
-
import * as React56 from "react";
|
3761
|
-
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
3762
|
-
import { jsx as jsx58 } from "react/jsx-runtime";
|
3763
|
-
var RadioGroup4 = React56.forwardRef((_a, ref) => {
|
3764
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3765
|
-
return /* @__PURE__ */ jsx58(
|
3766
|
-
RadioGroupPrimitive.Root,
|
3767
|
-
__spreadProps(__spreadValues({
|
3768
|
-
className: cn("grid gap-2", className)
|
3769
|
-
}, props), {
|
3770
|
-
ref
|
3771
|
-
})
|
3772
|
-
);
|
3773
|
-
});
|
3774
|
-
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
3775
|
-
var RadioGroupItem = React56.forwardRef((_a, ref) => {
|
3776
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3777
|
-
return /* @__PURE__ */ jsx58(
|
3778
|
-
RadioGroupPrimitive.Item,
|
3779
|
-
__spreadProps(__spreadValues({
|
3780
|
-
ref,
|
3781
|
-
className: cn(
|
3782
|
-
"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
3783
|
-
className
|
3784
|
-
)
|
3785
|
-
}, props), {
|
3786
|
-
children: /* @__PURE__ */ jsx58(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx58(globalLucideIcons.Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
|
3787
|
-
})
|
3788
|
-
);
|
3789
|
-
});
|
3790
|
-
RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
|
3791
|
-
|
3792
|
-
// src/ui/resizable.tsx
|
3793
|
-
import * as ResizablePrimitive from "react-resizable-panels";
|
3794
|
-
import { jsx as jsx59 } from "react/jsx-runtime";
|
3795
|
-
var ResizablePanelGroup = (_a) => {
|
3796
|
-
var _b = _a, {
|
3797
|
-
className
|
3798
|
-
} = _b, props = __objRest(_b, [
|
3799
|
-
"className"
|
3800
|
-
]);
|
3801
|
-
return /* @__PURE__ */ jsx59(
|
3802
|
-
ResizablePrimitive.PanelGroup,
|
3803
|
-
__spreadValues({
|
3804
|
-
className: cn(
|
3805
|
-
"flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
|
3806
|
-
className
|
3807
|
-
)
|
3808
|
-
}, props)
|
3809
|
-
);
|
3810
|
-
};
|
3811
|
-
var ResizablePanel = ResizablePrimitive.Panel;
|
3812
|
-
var ResizableHandle = (_a) => {
|
3813
|
-
var _b = _a, {
|
3814
|
-
withHandle,
|
3815
|
-
className
|
3816
|
-
} = _b, props = __objRest(_b, [
|
3817
|
-
"withHandle",
|
3818
|
-
"className"
|
3819
|
-
]);
|
3820
|
-
return /* @__PURE__ */ jsx59(
|
3821
|
-
ResizablePrimitive.PanelResizeHandle,
|
3822
|
-
__spreadProps(__spreadValues({
|
3823
|
-
className: cn(
|
3824
|
-
"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
|
3825
|
-
className
|
3826
|
-
)
|
3827
|
-
}, props), {
|
3828
|
-
children: withHandle && /* @__PURE__ */ jsx59("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx59(globalLucideIcons.GripVertical, { className: "h-2.5 w-2.5" }) })
|
3829
|
-
})
|
3830
|
-
);
|
3831
|
-
};
|
3832
|
-
|
3833
|
-
// src/ui/scroll-area.tsx
|
3834
|
-
import * as React57 from "react";
|
3835
|
-
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
3836
|
-
import { jsx as jsx60, jsxs as jsxs22 } from "react/jsx-runtime";
|
3837
|
-
var ScrollArea = React57.forwardRef((_a, ref) => {
|
3838
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3839
|
-
return /* @__PURE__ */ jsxs22(
|
3840
|
-
ScrollAreaPrimitive.Root,
|
3841
|
-
__spreadProps(__spreadValues({
|
3842
|
-
ref,
|
3843
|
-
className: cn("relative overflow-hidden", className)
|
3844
|
-
}, props), {
|
3845
|
-
children: [
|
3846
|
-
/* @__PURE__ */ jsx60(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
|
3847
|
-
/* @__PURE__ */ jsx60(ScrollBar, {}),
|
3848
|
-
/* @__PURE__ */ jsx60(ScrollAreaPrimitive.Corner, {})
|
3849
|
-
]
|
3850
|
-
})
|
3851
|
-
);
|
3852
|
-
});
|
3853
|
-
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
|
3854
|
-
var ScrollBar = React57.forwardRef((_a, ref) => {
|
3855
|
-
var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
|
3856
|
-
return /* @__PURE__ */ jsx60(
|
3857
|
-
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
3858
|
-
__spreadProps(__spreadValues({
|
3859
|
-
ref,
|
3860
|
-
orientation,
|
3861
|
-
className: cn(
|
3862
|
-
"flex touch-none select-none transition-colors",
|
3863
|
-
orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
|
3864
|
-
orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
|
3865
|
-
className
|
3866
|
-
)
|
3867
|
-
}, props), {
|
3868
|
-
children: /* @__PURE__ */ jsx60(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
|
3869
|
-
})
|
3870
|
-
);
|
3871
|
-
});
|
3872
|
-
ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
|
3873
|
-
|
3874
|
-
// src/ui/select.tsx
|
3875
|
-
import * as React58 from "react";
|
3876
|
-
import * as SelectPrimitive from "@radix-ui/react-select";
|
3877
|
-
import { jsx as jsx61, jsxs as jsxs23 } from "react/jsx-runtime";
|
3878
|
-
var Select = SelectPrimitive.Root;
|
3879
|
-
var SelectGroup = SelectPrimitive.Group;
|
3880
|
-
var SelectValue = SelectPrimitive.Value;
|
3881
|
-
var SelectTrigger = React58.forwardRef((_a, ref) => {
|
3882
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3883
|
-
return /* @__PURE__ */ jsxs23(
|
3884
|
-
SelectPrimitive.Trigger,
|
3885
|
-
__spreadProps(__spreadValues({
|
3886
|
-
ref,
|
3887
|
-
className: cn(
|
3888
|
-
"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
3889
|
-
className
|
3890
|
-
)
|
3891
|
-
}, props), {
|
3892
|
-
children: [
|
3893
|
-
children,
|
3894
|
-
/* @__PURE__ */ jsx61(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx61(globalLucideIcons.ChevronDown, { className: "h-4 w-4 opacity-50" }) })
|
3895
|
-
]
|
3896
|
-
})
|
3897
|
-
);
|
3898
|
-
});
|
3899
|
-
SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
|
3900
|
-
var SelectScrollUpButton = React58.forwardRef((_a, ref) => {
|
3901
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3902
|
-
return /* @__PURE__ */ jsx61(
|
3903
|
-
SelectPrimitive.ScrollUpButton,
|
3904
|
-
__spreadProps(__spreadValues({
|
3905
|
-
ref,
|
3906
|
-
className: cn(
|
3907
|
-
"flex cursor-default items-center justify-center py-1",
|
3908
|
-
className
|
3909
|
-
)
|
3910
|
-
}, props), {
|
3911
|
-
children: /* @__PURE__ */ jsx61(globalLucideIcons.ChevronUp, { className: "h-4 w-4" })
|
3912
|
-
})
|
3913
|
-
);
|
3914
|
-
});
|
3915
|
-
SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
|
3916
|
-
var SelectScrollDownButton = React58.forwardRef((_a, ref) => {
|
3917
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3918
|
-
return /* @__PURE__ */ jsx61(
|
3919
|
-
SelectPrimitive.ScrollDownButton,
|
3920
|
-
__spreadProps(__spreadValues({
|
3921
|
-
ref,
|
3922
|
-
className: cn(
|
3923
|
-
"flex cursor-default items-center justify-center py-1",
|
3924
|
-
className
|
3925
|
-
)
|
3926
|
-
}, props), {
|
3927
|
-
children: /* @__PURE__ */ jsx61(globalLucideIcons.ChevronDown, { className: "h-4 w-4" })
|
3928
|
-
})
|
3929
|
-
);
|
3930
|
-
});
|
3931
|
-
SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
|
3932
|
-
var SelectContent = React58.forwardRef((_a, ref) => {
|
3933
|
-
var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
|
3934
|
-
return /* @__PURE__ */ jsx61(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs23(
|
3935
|
-
SelectPrimitive.Content,
|
3936
|
-
__spreadProps(__spreadValues({
|
3937
|
-
ref,
|
3938
|
-
className: cn(
|
3939
|
-
"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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",
|
3940
|
-
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
3941
|
-
className
|
3942
|
-
),
|
3943
|
-
position
|
3944
|
-
}, props), {
|
3945
|
-
children: [
|
3946
|
-
/* @__PURE__ */ jsx61(SelectScrollUpButton, {}),
|
3947
|
-
/* @__PURE__ */ jsx61(
|
3948
|
-
SelectPrimitive.Viewport,
|
3949
|
-
{
|
3950
|
-
className: cn(
|
3951
|
-
"p-1",
|
3952
|
-
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
3953
|
-
),
|
3954
|
-
children
|
3955
|
-
}
|
3956
|
-
),
|
3957
|
-
/* @__PURE__ */ jsx61(SelectScrollDownButton, {})
|
3958
|
-
]
|
3959
|
-
})
|
3960
|
-
) });
|
3961
|
-
});
|
3962
|
-
SelectContent.displayName = SelectPrimitive.Content.displayName;
|
3963
|
-
var SelectLabel = React58.forwardRef((_a, ref) => {
|
3964
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3965
|
-
return /* @__PURE__ */ jsx61(
|
3966
|
-
SelectPrimitive.Label,
|
3967
|
-
__spreadValues({
|
3968
|
-
ref,
|
3969
|
-
className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className)
|
3970
|
-
}, props)
|
3971
|
-
);
|
3972
|
-
});
|
3973
|
-
SelectLabel.displayName = SelectPrimitive.Label.displayName;
|
3974
|
-
var SelectItem = React58.forwardRef((_a, ref) => {
|
3975
|
-
var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
|
3976
|
-
return /* @__PURE__ */ jsxs23(
|
3977
|
-
SelectPrimitive.Item,
|
3978
|
-
__spreadProps(__spreadValues({
|
3979
|
-
ref,
|
3980
|
-
className: cn(
|
3981
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
|
3982
|
-
className
|
3983
|
-
)
|
3984
|
-
}, props), {
|
3985
|
-
children: [
|
3986
|
-
/* @__PURE__ */ jsx61("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx61(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx61(globalLucideIcons.Check, { className: "h-4 w-4" }) }) }),
|
3987
|
-
/* @__PURE__ */ jsx61(SelectPrimitive.ItemText, { children })
|
3988
|
-
]
|
3989
|
-
})
|
3990
|
-
);
|
3991
|
-
});
|
3992
|
-
SelectItem.displayName = SelectPrimitive.Item.displayName;
|
3993
|
-
var SelectSeparator = React58.forwardRef((_a, ref) => {
|
3994
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
3995
|
-
return /* @__PURE__ */ jsx61(
|
3996
|
-
SelectPrimitive.Separator,
|
3997
|
-
__spreadValues({
|
3998
|
-
ref,
|
3999
|
-
className: cn("-mx-1 my-1 h-px bg-muted", className)
|
4000
|
-
}, props)
|
4001
|
-
);
|
4002
|
-
});
|
4003
|
-
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
4004
|
-
|
4005
|
-
// src/ui/separator.tsx
|
4006
|
-
import * as React59 from "react";
|
4007
|
-
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
4008
|
-
import { jsx as jsx62 } from "react/jsx-runtime";
|
4009
|
-
var Separator5 = React59.forwardRef(
|
4010
|
-
(_a, ref) => {
|
4011
|
-
var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
|
4012
|
-
return /* @__PURE__ */ jsx62(
|
4013
|
-
SeparatorPrimitive.Root,
|
4014
|
-
__spreadValues({
|
4015
|
-
ref,
|
4016
|
-
decorative,
|
4017
|
-
orientation,
|
4018
|
-
className: cn(
|
4019
|
-
"shrink-0 bg-border",
|
4020
|
-
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
4021
|
-
className
|
4022
|
-
)
|
4023
|
-
}, props)
|
4024
|
-
);
|
4025
|
-
}
|
4026
|
-
);
|
4027
|
-
Separator5.displayName = SeparatorPrimitive.Root.displayName;
|
4028
|
-
|
4029
|
-
// src/ui/sheet.tsx
|
4030
|
-
import * as React60 from "react";
|
4031
|
-
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
4032
|
-
import { cva as cva6 } from "class-variance-authority";
|
4033
|
-
import { jsx as jsx63, jsxs as jsxs24 } from "react/jsx-runtime";
|
4034
|
-
var Sheet = SheetPrimitive.Root;
|
4035
|
-
var SheetTrigger = SheetPrimitive.Trigger;
|
4036
|
-
var SheetClose = SheetPrimitive.Close;
|
4037
|
-
var SheetPortal = SheetPrimitive.Portal;
|
4038
|
-
var SheetOverlay = React60.forwardRef((_a, ref) => {
|
4039
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4040
|
-
return /* @__PURE__ */ jsx63(
|
4041
|
-
SheetPrimitive.Overlay,
|
4042
|
-
__spreadProps(__spreadValues({
|
4043
|
-
className: cn(
|
4044
|
-
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
4045
|
-
className
|
4046
|
-
)
|
4047
|
-
}, props), {
|
4048
|
-
ref
|
4049
|
-
})
|
4050
|
-
);
|
4051
|
-
});
|
4052
|
-
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
|
4053
|
-
var sheetVariants = cva6(
|
4054
|
-
"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
|
4055
|
-
{
|
4056
|
-
variants: {
|
4057
|
-
side: {
|
4058
|
-
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
4059
|
-
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
4060
|
-
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
4061
|
-
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
4062
|
-
}
|
4063
|
-
},
|
4064
|
-
defaultVariants: {
|
4065
|
-
side: "right"
|
4066
|
-
}
|
4067
|
-
}
|
4068
|
-
);
|
4069
|
-
var SheetContent = React60.forwardRef((_a, ref) => {
|
4070
|
-
var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
|
4071
|
-
return /* @__PURE__ */ jsxs24(SheetPortal, { children: [
|
4072
|
-
/* @__PURE__ */ jsx63(SheetOverlay, {}),
|
4073
|
-
/* @__PURE__ */ jsxs24(
|
4074
|
-
SheetPrimitive.Content,
|
4075
|
-
__spreadProps(__spreadValues({
|
4076
|
-
ref,
|
4077
|
-
className: cn(sheetVariants({ side }), className)
|
4078
|
-
}, props), {
|
4079
|
-
children: [
|
4080
|
-
children,
|
4081
|
-
/* @__PURE__ */ jsxs24(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
4082
|
-
/* @__PURE__ */ jsx63(globalLucideIcons.X, { className: "h-4 w-4" }),
|
4083
|
-
/* @__PURE__ */ jsx63("span", { className: "sr-only", children: "Close" })
|
4084
|
-
] })
|
4085
|
-
]
|
4086
|
-
})
|
4087
|
-
)
|
4088
|
-
] });
|
4089
|
-
});
|
4090
|
-
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
4091
|
-
var SheetHeader = (_a) => {
|
4092
|
-
var _b = _a, {
|
4093
|
-
className
|
4094
|
-
} = _b, props = __objRest(_b, [
|
4095
|
-
"className"
|
4096
|
-
]);
|
4097
|
-
return /* @__PURE__ */ jsx63(
|
4098
|
-
"div",
|
4099
|
-
__spreadValues({
|
4100
|
-
className: cn(
|
4101
|
-
"flex flex-col space-y-2 text-center sm:text-left",
|
4102
|
-
className
|
4103
|
-
)
|
4104
|
-
}, props)
|
4105
|
-
);
|
4106
|
-
};
|
4107
|
-
SheetHeader.displayName = "SheetHeader";
|
4108
|
-
var SheetFooter = (_a) => {
|
4109
|
-
var _b = _a, {
|
4110
|
-
className
|
4111
|
-
} = _b, props = __objRest(_b, [
|
4112
|
-
"className"
|
4113
|
-
]);
|
4114
|
-
return /* @__PURE__ */ jsx63(
|
4115
|
-
"div",
|
4116
|
-
__spreadValues({
|
4117
|
-
className: cn(
|
4118
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
|
4119
|
-
className
|
4120
|
-
)
|
4121
|
-
}, props)
|
4122
|
-
);
|
4123
|
-
};
|
4124
|
-
SheetFooter.displayName = "SheetFooter";
|
4125
|
-
var SheetTitle = React60.forwardRef((_a, ref) => {
|
4126
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4127
|
-
return /* @__PURE__ */ jsx63(
|
4128
|
-
SheetPrimitive.Title,
|
4129
|
-
__spreadValues({
|
4130
|
-
ref,
|
4131
|
-
className: cn("text-lg font-semibold text-foreground", className)
|
4132
|
-
}, props)
|
4133
|
-
);
|
4134
|
-
});
|
4135
|
-
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
4136
|
-
var SheetDescription = React60.forwardRef((_a, ref) => {
|
4137
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4138
|
-
return /* @__PURE__ */ jsx63(
|
4139
|
-
SheetPrimitive.Description,
|
4140
|
-
__spreadValues({
|
4141
|
-
ref,
|
4142
|
-
className: cn("text-sm text-muted-foreground", className)
|
4143
|
-
}, props)
|
4144
|
-
);
|
4145
|
-
});
|
4146
|
-
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
4147
|
-
|
4148
|
-
// src/ui/sidebar.tsx
|
4149
|
-
import * as React63 from "react";
|
4150
|
-
import { Slot as Slot4 } from "@radix-ui/react-slot";
|
4151
|
-
import { cva as cva7 } from "class-variance-authority";
|
4152
|
-
|
4153
|
-
// src/ui/use-mobile.tsx
|
4154
|
-
import * as React61 from "react";
|
4155
|
-
var MOBILE_BREAKPOINT = 768;
|
4156
|
-
function useIsMobile() {
|
4157
|
-
const [isMobile, setIsMobile] = React61.useState(void 0);
|
4158
|
-
React61.useEffect(() => {
|
4159
|
-
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
4160
|
-
const onChange = () => {
|
4161
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
4162
|
-
};
|
4163
|
-
mql.addEventListener("change", onChange);
|
4164
|
-
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
4165
|
-
return () => mql.removeEventListener("change", onChange);
|
4166
|
-
}, []);
|
4167
|
-
return !!isMobile;
|
4168
|
-
}
|
4169
|
-
|
4170
|
-
// src/ui/skeleton.tsx
|
4171
|
-
import { jsx as jsx64 } from "react/jsx-runtime";
|
4172
|
-
function Skeleton(_a) {
|
4173
|
-
var _b = _a, {
|
4174
|
-
className
|
4175
|
-
} = _b, props = __objRest(_b, [
|
4176
|
-
"className"
|
4177
|
-
]);
|
4178
|
-
return /* @__PURE__ */ jsx64(
|
4179
|
-
"div",
|
4180
|
-
__spreadValues({
|
4181
|
-
className: cn("animate-pulse rounded-md bg-muted", className)
|
4182
|
-
}, props)
|
4183
|
-
);
|
4184
|
-
}
|
4185
|
-
|
4186
|
-
// src/ui/tooltip.tsx
|
4187
|
-
import * as React62 from "react";
|
4188
|
-
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
4189
|
-
import { jsx as jsx65 } from "react/jsx-runtime";
|
4190
|
-
var TooltipProvider = TooltipPrimitive.Provider;
|
4191
|
-
var Tooltip2 = TooltipPrimitive.Root;
|
4192
|
-
var TooltipTrigger = TooltipPrimitive.Trigger;
|
4193
|
-
var TooltipContent = React62.forwardRef((_a, ref) => {
|
4194
|
-
var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
|
4195
|
-
return /* @__PURE__ */ jsx65(
|
4196
|
-
TooltipPrimitive.Content,
|
4197
|
-
__spreadValues({
|
4198
|
-
ref,
|
4199
|
-
sideOffset,
|
4200
|
-
className: cn(
|
4201
|
-
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm 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",
|
4202
|
-
className
|
4203
|
-
)
|
4204
|
-
}, props)
|
4205
|
-
);
|
4206
|
-
});
|
4207
|
-
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
4208
|
-
|
4209
|
-
// src/ui/sidebar.tsx
|
4210
|
-
import { jsx as jsx66, jsxs as jsxs25 } from "react/jsx-runtime";
|
4211
|
-
var SIDEBAR_COOKIE_NAME = "sidebar:state";
|
4212
|
-
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
4213
|
-
var SIDEBAR_WIDTH = "16rem";
|
4214
|
-
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
4215
|
-
var SIDEBAR_WIDTH_ICON = "3rem";
|
4216
|
-
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
4217
|
-
var SidebarContext = React63.createContext(null);
|
4218
|
-
function useSidebar() {
|
4219
|
-
const context = React63.useContext(SidebarContext);
|
4220
|
-
if (!context) {
|
4221
|
-
throw new Error("useSidebar must be used within a SidebarProvider.");
|
4222
|
-
}
|
4223
|
-
return context;
|
4224
|
-
}
|
4225
|
-
var SidebarProvider = React63.forwardRef(
|
4226
|
-
(_a, ref) => {
|
4227
|
-
var _b = _a, {
|
4228
|
-
defaultOpen = true,
|
4229
|
-
open: openProp,
|
4230
|
-
onOpenChange: setOpenProp,
|
4231
|
-
className,
|
4232
|
-
style,
|
4233
|
-
children
|
4234
|
-
} = _b, props = __objRest(_b, [
|
4235
|
-
"defaultOpen",
|
4236
|
-
"open",
|
4237
|
-
"onOpenChange",
|
4238
|
-
"className",
|
4239
|
-
"style",
|
4240
|
-
"children"
|
4241
|
-
]);
|
4242
|
-
const isMobile = useIsMobile();
|
4243
|
-
const [openMobile, setOpenMobile] = React63.useState(false);
|
4244
|
-
const [_open, _setOpen] = React63.useState(defaultOpen);
|
4245
|
-
const open = openProp != null ? openProp : _open;
|
4246
|
-
const setOpen = React63.useCallback(
|
4247
|
-
(value) => {
|
4248
|
-
const openState = typeof value === "function" ? value(open) : value;
|
4249
|
-
if (setOpenProp) {
|
4250
|
-
setOpenProp(openState);
|
4251
|
-
} else {
|
4252
|
-
_setOpen(openState);
|
4253
|
-
}
|
4254
|
-
document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
|
4255
|
-
},
|
4256
|
-
[setOpenProp, open]
|
4257
|
-
);
|
4258
|
-
const toggleSidebar = React63.useCallback(() => {
|
4259
|
-
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
4260
|
-
}, [isMobile, setOpen, setOpenMobile]);
|
4261
|
-
React63.useEffect(() => {
|
4262
|
-
const handleKeyDown = (event) => {
|
4263
|
-
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
4264
|
-
event.preventDefault();
|
4265
|
-
toggleSidebar();
|
4266
|
-
}
|
4267
|
-
};
|
4268
|
-
window.addEventListener("keydown", handleKeyDown);
|
4269
|
-
return () => window.removeEventListener("keydown", handleKeyDown);
|
4270
|
-
}, [toggleSidebar]);
|
4271
|
-
const state = open ? "expanded" : "collapsed";
|
4272
|
-
const contextValue = React63.useMemo(
|
4273
|
-
() => ({
|
4274
|
-
state,
|
4275
|
-
open,
|
4276
|
-
setOpen,
|
4277
|
-
isMobile,
|
4278
|
-
openMobile,
|
4279
|
-
setOpenMobile,
|
4280
|
-
toggleSidebar
|
4281
|
-
}),
|
4282
|
-
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
4283
|
-
);
|
4284
|
-
return /* @__PURE__ */ jsx66(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx66(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx66(
|
4285
|
-
"div",
|
4286
|
-
__spreadProps(__spreadValues({
|
4287
|
-
style: __spreadValues({
|
4288
|
-
"--sidebar-width": SIDEBAR_WIDTH,
|
4289
|
-
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON
|
4290
|
-
}, style),
|
4291
|
-
className: cn(
|
4292
|
-
"group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",
|
4293
|
-
className
|
4294
|
-
),
|
4295
|
-
ref
|
4296
|
-
}, props), {
|
4297
|
-
children
|
4298
|
-
})
|
4299
|
-
) }) });
|
4300
|
-
}
|
4301
|
-
);
|
4302
|
-
SidebarProvider.displayName = "SidebarProvider";
|
4303
|
-
var Sidebar = React63.forwardRef(
|
4304
|
-
(_a, ref) => {
|
4305
|
-
var _b = _a, {
|
4306
|
-
side = "left",
|
4307
|
-
variant = "sidebar",
|
4308
|
-
collapsible = "offcanvas",
|
4309
|
-
className,
|
4310
|
-
children
|
4311
|
-
} = _b, props = __objRest(_b, [
|
4312
|
-
"side",
|
4313
|
-
"variant",
|
4314
|
-
"collapsible",
|
4315
|
-
"className",
|
4316
|
-
"children"
|
4317
|
-
]);
|
4318
|
-
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
4319
|
-
if (collapsible === "none") {
|
4320
|
-
return /* @__PURE__ */ jsx66(
|
4321
|
-
"div",
|
4322
|
-
__spreadProps(__spreadValues({
|
4323
|
-
className: cn(
|
4324
|
-
"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",
|
4325
|
-
className
|
4326
|
-
),
|
4327
|
-
ref
|
4328
|
-
}, props), {
|
4329
|
-
children
|
4330
|
-
})
|
4331
|
-
);
|
4332
|
-
}
|
4333
|
-
if (isMobile) {
|
4334
|
-
return /* @__PURE__ */ jsx66(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsx66(
|
4335
|
-
SheetContent,
|
4336
|
-
{
|
4337
|
-
"data-sidebar": "sidebar",
|
4338
|
-
"data-mobile": "true",
|
4339
|
-
className: "w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",
|
4340
|
-
style: {
|
4341
|
-
"--sidebar-width": SIDEBAR_WIDTH_MOBILE
|
4342
|
-
},
|
4343
|
-
side,
|
4344
|
-
children: /* @__PURE__ */ jsx66("div", { className: "flex h-full w-full flex-col", children })
|
4345
|
-
}
|
4346
|
-
) }));
|
4347
|
-
}
|
4348
|
-
return /* @__PURE__ */ jsxs25(
|
4349
|
-
"div",
|
4350
|
-
{
|
4351
|
-
ref,
|
4352
|
-
className: "group peer hidden md:block text-sidebar-foreground",
|
4353
|
-
"data-state": state,
|
4354
|
-
"data-collapsible": state === "collapsed" ? collapsible : "",
|
4355
|
-
"data-variant": variant,
|
4356
|
-
"data-side": side,
|
4357
|
-
children: [
|
4358
|
-
/* @__PURE__ */ jsx66(
|
4359
|
-
"div",
|
4360
|
-
{
|
4361
|
-
className: cn(
|
4362
|
-
"duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] ease-linear",
|
4363
|
-
"group-data-[collapsible=offcanvas]:w-0",
|
4364
|
-
"group-data-[side=right]:rotate-180",
|
4365
|
-
variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)"
|
4366
|
-
)
|
4367
|
-
}
|
4368
|
-
),
|
4369
|
-
/* @__PURE__ */ jsx66(
|
4370
|
-
"div",
|
4371
|
-
__spreadProps(__spreadValues({
|
4372
|
-
className: cn(
|
4373
|
-
"duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] ease-linear md:flex",
|
4374
|
-
side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
|
4375
|
-
// Adjust the padding for floating and inset variants.
|
4376
|
-
variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
|
4377
|
-
className
|
4378
|
-
)
|
4379
|
-
}, props), {
|
4380
|
-
children: /* @__PURE__ */ jsx66(
|
4381
|
-
"div",
|
4382
|
-
{
|
4383
|
-
"data-sidebar": "sidebar",
|
4384
|
-
className: "flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",
|
4385
|
-
children
|
4386
|
-
}
|
4387
|
-
)
|
4388
|
-
})
|
4389
|
-
)
|
4390
|
-
]
|
4391
|
-
}
|
4392
|
-
);
|
4393
|
-
}
|
4394
|
-
);
|
4395
|
-
Sidebar.displayName = "Sidebar";
|
4396
|
-
var SidebarTrigger = React63.forwardRef((_a, ref) => {
|
4397
|
-
var _b = _a, { className, onClick } = _b, props = __objRest(_b, ["className", "onClick"]);
|
4398
|
-
const { toggleSidebar } = useSidebar();
|
4399
|
-
return /* @__PURE__ */ jsxs25(
|
4400
|
-
Button,
|
4401
|
-
__spreadProps(__spreadValues({
|
4402
|
-
ref,
|
4403
|
-
"data-sidebar": "trigger",
|
4404
|
-
variant: "ghost",
|
4405
|
-
size: "icon",
|
4406
|
-
className: cn("h-7 w-7", className),
|
4407
|
-
onClick: (event) => {
|
4408
|
-
onClick == null ? void 0 : onClick(event);
|
4409
|
-
toggleSidebar();
|
4410
|
-
}
|
4411
|
-
}, props), {
|
4412
|
-
children: [
|
4413
|
-
/* @__PURE__ */ jsx66(globalLucideIcons.PanelLeft, {}),
|
4414
|
-
/* @__PURE__ */ jsx66("span", { className: "sr-only", children: "Toggle Sidebar" })
|
4415
|
-
]
|
4416
|
-
})
|
4417
|
-
);
|
4418
|
-
});
|
4419
|
-
SidebarTrigger.displayName = "SidebarTrigger";
|
4420
|
-
var SidebarRail = React63.forwardRef((_a, ref) => {
|
4421
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4422
|
-
const { toggleSidebar } = useSidebar();
|
4423
|
-
return /* @__PURE__ */ jsx66(
|
4424
|
-
"button",
|
4425
|
-
__spreadValues({
|
4426
|
-
ref,
|
4427
|
-
"data-sidebar": "rail",
|
4428
|
-
"aria-label": "Toggle Sidebar",
|
4429
|
-
tabIndex: -1,
|
4430
|
-
onClick: toggleSidebar,
|
4431
|
-
title: "Toggle Sidebar",
|
4432
|
-
className: cn(
|
4433
|
-
"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex",
|
4434
|
-
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
|
4435
|
-
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
4436
|
-
"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar",
|
4437
|
-
"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
|
4438
|
-
"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
|
4439
|
-
className
|
4440
|
-
)
|
4441
|
-
}, props)
|
4442
|
-
);
|
4443
|
-
});
|
4444
|
-
SidebarRail.displayName = "SidebarRail";
|
4445
|
-
var SidebarInset = React63.forwardRef((_a, ref) => {
|
4446
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4447
|
-
return /* @__PURE__ */ jsx66(
|
4448
|
-
"main",
|
4449
|
-
__spreadValues({
|
4450
|
-
ref,
|
4451
|
-
className: cn(
|
4452
|
-
"relative flex min-h-svh flex-1 flex-col bg-background",
|
4453
|
-
"peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",
|
4454
|
-
className
|
4455
|
-
)
|
4456
|
-
}, props)
|
4457
|
-
);
|
4458
|
-
});
|
4459
|
-
SidebarInset.displayName = "SidebarInset";
|
4460
|
-
var SidebarInput = React63.forwardRef((_a, ref) => {
|
4461
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4462
|
-
return /* @__PURE__ */ jsx66(
|
4463
|
-
Input,
|
4464
|
-
__spreadValues({
|
4465
|
-
ref,
|
4466
|
-
"data-sidebar": "input",
|
4467
|
-
className: cn(
|
4468
|
-
"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",
|
4469
|
-
className
|
4470
|
-
)
|
4471
|
-
}, props)
|
4472
|
-
);
|
4473
|
-
});
|
4474
|
-
SidebarInput.displayName = "SidebarInput";
|
4475
|
-
var SidebarHeader = React63.forwardRef((_a, ref) => {
|
4476
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4477
|
-
return /* @__PURE__ */ jsx66(
|
4478
|
-
"div",
|
4479
|
-
__spreadValues({
|
4480
|
-
ref,
|
4481
|
-
"data-sidebar": "header",
|
4482
|
-
className: cn("flex flex-col gap-2 p-2", className)
|
4483
|
-
}, props)
|
4484
|
-
);
|
4485
|
-
});
|
4486
|
-
SidebarHeader.displayName = "SidebarHeader";
|
4487
|
-
var SidebarFooter = React63.forwardRef((_a, ref) => {
|
4488
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4489
|
-
return /* @__PURE__ */ jsx66(
|
4490
|
-
"div",
|
4491
|
-
__spreadValues({
|
4492
|
-
ref,
|
4493
|
-
"data-sidebar": "footer",
|
4494
|
-
className: cn("flex flex-col gap-2 p-2", className)
|
4495
|
-
}, props)
|
4496
|
-
);
|
4497
|
-
});
|
4498
|
-
SidebarFooter.displayName = "SidebarFooter";
|
4499
|
-
var SidebarSeparator = React63.forwardRef((_a, ref) => {
|
4500
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4501
|
-
return /* @__PURE__ */ jsx66(
|
4502
|
-
Separator5,
|
4503
|
-
__spreadValues({
|
4504
|
-
ref,
|
4505
|
-
"data-sidebar": "separator",
|
4506
|
-
className: cn("mx-2 w-auto bg-sidebar-border", className)
|
4507
|
-
}, props)
|
4508
|
-
);
|
4509
|
-
});
|
4510
|
-
SidebarSeparator.displayName = "SidebarSeparator";
|
4511
|
-
var SidebarContent = React63.forwardRef((_a, ref) => {
|
4512
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4513
|
-
return /* @__PURE__ */ jsx66(
|
4514
|
-
"div",
|
4515
|
-
__spreadValues({
|
4516
|
-
ref,
|
4517
|
-
"data-sidebar": "content",
|
4518
|
-
className: cn(
|
4519
|
-
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
4520
|
-
className
|
4521
|
-
)
|
4522
|
-
}, props)
|
4523
|
-
);
|
4524
|
-
});
|
4525
|
-
SidebarContent.displayName = "SidebarContent";
|
4526
|
-
var SidebarGroup = React63.forwardRef((_a, ref) => {
|
4527
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4528
|
-
return /* @__PURE__ */ jsx66(
|
4529
|
-
"div",
|
4530
|
-
__spreadValues({
|
4531
|
-
ref,
|
4532
|
-
"data-sidebar": "group",
|
4533
|
-
className: cn("relative flex w-full min-w-0 flex-col p-2", className)
|
4534
|
-
}, props)
|
4535
|
-
);
|
4536
|
-
});
|
4537
|
-
SidebarGroup.displayName = "SidebarGroup";
|
4538
|
-
var SidebarGroupLabel = React63.forwardRef((_a, ref) => {
|
4539
|
-
var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
|
4540
|
-
const Comp = asChild ? Slot4 : "div";
|
4541
|
-
return /* @__PURE__ */ jsx66(
|
4542
|
-
Comp,
|
4543
|
-
__spreadValues({
|
4544
|
-
ref,
|
4545
|
-
"data-sidebar": "group-label",
|
4546
|
-
className: cn(
|
4547
|
-
"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-hidden ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
4548
|
-
"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
|
4549
|
-
className
|
4550
|
-
)
|
4551
|
-
}, props)
|
4552
|
-
);
|
4553
|
-
});
|
4554
|
-
SidebarGroupLabel.displayName = "SidebarGroupLabel";
|
4555
|
-
var SidebarGroupAction = React63.forwardRef((_a, ref) => {
|
4556
|
-
var _b = _a, { className, asChild = false } = _b, props = __objRest(_b, ["className", "asChild"]);
|
4557
|
-
const Comp = asChild ? Slot4 : "button";
|
4558
|
-
return /* @__PURE__ */ jsx66(
|
4559
|
-
Comp,
|
4560
|
-
__spreadValues({
|
4561
|
-
ref,
|
4562
|
-
"data-sidebar": "group-action",
|
4563
|
-
className: cn(
|
4564
|
-
"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
|
4565
|
-
// Increases the hit area of the button on mobile.
|
4566
|
-
"after:absolute after:-inset-2 md:after:hidden",
|
4567
|
-
"group-data-[collapsible=icon]:hidden",
|
4568
|
-
className
|
4569
|
-
)
|
4570
|
-
}, props)
|
4571
|
-
);
|
4572
|
-
});
|
4573
|
-
SidebarGroupAction.displayName = "SidebarGroupAction";
|
4574
|
-
var SidebarGroupContent = React63.forwardRef((_a, ref) => {
|
4575
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4576
|
-
return /* @__PURE__ */ jsx66(
|
4577
|
-
"div",
|
4578
|
-
__spreadValues({
|
4579
|
-
ref,
|
4580
|
-
"data-sidebar": "group-content",
|
4581
|
-
className: cn("w-full text-sm", className)
|
4582
|
-
}, props)
|
4583
|
-
);
|
4584
|
-
});
|
4585
|
-
SidebarGroupContent.displayName = "SidebarGroupContent";
|
4586
|
-
var SidebarMenu = React63.forwardRef((_a, ref) => {
|
4587
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4588
|
-
return /* @__PURE__ */ jsx66(
|
4589
|
-
"ul",
|
4590
|
-
__spreadValues({
|
4591
|
-
ref,
|
4592
|
-
"data-sidebar": "menu",
|
4593
|
-
className: cn("flex w-full min-w-0 flex-col gap-1", className)
|
4594
|
-
}, props)
|
4595
|
-
);
|
4596
|
-
});
|
4597
|
-
SidebarMenu.displayName = "SidebarMenu";
|
4598
|
-
var SidebarMenuItem = React63.forwardRef((_a, ref) => {
|
4599
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4600
|
-
return /* @__PURE__ */ jsx66(
|
4601
|
-
"li",
|
4602
|
-
__spreadValues({
|
4603
|
-
ref,
|
4604
|
-
"data-sidebar": "menu-item",
|
4605
|
-
className: cn("group/menu-item relative", className)
|
4606
|
-
}, props)
|
4607
|
-
);
|
4608
|
-
});
|
4609
|
-
SidebarMenuItem.displayName = "SidebarMenuItem";
|
4610
|
-
var sidebarMenuButtonVariants = cva7(
|
4611
|
-
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
4612
|
-
{
|
4613
|
-
variants: {
|
4614
|
-
variant: {
|
4615
|
-
default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
|
4616
|
-
outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"
|
4617
|
-
},
|
4618
|
-
size: {
|
4619
|
-
default: "h-8 text-sm",
|
4620
|
-
sm: "h-7 text-xs",
|
4621
|
-
lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
|
4622
|
-
}
|
4623
|
-
},
|
4624
|
-
defaultVariants: {
|
4625
|
-
variant: "default",
|
4626
|
-
size: "default"
|
4627
|
-
}
|
4628
|
-
}
|
4629
|
-
);
|
4630
|
-
var SidebarMenuButton = React63.forwardRef(
|
4631
|
-
(_a, ref) => {
|
4632
|
-
var _b = _a, {
|
4633
|
-
asChild = false,
|
4634
|
-
isActive = false,
|
4635
|
-
variant = "default",
|
4636
|
-
size = "default",
|
4637
|
-
tooltip,
|
4638
|
-
className
|
4639
|
-
} = _b, props = __objRest(_b, [
|
4640
|
-
"asChild",
|
4641
|
-
"isActive",
|
4642
|
-
"variant",
|
4643
|
-
"size",
|
4644
|
-
"tooltip",
|
4645
|
-
"className"
|
4646
|
-
]);
|
4647
|
-
const Comp = asChild ? Slot4 : "button";
|
4648
|
-
const { isMobile, state } = useSidebar();
|
4649
|
-
const button = /* @__PURE__ */ jsx66(
|
4650
|
-
Comp,
|
4651
|
-
__spreadValues({
|
4652
|
-
ref,
|
4653
|
-
"data-sidebar": "menu-button",
|
4654
|
-
"data-size": size,
|
4655
|
-
"data-active": isActive,
|
4656
|
-
className: cn(sidebarMenuButtonVariants({ variant, size }), className)
|
4657
|
-
}, props)
|
4658
|
-
);
|
4659
|
-
if (!tooltip) {
|
4660
|
-
return button;
|
4661
|
-
}
|
4662
|
-
if (typeof tooltip === "string") {
|
4663
|
-
tooltip = {
|
4664
|
-
children: tooltip
|
4665
|
-
};
|
4666
|
-
}
|
4667
|
-
return /* @__PURE__ */ jsxs25(Tooltip2, { children: [
|
4668
|
-
/* @__PURE__ */ jsx66(TooltipTrigger, { asChild: true, children: button }),
|
4669
|
-
/* @__PURE__ */ jsx66(
|
4670
|
-
TooltipContent,
|
4671
|
-
__spreadValues({
|
4672
|
-
side: "right",
|
4673
|
-
align: "center",
|
4674
|
-
hidden: state !== "collapsed" || isMobile
|
4675
|
-
}, tooltip)
|
4676
|
-
)
|
4677
|
-
] });
|
4678
|
-
}
|
4679
|
-
);
|
4680
|
-
SidebarMenuButton.displayName = "SidebarMenuButton";
|
4681
|
-
var SidebarMenuAction = React63.forwardRef((_a, ref) => {
|
4682
|
-
var _b = _a, { className, asChild = false, showOnHover = false } = _b, props = __objRest(_b, ["className", "asChild", "showOnHover"]);
|
4683
|
-
const Comp = asChild ? Slot4 : "button";
|
4684
|
-
return /* @__PURE__ */ jsx66(
|
4685
|
-
Comp,
|
4686
|
-
__spreadValues({
|
4687
|
-
ref,
|
4688
|
-
"data-sidebar": "menu-action",
|
4689
|
-
className: cn(
|
4690
|
-
"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0",
|
4691
|
-
// Increases the hit area of the button on mobile.
|
4692
|
-
"after:absolute after:-inset-2 md:after:hidden",
|
4693
|
-
"peer-data-[size=sm]/menu-button:top-1",
|
4694
|
-
"peer-data-[size=default]/menu-button:top-1.5",
|
4695
|
-
"peer-data-[size=lg]/menu-button:top-2.5",
|
4696
|
-
"group-data-[collapsible=icon]:hidden",
|
4697
|
-
showOnHover && "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",
|
4698
|
-
className
|
4699
|
-
)
|
4700
|
-
}, props)
|
4701
|
-
);
|
4702
|
-
});
|
4703
|
-
SidebarMenuAction.displayName = "SidebarMenuAction";
|
4704
|
-
var SidebarMenuBadge = React63.forwardRef((_a, ref) => {
|
4705
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4706
|
-
return /* @__PURE__ */ jsx66(
|
4707
|
-
"div",
|
4708
|
-
__spreadValues({
|
4709
|
-
ref,
|
4710
|
-
"data-sidebar": "menu-badge",
|
4711
|
-
className: cn(
|
4712
|
-
"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none",
|
4713
|
-
"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
|
4714
|
-
"peer-data-[size=sm]/menu-button:top-1",
|
4715
|
-
"peer-data-[size=default]/menu-button:top-1.5",
|
4716
|
-
"peer-data-[size=lg]/menu-button:top-2.5",
|
4717
|
-
"group-data-[collapsible=icon]:hidden",
|
4718
|
-
className
|
4719
|
-
)
|
4720
|
-
}, props)
|
4721
|
-
);
|
4722
|
-
});
|
4723
|
-
SidebarMenuBadge.displayName = "SidebarMenuBadge";
|
4724
|
-
var SidebarMenuSkeleton = React63.forwardRef((_a, ref) => {
|
4725
|
-
var _b = _a, { className, showIcon = false } = _b, props = __objRest(_b, ["className", "showIcon"]);
|
4726
|
-
const width = React63.useMemo(() => {
|
4727
|
-
return `${Math.floor(Math.random() * 40) + 50}%`;
|
4728
|
-
}, []);
|
4729
|
-
return /* @__PURE__ */ jsxs25(
|
4730
|
-
"div",
|
4731
|
-
__spreadProps(__spreadValues({
|
4732
|
-
ref,
|
4733
|
-
"data-sidebar": "menu-skeleton",
|
4734
|
-
className: cn("rounded-md h-8 flex gap-2 px-2 items-center", className)
|
4735
|
-
}, props), {
|
4736
|
-
children: [
|
4737
|
-
showIcon && /* @__PURE__ */ jsx66(
|
4738
|
-
Skeleton,
|
4739
|
-
{
|
4740
|
-
className: "size-4 rounded-md",
|
4741
|
-
"data-sidebar": "menu-skeleton-icon"
|
4742
|
-
}
|
4743
|
-
),
|
4744
|
-
/* @__PURE__ */ jsx66(
|
4745
|
-
Skeleton,
|
4746
|
-
{
|
4747
|
-
className: "h-4 flex-1 max-w-(--skeleton-width)",
|
4748
|
-
"data-sidebar": "menu-skeleton-text",
|
4749
|
-
style: {
|
4750
|
-
"--skeleton-width": width
|
4751
|
-
}
|
4752
|
-
}
|
4753
|
-
)
|
4754
|
-
]
|
4755
|
-
})
|
4756
|
-
);
|
4757
|
-
});
|
4758
|
-
SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
|
4759
|
-
var SidebarMenuSub = React63.forwardRef((_a, ref) => {
|
4760
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4761
|
-
return /* @__PURE__ */ jsx66(
|
4762
|
-
"ul",
|
4763
|
-
__spreadValues({
|
4764
|
-
ref,
|
4765
|
-
"data-sidebar": "menu-sub",
|
4766
|
-
className: cn(
|
4767
|
-
"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5",
|
4768
|
-
"group-data-[collapsible=icon]:hidden",
|
4769
|
-
className
|
4770
|
-
)
|
4771
|
-
}, props)
|
4772
|
-
);
|
4773
|
-
});
|
4774
|
-
SidebarMenuSub.displayName = "SidebarMenuSub";
|
4775
|
-
var SidebarMenuSubItem = React63.forwardRef((_a, ref) => {
|
4776
|
-
var props = __objRest(_a, []);
|
4777
|
-
return /* @__PURE__ */ jsx66("li", __spreadValues({ ref }, props));
|
4778
|
-
});
|
4779
|
-
SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
|
4780
|
-
var SidebarMenuSubButton = React63.forwardRef((_a, ref) => {
|
4781
|
-
var _b = _a, { asChild = false, size = "md", isActive, className } = _b, props = __objRest(_b, ["asChild", "size", "isActive", "className"]);
|
4782
|
-
const Comp = asChild ? Slot4 : "a";
|
4783
|
-
return /* @__PURE__ */ jsx66(
|
4784
|
-
Comp,
|
4785
|
-
__spreadValues({
|
4786
|
-
ref,
|
4787
|
-
"data-sidebar": "menu-sub-button",
|
4788
|
-
"data-size": size,
|
4789
|
-
"data-active": isActive,
|
4790
|
-
className: cn(
|
4791
|
-
"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground",
|
4792
|
-
"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
|
4793
|
-
size === "sm" && "text-xs",
|
4794
|
-
size === "md" && "text-sm",
|
4795
|
-
"group-data-[collapsible=icon]:hidden",
|
4796
|
-
className
|
4797
|
-
)
|
4798
|
-
}, props)
|
4799
|
-
);
|
4800
|
-
});
|
4801
|
-
SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
4802
|
-
|
4803
|
-
// src/ui/slider.tsx
|
4804
|
-
import * as React64 from "react";
|
4805
|
-
import * as SliderPrimitive from "@radix-ui/react-slider";
|
4806
|
-
import { jsx as jsx67, jsxs as jsxs26 } from "react/jsx-runtime";
|
4807
|
-
var Slider = React64.forwardRef((_a, ref) => {
|
4808
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4809
|
-
return /* @__PURE__ */ jsxs26(
|
4810
|
-
SliderPrimitive.Root,
|
4811
|
-
__spreadProps(__spreadValues({
|
4812
|
-
ref,
|
4813
|
-
className: cn(
|
4814
|
-
"relative flex w-full touch-none select-none items-center",
|
4815
|
-
className
|
4816
|
-
)
|
4817
|
-
}, props), {
|
4818
|
-
children: [
|
4819
|
-
/* @__PURE__ */ jsx67(SliderPrimitive.Track, { className: "relative h-2 w-full grow overflow-hidden rounded-full bg-secondary", children: /* @__PURE__ */ jsx67(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
|
4820
|
-
/* @__PURE__ */ jsx67(SliderPrimitive.Thumb, { className: "block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" })
|
4821
|
-
]
|
4822
|
-
})
|
4823
|
-
);
|
4824
|
-
});
|
4825
|
-
Slider.displayName = SliderPrimitive.Root.displayName;
|
4826
|
-
|
4827
|
-
// src/ui/sonner.tsx
|
4828
|
-
import { useTheme } from "next-themes";
|
4829
|
-
import { Toaster as Sonner } from "sonner";
|
4830
|
-
import { jsx as jsx68 } from "react/jsx-runtime";
|
4831
|
-
var Toaster = (_a) => {
|
4832
|
-
var props = __objRest(_a, []);
|
4833
|
-
const { theme = "system" } = useTheme();
|
4834
|
-
return /* @__PURE__ */ jsx68(
|
4835
|
-
Sonner,
|
4836
|
-
__spreadValues({
|
4837
|
-
theme,
|
4838
|
-
className: "toaster group",
|
4839
|
-
toastOptions: {
|
4840
|
-
classNames: {
|
4841
|
-
toast: "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
|
4842
|
-
description: "group-[.toast]:text-muted-foreground",
|
4843
|
-
actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
|
4844
|
-
cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"
|
4845
|
-
}
|
4846
|
-
}
|
4847
|
-
}, props)
|
4848
|
-
);
|
4849
|
-
};
|
4850
|
-
|
4851
|
-
// src/ui/switch.tsx
|
4852
|
-
import * as React65 from "react";
|
4853
|
-
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
4854
|
-
import { jsx as jsx69 } from "react/jsx-runtime";
|
4855
|
-
var Switch = React65.forwardRef((_a, ref) => {
|
4856
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4857
|
-
return /* @__PURE__ */ jsx69(
|
4858
|
-
SwitchPrimitives.Root,
|
4859
|
-
__spreadProps(__spreadValues({
|
4860
|
-
className: cn(
|
4861
|
-
"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
|
4862
|
-
className
|
4863
|
-
)
|
4864
|
-
}, props), {
|
4865
|
-
ref,
|
4866
|
-
children: /* @__PURE__ */ jsx69(
|
4867
|
-
SwitchPrimitives.Thumb,
|
4868
|
-
{
|
4869
|
-
className: cn(
|
4870
|
-
"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
|
4871
|
-
)
|
4872
|
-
}
|
4873
|
-
)
|
4874
|
-
})
|
4875
|
-
);
|
4876
|
-
});
|
4877
|
-
Switch.displayName = SwitchPrimitives.Root.displayName;
|
4878
|
-
|
4879
|
-
// src/ui/table.tsx
|
4880
|
-
import * as React66 from "react";
|
4881
|
-
import { jsx as jsx70 } from "react/jsx-runtime";
|
4882
|
-
var Table = React66.forwardRef((_a, ref) => {
|
4883
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4884
|
-
return /* @__PURE__ */ jsx70("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx70(
|
4885
|
-
"table",
|
4886
|
-
__spreadValues({
|
4887
|
-
ref,
|
4888
|
-
className: cn("w-full caption-bottom text-sm", className)
|
4889
|
-
}, props)
|
4890
|
-
) });
|
4891
|
-
});
|
4892
|
-
Table.displayName = "Table";
|
4893
|
-
var TableHeader = React66.forwardRef((_a, ref) => {
|
4894
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4895
|
-
return /* @__PURE__ */ jsx70("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
|
4896
|
-
});
|
4897
|
-
TableHeader.displayName = "TableHeader";
|
4898
|
-
var TableBody = React66.forwardRef((_a, ref) => {
|
4899
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4900
|
-
return /* @__PURE__ */ jsx70(
|
4901
|
-
"tbody",
|
4902
|
-
__spreadValues({
|
4903
|
-
ref,
|
4904
|
-
className: cn("[&_tr:last-child]:border-0", className)
|
4905
|
-
}, props)
|
4906
|
-
);
|
4907
|
-
});
|
4908
|
-
TableBody.displayName = "TableBody";
|
4909
|
-
var TableFooter = React66.forwardRef((_a, ref) => {
|
4910
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4911
|
-
return /* @__PURE__ */ jsx70(
|
4912
|
-
"tfoot",
|
4913
|
-
__spreadValues({
|
4914
|
-
ref,
|
4915
|
-
className: cn(
|
4916
|
-
"border-t bg-muted/50 font-medium last:[&>tr]:border-b-0",
|
4917
|
-
className
|
4918
|
-
)
|
4919
|
-
}, props)
|
4920
|
-
);
|
4921
|
-
});
|
4922
|
-
TableFooter.displayName = "TableFooter";
|
4923
|
-
var TableRow = React66.forwardRef((_a, ref) => {
|
4924
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4925
|
-
return /* @__PURE__ */ jsx70(
|
4926
|
-
"tr",
|
4927
|
-
__spreadValues({
|
4928
|
-
ref,
|
4929
|
-
className: cn(
|
4930
|
-
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
4931
|
-
className
|
4932
|
-
)
|
4933
|
-
}, props)
|
4934
|
-
);
|
4935
|
-
});
|
4936
|
-
TableRow.displayName = "TableRow";
|
4937
|
-
var TableHead = React66.forwardRef((_a, ref) => {
|
4938
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4939
|
-
return /* @__PURE__ */ jsx70(
|
4940
|
-
"th",
|
4941
|
-
__spreadValues({
|
4942
|
-
ref,
|
4943
|
-
className: cn(
|
4944
|
-
"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
|
4945
|
-
className
|
4946
|
-
)
|
4947
|
-
}, props)
|
4948
|
-
);
|
4949
|
-
});
|
4950
|
-
TableHead.displayName = "TableHead";
|
4951
|
-
var TableCell = React66.forwardRef((_a, ref) => {
|
4952
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4953
|
-
return /* @__PURE__ */ jsx70(
|
4954
|
-
"td",
|
4955
|
-
__spreadValues({
|
4956
|
-
ref,
|
4957
|
-
className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)
|
4958
|
-
}, props)
|
4959
|
-
);
|
4960
|
-
});
|
4961
|
-
TableCell.displayName = "TableCell";
|
4962
|
-
var TableCaption = React66.forwardRef((_a, ref) => {
|
4963
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4964
|
-
return /* @__PURE__ */ jsx70(
|
4965
|
-
"caption",
|
4966
|
-
__spreadValues({
|
4967
|
-
ref,
|
4968
|
-
className: cn("mt-4 text-sm text-muted-foreground", className)
|
4969
|
-
}, props)
|
4970
|
-
);
|
4971
|
-
});
|
4972
|
-
TableCaption.displayName = "TableCaption";
|
4973
|
-
|
4974
|
-
// src/ui/tabs.tsx
|
4975
|
-
import * as React67 from "react";
|
4976
|
-
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
4977
|
-
import { jsx as jsx71 } from "react/jsx-runtime";
|
4978
|
-
var Tabs = TabsPrimitive.Root;
|
4979
|
-
var TabsList = React67.forwardRef((_a, ref) => {
|
4980
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4981
|
-
return /* @__PURE__ */ jsx71(
|
4982
|
-
TabsPrimitive.List,
|
4983
|
-
__spreadValues({
|
4984
|
-
ref,
|
4985
|
-
className: cn(
|
4986
|
-
"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
|
4987
|
-
className
|
4988
|
-
)
|
4989
|
-
}, props)
|
4990
|
-
);
|
4991
|
-
});
|
4992
|
-
TabsList.displayName = TabsPrimitive.List.displayName;
|
4993
|
-
var TabsTrigger = React67.forwardRef((_a, ref) => {
|
4994
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
4995
|
-
return /* @__PURE__ */ jsx71(
|
4996
|
-
TabsPrimitive.Trigger,
|
4997
|
-
__spreadValues({
|
4998
|
-
ref,
|
4999
|
-
className: cn(
|
5000
|
-
"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden 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-xs",
|
5001
|
-
className
|
5002
|
-
)
|
5003
|
-
}, props)
|
5004
|
-
);
|
5005
|
-
});
|
5006
|
-
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
5007
|
-
var TabsContent = React67.forwardRef((_a, ref) => {
|
5008
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5009
|
-
return /* @__PURE__ */ jsx71(
|
5010
|
-
TabsPrimitive.Content,
|
5011
|
-
__spreadValues({
|
5012
|
-
ref,
|
5013
|
-
className: cn(
|
5014
|
-
"mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
5015
|
-
className
|
5016
|
-
)
|
5017
|
-
}, props)
|
5018
|
-
);
|
5019
|
-
});
|
5020
|
-
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
5021
|
-
|
5022
|
-
// src/ui/textarea.tsx
|
5023
|
-
import * as React68 from "react";
|
5024
|
-
import { jsx as jsx72 } from "react/jsx-runtime";
|
5025
|
-
var Textarea = React68.forwardRef((_a, ref) => {
|
5026
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5027
|
-
return /* @__PURE__ */ jsx72(
|
5028
|
-
"textarea",
|
5029
|
-
__spreadValues({
|
5030
|
-
className: cn(
|
5031
|
-
"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
5032
|
-
className
|
5033
|
-
),
|
5034
|
-
ref
|
5035
|
-
}, props)
|
5036
|
-
);
|
5037
|
-
});
|
5038
|
-
Textarea.displayName = "Textarea";
|
5039
|
-
|
5040
|
-
// src/ui/toast.tsx
|
5041
|
-
import * as React69 from "react";
|
5042
|
-
import * as ToastPrimitives from "@radix-ui/react-toast";
|
5043
|
-
import { cva as cva8 } from "class-variance-authority";
|
5044
|
-
import { jsx as jsx73 } from "react/jsx-runtime";
|
5045
|
-
var ToastProvider = ToastPrimitives.Provider;
|
5046
|
-
var ToastViewport = React69.forwardRef((_a, ref) => {
|
5047
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5048
|
-
return /* @__PURE__ */ jsx73(
|
5049
|
-
ToastPrimitives.Viewport,
|
5050
|
-
__spreadValues({
|
5051
|
-
ref,
|
5052
|
-
className: cn(
|
5053
|
-
"fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
|
5054
|
-
className
|
5055
|
-
)
|
5056
|
-
}, props)
|
5057
|
-
);
|
5058
|
-
});
|
5059
|
-
ToastViewport.displayName = ToastPrimitives.Viewport.displayName;
|
5060
|
-
var toastVariants = cva8(
|
5061
|
-
"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full",
|
5062
|
-
{
|
5063
|
-
variants: {
|
5064
|
-
variant: {
|
5065
|
-
default: "border bg-background text-foreground",
|
5066
|
-
destructive: "destructive group border-destructive bg-destructive text-destructive-foreground"
|
5067
|
-
}
|
5068
|
-
},
|
5069
|
-
defaultVariants: {
|
5070
|
-
variant: "default"
|
5071
|
-
}
|
5072
|
-
}
|
5073
|
-
);
|
5074
|
-
var Toast = React69.forwardRef((_a, ref) => {
|
5075
|
-
var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
|
5076
|
-
return /* @__PURE__ */ jsx73(
|
5077
|
-
ToastPrimitives.Root,
|
5078
|
-
__spreadValues({
|
5079
|
-
ref,
|
5080
|
-
className: cn(toastVariants({ variant }), className)
|
5081
|
-
}, props)
|
5082
|
-
);
|
5083
|
-
});
|
5084
|
-
Toast.displayName = ToastPrimitives.Root.displayName;
|
5085
|
-
var ToastAction = React69.forwardRef((_a, ref) => {
|
5086
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5087
|
-
return /* @__PURE__ */ jsx73(
|
5088
|
-
ToastPrimitives.Action,
|
5089
|
-
__spreadValues({
|
5090
|
-
ref,
|
5091
|
-
className: cn(
|
5092
|
-
"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 hover:group-[.destructive]:border-destructive/30 hover:group-[.destructive]:bg-destructive hover:group-[.destructive]:text-destructive-foreground focus:group-[.destructive]:ring-destructive",
|
5093
|
-
className
|
5094
|
-
)
|
5095
|
-
}, props)
|
5096
|
-
);
|
5097
|
-
});
|
5098
|
-
ToastAction.displayName = ToastPrimitives.Action.displayName;
|
5099
|
-
var ToastClose = React69.forwardRef((_a, ref) => {
|
5100
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5101
|
-
return /* @__PURE__ */ jsx73(
|
5102
|
-
ToastPrimitives.Close,
|
5103
|
-
__spreadProps(__spreadValues({
|
5104
|
-
ref,
|
5105
|
-
className: cn(
|
5106
|
-
"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 hover:group-[.destructive]:text-red-50 focus:group-[.destructive]:ring-red-400 focus:group-[.destructive]:ring-offset-red-600",
|
5107
|
-
className
|
5108
|
-
),
|
5109
|
-
"toast-close": ""
|
5110
|
-
}, props), {
|
5111
|
-
children: /* @__PURE__ */ jsx73(globalLucideIcons.X, { className: "h-4 w-4" })
|
5112
|
-
})
|
5113
|
-
);
|
5114
|
-
});
|
5115
|
-
ToastClose.displayName = ToastPrimitives.Close.displayName;
|
5116
|
-
var ToastTitle = React69.forwardRef((_a, ref) => {
|
5117
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5118
|
-
return /* @__PURE__ */ jsx73(
|
5119
|
-
ToastPrimitives.Title,
|
5120
|
-
__spreadValues({
|
5121
|
-
ref,
|
5122
|
-
className: cn("text-sm font-semibold", className)
|
5123
|
-
}, props)
|
5124
|
-
);
|
5125
|
-
});
|
5126
|
-
ToastTitle.displayName = ToastPrimitives.Title.displayName;
|
5127
|
-
var ToastDescription = React69.forwardRef((_a, ref) => {
|
5128
|
-
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
5129
|
-
return /* @__PURE__ */ jsx73(
|
5130
|
-
ToastPrimitives.Description,
|
5131
|
-
__spreadValues({
|
5132
|
-
ref,
|
5133
|
-
className: cn("text-sm opacity-90", className)
|
5134
|
-
}, props)
|
5135
|
-
);
|
5136
|
-
});
|
5137
|
-
ToastDescription.displayName = ToastPrimitives.Description.displayName;
|
5138
|
-
|
5139
|
-
// src/ui/use-toast.ts
|
5140
|
-
import * as React70 from "react";
|
5141
|
-
var TOAST_LIMIT = 1;
|
5142
|
-
var TOAST_REMOVE_DELAY = 1e6;
|
5143
|
-
var ACTIONS = {
|
5144
|
-
ADD_TOAST: "ADD_TOAST",
|
5145
|
-
UPDATE_TOAST: "UPDATE_TOAST",
|
5146
|
-
DISMISS_TOAST: "DISMISS_TOAST",
|
5147
|
-
REMOVE_TOAST: "REMOVE_TOAST"
|
5148
|
-
};
|
5149
|
-
var count = 0;
|
5150
|
-
function genId() {
|
5151
|
-
count = (count + 1) % Number.MAX_SAFE_INTEGER;
|
5152
|
-
return count.toString();
|
5153
|
-
}
|
5154
|
-
var toastTimeouts = /* @__PURE__ */ new Map();
|
5155
|
-
var addToRemoveQueue = (toastId) => {
|
5156
|
-
if (toastTimeouts.has(toastId)) {
|
5157
|
-
return;
|
5158
|
-
}
|
5159
|
-
const timeout = setTimeout(() => {
|
5160
|
-
toastTimeouts.delete(toastId);
|
5161
|
-
dispatch({
|
5162
|
-
type: ACTIONS.REMOVE_TOAST,
|
5163
|
-
toastId
|
5164
|
-
});
|
5165
|
-
}, TOAST_REMOVE_DELAY);
|
5166
|
-
toastTimeouts.set(toastId, timeout);
|
5167
|
-
};
|
5168
|
-
var reducer = (state, action) => {
|
5169
|
-
switch (action.type) {
|
5170
|
-
case "ADD_TOAST":
|
5171
|
-
return __spreadProps(__spreadValues({}, state), {
|
5172
|
-
toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
|
5173
|
-
});
|
5174
|
-
case "UPDATE_TOAST":
|
5175
|
-
return __spreadProps(__spreadValues({}, state), {
|
5176
|
-
toasts: state.toasts.map(
|
5177
|
-
(t) => t.id === action.toast.id ? __spreadValues(__spreadValues({}, t), action.toast) : t
|
5178
|
-
)
|
5179
|
-
});
|
5180
|
-
case "DISMISS_TOAST": {
|
5181
|
-
const { toastId } = action;
|
5182
|
-
if (toastId) {
|
5183
|
-
addToRemoveQueue(toastId);
|
5184
|
-
} else {
|
5185
|
-
state.toasts.forEach((toast2) => {
|
5186
|
-
addToRemoveQueue(toast2.id);
|
5187
|
-
});
|
5188
|
-
}
|
5189
|
-
return __spreadProps(__spreadValues({}, state), {
|
5190
|
-
toasts: state.toasts.map(
|
5191
|
-
(t) => t.id === toastId || toastId === void 0 ? __spreadProps(__spreadValues({}, t), {
|
5192
|
-
open: false
|
5193
|
-
}) : t
|
5194
|
-
)
|
5195
|
-
});
|
5196
|
-
}
|
5197
|
-
case "REMOVE_TOAST":
|
5198
|
-
if (action.toastId === void 0) {
|
5199
|
-
return __spreadProps(__spreadValues({}, state), {
|
5200
|
-
toasts: []
|
5201
|
-
});
|
5202
|
-
}
|
5203
|
-
return __spreadProps(__spreadValues({}, state), {
|
5204
|
-
toasts: state.toasts.filter((t) => t.id !== action.toastId)
|
5205
|
-
});
|
5206
|
-
}
|
5207
|
-
};
|
5208
|
-
var listeners = [];
|
5209
|
-
var memoryState = { toasts: [] };
|
5210
|
-
function dispatch(action) {
|
5211
|
-
memoryState = reducer(memoryState, action);
|
5212
|
-
listeners.forEach((listener) => {
|
5213
|
-
listener(memoryState);
|
5214
|
-
});
|
5215
|
-
}
|
5216
|
-
function toast(_a) {
|
5217
|
-
var props = __objRest(_a, []);
|
5218
|
-
const id = genId();
|
5219
|
-
const update = (props2) => dispatch({
|
5220
|
-
type: "UPDATE_TOAST",
|
5221
|
-
toast: __spreadProps(__spreadValues({}, props2), { id })
|
5222
|
-
});
|
5223
|
-
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
5224
|
-
dispatch({
|
5225
|
-
type: "ADD_TOAST",
|
5226
|
-
toast: __spreadProps(__spreadValues({}, props), {
|
5227
|
-
id,
|
5228
|
-
open: true,
|
5229
|
-
onOpenChange: (open) => {
|
5230
|
-
if (!open) dismiss();
|
5231
|
-
}
|
5232
|
-
})
|
5233
|
-
});
|
5234
|
-
return {
|
5235
|
-
id,
|
5236
|
-
dismiss,
|
5237
|
-
update
|
5238
|
-
};
|
5239
|
-
}
|
5240
|
-
function useToast() {
|
5241
|
-
const [state, setState] = React70.useState(memoryState);
|
5242
|
-
React70.useEffect(() => {
|
5243
|
-
listeners.push(setState);
|
5244
|
-
return () => {
|
5245
|
-
const index = listeners.indexOf(setState);
|
5246
|
-
if (index > -1) {
|
5247
|
-
listeners.splice(index, 1);
|
5248
|
-
}
|
5249
|
-
};
|
5250
|
-
}, [state]);
|
5251
|
-
return __spreadProps(__spreadValues({}, state), {
|
5252
|
-
toast,
|
5253
|
-
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
|
5254
|
-
});
|
5255
|
-
}
|
5256
|
-
|
5257
|
-
// src/ui/toaster.tsx
|
5258
|
-
import { jsx as jsx74, jsxs as jsxs27 } from "react/jsx-runtime";
|
5259
|
-
function Toaster2() {
|
5260
|
-
const { toasts } = useToast();
|
5261
|
-
return /* @__PURE__ */ jsxs27(ToastProvider, { children: [
|
5262
|
-
toasts.map(function(_a) {
|
5263
|
-
var _b = _a, { id, title, description, action } = _b, props = __objRest(_b, ["id", "title", "description", "action"]);
|
5264
|
-
return /* @__PURE__ */ jsxs27(Toast, __spreadProps(__spreadValues({}, props), { children: [
|
5265
|
-
/* @__PURE__ */ jsxs27("div", { className: "grid gap-1", children: [
|
5266
|
-
title && /* @__PURE__ */ jsx74(ToastTitle, { children: title }),
|
5267
|
-
description && /* @__PURE__ */ jsx74(ToastDescription, { children: description })
|
5268
|
-
] }),
|
5269
|
-
action,
|
5270
|
-
/* @__PURE__ */ jsx74(ToastClose, {})
|
5271
|
-
] }), id);
|
5272
|
-
}),
|
5273
|
-
/* @__PURE__ */ jsx74(ToastViewport, {})
|
5274
|
-
] });
|
5275
|
-
}
|
5276
|
-
|
5277
|
-
// src/ui/toggle-group.tsx
|
5278
|
-
import * as React72 from "react";
|
5279
|
-
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
5280
|
-
|
5281
|
-
// src/ui/toggle.tsx
|
5282
|
-
import * as React71 from "react";
|
5283
|
-
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
5284
|
-
import { cva as cva9 } from "class-variance-authority";
|
5285
|
-
import { jsx as jsx75 } from "react/jsx-runtime";
|
5286
|
-
var toggleVariants = cva9(
|
5287
|
-
"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 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 gap-2",
|
5288
|
-
{
|
5289
|
-
variants: {
|
5290
|
-
variant: {
|
5291
|
-
default: "bg-transparent",
|
5292
|
-
outline: "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"
|
5293
|
-
},
|
5294
|
-
size: {
|
5295
|
-
default: "h-10 px-3 min-w-10",
|
5296
|
-
sm: "h-9 px-2.5 min-w-9",
|
5297
|
-
lg: "h-11 px-5 min-w-11"
|
5298
|
-
}
|
5299
|
-
},
|
5300
|
-
defaultVariants: {
|
5301
|
-
variant: "default",
|
5302
|
-
size: "default"
|
5303
|
-
}
|
5304
|
-
}
|
5305
|
-
);
|
5306
|
-
var Toggle = React71.forwardRef((_a, ref) => {
|
5307
|
-
var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
|
5308
|
-
return /* @__PURE__ */ jsx75(
|
5309
|
-
TogglePrimitive.Root,
|
5310
|
-
__spreadValues({
|
5311
|
-
ref,
|
5312
|
-
className: cn(toggleVariants({ variant, size, className }))
|
5313
|
-
}, props)
|
5314
|
-
);
|
5315
|
-
});
|
5316
|
-
Toggle.displayName = TogglePrimitive.Root.displayName;
|
5317
|
-
|
5318
|
-
// src/ui/toggle-group.tsx
|
5319
|
-
import { jsx as jsx76 } from "react/jsx-runtime";
|
5320
|
-
var ToggleGroupContext = React72.createContext({
|
5321
|
-
size: "default",
|
5322
|
-
variant: "default"
|
5323
|
-
});
|
5324
|
-
var ToggleGroup = React72.forwardRef((_a, ref) => {
|
5325
|
-
var _b = _a, { className, variant, size, children } = _b, props = __objRest(_b, ["className", "variant", "size", "children"]);
|
5326
|
-
return /* @__PURE__ */ jsx76(
|
5327
|
-
ToggleGroupPrimitive.Root,
|
5328
|
-
__spreadProps(__spreadValues({
|
5329
|
-
ref,
|
5330
|
-
className: cn("flex items-center justify-center gap-1", className)
|
5331
|
-
}, props), {
|
5332
|
-
children: /* @__PURE__ */ jsx76(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
5333
|
-
})
|
5334
|
-
);
|
5335
|
-
});
|
5336
|
-
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
|
5337
|
-
var ToggleGroupItem = React72.forwardRef((_a, ref) => {
|
5338
|
-
var _b = _a, { className, children, variant, size } = _b, props = __objRest(_b, ["className", "children", "variant", "size"]);
|
5339
|
-
const context = React72.useContext(ToggleGroupContext);
|
5340
|
-
return /* @__PURE__ */ jsx76(
|
5341
|
-
ToggleGroupPrimitive.Item,
|
5342
|
-
__spreadProps(__spreadValues({
|
5343
|
-
ref,
|
5344
|
-
className: cn(
|
5345
|
-
toggleVariants({
|
5346
|
-
variant: context.variant || variant,
|
5347
|
-
size: context.size || size
|
5348
|
-
}),
|
5349
|
-
className
|
5350
|
-
)
|
5351
|
-
}, props), {
|
5352
|
-
children
|
5353
|
-
})
|
5354
|
-
);
|
5355
|
-
});
|
5356
|
-
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
|
1730
|
+
LanguageButton.displayName = "Button";
|
5357
1731
|
|
5358
1732
|
// src/lib/icon-context.tsx
|
5359
|
-
import { createContext
|
5360
|
-
import { jsx as
|
5361
|
-
var IconConfigContext =
|
1733
|
+
import { createContext, useContext } from "react";
|
1734
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
1735
|
+
var IconConfigContext = createContext(null);
|
5362
1736
|
function IconConfigProvider({ config, children }) {
|
5363
|
-
return /* @__PURE__ */
|
1737
|
+
return /* @__PURE__ */ jsx35(IconConfigContext.Provider, { value: config, children });
|
5364
1738
|
}
|
5365
1739
|
function useIconConfig() {
|
5366
|
-
const config =
|
1740
|
+
const config = useContext(IconConfigContext);
|
5367
1741
|
if (config === null) {
|
5368
1742
|
throw new Error(
|
5369
1743
|
'[SiteIcon] IconConfigProvider not found. Please wrap your app with <IconConfigProvider config={{ siteIcon: "YourIcon" }}>.'
|
@@ -5381,7 +1755,7 @@ function useIconConfigSafe(iconKey) {
|
|
5381
1755
|
}
|
5382
1756
|
|
5383
1757
|
// src/lib/site-icon.tsx
|
5384
|
-
import { jsx as
|
1758
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
5385
1759
|
function SiteIcon(_a) {
|
5386
1760
|
var _b = _a, {
|
5387
1761
|
size = 24,
|
@@ -5399,27 +1773,21 @@ function SiteIcon(_a) {
|
|
5399
1773
|
if (typeof configuredIcon === "string") {
|
5400
1774
|
if (configuredIcon === "") {
|
5401
1775
|
const DefaultIcon = globalLucideIcons["Download"];
|
5402
|
-
return /* @__PURE__ */
|
1776
|
+
return /* @__PURE__ */ jsx36(DefaultIcon, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
|
5403
1777
|
}
|
5404
1778
|
const IconComponent = globalLucideIcons[configuredIcon];
|
5405
1779
|
if (!IconComponent) {
|
5406
1780
|
throw new Error(`[SiteIcon] Icon key "${configuredIcon}" not found in globalLucideIcons.`);
|
5407
1781
|
}
|
5408
|
-
return /* @__PURE__ */
|
1782
|
+
return /* @__PURE__ */ jsx36(IconComponent, __spreadValues({ size, className: cn(themeIconColor, className) }, props));
|
5409
1783
|
} else {
|
5410
1784
|
const CustomIcon = configuredIcon;
|
5411
1785
|
const hasColorClass = className && /text-\w+/.test(className);
|
5412
1786
|
const finalClassName = hasColorClass ? className : cn(themeIconColor, className);
|
5413
|
-
return /* @__PURE__ */
|
1787
|
+
return /* @__PURE__ */ jsx36(CustomIcon, __spreadValues({ size, className: finalClassName }, props));
|
5414
1788
|
}
|
5415
1789
|
}
|
5416
1790
|
export {
|
5417
|
-
Accordion,
|
5418
|
-
AccordionContent,
|
5419
|
-
AccordionItem,
|
5420
|
-
AccordionTrigger,
|
5421
|
-
Alert,
|
5422
|
-
AlertDescription,
|
5423
1791
|
AlertDialog,
|
5424
1792
|
AlertDialogAction,
|
5425
1793
|
AlertDialogCancel,
|
@@ -5431,87 +1799,8 @@ export {
|
|
5431
1799
|
AlertDialogPortal,
|
5432
1800
|
AlertDialogTitle,
|
5433
1801
|
AlertDialogTrigger,
|
5434
|
-
AlertTitle,
|
5435
|
-
AspectRatio,
|
5436
|
-
Avatar,
|
5437
|
-
AvatarFallback,
|
5438
|
-
AvatarImage,
|
5439
|
-
Badge,
|
5440
|
-
Breadcrumb,
|
5441
|
-
BreadcrumbEllipsis,
|
5442
|
-
BreadcrumbItem,
|
5443
|
-
BreadcrumbLink,
|
5444
|
-
BreadcrumbList,
|
5445
|
-
BreadcrumbPage,
|
5446
|
-
BreadcrumbSeparator,
|
5447
1802
|
Button,
|
5448
|
-
Calendar,
|
5449
|
-
Card,
|
5450
|
-
CardContent,
|
5451
|
-
CardDescription,
|
5452
|
-
CardFooter,
|
5453
|
-
CardHeader,
|
5454
|
-
CardTitle,
|
5455
|
-
Carousel,
|
5456
|
-
CarouselContent,
|
5457
|
-
CarouselItem,
|
5458
|
-
CarouselNext,
|
5459
|
-
CarouselPrevious,
|
5460
|
-
ChartContainer,
|
5461
|
-
ChartLegend,
|
5462
|
-
ChartLegendContent,
|
5463
|
-
ChartStyle,
|
5464
|
-
ChartTooltip,
|
5465
|
-
ChartTooltipContent,
|
5466
|
-
Checkbox,
|
5467
|
-
Collapsible,
|
5468
|
-
CollapsibleContent2 as CollapsibleContent,
|
5469
|
-
CollapsibleTrigger2 as CollapsibleTrigger,
|
5470
|
-
Command,
|
5471
|
-
CommandDialog,
|
5472
|
-
CommandEmpty,
|
5473
|
-
CommandGroup,
|
5474
|
-
CommandInput,
|
5475
|
-
CommandItem,
|
5476
|
-
CommandList,
|
5477
|
-
CommandSeparator,
|
5478
|
-
CommandShortcut,
|
5479
|
-
ContextMenu,
|
5480
|
-
ContextMenuCheckboxItem,
|
5481
|
-
ContextMenuContent,
|
5482
|
-
ContextMenuGroup,
|
5483
|
-
ContextMenuItem,
|
5484
|
-
ContextMenuLabel,
|
5485
|
-
ContextMenuPortal,
|
5486
|
-
ContextMenuRadioGroup,
|
5487
|
-
ContextMenuRadioItem,
|
5488
|
-
ContextMenuSeparator,
|
5489
|
-
ContextMenuShortcut,
|
5490
|
-
ContextMenuSub,
|
5491
|
-
ContextMenuSubContent,
|
5492
|
-
ContextMenuSubTrigger,
|
5493
|
-
ContextMenuTrigger,
|
5494
1803
|
DefaultSiteIcon,
|
5495
|
-
Dialog,
|
5496
|
-
DialogClose,
|
5497
|
-
DialogContent,
|
5498
|
-
DialogDescription,
|
5499
|
-
DialogFooter,
|
5500
|
-
DialogHeader,
|
5501
|
-
DialogOverlay,
|
5502
|
-
DialogPortal,
|
5503
|
-
DialogTitle,
|
5504
|
-
DialogTrigger,
|
5505
|
-
Drawer,
|
5506
|
-
DrawerClose,
|
5507
|
-
DrawerContent,
|
5508
|
-
DrawerDescription,
|
5509
|
-
DrawerFooter,
|
5510
|
-
DrawerHeader,
|
5511
|
-
DrawerOverlay,
|
5512
|
-
DrawerPortal,
|
5513
|
-
DrawerTitle,
|
5514
|
-
DrawerTrigger,
|
5515
1804
|
DropdownMenu,
|
5516
1805
|
DropdownMenuCheckboxItem,
|
5517
1806
|
DropdownMenuContent,
|
@@ -5527,157 +1816,15 @@ export {
|
|
5527
1816
|
DropdownMenuSubContent,
|
5528
1817
|
DropdownMenuSubTrigger,
|
5529
1818
|
DropdownMenuTrigger,
|
5530
|
-
Form,
|
5531
|
-
FormControl,
|
5532
|
-
FormDescription,
|
5533
|
-
FormField,
|
5534
|
-
FormItem,
|
5535
|
-
FormLabel,
|
5536
|
-
FormMessage,
|
5537
|
-
HoverCard,
|
5538
|
-
HoverCardContent,
|
5539
|
-
HoverCardTrigger,
|
5540
1819
|
IconConfigProvider,
|
5541
|
-
|
5542
|
-
InputOTP,
|
5543
|
-
InputOTPGroup,
|
5544
|
-
InputOTPSeparator,
|
5545
|
-
InputOTPSlot,
|
5546
|
-
Label3 as Label,
|
1820
|
+
Label2 as Label,
|
5547
1821
|
LanguageButton,
|
5548
|
-
Menubar,
|
5549
|
-
MenubarCheckboxItem,
|
5550
|
-
MenubarContent,
|
5551
|
-
MenubarGroup,
|
5552
|
-
MenubarItem,
|
5553
|
-
MenubarLabel,
|
5554
|
-
MenubarMenu,
|
5555
|
-
MenubarPortal,
|
5556
|
-
MenubarRadioGroup,
|
5557
|
-
MenubarRadioItem,
|
5558
|
-
MenubarSeparator,
|
5559
|
-
MenubarShortcut,
|
5560
|
-
MenubarSub,
|
5561
|
-
MenubarSubContent,
|
5562
|
-
MenubarSubTrigger,
|
5563
|
-
MenubarTrigger,
|
5564
|
-
NavigationMenu,
|
5565
|
-
NavigationMenuContent,
|
5566
|
-
NavigationMenuIndicator,
|
5567
|
-
NavigationMenuItem,
|
5568
|
-
NavigationMenuLink,
|
5569
|
-
NavigationMenuList,
|
5570
|
-
NavigationMenuTrigger,
|
5571
|
-
NavigationMenuViewport,
|
5572
1822
|
NotFoundIcon,
|
5573
|
-
Pagination,
|
5574
|
-
PaginationContent,
|
5575
|
-
PaginationEllipsis,
|
5576
|
-
PaginationItem,
|
5577
|
-
PaginationLink,
|
5578
|
-
PaginationNext,
|
5579
|
-
PaginationPrevious,
|
5580
|
-
Popover,
|
5581
|
-
PopoverContent,
|
5582
|
-
PopoverTrigger,
|
5583
|
-
Progress,
|
5584
|
-
RadioGroup4 as RadioGroup,
|
5585
|
-
RadioGroupItem,
|
5586
|
-
ResizableHandle,
|
5587
|
-
ResizablePanel,
|
5588
|
-
ResizablePanelGroup,
|
5589
|
-
ScrollArea,
|
5590
|
-
ScrollBar,
|
5591
|
-
Select,
|
5592
|
-
SelectContent,
|
5593
|
-
SelectGroup,
|
5594
|
-
SelectItem,
|
5595
|
-
SelectLabel,
|
5596
|
-
SelectScrollDownButton,
|
5597
|
-
SelectScrollUpButton,
|
5598
|
-
SelectSeparator,
|
5599
|
-
SelectTrigger,
|
5600
|
-
SelectValue,
|
5601
|
-
Separator5 as Separator,
|
5602
|
-
Sheet,
|
5603
|
-
SheetClose,
|
5604
|
-
SheetContent,
|
5605
|
-
SheetDescription,
|
5606
|
-
SheetFooter,
|
5607
|
-
SheetHeader,
|
5608
|
-
SheetOverlay,
|
5609
|
-
SheetPortal,
|
5610
|
-
SheetTitle,
|
5611
|
-
SheetTrigger,
|
5612
|
-
Sidebar,
|
5613
|
-
SidebarContent,
|
5614
|
-
SidebarFooter,
|
5615
|
-
SidebarGroup,
|
5616
|
-
SidebarGroupAction,
|
5617
|
-
SidebarGroupContent,
|
5618
|
-
SidebarGroupLabel,
|
5619
|
-
SidebarHeader,
|
5620
|
-
SidebarInput,
|
5621
|
-
SidebarInset,
|
5622
|
-
SidebarMenu,
|
5623
|
-
SidebarMenuAction,
|
5624
|
-
SidebarMenuBadge,
|
5625
|
-
SidebarMenuButton,
|
5626
|
-
SidebarMenuItem,
|
5627
|
-
SidebarMenuSkeleton,
|
5628
|
-
SidebarMenuSub,
|
5629
|
-
SidebarMenuSubButton,
|
5630
|
-
SidebarMenuSubItem,
|
5631
|
-
SidebarProvider,
|
5632
|
-
SidebarRail,
|
5633
|
-
SidebarSeparator,
|
5634
|
-
SidebarTrigger,
|
5635
1823
|
SiteIcon,
|
5636
|
-
Skeleton,
|
5637
|
-
Slider,
|
5638
|
-
Toaster as SonnerToaster,
|
5639
|
-
Switch,
|
5640
|
-
Table,
|
5641
|
-
TableBody,
|
5642
|
-
TableCaption,
|
5643
|
-
TableCell,
|
5644
|
-
TableFooter,
|
5645
|
-
TableHead,
|
5646
|
-
TableHeader,
|
5647
|
-
TableRow,
|
5648
|
-
Tabs,
|
5649
|
-
TabsContent,
|
5650
|
-
TabsList,
|
5651
|
-
TabsTrigger,
|
5652
|
-
Textarea,
|
5653
|
-
Toast,
|
5654
|
-
ToastAction,
|
5655
|
-
ToastClose,
|
5656
|
-
ToastDescription,
|
5657
|
-
ToastProvider,
|
5658
|
-
ToastTitle,
|
5659
|
-
Toaster2 as ToastToaster,
|
5660
|
-
ToastViewport,
|
5661
|
-
Toggle,
|
5662
|
-
ToggleGroup,
|
5663
|
-
ToggleGroupItem,
|
5664
|
-
Tooltip2 as Tooltip,
|
5665
|
-
TooltipContent,
|
5666
|
-
TooltipProvider,
|
5667
|
-
TooltipTrigger,
|
5668
|
-
badgeVariants,
|
5669
1824
|
buttonVariants,
|
5670
1825
|
getGlobalIcon,
|
5671
1826
|
getIconElement,
|
5672
|
-
globalLucideIcons
|
5673
|
-
navigationMenuTriggerStyle,
|
5674
|
-
reducer,
|
5675
|
-
toast,
|
5676
|
-
toggleVariants,
|
5677
|
-
useFormField,
|
5678
|
-
useIsMobile,
|
5679
|
-
useSidebar,
|
5680
|
-
useToast
|
1827
|
+
globalLucideIcons
|
5681
1828
|
};
|
5682
1829
|
/**
|
5683
1830
|
* @license
|