@evinvest/uikit 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1173,168 +1173,6 @@ function Footer({
1173
1173
  );
1174
1174
  }
1175
1175
 
1176
- // src/components/header.tsx
1177
- import * as React23 from "react";
1178
- import { jsx as jsx14, jsxs as jsxs4 } from "react/jsx-runtime";
1179
- function Header({
1180
- nav,
1181
- cta,
1182
- mobileCta,
1183
- tagline = "Quy Nhon Fund",
1184
- homeHref = "/",
1185
- className,
1186
- linkComponent,
1187
- variant = "marketing",
1188
- hideNav = false
1189
- }) {
1190
- const L = linkComponent ?? "a";
1191
- const compact = variant === "compact";
1192
- const [hasScrolled, setHasScrolled] = React23.useState(false);
1193
- React23.useEffect(() => {
1194
- if (compact) return;
1195
- const handleScroll = () => setHasScrolled(window.scrollY > 50);
1196
- window.addEventListener("scroll", handleScroll);
1197
- return () => window.removeEventListener("scroll", handleScroll);
1198
- }, [compact]);
1199
- return /* @__PURE__ */ jsx14(
1200
- "header",
1201
- {
1202
- "data-slot": "header",
1203
- "data-variant": variant,
1204
- className: cn(
1205
- "fixed top-0 left-0 w-full z-[60] border-b",
1206
- compact ? (
1207
- // Fixed 4rem bar (py-3 + the 40px lockup): opaque by default so app
1208
- // content beneath it never bleeds through.
1209
- "h-16 bg-main-black/90 backdrop-blur-md border-main-mist/10"
1210
- ) : cn(
1211
- "transition-all duration-500",
1212
- hasScrolled ? "bg-main-black/90 backdrop-blur-md border-main-mist/10 py-4" : "bg-transparent border-transparent py-6"
1213
- ),
1214
- className
1215
- ),
1216
- children: /* @__PURE__ */ jsxs4(Container, { className: "flex h-full items-center justify-between gap-4", children: [
1217
- /* @__PURE__ */ jsxs4(
1218
- L,
1219
- {
1220
- href: homeHref,
1221
- className: "flex items-center gap-3",
1222
- "aria-label": "EV Investment \u2014 home",
1223
- children: [
1224
- /* @__PURE__ */ jsx14(Logo, { className: "w-10 h-10 text-white" }),
1225
- /* @__PURE__ */ jsxs4("div", { className: "flex flex-col", children: [
1226
- /* @__PURE__ */ jsx14("span", { className: "font-serif-display font-bold text-lg tracking-wider text-white", children: "EV INVESTMENT" }),
1227
- /* @__PURE__ */ jsx14("span", { className: "text-[9px] font-mono-tech tracking-[0.3em] text-main-accent-t1 uppercase", children: tagline })
1228
- ] })
1229
- ]
1230
- }
1231
- ),
1232
- !hideNav && /* @__PURE__ */ jsx14("nav", { className: "hidden lg:flex items-center gap-6 font-mono-tech text-xs tracking-widest uppercase", children: nav.map((item) => /* @__PURE__ */ jsx14(
1233
- L,
1234
- {
1235
- href: item.href,
1236
- className: "text-main-mist/80 hover:text-main-accent-t1 transition-colors",
1237
- children: item.label
1238
- },
1239
- item.href
1240
- )) }),
1241
- /* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-3", children: [
1242
- cta,
1243
- !hideNav && /* @__PURE__ */ jsx14(MobileMenu, { nav, cta: mobileCta ?? cta, linkComponent: L })
1244
- ] })
1245
- ] })
1246
- }
1247
- );
1248
- }
1249
- function MobileMenu({
1250
- nav,
1251
- cta,
1252
- linkComponent: L
1253
- }) {
1254
- const [open, setOpen] = React23.useState(false);
1255
- React23.useEffect(() => {
1256
- if (!open) return;
1257
- document.body.style.overflow = "hidden";
1258
- const onKeyDown = (e) => {
1259
- if (e.key === "Escape") setOpen(false);
1260
- };
1261
- window.addEventListener("keydown", onKeyDown);
1262
- return () => {
1263
- document.body.style.overflow = "";
1264
- window.removeEventListener("keydown", onKeyDown);
1265
- };
1266
- }, [open]);
1267
- const closeOnNavigation = (e) => {
1268
- if (e.target.closest("a, button")) setOpen(false);
1269
- };
1270
- return /* @__PURE__ */ jsxs4("div", { className: "lg:hidden", children: [
1271
- /* @__PURE__ */ jsx14(
1272
- "button",
1273
- {
1274
- type: "button",
1275
- "aria-label": "Open menu",
1276
- "aria-expanded": open,
1277
- "aria-haspopup": "menu",
1278
- onClick: () => setOpen(true),
1279
- className: "flex size-10 items-center justify-center text-white",
1280
- children: /* @__PURE__ */ jsx14(
1281
- "svg",
1282
- {
1283
- className: "size-6",
1284
- viewBox: "0 0 24 24",
1285
- fill: "none",
1286
- stroke: "currentColor",
1287
- strokeWidth: 2,
1288
- strokeLinecap: "round",
1289
- strokeLinejoin: "round",
1290
- children: /* @__PURE__ */ jsx14("path", { d: "M4 6h16M4 12h16M4 18h16" })
1291
- }
1292
- )
1293
- }
1294
- ),
1295
- open && /* @__PURE__ */ jsx14(Portal, { children: /* @__PURE__ */ jsxs4(
1296
- "div",
1297
- {
1298
- onClick: closeOnNavigation,
1299
- className: "fixed inset-0 z-[70] flex flex-col bg-main-black px-6 pb-10 duration-200 animate-in fade-in lg:hidden",
1300
- children: [
1301
- /* @__PURE__ */ jsx14("div", { className: "flex h-20 shrink-0 items-center justify-end", children: /* @__PURE__ */ jsx14(
1302
- "button",
1303
- {
1304
- type: "button",
1305
- "aria-label": "Close menu",
1306
- className: "flex size-10 items-center justify-center text-white",
1307
- children: /* @__PURE__ */ jsx14(
1308
- "svg",
1309
- {
1310
- className: "size-6",
1311
- viewBox: "0 0 24 24",
1312
- fill: "none",
1313
- stroke: "currentColor",
1314
- strokeWidth: 2,
1315
- strokeLinecap: "round",
1316
- strokeLinejoin: "round",
1317
- children: /* @__PURE__ */ jsx14("path", { d: "M18 6 6 18M6 6l12 12" })
1318
- }
1319
- )
1320
- }
1321
- ) }),
1322
- /* @__PURE__ */ jsx14("nav", { className: "flex flex-col font-mono-tech text-sm uppercase tracking-widest duration-300 ease-out animate-in fade-in slide-in-from-top-4", children: nav.map((item) => /* @__PURE__ */ jsx14(
1323
- L,
1324
- {
1325
- href: item.href,
1326
- className: "border-b border-main-mist/10 py-4 text-main-mist/80 transition-colors hover:text-main-accent-t1",
1327
- children: item.label
1328
- },
1329
- item.href
1330
- )) }),
1331
- cta && /* @__PURE__ */ jsx14("div", { className: "mt-8 w-full block", children: cta })
1332
- ]
1333
- }
1334
- ) })
1335
- ] });
1336
- }
1337
-
1338
1176
  // src/components/input.tsx
1339
1177
  import "react";
1340
1178
 
@@ -1342,9 +1180,9 @@ import "react";
1342
1180
  var INPUT_BASE = "file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 aria-invalid:border-destructive";
1343
1181
 
1344
1182
  // src/components/input.tsx
1345
- import { jsx as jsx15 } from "react/jsx-runtime";
1183
+ import { jsx as jsx14 } from "react/jsx-runtime";
1346
1184
  function Input({ className, type, ...props }) {
1347
- return /* @__PURE__ */ jsx15(
1185
+ return /* @__PURE__ */ jsx14(
1348
1186
  "input",
1349
1187
  {
1350
1188
  type,
@@ -1362,9 +1200,9 @@ import "react";
1362
1200
  var TEXTAREA_BASE = "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm";
1363
1201
 
1364
1202
  // src/components/textarea.tsx
1365
- import { jsx as jsx16 } from "react/jsx-runtime";
1203
+ import { jsx as jsx15 } from "react/jsx-runtime";
1366
1204
  function Textarea({ className, ...props }) {
1367
- return /* @__PURE__ */ jsx16("textarea", { "data-slot": "textarea", className: cn(TEXTAREA_BASE, className), ...props });
1205
+ return /* @__PURE__ */ jsx15("textarea", { "data-slot": "textarea", className: cn(TEXTAREA_BASE, className), ...props });
1368
1206
  }
1369
1207
 
1370
1208
  // src/components/input-group.tsx
@@ -1391,12 +1229,12 @@ var INPUT_GROUP_INPUT_CONTROL = "flex-1 rounded-none border-0 bg-transparent sha
1391
1229
  var INPUT_GROUP_TEXTAREA_CONTROL = "flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0";
1392
1230
 
1393
1231
  // src/components/input-group.tsx
1394
- import { jsx as jsx17 } from "react/jsx-runtime";
1232
+ import { jsx as jsx16 } from "react/jsx-runtime";
1395
1233
  function InputGroup({
1396
1234
  className,
1397
1235
  ...props
1398
1236
  }) {
1399
- return /* @__PURE__ */ jsx17(
1237
+ return /* @__PURE__ */ jsx16(
1400
1238
  "div",
1401
1239
  {
1402
1240
  "data-slot": "input-group",
@@ -1411,7 +1249,7 @@ function InputGroupAddon({
1411
1249
  align = "inline-start",
1412
1250
  ...props
1413
1251
  }) {
1414
- return /* @__PURE__ */ jsx17(
1252
+ return /* @__PURE__ */ jsx16(
1415
1253
  "div",
1416
1254
  {
1417
1255
  role: "group",
@@ -1437,7 +1275,7 @@ function InputGroupButton({
1437
1275
  size = "xs",
1438
1276
  ...props
1439
1277
  }) {
1440
- return /* @__PURE__ */ jsx17(
1278
+ return /* @__PURE__ */ jsx16(
1441
1279
  Button,
1442
1280
  {
1443
1281
  type,
@@ -1456,7 +1294,7 @@ function InputGroupText({
1456
1294
  className,
1457
1295
  ...props
1458
1296
  }) {
1459
- return /* @__PURE__ */ jsx17(
1297
+ return /* @__PURE__ */ jsx16(
1460
1298
  "span",
1461
1299
  {
1462
1300
  className: cn(INPUT_GROUP_TEXT, className),
@@ -1468,7 +1306,7 @@ function InputGroupInput({
1468
1306
  className,
1469
1307
  ...props
1470
1308
  }) {
1471
- return /* @__PURE__ */ jsx17(
1309
+ return /* @__PURE__ */ jsx16(
1472
1310
  Input,
1473
1311
  {
1474
1312
  "data-slot": "input-group-control",
@@ -1481,7 +1319,7 @@ function InputGroupTextarea({
1481
1319
  className,
1482
1320
  ...props
1483
1321
  }) {
1484
- return /* @__PURE__ */ jsx17(
1322
+ return /* @__PURE__ */ jsx16(
1485
1323
  Textarea,
1486
1324
  {
1487
1325
  "data-slot": "input-group-control",
@@ -1505,13 +1343,13 @@ var separatorOrientations = {
1505
1343
  };
1506
1344
 
1507
1345
  // src/components/separator.tsx
1508
- import { jsx as jsx18 } from "react/jsx-runtime";
1346
+ import { jsx as jsx17 } from "react/jsx-runtime";
1509
1347
  function Separator({
1510
1348
  className,
1511
1349
  orientation = "horizontal",
1512
1350
  ...props
1513
1351
  }) {
1514
- return /* @__PURE__ */ jsx18(
1352
+ return /* @__PURE__ */ jsx17(
1515
1353
  "div",
1516
1354
  {
1517
1355
  role: "separator",
@@ -1554,9 +1392,9 @@ var ITEM_HEADER = "flex basis-full items-center justify-between gap-2";
1554
1392
  var ITEM_FOOTER = "flex basis-full items-center justify-between gap-2";
1555
1393
 
1556
1394
  // src/components/item.tsx
1557
- import { jsx as jsx19 } from "react/jsx-runtime";
1395
+ import { jsx as jsx18 } from "react/jsx-runtime";
1558
1396
  function ItemGroup({ className, ...props }) {
1559
- return /* @__PURE__ */ jsx19(
1397
+ return /* @__PURE__ */ jsx18(
1560
1398
  "div",
1561
1399
  {
1562
1400
  role: "list",
@@ -1570,7 +1408,7 @@ function ItemSeparator({
1570
1408
  className,
1571
1409
  ...props
1572
1410
  }) {
1573
- return /* @__PURE__ */ jsx19(
1411
+ return /* @__PURE__ */ jsx18(
1574
1412
  Separator,
1575
1413
  {
1576
1414
  "data-slot": "item-separator",
@@ -1588,7 +1426,7 @@ function Item({
1588
1426
  ...props
1589
1427
  }) {
1590
1428
  const Comp = asChild ? Slot : "div";
1591
- return /* @__PURE__ */ jsx19(
1429
+ return /* @__PURE__ */ jsx18(
1592
1430
  Comp,
1593
1431
  {
1594
1432
  "data-slot": "item",
@@ -1604,7 +1442,7 @@ function ItemMedia({
1604
1442
  variant = "default",
1605
1443
  ...props
1606
1444
  }) {
1607
- return /* @__PURE__ */ jsx19(
1445
+ return /* @__PURE__ */ jsx18(
1608
1446
  "div",
1609
1447
  {
1610
1448
  "data-slot": "item-media",
@@ -1618,7 +1456,7 @@ function ItemContent({
1618
1456
  className,
1619
1457
  ...props
1620
1458
  }) {
1621
- return /* @__PURE__ */ jsx19(
1459
+ return /* @__PURE__ */ jsx18(
1622
1460
  "div",
1623
1461
  {
1624
1462
  "data-slot": "item-content",
@@ -1628,7 +1466,7 @@ function ItemContent({
1628
1466
  );
1629
1467
  }
1630
1468
  function ItemTitle({ className, ...props }) {
1631
- return /* @__PURE__ */ jsx19(
1469
+ return /* @__PURE__ */ jsx18(
1632
1470
  "div",
1633
1471
  {
1634
1472
  "data-slot": "item-title",
@@ -1641,7 +1479,7 @@ function ItemDescription({
1641
1479
  className,
1642
1480
  ...props
1643
1481
  }) {
1644
- return /* @__PURE__ */ jsx19(
1482
+ return /* @__PURE__ */ jsx18(
1645
1483
  "p",
1646
1484
  {
1647
1485
  "data-slot": "item-description",
@@ -1654,7 +1492,7 @@ function ItemActions({
1654
1492
  className,
1655
1493
  ...props
1656
1494
  }) {
1657
- return /* @__PURE__ */ jsx19(
1495
+ return /* @__PURE__ */ jsx18(
1658
1496
  "div",
1659
1497
  {
1660
1498
  "data-slot": "item-actions",
@@ -1667,7 +1505,7 @@ function ItemHeader({
1667
1505
  className,
1668
1506
  ...props
1669
1507
  }) {
1670
- return /* @__PURE__ */ jsx19(
1508
+ return /* @__PURE__ */ jsx18(
1671
1509
  "div",
1672
1510
  {
1673
1511
  "data-slot": "item-header",
@@ -1680,7 +1518,7 @@ function ItemFooter({
1680
1518
  className,
1681
1519
  ...props
1682
1520
  }) {
1683
- return /* @__PURE__ */ jsx19(
1521
+ return /* @__PURE__ */ jsx18(
1684
1522
  "div",
1685
1523
  {
1686
1524
  "data-slot": "item-footer",
@@ -1698,9 +1536,9 @@ var KBD_BASE = "bg-muted text-muted-foreground pointer-events-none inline-flex h
1698
1536
  var KBD_GROUP_BASE = "inline-flex items-center gap-1";
1699
1537
 
1700
1538
  // src/components/kbd.tsx
1701
- import { jsx as jsx20 } from "react/jsx-runtime";
1539
+ import { jsx as jsx19 } from "react/jsx-runtime";
1702
1540
  function Kbd({ className, ...props }) {
1703
- return /* @__PURE__ */ jsx20(
1541
+ return /* @__PURE__ */ jsx19(
1704
1542
  "kbd",
1705
1543
  {
1706
1544
  "data-slot": "kbd",
@@ -1710,7 +1548,7 @@ function Kbd({ className, ...props }) {
1710
1548
  );
1711
1549
  }
1712
1550
  function KbdGroup({ className, ...props }) {
1713
- return /* @__PURE__ */ jsx20(
1551
+ return /* @__PURE__ */ jsx19(
1714
1552
  "kbd",
1715
1553
  {
1716
1554
  "data-slot": "kbd-group",
@@ -1722,9 +1560,9 @@ function KbdGroup({ className, ...props }) {
1722
1560
 
1723
1561
  // src/components/pagination.tsx
1724
1562
  import "react";
1725
- import { jsx as jsx21, jsxs as jsxs5 } from "react/jsx-runtime";
1563
+ import { jsx as jsx20, jsxs as jsxs4 } from "react/jsx-runtime";
1726
1564
  function Pagination({ className, ...props }) {
1727
- return /* @__PURE__ */ jsx21(
1565
+ return /* @__PURE__ */ jsx20(
1728
1566
  "nav",
1729
1567
  {
1730
1568
  role: "navigation",
@@ -1739,7 +1577,7 @@ function PaginationContent({
1739
1577
  className,
1740
1578
  ...props
1741
1579
  }) {
1742
- return /* @__PURE__ */ jsx21(
1580
+ return /* @__PURE__ */ jsx20(
1743
1581
  "ul",
1744
1582
  {
1745
1583
  "data-slot": "pagination-content",
@@ -1749,7 +1587,7 @@ function PaginationContent({
1749
1587
  );
1750
1588
  }
1751
1589
  function PaginationItem(props) {
1752
- return /* @__PURE__ */ jsx21("li", { "data-slot": "pagination-item", ...props });
1590
+ return /* @__PURE__ */ jsx20("li", { "data-slot": "pagination-item", ...props });
1753
1591
  }
1754
1592
  function PaginationLink({
1755
1593
  className,
@@ -1757,7 +1595,7 @@ function PaginationLink({
1757
1595
  size = "icon",
1758
1596
  ...props
1759
1597
  }) {
1760
- return /* @__PURE__ */ jsx21(
1598
+ return /* @__PURE__ */ jsx20(
1761
1599
  "a",
1762
1600
  {
1763
1601
  "aria-current": isActive ? "page" : void 0,
@@ -1774,9 +1612,9 @@ function PaginationLink({
1774
1612
  }
1775
1613
  );
1776
1614
  }
1777
- var ChevronLeft = () => /* @__PURE__ */ jsx21("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx21("path", { d: "m15 18-6-6 6-6" }) });
1778
- var ChevronRight = () => /* @__PURE__ */ jsx21("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx21("path", { d: "m9 18 6-6-6-6" }) });
1779
- var MoreHorizontal = () => /* @__PURE__ */ jsxs5(
1615
+ var ChevronLeft = () => /* @__PURE__ */ jsx20("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx20("path", { d: "m15 18-6-6 6-6" }) });
1616
+ var ChevronRight = () => /* @__PURE__ */ jsx20("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx20("path", { d: "m9 18 6-6-6-6" }) });
1617
+ var MoreHorizontal = () => /* @__PURE__ */ jsxs4(
1780
1618
  "svg",
1781
1619
  {
1782
1620
  className: "size-4",
@@ -1785,9 +1623,9 @@ var MoreHorizontal = () => /* @__PURE__ */ jsxs5(
1785
1623
  stroke: "currentColor",
1786
1624
  strokeWidth: 2,
1787
1625
  children: [
1788
- /* @__PURE__ */ jsx21("circle", { cx: "12", cy: "12", r: "1" }),
1789
- /* @__PURE__ */ jsx21("circle", { cx: "19", cy: "12", r: "1" }),
1790
- /* @__PURE__ */ jsx21("circle", { cx: "5", cy: "12", r: "1" })
1626
+ /* @__PURE__ */ jsx20("circle", { cx: "12", cy: "12", r: "1" }),
1627
+ /* @__PURE__ */ jsx20("circle", { cx: "19", cy: "12", r: "1" }),
1628
+ /* @__PURE__ */ jsx20("circle", { cx: "5", cy: "12", r: "1" })
1791
1629
  ]
1792
1630
  }
1793
1631
  );
@@ -1795,7 +1633,7 @@ function PaginationPrevious({
1795
1633
  className,
1796
1634
  ...props
1797
1635
  }) {
1798
- return /* @__PURE__ */ jsxs5(
1636
+ return /* @__PURE__ */ jsxs4(
1799
1637
  PaginationLink,
1800
1638
  {
1801
1639
  "aria-label": "Go to previous page",
@@ -1803,8 +1641,8 @@ function PaginationPrevious({
1803
1641
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
1804
1642
  ...props,
1805
1643
  children: [
1806
- /* @__PURE__ */ jsx21(ChevronLeft, {}),
1807
- /* @__PURE__ */ jsx21("span", { className: "hidden sm:block", children: "Previous" })
1644
+ /* @__PURE__ */ jsx20(ChevronLeft, {}),
1645
+ /* @__PURE__ */ jsx20("span", { className: "hidden sm:block", children: "Previous" })
1808
1646
  ]
1809
1647
  }
1810
1648
  );
@@ -1813,7 +1651,7 @@ function PaginationNext({
1813
1651
  className,
1814
1652
  ...props
1815
1653
  }) {
1816
- return /* @__PURE__ */ jsxs5(
1654
+ return /* @__PURE__ */ jsxs4(
1817
1655
  PaginationLink,
1818
1656
  {
1819
1657
  "aria-label": "Go to next page",
@@ -1821,8 +1659,8 @@ function PaginationNext({
1821
1659
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
1822
1660
  ...props,
1823
1661
  children: [
1824
- /* @__PURE__ */ jsx21("span", { className: "hidden sm:block", children: "Next" }),
1825
- /* @__PURE__ */ jsx21(ChevronRight, {})
1662
+ /* @__PURE__ */ jsx20("span", { className: "hidden sm:block", children: "Next" }),
1663
+ /* @__PURE__ */ jsx20(ChevronRight, {})
1826
1664
  ]
1827
1665
  }
1828
1666
  );
@@ -1831,7 +1669,7 @@ function PaginationEllipsis({
1831
1669
  className,
1832
1670
  ...props
1833
1671
  }) {
1834
- return /* @__PURE__ */ jsxs5(
1672
+ return /* @__PURE__ */ jsxs4(
1835
1673
  "span",
1836
1674
  {
1837
1675
  "aria-hidden": true,
@@ -1839,8 +1677,8 @@ function PaginationEllipsis({
1839
1677
  className: cn("flex size-9 items-center justify-center", className),
1840
1678
  ...props,
1841
1679
  children: [
1842
- /* @__PURE__ */ jsx21(MoreHorizontal, {}),
1843
- /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "More pages" })
1680
+ /* @__PURE__ */ jsx20(MoreHorizontal, {}),
1681
+ /* @__PURE__ */ jsx20("span", { className: "sr-only", children: "More pages" })
1844
1682
  ]
1845
1683
  }
1846
1684
  );
@@ -1854,9 +1692,9 @@ var PROGRESS_TRACK = "bg-primary/20 relative h-2 w-full overflow-hidden rounded-
1854
1692
  var PROGRESS_INDICATOR = "bg-primary h-full w-full flex-1 transition-all";
1855
1693
 
1856
1694
  // src/components/progress.tsx
1857
- import { jsx as jsx22 } from "react/jsx-runtime";
1695
+ import { jsx as jsx21 } from "react/jsx-runtime";
1858
1696
  function Progress({ className, value = 0, ...props }) {
1859
- return /* @__PURE__ */ jsx22(
1697
+ return /* @__PURE__ */ jsx21(
1860
1698
  "div",
1861
1699
  {
1862
1700
  "data-slot": "progress",
@@ -1866,7 +1704,7 @@ function Progress({ className, value = 0, ...props }) {
1866
1704
  "aria-valuemax": 100,
1867
1705
  className: cn(PROGRESS_TRACK, className),
1868
1706
  ...props,
1869
- children: /* @__PURE__ */ jsx22(
1707
+ children: /* @__PURE__ */ jsx21(
1870
1708
  "div",
1871
1709
  {
1872
1710
  "data-slot": "progress-indicator",
@@ -1885,9 +1723,9 @@ import "react";
1885
1723
  var SKELETON_BASE = "bg-accent animate-pulse rounded-md";
1886
1724
 
1887
1725
  // src/components/skeleton.tsx
1888
- import { jsx as jsx23 } from "react/jsx-runtime";
1726
+ import { jsx as jsx22 } from "react/jsx-runtime";
1889
1727
  function Skeleton({ className, ...props }) {
1890
- return /* @__PURE__ */ jsx23(
1728
+ return /* @__PURE__ */ jsx22(
1891
1729
  "div",
1892
1730
  {
1893
1731
  "data-slot": "skeleton",
@@ -1899,9 +1737,9 @@ function Skeleton({ className, ...props }) {
1899
1737
 
1900
1738
  // src/components/spinner.tsx
1901
1739
  import "react";
1902
- import { jsx as jsx24 } from "react/jsx-runtime";
1740
+ import { jsx as jsx23 } from "react/jsx-runtime";
1903
1741
  function Spinner({ className, ...props }) {
1904
- return /* @__PURE__ */ jsx24(
1742
+ return /* @__PURE__ */ jsx23(
1905
1743
  "svg",
1906
1744
  {
1907
1745
  role: "status",
@@ -1912,14 +1750,14 @@ function Spinner({ className, ...props }) {
1912
1750
  stroke: "currentColor",
1913
1751
  strokeWidth: 2,
1914
1752
  ...props,
1915
- children: /* @__PURE__ */ jsx24("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
1753
+ children: /* @__PURE__ */ jsx23("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" })
1916
1754
  }
1917
1755
  );
1918
1756
  }
1919
1757
 
1920
1758
  // src/components/status-screen.tsx
1921
1759
  import "react";
1922
- import { jsx as jsx25, jsxs as jsxs6 } from "react/jsx-runtime";
1760
+ import { jsx as jsx24, jsxs as jsxs5 } from "react/jsx-runtime";
1923
1761
  var ACCENT_TEXT = {
1924
1762
  teal: "text-main-accent-t1",
1925
1763
  gold: "text-main-accent-t3",
@@ -1943,15 +1781,15 @@ function statusButtonClass(accent, variant) {
1943
1781
  return cn(BTN_BASE, variant === "filled" ? BTN_FILLED[accent] : BTN_OUTLINE[accent]);
1944
1782
  }
1945
1783
  function LogoMark({ className }) {
1946
- return /* @__PURE__ */ jsx25("svg", { viewBox: "0 0 140 48", className, "aria-hidden": true, children: /* @__PURE__ */ jsxs6("g", { fill: "currentColor", children: [
1947
- /* @__PURE__ */ jsx25("path", { d: "M0.0437012 47.3326L50.9499 40.5805V22.3378L56.4881 23.6408V37.9071L59.1984 37.5005V24.1147L64.6189 25.1808V37.0269L67.2113 36.553V22.1009L56.606 17.481L43.408 21.864V36.553L0.0437012 47.3326Z" }),
1948
- /* @__PURE__ */ jsx25("path", { d: "M77.2277 40.5804L85.9478 41.4099L85.8299 0.304321L73.1033 7.17499V26.3654L77.2277 28.2608V40.5804Z" }),
1949
- /* @__PURE__ */ jsx25("path", { d: "M87.126 0.304321L99.9705 7.29343V42.5943L94.3141 41.8835V9.54417L87.126 5.75347V0.304321Z" }),
1950
- /* @__PURE__ */ jsx25("path", { d: "M103.034 42.9496L139.682 46.0296L110.104 39.7513V26.8393L103.034 23.0486V42.9496Z" })
1784
+ return /* @__PURE__ */ jsx24("svg", { viewBox: "0 0 140 48", className, "aria-hidden": true, children: /* @__PURE__ */ jsxs5("g", { fill: "currentColor", children: [
1785
+ /* @__PURE__ */ jsx24("path", { d: "M0.0437012 47.3326L50.9499 40.5805V22.3378L56.4881 23.6408V37.9071L59.1984 37.5005V24.1147L64.6189 25.1808V37.0269L67.2113 36.553V22.1009L56.606 17.481L43.408 21.864V36.553L0.0437012 47.3326Z" }),
1786
+ /* @__PURE__ */ jsx24("path", { d: "M77.2277 40.5804L85.9478 41.4099L85.8299 0.304321L73.1033 7.17499V26.3654L77.2277 28.2608V40.5804Z" }),
1787
+ /* @__PURE__ */ jsx24("path", { d: "M87.126 0.304321L99.9705 7.29343V42.5943L94.3141 41.8835V9.54417L87.126 5.75347V0.304321Z" }),
1788
+ /* @__PURE__ */ jsx24("path", { d: "M103.034 42.9496L139.682 46.0296L110.104 39.7513V26.8393L103.034 23.0486V42.9496Z" })
1951
1789
  ] }) });
1952
1790
  }
1953
1791
  function ArrowLeftIcon({ className }) {
1954
- return /* @__PURE__ */ jsxs6(
1792
+ return /* @__PURE__ */ jsxs5(
1955
1793
  "svg",
1956
1794
  {
1957
1795
  className,
@@ -1963,8 +1801,8 @@ function ArrowLeftIcon({ className }) {
1963
1801
  strokeLinejoin: "round",
1964
1802
  "aria-hidden": true,
1965
1803
  children: [
1966
- /* @__PURE__ */ jsx25("path", { d: "m12 19-7-7 7-7" }),
1967
- /* @__PURE__ */ jsx25("path", { d: "M19 12H5" })
1804
+ /* @__PURE__ */ jsx24("path", { d: "m12 19-7-7 7-7" }),
1805
+ /* @__PURE__ */ jsx24("path", { d: "M19 12H5" })
1968
1806
  ]
1969
1807
  }
1970
1808
  );
@@ -1983,8 +1821,8 @@ function StatusScreen({
1983
1821
  }) {
1984
1822
  const L = linkComponent ?? "a";
1985
1823
  const accentText = ACCENT_TEXT[accent];
1986
- return /* @__PURE__ */ jsxs6("section", { className: "relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-main-black px-6 py-32 text-center", children: [
1987
- /* @__PURE__ */ jsx25(
1824
+ return /* @__PURE__ */ jsxs5("section", { className: "relative flex min-h-screen flex-col items-center justify-center overflow-hidden bg-main-black px-6 py-32 text-center", children: [
1825
+ /* @__PURE__ */ jsx24(
1988
1826
  "div",
1989
1827
  {
1990
1828
  "aria-hidden": true,
@@ -1994,20 +1832,20 @@ function StatusScreen({
1994
1832
  )
1995
1833
  }
1996
1834
  ),
1997
- /* @__PURE__ */ jsxs6("div", { className: "relative z-10 flex w-full max-w-2xl flex-col items-center", children: [
1998
- /* @__PURE__ */ jsx25(LogoMark, { className: cn("mb-7 h-10 w-auto", accentText) }),
1999
- /* @__PURE__ */ jsx25("p", { className: cn("mb-6 font-mono-tech text-[11px] uppercase tracking-[0.34em]", accentText), children: eyebrow }),
2000
- /* @__PURE__ */ jsx25("p", { className: cn("font-serif-display text-[110px] font-medium leading-[0.9] sm:text-[180px]", accentText), children: code }),
2001
- /* @__PURE__ */ jsxs6("h1", { className: "mt-4 font-serif-display text-3xl font-light leading-tight text-white sm:text-5xl", children: [
1835
+ /* @__PURE__ */ jsxs5("div", { className: "relative z-10 flex w-full max-w-2xl flex-col items-center", children: [
1836
+ /* @__PURE__ */ jsx24(LogoMark, { className: cn("mb-7 h-10 w-auto", accentText) }),
1837
+ /* @__PURE__ */ jsx24("p", { className: cn("mb-6 font-mono-tech text-[11px] uppercase tracking-[0.34em]", accentText), children: eyebrow }),
1838
+ /* @__PURE__ */ jsx24("p", { className: cn("font-serif-display text-[110px] font-medium leading-[0.9] sm:text-[180px]", accentText), children: code }),
1839
+ /* @__PURE__ */ jsxs5("h1", { className: "mt-4 font-serif-display text-3xl font-light leading-tight text-white sm:text-5xl", children: [
2002
1840
  headlineLead,
2003
- /* @__PURE__ */ jsx25("span", { className: cn("font-serif italic", accentText), children: headlineAccent }),
1841
+ /* @__PURE__ */ jsx24("span", { className: cn("font-serif italic", accentText), children: headlineAccent }),
2004
1842
  headlineTail
2005
1843
  ] }),
2006
- /* @__PURE__ */ jsx25("p", { className: "mx-auto mt-5 max-w-md text-sm leading-relaxed text-main-mist/60 sm:text-base", children: subtext }),
2007
- /* @__PURE__ */ jsxs6("div", { className: "mt-9 flex flex-col items-center gap-3 sm:flex-row", children: [
1844
+ /* @__PURE__ */ jsx24("p", { className: "mx-auto mt-5 max-w-md text-sm leading-relaxed text-main-mist/60 sm:text-base", children: subtext }),
1845
+ /* @__PURE__ */ jsxs5("div", { className: "mt-9 flex flex-col items-center gap-3 sm:flex-row", children: [
2008
1846
  children,
2009
- links?.map((link) => /* @__PURE__ */ jsxs6(L, { href: link.href, className: statusButtonClass(accent, link.variant ?? "filled"), children: [
2010
- link.leadingArrow ? /* @__PURE__ */ jsx25(ArrowLeftIcon, { className: "mr-2 h-4 w-4" }) : null,
1847
+ links?.map((link) => /* @__PURE__ */ jsxs5(L, { href: link.href, className: statusButtonClass(accent, link.variant ?? "filled"), children: [
1848
+ link.leadingArrow ? /* @__PURE__ */ jsx24(ArrowLeftIcon, { className: "mr-2 h-4 w-4" }) : null,
2011
1849
  link.label
2012
1850
  ] }, link.label))
2013
1851
  ] })
@@ -2015,7 +1853,7 @@ function StatusScreen({
2015
1853
  ] });
2016
1854
  }
2017
1855
  function NotFound({ linkComponent = "a", homeHref = "/", contactHref = "/contact" }) {
2018
- return /* @__PURE__ */ jsx25(
1856
+ return /* @__PURE__ */ jsx24(
2019
1857
  StatusScreen,
2020
1858
  {
2021
1859
  accent: "teal",
@@ -2033,7 +1871,7 @@ function NotFound({ linkComponent = "a", homeHref = "/", contactHref = "/contact
2033
1871
  );
2034
1872
  }
2035
1873
  function Forbidden({ linkComponent = "a", homeHref = "/", contactHref = "/contact" }) {
2036
- return /* @__PURE__ */ jsx25(
1874
+ return /* @__PURE__ */ jsx24(
2037
1875
  StatusScreen,
2038
1876
  {
2039
1877
  accent: "gold",
@@ -2051,7 +1889,7 @@ function Forbidden({ linkComponent = "a", homeHref = "/", contactHref = "/contac
2051
1889
  );
2052
1890
  }
2053
1891
  function ServerError({ linkComponent = "a", homeHref = "/", reset }) {
2054
- return /* @__PURE__ */ jsx25(
1892
+ return /* @__PURE__ */ jsx24(
2055
1893
  StatusScreen,
2056
1894
  {
2057
1895
  accent: "red",
@@ -2062,7 +1900,7 @@ function ServerError({ linkComponent = "a", homeHref = "/", reset }) {
2062
1900
  subtext: "Something broke on our end \u2014 not yours. We've been alerted and are restoring service. Please try again in a moment.",
2063
1901
  linkComponent,
2064
1902
  links: [{ label: "Back to home", href: homeHref, variant: "outline", leadingArrow: true }],
2065
- children: /* @__PURE__ */ jsx25(
1903
+ children: /* @__PURE__ */ jsx24(
2066
1904
  "button",
2067
1905
  {
2068
1906
  type: "button",
@@ -2090,14 +1928,14 @@ var TABLE_CELL = "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr
2090
1928
  var TABLE_CAPTION = "text-muted-foreground mt-4 text-sm";
2091
1929
 
2092
1930
  // src/components/table.tsx
2093
- import { jsx as jsx26 } from "react/jsx-runtime";
1931
+ import { jsx as jsx25 } from "react/jsx-runtime";
2094
1932
  function Table({ className, ...props }) {
2095
- return /* @__PURE__ */ jsx26(
1933
+ return /* @__PURE__ */ jsx25(
2096
1934
  "div",
2097
1935
  {
2098
1936
  "data-slot": "table-container",
2099
1937
  className: TABLE_CONTAINER,
2100
- children: /* @__PURE__ */ jsx26(
1938
+ children: /* @__PURE__ */ jsx25(
2101
1939
  "table",
2102
1940
  {
2103
1941
  "data-slot": "table",
@@ -2112,7 +1950,7 @@ function TableHeader({
2112
1950
  className,
2113
1951
  ...props
2114
1952
  }) {
2115
- return /* @__PURE__ */ jsx26(
1953
+ return /* @__PURE__ */ jsx25(
2116
1954
  "thead",
2117
1955
  {
2118
1956
  "data-slot": "table-header",
@@ -2125,7 +1963,7 @@ function TableBody({
2125
1963
  className,
2126
1964
  ...props
2127
1965
  }) {
2128
- return /* @__PURE__ */ jsx26(
1966
+ return /* @__PURE__ */ jsx25(
2129
1967
  "tbody",
2130
1968
  {
2131
1969
  "data-slot": "table-body",
@@ -2138,7 +1976,7 @@ function TableFooter({
2138
1976
  className,
2139
1977
  ...props
2140
1978
  }) {
2141
- return /* @__PURE__ */ jsx26(
1979
+ return /* @__PURE__ */ jsx25(
2142
1980
  "tfoot",
2143
1981
  {
2144
1982
  "data-slot": "table-footer",
@@ -2148,7 +1986,7 @@ function TableFooter({
2148
1986
  );
2149
1987
  }
2150
1988
  function TableRow({ className, ...props }) {
2151
- return /* @__PURE__ */ jsx26(
1989
+ return /* @__PURE__ */ jsx25(
2152
1990
  "tr",
2153
1991
  {
2154
1992
  "data-slot": "table-row",
@@ -2158,7 +1996,7 @@ function TableRow({ className, ...props }) {
2158
1996
  );
2159
1997
  }
2160
1998
  function TableHead({ className, ...props }) {
2161
- return /* @__PURE__ */ jsx26(
1999
+ return /* @__PURE__ */ jsx25(
2162
2000
  "th",
2163
2001
  {
2164
2002
  "data-slot": "table-head",
@@ -2168,7 +2006,7 @@ function TableHead({ className, ...props }) {
2168
2006
  );
2169
2007
  }
2170
2008
  function TableCell({ className, ...props }) {
2171
- return /* @__PURE__ */ jsx26(
2009
+ return /* @__PURE__ */ jsx25(
2172
2010
  "td",
2173
2011
  {
2174
2012
  "data-slot": "table-cell",
@@ -2181,7 +2019,7 @@ function TableCaption({
2181
2019
  className,
2182
2020
  ...props
2183
2021
  }) {
2184
- return /* @__PURE__ */ jsx26(
2022
+ return /* @__PURE__ */ jsx25(
2185
2023
  "caption",
2186
2024
  {
2187
2025
  "data-slot": "table-caption",
@@ -2192,7 +2030,7 @@ function TableCaption({
2192
2030
  }
2193
2031
 
2194
2032
  // src/components/accordion.tsx
2195
- import * as React36 from "react";
2033
+ import * as React35 from "react";
2196
2034
 
2197
2035
  // src/generated/accordion.ts
2198
2036
  var ACCORDION_ITEM = "border-b last:border-b-0";
@@ -2202,16 +2040,16 @@ var ACCORDION_CONTENT = "data-[state=closed]:animate-accordion-up data-[state=op
2202
2040
  var ACCORDION_CONTENT_INNER = "pt-0 pb-4";
2203
2041
 
2204
2042
  // src/components/accordion.tsx
2205
- import { jsx as jsx27, jsxs as jsxs7 } from "react/jsx-runtime";
2206
- var AccordionContext = React36.createContext(null);
2043
+ import { jsx as jsx26, jsxs as jsxs6 } from "react/jsx-runtime";
2044
+ var AccordionContext = React35.createContext(null);
2207
2045
  function useAccordion() {
2208
- const ctx = React36.useContext(AccordionContext);
2046
+ const ctx = React35.useContext(AccordionContext);
2209
2047
  if (!ctx) throw new Error("Accordion parts must be used within <Accordion>");
2210
2048
  return ctx;
2211
2049
  }
2212
- var ItemContext = React36.createContext(null);
2050
+ var ItemContext = React35.createContext(null);
2213
2051
  function useItemValue() {
2214
- const value = React36.useContext(ItemContext);
2052
+ const value = React35.useContext(ItemContext);
2215
2053
  if (value === null)
2216
2054
  throw new Error("AccordionTrigger/Content must be used within <AccordionItem>");
2217
2055
  return value;
@@ -2239,7 +2077,7 @@ function Accordion({
2239
2077
  if (open.includes(v)) setOpen(collapsible ? [] : open);
2240
2078
  else setOpen([v]);
2241
2079
  };
2242
- return /* @__PURE__ */ jsx27(AccordionContext.Provider, { value: { isOpen, toggle }, children: /* @__PURE__ */ jsx27("div", { "data-slot": "accordion", ...props, children }) });
2080
+ return /* @__PURE__ */ jsx26(AccordionContext.Provider, { value: { isOpen, toggle }, children: /* @__PURE__ */ jsx26("div", { "data-slot": "accordion", ...props, children }) });
2243
2081
  }
2244
2082
  function AccordionItem({
2245
2083
  className,
@@ -2247,7 +2085,7 @@ function AccordionItem({
2247
2085
  children,
2248
2086
  ...props
2249
2087
  }) {
2250
- return /* @__PURE__ */ jsx27(ItemContext.Provider, { value, children: /* @__PURE__ */ jsx27(
2088
+ return /* @__PURE__ */ jsx26(ItemContext.Provider, { value, children: /* @__PURE__ */ jsx26(
2251
2089
  "div",
2252
2090
  {
2253
2091
  "data-slot": "accordion-item",
@@ -2266,7 +2104,7 @@ function AccordionTrigger({
2266
2104
  const { isOpen, toggle } = useAccordion();
2267
2105
  const value = useItemValue();
2268
2106
  const open = isOpen(value);
2269
- return /* @__PURE__ */ jsx27("h3", { className: ACCORDION_HEADER, "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs7(
2107
+ return /* @__PURE__ */ jsx26("h3", { className: ACCORDION_HEADER, "data-slot": "accordion-header", children: /* @__PURE__ */ jsxs6(
2270
2108
  "button",
2271
2109
  {
2272
2110
  type: "button",
@@ -2281,7 +2119,7 @@ function AccordionTrigger({
2281
2119
  ...props,
2282
2120
  children: [
2283
2121
  children,
2284
- /* @__PURE__ */ jsx27(
2122
+ /* @__PURE__ */ jsx26(
2285
2123
  "svg",
2286
2124
  {
2287
2125
  xmlns: "http://www.w3.org/2000/svg",
@@ -2294,7 +2132,7 @@ function AccordionTrigger({
2294
2132
  strokeLinecap: "round",
2295
2133
  strokeLinejoin: "round",
2296
2134
  className: "text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200",
2297
- children: /* @__PURE__ */ jsx27("path", { d: "m6 9 6 6 6-6" })
2135
+ children: /* @__PURE__ */ jsx26("path", { d: "m6 9 6 6 6-6" })
2298
2136
  }
2299
2137
  )
2300
2138
  ]
@@ -2309,26 +2147,26 @@ function AccordionContent({
2309
2147
  const { isOpen } = useAccordion();
2310
2148
  const value = useItemValue();
2311
2149
  if (!isOpen(value)) return null;
2312
- return /* @__PURE__ */ jsx27(
2150
+ return /* @__PURE__ */ jsx26(
2313
2151
  "div",
2314
2152
  {
2315
2153
  "data-slot": "accordion-content",
2316
2154
  "data-state": "open",
2317
2155
  className: ACCORDION_CONTENT,
2318
2156
  ...props,
2319
- children: /* @__PURE__ */ jsx27("div", { className: cn(ACCORDION_CONTENT_INNER, className), children })
2157
+ children: /* @__PURE__ */ jsx26("div", { className: cn(ACCORDION_CONTENT_INNER, className), children })
2320
2158
  }
2321
2159
  );
2322
2160
  }
2323
2161
 
2324
2162
  // src/components/collapsible.tsx
2325
- import * as React37 from "react";
2326
- import { jsx as jsx28 } from "react/jsx-runtime";
2327
- var CollapsibleContext = React37.createContext(
2163
+ import * as React36 from "react";
2164
+ import { jsx as jsx27 } from "react/jsx-runtime";
2165
+ var CollapsibleContext = React36.createContext(
2328
2166
  null
2329
2167
  );
2330
2168
  function useCollapsible() {
2331
- const ctx = React37.useContext(CollapsibleContext);
2169
+ const ctx = React36.useContext(CollapsibleContext);
2332
2170
  if (!ctx) throw new Error("Collapsible parts must be used within <Collapsible>");
2333
2171
  return ctx;
2334
2172
  }
@@ -2344,14 +2182,14 @@ function Collapsible({
2344
2182
  defaultValue: defaultOpen,
2345
2183
  ...onOpenChange ? { onChange: onOpenChange } : {}
2346
2184
  });
2347
- return /* @__PURE__ */ jsx28(CollapsibleContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx28("div", { "data-slot": "collapsible", "data-state": isOpen ? "open" : "closed", ...props, children }) });
2185
+ return /* @__PURE__ */ jsx27(CollapsibleContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx27("div", { "data-slot": "collapsible", "data-state": isOpen ? "open" : "closed", ...props, children }) });
2348
2186
  }
2349
2187
  function CollapsibleTrigger({
2350
2188
  onClick,
2351
2189
  ...props
2352
2190
  }) {
2353
2191
  const { open, setOpen } = useCollapsible();
2354
- return /* @__PURE__ */ jsx28(
2192
+ return /* @__PURE__ */ jsx27(
2355
2193
  "button",
2356
2194
  {
2357
2195
  type: "button",
@@ -2372,11 +2210,11 @@ function CollapsibleContent({
2372
2210
  }) {
2373
2211
  const { open } = useCollapsible();
2374
2212
  if (!open) return null;
2375
- return /* @__PURE__ */ jsx28("div", { "data-slot": "collapsible-content", "data-state": "open", ...props, children });
2213
+ return /* @__PURE__ */ jsx27("div", { "data-slot": "collapsible-content", "data-state": "open", ...props, children });
2376
2214
  }
2377
2215
 
2378
2216
  // src/components/tabs.tsx
2379
- import * as React38 from "react";
2217
+ import * as React37 from "react";
2380
2218
 
2381
2219
  // src/generated/tabs.ts
2382
2220
  var TABS_ROOT = "flex flex-col gap-2";
@@ -2385,10 +2223,10 @@ var TABS_TRIGGER = "data-[state=active]:bg-background focus-visible:border-ring
2385
2223
  var TABS_CONTENT = "flex-1 outline-none";
2386
2224
 
2387
2225
  // src/components/tabs.tsx
2388
- import { jsx as jsx29 } from "react/jsx-runtime";
2389
- var TabsContext = React38.createContext(null);
2226
+ import { jsx as jsx28 } from "react/jsx-runtime";
2227
+ var TabsContext = React37.createContext(null);
2390
2228
  function useTabs() {
2391
- const ctx = React38.useContext(TabsContext);
2229
+ const ctx = React37.useContext(TabsContext);
2392
2230
  if (!ctx) throw new Error("Tabs parts must be used within <Tabs>");
2393
2231
  return ctx;
2394
2232
  }
@@ -2406,7 +2244,7 @@ function Tabs({
2406
2244
  defaultValue,
2407
2245
  ...onValueChange ? { onChange: onValueChange } : {}
2408
2246
  });
2409
- return /* @__PURE__ */ jsx29(TabsContext.Provider, { value: { value: active, setValue, orientation }, children: /* @__PURE__ */ jsx29(
2247
+ return /* @__PURE__ */ jsx28(TabsContext.Provider, { value: { value: active, setValue, orientation }, children: /* @__PURE__ */ jsx28(
2410
2248
  "div",
2411
2249
  {
2412
2250
  "data-slot": "tabs",
@@ -2424,12 +2262,12 @@ function TabsList({
2424
2262
  ...props
2425
2263
  }) {
2426
2264
  const { orientation } = useTabs();
2427
- const items = React38.Children.toArray(children);
2265
+ const items = React37.Children.toArray(children);
2428
2266
  const { activeIndex, setActiveIndex, onKeyDown: rovingKeyDown } = useRovingFocus({
2429
2267
  count: items.length,
2430
2268
  orientation: orientation === "vertical" ? "vertical" : "horizontal"
2431
2269
  });
2432
- return /* @__PURE__ */ jsx29(
2270
+ return /* @__PURE__ */ jsx28(
2433
2271
  "div",
2434
2272
  {
2435
2273
  role: "tablist",
@@ -2442,7 +2280,7 @@ function TabsList({
2442
2280
  },
2443
2281
  ...props,
2444
2282
  children: items.map(
2445
- (child, index) => React38.isValidElement(child) ? React38.cloneElement(child, {
2283
+ (child, index) => React37.isValidElement(child) ? React37.cloneElement(child, {
2446
2284
  __index: index,
2447
2285
  __isFocusItem: index === activeIndex,
2448
2286
  __onFocusItem: () => setActiveIndex(index)
@@ -2462,7 +2300,7 @@ function TabsTrigger({
2462
2300
  }) {
2463
2301
  const { value: active, setValue } = useTabs();
2464
2302
  const selected = active === value;
2465
- return /* @__PURE__ */ jsx29(
2303
+ return /* @__PURE__ */ jsx28(
2466
2304
  "button",
2467
2305
  {
2468
2306
  type: "button",
@@ -2493,7 +2331,7 @@ function TabsContent({
2493
2331
  }) {
2494
2332
  const { value: active } = useTabs();
2495
2333
  if (active !== value) return null;
2496
- return /* @__PURE__ */ jsx29(
2334
+ return /* @__PURE__ */ jsx28(
2497
2335
  "div",
2498
2336
  {
2499
2337
  role: "tabpanel",
@@ -2522,7 +2360,7 @@ var toggleSizeClasses = {
2522
2360
  };
2523
2361
 
2524
2362
  // src/components/toggle.tsx
2525
- import { jsx as jsx30 } from "react/jsx-runtime";
2363
+ import { jsx as jsx29 } from "react/jsx-runtime";
2526
2364
  function toggleVariants({
2527
2365
  variant = "default",
2528
2366
  size = "default",
@@ -2545,7 +2383,7 @@ function Toggle({
2545
2383
  defaultValue: defaultPressed,
2546
2384
  ...onPressedChange ? { onChange: onPressedChange } : {}
2547
2385
  });
2548
- return /* @__PURE__ */ jsx30(
2386
+ return /* @__PURE__ */ jsx29(
2549
2387
  "button",
2550
2388
  {
2551
2389
  type: "button",
@@ -2563,9 +2401,9 @@ function Toggle({
2563
2401
  }
2564
2402
 
2565
2403
  // src/components/toggle-group.tsx
2566
- import * as React40 from "react";
2567
- import { jsx as jsx31 } from "react/jsx-runtime";
2568
- var ToggleGroupContext = React40.createContext({
2404
+ import * as React39 from "react";
2405
+ import { jsx as jsx30 } from "react/jsx-runtime";
2406
+ var ToggleGroupContext = React39.createContext({
2569
2407
  variant: "default",
2570
2408
  size: "default",
2571
2409
  value: [],
@@ -2592,7 +2430,7 @@ function ToggleGroup({
2592
2430
  defaultValue: toArray(defaultValue),
2593
2431
  onChange: (next) => onValueChange?.(type === "single" ? next[0] ?? "" : next)
2594
2432
  });
2595
- const toggle = React40.useCallback(
2433
+ const toggle = React39.useCallback(
2596
2434
  (itemValue) => {
2597
2435
  if (type === "single") {
2598
2436
  setSelected(selected.includes(itemValue) ? [] : [itemValue]);
@@ -2604,7 +2442,7 @@ function ToggleGroup({
2604
2442
  },
2605
2443
  [type, selected, setSelected]
2606
2444
  );
2607
- return /* @__PURE__ */ jsx31(
2445
+ return /* @__PURE__ */ jsx30(
2608
2446
  "div",
2609
2447
  {
2610
2448
  "data-slot": "toggle-group",
@@ -2615,7 +2453,7 @@ function ToggleGroup({
2615
2453
  className
2616
2454
  ),
2617
2455
  ...props,
2618
- children: /* @__PURE__ */ jsx31(ToggleGroupContext.Provider, { value: { variant, size, value: selected, toggle }, children })
2456
+ children: /* @__PURE__ */ jsx30(ToggleGroupContext.Provider, { value: { variant, size, value: selected, toggle }, children })
2619
2457
  }
2620
2458
  );
2621
2459
  }
@@ -2628,11 +2466,11 @@ function ToggleGroupItem({
2628
2466
  onClick,
2629
2467
  ...props
2630
2468
  }) {
2631
- const context = React40.useContext(ToggleGroupContext);
2469
+ const context = React39.useContext(ToggleGroupContext);
2632
2470
  const resolvedVariant = context.variant || variant || "default";
2633
2471
  const resolvedSize = context.size || size || "default";
2634
2472
  const on = context.value.includes(value);
2635
- return /* @__PURE__ */ jsx31(
2473
+ return /* @__PURE__ */ jsx30(
2636
2474
  "button",
2637
2475
  {
2638
2476
  type: "button",
@@ -2658,7 +2496,7 @@ function ToggleGroupItem({
2658
2496
 
2659
2497
  // src/components/switch.tsx
2660
2498
  import "react";
2661
- import { jsx as jsx32 } from "react/jsx-runtime";
2499
+ import { jsx as jsx31 } from "react/jsx-runtime";
2662
2500
  function Switch({
2663
2501
  className,
2664
2502
  checked,
@@ -2674,7 +2512,7 @@ function Switch({
2674
2512
  ...onCheckedChange ? { onChange: onCheckedChange } : {}
2675
2513
  });
2676
2514
  const state = on ? "checked" : "unchecked";
2677
- return /* @__PURE__ */ jsx32(
2515
+ return /* @__PURE__ */ jsx31(
2678
2516
  "button",
2679
2517
  {
2680
2518
  type: "button",
@@ -2692,7 +2530,7 @@ function Switch({
2692
2530
  setOn(!on);
2693
2531
  },
2694
2532
  ...props,
2695
- children: /* @__PURE__ */ jsx32(
2533
+ children: /* @__PURE__ */ jsx31(
2696
2534
  "span",
2697
2535
  {
2698
2536
  "data-slot": "switch-thumb",
@@ -2706,7 +2544,7 @@ function Switch({
2706
2544
 
2707
2545
  // src/components/checkbox.tsx
2708
2546
  import "react";
2709
- import { jsx as jsx33 } from "react/jsx-runtime";
2547
+ import { jsx as jsx32 } from "react/jsx-runtime";
2710
2548
  function Checkbox({
2711
2549
  className,
2712
2550
  checked,
@@ -2722,7 +2560,7 @@ function Checkbox({
2722
2560
  ...onCheckedChange ? { onChange: onCheckedChange } : {}
2723
2561
  });
2724
2562
  const state = on ? "checked" : "unchecked";
2725
- return /* @__PURE__ */ jsx33(
2563
+ return /* @__PURE__ */ jsx32(
2726
2564
  "button",
2727
2565
  {
2728
2566
  type: "button",
@@ -2740,12 +2578,12 @@ function Checkbox({
2740
2578
  setOn(!on);
2741
2579
  },
2742
2580
  ...props,
2743
- children: on && /* @__PURE__ */ jsx33(
2581
+ children: on && /* @__PURE__ */ jsx32(
2744
2582
  "span",
2745
2583
  {
2746
2584
  "data-slot": "checkbox-indicator",
2747
2585
  className: "flex items-center justify-center text-current transition-none",
2748
- children: /* @__PURE__ */ jsx33(
2586
+ children: /* @__PURE__ */ jsx32(
2749
2587
  "svg",
2750
2588
  {
2751
2589
  xmlns: "http://www.w3.org/2000/svg",
@@ -2757,7 +2595,7 @@ function Checkbox({
2757
2595
  strokeLinejoin: "round",
2758
2596
  className: "size-3.5",
2759
2597
  "aria-hidden": "true",
2760
- children: /* @__PURE__ */ jsx33("path", { d: "M20 6 9 17l-5-5" })
2598
+ children: /* @__PURE__ */ jsx32("path", { d: "M20 6 9 17l-5-5" })
2761
2599
  }
2762
2600
  )
2763
2601
  }
@@ -2767,15 +2605,15 @@ function Checkbox({
2767
2605
  }
2768
2606
 
2769
2607
  // src/components/radio-group.tsx
2770
- import * as React43 from "react";
2608
+ import * as React42 from "react";
2771
2609
 
2772
2610
  // src/generated/radio-group.ts
2773
2611
  var RADIO_GROUP_ROOT = "grid gap-3";
2774
2612
  var RADIO_GROUP_ITEM = "border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50";
2775
2613
 
2776
2614
  // src/components/radio-group.tsx
2777
- import { jsx as jsx34 } from "react/jsx-runtime";
2778
- var RadioGroupContext = React43.createContext(
2615
+ import { jsx as jsx33 } from "react/jsx-runtime";
2616
+ var RadioGroupContext = React42.createContext(
2779
2617
  null
2780
2618
  );
2781
2619
  function RadioGroup({
@@ -2792,10 +2630,10 @@ function RadioGroup({
2792
2630
  defaultValue,
2793
2631
  ...onValueChange ? { onChange: onValueChange } : {}
2794
2632
  });
2795
- const itemsRef = React43.useRef([]);
2796
- const [count, setCount] = React43.useState(0);
2633
+ const itemsRef = React42.useRef([]);
2634
+ const [count, setCount] = React42.useState(0);
2797
2635
  const { activeIndex, setActiveIndex, onKeyDown: rovingKeyDown } = useRovingFocus({ count, orientation: "vertical", loop: true });
2798
- const register = React43.useCallback((el) => {
2636
+ const register = React42.useCallback((el) => {
2799
2637
  const list = itemsRef.current;
2800
2638
  let index = list.indexOf(el);
2801
2639
  if (index === -1) {
@@ -2805,11 +2643,11 @@ function RadioGroup({
2805
2643
  }
2806
2644
  return index;
2807
2645
  }, []);
2808
- const ctx = React43.useMemo(
2646
+ const ctx = React42.useMemo(
2809
2647
  () => ({ value: current, setValue: setCurrent, register, activeIndex, setActiveIndex }),
2810
2648
  [current, setCurrent, register, activeIndex, setActiveIndex]
2811
2649
  );
2812
- return /* @__PURE__ */ jsx34(RadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx34(
2650
+ return /* @__PURE__ */ jsx33(RadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx33(
2813
2651
  "div",
2814
2652
  {
2815
2653
  "data-slot": "radio-group",
@@ -2831,14 +2669,14 @@ function RadioGroupItem({
2831
2669
  onClick,
2832
2670
  ...props
2833
2671
  }) {
2834
- const ctx = React43.useContext(RadioGroupContext);
2672
+ const ctx = React42.useContext(RadioGroupContext);
2835
2673
  if (!ctx) throw new Error("RadioGroupItem must be used within a RadioGroup");
2836
- const indexRef = React43.useRef(-1);
2674
+ const indexRef = React42.useRef(-1);
2837
2675
  const checked = ctx.value === value;
2838
- React43.useEffect(() => {
2676
+ React42.useEffect(() => {
2839
2677
  if (checked) ctx.setActiveIndex(indexRef.current);
2840
2678
  }, [checked]);
2841
- return /* @__PURE__ */ jsx34(
2679
+ return /* @__PURE__ */ jsx33(
2842
2680
  "button",
2843
2681
  {
2844
2682
  ref: (el) => {
@@ -2857,18 +2695,18 @@ function RadioGroupItem({
2857
2695
  ctx.setValue(value);
2858
2696
  },
2859
2697
  ...props,
2860
- children: checked ? /* @__PURE__ */ jsx34(
2698
+ children: checked ? /* @__PURE__ */ jsx33(
2861
2699
  "span",
2862
2700
  {
2863
2701
  "data-slot": "radio-group-indicator",
2864
2702
  className: "relative flex items-center justify-center",
2865
- children: /* @__PURE__ */ jsx34(
2703
+ children: /* @__PURE__ */ jsx33(
2866
2704
  "svg",
2867
2705
  {
2868
2706
  className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2",
2869
2707
  viewBox: "0 0 24 24",
2870
2708
  "aria-hidden": "true",
2871
- children: /* @__PURE__ */ jsx34("circle", { cx: "12", cy: "12", r: "10" })
2709
+ children: /* @__PURE__ */ jsx33("circle", { cx: "12", cy: "12", r: "10" })
2872
2710
  }
2873
2711
  )
2874
2712
  }
@@ -2878,7 +2716,7 @@ function RadioGroupItem({
2878
2716
  }
2879
2717
 
2880
2718
  // src/components/slider.tsx
2881
- import * as React44 from "react";
2719
+ import * as React43 from "react";
2882
2720
 
2883
2721
  // src/generated/slider.ts
2884
2722
  var SLIDER_ROOT = "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col";
@@ -2887,7 +2725,7 @@ var SLIDER_RANGE = "bg-primary absolute data-[orientation=horizontal]:h-full dat
2887
2725
  var SLIDER_THUMB = "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50";
2888
2726
 
2889
2727
  // src/components/slider.tsx
2890
- import { jsx as jsx35, jsxs as jsxs8 } from "react/jsx-runtime";
2728
+ import { jsx as jsx34, jsxs as jsxs7 } from "react/jsx-runtime";
2891
2729
  function clampStep(value, min, max, step) {
2892
2730
  const clamped = Math.min(max, Math.max(min, value));
2893
2731
  if (step <= 0) return clamped;
@@ -2914,9 +2752,9 @@ function Slider({
2914
2752
  const current = clampStep(raw, min, max, step);
2915
2753
  const span = Math.max(max - min, Number.EPSILON);
2916
2754
  const percent = Math.min(100, Math.max(0, (current - min) / span * 100));
2917
- const trackRef = React44.useRef(null);
2918
- const draggingRef = React44.useRef(false);
2919
- const valueFromPointer = React44.useCallback(
2755
+ const trackRef = React43.useRef(null);
2756
+ const draggingRef = React43.useRef(false);
2757
+ const valueFromPointer = React43.useCallback(
2920
2758
  (clientX, clientY) => {
2921
2759
  const rect = trackRef.current?.getBoundingClientRect();
2922
2760
  if (!rect) return current;
@@ -2965,7 +2803,7 @@ function Slider({
2965
2803
  };
2966
2804
  const rangeStyle = orientation === "vertical" ? { height: `${percent}%` } : { width: `${percent}%` };
2967
2805
  const thumbStyle = orientation === "vertical" ? { position: "absolute", bottom: `${percent}%`, left: "50%", transform: "translate(-50%, 50%)" } : { position: "absolute", left: `${percent}%`, top: "50%", transform: "translate(-50%, -50%)" };
2968
- return /* @__PURE__ */ jsxs8(
2806
+ return /* @__PURE__ */ jsxs7(
2969
2807
  "span",
2970
2808
  {
2971
2809
  "data-slot": "slider",
@@ -2977,14 +2815,14 @@ function Slider({
2977
2815
  onPointerMove,
2978
2816
  onPointerUp,
2979
2817
  children: [
2980
- /* @__PURE__ */ jsx35(
2818
+ /* @__PURE__ */ jsx34(
2981
2819
  "span",
2982
2820
  {
2983
2821
  ref: trackRef,
2984
2822
  "data-slot": "slider-track",
2985
2823
  "data-orientation": orientation,
2986
2824
  className: SLIDER_TRACK,
2987
- children: /* @__PURE__ */ jsx35(
2825
+ children: /* @__PURE__ */ jsx34(
2988
2826
  "span",
2989
2827
  {
2990
2828
  "data-slot": "slider-range",
@@ -2995,7 +2833,7 @@ function Slider({
2995
2833
  )
2996
2834
  }
2997
2835
  ),
2998
- /* @__PURE__ */ jsx35(
2836
+ /* @__PURE__ */ jsx34(
2999
2837
  "span",
3000
2838
  {
3001
2839
  "data-slot": "slider-thumb",
@@ -3030,15 +2868,15 @@ var scrollBarOrientations = {
3030
2868
  };
3031
2869
 
3032
2870
  // src/components/scroll-area.tsx
3033
- import { jsx as jsx36, jsxs as jsxs9 } from "react/jsx-runtime";
2871
+ import { jsx as jsx35, jsxs as jsxs8 } from "react/jsx-runtime";
3034
2872
  function ScrollArea({
3035
2873
  className,
3036
2874
  children,
3037
2875
  ...props
3038
2876
  }) {
3039
- return /* @__PURE__ */ jsxs9("div", { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [
3040
- /* @__PURE__ */ jsx36("div", { "data-slot": "scroll-area-viewport", className: SCROLL_AREA_VIEWPORT, children }),
3041
- /* @__PURE__ */ jsx36(ScrollBar, {})
2877
+ return /* @__PURE__ */ jsxs8("div", { "data-slot": "scroll-area", className: cn("relative", className), ...props, children: [
2878
+ /* @__PURE__ */ jsx35("div", { "data-slot": "scroll-area-viewport", className: SCROLL_AREA_VIEWPORT, children }),
2879
+ /* @__PURE__ */ jsx35(ScrollBar, {})
3042
2880
  ] });
3043
2881
  }
3044
2882
  function ScrollBar({
@@ -3046,20 +2884,20 @@ function ScrollBar({
3046
2884
  orientation = "vertical",
3047
2885
  ...props
3048
2886
  }) {
3049
- return /* @__PURE__ */ jsx36(
2887
+ return /* @__PURE__ */ jsx35(
3050
2888
  "div",
3051
2889
  {
3052
2890
  "data-slot": "scroll-area-scrollbar",
3053
2891
  "data-orientation": orientation,
3054
2892
  className: cn(SCROLLBAR_BASE, scrollBarOrientations[orientation], className),
3055
2893
  ...props,
3056
- children: /* @__PURE__ */ jsx36("div", { "data-slot": "scroll-area-thumb", className: SCROLL_AREA_THUMB })
2894
+ children: /* @__PURE__ */ jsx35("div", { "data-slot": "scroll-area-thumb", className: SCROLL_AREA_THUMB })
3057
2895
  }
3058
2896
  );
3059
2897
  }
3060
2898
 
3061
2899
  // src/components/sidebar.tsx
3062
- import * as React46 from "react";
2900
+ import * as React45 from "react";
3063
2901
 
3064
2902
  // src/generated/sidebar.ts
3065
2903
  var SIDEBAR_MENU_BUTTON_BASE = "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";
@@ -3089,12 +2927,12 @@ var SIDEBAR_MENU = "flex w-full min-w-0 flex-col gap-1";
3089
2927
  var SIDEBAR_MENU_ITEM = "group/menu-item relative";
3090
2928
 
3091
2929
  // src/components/sidebar.tsx
3092
- import { jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
2930
+ import { jsx as jsx36, jsxs as jsxs9 } from "react/jsx-runtime";
3093
2931
  var SIDEBAR_WIDTH = "16rem";
3094
2932
  var SIDEBAR_WIDTH_ICON = "3rem";
3095
- var SidebarContext = React46.createContext(null);
2933
+ var SidebarContext = React45.createContext(null);
3096
2934
  function useSidebar() {
3097
- const ctx = React46.useContext(SidebarContext);
2935
+ const ctx = React45.useContext(SidebarContext);
3098
2936
  if (!ctx) throw new Error("useSidebar must be used within a SidebarProvider.");
3099
2937
  return ctx;
3100
2938
  }
@@ -3112,16 +2950,16 @@ function SidebarProvider({
3112
2950
  defaultValue: defaultOpen,
3113
2951
  ...onOpenChange ? { onChange: onOpenChange } : {}
3114
2952
  });
3115
- const toggleSidebar = React46.useCallback(
2953
+ const toggleSidebar = React45.useCallback(
3116
2954
  () => setOpen(!open),
3117
2955
  [open, setOpen]
3118
2956
  );
3119
2957
  const state = open ? "expanded" : "collapsed";
3120
- const contextValue = React46.useMemo(
2958
+ const contextValue = React45.useMemo(
3121
2959
  () => ({ state, open, setOpen, toggleSidebar }),
3122
2960
  [state, open, setOpen, toggleSidebar]
3123
2961
  );
3124
- return /* @__PURE__ */ jsx37(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx37(
2962
+ return /* @__PURE__ */ jsx36(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx36(
3125
2963
  "div",
3126
2964
  {
3127
2965
  "data-slot": "sidebar-wrapper",
@@ -3146,7 +2984,7 @@ function Sidebar({
3146
2984
  }) {
3147
2985
  const { state } = useSidebar();
3148
2986
  if (collapsible === "none") {
3149
- return /* @__PURE__ */ jsx37(
2987
+ return /* @__PURE__ */ jsx36(
3150
2988
  "div",
3151
2989
  {
3152
2990
  "data-slot": "sidebar",
@@ -3156,7 +2994,7 @@ function Sidebar({
3156
2994
  }
3157
2995
  );
3158
2996
  }
3159
- return /* @__PURE__ */ jsx37(
2997
+ return /* @__PURE__ */ jsx36(
3160
2998
  "div",
3161
2999
  {
3162
3000
  className: "group peer text-sidebar-foreground hidden md:block",
@@ -3165,7 +3003,7 @@ function Sidebar({
3165
3003
  "data-variant": variant,
3166
3004
  "data-side": side,
3167
3005
  "data-slot": "sidebar",
3168
- children: /* @__PURE__ */ jsx37(
3006
+ children: /* @__PURE__ */ jsx36(
3169
3007
  "div",
3170
3008
  {
3171
3009
  "data-slot": "sidebar-inner",
@@ -3184,7 +3022,7 @@ function SidebarTrigger({
3184
3022
  ...props
3185
3023
  }) {
3186
3024
  const { toggleSidebar } = useSidebar();
3187
- return /* @__PURE__ */ jsxs10(
3025
+ return /* @__PURE__ */ jsxs9(
3188
3026
  "button",
3189
3027
  {
3190
3028
  type: "button",
@@ -3199,7 +3037,7 @@ function SidebarTrigger({
3199
3037
  ...props,
3200
3038
  children: [
3201
3039
  children,
3202
- /* @__PURE__ */ jsx37("span", { className: "sr-only", children: "Toggle Sidebar" })
3040
+ /* @__PURE__ */ jsx36("span", { className: "sr-only", children: "Toggle Sidebar" })
3203
3041
  ]
3204
3042
  }
3205
3043
  );
@@ -3209,7 +3047,7 @@ function SidebarRail({
3209
3047
  ...props
3210
3048
  }) {
3211
3049
  const { toggleSidebar } = useSidebar();
3212
- return /* @__PURE__ */ jsx37(
3050
+ return /* @__PURE__ */ jsx36(
3213
3051
  "button",
3214
3052
  {
3215
3053
  type: "button",
@@ -3225,7 +3063,7 @@ function SidebarRail({
3225
3063
  );
3226
3064
  }
3227
3065
  function SidebarInset({ className, ...props }) {
3228
- return /* @__PURE__ */ jsx37(
3066
+ return /* @__PURE__ */ jsx36(
3229
3067
  "main",
3230
3068
  {
3231
3069
  "data-slot": "sidebar-inset",
@@ -3235,7 +3073,7 @@ function SidebarInset({ className, ...props }) {
3235
3073
  );
3236
3074
  }
3237
3075
  function SidebarHeader({ className, ...props }) {
3238
- return /* @__PURE__ */ jsx37(
3076
+ return /* @__PURE__ */ jsx36(
3239
3077
  "div",
3240
3078
  {
3241
3079
  "data-slot": "sidebar-header",
@@ -3246,7 +3084,7 @@ function SidebarHeader({ className, ...props }) {
3246
3084
  );
3247
3085
  }
3248
3086
  function SidebarFooter({ className, ...props }) {
3249
- return /* @__PURE__ */ jsx37(
3087
+ return /* @__PURE__ */ jsx36(
3250
3088
  "div",
3251
3089
  {
3252
3090
  "data-slot": "sidebar-footer",
@@ -3260,7 +3098,7 @@ function SidebarSeparator({
3260
3098
  className,
3261
3099
  ...props
3262
3100
  }) {
3263
- return /* @__PURE__ */ jsx37(
3101
+ return /* @__PURE__ */ jsx36(
3264
3102
  "div",
3265
3103
  {
3266
3104
  "data-slot": "sidebar-separator",
@@ -3272,7 +3110,7 @@ function SidebarSeparator({
3272
3110
  );
3273
3111
  }
3274
3112
  function SidebarContent({ className, ...props }) {
3275
- return /* @__PURE__ */ jsx37(
3113
+ return /* @__PURE__ */ jsx36(
3276
3114
  "div",
3277
3115
  {
3278
3116
  "data-slot": "sidebar-content",
@@ -3283,7 +3121,7 @@ function SidebarContent({ className, ...props }) {
3283
3121
  );
3284
3122
  }
3285
3123
  function SidebarGroup({ className, ...props }) {
3286
- return /* @__PURE__ */ jsx37(
3124
+ return /* @__PURE__ */ jsx36(
3287
3125
  "div",
3288
3126
  {
3289
3127
  "data-slot": "sidebar-group",
@@ -3299,7 +3137,7 @@ function SidebarGroupLabel({
3299
3137
  ...props
3300
3138
  }) {
3301
3139
  const Comp = asChild ? Slot : "div";
3302
- return /* @__PURE__ */ jsx37(
3140
+ return /* @__PURE__ */ jsx36(
3303
3141
  Comp,
3304
3142
  {
3305
3143
  "data-slot": "sidebar-group-label",
@@ -3313,7 +3151,7 @@ function SidebarGroupContent({
3313
3151
  className,
3314
3152
  ...props
3315
3153
  }) {
3316
- return /* @__PURE__ */ jsx37(
3154
+ return /* @__PURE__ */ jsx36(
3317
3155
  "div",
3318
3156
  {
3319
3157
  "data-slot": "sidebar-group-content",
@@ -3324,7 +3162,7 @@ function SidebarGroupContent({
3324
3162
  );
3325
3163
  }
3326
3164
  function SidebarMenu({ className, ...props }) {
3327
- return /* @__PURE__ */ jsx37(
3165
+ return /* @__PURE__ */ jsx36(
3328
3166
  "ul",
3329
3167
  {
3330
3168
  "data-slot": "sidebar-menu",
@@ -3335,7 +3173,7 @@ function SidebarMenu({ className, ...props }) {
3335
3173
  );
3336
3174
  }
3337
3175
  function SidebarMenuItem({ className, ...props }) {
3338
- return /* @__PURE__ */ jsx37(
3176
+ return /* @__PURE__ */ jsx36(
3339
3177
  "li",
3340
3178
  {
3341
3179
  "data-slot": "sidebar-menu-item",
@@ -3354,7 +3192,7 @@ function SidebarMenuButton({
3354
3192
  ...props
3355
3193
  }) {
3356
3194
  const Comp = asChild ? Slot : "button";
3357
- return /* @__PURE__ */ jsx37(
3195
+ return /* @__PURE__ */ jsx36(
3358
3196
  Comp,
3359
3197
  {
3360
3198
  "data-slot": "sidebar-menu-button",
@@ -3373,7 +3211,7 @@ function SidebarMenuButton({
3373
3211
  }
3374
3212
 
3375
3213
  // src/components/carousel.tsx
3376
- import * as React47 from "react";
3214
+ import * as React46 from "react";
3377
3215
 
3378
3216
  // src/generated/carousel.ts
3379
3217
  var CAROUSEL_CONTENT_VIEWPORT = "overflow-hidden";
@@ -3392,10 +3230,10 @@ var CAROUSEL_EDGE_FADE_PREV = "pointer-events-none absolute inset-y-0 left-0 w-2
3392
3230
  var CAROUSEL_EDGE_FADE_NEXT = "pointer-events-none absolute inset-y-0 right-0 w-20 bg-gradient-to-l from-background via-background/60 to-transparent transition-opacity duration-300";
3393
3231
 
3394
3232
  // src/components/carousel.tsx
3395
- import { Fragment as Fragment3, jsx as jsx38, jsxs as jsxs11 } from "react/jsx-runtime";
3396
- var CarouselContext = React47.createContext(null);
3233
+ import { Fragment as Fragment3, jsx as jsx37, jsxs as jsxs10 } from "react/jsx-runtime";
3234
+ var CarouselContext = React46.createContext(null);
3397
3235
  function useCarousel() {
3398
- const context = React47.useContext(CarouselContext);
3236
+ const context = React46.useContext(CarouselContext);
3399
3237
  if (!context) {
3400
3238
  throw new Error("useCarousel must be used within a <Carousel />");
3401
3239
  }
@@ -3416,13 +3254,13 @@ function Carousel({
3416
3254
  defaultValue: defaultIndex,
3417
3255
  onChange: onIndexChange
3418
3256
  });
3419
- const [count, setCount] = React47.useState(0);
3257
+ const [count, setCount] = React46.useState(0);
3420
3258
  const canScrollPrev = index > 0;
3421
3259
  const canScrollNext = index < count - 1;
3422
- const scrollPrev = React47.useCallback(() => {
3260
+ const scrollPrev = React46.useCallback(() => {
3423
3261
  if (index > 0) setIndex(index - 1);
3424
3262
  }, [index, setIndex]);
3425
- const scrollNext = React47.useCallback(() => {
3263
+ const scrollNext = React46.useCallback(() => {
3426
3264
  if (index < count - 1) setIndex(index + 1);
3427
3265
  }, [index, count, setIndex]);
3428
3266
  const handleKeyDown = (event) => {
@@ -3435,7 +3273,7 @@ function Carousel({
3435
3273
  }
3436
3274
  onKeyDown?.(event);
3437
3275
  };
3438
- return /* @__PURE__ */ jsx38(
3276
+ return /* @__PURE__ */ jsx37(
3439
3277
  CarouselContext.Provider,
3440
3278
  {
3441
3279
  value: {
@@ -3448,7 +3286,7 @@ function Carousel({
3448
3286
  canScrollPrev,
3449
3287
  canScrollNext
3450
3288
  },
3451
- children: /* @__PURE__ */ jsx38(
3289
+ children: /* @__PURE__ */ jsx37(
3452
3290
  "div",
3453
3291
  {
3454
3292
  onKeyDownCapture: handleKeyDown,
@@ -3470,12 +3308,12 @@ function CarouselContent({
3470
3308
  ...props
3471
3309
  }) {
3472
3310
  const { orientation, index, setCount } = useCarousel();
3473
- const childCount = React47.Children.count(children);
3474
- React47.useEffect(() => {
3311
+ const childCount = React46.Children.count(children);
3312
+ React46.useEffect(() => {
3475
3313
  setCount(childCount);
3476
3314
  }, [childCount, setCount]);
3477
3315
  const transform = orientation === "horizontal" ? `translate3d(-${index * 100}%, 0, 0)` : `translate3d(0, -${index * 100}%, 0)`;
3478
- return /* @__PURE__ */ jsx38("div", { className: CAROUSEL_CONTENT_VIEWPORT, "data-slot": "carousel-content", children: /* @__PURE__ */ jsx38(
3316
+ return /* @__PURE__ */ jsx37("div", { className: CAROUSEL_CONTENT_VIEWPORT, "data-slot": "carousel-content", children: /* @__PURE__ */ jsx37(
3479
3317
  "div",
3480
3318
  {
3481
3319
  className: cn(
@@ -3494,7 +3332,7 @@ function CarouselItem({
3494
3332
  ...props
3495
3333
  }) {
3496
3334
  const { orientation } = useCarousel();
3497
- return /* @__PURE__ */ jsx38(
3335
+ return /* @__PURE__ */ jsx37(
3498
3336
  "div",
3499
3337
  {
3500
3338
  role: "group",
@@ -3513,8 +3351,8 @@ function CarouselEdgeFade({
3513
3351
  className
3514
3352
  }) {
3515
3353
  const { canScrollPrev, canScrollNext } = useCarousel();
3516
- return /* @__PURE__ */ jsxs11(Fragment3, { children: [
3517
- /* @__PURE__ */ jsx38(
3354
+ return /* @__PURE__ */ jsxs10(Fragment3, { children: [
3355
+ /* @__PURE__ */ jsx37(
3518
3356
  "div",
3519
3357
  {
3520
3358
  "aria-hidden": true,
@@ -3525,7 +3363,7 @@ function CarouselEdgeFade({
3525
3363
  )
3526
3364
  }
3527
3365
  ),
3528
- /* @__PURE__ */ jsx38(
3366
+ /* @__PURE__ */ jsx37(
3529
3367
  "div",
3530
3368
  {
3531
3369
  "aria-hidden": true,
@@ -3545,7 +3383,7 @@ function CarouselPrevious({
3545
3383
  ...props
3546
3384
  }) {
3547
3385
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
3548
- return /* @__PURE__ */ jsxs11(
3386
+ return /* @__PURE__ */ jsxs10(
3549
3387
  Button,
3550
3388
  {
3551
3389
  "data-slot": "carousel-previous",
@@ -3560,7 +3398,7 @@ function CarouselPrevious({
3560
3398
  onClick: scrollPrev,
3561
3399
  ...props,
3562
3400
  children: [
3563
- /* @__PURE__ */ jsx38(
3401
+ /* @__PURE__ */ jsx37(
3564
3402
  "svg",
3565
3403
  {
3566
3404
  xmlns: "http://www.w3.org/2000/svg",
@@ -3571,10 +3409,10 @@ function CarouselPrevious({
3571
3409
  strokeLinecap: "round",
3572
3410
  strokeLinejoin: "round",
3573
3411
  "aria-hidden": "true",
3574
- children: /* @__PURE__ */ jsx38("path", { d: "m15 18-6-6 6-6" })
3412
+ children: /* @__PURE__ */ jsx37("path", { d: "m15 18-6-6 6-6" })
3575
3413
  }
3576
3414
  ),
3577
- /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Previous slide" })
3415
+ /* @__PURE__ */ jsx37("span", { className: "sr-only", children: "Previous slide" })
3578
3416
  ]
3579
3417
  }
3580
3418
  );
@@ -3586,7 +3424,7 @@ function CarouselNext({
3586
3424
  ...props
3587
3425
  }) {
3588
3426
  const { orientation, scrollNext, canScrollNext } = useCarousel();
3589
- return /* @__PURE__ */ jsxs11(
3427
+ return /* @__PURE__ */ jsxs10(
3590
3428
  Button,
3591
3429
  {
3592
3430
  "data-slot": "carousel-next",
@@ -3601,7 +3439,7 @@ function CarouselNext({
3601
3439
  onClick: scrollNext,
3602
3440
  ...props,
3603
3441
  children: [
3604
- /* @__PURE__ */ jsx38(
3442
+ /* @__PURE__ */ jsx37(
3605
3443
  "svg",
3606
3444
  {
3607
3445
  xmlns: "http://www.w3.org/2000/svg",
@@ -3612,17 +3450,17 @@ function CarouselNext({
3612
3450
  strokeLinecap: "round",
3613
3451
  strokeLinejoin: "round",
3614
3452
  "aria-hidden": "true",
3615
- children: /* @__PURE__ */ jsx38("path", { d: "m9 18 6-6-6-6" })
3453
+ children: /* @__PURE__ */ jsx37("path", { d: "m9 18 6-6-6-6" })
3616
3454
  }
3617
3455
  ),
3618
- /* @__PURE__ */ jsx38("span", { className: "sr-only", children: "Next slide" })
3456
+ /* @__PURE__ */ jsx37("span", { className: "sr-only", children: "Next slide" })
3619
3457
  ]
3620
3458
  }
3621
3459
  );
3622
3460
  }
3623
3461
 
3624
3462
  // src/components/input-otp.tsx
3625
- import * as React48 from "react";
3463
+ import * as React47 from "react";
3626
3464
 
3627
3465
  // src/generated/input-otp.ts
3628
3466
  var INPUT_OTP_CONTAINER = "relative flex items-center gap-2 has-disabled:opacity-50";
@@ -3633,10 +3471,10 @@ var INPUT_OTP_SLOT_CARET_WRAPPER = "pointer-events-none absolute inset-0 flex it
3633
3471
  var INPUT_OTP_SLOT_CARET = "animate-caret-blink bg-foreground h-4 w-px duration-1000";
3634
3472
 
3635
3473
  // src/components/input-otp.tsx
3636
- import { jsx as jsx39, jsxs as jsxs12 } from "react/jsx-runtime";
3637
- var InputOTPContext = React48.createContext(null);
3474
+ import { jsx as jsx38, jsxs as jsxs11 } from "react/jsx-runtime";
3475
+ var InputOTPContext = React47.createContext(null);
3638
3476
  function useInputOTP() {
3639
- const context = React48.useContext(InputOTPContext);
3477
+ const context = React47.useContext(InputOTPContext);
3640
3478
  if (!context) {
3641
3479
  throw new Error("InputOTP slots must be used within an <InputOTP />");
3642
3480
  }
@@ -3658,16 +3496,16 @@ function InputOTP({
3658
3496
  defaultValue,
3659
3497
  onChange
3660
3498
  });
3661
- const [focused, setFocused] = React48.useState(false);
3499
+ const [focused, setFocused] = React47.useState(false);
3662
3500
  const activeIndex = focused ? Math.min(value.length, maxLength - 1) : -1;
3663
- return /* @__PURE__ */ jsx39(InputOTPContext.Provider, { value: { value, maxLength, activeIndex }, children: /* @__PURE__ */ jsxs12(
3501
+ return /* @__PURE__ */ jsx38(InputOTPContext.Provider, { value: { value, maxLength, activeIndex }, children: /* @__PURE__ */ jsxs11(
3664
3502
  "div",
3665
3503
  {
3666
3504
  "data-slot": "input-otp",
3667
3505
  className: cn(INPUT_OTP_CONTAINER, containerClassName),
3668
3506
  children: [
3669
3507
  children,
3670
- /* @__PURE__ */ jsx39(
3508
+ /* @__PURE__ */ jsx38(
3671
3509
  "input",
3672
3510
  {
3673
3511
  inputMode: "numeric",
@@ -3690,7 +3528,7 @@ function InputOTPGroup({
3690
3528
  className,
3691
3529
  ...props
3692
3530
  }) {
3693
- return /* @__PURE__ */ jsx39(
3531
+ return /* @__PURE__ */ jsx38(
3694
3532
  "div",
3695
3533
  {
3696
3534
  "data-slot": "input-otp-group",
@@ -3704,7 +3542,7 @@ function InputOTPSlot({ index, className, ...props }) {
3704
3542
  const char = value[index];
3705
3543
  const isActive = activeIndex === index;
3706
3544
  const hasFakeCaret = isActive && char === void 0;
3707
- return /* @__PURE__ */ jsxs12(
3545
+ return /* @__PURE__ */ jsxs11(
3708
3546
  "div",
3709
3547
  {
3710
3548
  "data-slot": "input-otp-slot",
@@ -3713,13 +3551,13 @@ function InputOTPSlot({ index, className, ...props }) {
3713
3551
  ...props,
3714
3552
  children: [
3715
3553
  char,
3716
- hasFakeCaret && /* @__PURE__ */ jsx39("div", { className: INPUT_OTP_SLOT_CARET_WRAPPER, children: /* @__PURE__ */ jsx39("div", { className: INPUT_OTP_SLOT_CARET }) })
3554
+ hasFakeCaret && /* @__PURE__ */ jsx38("div", { className: INPUT_OTP_SLOT_CARET_WRAPPER, children: /* @__PURE__ */ jsx38("div", { className: INPUT_OTP_SLOT_CARET }) })
3717
3555
  ]
3718
3556
  }
3719
3557
  );
3720
3558
  }
3721
3559
  function InputOTPSeparator({ ...props }) {
3722
- return /* @__PURE__ */ jsx39("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx39(
3560
+ return /* @__PURE__ */ jsx38("div", { "data-slot": "input-otp-separator", role: "separator", ...props, children: /* @__PURE__ */ jsx38(
3723
3561
  "svg",
3724
3562
  {
3725
3563
  xmlns: "http://www.w3.org/2000/svg",
@@ -3730,27 +3568,27 @@ function InputOTPSeparator({ ...props }) {
3730
3568
  strokeLinecap: "round",
3731
3569
  strokeLinejoin: "round",
3732
3570
  "aria-hidden": "true",
3733
- children: /* @__PURE__ */ jsx39("path", { d: "M5 12h14" })
3571
+ children: /* @__PURE__ */ jsx38("path", { d: "M5 12h14" })
3734
3572
  }
3735
3573
  ) });
3736
3574
  }
3737
3575
 
3738
3576
  // src/components/tooltip.tsx
3739
- import * as React49 from "react";
3577
+ import * as React48 from "react";
3740
3578
 
3741
3579
  // src/generated/tooltip.ts
3742
3580
  var TOOLTIP_CONTENT = "bg-foreground text-background 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 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance";
3743
3581
 
3744
3582
  // src/components/tooltip.tsx
3745
- import { Fragment as Fragment4, jsx as jsx40 } from "react/jsx-runtime";
3746
- var TooltipContext = React49.createContext(null);
3583
+ import { Fragment as Fragment4, jsx as jsx39 } from "react/jsx-runtime";
3584
+ var TooltipContext = React48.createContext(null);
3747
3585
  function useTooltip() {
3748
- const ctx = React49.useContext(TooltipContext);
3586
+ const ctx = React48.useContext(TooltipContext);
3749
3587
  if (!ctx) throw new Error("Tooltip parts must be used within <Tooltip>");
3750
3588
  return ctx;
3751
3589
  }
3752
3590
  function TooltipProvider({ children }) {
3753
- return /* @__PURE__ */ jsx40(Fragment4, { children });
3591
+ return /* @__PURE__ */ jsx39(Fragment4, { children });
3754
3592
  }
3755
3593
  function Tooltip({ open, defaultOpen = false, onOpenChange, children }) {
3756
3594
  const [isOpen, setOpen] = useControllableState({
@@ -3758,8 +3596,8 @@ function Tooltip({ open, defaultOpen = false, onOpenChange, children }) {
3758
3596
  defaultValue: defaultOpen,
3759
3597
  ...onOpenChange ? { onChange: onOpenChange } : {}
3760
3598
  });
3761
- const anchorRef = React49.useRef(null);
3762
- return /* @__PURE__ */ jsx40(TooltipProvider, { children: /* @__PURE__ */ jsx40(TooltipContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children }) });
3599
+ const anchorRef = React48.useRef(null);
3600
+ return /* @__PURE__ */ jsx39(TooltipProvider, { children: /* @__PURE__ */ jsx39(TooltipContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children }) });
3763
3601
  }
3764
3602
  function TooltipTrigger({
3765
3603
  asChild = false,
@@ -3771,7 +3609,7 @@ function TooltipTrigger({
3771
3609
  }) {
3772
3610
  const { setOpen, anchorRef } = useTooltip();
3773
3611
  const Comp = asChild ? Slot : "button";
3774
- return /* @__PURE__ */ jsx40(
3612
+ return /* @__PURE__ */ jsx39(
3775
3613
  Comp,
3776
3614
  {
3777
3615
  "data-slot": "tooltip-trigger",
@@ -3812,7 +3650,7 @@ function TooltipContent({
3812
3650
  offset: sideOffset
3813
3651
  });
3814
3652
  if (!isPresent) return null;
3815
- return /* @__PURE__ */ jsx40(Portal, { children: /* @__PURE__ */ jsx40(
3653
+ return /* @__PURE__ */ jsx39(Portal, { children: /* @__PURE__ */ jsx39(
3816
3654
  "div",
3817
3655
  {
3818
3656
  "data-slot": "tooltip-content",
@@ -3829,16 +3667,16 @@ function TooltipContent({
3829
3667
  }
3830
3668
 
3831
3669
  // src/components/popover.tsx
3832
- import * as React50 from "react";
3670
+ import * as React49 from "react";
3833
3671
 
3834
3672
  // src/generated/popover.ts
3835
3673
  var POPOVER_CONTENT = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-hidden";
3836
3674
 
3837
3675
  // src/components/popover.tsx
3838
- import { jsx as jsx41 } from "react/jsx-runtime";
3839
- var PopoverContext = React50.createContext(null);
3676
+ import { jsx as jsx40 } from "react/jsx-runtime";
3677
+ var PopoverContext = React49.createContext(null);
3840
3678
  function usePopover() {
3841
- const ctx = React50.useContext(PopoverContext);
3679
+ const ctx = React49.useContext(PopoverContext);
3842
3680
  if (!ctx) throw new Error("Popover parts must be used within <Popover>");
3843
3681
  return ctx;
3844
3682
  }
@@ -3848,13 +3686,13 @@ function Popover({ open, defaultOpen = false, onOpenChange, children }) {
3848
3686
  defaultValue: defaultOpen,
3849
3687
  ...onOpenChange ? { onChange: onOpenChange } : {}
3850
3688
  });
3851
- const anchorRef = React50.useRef(null);
3852
- return /* @__PURE__ */ jsx41(PopoverContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children });
3689
+ const anchorRef = React49.useRef(null);
3690
+ return /* @__PURE__ */ jsx40(PopoverContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children });
3853
3691
  }
3854
3692
  function PopoverTrigger({ asChild = false, onClick, ...props }) {
3855
3693
  const { open, setOpen, anchorRef } = usePopover();
3856
3694
  const Comp = asChild ? Slot : "button";
3857
- return /* @__PURE__ */ jsx41(
3695
+ return /* @__PURE__ */ jsx40(
3858
3696
  Comp,
3859
3697
  {
3860
3698
  "data-slot": "popover-trigger",
@@ -3871,7 +3709,7 @@ function PopoverTrigger({ asChild = false, onClick, ...props }) {
3871
3709
  function PopoverAnchor({ asChild = false, ...props }) {
3872
3710
  const { anchorRef } = usePopover();
3873
3711
  const Comp = asChild ? Slot : "div";
3874
- return /* @__PURE__ */ jsx41(
3712
+ return /* @__PURE__ */ jsx40(
3875
3713
  Comp,
3876
3714
  {
3877
3715
  "data-slot": "popover-anchor",
@@ -3903,7 +3741,7 @@ function PopoverContent({
3903
3741
  exclude: [anchorRef]
3904
3742
  });
3905
3743
  if (!isPresent) return null;
3906
- return /* @__PURE__ */ jsx41(Portal, { children: /* @__PURE__ */ jsx41(
3744
+ return /* @__PURE__ */ jsx40(Portal, { children: /* @__PURE__ */ jsx40(
3907
3745
  "div",
3908
3746
  {
3909
3747
  "data-slot": "popover-content",
@@ -3923,16 +3761,16 @@ function PopoverContent({
3923
3761
  }
3924
3762
 
3925
3763
  // src/components/hover-card.tsx
3926
- import * as React51 from "react";
3764
+ import * as React50 from "react";
3927
3765
 
3928
3766
  // src/generated/hover-card.ts
3929
3767
  var HOVER_CARD_CONTENT = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-hidden";
3930
3768
 
3931
3769
  // src/components/hover-card.tsx
3932
- import { jsx as jsx42 } from "react/jsx-runtime";
3933
- var HoverCardContext = React51.createContext(null);
3770
+ import { jsx as jsx41 } from "react/jsx-runtime";
3771
+ var HoverCardContext = React50.createContext(null);
3934
3772
  function useHoverCard() {
3935
- const ctx = React51.useContext(HoverCardContext);
3773
+ const ctx = React50.useContext(HoverCardContext);
3936
3774
  if (!ctx) throw new Error("HoverCard parts must be used within <HoverCard>");
3937
3775
  return ctx;
3938
3776
  }
@@ -3942,8 +3780,8 @@ function HoverCard({ open, defaultOpen = false, onOpenChange, children }) {
3942
3780
  defaultValue: defaultOpen,
3943
3781
  ...onOpenChange ? { onChange: onOpenChange } : {}
3944
3782
  });
3945
- const anchorRef = React51.useRef(null);
3946
- return /* @__PURE__ */ jsx42(HoverCardContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children });
3783
+ const anchorRef = React50.useRef(null);
3784
+ return /* @__PURE__ */ jsx41(HoverCardContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children });
3947
3785
  }
3948
3786
  function HoverCardTrigger({
3949
3787
  asChild = false,
@@ -3953,7 +3791,7 @@ function HoverCardTrigger({
3953
3791
  }) {
3954
3792
  const { setOpen, anchorRef } = useHoverCard();
3955
3793
  const Comp = asChild ? Slot : "a";
3956
- return /* @__PURE__ */ jsx42(
3794
+ return /* @__PURE__ */ jsx41(
3957
3795
  Comp,
3958
3796
  {
3959
3797
  "data-slot": "hover-card-trigger",
@@ -3988,7 +3826,7 @@ function HoverCardContent({
3988
3826
  offset: sideOffset
3989
3827
  });
3990
3828
  if (!isPresent) return null;
3991
- return /* @__PURE__ */ jsx42(Portal, { children: /* @__PURE__ */ jsx42(
3829
+ return /* @__PURE__ */ jsx41(Portal, { children: /* @__PURE__ */ jsx41(
3992
3830
  "div",
3993
3831
  {
3994
3832
  "data-slot": "hover-card-content",
@@ -4005,7 +3843,7 @@ function HoverCardContent({
4005
3843
  }
4006
3844
 
4007
3845
  // src/components/dropdown-menu.tsx
4008
- import * as React52 from "react";
3846
+ import * as React51 from "react";
4009
3847
 
4010
3848
  // src/generated/dropdown-menu.ts
4011
3849
  var DROPDOWN_MENU_CONTENT = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md";
@@ -4019,12 +3857,12 @@ var DROPDOWN_MENU_SEPARATOR = "bg-border -mx-1 my-1 h-px";
4019
3857
  var DROPDOWN_MENU_SHORTCUT = "text-muted-foreground ml-auto text-xs tracking-widest";
4020
3858
 
4021
3859
  // src/components/dropdown-menu.tsx
4022
- import { jsx as jsx43, jsxs as jsxs13 } from "react/jsx-runtime";
4023
- var DropdownMenuContext = React52.createContext(
3860
+ import { jsx as jsx42, jsxs as jsxs12 } from "react/jsx-runtime";
3861
+ var DropdownMenuContext = React51.createContext(
4024
3862
  null
4025
3863
  );
4026
3864
  function useDropdownMenu() {
4027
- const ctx = React52.useContext(DropdownMenuContext);
3865
+ const ctx = React51.useContext(DropdownMenuContext);
4028
3866
  if (!ctx) throw new Error("DropdownMenu parts must be used within <DropdownMenu>");
4029
3867
  return ctx;
4030
3868
  }
@@ -4034,16 +3872,16 @@ function DropdownMenu({ open, defaultOpen = false, onOpenChange, children }) {
4034
3872
  defaultValue: defaultOpen,
4035
3873
  ...onOpenChange ? { onChange: onOpenChange } : {}
4036
3874
  });
4037
- const anchorRef = React52.useRef(null);
4038
- return /* @__PURE__ */ jsx43(DropdownMenuContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children: /* @__PURE__ */ jsx43("div", { "data-slot": "dropdown-menu", children }) });
3875
+ const anchorRef = React51.useRef(null);
3876
+ return /* @__PURE__ */ jsx42(DropdownMenuContext.Provider, { value: { open: isOpen, setOpen, anchorRef }, children: /* @__PURE__ */ jsx42("div", { "data-slot": "dropdown-menu", children }) });
4039
3877
  }
4040
3878
  function DropdownMenuPortal({ children }) {
4041
- return /* @__PURE__ */ jsx43(Portal, { children });
3879
+ return /* @__PURE__ */ jsx42(Portal, { children });
4042
3880
  }
4043
3881
  function DropdownMenuTrigger({ asChild = false, onClick, ...props }) {
4044
3882
  const { open, setOpen, anchorRef } = useDropdownMenu();
4045
3883
  const Comp = asChild ? Slot : "button";
4046
- return /* @__PURE__ */ jsx43(
3884
+ return /* @__PURE__ */ jsx42(
4047
3885
  Comp,
4048
3886
  {
4049
3887
  "data-slot": "dropdown-menu-trigger",
@@ -4079,7 +3917,7 @@ function DropdownMenuContent({
4079
3917
  onDismiss: () => setOpen(false),
4080
3918
  exclude: [anchorRef]
4081
3919
  });
4082
- const contentRef = React52.useRef(null);
3920
+ const contentRef = React51.useRef(null);
4083
3921
  const items = () => Array.from(
4084
3922
  contentRef.current?.querySelectorAll("[role^='menuitem']") ?? []
4085
3923
  ).filter((el) => el.getAttribute("data-disabled") === null);
@@ -4088,13 +3926,13 @@ function DropdownMenuContent({
4088
3926
  orientation: "vertical",
4089
3927
  loop: true
4090
3928
  });
4091
- React52.useEffect(() => {
3929
+ React51.useEffect(() => {
4092
3930
  if (!open) return;
4093
3931
  items()[activeIndex]?.focus();
4094
3932
  }, [open, activeIndex]);
4095
- const close = React52.useCallback(() => setOpen(false), [setOpen]);
3933
+ const close = React51.useCallback(() => setOpen(false), [setOpen]);
4096
3934
  if (!isPresent) return null;
4097
- return /* @__PURE__ */ jsx43(Portal, { children: /* @__PURE__ */ jsx43(DropdownMenuCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx43(
3935
+ return /* @__PURE__ */ jsx42(Portal, { children: /* @__PURE__ */ jsx42(DropdownMenuCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx42(
4098
3936
  "div",
4099
3937
  {
4100
3938
  "data-slot": "dropdown-menu-content",
@@ -4117,10 +3955,10 @@ function DropdownMenuContent({
4117
3955
  }
4118
3956
  ) }) });
4119
3957
  }
4120
- var DropdownMenuCloseContext = React52.createContext(() => {
3958
+ var DropdownMenuCloseContext = React51.createContext(() => {
4121
3959
  });
4122
3960
  function DropdownMenuGroup({ className, ...props }) {
4123
- return /* @__PURE__ */ jsx43("div", { "data-slot": "dropdown-menu-group", role: "group", className, ...props });
3961
+ return /* @__PURE__ */ jsx42("div", { "data-slot": "dropdown-menu-group", role: "group", className, ...props });
4124
3962
  }
4125
3963
  function DropdownMenuItem({
4126
3964
  className,
@@ -4131,8 +3969,8 @@ function DropdownMenuItem({
4131
3969
  onKeyDown,
4132
3970
  ...props
4133
3971
  }) {
4134
- const close = React52.useContext(DropdownMenuCloseContext);
4135
- return /* @__PURE__ */ jsx43(
3972
+ const close = React51.useContext(DropdownMenuCloseContext);
3973
+ return /* @__PURE__ */ jsx42(
4136
3974
  "div",
4137
3975
  {
4138
3976
  "data-slot": "dropdown-menu-item",
@@ -4169,8 +4007,8 @@ function DropdownMenuCheckboxItem({
4169
4007
  onClick,
4170
4008
  ...props
4171
4009
  }) {
4172
- const close = React52.useContext(DropdownMenuCloseContext);
4173
- return /* @__PURE__ */ jsxs13(
4010
+ const close = React51.useContext(DropdownMenuCloseContext);
4011
+ return /* @__PURE__ */ jsxs12(
4174
4012
  "div",
4175
4013
  {
4176
4014
  "data-slot": "dropdown-menu-checkbox-item",
@@ -4190,13 +4028,13 @@ function DropdownMenuCheckboxItem({
4190
4028
  },
4191
4029
  ...props,
4192
4030
  children: [
4193
- /* @__PURE__ */ jsx43("span", { className: DROPDOWN_MENU_ITEM_INDICATOR, children: checked ? /* @__PURE__ */ jsx43("svg", { className: "size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("path", { d: "M20 6 9 17l-5-5" }) }) : null }),
4031
+ /* @__PURE__ */ jsx42("span", { className: DROPDOWN_MENU_ITEM_INDICATOR, children: checked ? /* @__PURE__ */ jsx42("svg", { className: "size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx42("path", { d: "M20 6 9 17l-5-5" }) }) : null }),
4194
4032
  children
4195
4033
  ]
4196
4034
  }
4197
4035
  );
4198
4036
  }
4199
- var DropdownMenuRadioGroupContext = React52.createContext(null);
4037
+ var DropdownMenuRadioGroupContext = React51.createContext(null);
4200
4038
  function DropdownMenuRadioGroup({
4201
4039
  className,
4202
4040
  value,
@@ -4204,11 +4042,11 @@ function DropdownMenuRadioGroup({
4204
4042
  children,
4205
4043
  ...props
4206
4044
  }) {
4207
- const ctx = React52.useMemo(
4045
+ const ctx = React51.useMemo(
4208
4046
  () => ({ value, setValue: (next) => onValueChange?.(next) }),
4209
4047
  [value, onValueChange]
4210
4048
  );
4211
- return /* @__PURE__ */ jsx43(DropdownMenuRadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx43("div", { "data-slot": "dropdown-menu-radio-group", role: "group", className, ...props, children }) });
4049
+ return /* @__PURE__ */ jsx42(DropdownMenuRadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx42("div", { "data-slot": "dropdown-menu-radio-group", role: "group", className, ...props, children }) });
4212
4050
  }
4213
4051
  function DropdownMenuRadioItem({
4214
4052
  className,
@@ -4218,10 +4056,10 @@ function DropdownMenuRadioItem({
4218
4056
  onClick,
4219
4057
  ...props
4220
4058
  }) {
4221
- const close = React52.useContext(DropdownMenuCloseContext);
4222
- const group = React52.useContext(DropdownMenuRadioGroupContext);
4059
+ const close = React51.useContext(DropdownMenuCloseContext);
4060
+ const group = React51.useContext(DropdownMenuRadioGroupContext);
4223
4061
  const checked = group?.value === value;
4224
- return /* @__PURE__ */ jsxs13(
4062
+ return /* @__PURE__ */ jsxs12(
4225
4063
  "div",
4226
4064
  {
4227
4065
  "data-slot": "dropdown-menu-radio-item",
@@ -4242,14 +4080,14 @@ function DropdownMenuRadioItem({
4242
4080
  },
4243
4081
  ...props,
4244
4082
  children: [
4245
- /* @__PURE__ */ jsx43("span", { className: DROPDOWN_MENU_ITEM_INDICATOR, children: checked ? /* @__PURE__ */ jsx43("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("circle", { cx: "12", cy: "12", r: "10" }) }) : null }),
4083
+ /* @__PURE__ */ jsx42("span", { className: DROPDOWN_MENU_ITEM_INDICATOR, children: checked ? /* @__PURE__ */ jsx42("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx42("circle", { cx: "12", cy: "12", r: "10" }) }) : null }),
4246
4084
  children
4247
4085
  ]
4248
4086
  }
4249
4087
  );
4250
4088
  }
4251
4089
  function DropdownMenuLabel({ className, inset, ...props }) {
4252
- return /* @__PURE__ */ jsx43(
4090
+ return /* @__PURE__ */ jsx42(
4253
4091
  "div",
4254
4092
  {
4255
4093
  "data-slot": "dropdown-menu-label",
@@ -4260,7 +4098,7 @@ function DropdownMenuLabel({ className, inset, ...props }) {
4260
4098
  );
4261
4099
  }
4262
4100
  function DropdownMenuSeparator({ className, ...props }) {
4263
- return /* @__PURE__ */ jsx43(
4101
+ return /* @__PURE__ */ jsx42(
4264
4102
  "div",
4265
4103
  {
4266
4104
  "data-slot": "dropdown-menu-separator",
@@ -4271,7 +4109,7 @@ function DropdownMenuSeparator({ className, ...props }) {
4271
4109
  );
4272
4110
  }
4273
4111
  function DropdownMenuShortcut({ className, ...props }) {
4274
- return /* @__PURE__ */ jsx43(
4112
+ return /* @__PURE__ */ jsx42(
4275
4113
  "span",
4276
4114
  {
4277
4115
  "data-slot": "dropdown-menu-shortcut",
@@ -4280,18 +4118,18 @@ function DropdownMenuShortcut({ className, ...props }) {
4280
4118
  }
4281
4119
  );
4282
4120
  }
4283
- var DropdownMenuSubContext = React52.createContext(null);
4121
+ var DropdownMenuSubContext = React51.createContext(null);
4284
4122
  function DropdownMenuSub({ open, defaultOpen = false, onOpenChange, children }) {
4285
4123
  const [isOpen, setOpen] = useControllableState({
4286
4124
  ...open !== void 0 ? { value: open } : {},
4287
4125
  defaultValue: defaultOpen,
4288
4126
  ...onOpenChange ? { onChange: onOpenChange } : {}
4289
4127
  });
4290
- return /* @__PURE__ */ jsx43(DropdownMenuSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx43("div", { "data-slot": "dropdown-menu-sub", children }) });
4128
+ return /* @__PURE__ */ jsx42(DropdownMenuSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx42("div", { "data-slot": "dropdown-menu-sub", children }) });
4291
4129
  }
4292
4130
  function DropdownMenuSubTrigger({ className, inset, children, onClick, ...props }) {
4293
- const ctx = React52.useContext(DropdownMenuSubContext);
4294
- return /* @__PURE__ */ jsxs13(
4131
+ const ctx = React51.useContext(DropdownMenuSubContext);
4132
+ return /* @__PURE__ */ jsxs12(
4295
4133
  "div",
4296
4134
  {
4297
4135
  "data-slot": "dropdown-menu-sub-trigger",
@@ -4312,15 +4150,15 @@ function DropdownMenuSubTrigger({ className, inset, children, onClick, ...props
4312
4150
  ...props,
4313
4151
  children: [
4314
4152
  children,
4315
- /* @__PURE__ */ jsx43("svg", { className: "ml-auto size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("path", { d: "m9 18 6-6-6-6" }) })
4153
+ /* @__PURE__ */ jsx42("svg", { className: "ml-auto size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx42("path", { d: "m9 18 6-6-6-6" }) })
4316
4154
  ]
4317
4155
  }
4318
4156
  );
4319
4157
  }
4320
4158
  function DropdownMenuSubContent({ className, children, ...props }) {
4321
- const ctx = React52.useContext(DropdownMenuSubContext);
4159
+ const ctx = React51.useContext(DropdownMenuSubContext);
4322
4160
  if (!ctx?.open) return null;
4323
- return /* @__PURE__ */ jsx43(
4161
+ return /* @__PURE__ */ jsx42(
4324
4162
  "div",
4325
4163
  {
4326
4164
  "data-slot": "dropdown-menu-sub-content",
@@ -4337,7 +4175,7 @@ function DropdownMenuSubContent({ className, children, ...props }) {
4337
4175
  }
4338
4176
 
4339
4177
  // src/components/context-menu.tsx
4340
- import * as React53 from "react";
4178
+ import * as React52 from "react";
4341
4179
 
4342
4180
  // src/generated/context-menu.ts
4343
4181
  var CONTEXT_MENU_CONTENT = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md";
@@ -4350,10 +4188,10 @@ var CONTEXT_MENU_SEPARATOR = "bg-border -mx-1 my-1 h-px";
4350
4188
  var CONTEXT_MENU_SHORTCUT = "text-muted-foreground ml-auto text-xs tracking-widest";
4351
4189
 
4352
4190
  // src/components/context-menu.tsx
4353
- import { jsx as jsx44, jsxs as jsxs14 } from "react/jsx-runtime";
4354
- var ContextMenuContext = React53.createContext(null);
4191
+ import { jsx as jsx43, jsxs as jsxs13 } from "react/jsx-runtime";
4192
+ var ContextMenuContext = React52.createContext(null);
4355
4193
  function useContextMenu() {
4356
- const ctx = React53.useContext(ContextMenuContext);
4194
+ const ctx = React52.useContext(ContextMenuContext);
4357
4195
  if (!ctx) throw new Error("ContextMenu parts must be used within <ContextMenu>");
4358
4196
  return ctx;
4359
4197
  }
@@ -4363,16 +4201,16 @@ function ContextMenu({ open, defaultOpen = false, onOpenChange, children }) {
4363
4201
  defaultValue: defaultOpen,
4364
4202
  ...onOpenChange ? { onChange: onOpenChange } : {}
4365
4203
  });
4366
- const [point, setPoint] = React53.useState({ x: 0, y: 0 });
4367
- return /* @__PURE__ */ jsx44(ContextMenuContext.Provider, { value: { open: isOpen, setOpen, point, setPoint }, children: /* @__PURE__ */ jsx44("div", { "data-slot": "context-menu", children }) });
4204
+ const [point, setPoint] = React52.useState({ x: 0, y: 0 });
4205
+ return /* @__PURE__ */ jsx43(ContextMenuContext.Provider, { value: { open: isOpen, setOpen, point, setPoint }, children: /* @__PURE__ */ jsx43("div", { "data-slot": "context-menu", children }) });
4368
4206
  }
4369
4207
  function ContextMenuPortal({ children }) {
4370
- return /* @__PURE__ */ jsx44(Portal, { children });
4208
+ return /* @__PURE__ */ jsx43(Portal, { children });
4371
4209
  }
4372
4210
  function ContextMenuTrigger({ asChild = false, onContextMenu, ...props }) {
4373
4211
  const { setOpen, setPoint } = useContextMenu();
4374
4212
  const Comp = asChild ? Slot : "div";
4375
- return /* @__PURE__ */ jsx44(
4213
+ return /* @__PURE__ */ jsx43(
4376
4214
  Comp,
4377
4215
  {
4378
4216
  "data-slot": "context-menu-trigger",
@@ -4387,9 +4225,9 @@ function ContextMenuTrigger({ asChild = false, onContextMenu, ...props }) {
4387
4225
  );
4388
4226
  }
4389
4227
  function ContextMenuGroup({ className, ...props }) {
4390
- return /* @__PURE__ */ jsx44("div", { "data-slot": "context-menu-group", role: "group", className, ...props });
4228
+ return /* @__PURE__ */ jsx43("div", { "data-slot": "context-menu-group", role: "group", className, ...props });
4391
4229
  }
4392
- var ContextMenuCloseContext = React53.createContext(() => {
4230
+ var ContextMenuCloseContext = React52.createContext(() => {
4393
4231
  });
4394
4232
  function ContextMenuContent({ className, children, ...props }) {
4395
4233
  const { open, setOpen, point } = useContextMenu();
@@ -4398,7 +4236,7 @@ function ContextMenuContent({ className, children, ...props }) {
4398
4236
  enabled: open,
4399
4237
  onDismiss: () => setOpen(false)
4400
4238
  });
4401
- const contentRef = React53.useRef(null);
4239
+ const contentRef = React52.useRef(null);
4402
4240
  const items = () => Array.from(
4403
4241
  contentRef.current?.querySelectorAll("[role^='menuitem']") ?? []
4404
4242
  ).filter((el) => el.getAttribute("data-disabled") === null);
@@ -4407,13 +4245,13 @@ function ContextMenuContent({ className, children, ...props }) {
4407
4245
  orientation: "vertical",
4408
4246
  loop: true
4409
4247
  });
4410
- React53.useEffect(() => {
4248
+ React52.useEffect(() => {
4411
4249
  if (!open) return;
4412
4250
  items()[activeIndex]?.focus();
4413
4251
  }, [open, activeIndex]);
4414
- const close = React53.useCallback(() => setOpen(false), [setOpen]);
4252
+ const close = React52.useCallback(() => setOpen(false), [setOpen]);
4415
4253
  if (!isPresent) return null;
4416
- return /* @__PURE__ */ jsx44(Portal, { children: /* @__PURE__ */ jsx44(ContextMenuCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx44(
4254
+ return /* @__PURE__ */ jsx43(Portal, { children: /* @__PURE__ */ jsx43(ContextMenuCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx43(
4417
4255
  "div",
4418
4256
  {
4419
4257
  "data-slot": "context-menu-content",
@@ -4445,8 +4283,8 @@ function ContextMenuItem({
4445
4283
  onKeyDown,
4446
4284
  ...props
4447
4285
  }) {
4448
- const close = React53.useContext(ContextMenuCloseContext);
4449
- return /* @__PURE__ */ jsx44(
4286
+ const close = React52.useContext(ContextMenuCloseContext);
4287
+ return /* @__PURE__ */ jsx43(
4450
4288
  "div",
4451
4289
  {
4452
4290
  "data-slot": "context-menu-item",
@@ -4483,8 +4321,8 @@ function ContextMenuCheckboxItem({
4483
4321
  onClick,
4484
4322
  ...props
4485
4323
  }) {
4486
- const close = React53.useContext(ContextMenuCloseContext);
4487
- return /* @__PURE__ */ jsxs14(
4324
+ const close = React52.useContext(ContextMenuCloseContext);
4325
+ return /* @__PURE__ */ jsxs13(
4488
4326
  "div",
4489
4327
  {
4490
4328
  "data-slot": "context-menu-checkbox-item",
@@ -4504,13 +4342,13 @@ function ContextMenuCheckboxItem({
4504
4342
  },
4505
4343
  ...props,
4506
4344
  children: [
4507
- /* @__PURE__ */ jsx44("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: checked ? /* @__PURE__ */ jsx44("svg", { className: "size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx44("path", { d: "M20 6 9 17l-5-5" }) }) : null }),
4345
+ /* @__PURE__ */ jsx43("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: checked ? /* @__PURE__ */ jsx43("svg", { className: "size-4", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("path", { d: "M20 6 9 17l-5-5" }) }) : null }),
4508
4346
  children
4509
4347
  ]
4510
4348
  }
4511
4349
  );
4512
4350
  }
4513
- var ContextMenuRadioGroupContext = React53.createContext(null);
4351
+ var ContextMenuRadioGroupContext = React52.createContext(null);
4514
4352
  function ContextMenuRadioGroup({
4515
4353
  className,
4516
4354
  value,
@@ -4518,11 +4356,11 @@ function ContextMenuRadioGroup({
4518
4356
  children,
4519
4357
  ...props
4520
4358
  }) {
4521
- const ctx = React53.useMemo(
4359
+ const ctx = React52.useMemo(
4522
4360
  () => ({ value, setValue: (next) => onValueChange?.(next) }),
4523
4361
  [value, onValueChange]
4524
4362
  );
4525
- return /* @__PURE__ */ jsx44(ContextMenuRadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx44("div", { "data-slot": "context-menu-radio-group", role: "group", className, ...props, children }) });
4363
+ return /* @__PURE__ */ jsx43(ContextMenuRadioGroupContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx43("div", { "data-slot": "context-menu-radio-group", role: "group", className, ...props, children }) });
4526
4364
  }
4527
4365
  function ContextMenuRadioItem({
4528
4366
  className,
@@ -4532,10 +4370,10 @@ function ContextMenuRadioItem({
4532
4370
  onClick,
4533
4371
  ...props
4534
4372
  }) {
4535
- const close = React53.useContext(ContextMenuCloseContext);
4536
- const group = React53.useContext(ContextMenuRadioGroupContext);
4373
+ const close = React52.useContext(ContextMenuCloseContext);
4374
+ const group = React52.useContext(ContextMenuRadioGroupContext);
4537
4375
  const checked = group?.value === value;
4538
- return /* @__PURE__ */ jsxs14(
4376
+ return /* @__PURE__ */ jsxs13(
4539
4377
  "div",
4540
4378
  {
4541
4379
  "data-slot": "context-menu-radio-item",
@@ -4556,14 +4394,14 @@ function ContextMenuRadioItem({
4556
4394
  },
4557
4395
  ...props,
4558
4396
  children: [
4559
- /* @__PURE__ */ jsx44("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: checked ? /* @__PURE__ */ jsx44("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx44("circle", { cx: "12", cy: "12", r: "10" }) }) : null }),
4397
+ /* @__PURE__ */ jsx43("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: checked ? /* @__PURE__ */ jsx43("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("circle", { cx: "12", cy: "12", r: "10" }) }) : null }),
4560
4398
  children
4561
4399
  ]
4562
4400
  }
4563
4401
  );
4564
4402
  }
4565
4403
  function ContextMenuLabel({ className, inset, ...props }) {
4566
- return /* @__PURE__ */ jsx44(
4404
+ return /* @__PURE__ */ jsx43(
4567
4405
  "div",
4568
4406
  {
4569
4407
  "data-slot": "context-menu-label",
@@ -4574,7 +4412,7 @@ function ContextMenuLabel({ className, inset, ...props }) {
4574
4412
  );
4575
4413
  }
4576
4414
  function ContextMenuSeparator({ className, ...props }) {
4577
- return /* @__PURE__ */ jsx44(
4415
+ return /* @__PURE__ */ jsx43(
4578
4416
  "div",
4579
4417
  {
4580
4418
  "data-slot": "context-menu-separator",
@@ -4585,7 +4423,7 @@ function ContextMenuSeparator({ className, ...props }) {
4585
4423
  );
4586
4424
  }
4587
4425
  function ContextMenuShortcut({ className, ...props }) {
4588
- return /* @__PURE__ */ jsx44(
4426
+ return /* @__PURE__ */ jsx43(
4589
4427
  "span",
4590
4428
  {
4591
4429
  "data-slot": "context-menu-shortcut",
@@ -4594,18 +4432,18 @@ function ContextMenuShortcut({ className, ...props }) {
4594
4432
  }
4595
4433
  );
4596
4434
  }
4597
- var ContextMenuSubContext = React53.createContext(null);
4435
+ var ContextMenuSubContext = React52.createContext(null);
4598
4436
  function ContextMenuSub({ open, defaultOpen = false, onOpenChange, children }) {
4599
4437
  const [isOpen, setOpen] = useControllableState({
4600
4438
  ...open !== void 0 ? { value: open } : {},
4601
4439
  defaultValue: defaultOpen,
4602
4440
  ...onOpenChange ? { onChange: onOpenChange } : {}
4603
4441
  });
4604
- return /* @__PURE__ */ jsx44(ContextMenuSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx44("div", { "data-slot": "context-menu-sub", children }) });
4442
+ return /* @__PURE__ */ jsx43(ContextMenuSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx43("div", { "data-slot": "context-menu-sub", children }) });
4605
4443
  }
4606
4444
  function ContextMenuSubTrigger({ className, inset, children, onClick, ...props }) {
4607
- const ctx = React53.useContext(ContextMenuSubContext);
4608
- return /* @__PURE__ */ jsxs14(
4445
+ const ctx = React52.useContext(ContextMenuSubContext);
4446
+ return /* @__PURE__ */ jsxs13(
4609
4447
  "div",
4610
4448
  {
4611
4449
  "data-slot": "context-menu-sub-trigger",
@@ -4626,15 +4464,15 @@ function ContextMenuSubTrigger({ className, inset, children, onClick, ...props }
4626
4464
  ...props,
4627
4465
  children: [
4628
4466
  children,
4629
- /* @__PURE__ */ jsx44("svg", { className: "ml-auto", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx44("path", { d: "m9 18 6-6-6-6" }) })
4467
+ /* @__PURE__ */ jsx43("svg", { className: "ml-auto", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx43("path", { d: "m9 18 6-6-6-6" }) })
4630
4468
  ]
4631
4469
  }
4632
4470
  );
4633
4471
  }
4634
4472
  function ContextMenuSubContent({ className, children, ...props }) {
4635
- const ctx = React53.useContext(ContextMenuSubContext);
4473
+ const ctx = React52.useContext(ContextMenuSubContext);
4636
4474
  if (!ctx?.open) return null;
4637
- return /* @__PURE__ */ jsx44(
4475
+ return /* @__PURE__ */ jsx43(
4638
4476
  "div",
4639
4477
  {
4640
4478
  "data-slot": "context-menu-sub-content",
@@ -4651,7 +4489,7 @@ function ContextMenuSubContent({ className, children, ...props }) {
4651
4489
  }
4652
4490
 
4653
4491
  // src/components/menubar.tsx
4654
- import * as React54 from "react";
4492
+ import * as React53 from "react";
4655
4493
 
4656
4494
  // src/generated/menubar.ts
4657
4495
  var MENUBAR_ROOT = "bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs";
@@ -4668,16 +4506,16 @@ var MENUBAR_SUB_TRIGGER = "focus:bg-accent focus:text-accent-foreground data-[st
4668
4506
  var MENUBAR_SUB_CONTENT = "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 absolute z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg";
4669
4507
 
4670
4508
  // src/components/menubar.tsx
4671
- import { jsx as jsx45, jsxs as jsxs15 } from "react/jsx-runtime";
4672
- var MenubarMenuContext = React54.createContext(null);
4509
+ import { jsx as jsx44, jsxs as jsxs14 } from "react/jsx-runtime";
4510
+ var MenubarMenuContext = React53.createContext(null);
4673
4511
  function useMenu() {
4674
- const ctx = React54.useContext(MenubarMenuContext);
4512
+ const ctx = React53.useContext(MenubarMenuContext);
4675
4513
  if (!ctx) throw new Error("Menubar parts must be used within <MenubarMenu>");
4676
4514
  return ctx;
4677
4515
  }
4678
- var MenubarRadioGroupContext = React54.createContext(null);
4516
+ var MenubarRadioGroupContext = React53.createContext(null);
4679
4517
  function Menubar({ className, ...props }) {
4680
- return /* @__PURE__ */ jsx45(
4518
+ return /* @__PURE__ */ jsx44(
4681
4519
  "div",
4682
4520
  {
4683
4521
  "data-slot": "menubar",
@@ -4693,12 +4531,12 @@ function MenubarMenu({ open, defaultOpen = false, onOpenChange, children }) {
4693
4531
  defaultValue: defaultOpen,
4694
4532
  onChange: onOpenChange
4695
4533
  });
4696
- const triggerRef = React54.useRef(null);
4697
- return /* @__PURE__ */ jsx45(MenubarMenuContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children: /* @__PURE__ */ jsx45("div", { "data-slot": "menubar-menu", className: "relative", children }) });
4534
+ const triggerRef = React53.useRef(null);
4535
+ return /* @__PURE__ */ jsx44(MenubarMenuContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children: /* @__PURE__ */ jsx44("div", { "data-slot": "menubar-menu", className: "relative", children }) });
4698
4536
  }
4699
4537
  function MenubarTrigger({ className, onClick, ...props }) {
4700
4538
  const { open, setOpen, triggerRef } = useMenu();
4701
- return /* @__PURE__ */ jsx45(
4539
+ return /* @__PURE__ */ jsx44(
4702
4540
  "button",
4703
4541
  {
4704
4542
  ref: triggerRef,
@@ -4734,10 +4572,10 @@ function MenubarContent({
4734
4572
  onDismiss: () => setOpen(false),
4735
4573
  exclude: [triggerRef]
4736
4574
  });
4737
- const items = React54.Children.toArray(children);
4575
+ const items = React53.Children.toArray(children);
4738
4576
  const { onKeyDown } = useRovingFocus({ count: items.length, orientation: "vertical" });
4739
4577
  if (!isPresent) return null;
4740
- return /* @__PURE__ */ jsx45(Portal, { children: /* @__PURE__ */ jsx45(
4578
+ return /* @__PURE__ */ jsx44(Portal, { children: /* @__PURE__ */ jsx44(
4741
4579
  "div",
4742
4580
  {
4743
4581
  ref: mergeRefs(presenceRef, floatingRef, dismissRef),
@@ -4754,7 +4592,7 @@ function MenubarContent({
4754
4592
  ) });
4755
4593
  }
4756
4594
  function MenubarGroup({ className, ...props }) {
4757
- return /* @__PURE__ */ jsx45("div", { "data-slot": "menubar-group", role: "group", className, ...props });
4595
+ return /* @__PURE__ */ jsx44("div", { "data-slot": "menubar-group", role: "group", className, ...props });
4758
4596
  }
4759
4597
  function MenubarItem({
4760
4598
  className,
@@ -4762,7 +4600,7 @@ function MenubarItem({
4762
4600
  variant = "default",
4763
4601
  ...props
4764
4602
  }) {
4765
- return /* @__PURE__ */ jsx45(
4603
+ return /* @__PURE__ */ jsx44(
4766
4604
  "div",
4767
4605
  {
4768
4606
  "data-slot": "menubar-item",
@@ -4781,7 +4619,7 @@ function MenubarCheckboxItem({
4781
4619
  checked,
4782
4620
  ...props
4783
4621
  }) {
4784
- return /* @__PURE__ */ jsxs15(
4622
+ return /* @__PURE__ */ jsxs14(
4785
4623
  "div",
4786
4624
  {
4787
4625
  "data-slot": "menubar-checkbox-item",
@@ -4791,7 +4629,7 @@ function MenubarCheckboxItem({
4791
4629
  className: cn(MENUBAR_CHECKBOX_ITEM, className),
4792
4630
  ...props,
4793
4631
  children: [
4794
- /* @__PURE__ */ jsx45("span", { className: MENUBAR_ITEM_INDICATOR, children: checked && /* @__PURE__ */ jsx45(
4632
+ /* @__PURE__ */ jsx44("span", { className: MENUBAR_ITEM_INDICATOR, children: checked && /* @__PURE__ */ jsx44(
4795
4633
  "svg",
4796
4634
  {
4797
4635
  className: "size-4",
@@ -4801,7 +4639,7 @@ function MenubarCheckboxItem({
4801
4639
  strokeWidth: "2",
4802
4640
  strokeLinecap: "round",
4803
4641
  strokeLinejoin: "round",
4804
- children: /* @__PURE__ */ jsx45("path", { d: "M20 6 9 17l-5-5" })
4642
+ children: /* @__PURE__ */ jsx44("path", { d: "M20 6 9 17l-5-5" })
4805
4643
  }
4806
4644
  ) }),
4807
4645
  children
@@ -4821,7 +4659,7 @@ function MenubarRadioGroup({
4821
4659
  defaultValue,
4822
4660
  onChange: onValueChange
4823
4661
  });
4824
- return /* @__PURE__ */ jsx45(MenubarRadioGroupContext.Provider, { value: { value: current, onValueChange: setValue }, children: /* @__PURE__ */ jsx45("div", { "data-slot": "menubar-radio-group", role: "group", className, children }) });
4662
+ return /* @__PURE__ */ jsx44(MenubarRadioGroupContext.Provider, { value: { value: current, onValueChange: setValue }, children: /* @__PURE__ */ jsx44("div", { "data-slot": "menubar-radio-group", role: "group", className, children }) });
4825
4663
  }
4826
4664
  function MenubarRadioItem({
4827
4665
  className,
@@ -4829,9 +4667,9 @@ function MenubarRadioItem({
4829
4667
  value,
4830
4668
  ...props
4831
4669
  }) {
4832
- const ctx = React54.useContext(MenubarRadioGroupContext);
4670
+ const ctx = React53.useContext(MenubarRadioGroupContext);
4833
4671
  const checked = ctx?.value === value;
4834
- return /* @__PURE__ */ jsxs15(
4672
+ return /* @__PURE__ */ jsxs14(
4835
4673
  "div",
4836
4674
  {
4837
4675
  "data-slot": "menubar-radio-item",
@@ -4842,7 +4680,7 @@ function MenubarRadioItem({
4842
4680
  onClick: () => ctx?.onValueChange(value),
4843
4681
  ...props,
4844
4682
  children: [
4845
- /* @__PURE__ */ jsx45("span", { className: MENUBAR_ITEM_INDICATOR, children: checked && /* @__PURE__ */ jsx45("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx45("circle", { cx: "12", cy: "12", r: "10" }) }) }),
4683
+ /* @__PURE__ */ jsx44("span", { className: MENUBAR_ITEM_INDICATOR, children: checked && /* @__PURE__ */ jsx44("svg", { className: "size-2 fill-current", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx44("circle", { cx: "12", cy: "12", r: "10" }) }) }),
4846
4684
  children
4847
4685
  ]
4848
4686
  }
@@ -4853,7 +4691,7 @@ function MenubarLabel({
4853
4691
  inset,
4854
4692
  ...props
4855
4693
  }) {
4856
- return /* @__PURE__ */ jsx45(
4694
+ return /* @__PURE__ */ jsx44(
4857
4695
  "div",
4858
4696
  {
4859
4697
  "data-slot": "menubar-label",
@@ -4864,7 +4702,7 @@ function MenubarLabel({
4864
4702
  );
4865
4703
  }
4866
4704
  function MenubarSeparator({ className, ...props }) {
4867
- return /* @__PURE__ */ jsx45(
4705
+ return /* @__PURE__ */ jsx44(
4868
4706
  "div",
4869
4707
  {
4870
4708
  "data-slot": "menubar-separator",
@@ -4875,7 +4713,7 @@ function MenubarSeparator({ className, ...props }) {
4875
4713
  );
4876
4714
  }
4877
4715
  function MenubarShortcut({ className, ...props }) {
4878
- return /* @__PURE__ */ jsx45(
4716
+ return /* @__PURE__ */ jsx44(
4879
4717
  "span",
4880
4718
  {
4881
4719
  "data-slot": "menubar-shortcut",
@@ -4884,9 +4722,9 @@ function MenubarShortcut({ className, ...props }) {
4884
4722
  }
4885
4723
  );
4886
4724
  }
4887
- var MenubarSubContext = React54.createContext(null);
4725
+ var MenubarSubContext = React53.createContext(null);
4888
4726
  function useSub() {
4889
- const ctx = React54.useContext(MenubarSubContext);
4727
+ const ctx = React53.useContext(MenubarSubContext);
4890
4728
  if (!ctx) throw new Error("MenubarSub parts must be used within <MenubarSub>");
4891
4729
  return ctx;
4892
4730
  }
@@ -4896,7 +4734,7 @@ function MenubarSub({ open, defaultOpen = false, onOpenChange, children }) {
4896
4734
  defaultValue: defaultOpen,
4897
4735
  onChange: onOpenChange
4898
4736
  });
4899
- return /* @__PURE__ */ jsx45(MenubarSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx45("div", { "data-slot": "menubar-sub", className: "relative", children }) });
4737
+ return /* @__PURE__ */ jsx44(MenubarSubContext.Provider, { value: { open: isOpen, setOpen }, children: /* @__PURE__ */ jsx44("div", { "data-slot": "menubar-sub", className: "relative", children }) });
4900
4738
  }
4901
4739
  function MenubarSubTrigger({
4902
4740
  className,
@@ -4906,7 +4744,7 @@ function MenubarSubTrigger({
4906
4744
  ...props
4907
4745
  }) {
4908
4746
  const { open, setOpen } = useSub();
4909
- return /* @__PURE__ */ jsxs15(
4747
+ return /* @__PURE__ */ jsxs14(
4910
4748
  "div",
4911
4749
  {
4912
4750
  "data-slot": "menubar-sub-trigger",
@@ -4922,7 +4760,7 @@ function MenubarSubTrigger({
4922
4760
  ...props,
4923
4761
  children: [
4924
4762
  children,
4925
- /* @__PURE__ */ jsx45(
4763
+ /* @__PURE__ */ jsx44(
4926
4764
  "svg",
4927
4765
  {
4928
4766
  className: "ml-auto h-4 w-4",
@@ -4932,7 +4770,7 @@ function MenubarSubTrigger({
4932
4770
  strokeWidth: "2",
4933
4771
  strokeLinecap: "round",
4934
4772
  strokeLinejoin: "round",
4935
- children: /* @__PURE__ */ jsx45("path", { d: "m9 18 6-6-6-6" })
4773
+ children: /* @__PURE__ */ jsx44("path", { d: "m9 18 6-6-6-6" })
4936
4774
  }
4937
4775
  )
4938
4776
  ]
@@ -4943,7 +4781,7 @@ function MenubarSubContent({ className, children, ...props }) {
4943
4781
  const { open } = useSub();
4944
4782
  const { isPresent, ref } = usePresence(open);
4945
4783
  if (!isPresent) return null;
4946
- return /* @__PURE__ */ jsx45(
4784
+ return /* @__PURE__ */ jsx44(
4947
4785
  "div",
4948
4786
  {
4949
4787
  ref,
@@ -4958,7 +4796,7 @@ function MenubarSubContent({ className, children, ...props }) {
4958
4796
  }
4959
4797
 
4960
4798
  // src/components/navigation-menu.tsx
4961
- import * as React55 from "react";
4799
+ import * as React54 from "react";
4962
4800
 
4963
4801
  // src/generated/navigation-menu.ts
4964
4802
  var NAVIGATION_MENU = "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center";
@@ -4971,13 +4809,13 @@ var NAVIGATION_MENU_INDICATOR = "data-[state=visible]:animate-in data-[state=hid
4971
4809
  var NAVIGATION_MENU_VIEWPORT = "origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]";
4972
4810
 
4973
4811
  // src/components/navigation-menu.tsx
4974
- import { jsx as jsx46, jsxs as jsxs16 } from "react/jsx-runtime";
4812
+ import { jsx as jsx45, jsxs as jsxs15 } from "react/jsx-runtime";
4975
4813
  function navigationMenuTriggerStyle() {
4976
4814
  return NAVIGATION_MENU_TRIGGER_STYLE;
4977
4815
  }
4978
- var NavigationMenuItemContext = React55.createContext(null);
4816
+ var NavigationMenuItemContext = React54.createContext(null);
4979
4817
  function useItem() {
4980
- const ctx = React55.useContext(NavigationMenuItemContext);
4818
+ const ctx = React54.useContext(NavigationMenuItemContext);
4981
4819
  if (!ctx) throw new Error("NavigationMenu parts must be used within <NavigationMenuItem>");
4982
4820
  return ctx;
4983
4821
  }
@@ -4987,7 +4825,7 @@ function NavigationMenu({
4987
4825
  viewport = true,
4988
4826
  ...props
4989
4827
  }) {
4990
- return /* @__PURE__ */ jsxs16(
4828
+ return /* @__PURE__ */ jsxs15(
4991
4829
  "nav",
4992
4830
  {
4993
4831
  "data-slot": "navigation-menu",
@@ -5000,13 +4838,13 @@ function NavigationMenu({
5000
4838
  ...props,
5001
4839
  children: [
5002
4840
  children,
5003
- viewport && /* @__PURE__ */ jsx46(NavigationMenuViewport, {})
4841
+ viewport && /* @__PURE__ */ jsx45(NavigationMenuViewport, {})
5004
4842
  ]
5005
4843
  }
5006
4844
  );
5007
4845
  }
5008
4846
  function NavigationMenuList({ className, ...props }) {
5009
- return /* @__PURE__ */ jsx46(
4847
+ return /* @__PURE__ */ jsx45(
5010
4848
  "ul",
5011
4849
  {
5012
4850
  "data-slot": "navigation-menu-list",
@@ -5032,8 +4870,8 @@ function NavigationMenuItem({
5032
4870
  defaultValue: defaultOpen,
5033
4871
  onChange: onOpenChange
5034
4872
  });
5035
- const triggerRef = React55.useRef(null);
5036
- return /* @__PURE__ */ jsx46(NavigationMenuItemContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children: /* @__PURE__ */ jsx46("li", { "data-slot": "navigation-menu-item", className: cn(NAVIGATION_MENU_ITEM, className), ...props, children }) });
4873
+ const triggerRef = React54.useRef(null);
4874
+ return /* @__PURE__ */ jsx45(NavigationMenuItemContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children: /* @__PURE__ */ jsx45("li", { "data-slot": "navigation-menu-item", className: cn(NAVIGATION_MENU_ITEM, className), ...props, children }) });
5037
4875
  }
5038
4876
  function NavigationMenuTrigger({
5039
4877
  className,
@@ -5042,7 +4880,7 @@ function NavigationMenuTrigger({
5042
4880
  ...props
5043
4881
  }) {
5044
4882
  const { open, setOpen, triggerRef } = useItem();
5045
- return /* @__PURE__ */ jsxs16(
4883
+ return /* @__PURE__ */ jsxs15(
5046
4884
  "button",
5047
4885
  {
5048
4886
  ref: triggerRef,
@@ -5058,7 +4896,7 @@ function NavigationMenuTrigger({
5058
4896
  children: [
5059
4897
  children,
5060
4898
  " ",
5061
- /* @__PURE__ */ jsx46(
4899
+ /* @__PURE__ */ jsx45(
5062
4900
  "svg",
5063
4901
  {
5064
4902
  className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180",
@@ -5069,7 +4907,7 @@ function NavigationMenuTrigger({
5069
4907
  strokeLinecap: "round",
5070
4908
  strokeLinejoin: "round",
5071
4909
  "aria-hidden": "true",
5072
- children: /* @__PURE__ */ jsx46("path", { d: "m6 9 6 6 6-6" })
4910
+ children: /* @__PURE__ */ jsx45("path", { d: "m6 9 6 6 6-6" })
5073
4911
  }
5074
4912
  )
5075
4913
  ]
@@ -5085,7 +4923,7 @@ function NavigationMenuContent({ className, children, ...props }) {
5085
4923
  exclude: [triggerRef]
5086
4924
  });
5087
4925
  if (!isPresent) return null;
5088
- return /* @__PURE__ */ jsx46(
4926
+ return /* @__PURE__ */ jsx45(
5089
4927
  "div",
5090
4928
  {
5091
4929
  ref: mergeRefs(presenceRef, dismissRef),
@@ -5101,7 +4939,7 @@ function NavigationMenuContent({ className, children, ...props }) {
5101
4939
  );
5102
4940
  }
5103
4941
  function NavigationMenuViewport({ className, ...props }) {
5104
- return /* @__PURE__ */ jsx46("div", { className: "absolute top-full left-0 isolate z-50 flex justify-center", children: /* @__PURE__ */ jsx46(
4942
+ return /* @__PURE__ */ jsx45("div", { className: "absolute top-full left-0 isolate z-50 flex justify-center", children: /* @__PURE__ */ jsx45(
5105
4943
  "div",
5106
4944
  {
5107
4945
  "data-slot": "navigation-menu-viewport",
@@ -5119,7 +4957,7 @@ function NavigationMenuLink({
5119
4957
  ...props
5120
4958
  }) {
5121
4959
  const Comp = asChild ? Slot : "a";
5122
- return /* @__PURE__ */ jsx46(
4960
+ return /* @__PURE__ */ jsx45(
5123
4961
  Comp,
5124
4962
  {
5125
4963
  "data-slot": "navigation-menu-link",
@@ -5132,7 +4970,7 @@ function NavigationMenuLink({
5132
4970
  );
5133
4971
  }
5134
4972
  function NavigationMenuIndicator({ className, ...props }) {
5135
- return /* @__PURE__ */ jsx46(
4973
+ return /* @__PURE__ */ jsx45(
5136
4974
  "div",
5137
4975
  {
5138
4976
  "data-slot": "navigation-menu-indicator",
@@ -5141,13 +4979,13 @@ function NavigationMenuIndicator({ className, ...props }) {
5141
4979
  className
5142
4980
  ),
5143
4981
  ...props,
5144
- children: /* @__PURE__ */ jsx46("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
4982
+ children: /* @__PURE__ */ jsx45("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" })
5145
4983
  }
5146
4984
  );
5147
4985
  }
5148
4986
 
5149
4987
  // src/components/dialog.tsx
5150
- import * as React56 from "react";
4988
+ import * as React55 from "react";
5151
4989
 
5152
4990
  // src/generated/dialog.ts
5153
4991
  var DIALOG_OVERLAY = "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50";
@@ -5159,10 +4997,10 @@ var DIALOG_TITLE = "text-lg leading-none font-semibold";
5159
4997
  var DIALOG_DESCRIPTION = "text-muted-foreground text-sm";
5160
4998
 
5161
4999
  // src/components/dialog.tsx
5162
- import { Fragment as Fragment5, jsx as jsx47, jsxs as jsxs17 } from "react/jsx-runtime";
5163
- var DialogContext = React56.createContext(null);
5000
+ import { Fragment as Fragment5, jsx as jsx46, jsxs as jsxs16 } from "react/jsx-runtime";
5001
+ var DialogContext = React55.createContext(null);
5164
5002
  function useDialog() {
5165
- const ctx = React56.useContext(DialogContext);
5003
+ const ctx = React55.useContext(DialogContext);
5166
5004
  if (!ctx) throw new Error("Dialog parts must be used within <Dialog>");
5167
5005
  return ctx;
5168
5006
  }
@@ -5172,13 +5010,13 @@ function Dialog({ open, defaultOpen = false, onOpenChange, children }) {
5172
5010
  defaultValue: defaultOpen,
5173
5011
  ...onOpenChange ? { onChange: onOpenChange } : {}
5174
5012
  });
5175
- const triggerRef = React56.useRef(null);
5176
- return /* @__PURE__ */ jsx47(DialogContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5013
+ const triggerRef = React55.useRef(null);
5014
+ return /* @__PURE__ */ jsx46(DialogContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5177
5015
  }
5178
5016
  function DialogTrigger({ asChild = false, onClick, ...props }) {
5179
5017
  const { open, setOpen, triggerRef } = useDialog();
5180
5018
  const Comp = asChild ? Slot : "button";
5181
- return /* @__PURE__ */ jsx47(
5019
+ return /* @__PURE__ */ jsx46(
5182
5020
  Comp,
5183
5021
  {
5184
5022
  "data-slot": "dialog-trigger",
@@ -5193,11 +5031,11 @@ function DialogTrigger({ asChild = false, onClick, ...props }) {
5193
5031
  );
5194
5032
  }
5195
5033
  function DialogPortal({ children }) {
5196
- return /* @__PURE__ */ jsx47(Fragment5, { children });
5034
+ return /* @__PURE__ */ jsx46(Fragment5, { children });
5197
5035
  }
5198
5036
  function DialogOverlay({ className, ...props }) {
5199
5037
  const { open, setOpen } = useDialog();
5200
- return /* @__PURE__ */ jsx47(
5038
+ return /* @__PURE__ */ jsx46(
5201
5039
  "div",
5202
5040
  {
5203
5041
  "data-slot": "dialog-overlay",
@@ -5208,7 +5046,7 @@ function DialogOverlay({ className, ...props }) {
5208
5046
  }
5209
5047
  );
5210
5048
  }
5211
- var XIcon = (props) => /* @__PURE__ */ jsx47(
5049
+ var XIcon = (props) => /* @__PURE__ */ jsx46(
5212
5050
  "svg",
5213
5051
  {
5214
5052
  xmlns: "http://www.w3.org/2000/svg",
@@ -5221,7 +5059,7 @@ var XIcon = (props) => /* @__PURE__ */ jsx47(
5221
5059
  strokeLinecap: "round",
5222
5060
  strokeLinejoin: "round",
5223
5061
  ...props,
5224
- children: /* @__PURE__ */ jsx47("path", { d: "M18 6 6 18M6 6l12 12" })
5062
+ children: /* @__PURE__ */ jsx46("path", { d: "M18 6 6 18M6 6l12 12" })
5225
5063
  }
5226
5064
  );
5227
5065
  function DialogContent({
@@ -5238,7 +5076,7 @@ function DialogContent({
5238
5076
  onDismiss: () => setOpen(false),
5239
5077
  exclude: [triggerRef]
5240
5078
  });
5241
- React56.useEffect(() => {
5079
+ React55.useEffect(() => {
5242
5080
  if (!open) return;
5243
5081
  const prev = document.body.style.overflow;
5244
5082
  document.body.style.overflow = "hidden";
@@ -5247,9 +5085,9 @@ function DialogContent({
5247
5085
  };
5248
5086
  }, [open]);
5249
5087
  if (!isPresent) return null;
5250
- return /* @__PURE__ */ jsxs17(Portal, { children: [
5251
- /* @__PURE__ */ jsx47(DialogOverlay, {}),
5252
- /* @__PURE__ */ jsxs17(
5088
+ return /* @__PURE__ */ jsxs16(Portal, { children: [
5089
+ /* @__PURE__ */ jsx46(DialogOverlay, {}),
5090
+ /* @__PURE__ */ jsxs16(
5253
5091
  "div",
5254
5092
  {
5255
5093
  "data-slot": "dialog-content",
@@ -5261,7 +5099,7 @@ function DialogContent({
5261
5099
  ...props,
5262
5100
  children: [
5263
5101
  children,
5264
- showCloseButton && /* @__PURE__ */ jsxs17(
5102
+ showCloseButton && /* @__PURE__ */ jsxs16(
5265
5103
  "button",
5266
5104
  {
5267
5105
  type: "button",
@@ -5269,8 +5107,8 @@ function DialogContent({
5269
5107
  onClick: () => setOpen(false),
5270
5108
  className: DIALOG_CLOSE,
5271
5109
  children: [
5272
- /* @__PURE__ */ jsx47(XIcon, {}),
5273
- /* @__PURE__ */ jsx47("span", { className: "sr-only", children: "Close" })
5110
+ /* @__PURE__ */ jsx46(XIcon, {}),
5111
+ /* @__PURE__ */ jsx46("span", { className: "sr-only", children: "Close" })
5274
5112
  ]
5275
5113
  }
5276
5114
  )
@@ -5282,7 +5120,7 @@ function DialogContent({
5282
5120
  function DialogClose({ asChild = false, onClick, ...props }) {
5283
5121
  const { setOpen } = useDialog();
5284
5122
  const Comp = asChild ? Slot : "button";
5285
- return /* @__PURE__ */ jsx47(
5123
+ return /* @__PURE__ */ jsx46(
5286
5124
  Comp,
5287
5125
  {
5288
5126
  "data-slot": "dialog-close",
@@ -5295,7 +5133,7 @@ function DialogClose({ asChild = false, onClick, ...props }) {
5295
5133
  );
5296
5134
  }
5297
5135
  function DialogHeader({ className, ...props }) {
5298
- return /* @__PURE__ */ jsx47(
5136
+ return /* @__PURE__ */ jsx46(
5299
5137
  "div",
5300
5138
  {
5301
5139
  "data-slot": "dialog-header",
@@ -5305,7 +5143,7 @@ function DialogHeader({ className, ...props }) {
5305
5143
  );
5306
5144
  }
5307
5145
  function DialogFooter({ className, ...props }) {
5308
- return /* @__PURE__ */ jsx47(
5146
+ return /* @__PURE__ */ jsx46(
5309
5147
  "div",
5310
5148
  {
5311
5149
  "data-slot": "dialog-footer",
@@ -5315,7 +5153,7 @@ function DialogFooter({ className, ...props }) {
5315
5153
  );
5316
5154
  }
5317
5155
  function DialogTitle({ className, ...props }) {
5318
- return /* @__PURE__ */ jsx47(
5156
+ return /* @__PURE__ */ jsx46(
5319
5157
  "h2",
5320
5158
  {
5321
5159
  "data-slot": "dialog-title",
@@ -5325,7 +5163,7 @@ function DialogTitle({ className, ...props }) {
5325
5163
  );
5326
5164
  }
5327
5165
  function DialogDescription({ className, ...props }) {
5328
- return /* @__PURE__ */ jsx47(
5166
+ return /* @__PURE__ */ jsx46(
5329
5167
  "p",
5330
5168
  {
5331
5169
  "data-slot": "dialog-description",
@@ -5336,7 +5174,7 @@ function DialogDescription({ className, ...props }) {
5336
5174
  }
5337
5175
 
5338
5176
  // src/components/alert-dialog.tsx
5339
- import * as React57 from "react";
5177
+ import * as React56 from "react";
5340
5178
 
5341
5179
  // src/generated/alert-dialog.ts
5342
5180
  var ALERT_DIALOG_OVERLAY = "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50";
@@ -5347,10 +5185,10 @@ var ALERT_DIALOG_TITLE = "text-lg font-semibold";
5347
5185
  var ALERT_DIALOG_DESCRIPTION = "text-muted-foreground text-sm";
5348
5186
 
5349
5187
  // src/components/alert-dialog.tsx
5350
- import { jsx as jsx48, jsxs as jsxs18 } from "react/jsx-runtime";
5351
- var AlertDialogContext = React57.createContext(null);
5188
+ import { jsx as jsx47, jsxs as jsxs17 } from "react/jsx-runtime";
5189
+ var AlertDialogContext = React56.createContext(null);
5352
5190
  function useAlertDialog() {
5353
- const ctx = React57.useContext(AlertDialogContext);
5191
+ const ctx = React56.useContext(AlertDialogContext);
5354
5192
  if (!ctx) throw new Error("AlertDialog parts must be used within <AlertDialog>");
5355
5193
  return ctx;
5356
5194
  }
@@ -5360,13 +5198,13 @@ function AlertDialog({ open, defaultOpen = false, onOpenChange, children }) {
5360
5198
  defaultValue: defaultOpen,
5361
5199
  ...onOpenChange ? { onChange: onOpenChange } : {}
5362
5200
  });
5363
- const triggerRef = React57.useRef(null);
5364
- return /* @__PURE__ */ jsx48(AlertDialogContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5201
+ const triggerRef = React56.useRef(null);
5202
+ return /* @__PURE__ */ jsx47(AlertDialogContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5365
5203
  }
5366
5204
  function AlertDialogTrigger({ asChild = false, onClick, ...props }) {
5367
5205
  const { open, setOpen, triggerRef } = useAlertDialog();
5368
5206
  const Comp = asChild ? Slot : "button";
5369
- return /* @__PURE__ */ jsx48(
5207
+ return /* @__PURE__ */ jsx47(
5370
5208
  Comp,
5371
5209
  {
5372
5210
  "data-slot": "alert-dialog-trigger",
@@ -5382,7 +5220,7 @@ function AlertDialogTrigger({ asChild = false, onClick, ...props }) {
5382
5220
  }
5383
5221
  function AlertDialogOverlay({ className, ...props }) {
5384
5222
  const { open, setOpen } = useAlertDialog();
5385
- return /* @__PURE__ */ jsx48(
5223
+ return /* @__PURE__ */ jsx47(
5386
5224
  "div",
5387
5225
  {
5388
5226
  "data-slot": "alert-dialog-overlay",
@@ -5403,9 +5241,9 @@ function AlertDialogContent({ className, children, ...props }) {
5403
5241
  exclude: [triggerRef]
5404
5242
  });
5405
5243
  if (!isPresent) return null;
5406
- return /* @__PURE__ */ jsxs18(Portal, { children: [
5407
- /* @__PURE__ */ jsx48(AlertDialogOverlay, {}),
5408
- /* @__PURE__ */ jsx48(
5244
+ return /* @__PURE__ */ jsxs17(Portal, { children: [
5245
+ /* @__PURE__ */ jsx47(AlertDialogOverlay, {}),
5246
+ /* @__PURE__ */ jsx47(
5409
5247
  "div",
5410
5248
  {
5411
5249
  "data-slot": "alert-dialog-content",
@@ -5421,7 +5259,7 @@ function AlertDialogContent({ className, children, ...props }) {
5421
5259
  ] });
5422
5260
  }
5423
5261
  function AlertDialogHeader({ className, ...props }) {
5424
- return /* @__PURE__ */ jsx48(
5262
+ return /* @__PURE__ */ jsx47(
5425
5263
  "div",
5426
5264
  {
5427
5265
  "data-slot": "alert-dialog-header",
@@ -5431,7 +5269,7 @@ function AlertDialogHeader({ className, ...props }) {
5431
5269
  );
5432
5270
  }
5433
5271
  function AlertDialogFooter({ className, ...props }) {
5434
- return /* @__PURE__ */ jsx48(
5272
+ return /* @__PURE__ */ jsx47(
5435
5273
  "div",
5436
5274
  {
5437
5275
  "data-slot": "alert-dialog-footer",
@@ -5441,7 +5279,7 @@ function AlertDialogFooter({ className, ...props }) {
5441
5279
  );
5442
5280
  }
5443
5281
  function AlertDialogTitle({ className, ...props }) {
5444
- return /* @__PURE__ */ jsx48(
5282
+ return /* @__PURE__ */ jsx47(
5445
5283
  "h2",
5446
5284
  {
5447
5285
  "data-slot": "alert-dialog-title",
@@ -5451,7 +5289,7 @@ function AlertDialogTitle({ className, ...props }) {
5451
5289
  );
5452
5290
  }
5453
5291
  function AlertDialogDescription({ className, ...props }) {
5454
- return /* @__PURE__ */ jsx48(
5292
+ return /* @__PURE__ */ jsx47(
5455
5293
  "p",
5456
5294
  {
5457
5295
  "data-slot": "alert-dialog-description",
@@ -5462,7 +5300,7 @@ function AlertDialogDescription({ className, ...props }) {
5462
5300
  }
5463
5301
  function AlertDialogAction({ className, onClick, ...props }) {
5464
5302
  const { setOpen } = useAlertDialog();
5465
- return /* @__PURE__ */ jsx48(
5303
+ return /* @__PURE__ */ jsx47(
5466
5304
  "button",
5467
5305
  {
5468
5306
  "data-slot": "alert-dialog-action",
@@ -5477,7 +5315,7 @@ function AlertDialogAction({ className, onClick, ...props }) {
5477
5315
  }
5478
5316
  function AlertDialogCancel({ className, onClick, ...props }) {
5479
5317
  const { setOpen } = useAlertDialog();
5480
- return /* @__PURE__ */ jsx48(
5318
+ return /* @__PURE__ */ jsx47(
5481
5319
  "button",
5482
5320
  {
5483
5321
  "data-slot": "alert-dialog-cancel",
@@ -5492,7 +5330,7 @@ function AlertDialogCancel({ className, onClick, ...props }) {
5492
5330
  }
5493
5331
 
5494
5332
  // src/components/sheet.tsx
5495
- import * as React58 from "react";
5333
+ import * as React57 from "react";
5496
5334
 
5497
5335
  // src/generated/sheet.ts
5498
5336
  var SHEET_OVERLAY = "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50";
@@ -5508,10 +5346,10 @@ var SHEET_TITLE = "text-foreground font-semibold";
5508
5346
  var SHEET_DESCRIPTION = "text-muted-foreground text-sm";
5509
5347
 
5510
5348
  // src/components/sheet.tsx
5511
- import { jsx as jsx49, jsxs as jsxs19 } from "react/jsx-runtime";
5512
- var SheetContext = React58.createContext(null);
5349
+ import { jsx as jsx48, jsxs as jsxs18 } from "react/jsx-runtime";
5350
+ var SheetContext = React57.createContext(null);
5513
5351
  function useSheet() {
5514
- const ctx = React58.useContext(SheetContext);
5352
+ const ctx = React57.useContext(SheetContext);
5515
5353
  if (!ctx) throw new Error("Sheet parts must be used within <Sheet>");
5516
5354
  return ctx;
5517
5355
  }
@@ -5521,13 +5359,13 @@ function Sheet({ open, defaultOpen = false, onOpenChange, children }) {
5521
5359
  defaultValue: defaultOpen,
5522
5360
  ...onOpenChange ? { onChange: onOpenChange } : {}
5523
5361
  });
5524
- const triggerRef = React58.useRef(null);
5525
- return /* @__PURE__ */ jsx49(SheetContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5362
+ const triggerRef = React57.useRef(null);
5363
+ return /* @__PURE__ */ jsx48(SheetContext.Provider, { value: { open: isOpen, setOpen, triggerRef }, children });
5526
5364
  }
5527
5365
  function SheetTrigger({ asChild = false, onClick, ...props }) {
5528
5366
  const { open, setOpen, triggerRef } = useSheet();
5529
5367
  const Comp = asChild ? Slot : "button";
5530
- return /* @__PURE__ */ jsx49(
5368
+ return /* @__PURE__ */ jsx48(
5531
5369
  Comp,
5532
5370
  {
5533
5371
  "data-slot": "sheet-trigger",
@@ -5543,7 +5381,7 @@ function SheetTrigger({ asChild = false, onClick, ...props }) {
5543
5381
  }
5544
5382
  function SheetOverlay({ className, ...props }) {
5545
5383
  const { open, setOpen } = useSheet();
5546
- return /* @__PURE__ */ jsx49(
5384
+ return /* @__PURE__ */ jsx48(
5547
5385
  "div",
5548
5386
  {
5549
5387
  "data-slot": "sheet-overlay",
@@ -5560,7 +5398,7 @@ var sheetSideClasses = {
5560
5398
  top: SHEET_SIDE_TOP,
5561
5399
  bottom: SHEET_SIDE_BOTTOM
5562
5400
  };
5563
- var XIcon2 = (props) => /* @__PURE__ */ jsx49(
5401
+ var XIcon2 = (props) => /* @__PURE__ */ jsx48(
5564
5402
  "svg",
5565
5403
  {
5566
5404
  xmlns: "http://www.w3.org/2000/svg",
@@ -5573,7 +5411,7 @@ var XIcon2 = (props) => /* @__PURE__ */ jsx49(
5573
5411
  strokeLinecap: "round",
5574
5412
  strokeLinejoin: "round",
5575
5413
  ...props,
5576
- children: /* @__PURE__ */ jsx49("path", { d: "M18 6 6 18M6 6l12 12" })
5414
+ children: /* @__PURE__ */ jsx48("path", { d: "M18 6 6 18M6 6l12 12" })
5577
5415
  }
5578
5416
  );
5579
5417
  function SheetContent({ className, children, side = "right", ...props }) {
@@ -5586,9 +5424,9 @@ function SheetContent({ className, children, side = "right", ...props }) {
5586
5424
  exclude: [triggerRef]
5587
5425
  });
5588
5426
  if (!isPresent) return null;
5589
- return /* @__PURE__ */ jsxs19(Portal, { children: [
5590
- /* @__PURE__ */ jsx49(SheetOverlay, {}),
5591
- /* @__PURE__ */ jsxs19(
5427
+ return /* @__PURE__ */ jsxs18(Portal, { children: [
5428
+ /* @__PURE__ */ jsx48(SheetOverlay, {}),
5429
+ /* @__PURE__ */ jsxs18(
5592
5430
  "div",
5593
5431
  {
5594
5432
  "data-slot": "sheet-content",
@@ -5600,7 +5438,7 @@ function SheetContent({ className, children, side = "right", ...props }) {
5600
5438
  ...props,
5601
5439
  children: [
5602
5440
  children,
5603
- /* @__PURE__ */ jsxs19(
5441
+ /* @__PURE__ */ jsxs18(
5604
5442
  "button",
5605
5443
  {
5606
5444
  type: "button",
@@ -5608,8 +5446,8 @@ function SheetContent({ className, children, side = "right", ...props }) {
5608
5446
  onClick: () => setOpen(false),
5609
5447
  className: SHEET_CLOSE,
5610
5448
  children: [
5611
- /* @__PURE__ */ jsx49(XIcon2, { className: "size-4" }),
5612
- /* @__PURE__ */ jsx49("span", { className: "sr-only", children: "Close" })
5449
+ /* @__PURE__ */ jsx48(XIcon2, { className: "size-4" }),
5450
+ /* @__PURE__ */ jsx48("span", { className: "sr-only", children: "Close" })
5613
5451
  ]
5614
5452
  }
5615
5453
  )
@@ -5621,7 +5459,7 @@ function SheetContent({ className, children, side = "right", ...props }) {
5621
5459
  function SheetClose({ asChild = false, onClick, ...props }) {
5622
5460
  const { setOpen } = useSheet();
5623
5461
  const Comp = asChild ? Slot : "button";
5624
- return /* @__PURE__ */ jsx49(
5462
+ return /* @__PURE__ */ jsx48(
5625
5463
  Comp,
5626
5464
  {
5627
5465
  "data-slot": "sheet-close",
@@ -5634,7 +5472,7 @@ function SheetClose({ asChild = false, onClick, ...props }) {
5634
5472
  );
5635
5473
  }
5636
5474
  function SheetHeader({ className, ...props }) {
5637
- return /* @__PURE__ */ jsx49(
5475
+ return /* @__PURE__ */ jsx48(
5638
5476
  "div",
5639
5477
  {
5640
5478
  "data-slot": "sheet-header",
@@ -5644,7 +5482,7 @@ function SheetHeader({ className, ...props }) {
5644
5482
  );
5645
5483
  }
5646
5484
  function SheetFooter({ className, ...props }) {
5647
- return /* @__PURE__ */ jsx49(
5485
+ return /* @__PURE__ */ jsx48(
5648
5486
  "div",
5649
5487
  {
5650
5488
  "data-slot": "sheet-footer",
@@ -5654,7 +5492,7 @@ function SheetFooter({ className, ...props }) {
5654
5492
  );
5655
5493
  }
5656
5494
  function SheetTitle({ className, ...props }) {
5657
- return /* @__PURE__ */ jsx49(
5495
+ return /* @__PURE__ */ jsx48(
5658
5496
  "h2",
5659
5497
  {
5660
5498
  "data-slot": "sheet-title",
@@ -5664,7 +5502,7 @@ function SheetTitle({ className, ...props }) {
5664
5502
  );
5665
5503
  }
5666
5504
  function SheetDescription({ className, ...props }) {
5667
- return /* @__PURE__ */ jsx49(
5505
+ return /* @__PURE__ */ jsx48(
5668
5506
  "p",
5669
5507
  {
5670
5508
  "data-slot": "sheet-description",
@@ -5675,7 +5513,7 @@ function SheetDescription({ className, ...props }) {
5675
5513
  }
5676
5514
 
5677
5515
  // src/components/drawer.tsx
5678
- import * as React59 from "react";
5516
+ import * as React58 from "react";
5679
5517
 
5680
5518
  // src/generated/drawer.ts
5681
5519
  var DRAWER_CONTENT_BASE = "bg-background fixed z-50 flex h-auto border";
@@ -5693,10 +5531,10 @@ var DRAWER_TITLE = "text-foreground font-semibold";
5693
5531
  var DRAWER_DESCRIPTION = "text-muted-foreground text-sm";
5694
5532
 
5695
5533
  // src/components/drawer.tsx
5696
- import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
5697
- var DrawerContext = React59.createContext(null);
5534
+ import { jsx as jsx49, jsxs as jsxs19 } from "react/jsx-runtime";
5535
+ var DrawerContext = React58.createContext(null);
5698
5536
  function useDrawer() {
5699
- const ctx = React59.useContext(DrawerContext);
5537
+ const ctx = React58.useContext(DrawerContext);
5700
5538
  if (!ctx) throw new Error("Drawer parts must be used within <Drawer>");
5701
5539
  return ctx;
5702
5540
  }
@@ -5712,12 +5550,12 @@ function Drawer({
5712
5550
  defaultValue: defaultOpen,
5713
5551
  ...onOpenChange ? { onChange: onOpenChange } : {}
5714
5552
  });
5715
- return /* @__PURE__ */ jsx50(DrawerContext.Provider, { value: { open: isOpen, setOpen, direction }, children: /* @__PURE__ */ jsx50("div", { "data-slot": "drawer", children }) });
5553
+ return /* @__PURE__ */ jsx49(DrawerContext.Provider, { value: { open: isOpen, setOpen, direction }, children: /* @__PURE__ */ jsx49("div", { "data-slot": "drawer", children }) });
5716
5554
  }
5717
5555
  function DrawerTrigger({ asChild = false, onClick, ...props }) {
5718
5556
  const { setOpen } = useDrawer();
5719
5557
  const Comp = asChild ? Slot : "button";
5720
- return /* @__PURE__ */ jsx50(
5558
+ return /* @__PURE__ */ jsx49(
5721
5559
  Comp,
5722
5560
  {
5723
5561
  "data-slot": "drawer-trigger",
@@ -5732,7 +5570,7 @@ function DrawerTrigger({ asChild = false, onClick, ...props }) {
5732
5570
  function DrawerClose({ asChild = false, onClick, ...props }) {
5733
5571
  const { setOpen } = useDrawer();
5734
5572
  const Comp = asChild ? Slot : "button";
5735
- return /* @__PURE__ */ jsx50(
5573
+ return /* @__PURE__ */ jsx49(
5736
5574
  Comp,
5737
5575
  {
5738
5576
  "data-slot": "drawer-close",
@@ -5747,7 +5585,7 @@ function DrawerClose({ asChild = false, onClick, ...props }) {
5747
5585
  function DrawerOverlay({ className, ...props }) {
5748
5586
  const { open, setOpen } = useDrawer();
5749
5587
  if (!open) return null;
5750
- return /* @__PURE__ */ jsx50(
5588
+ return /* @__PURE__ */ jsx49(
5751
5589
  "div",
5752
5590
  {
5753
5591
  "data-slot": "drawer-overlay",
@@ -5762,8 +5600,8 @@ function DrawerContent({ className, children, ...props }) {
5762
5600
  const { open, setOpen, direction } = useDrawer();
5763
5601
  const scopeRef = useFocusScope(open);
5764
5602
  if (!open) return null;
5765
- return /* @__PURE__ */ jsxs20(Portal, { children: [
5766
- /* @__PURE__ */ jsx50(
5603
+ return /* @__PURE__ */ jsxs19(Portal, { children: [
5604
+ /* @__PURE__ */ jsx49(
5767
5605
  "div",
5768
5606
  {
5769
5607
  "data-slot": "drawer-overlay",
@@ -5771,7 +5609,7 @@ function DrawerContent({ className, children, ...props }) {
5771
5609
  onClick: () => setOpen(false)
5772
5610
  }
5773
5611
  ),
5774
- /* @__PURE__ */ jsxs20(
5612
+ /* @__PURE__ */ jsxs19(
5775
5613
  "div",
5776
5614
  {
5777
5615
  role: "dialog",
@@ -5786,7 +5624,7 @@ function DrawerContent({ className, children, ...props }) {
5786
5624
  className: cn(DRAWER_CONTENT_BASE, drawerDirectionClasses[direction], className),
5787
5625
  ...props,
5788
5626
  children: [
5789
- direction === "bottom" ? /* @__PURE__ */ jsx50(
5627
+ direction === "bottom" ? /* @__PURE__ */ jsx49(
5790
5628
  "div",
5791
5629
  {
5792
5630
  "data-slot": "drawer-handle",
@@ -5800,7 +5638,7 @@ function DrawerContent({ className, children, ...props }) {
5800
5638
  ] });
5801
5639
  }
5802
5640
  function DrawerHeader({ className, ...props }) {
5803
- return /* @__PURE__ */ jsx50(
5641
+ return /* @__PURE__ */ jsx49(
5804
5642
  "div",
5805
5643
  {
5806
5644
  "data-slot": "drawer-header",
@@ -5810,7 +5648,7 @@ function DrawerHeader({ className, ...props }) {
5810
5648
  );
5811
5649
  }
5812
5650
  function DrawerFooter({ className, ...props }) {
5813
- return /* @__PURE__ */ jsx50(
5651
+ return /* @__PURE__ */ jsx49(
5814
5652
  "div",
5815
5653
  {
5816
5654
  "data-slot": "drawer-footer",
@@ -5820,7 +5658,7 @@ function DrawerFooter({ className, ...props }) {
5820
5658
  );
5821
5659
  }
5822
5660
  function DrawerTitle({ className, ...props }) {
5823
- return /* @__PURE__ */ jsx50(
5661
+ return /* @__PURE__ */ jsx49(
5824
5662
  "div",
5825
5663
  {
5826
5664
  "data-slot": "drawer-title",
@@ -5830,7 +5668,7 @@ function DrawerTitle({ className, ...props }) {
5830
5668
  );
5831
5669
  }
5832
5670
  function DrawerDescription({ className, ...props }) {
5833
- return /* @__PURE__ */ jsx50(
5671
+ return /* @__PURE__ */ jsx49(
5834
5672
  "div",
5835
5673
  {
5836
5674
  "data-slot": "drawer-description",
@@ -5841,11 +5679,11 @@ function DrawerDescription({ className, ...props }) {
5841
5679
  }
5842
5680
 
5843
5681
  // src/components/select.tsx
5844
- import * as React60 from "react";
5845
- import { jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
5846
- var SelectContext = React60.createContext(null);
5682
+ import * as React59 from "react";
5683
+ import { jsx as jsx50, jsxs as jsxs20 } from "react/jsx-runtime";
5684
+ var SelectContext = React59.createContext(null);
5847
5685
  function useSelect() {
5848
- const ctx = React60.useContext(SelectContext);
5686
+ const ctx = React59.useContext(SelectContext);
5849
5687
  if (!ctx) throw new Error("Select parts must be used within <Select>");
5850
5688
  return ctx;
5851
5689
  }
@@ -5868,8 +5706,8 @@ function Select({
5868
5706
  defaultValue: defaultOpen,
5869
5707
  ...onOpenChange ? { onChange: onOpenChange } : {}
5870
5708
  });
5871
- const anchorRef = React60.useRef(null);
5872
- return /* @__PURE__ */ jsx51(
5709
+ const anchorRef = React59.useRef(null);
5710
+ return /* @__PURE__ */ jsx50(
5873
5711
  SelectContext.Provider,
5874
5712
  {
5875
5713
  value: { value: currentValue, setValue, open: isOpen, setOpen, anchorRef },
@@ -5885,7 +5723,7 @@ function SelectTrigger({
5885
5723
  ...props
5886
5724
  }) {
5887
5725
  const { open, setOpen, anchorRef } = useSelect();
5888
- return /* @__PURE__ */ jsxs21(
5726
+ return /* @__PURE__ */ jsxs20(
5889
5727
  "button",
5890
5728
  {
5891
5729
  type: "button",
@@ -5906,7 +5744,7 @@ function SelectTrigger({
5906
5744
  ...props,
5907
5745
  children: [
5908
5746
  children,
5909
- /* @__PURE__ */ jsx51(
5747
+ /* @__PURE__ */ jsx50(
5910
5748
  "svg",
5911
5749
  {
5912
5750
  xmlns: "http://www.w3.org/2000/svg",
@@ -5920,7 +5758,7 @@ function SelectTrigger({
5920
5758
  strokeLinejoin: "round",
5921
5759
  className: "size-4 opacity-50",
5922
5760
  "aria-hidden": "true",
5923
- children: /* @__PURE__ */ jsx51("path", { d: "m6 9 6 6 6-6" })
5761
+ children: /* @__PURE__ */ jsx50("path", { d: "m6 9 6 6 6-6" })
5924
5762
  }
5925
5763
  )
5926
5764
  ]
@@ -5930,7 +5768,7 @@ function SelectTrigger({
5930
5768
  function SelectValue({ className, placeholder, ...props }) {
5931
5769
  const { value } = useSelect();
5932
5770
  const isEmpty = value === "";
5933
- return /* @__PURE__ */ jsx51(
5771
+ return /* @__PURE__ */ jsx50(
5934
5772
  "span",
5935
5773
  {
5936
5774
  "data-slot": "select-value",
@@ -5963,13 +5801,13 @@ function SelectContent({
5963
5801
  onDismiss: () => setOpen(false),
5964
5802
  exclude: [anchorRef]
5965
5803
  });
5966
- const items = React60.Children.toArray(children).filter(React60.isValidElement);
5804
+ const items = React59.Children.toArray(children).filter(React59.isValidElement);
5967
5805
  const { activeIndex, setActiveIndex, onKeyDown } = useRovingFocus({
5968
5806
  count: items.length,
5969
5807
  orientation: "vertical"
5970
5808
  });
5971
5809
  if (!isPresent) return null;
5972
- return /* @__PURE__ */ jsx51(Portal, { children: /* @__PURE__ */ jsx51(
5810
+ return /* @__PURE__ */ jsx50(Portal, { children: /* @__PURE__ */ jsx50(
5973
5811
  "div",
5974
5812
  {
5975
5813
  role: "listbox",
@@ -5985,8 +5823,8 @@ function SelectContent({
5985
5823
  className
5986
5824
  ),
5987
5825
  ...props,
5988
- children: /* @__PURE__ */ jsx51("div", { className: "p-1", children: items.map(
5989
- (child, index) => React60.cloneElement(child, {
5826
+ children: /* @__PURE__ */ jsx50("div", { className: "p-1", children: items.map(
5827
+ (child, index) => React59.cloneElement(child, {
5990
5828
  __index: index,
5991
5829
  __active: index === activeIndex,
5992
5830
  __setActive: setActiveIndex
@@ -6006,7 +5844,7 @@ function SelectItem({
6006
5844
  }) {
6007
5845
  const { value: selectedValue, setValue, setOpen } = useSelect();
6008
5846
  const selected = selectedValue === value;
6009
- return /* @__PURE__ */ jsxs21(
5847
+ return /* @__PURE__ */ jsxs20(
6010
5848
  "div",
6011
5849
  {
6012
5850
  role: "option",
@@ -6031,7 +5869,7 @@ function SelectItem({
6031
5869
  ),
6032
5870
  ...props,
6033
5871
  children: [
6034
- selected ? /* @__PURE__ */ jsx51("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx51(
5872
+ selected ? /* @__PURE__ */ jsx50("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx50(
6035
5873
  "svg",
6036
5874
  {
6037
5875
  xmlns: "http://www.w3.org/2000/svg",
@@ -6045,19 +5883,19 @@ function SelectItem({
6045
5883
  strokeLinejoin: "round",
6046
5884
  className: "size-4",
6047
5885
  "aria-hidden": "true",
6048
- children: /* @__PURE__ */ jsx51("path", { d: "M20 6 9 17l-5-5" })
5886
+ children: /* @__PURE__ */ jsx50("path", { d: "M20 6 9 17l-5-5" })
6049
5887
  }
6050
5888
  ) }) : null,
6051
- /* @__PURE__ */ jsx51("span", { children })
5889
+ /* @__PURE__ */ jsx50("span", { children })
6052
5890
  ]
6053
5891
  }
6054
5892
  );
6055
5893
  }
6056
5894
  function SelectGroup({ className, ...props }) {
6057
- return /* @__PURE__ */ jsx51("div", { role: "group", "data-slot": "select-group", className, ...props });
5895
+ return /* @__PURE__ */ jsx50("div", { role: "group", "data-slot": "select-group", className, ...props });
6058
5896
  }
6059
5897
  function SelectLabel({ className, ...props }) {
6060
- return /* @__PURE__ */ jsx51(
5898
+ return /* @__PURE__ */ jsx50(
6061
5899
  "div",
6062
5900
  {
6063
5901
  "data-slot": "select-label",
@@ -6067,7 +5905,7 @@ function SelectLabel({ className, ...props }) {
6067
5905
  );
6068
5906
  }
6069
5907
  function SelectSeparator({ className, ...props }) {
6070
- return /* @__PURE__ */ jsx51(
5908
+ return /* @__PURE__ */ jsx50(
6071
5909
  "div",
6072
5910
  {
6073
5911
  "data-slot": "select-separator",
@@ -6078,7 +5916,7 @@ function SelectSeparator({ className, ...props }) {
6078
5916
  }
6079
5917
 
6080
5918
  // src/components/command.tsx
6081
- import * as React61 from "react";
5919
+ import * as React60 from "react";
6082
5920
 
6083
5921
  // src/generated/command.ts
6084
5922
  var COMMAND_ROOT = "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md";
@@ -6095,10 +5933,10 @@ var COMMAND_SEPARATOR = "bg-border -mx-1 h-px";
6095
5933
  var COMMAND_SHORTCUT = "text-muted-foreground ml-auto text-xs tracking-widest";
6096
5934
 
6097
5935
  // src/components/command.tsx
6098
- import { jsx as jsx52, jsxs as jsxs22 } from "react/jsx-runtime";
6099
- var CommandContext = React61.createContext(null);
5936
+ import { jsx as jsx51, jsxs as jsxs21 } from "react/jsx-runtime";
5937
+ var CommandContext = React60.createContext(null);
6100
5938
  function useCommand() {
6101
- const ctx = React61.useContext(CommandContext);
5939
+ const ctx = React60.useContext(CommandContext);
6102
5940
  if (!ctx) throw new Error("Command parts must be used within <Command>");
6103
5941
  return ctx;
6104
5942
  }
@@ -6115,7 +5953,7 @@ function Command({
6115
5953
  defaultValue: defaultSearch,
6116
5954
  ...onSearchChange ? { onChange: onSearchChange } : {}
6117
5955
  });
6118
- return /* @__PURE__ */ jsx52(CommandContext.Provider, { value: { search: currentSearch, setSearch }, children: /* @__PURE__ */ jsx52(
5956
+ return /* @__PURE__ */ jsx51(CommandContext.Provider, { value: { search: currentSearch, setSearch }, children: /* @__PURE__ */ jsx51(
6119
5957
  "div",
6120
5958
  {
6121
5959
  "data-slot": "command",
@@ -6139,8 +5977,8 @@ function CommandDialog({
6139
5977
  });
6140
5978
  const scopeRef = useFocusScope(isOpen);
6141
5979
  if (!isOpen) return null;
6142
- return /* @__PURE__ */ jsxs22(Portal, { children: [
6143
- /* @__PURE__ */ jsx52(
5980
+ return /* @__PURE__ */ jsxs21(Portal, { children: [
5981
+ /* @__PURE__ */ jsx51(
6144
5982
  "div",
6145
5983
  {
6146
5984
  "data-slot": "command-overlay",
@@ -6148,7 +5986,7 @@ function CommandDialog({
6148
5986
  onClick: () => setOpen(false)
6149
5987
  }
6150
5988
  ),
6151
- /* @__PURE__ */ jsx52(
5989
+ /* @__PURE__ */ jsx51(
6152
5990
  "div",
6153
5991
  {
6154
5992
  role: "dialog",
@@ -6159,7 +5997,7 @@ function CommandDialog({
6159
5997
  if (e.key === "Escape") setOpen(false);
6160
5998
  },
6161
5999
  className: cn(COMMAND_DIALOG_CONTENT, className),
6162
- children: /* @__PURE__ */ jsx52(Command, { className: COMMAND_DIALOG_COMMAND, children })
6000
+ children: /* @__PURE__ */ jsx51(Command, { className: COMMAND_DIALOG_COMMAND, children })
6163
6001
  }
6164
6002
  )
6165
6003
  ] });
@@ -6169,8 +6007,8 @@ function CommandInput({
6169
6007
  ...props
6170
6008
  }) {
6171
6009
  const { search, setSearch } = useCommand();
6172
- return /* @__PURE__ */ jsxs22("div", { className: COMMAND_INPUT_WRAPPER, "data-slot": "command-input-wrapper", children: [
6173
- /* @__PURE__ */ jsxs22(
6010
+ return /* @__PURE__ */ jsxs21("div", { className: COMMAND_INPUT_WRAPPER, "data-slot": "command-input-wrapper", children: [
6011
+ /* @__PURE__ */ jsxs21(
6174
6012
  "svg",
6175
6013
  {
6176
6014
  xmlns: "http://www.w3.org/2000/svg",
@@ -6185,12 +6023,12 @@ function CommandInput({
6185
6023
  className: "size-4 shrink-0 opacity-50",
6186
6024
  "aria-hidden": "true",
6187
6025
  children: [
6188
- /* @__PURE__ */ jsx52("circle", { cx: "11", cy: "11", r: "8" }),
6189
- /* @__PURE__ */ jsx52("path", { d: "m21 21-4.3-4.3" })
6026
+ /* @__PURE__ */ jsx51("circle", { cx: "11", cy: "11", r: "8" }),
6027
+ /* @__PURE__ */ jsx51("path", { d: "m21 21-4.3-4.3" })
6190
6028
  ]
6191
6029
  }
6192
6030
  ),
6193
- /* @__PURE__ */ jsx52(
6031
+ /* @__PURE__ */ jsx51(
6194
6032
  "input",
6195
6033
  {
6196
6034
  type: "text",
@@ -6205,7 +6043,7 @@ function CommandInput({
6205
6043
  ] });
6206
6044
  }
6207
6045
  function CommandList({ className, ...props }) {
6208
- return /* @__PURE__ */ jsx52(
6046
+ return /* @__PURE__ */ jsx51(
6209
6047
  "div",
6210
6048
  {
6211
6049
  role: "listbox",
@@ -6219,7 +6057,7 @@ function CommandEmpty({ className, children, ...props }) {
6219
6057
  const { search } = useCommand();
6220
6058
  const hasQuery = search.trim() !== "";
6221
6059
  if (!hasQuery) return null;
6222
- return /* @__PURE__ */ jsx52(
6060
+ return /* @__PURE__ */ jsx51(
6223
6061
  "div",
6224
6062
  {
6225
6063
  "data-slot": "command-empty",
@@ -6230,7 +6068,7 @@ function CommandEmpty({ className, children, ...props }) {
6230
6068
  );
6231
6069
  }
6232
6070
  function CommandGroup({ className, heading, children, ...props }) {
6233
- return /* @__PURE__ */ jsxs22(
6071
+ return /* @__PURE__ */ jsxs21(
6234
6072
  "div",
6235
6073
  {
6236
6074
  role: "group",
@@ -6238,7 +6076,7 @@ function CommandGroup({ className, heading, children, ...props }) {
6238
6076
  className: cn(COMMAND_GROUP, className),
6239
6077
  ...props,
6240
6078
  children: [
6241
- heading ? /* @__PURE__ */ jsx52("div", { "data-slot": "command-group-heading", children: heading }) : null,
6079
+ heading ? /* @__PURE__ */ jsx51("div", { "data-slot": "command-group-heading", children: heading }) : null,
6242
6080
  children
6243
6081
  ]
6244
6082
  }
@@ -6255,7 +6093,7 @@ function CommandItem({
6255
6093
  const { search } = useCommand();
6256
6094
  const query = search.toLowerCase();
6257
6095
  if (query !== "" && !value.toLowerCase().includes(query)) return null;
6258
- return /* @__PURE__ */ jsx52(
6096
+ return /* @__PURE__ */ jsx51(
6259
6097
  "div",
6260
6098
  {
6261
6099
  role: "option",
@@ -6273,7 +6111,7 @@ function CommandItem({
6273
6111
  );
6274
6112
  }
6275
6113
  function CommandSeparator({ className, ...props }) {
6276
- return /* @__PURE__ */ jsx52(
6114
+ return /* @__PURE__ */ jsx51(
6277
6115
  "div",
6278
6116
  {
6279
6117
  "data-slot": "command-separator",
@@ -6283,7 +6121,7 @@ function CommandSeparator({ className, ...props }) {
6283
6121
  );
6284
6122
  }
6285
6123
  function CommandShortcut({ className, ...props }) {
6286
- return /* @__PURE__ */ jsx52(
6124
+ return /* @__PURE__ */ jsx51(
6287
6125
  "span",
6288
6126
  {
6289
6127
  "data-slot": "command-shortcut",
@@ -6294,7 +6132,7 @@ function CommandShortcut({ className, ...props }) {
6294
6132
  }
6295
6133
 
6296
6134
  // src/components/chart.tsx
6297
- import * as React62 from "react";
6135
+ import * as React61 from "react";
6298
6136
 
6299
6137
  // src/generated/chart.ts
6300
6138
  var CHART_CONTAINER = "flex aspect-video justify-center text-xs [&_.recharts-layer]:outline-hidden [&_.recharts-surface]:outline-hidden [&_svg]:outline-hidden";
@@ -6302,10 +6140,10 @@ var CHART_TOOLTIP = "border-border/50 bg-background grid min-w-[8rem] items-star
6302
6140
  var CHART_LEGEND = "flex items-center justify-center gap-4";
6303
6141
 
6304
6142
  // src/components/chart.tsx
6305
- import { Fragment as Fragment6, jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
6306
- var ChartContext = React62.createContext(null);
6143
+ import { Fragment as Fragment6, jsx as jsx52, jsxs as jsxs22 } from "react/jsx-runtime";
6144
+ var ChartContext = React61.createContext(null);
6307
6145
  function useChart() {
6308
- const context = React62.useContext(ChartContext);
6146
+ const context = React61.useContext(ChartContext);
6309
6147
  if (!context) {
6310
6148
  throw new Error("useChart must be used within a <ChartContainer />");
6311
6149
  }
@@ -6318,9 +6156,9 @@ function ChartContainer({
6318
6156
  config,
6319
6157
  ...props
6320
6158
  }) {
6321
- const uniqueId = React62.useId();
6159
+ const uniqueId = React61.useId();
6322
6160
  const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
6323
- return /* @__PURE__ */ jsx53(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs23(
6161
+ return /* @__PURE__ */ jsx52(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs22(
6324
6162
  "div",
6325
6163
  {
6326
6164
  "data-slot": "chart",
@@ -6328,7 +6166,7 @@ function ChartContainer({
6328
6166
  className: cn(CHART_CONTAINER, className),
6329
6167
  ...props,
6330
6168
  children: [
6331
- /* @__PURE__ */ jsx53(ChartStyle, { id: chartId, config }),
6169
+ /* @__PURE__ */ jsx52(ChartStyle, { id: chartId, config }),
6332
6170
  children
6333
6171
  ]
6334
6172
  }
@@ -6339,7 +6177,7 @@ var ChartStyle = ({ id, config }) => {
6339
6177
  if (!colorConfig.length) {
6340
6178
  return null;
6341
6179
  }
6342
- return /* @__PURE__ */ jsx53(
6180
+ return /* @__PURE__ */ jsx52(
6343
6181
  "style",
6344
6182
  {
6345
6183
  dangerouslySetInnerHTML: {
@@ -6350,7 +6188,7 @@ ${colorConfig.map(([key, itemConfig]) => ` --color-${key}: ${itemConfig.color};
6350
6188
  }
6351
6189
  );
6352
6190
  };
6353
- var ChartTooltip = ({ children }) => /* @__PURE__ */ jsx53(Fragment6, { children });
6191
+ var ChartTooltip = ({ children }) => /* @__PURE__ */ jsx52(Fragment6, { children });
6354
6192
  function ChartTooltipContent({
6355
6193
  className,
6356
6194
  items = [],
@@ -6363,21 +6201,21 @@ function ChartTooltipContent({
6363
6201
  if (!items.length) {
6364
6202
  return null;
6365
6203
  }
6366
- return /* @__PURE__ */ jsxs23(
6204
+ return /* @__PURE__ */ jsxs22(
6367
6205
  "div",
6368
6206
  {
6369
6207
  "data-slot": "chart-tooltip",
6370
6208
  className: cn(CHART_TOOLTIP, className),
6371
6209
  children: [
6372
- !hideLabel && label ? /* @__PURE__ */ jsx53("div", { className: cn("font-medium", labelClassName), children: label }) : null,
6373
- /* @__PURE__ */ jsx53("div", { className: "grid gap-1.5", children: items.map((item, index) => /* @__PURE__ */ jsxs23(
6210
+ !hideLabel && label ? /* @__PURE__ */ jsx52("div", { className: cn("font-medium", labelClassName), children: label }) : null,
6211
+ /* @__PURE__ */ jsx52("div", { className: "grid gap-1.5", children: items.map((item, index) => /* @__PURE__ */ jsxs22(
6374
6212
  "div",
6375
6213
  {
6376
6214
  className: cn(
6377
6215
  "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 items-center"
6378
6216
  ),
6379
6217
  children: [
6380
- !hideIndicator && /* @__PURE__ */ jsx53(
6218
+ !hideIndicator && /* @__PURE__ */ jsx52(
6381
6219
  "div",
6382
6220
  {
6383
6221
  className: "shrink-0 rounded-[2px] h-2.5 w-2.5",
@@ -6387,9 +6225,9 @@ function ChartTooltipContent({
6387
6225
  }
6388
6226
  }
6389
6227
  ),
6390
- /* @__PURE__ */ jsxs23("div", { className: "flex flex-1 justify-between leading-none items-center", children: [
6391
- /* @__PURE__ */ jsx53("span", { className: "text-muted-foreground", children: item.label }),
6392
- item.value !== void 0 && /* @__PURE__ */ jsx53("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value })
6228
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-1 justify-between leading-none items-center", children: [
6229
+ /* @__PURE__ */ jsx52("span", { className: "text-muted-foreground", children: item.label }),
6230
+ item.value !== void 0 && /* @__PURE__ */ jsx52("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value })
6393
6231
  ] })
6394
6232
  ]
6395
6233
  },
@@ -6399,7 +6237,7 @@ function ChartTooltipContent({
6399
6237
  }
6400
6238
  );
6401
6239
  }
6402
- var ChartLegend = ({ children }) => /* @__PURE__ */ jsx53(Fragment6, { children });
6240
+ var ChartLegend = ({ children }) => /* @__PURE__ */ jsx52(Fragment6, { children });
6403
6241
  function ChartLegendContent({
6404
6242
  className,
6405
6243
  hideIcon = false,
@@ -6413,19 +6251,19 @@ function ChartLegendContent({
6413
6251
  if (!rows.length) {
6414
6252
  return null;
6415
6253
  }
6416
- return /* @__PURE__ */ jsx53(
6254
+ return /* @__PURE__ */ jsx52(
6417
6255
  "div",
6418
6256
  {
6419
6257
  "data-slot": "chart-legend",
6420
6258
  className: cn(CHART_LEGEND, className),
6421
- children: rows.map((item, index) => /* @__PURE__ */ jsxs23(
6259
+ children: rows.map((item, index) => /* @__PURE__ */ jsxs22(
6422
6260
  "div",
6423
6261
  {
6424
6262
  className: cn(
6425
6263
  "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
6426
6264
  ),
6427
6265
  children: [
6428
- !hideIcon && /* @__PURE__ */ jsx53(
6266
+ !hideIcon && /* @__PURE__ */ jsx52(
6429
6267
  "div",
6430
6268
  {
6431
6269
  className: "h-2 w-2 shrink-0 rounded-[2px]",
@@ -6442,7 +6280,7 @@ function ChartLegendContent({
6442
6280
  }
6443
6281
 
6444
6282
  // src/components/calendar.tsx
6445
- import * as React63 from "react";
6283
+ import * as React62 from "react";
6446
6284
 
6447
6285
  // src/generated/calendar.ts
6448
6286
  var CALENDAR_ROOT = "bg-background p-3 w-fit";
@@ -6460,7 +6298,7 @@ var CALENDAR_DAY_SELECTED = "bg-primary text-primary-foreground";
6460
6298
  var CALENDAR_DAY_TODAY = "bg-accent text-accent-foreground rounded-md";
6461
6299
 
6462
6300
  // src/components/calendar.tsx
6463
- import { jsx as jsx54, jsxs as jsxs24 } from "react/jsx-runtime";
6301
+ import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
6464
6302
  var MONTHS = [
6465
6303
  "January",
6466
6304
  "February",
@@ -6479,7 +6317,7 @@ var WEEKDAYS = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
6479
6317
  var CHEVRON_LEFT = "m15 18-6-6 6-6";
6480
6318
  var CHEVRON_RIGHT = "m9 18 6-6-6-6";
6481
6319
  function Chevron({ d }) {
6482
- return /* @__PURE__ */ jsx54(
6320
+ return /* @__PURE__ */ jsx53(
6483
6321
  "svg",
6484
6322
  {
6485
6323
  className: "size-4",
@@ -6493,7 +6331,7 @@ function Chevron({ d }) {
6493
6331
  strokeLinecap: "round",
6494
6332
  strokeLinejoin: "round",
6495
6333
  "aria-hidden": true,
6496
- children: /* @__PURE__ */ jsx54("path", { d })
6334
+ children: /* @__PURE__ */ jsx53("path", { d })
6497
6335
  }
6498
6336
  );
6499
6337
  }
@@ -6515,7 +6353,7 @@ function Calendar({
6515
6353
  today = /* @__PURE__ */ new Date(),
6516
6354
  className
6517
6355
  }) {
6518
- const [internal, setInternal] = React63.useState(
6356
+ const [internal, setInternal] = React62.useState(
6519
6357
  () => startOfMonth(defaultMonth ?? /* @__PURE__ */ new Date())
6520
6358
  );
6521
6359
  const view = month ? startOfMonth(month) : internal;
@@ -6540,38 +6378,38 @@ function Calendar({
6540
6378
  size: "icon",
6541
6379
  className: CALENDAR_NAV_BUTTON
6542
6380
  });
6543
- return /* @__PURE__ */ jsxs24(
6381
+ return /* @__PURE__ */ jsxs23(
6544
6382
  "div",
6545
6383
  {
6546
6384
  "data-slot": "calendar",
6547
6385
  role: "application",
6548
6386
  className: cn(CALENDAR_ROOT, className),
6549
6387
  children: [
6550
- /* @__PURE__ */ jsxs24("div", { className: CALENDAR_NAV, children: [
6551
- /* @__PURE__ */ jsx54(
6388
+ /* @__PURE__ */ jsxs23("div", { className: CALENDAR_NAV, children: [
6389
+ /* @__PURE__ */ jsx53(
6552
6390
  "button",
6553
6391
  {
6554
6392
  type: "button",
6555
6393
  className: navClass,
6556
6394
  "aria-label": "Previous month",
6557
6395
  onClick: () => go(-1),
6558
- children: /* @__PURE__ */ jsx54(Chevron, { d: CHEVRON_LEFT })
6396
+ children: /* @__PURE__ */ jsx53(Chevron, { d: CHEVRON_LEFT })
6559
6397
  }
6560
6398
  ),
6561
- /* @__PURE__ */ jsx54("div", { className: CALENDAR_CAPTION, children: caption }),
6562
- /* @__PURE__ */ jsx54(
6399
+ /* @__PURE__ */ jsx53("div", { className: CALENDAR_CAPTION, children: caption }),
6400
+ /* @__PURE__ */ jsx53(
6563
6401
  "button",
6564
6402
  {
6565
6403
  type: "button",
6566
6404
  className: navClass,
6567
6405
  "aria-label": "Next month",
6568
6406
  onClick: () => go(1),
6569
- children: /* @__PURE__ */ jsx54(Chevron, { d: CHEVRON_RIGHT })
6407
+ children: /* @__PURE__ */ jsx53(Chevron, { d: CHEVRON_RIGHT })
6570
6408
  }
6571
6409
  )
6572
6410
  ] }),
6573
- /* @__PURE__ */ jsxs24("table", { className: CALENDAR_GRID, role: "grid", children: [
6574
- /* @__PURE__ */ jsx54("thead", { children: /* @__PURE__ */ jsx54("tr", { className: CALENDAR_WEEKDAY_ROW, children: WEEKDAYS.map((wd) => /* @__PURE__ */ jsx54(
6411
+ /* @__PURE__ */ jsxs23("table", { className: CALENDAR_GRID, role: "grid", children: [
6412
+ /* @__PURE__ */ jsx53("thead", { children: /* @__PURE__ */ jsx53("tr", { className: CALENDAR_WEEKDAY_ROW, children: WEEKDAYS.map((wd) => /* @__PURE__ */ jsx53(
6575
6413
  "th",
6576
6414
  {
6577
6415
  scope: "col",
@@ -6580,9 +6418,9 @@ function Calendar({
6580
6418
  },
6581
6419
  wd
6582
6420
  )) }) }),
6583
- /* @__PURE__ */ jsx54("tbody", { children: weeks.map((week, wi) => /* @__PURE__ */ jsx54("tr", { className: CALENDAR_WEEK, children: week.map((cell, ci) => {
6421
+ /* @__PURE__ */ jsx53("tbody", { children: weeks.map((week, wi) => /* @__PURE__ */ jsx53("tr", { className: CALENDAR_WEEK, children: week.map((cell, ci) => {
6584
6422
  if (cell === null) {
6585
- return /* @__PURE__ */ jsx54(
6423
+ return /* @__PURE__ */ jsx53(
6586
6424
  "td",
6587
6425
  {
6588
6426
  className: CALENDAR_DAY_EMPTY
@@ -6593,13 +6431,13 @@ function Calendar({
6593
6431
  const date = new Date(year, monthIndex, cell);
6594
6432
  const isSelected = sameDay(selected, date);
6595
6433
  const isToday = sameDay(today, date);
6596
- return /* @__PURE__ */ jsx54(
6434
+ return /* @__PURE__ */ jsx53(
6597
6435
  "td",
6598
6436
  {
6599
6437
  role: "gridcell",
6600
6438
  "aria-selected": isSelected,
6601
6439
  className: CALENDAR_DAY_CELL,
6602
- children: /* @__PURE__ */ jsx54(
6440
+ children: /* @__PURE__ */ jsx53(
6603
6441
  "button",
6604
6442
  {
6605
6443
  type: "button",
@@ -6629,7 +6467,7 @@ function Calendar({
6629
6467
  }
6630
6468
 
6631
6469
  // src/components/sonner.tsx
6632
- import * as React64 from "react";
6470
+ import * as React63 from "react";
6633
6471
 
6634
6472
  // src/generated/sonner.ts
6635
6473
  var TOAST_BASE = "pointer-events-auto flex w-full items-start gap-3 rounded-md border p-4 text-sm shadow-lg";
@@ -6654,7 +6492,7 @@ var TOAST_CONTENT = "flex-1 space-y-1";
6654
6492
  var TOAST_TITLE = "font-medium";
6655
6493
 
6656
6494
  // src/components/sonner.tsx
6657
- import { jsx as jsx55, jsxs as jsxs25 } from "react/jsx-runtime";
6495
+ import { jsx as jsx54, jsxs as jsxs24 } from "react/jsx-runtime";
6658
6496
  var DEFAULT_DURATION = 4e3;
6659
6497
  var SWIPE_THRESHOLD = 45;
6660
6498
  var SWIPE_VELOCITY = 0.11;
@@ -6719,17 +6557,17 @@ function ToastItem({
6719
6557
  reportHeight,
6720
6558
  removeHeight
6721
6559
  }) {
6722
- const ref = React64.useRef(null);
6723
- const [height, setHeight] = React64.useState(0);
6724
- const remainingRef = React64.useRef(t.duration);
6725
- const startedRef = React64.useRef(0);
6726
- const flingRef = React64.useRef(
6560
+ const ref = React63.useRef(null);
6561
+ const [height, setHeight] = React63.useState(0);
6562
+ const remainingRef = React63.useRef(t.duration);
6563
+ const startedRef = React63.useRef(0);
6564
+ const flingRef = React63.useRef(
6727
6565
  void 0
6728
6566
  );
6729
- const dragRef = React64.useRef(
6567
+ const dragRef = React63.useRef(
6730
6568
  null
6731
6569
  );
6732
- React64.useLayoutEffect(() => {
6570
+ React63.useLayoutEffect(() => {
6733
6571
  const el = ref.current;
6734
6572
  if (!el) return;
6735
6573
  el.style.height = "auto";
@@ -6740,8 +6578,8 @@ function ToastItem({
6740
6578
  reportHeight(t.id, h);
6741
6579
  }
6742
6580
  }, [t.id, t.message, t.description, reportHeight]);
6743
- React64.useEffect(() => () => removeHeight(t.id), [t.id, removeHeight]);
6744
- React64.useEffect(() => {
6581
+ React63.useEffect(() => () => removeHeight(t.id), [t.id, removeHeight]);
6582
+ React63.useEffect(() => {
6745
6583
  if (t.duration === Infinity || t.state === "closing" || paused) return;
6746
6584
  startedRef.current = Date.now();
6747
6585
  const id = setTimeout(() => store.dismiss(t.id), remainingRef.current);
@@ -6753,7 +6591,7 @@ function ToastItem({
6753
6591
  );
6754
6592
  };
6755
6593
  }, [paused, t.id, t.duration, t.state]);
6756
- React64.useEffect(
6594
+ React63.useEffect(
6757
6595
  () => () => {
6758
6596
  if (flingRef.current) clearTimeout(flingRef.current);
6759
6597
  },
@@ -6812,7 +6650,7 @@ function ToastItem({
6812
6650
  );
6813
6651
  }
6814
6652
  };
6815
- return /* @__PURE__ */ jsxs25(
6653
+ return /* @__PURE__ */ jsxs24(
6816
6654
  "li",
6817
6655
  {
6818
6656
  ref,
@@ -6840,11 +6678,11 @@ function ToastItem({
6840
6678
  toastVariantClasses[t.variant]
6841
6679
  ),
6842
6680
  children: [
6843
- /* @__PURE__ */ jsxs25("div", { className: TOAST_CONTENT, children: [
6844
- /* @__PURE__ */ jsx55("div", { className: TOAST_TITLE, children: t.message }),
6845
- t.description ? /* @__PURE__ */ jsx55("div", { className: "text-muted-foreground text-sm", children: t.description }) : null
6681
+ /* @__PURE__ */ jsxs24("div", { className: TOAST_CONTENT, children: [
6682
+ /* @__PURE__ */ jsx54("div", { className: TOAST_TITLE, children: t.message }),
6683
+ t.description ? /* @__PURE__ */ jsx54("div", { className: "text-muted-foreground text-sm", children: t.description }) : null
6846
6684
  ] }),
6847
- /* @__PURE__ */ jsx55(
6685
+ /* @__PURE__ */ jsx54(
6848
6686
  "button",
6849
6687
  {
6850
6688
  type: "button",
@@ -6852,7 +6690,7 @@ function ToastItem({
6852
6690
  "data-slot": "toast-close",
6853
6691
  onClick: () => store.dismiss(t.id),
6854
6692
  className: TOAST_CLOSE,
6855
- children: /* @__PURE__ */ jsx55(
6693
+ children: /* @__PURE__ */ jsx54(
6856
6694
  "svg",
6857
6695
  {
6858
6696
  xmlns: "http://www.w3.org/2000/svg",
@@ -6865,7 +6703,7 @@ function ToastItem({
6865
6703
  strokeLinecap: "round",
6866
6704
  strokeLinejoin: "round",
6867
6705
  "aria-hidden": "true",
6868
- children: /* @__PURE__ */ jsx55("path", { d: "M18 6 6 18M6 6l12 12" })
6706
+ children: /* @__PURE__ */ jsx54("path", { d: "M18 6 6 18M6 6l12 12" })
6869
6707
  }
6870
6708
  )
6871
6709
  }
@@ -6879,17 +6717,17 @@ function Toaster({
6879
6717
  className,
6880
6718
  ...props
6881
6719
  }) {
6882
- const [toasts, setToasts] = React64.useState([]);
6883
- const [heights, setHeights] = React64.useState(/* @__PURE__ */ new Map());
6884
- const [paused, setPaused] = React64.useState(false);
6885
- React64.useEffect(() => store.subscribe(setToasts), []);
6720
+ const [toasts, setToasts] = React63.useState([]);
6721
+ const [heights, setHeights] = React63.useState(/* @__PURE__ */ new Map());
6722
+ const [paused, setPaused] = React63.useState(false);
6723
+ React63.useEffect(() => store.subscribe(setToasts), []);
6886
6724
  const onEnter = () => setPaused(true);
6887
6725
  const onLeave = (e) => {
6888
6726
  if (!e.currentTarget.contains(e.relatedTarget)) {
6889
6727
  setPaused(false);
6890
6728
  }
6891
6729
  };
6892
- const reportHeight = React64.useCallback((id, h) => {
6730
+ const reportHeight = React63.useCallback((id, h) => {
6893
6731
  setHeights((prev) => {
6894
6732
  if (prev.get(id) === h) return prev;
6895
6733
  const next = new Map(prev);
@@ -6897,7 +6735,7 @@ function Toaster({
6897
6735
  return next;
6898
6736
  });
6899
6737
  }, []);
6900
- const removeHeight = React64.useCallback((id) => {
6738
+ const removeHeight = React63.useCallback((id) => {
6901
6739
  setHeights((prev) => {
6902
6740
  if (!prev.has(id)) return prev;
6903
6741
  const next = new Map(prev);
@@ -6915,7 +6753,7 @@ function Toaster({
6915
6753
  sum += heights.get(t.id) ?? 0;
6916
6754
  return o;
6917
6755
  });
6918
- return /* @__PURE__ */ jsx55(
6756
+ return /* @__PURE__ */ jsx54(
6919
6757
  "ol",
6920
6758
  {
6921
6759
  "data-slot": "toaster",
@@ -6936,7 +6774,7 @@ function Toaster({
6936
6774
  onPointerOut: onLeave,
6937
6775
  onFocus: onEnter,
6938
6776
  onBlur: onLeave,
6939
- children: ordered.map((t, i) => /* @__PURE__ */ jsx55(
6777
+ children: ordered.map((t, i) => /* @__PURE__ */ jsx54(
6940
6778
  ToastItem,
6941
6779
  {
6942
6780
  toast: t,
@@ -6954,7 +6792,7 @@ function Toaster({
6954
6792
  }
6955
6793
 
6956
6794
  // src/components/form.tsx
6957
- import * as React65 from "react";
6795
+ import * as React64 from "react";
6958
6796
 
6959
6797
  // src/generated/form.ts
6960
6798
  var FORM_ITEM = "grid gap-2";
@@ -6962,21 +6800,21 @@ var FORM_DESCRIPTION = "text-muted-foreground text-sm";
6962
6800
  var FORM_MESSAGE = "text-destructive text-sm";
6963
6801
 
6964
6802
  // src/components/form.tsx
6965
- import { jsx as jsx56 } from "react/jsx-runtime";
6966
- var FormItemContext = React65.createContext(null);
6803
+ import { jsx as jsx55 } from "react/jsx-runtime";
6804
+ var FormItemContext = React64.createContext(null);
6967
6805
  function useFormItem() {
6968
- const ctx = React65.useContext(FormItemContext);
6806
+ const ctx = React64.useContext(FormItemContext);
6969
6807
  if (!ctx) {
6970
6808
  throw new Error("Form parts must be used within <FormItem>");
6971
6809
  }
6972
6810
  return ctx;
6973
6811
  }
6974
6812
  function Form({ ...props }) {
6975
- return /* @__PURE__ */ jsx56("form", { "data-slot": "form", ...props });
6813
+ return /* @__PURE__ */ jsx55("form", { "data-slot": "form", ...props });
6976
6814
  }
6977
6815
  function FormItem({ className, ...props }) {
6978
- const id = React65.useId();
6979
- const value = React65.useMemo(
6816
+ const id = React64.useId();
6817
+ const value = React64.useMemo(
6980
6818
  () => ({
6981
6819
  id,
6982
6820
  formItemId: `${id}-form-item`,
@@ -6985,7 +6823,7 @@ function FormItem({ className, ...props }) {
6985
6823
  }),
6986
6824
  [id]
6987
6825
  );
6988
- return /* @__PURE__ */ jsx56(FormItemContext.Provider, { value, children: /* @__PURE__ */ jsx56("div", { "data-slot": "form-item", className: cn(FORM_ITEM, className), ...props }) });
6826
+ return /* @__PURE__ */ jsx55(FormItemContext.Provider, { value, children: /* @__PURE__ */ jsx55("div", { "data-slot": "form-item", className: cn(FORM_ITEM, className), ...props }) });
6989
6827
  }
6990
6828
  function FormLabel({
6991
6829
  className,
@@ -6993,7 +6831,7 @@ function FormLabel({
6993
6831
  ...props
6994
6832
  }) {
6995
6833
  const { formItemId } = useFormItem();
6996
- return /* @__PURE__ */ jsx56(
6834
+ return /* @__PURE__ */ jsx55(
6997
6835
  Label,
6998
6836
  {
6999
6837
  "data-slot": "form-label",
@@ -7009,7 +6847,7 @@ function FormControl({
7009
6847
  ...props
7010
6848
  }) {
7011
6849
  const { formItemId, formDescriptionId, formMessageId } = useFormItem();
7012
- return /* @__PURE__ */ jsx56(
6850
+ return /* @__PURE__ */ jsx55(
7013
6851
  Slot,
7014
6852
  {
7015
6853
  "data-slot": "form-control",
@@ -7022,7 +6860,7 @@ function FormControl({
7022
6860
  }
7023
6861
  function FormDescription({ className, ...props }) {
7024
6862
  const { formDescriptionId } = useFormItem();
7025
- return /* @__PURE__ */ jsx56(
6863
+ return /* @__PURE__ */ jsx55(
7026
6864
  "p",
7027
6865
  {
7028
6866
  "data-slot": "form-description",
@@ -7037,7 +6875,7 @@ function FormMessage({ className, children, ...props }) {
7037
6875
  if (!children) {
7038
6876
  return null;
7039
6877
  }
7040
- return /* @__PURE__ */ jsx56(
6878
+ return /* @__PURE__ */ jsx55(
7041
6879
  "p",
7042
6880
  {
7043
6881
  "data-slot": "form-message",
@@ -7050,7 +6888,7 @@ function FormMessage({ className, children, ...props }) {
7050
6888
  }
7051
6889
 
7052
6890
  // src/components/resizable.tsx
7053
- import * as React66 from "react";
6891
+ import * as React65 from "react";
7054
6892
 
7055
6893
  // src/generated/resizable.ts
7056
6894
  var RESIZABLE_GROUP = "flex h-full w-full data-[panel-group-direction=vertical]:flex-col";
@@ -7059,10 +6897,10 @@ var RESIZABLE_HANDLE = "bg-border focus-visible:ring-ring relative flex w-px ite
7059
6897
  var RESIZABLE_HANDLE_GRIP = "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border";
7060
6898
 
7061
6899
  // src/components/resizable.tsx
7062
- import { jsx as jsx57, jsxs as jsxs26 } from "react/jsx-runtime";
7063
- var ResizableContext = React66.createContext(null);
6900
+ import { jsx as jsx56, jsxs as jsxs25 } from "react/jsx-runtime";
6901
+ var ResizableContext = React65.createContext(null);
7064
6902
  function useResizable() {
7065
- const ctx = React66.useContext(ResizableContext);
6903
+ const ctx = React65.useContext(ResizableContext);
7066
6904
  if (!ctx)
7067
6905
  throw new Error("Resizable parts must be used within a ResizablePanelGroup");
7068
6906
  return ctx;
@@ -7085,9 +6923,9 @@ function ResizablePanelGroup({
7085
6923
  children,
7086
6924
  ...props
7087
6925
  }) {
7088
- const [sizes, setSizes] = React66.useState([]);
7089
- const groupRef = React66.useRef(null);
7090
- const register = React66.useCallback((index, defaultSize) => {
6926
+ const [sizes, setSizes] = React65.useState([]);
6927
+ const groupRef = React65.useRef(null);
6928
+ const register = React65.useCallback((index, defaultSize) => {
7091
6929
  setSizes((prev) => {
7092
6930
  if (prev[index] !== void 0) return prev;
7093
6931
  const next = prev.slice();
@@ -7096,14 +6934,14 @@ function ResizablePanelGroup({
7096
6934
  return next;
7097
6935
  });
7098
6936
  }, []);
7099
- React66.useEffect(() => {
6937
+ React65.useEffect(() => {
7100
6938
  if (sizes.length) onLayout?.(sizes);
7101
6939
  }, [sizes, onLayout]);
7102
- const value = React66.useMemo(
6940
+ const value = React65.useMemo(
7103
6941
  () => ({ sizes, setSizes, register, direction, keyboardStep, groupRef }),
7104
6942
  [sizes, register, direction, keyboardStep]
7105
6943
  );
7106
- return /* @__PURE__ */ jsx57(ResizableContext.Provider, { value, children: /* @__PURE__ */ jsx57(
6944
+ return /* @__PURE__ */ jsx56(ResizableContext.Provider, { value, children: /* @__PURE__ */ jsx56(
7107
6945
  "div",
7108
6946
  {
7109
6947
  ref: groupRef,
@@ -7124,11 +6962,11 @@ function ResizablePanel({
7124
6962
  ...props
7125
6963
  }) {
7126
6964
  const { sizes, register } = useResizable();
7127
- React66.useEffect(() => {
6965
+ React65.useEffect(() => {
7128
6966
  register(index, defaultSize);
7129
6967
  }, [register, index, defaultSize]);
7130
6968
  const basis = sizes[index] ?? defaultSize;
7131
- return /* @__PURE__ */ jsx57(
6969
+ return /* @__PURE__ */ jsx56(
7132
6970
  "div",
7133
6971
  {
7134
6972
  "data-slot": "resizable-panel",
@@ -7147,12 +6985,12 @@ function ResizableHandle({
7147
6985
  ...props
7148
6986
  }) {
7149
6987
  const { setSizes, direction, keyboardStep, groupRef } = useResizable();
7150
- const draggingRef = React66.useRef(false);
7151
- const resize = React66.useCallback(
6988
+ const draggingRef = React65.useRef(false);
6989
+ const resize = React65.useCallback(
7152
6990
  (delta) => setSizes((prev) => redistribute(prev, index, delta)),
7153
6991
  [setSizes, index]
7154
6992
  );
7155
- const onPointerMove = React66.useCallback(
6993
+ const onPointerMove = React65.useCallback(
7156
6994
  (event) => {
7157
6995
  if (!draggingRef.current) return;
7158
6996
  const rect = groupRef.current?.getBoundingClientRect();
@@ -7164,7 +7002,7 @@ function ResizableHandle({
7164
7002
  },
7165
7003
  [direction, resize, groupRef]
7166
7004
  );
7167
- const onPointerUp = React66.useCallback(() => {
7005
+ const onPointerUp = React65.useCallback(() => {
7168
7006
  draggingRef.current = false;
7169
7007
  window.removeEventListener("pointermove", onPointerMove);
7170
7008
  window.removeEventListener("pointerup", onPointerUp);
@@ -7175,7 +7013,7 @@ function ResizableHandle({
7175
7013
  window.addEventListener("pointermove", onPointerMove);
7176
7014
  window.addEventListener("pointerup", onPointerUp);
7177
7015
  };
7178
- React66.useEffect(() => () => onPointerUp(), [onPointerUp]);
7016
+ React65.useEffect(() => () => onPointerUp(), [onPointerUp]);
7179
7017
  const onKeyDown = (event) => {
7180
7018
  let delta;
7181
7019
  switch (event.key) {
@@ -7195,7 +7033,7 @@ function ResizableHandle({
7195
7033
  event.preventDefault();
7196
7034
  resize(delta);
7197
7035
  };
7198
- return /* @__PURE__ */ jsxs26(
7036
+ return /* @__PURE__ */ jsxs25(
7199
7037
  "div",
7200
7038
  {
7201
7039
  "data-slot": "resizable-handle",
@@ -7208,7 +7046,7 @@ function ResizableHandle({
7208
7046
  onKeyDown,
7209
7047
  ...props,
7210
7048
  children: [
7211
- withHandle && /* @__PURE__ */ jsx57("div", { className: RESIZABLE_HANDLE_GRIP, children: /* @__PURE__ */ jsxs26(
7049
+ withHandle && /* @__PURE__ */ jsx56("div", { className: RESIZABLE_HANDLE_GRIP, children: /* @__PURE__ */ jsxs25(
7212
7050
  "svg",
7213
7051
  {
7214
7052
  className: "size-2.5",
@@ -7223,12 +7061,12 @@ function ResizableHandle({
7223
7061
  strokeLinejoin: "round",
7224
7062
  "aria-hidden": "true",
7225
7063
  children: [
7226
- /* @__PURE__ */ jsx57("circle", { cx: "9", cy: "12", r: "1" }),
7227
- /* @__PURE__ */ jsx57("circle", { cx: "9", cy: "5", r: "1" }),
7228
- /* @__PURE__ */ jsx57("circle", { cx: "9", cy: "19", r: "1" }),
7229
- /* @__PURE__ */ jsx57("circle", { cx: "15", cy: "12", r: "1" }),
7230
- /* @__PURE__ */ jsx57("circle", { cx: "15", cy: "5", r: "1" }),
7231
- /* @__PURE__ */ jsx57("circle", { cx: "15", cy: "19", r: "1" })
7064
+ /* @__PURE__ */ jsx56("circle", { cx: "9", cy: "12", r: "1" }),
7065
+ /* @__PURE__ */ jsx56("circle", { cx: "9", cy: "5", r: "1" }),
7066
+ /* @__PURE__ */ jsx56("circle", { cx: "9", cy: "19", r: "1" }),
7067
+ /* @__PURE__ */ jsx56("circle", { cx: "15", cy: "12", r: "1" }),
7068
+ /* @__PURE__ */ jsx56("circle", { cx: "15", cy: "5", r: "1" }),
7069
+ /* @__PURE__ */ jsx56("circle", { cx: "15", cy: "19", r: "1" })
7232
7070
  ]
7233
7071
  }
7234
7072
  ) }),
@@ -7377,7 +7215,6 @@ export {
7377
7215
  FormItem,
7378
7216
  FormLabel,
7379
7217
  FormMessage,
7380
- Header,
7381
7218
  HoverCard,
7382
7219
  HoverCardContent,
7383
7220
  HoverCardTrigger,