@kilnonedre/foundation 0.0.13 → 0.0.15

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +35 -14
  2. package/dist/index.js +325 -279
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -512,9 +512,11 @@ var isValidURL = (string) => {
512
512
  // src/util/validator/schema.ts
513
513
  import { z } from "zod";
514
514
  var emptyToUndefined = (value) => {
515
- if (typeof value !== "string") return value;
515
+ if (typeof value !== "string") {
516
+ return void 0;
517
+ }
516
518
  const v = value.trim();
517
- return v ? v : void 0;
519
+ return v || void 0;
518
520
  };
519
521
  var enumValues = (obj) => Object.values(obj);
520
522
  var zTextOptional = (label, min = 1, max = 32) => z.preprocess(
@@ -1065,7 +1067,7 @@ var CheckboxSingleList = (props) => {
1065
1067
  };
1066
1068
 
1067
1069
  // src/components/data-table/index.tsx
1068
- import { useEffect, useMemo as useMemo2, useState } from "react";
1070
+ import { useEffect, useMemo as useMemo2, useState as useState2 } from "react";
1069
1071
  import {
1070
1072
  flexRender,
1071
1073
  getCoreRowModel,
@@ -1285,6 +1287,67 @@ var TableHeaderText = (props) => {
1285
1287
  );
1286
1288
  };
1287
1289
 
1290
+ // src/components/data-table/component/table-image/index.tsx
1291
+ import { useState } from "react";
1292
+ import { Eye } from "lucide-react";
1293
+
1294
+ // src/shadcn/components/card.tsx
1295
+ import { jsx as jsx19 } from "react/jsx-runtime";
1296
+ function Card({ className, ...props }) {
1297
+ return /* @__PURE__ */ jsx19(
1298
+ "div",
1299
+ {
1300
+ "data-slot": "card",
1301
+ className: cn(
1302
+ "flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",
1303
+ className
1304
+ ),
1305
+ ...props
1306
+ }
1307
+ );
1308
+ }
1309
+
1310
+ // src/components/data-table/component/table-image/index.tsx
1311
+ import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
1312
+ var TableImage = (props) => {
1313
+ const [preview, setPreview] = useState(null);
1314
+ return /* @__PURE__ */ jsxs9("div", { className: "space-y-3", children: [
1315
+ /* @__PURE__ */ jsx20("div", { className: "flex gap-3 overflow-x-auto", children: props.value.map((img, index) => /* @__PURE__ */ jsx20(Card, { className: "group overflow-hidden w-25", children: /* @__PURE__ */ jsxs9("div", { className: "relative aspect-square bg-muted", children: [
1316
+ /* @__PURE__ */ jsx20(
1317
+ "img",
1318
+ {
1319
+ src: img.url,
1320
+ alt: "",
1321
+ className: "h-full w-full object-cover",
1322
+ loading: "lazy"
1323
+ }
1324
+ ),
1325
+ /* @__PURE__ */ jsx20("div", { className: "absolute inset-0 flex items-start justify-end p-2 opacity-0 transition group-hover:opacity-100", children: /* @__PURE__ */ jsx20(
1326
+ Button,
1327
+ {
1328
+ size: "icon",
1329
+ variant: "secondary",
1330
+ className: "h-8 w-8",
1331
+ type: "button",
1332
+ onClick: () => setPreview(img),
1333
+ children: /* @__PURE__ */ jsx20(Eye, { className: "h-4 w-4" })
1334
+ }
1335
+ ) })
1336
+ ] }) }, img.id + index)) }),
1337
+ /* @__PURE__ */ jsx20(Dialog, { open: !!preview, onOpenChange: () => setPreview(null), children: /* @__PURE__ */ jsxs9(DialogContent, { className: "max-w-3xl", children: [
1338
+ /* @__PURE__ */ jsx20(DialogHeader, { children: /* @__PURE__ */ jsx20(DialogTitle, { children: "\u9884\u89C8" }) }),
1339
+ preview && /* @__PURE__ */ jsx20("div", { className: "relative aspect-video w-full overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx20(
1340
+ "img",
1341
+ {
1342
+ src: preview.url,
1343
+ alt: "",
1344
+ className: "h-full w-full object-contain"
1345
+ }
1346
+ ) })
1347
+ ] }) })
1348
+ ] });
1349
+ };
1350
+
1288
1351
  // src/components/data-table/component/table-pagination/index.tsx
1289
1352
  import { useMemo } from "react";
1290
1353
 
@@ -1294,9 +1357,9 @@ import {
1294
1357
  ChevronRightIcon,
1295
1358
  MoreHorizontalIcon
1296
1359
  } from "lucide-react";
1297
- import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1360
+ import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
1298
1361
  function Pagination({ className, ...props }) {
1299
- return /* @__PURE__ */ jsx19(
1362
+ return /* @__PURE__ */ jsx21(
1300
1363
  "nav",
1301
1364
  {
1302
1365
  role: "navigation",
@@ -1311,7 +1374,7 @@ function PaginationContent({
1311
1374
  className,
1312
1375
  ...props
1313
1376
  }) {
1314
- return /* @__PURE__ */ jsx19(
1377
+ return /* @__PURE__ */ jsx21(
1315
1378
  "ul",
1316
1379
  {
1317
1380
  "data-slot": "pagination-content",
@@ -1321,7 +1384,7 @@ function PaginationContent({
1321
1384
  );
1322
1385
  }
1323
1386
  function PaginationItem({ ...props }) {
1324
- return /* @__PURE__ */ jsx19("li", { "data-slot": "pagination-item", ...props });
1387
+ return /* @__PURE__ */ jsx21("li", { "data-slot": "pagination-item", ...props });
1325
1388
  }
1326
1389
  function PaginationLink({
1327
1390
  className,
@@ -1329,7 +1392,7 @@ function PaginationLink({
1329
1392
  size = "icon",
1330
1393
  ...props
1331
1394
  }) {
1332
- return /* @__PURE__ */ jsx19(
1395
+ return /* @__PURE__ */ jsx21(
1333
1396
  "a",
1334
1397
  {
1335
1398
  "aria-current": isActive ? "page" : void 0,
@@ -1350,7 +1413,7 @@ function PaginationPrevious({
1350
1413
  className,
1351
1414
  ...props
1352
1415
  }) {
1353
- return /* @__PURE__ */ jsxs9(
1416
+ return /* @__PURE__ */ jsxs10(
1354
1417
  PaginationLink,
1355
1418
  {
1356
1419
  "aria-label": "Go to previous page",
@@ -1358,8 +1421,8 @@ function PaginationPrevious({
1358
1421
  className: cn("gap-1 px-2.5 sm:pl-2.5", className),
1359
1422
  ...props,
1360
1423
  children: [
1361
- /* @__PURE__ */ jsx19(ChevronLeftIcon, {}),
1362
- /* @__PURE__ */ jsx19("span", { className: "hidden sm:block", children: "Previous" })
1424
+ /* @__PURE__ */ jsx21(ChevronLeftIcon, {}),
1425
+ /* @__PURE__ */ jsx21("span", { className: "hidden sm:block", children: "Previous" })
1363
1426
  ]
1364
1427
  }
1365
1428
  );
@@ -1368,7 +1431,7 @@ function PaginationNext({
1368
1431
  className,
1369
1432
  ...props
1370
1433
  }) {
1371
- return /* @__PURE__ */ jsxs9(
1434
+ return /* @__PURE__ */ jsxs10(
1372
1435
  PaginationLink,
1373
1436
  {
1374
1437
  "aria-label": "Go to next page",
@@ -1376,8 +1439,8 @@ function PaginationNext({
1376
1439
  className: cn("gap-1 px-2.5 sm:pr-2.5", className),
1377
1440
  ...props,
1378
1441
  children: [
1379
- /* @__PURE__ */ jsx19("span", { className: "hidden sm:block", children: "Next" }),
1380
- /* @__PURE__ */ jsx19(ChevronRightIcon, {})
1442
+ /* @__PURE__ */ jsx21("span", { className: "hidden sm:block", children: "Next" }),
1443
+ /* @__PURE__ */ jsx21(ChevronRightIcon, {})
1381
1444
  ]
1382
1445
  }
1383
1446
  );
@@ -1386,7 +1449,7 @@ function PaginationEllipsis({
1386
1449
  className,
1387
1450
  ...props
1388
1451
  }) {
1389
- return /* @__PURE__ */ jsxs9(
1452
+ return /* @__PURE__ */ jsxs10(
1390
1453
  "span",
1391
1454
  {
1392
1455
  "aria-hidden": true,
@@ -1394,8 +1457,8 @@ function PaginationEllipsis({
1394
1457
  className: cn("flex size-9 items-center justify-center", className),
1395
1458
  ...props,
1396
1459
  children: [
1397
- /* @__PURE__ */ jsx19(MoreHorizontalIcon, { className: "size-4" }),
1398
- /* @__PURE__ */ jsx19("span", { className: "sr-only", children: "More pages" })
1460
+ /* @__PURE__ */ jsx21(MoreHorizontalIcon, { className: "size-4" }),
1461
+ /* @__PURE__ */ jsx21("span", { className: "sr-only", children: "More pages" })
1399
1462
  ]
1400
1463
  }
1401
1464
  );
@@ -1404,21 +1467,21 @@ function PaginationEllipsis({
1404
1467
  // src/shadcn/components/select.tsx
1405
1468
  import { CheckIcon as CheckIcon2, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
1406
1469
  import { Select as SelectPrimitive } from "radix-ui";
1407
- import { jsx as jsx20, jsxs as jsxs10 } from "react/jsx-runtime";
1470
+ import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
1408
1471
  function Select({
1409
1472
  ...props
1410
1473
  }) {
1411
- return /* @__PURE__ */ jsx20(SelectPrimitive.Root, { "data-slot": "select", ...props });
1474
+ return /* @__PURE__ */ jsx22(SelectPrimitive.Root, { "data-slot": "select", ...props });
1412
1475
  }
1413
1476
  function SelectGroup({
1414
1477
  ...props
1415
1478
  }) {
1416
- return /* @__PURE__ */ jsx20(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
1479
+ return /* @__PURE__ */ jsx22(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
1417
1480
  }
1418
1481
  function SelectValue({
1419
1482
  ...props
1420
1483
  }) {
1421
- return /* @__PURE__ */ jsx20(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1484
+ return /* @__PURE__ */ jsx22(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
1422
1485
  }
1423
1486
  function SelectTrigger({
1424
1487
  className,
@@ -1426,7 +1489,7 @@ function SelectTrigger({
1426
1489
  children,
1427
1490
  ...props
1428
1491
  }) {
1429
- return /* @__PURE__ */ jsxs10(
1492
+ return /* @__PURE__ */ jsxs11(
1430
1493
  SelectPrimitive.Trigger,
1431
1494
  {
1432
1495
  "data-slot": "select-trigger",
@@ -1438,7 +1501,7 @@ function SelectTrigger({
1438
1501
  ...props,
1439
1502
  children: [
1440
1503
  children,
1441
- /* @__PURE__ */ jsx20(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx20(ChevronDownIcon, { className: "size-4 opacity-50" }) })
1504
+ /* @__PURE__ */ jsx22(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx22(ChevronDownIcon, { className: "size-4 opacity-50" }) })
1442
1505
  ]
1443
1506
  }
1444
1507
  );
@@ -1450,7 +1513,7 @@ function SelectContent({
1450
1513
  align = "center",
1451
1514
  ...props
1452
1515
  }) {
1453
- return /* @__PURE__ */ jsx20(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs10(
1516
+ return /* @__PURE__ */ jsx22(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs11(
1454
1517
  SelectPrimitive.Content,
1455
1518
  {
1456
1519
  "data-slot": "select-content",
@@ -1463,8 +1526,8 @@ function SelectContent({
1463
1526
  align,
1464
1527
  ...props,
1465
1528
  children: [
1466
- /* @__PURE__ */ jsx20(SelectScrollUpButton, {}),
1467
- /* @__PURE__ */ jsx20(
1529
+ /* @__PURE__ */ jsx22(SelectScrollUpButton, {}),
1530
+ /* @__PURE__ */ jsx22(
1468
1531
  SelectPrimitive.Viewport,
1469
1532
  {
1470
1533
  className: cn(
@@ -1474,7 +1537,7 @@ function SelectContent({
1474
1537
  children
1475
1538
  }
1476
1539
  ),
1477
- /* @__PURE__ */ jsx20(SelectScrollDownButton, {})
1540
+ /* @__PURE__ */ jsx22(SelectScrollDownButton, {})
1478
1541
  ]
1479
1542
  }
1480
1543
  ) });
@@ -1484,7 +1547,7 @@ function SelectItem({
1484
1547
  children,
1485
1548
  ...props
1486
1549
  }) {
1487
- return /* @__PURE__ */ jsxs10(
1550
+ return /* @__PURE__ */ jsxs11(
1488
1551
  SelectPrimitive.Item,
1489
1552
  {
1490
1553
  "data-slot": "select-item",
@@ -1494,15 +1557,15 @@ function SelectItem({
1494
1557
  ),
1495
1558
  ...props,
1496
1559
  children: [
1497
- /* @__PURE__ */ jsx20(
1560
+ /* @__PURE__ */ jsx22(
1498
1561
  "span",
1499
1562
  {
1500
1563
  "data-slot": "select-item-indicator",
1501
1564
  className: "absolute right-2 flex size-3.5 items-center justify-center",
1502
- children: /* @__PURE__ */ jsx20(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx20(CheckIcon2, { className: "size-4" }) })
1565
+ children: /* @__PURE__ */ jsx22(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(CheckIcon2, { className: "size-4" }) })
1503
1566
  }
1504
1567
  ),
1505
- /* @__PURE__ */ jsx20(SelectPrimitive.ItemText, { children })
1568
+ /* @__PURE__ */ jsx22(SelectPrimitive.ItemText, { children })
1506
1569
  ]
1507
1570
  }
1508
1571
  );
@@ -1511,7 +1574,7 @@ function SelectScrollUpButton({
1511
1574
  className,
1512
1575
  ...props
1513
1576
  }) {
1514
- return /* @__PURE__ */ jsx20(
1577
+ return /* @__PURE__ */ jsx22(
1515
1578
  SelectPrimitive.ScrollUpButton,
1516
1579
  {
1517
1580
  "data-slot": "select-scroll-up-button",
@@ -1520,7 +1583,7 @@ function SelectScrollUpButton({
1520
1583
  className
1521
1584
  ),
1522
1585
  ...props,
1523
- children: /* @__PURE__ */ jsx20(ChevronUpIcon, { className: "size-4" })
1586
+ children: /* @__PURE__ */ jsx22(ChevronUpIcon, { className: "size-4" })
1524
1587
  }
1525
1588
  );
1526
1589
  }
@@ -1528,7 +1591,7 @@ function SelectScrollDownButton({
1528
1591
  className,
1529
1592
  ...props
1530
1593
  }) {
1531
- return /* @__PURE__ */ jsx20(
1594
+ return /* @__PURE__ */ jsx22(
1532
1595
  SelectPrimitive.ScrollDownButton,
1533
1596
  {
1534
1597
  "data-slot": "select-scroll-down-button",
@@ -1537,13 +1600,13 @@ function SelectScrollDownButton({
1537
1600
  className
1538
1601
  ),
1539
1602
  ...props,
1540
- children: /* @__PURE__ */ jsx20(ChevronDownIcon, { className: "size-4" })
1603
+ children: /* @__PURE__ */ jsx22(ChevronDownIcon, { className: "size-4" })
1541
1604
  }
1542
1605
  );
1543
1606
  }
1544
1607
 
1545
1608
  // src/components/data-table/component/table-pagination/index.tsx
1546
- import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
1609
+ import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
1547
1610
  var buildPages = (current, total) => {
1548
1611
  if (total <= 0) return [];
1549
1612
  if (total <= 7) {
@@ -1585,9 +1648,9 @@ var TablePagination = (props) => {
1585
1648
  () => buildPages(props.currentPage, props.totalPage),
1586
1649
  [props]
1587
1650
  );
1588
- return /* @__PURE__ */ jsxs11("div", { className: "flex w-full items-center gap-8 lg:w-fit", children: [
1589
- /* @__PURE__ */ jsx21("div", { className: "ml-auto flex items-center gap-2 lg:ml-0", children: /* @__PURE__ */ jsx21(Pagination, { children: /* @__PURE__ */ jsxs11(PaginationContent, { children: [
1590
- /* @__PURE__ */ jsx21(PaginationItem, { children: /* @__PURE__ */ jsx21(
1651
+ return /* @__PURE__ */ jsxs12("div", { className: "flex w-full items-center gap-8 lg:w-fit", children: [
1652
+ /* @__PURE__ */ jsx23("div", { className: "ml-auto flex items-center gap-2 lg:ml-0", children: /* @__PURE__ */ jsx23(Pagination, { children: /* @__PURE__ */ jsxs12(PaginationContent, { children: [
1653
+ /* @__PURE__ */ jsx23(PaginationItem, { children: /* @__PURE__ */ jsx23(
1591
1654
  PaginationPrevious,
1592
1655
  {
1593
1656
  onClick: () => updateCurrentPage(props.currentPage - 1),
@@ -1597,9 +1660,9 @@ var TablePagination = (props) => {
1597
1660
  ) }),
1598
1661
  pageItems.map((item) => {
1599
1662
  if (item.type === "ellipsis") {
1600
- return /* @__PURE__ */ jsx21(PaginationItem, { children: /* @__PURE__ */ jsx21(PaginationEllipsis, {}) }, item.key);
1663
+ return /* @__PURE__ */ jsx23(PaginationItem, { children: /* @__PURE__ */ jsx23(PaginationEllipsis, {}) }, item.key);
1601
1664
  }
1602
- return /* @__PURE__ */ jsx21(PaginationItem, { children: /* @__PURE__ */ jsx21(
1665
+ return /* @__PURE__ */ jsx23(PaginationItem, { children: /* @__PURE__ */ jsx23(
1603
1666
  PaginationLink,
1604
1667
  {
1605
1668
  isActive: props.currentPage === item.page,
@@ -1608,7 +1671,7 @@ var TablePagination = (props) => {
1608
1671
  }
1609
1672
  ) }, item.page);
1610
1673
  }),
1611
- /* @__PURE__ */ jsx21(PaginationItem, { children: /* @__PURE__ */ jsx21(
1674
+ /* @__PURE__ */ jsx23(PaginationItem, { children: /* @__PURE__ */ jsx23(
1612
1675
  PaginationNext,
1613
1676
  {
1614
1677
  onClick: () => updateCurrentPage(props.currentPage + 1),
@@ -1617,7 +1680,7 @@ var TablePagination = (props) => {
1617
1680
  }
1618
1681
  ) })
1619
1682
  ] }) }) }),
1620
- /* @__PURE__ */ jsx21("div", { className: "hidden items-center gap-2 lg:flex", children: /* @__PURE__ */ jsxs11(
1683
+ /* @__PURE__ */ jsx23("div", { className: "hidden items-center gap-2 lg:flex", children: /* @__PURE__ */ jsxs12(
1621
1684
  Select,
1622
1685
  {
1623
1686
  value: String(props.size),
@@ -1625,8 +1688,8 @@ var TablePagination = (props) => {
1625
1688
  props.onUpdateSize(Number(value));
1626
1689
  },
1627
1690
  children: [
1628
- /* @__PURE__ */ jsx21(SelectTrigger, { className: "w-20", id: "rows-per-page", children: /* @__PURE__ */ jsx21(SelectValue, {}) }),
1629
- /* @__PURE__ */ jsx21(SelectContent, { side: "top", children: props.sizeList.map((pageSize) => /* @__PURE__ */ jsxs11(SelectItem, { value: `${pageSize}`, children: [
1691
+ /* @__PURE__ */ jsx23(SelectTrigger, { className: "w-20", id: "rows-per-page", children: /* @__PURE__ */ jsx23(SelectValue, {}) }),
1692
+ /* @__PURE__ */ jsx23(SelectContent, { side: "top", children: props.sizeList.map((pageSize) => /* @__PURE__ */ jsxs12(SelectItem, { value: `${pageSize}`, children: [
1630
1693
  pageSize,
1631
1694
  "/\u9875"
1632
1695
  ] }, pageSize)) })
@@ -1637,9 +1700,9 @@ var TablePagination = (props) => {
1637
1700
  };
1638
1701
 
1639
1702
  // src/components/data-table/component/table-text/index.tsx
1640
- import { jsx as jsx22 } from "react/jsx-runtime";
1703
+ import { jsx as jsx24 } from "react/jsx-runtime";
1641
1704
  var TableText = (props) => {
1642
- return /* @__PURE__ */ jsx22(
1705
+ return /* @__PURE__ */ jsx24(
1643
1706
  "div",
1644
1707
  {
1645
1708
  className: cn2(
@@ -1654,21 +1717,21 @@ var TableText = (props) => {
1654
1717
  // src/shadcn/components/dropdown-menu.tsx
1655
1718
  import { CheckIcon as CheckIcon3, ChevronRightIcon as ChevronRightIcon2, CircleIcon } from "lucide-react";
1656
1719
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
1657
- import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
1720
+ import { jsx as jsx25, jsxs as jsxs13 } from "react/jsx-runtime";
1658
1721
  function DropdownMenu({
1659
1722
  ...props
1660
1723
  }) {
1661
- return /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1724
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
1662
1725
  }
1663
1726
  function DropdownMenuPortal({
1664
1727
  ...props
1665
1728
  }) {
1666
- return /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1729
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props });
1667
1730
  }
1668
1731
  function DropdownMenuTrigger({
1669
1732
  ...props
1670
1733
  }) {
1671
- return /* @__PURE__ */ jsx23(
1734
+ return /* @__PURE__ */ jsx25(
1672
1735
  DropdownMenuPrimitive.Trigger,
1673
1736
  {
1674
1737
  "data-slot": "dropdown-menu-trigger",
@@ -1681,7 +1744,7 @@ function DropdownMenuContent({
1681
1744
  sideOffset = 4,
1682
1745
  ...props
1683
1746
  }) {
1684
- return /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx23(
1747
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
1685
1748
  DropdownMenuPrimitive.Content,
1686
1749
  {
1687
1750
  "data-slot": "dropdown-menu-content",
@@ -1700,7 +1763,7 @@ function DropdownMenuItem({
1700
1763
  variant = "default",
1701
1764
  ...props
1702
1765
  }) {
1703
- return /* @__PURE__ */ jsx23(
1766
+ return /* @__PURE__ */ jsx25(
1704
1767
  DropdownMenuPrimitive.Item,
1705
1768
  {
1706
1769
  "data-slot": "dropdown-menu-item",
@@ -1720,7 +1783,7 @@ function DropdownMenuCheckboxItem({
1720
1783
  checked,
1721
1784
  ...props
1722
1785
  }) {
1723
- return /* @__PURE__ */ jsxs12(
1786
+ return /* @__PURE__ */ jsxs13(
1724
1787
  DropdownMenuPrimitive.CheckboxItem,
1725
1788
  {
1726
1789
  "data-slot": "dropdown-menu-checkbox-item",
@@ -1731,7 +1794,7 @@ function DropdownMenuCheckboxItem({
1731
1794
  checked,
1732
1795
  ...props,
1733
1796
  children: [
1734
- /* @__PURE__ */ jsx23("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx23(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx23(CheckIcon3, { className: "size-4" }) }) }),
1797
+ /* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon3, { className: "size-4" }) }) }),
1735
1798
  children
1736
1799
  ]
1737
1800
  }
@@ -1740,7 +1803,7 @@ function DropdownMenuCheckboxItem({
1740
1803
  function DropdownMenuSub({
1741
1804
  ...props
1742
1805
  }) {
1743
- return /* @__PURE__ */ jsx23(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1806
+ return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
1744
1807
  }
1745
1808
  function DropdownMenuSubTrigger({
1746
1809
  className,
@@ -1748,7 +1811,7 @@ function DropdownMenuSubTrigger({
1748
1811
  children,
1749
1812
  ...props
1750
1813
  }) {
1751
- return /* @__PURE__ */ jsxs12(
1814
+ return /* @__PURE__ */ jsxs13(
1752
1815
  DropdownMenuPrimitive.SubTrigger,
1753
1816
  {
1754
1817
  "data-slot": "dropdown-menu-sub-trigger",
@@ -1760,7 +1823,7 @@ function DropdownMenuSubTrigger({
1760
1823
  ...props,
1761
1824
  children: [
1762
1825
  children,
1763
- /* @__PURE__ */ jsx23(ChevronRightIcon2, { className: "ml-auto size-4" })
1826
+ /* @__PURE__ */ jsx25(ChevronRightIcon2, { className: "ml-auto size-4" })
1764
1827
  ]
1765
1828
  }
1766
1829
  );
@@ -1769,7 +1832,7 @@ function DropdownMenuSubContent({
1769
1832
  className,
1770
1833
  ...props
1771
1834
  }) {
1772
- return /* @__PURE__ */ jsx23(
1835
+ return /* @__PURE__ */ jsx25(
1773
1836
  DropdownMenuPrimitive.SubContent,
1774
1837
  {
1775
1838
  "data-slot": "dropdown-menu-sub-content",
@@ -1785,20 +1848,20 @@ function DropdownMenuSubContent({
1785
1848
  // src/shadcn/components/sheet.tsx
1786
1849
  import { XIcon as XIcon2 } from "lucide-react";
1787
1850
  import { Dialog as SheetPrimitive } from "radix-ui";
1788
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
1851
+ import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
1789
1852
  function Sheet({ ...props }) {
1790
- return /* @__PURE__ */ jsx24(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
1853
+ return /* @__PURE__ */ jsx26(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
1791
1854
  }
1792
1855
  function SheetPortal({
1793
1856
  ...props
1794
1857
  }) {
1795
- return /* @__PURE__ */ jsx24(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
1858
+ return /* @__PURE__ */ jsx26(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
1796
1859
  }
1797
1860
  function SheetOverlay({
1798
1861
  className,
1799
1862
  ...props
1800
1863
  }) {
1801
- return /* @__PURE__ */ jsx24(
1864
+ return /* @__PURE__ */ jsx26(
1802
1865
  SheetPrimitive.Overlay,
1803
1866
  {
1804
1867
  "data-slot": "sheet-overlay",
@@ -1817,9 +1880,9 @@ function SheetContent({
1817
1880
  showCloseButton = true,
1818
1881
  ...props
1819
1882
  }) {
1820
- return /* @__PURE__ */ jsxs13(SheetPortal, { children: [
1821
- /* @__PURE__ */ jsx24(SheetOverlay, {}),
1822
- /* @__PURE__ */ jsxs13(
1883
+ return /* @__PURE__ */ jsxs14(SheetPortal, { children: [
1884
+ /* @__PURE__ */ jsx26(SheetOverlay, {}),
1885
+ /* @__PURE__ */ jsxs14(
1823
1886
  SheetPrimitive.Content,
1824
1887
  {
1825
1888
  "data-slot": "sheet-content",
@@ -1834,9 +1897,9 @@ function SheetContent({
1834
1897
  ...props,
1835
1898
  children: [
1836
1899
  children,
1837
- showCloseButton && /* @__PURE__ */ jsxs13(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1838
- /* @__PURE__ */ jsx24(XIcon2, { className: "size-4" }),
1839
- /* @__PURE__ */ jsx24("span", { className: "sr-only", children: "Close" })
1900
+ showCloseButton && /* @__PURE__ */ jsxs14(SheetPrimitive.Close, { className: "absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
1901
+ /* @__PURE__ */ jsx26(XIcon2, { className: "size-4" }),
1902
+ /* @__PURE__ */ jsx26("span", { className: "sr-only", children: "Close" })
1840
1903
  ] })
1841
1904
  ]
1842
1905
  }
@@ -1844,7 +1907,7 @@ function SheetContent({
1844
1907
  ] });
1845
1908
  }
1846
1909
  function SheetHeader({ className, ...props }) {
1847
- return /* @__PURE__ */ jsx24(
1910
+ return /* @__PURE__ */ jsx26(
1848
1911
  "div",
1849
1912
  {
1850
1913
  "data-slot": "sheet-header",
@@ -1854,7 +1917,7 @@ function SheetHeader({ className, ...props }) {
1854
1917
  );
1855
1918
  }
1856
1919
  function SheetFooter({ className, ...props }) {
1857
- return /* @__PURE__ */ jsx24(
1920
+ return /* @__PURE__ */ jsx26(
1858
1921
  "div",
1859
1922
  {
1860
1923
  "data-slot": "sheet-footer",
@@ -1867,7 +1930,7 @@ function SheetTitle({
1867
1930
  className,
1868
1931
  ...props
1869
1932
  }) {
1870
- return /* @__PURE__ */ jsx24(
1933
+ return /* @__PURE__ */ jsx26(
1871
1934
  SheetPrimitive.Title,
1872
1935
  {
1873
1936
  "data-slot": "sheet-title",
@@ -1878,14 +1941,14 @@ function SheetTitle({
1878
1941
  }
1879
1942
 
1880
1943
  // src/shadcn/components/table.tsx
1881
- import { jsx as jsx25 } from "react/jsx-runtime";
1944
+ import { jsx as jsx27 } from "react/jsx-runtime";
1882
1945
  function Table({ className, ...props }) {
1883
- return /* @__PURE__ */ jsx25(
1946
+ return /* @__PURE__ */ jsx27(
1884
1947
  "div",
1885
1948
  {
1886
1949
  "data-slot": "table-container",
1887
1950
  className: "relative w-full overflow-x-auto",
1888
- children: /* @__PURE__ */ jsx25(
1951
+ children: /* @__PURE__ */ jsx27(
1889
1952
  "table",
1890
1953
  {
1891
1954
  "data-slot": "table",
@@ -1897,7 +1960,7 @@ function Table({ className, ...props }) {
1897
1960
  );
1898
1961
  }
1899
1962
  function TableHeader({ className, ...props }) {
1900
- return /* @__PURE__ */ jsx25(
1963
+ return /* @__PURE__ */ jsx27(
1901
1964
  "thead",
1902
1965
  {
1903
1966
  "data-slot": "table-header",
@@ -1907,7 +1970,7 @@ function TableHeader({ className, ...props }) {
1907
1970
  );
1908
1971
  }
1909
1972
  function TableBody({ className, ...props }) {
1910
- return /* @__PURE__ */ jsx25(
1973
+ return /* @__PURE__ */ jsx27(
1911
1974
  "tbody",
1912
1975
  {
1913
1976
  "data-slot": "table-body",
@@ -1917,7 +1980,7 @@ function TableBody({ className, ...props }) {
1917
1980
  );
1918
1981
  }
1919
1982
  function TableRow({ className, ...props }) {
1920
- return /* @__PURE__ */ jsx25(
1983
+ return /* @__PURE__ */ jsx27(
1921
1984
  "tr",
1922
1985
  {
1923
1986
  "data-slot": "table-row",
@@ -1930,7 +1993,7 @@ function TableRow({ className, ...props }) {
1930
1993
  );
1931
1994
  }
1932
1995
  function TableHead({ className, ...props }) {
1933
- return /* @__PURE__ */ jsx25(
1996
+ return /* @__PURE__ */ jsx27(
1934
1997
  "th",
1935
1998
  {
1936
1999
  "data-slot": "table-head",
@@ -1943,7 +2006,7 @@ function TableHead({ className, ...props }) {
1943
2006
  );
1944
2007
  }
1945
2008
  function TableCell({ className, ...props }) {
1946
- return /* @__PURE__ */ jsx25(
2009
+ return /* @__PURE__ */ jsx27(
1947
2010
  "td",
1948
2011
  {
1949
2012
  "data-slot": "table-cell",
@@ -1957,7 +2020,7 @@ function TableCell({ className, ...props }) {
1957
2020
  }
1958
2021
 
1959
2022
  // src/components/data-table/index.tsx
1960
- import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
2023
+ import { jsx as jsx28, jsxs as jsxs15 } from "react/jsx-runtime";
1961
2024
  var buildParams = (page, size, keyword, filters, sorting) => {
1962
2025
  const result = { page, size };
1963
2026
  if (!isEmpty(keyword)) {
@@ -1974,23 +2037,23 @@ var buildParams = (page, size, keyword, filters, sorting) => {
1974
2037
  return result;
1975
2038
  };
1976
2039
  var DataTable = (props) => {
1977
- const [data, setData] = useState(new Array());
1978
- const [rowSelection, setRowSelection] = useState({});
1979
- const [columnVisibility, setColumnVisibility] = useState({});
1980
- const [columnFilters, setColumnFilters] = useState([]);
1981
- const [sorting, setSorting] = useState([]);
2040
+ const [data, setData] = useState2(new Array());
2041
+ const [rowSelection, setRowSelection] = useState2({});
2042
+ const [columnVisibility, setColumnVisibility] = useState2({});
2043
+ const [columnFilters, setColumnFilters] = useState2([]);
2044
+ const [sorting, setSorting] = useState2([]);
1982
2045
  const sizeList = [10, 20, 30, 40, 50];
1983
- const [totalPage, setTotalPage] = useState(0);
1984
- const [size, setSize] = useState(sizeList[0]);
1985
- const [currentPage, setCurrentPage] = useState(1);
1986
- const [refreshKey, setRefreshKey] = useState(0);
1987
- const [filtersState, setFiltersState] = useState(
2046
+ const [totalPage, setTotalPage] = useState2(0);
2047
+ const [size, setSize] = useState2(sizeList[0]);
2048
+ const [currentPage, setCurrentPage] = useState2(1);
2049
+ const [refreshKey, setRefreshKey] = useState2(0);
2050
+ const [filtersState, setFiltersState] = useState2(
1988
2051
  props.filters ?? {}
1989
2052
  );
1990
- const [draftFilters, setDraftFilters] = useState(
2053
+ const [draftFilters, setDraftFilters] = useState2(
1991
2054
  props.filters ?? {}
1992
2055
  );
1993
- const [advancedOpen, setAdvancedOpen] = useState(false);
2056
+ const [advancedOpen, setAdvancedOpen] = useState2(false);
1994
2057
  const requestSorting = useMemo2(
1995
2058
  () => sorting.map((item) => ({
1996
2059
  id: item.id,
@@ -2095,16 +2158,16 @@ var DataTable = (props) => {
2095
2158
  getFacetedRowModel: getFacetedRowModel(),
2096
2159
  getFacetedUniqueValues: getFacetedUniqueValues()
2097
2160
  });
2098
- return /* @__PURE__ */ jsxs14("div", { className: "flex w-full flex-col gap-6", children: [
2099
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-between gap-4 px-4 lg:px-6", children: [
2100
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-1 items-center gap-2", children: [
2161
+ return /* @__PURE__ */ jsxs15("div", { className: "flex w-full flex-col gap-6", children: [
2162
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center justify-between gap-4 px-4 lg:px-6", children: [
2163
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-1 items-center gap-2", children: [
2101
2164
  props.searchbar?.({
2102
2165
  filters: draftFilters,
2103
2166
  setFilters: (updater) => setDraftFilters((prev) => updater(prev)),
2104
2167
  search: () => syncFilters(draftFilters),
2105
2168
  reset: resetFilters
2106
2169
  }),
2107
- props.advancedFilter && /* @__PURE__ */ jsxs14(
2170
+ props.advancedFilter && /* @__PURE__ */ jsxs15(
2108
2171
  Button,
2109
2172
  {
2110
2173
  variant: "outline",
@@ -2114,25 +2177,25 @@ var DataTable = (props) => {
2114
2177
  setAdvancedOpen(true);
2115
2178
  },
2116
2179
  children: [
2117
- /* @__PURE__ */ jsx26(FilterIcon, {}),
2180
+ /* @__PURE__ */ jsx28(FilterIcon, {}),
2118
2181
  "\u66F4\u591A\u7B5B\u9009"
2119
2182
  ]
2120
2183
  }
2121
2184
  ),
2122
- (props.searchbar || props.advancedFilter) && /* @__PURE__ */ jsxs14(Button, { variant: "ghost", size: "sm", onClick: resetFilters, children: [
2123
- /* @__PURE__ */ jsx26(RotateCcwIcon, {}),
2185
+ (props.searchbar || props.advancedFilter) && /* @__PURE__ */ jsxs15(Button, { variant: "ghost", size: "sm", onClick: resetFilters, children: [
2186
+ /* @__PURE__ */ jsx28(RotateCcwIcon, {}),
2124
2187
  "\u91CD\u7F6E"
2125
2188
  ] })
2126
2189
  ] }),
2127
- /* @__PURE__ */ jsxs14("div", { className: "flex items-center gap-2", children: [
2128
- /* @__PURE__ */ jsxs14(DropdownMenu, { children: [
2129
- /* @__PURE__ */ jsx26(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs14(Button, { variant: "outline", size: "sm", children: [
2130
- /* @__PURE__ */ jsx26(ColumnsIcon, {}),
2131
- /* @__PURE__ */ jsx26(ChevronDownIcon2, {})
2190
+ /* @__PURE__ */ jsxs15("div", { className: "flex items-center gap-2", children: [
2191
+ /* @__PURE__ */ jsxs15(DropdownMenu, { children: [
2192
+ /* @__PURE__ */ jsx28(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs15(Button, { variant: "outline", size: "sm", children: [
2193
+ /* @__PURE__ */ jsx28(ColumnsIcon, {}),
2194
+ /* @__PURE__ */ jsx28(ChevronDownIcon2, {})
2132
2195
  ] }) }),
2133
- /* @__PURE__ */ jsx26(DropdownMenuContent, { align: "end", className: "w-56", children: table.getAllColumns().filter(
2196
+ /* @__PURE__ */ jsx28(DropdownMenuContent, { align: "end", className: "w-56", children: table.getAllColumns().filter(
2134
2197
  (column) => typeof column.accessorFn !== "undefined" && column.getCanHide()
2135
- ).map((column) => /* @__PURE__ */ jsx26(
2198
+ ).map((column) => /* @__PURE__ */ jsx28(
2136
2199
  DropdownMenuCheckboxItem,
2137
2200
  {
2138
2201
  checked: column.getIsVisible(),
@@ -2145,25 +2208,25 @@ var DataTable = (props) => {
2145
2208
  props.toolbar?.({ refresh })
2146
2209
  ] })
2147
2210
  ] }),
2148
- /* @__PURE__ */ jsxs14("div", { className: "flex flex-col gap-4 overflow-auto px-4 pb-0.5 lg:px-6", children: [
2149
- /* @__PURE__ */ jsx26("div", { className: "overflow-hidden rounded-lg border", children: /* @__PURE__ */ jsxs14(Table, { children: [
2150
- /* @__PURE__ */ jsx26(TableHeader, { className: "sticky top-0 z-10 bg-muted", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx26(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx26(TableHead, { colSpan: header.colSpan, children: header.isPlaceholder ? null : flexRender(
2211
+ /* @__PURE__ */ jsxs15("div", { className: "flex flex-col gap-4 overflow-auto px-4 pb-0.5 lg:px-6", children: [
2212
+ /* @__PURE__ */ jsx28("div", { className: "overflow-hidden rounded-lg border", children: /* @__PURE__ */ jsxs15(Table, { children: [
2213
+ /* @__PURE__ */ jsx28(TableHeader, { className: "sticky top-0 z-10 bg-muted", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx28(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx28(TableHead, { colSpan: header.colSpan, children: header.isPlaceholder ? null : flexRender(
2151
2214
  header.column.columnDef.header,
2152
2215
  header.getContext()
2153
2216
  ) }, header.id)) }, headerGroup.id)) }),
2154
- /* @__PURE__ */ jsx26(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx26(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx26(TableCell, { children: flexRender(
2217
+ /* @__PURE__ */ jsx28(TableBody, { children: table.getRowModel().rows.length > 0 ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx28(TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx28(TableCell, { children: flexRender(
2155
2218
  cell.column.columnDef.cell,
2156
2219
  cell.getContext()
2157
- ) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx26(TableRow, { children: /* @__PURE__ */ jsx26(
2220
+ ) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsx28(TableRow, { children: /* @__PURE__ */ jsx28(
2158
2221
  TableCell,
2159
2222
  {
2160
2223
  colSpan: props.columns.length,
2161
2224
  className: "h-24 text-center",
2162
- children: /* @__PURE__ */ jsx26(TableEmpty, {})
2225
+ children: /* @__PURE__ */ jsx28(TableEmpty, {})
2163
2226
  }
2164
2227
  ) }) })
2165
2228
  ] }) }),
2166
- /* @__PURE__ */ jsx26("div", { className: "flex items-center justify-end px-4", children: /* @__PURE__ */ jsx26(
2229
+ /* @__PURE__ */ jsx28("div", { className: "flex items-center justify-end px-4", children: /* @__PURE__ */ jsx28(
2167
2230
  TablePagination,
2168
2231
  {
2169
2232
  currentPage,
@@ -2178,14 +2241,14 @@ var DataTable = (props) => {
2178
2241
  }
2179
2242
  ) })
2180
2243
  ] }),
2181
- props.advancedFilter && /* @__PURE__ */ jsx26(Sheet, { open: advancedOpen, onOpenChange: setAdvancedOpen, children: /* @__PURE__ */ jsxs14(SheetContent, { className: "flex w-[420px] flex-col p-0", children: [
2182
- /* @__PURE__ */ jsx26(SheetHeader, { className: "border-b px-6 py-4", children: /* @__PURE__ */ jsx26(SheetTitle, { children: "\u66F4\u591A\u7B5B\u9009" }) }),
2183
- /* @__PURE__ */ jsx26("div", { className: "flex-1 overflow-y-auto px-6 py-4", children: props.advancedFilter({
2244
+ props.advancedFilter && /* @__PURE__ */ jsx28(Sheet, { open: advancedOpen, onOpenChange: setAdvancedOpen, children: /* @__PURE__ */ jsxs15(SheetContent, { className: "flex w-[420px] flex-col p-0", children: [
2245
+ /* @__PURE__ */ jsx28(SheetHeader, { className: "border-b px-6 py-4", children: /* @__PURE__ */ jsx28(SheetTitle, { children: "\u66F4\u591A\u7B5B\u9009" }) }),
2246
+ /* @__PURE__ */ jsx28("div", { className: "flex-1 overflow-y-auto px-6 py-4", children: props.advancedFilter({
2184
2247
  draftFilters,
2185
2248
  setDraftFilters: (updater) => setDraftFilters((prev) => updater(prev))
2186
2249
  }) }),
2187
- /* @__PURE__ */ jsxs14(SheetFooter, { className: "border-t px-6 py-4", children: [
2188
- /* @__PURE__ */ jsx26(
2250
+ /* @__PURE__ */ jsxs15(SheetFooter, { className: "border-t px-6 py-4", children: [
2251
+ /* @__PURE__ */ jsx28(
2189
2252
  Button,
2190
2253
  {
2191
2254
  className: "flex-1",
@@ -2194,18 +2257,18 @@ var DataTable = (props) => {
2194
2257
  children: "\u91CD\u7F6E"
2195
2258
  }
2196
2259
  ),
2197
- /* @__PURE__ */ jsx26(Button, { className: "flex-1", onClick: confirmAdvanced, children: "\u786E\u8BA4\u7B5B\u9009" })
2260
+ /* @__PURE__ */ jsx28(Button, { className: "flex-1", onClick: confirmAdvanced, children: "\u786E\u8BA4\u7B5B\u9009" })
2198
2261
  ] })
2199
2262
  ] }) })
2200
2263
  ] });
2201
2264
  };
2202
2265
 
2203
2266
  // src/components/dialog/index.tsx
2204
- import { useState as useState2 } from "react";
2205
- import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
2267
+ import { useState as useState3 } from "react";
2268
+ import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
2206
2269
  var Dialog2 = (props) => {
2207
- const [open, setOpen] = useState2(false);
2208
- const [confirmLoading, setConfirmLoading] = useState2(false);
2270
+ const [open, setOpen] = useState3(false);
2271
+ const [confirmLoading, setConfirmLoading] = useState3(false);
2209
2272
  const handleConfirm = async () => {
2210
2273
  if (!props.onConfirm) {
2211
2274
  setOpen(false);
@@ -2219,14 +2282,14 @@ var Dialog2 = (props) => {
2219
2282
  setConfirmLoading(false);
2220
2283
  }
2221
2284
  };
2222
- return /* @__PURE__ */ jsxs15(Dialog, { open, onOpenChange: setOpen, children: [
2223
- /* @__PURE__ */ jsx27(DialogTrigger, { asChild: true, children: props.children }),
2224
- /* @__PURE__ */ jsxs15(DialogContent, { className: "sm:max-w-106.25", children: [
2225
- /* @__PURE__ */ jsx27(DialogHeader, { children: /* @__PURE__ */ jsx27(DialogTitle, { children: props.title ?? "\u63D0\u793A" }) }),
2226
- /* @__PURE__ */ jsx27("div", { className: "py-4", children: typeof props.content === "string" ? /* @__PURE__ */ jsx27("div", { children: props.content }) : props.content }),
2227
- /* @__PURE__ */ jsxs15(DialogFooter, { children: [
2228
- /* @__PURE__ */ jsx27(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx27(Button2, { variant: EnumVariant.OUTLINE, disabled: confirmLoading, children: props.cancelText ?? "\u53D6\u6D88" }) }),
2229
- /* @__PURE__ */ jsx27(
2285
+ return /* @__PURE__ */ jsxs16(Dialog, { open, onOpenChange: setOpen, children: [
2286
+ /* @__PURE__ */ jsx29(DialogTrigger, { asChild: true, children: props.children }),
2287
+ /* @__PURE__ */ jsxs16(DialogContent, { className: "sm:max-w-106.25", children: [
2288
+ /* @__PURE__ */ jsx29(DialogHeader, { children: /* @__PURE__ */ jsx29(DialogTitle, { children: props.title ?? "\u63D0\u793A" }) }),
2289
+ /* @__PURE__ */ jsx29("div", { className: "py-4", children: typeof props.content === "string" ? /* @__PURE__ */ jsx29("div", { children: props.content }) : props.content }),
2290
+ /* @__PURE__ */ jsxs16(DialogFooter, { children: [
2291
+ /* @__PURE__ */ jsx29(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx29(Button2, { variant: EnumVariant.OUTLINE, disabled: confirmLoading, children: props.cancelText ?? "\u53D6\u6D88" }) }),
2292
+ /* @__PURE__ */ jsx29(
2230
2293
  Button2,
2231
2294
  {
2232
2295
  type: "button",
@@ -2242,7 +2305,7 @@ var Dialog2 = (props) => {
2242
2305
  };
2243
2306
 
2244
2307
  // src/components/display-table/index.tsx
2245
- import { useState as useState3 } from "react";
2308
+ import { useState as useState4 } from "react";
2246
2309
  import {
2247
2310
  flexRender as flexRender2,
2248
2311
  getCoreRowModel as getCoreRowModel2,
@@ -2252,12 +2315,12 @@ import {
2252
2315
  getSortedRowModel as getSortedRowModel2,
2253
2316
  useReactTable as useReactTable2
2254
2317
  } from "@tanstack/react-table";
2255
- import { jsx as jsx28, jsxs as jsxs16 } from "react/jsx-runtime";
2318
+ import { jsx as jsx30, jsxs as jsxs17 } from "react/jsx-runtime";
2256
2319
  var DisplayTable = (props) => {
2257
- const [rowSelection, setRowSelection] = useState3({});
2258
- const [columnVisibility, setColumnVisibility] = useState3({});
2259
- const [columnFilters, setColumnFilters] = useState3([]);
2260
- const [sorting, setSorting] = useState3([]);
2320
+ const [rowSelection, setRowSelection] = useState4({});
2321
+ const [columnVisibility, setColumnVisibility] = useState4({});
2322
+ const [columnFilters, setColumnFilters] = useState4([]);
2323
+ const [sorting, setSorting] = useState4([]);
2261
2324
  const table = useReactTable2({
2262
2325
  data: props.list ?? [],
2263
2326
  columns: props.columns,
@@ -2283,24 +2346,24 @@ var DisplayTable = (props) => {
2283
2346
  getFacetedRowModel: getFacetedRowModel2(),
2284
2347
  getFacetedUniqueValues: getFacetedUniqueValues2()
2285
2348
  });
2286
- return /* @__PURE__ */ jsx28("div", { className: "overflow-hidden rounded-lg border", children: /* @__PURE__ */ jsxs16(Table, { children: [
2287
- /* @__PURE__ */ jsx28(TableHeader, { className: "sticky top-0 z-10 bg-muted", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx28(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx28(TableHead, { colSpan: header.colSpan, children: header.isPlaceholder ? null : flexRender2(
2349
+ return /* @__PURE__ */ jsx30("div", { className: "overflow-hidden rounded-lg border", children: /* @__PURE__ */ jsxs17(Table, { children: [
2350
+ /* @__PURE__ */ jsx30(TableHeader, { className: "sticky top-0 z-10 bg-muted", children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx30(TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx30(TableHead, { colSpan: header.colSpan, children: header.isPlaceholder ? null : flexRender2(
2288
2351
  header.column.columnDef.header,
2289
2352
  header.getContext()
2290
2353
  ) }, header.id)) }, headerGroup.id)) }),
2291
- /* @__PURE__ */ jsx28(TableBody, { className: "**:data-[slot=table-cell]:first:w-8", children: table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx28(
2354
+ /* @__PURE__ */ jsx30(TableBody, { className: "**:data-[slot=table-cell]:first:w-8", children: table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsx30(
2292
2355
  TableRow,
2293
2356
  {
2294
2357
  "data-state": row.getIsSelected() && "selected",
2295
- children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx28(TableCell, { children: flexRender2(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2358
+ children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsx30(TableCell, { children: flexRender2(cell.column.columnDef.cell, cell.getContext()) }, cell.id))
2296
2359
  },
2297
2360
  row.id
2298
- )) : /* @__PURE__ */ jsx28(TableRow, { children: /* @__PURE__ */ jsx28(
2361
+ )) : /* @__PURE__ */ jsx30(TableRow, { children: /* @__PURE__ */ jsx30(
2299
2362
  TableCell,
2300
2363
  {
2301
2364
  colSpan: props.columns.length,
2302
2365
  className: "h-24 text-center",
2303
- children: /* @__PURE__ */ jsx28(TableEmpty, {})
2366
+ children: /* @__PURE__ */ jsx30(TableEmpty, {})
2304
2367
  }
2305
2368
  ) }) })
2306
2369
  ] }) });
@@ -2308,7 +2371,7 @@ var DisplayTable = (props) => {
2308
2371
 
2309
2372
  // src/components/dropdown-cascader/dropdown-cascader-base.tsx
2310
2373
  import { Check } from "lucide-react";
2311
- import { jsx as jsx29, jsxs as jsxs17 } from "react/jsx-runtime";
2374
+ import { jsx as jsx31, jsxs as jsxs18 } from "react/jsx-runtime";
2312
2375
  var getOptionMap = (options) => {
2313
2376
  const map = /* @__PURE__ */ new Map();
2314
2377
  const walk = (nodes, parent) => {
@@ -2332,10 +2395,10 @@ var renderCascaderNodes = (nodes, parentPath, selectedValues, onSelect) => {
2332
2395
  const isBranch = !!node.children?.length;
2333
2396
  const isSelected = selectedValues.includes(node.value);
2334
2397
  if (isBranch) {
2335
- return /* @__PURE__ */ jsxs17(DropdownMenuSub, { children: [
2336
- /* @__PURE__ */ jsx29(DropdownMenuSubTrigger, { disabled: node.disabled, children: node.label }),
2337
- /* @__PURE__ */ jsx29(DropdownMenuPortal, { children: /* @__PURE__ */ jsxs17(DropdownMenuSubContent, { className: "min-w-56", children: [
2338
- /* @__PURE__ */ jsxs17(
2398
+ return /* @__PURE__ */ jsxs18(DropdownMenuSub, { children: [
2399
+ /* @__PURE__ */ jsx31(DropdownMenuSubTrigger, { disabled: node.disabled, children: node.label }),
2400
+ /* @__PURE__ */ jsx31(DropdownMenuPortal, { children: /* @__PURE__ */ jsxs18(DropdownMenuSubContent, { className: "min-w-56", children: [
2401
+ /* @__PURE__ */ jsxs18(
2339
2402
  DropdownMenuItem,
2340
2403
  {
2341
2404
  disabled: node.disabled,
@@ -2345,8 +2408,8 @@ var renderCascaderNodes = (nodes, parentPath, selectedValues, onSelect) => {
2345
2408
  },
2346
2409
  className: "flex items-center justify-between",
2347
2410
  children: [
2348
- /* @__PURE__ */ jsx29("span", { children: node.label }),
2349
- isSelected && /* @__PURE__ */ jsx29(Check, { className: "size-4" })
2411
+ /* @__PURE__ */ jsx31("span", { children: node.label }),
2412
+ isSelected && /* @__PURE__ */ jsx31(Check, { className: "size-4" })
2350
2413
  ]
2351
2414
  }
2352
2415
  ),
@@ -2359,7 +2422,7 @@ var renderCascaderNodes = (nodes, parentPath, selectedValues, onSelect) => {
2359
2422
  ] }) })
2360
2423
  ] }, node.value);
2361
2424
  }
2362
- return /* @__PURE__ */ jsxs17(
2425
+ return /* @__PURE__ */ jsxs18(
2363
2426
  DropdownMenuItem,
2364
2427
  {
2365
2428
  disabled: node.disabled,
@@ -2369,8 +2432,8 @@ var renderCascaderNodes = (nodes, parentPath, selectedValues, onSelect) => {
2369
2432
  },
2370
2433
  className: "flex items-center justify-between",
2371
2434
  children: [
2372
- /* @__PURE__ */ jsx29("span", { children: node.label }),
2373
- isSelected && /* @__PURE__ */ jsx29(Check, { className: "size-4" })
2435
+ /* @__PURE__ */ jsx31("span", { children: node.label }),
2436
+ isSelected && /* @__PURE__ */ jsx31(Check, { className: "size-4" })
2374
2437
  ]
2375
2438
  },
2376
2439
  node.value
@@ -2381,7 +2444,7 @@ var renderCascaderNodes = (nodes, parentPath, selectedValues, onSelect) => {
2381
2444
  // src/components/dropdown-cascader/dropdown-cascader-multi.tsx
2382
2445
  import * as React from "react";
2383
2446
  import { ChevronDown, X } from "lucide-react";
2384
- import { jsx as jsx30, jsxs as jsxs18 } from "react/jsx-runtime";
2447
+ import { jsx as jsx32, jsxs as jsxs19 } from "react/jsx-runtime";
2385
2448
  var toggle = (list, value) => {
2386
2449
  if (list.includes(value)) {
2387
2450
  return list.filter((v) => v !== value);
@@ -2420,22 +2483,22 @@ var DropdownCascaderMulti = ({
2420
2483
  value: i.option.value,
2421
2484
  label: i.path.map((p) => p.label).join(" / ")
2422
2485
  }));
2423
- return /* @__PURE__ */ jsxs18(DropdownMenu, { open, onOpenChange: setOpen, children: [
2424
- /* @__PURE__ */ jsx30(DropdownMenuTrigger, { asChild: true, className: "self-start", children: /* @__PURE__ */ jsxs18(
2486
+ return /* @__PURE__ */ jsxs19(DropdownMenu, { open, onOpenChange: setOpen, children: [
2487
+ /* @__PURE__ */ jsx32(DropdownMenuTrigger, { asChild: true, className: "self-start", children: /* @__PURE__ */ jsxs19(
2425
2488
  Button,
2426
2489
  {
2427
2490
  variant: "outline",
2428
2491
  className: "h-auto! min-h-9 w-full justify-between px-3",
2429
2492
  children: [
2430
- /* @__PURE__ */ jsxs18("div", { className: "flex flex-wrap gap-1", children: [
2493
+ /* @__PURE__ */ jsxs19("div", { className: "flex flex-wrap gap-1", children: [
2431
2494
  selectedItems.length === 0 && props.placeholder,
2432
- selectedItems.map((item) => /* @__PURE__ */ jsxs18(
2495
+ selectedItems.map((item) => /* @__PURE__ */ jsxs19(
2433
2496
  "span",
2434
2497
  {
2435
2498
  className: "inline-flex items-center gap-1 rounded border px-2 py-0.5 text-xs",
2436
2499
  children: [
2437
2500
  item.label,
2438
- /* @__PURE__ */ jsx30(
2501
+ /* @__PURE__ */ jsx32(
2439
2502
  "span",
2440
2503
  {
2441
2504
  role: "button",
@@ -2457,7 +2520,7 @@ var DropdownCascaderMulti = ({
2457
2520
  remove(item.value);
2458
2521
  }
2459
2522
  },
2460
- children: /* @__PURE__ */ jsx30(X, { className: "size-3" })
2523
+ children: /* @__PURE__ */ jsx32(X, { className: "size-3" })
2461
2524
  }
2462
2525
  )
2463
2526
  ]
@@ -2465,11 +2528,11 @@ var DropdownCascaderMulti = ({
2465
2528
  item.value
2466
2529
  ))
2467
2530
  ] }),
2468
- /* @__PURE__ */ jsx30(ChevronDown, { className: "size-4 opacity-50" })
2531
+ /* @__PURE__ */ jsx32(ChevronDown, { className: "size-4 opacity-50" })
2469
2532
  ]
2470
2533
  }
2471
2534
  ) }),
2472
- /* @__PURE__ */ jsx30(
2535
+ /* @__PURE__ */ jsx32(
2473
2536
  DropdownMenuContent,
2474
2537
  {
2475
2538
  align: "start",
@@ -2483,7 +2546,7 @@ var DropdownCascaderMulti = ({
2483
2546
  // src/components/dropdown-cascader/dropdown-cascader-single.tsx
2484
2547
  import * as React2 from "react";
2485
2548
  import { ChevronDown as ChevronDown2 } from "lucide-react";
2486
- import { jsx as jsx31, jsxs as jsxs19 } from "react/jsx-runtime";
2549
+ import { jsx as jsx33, jsxs as jsxs20 } from "react/jsx-runtime";
2487
2550
  var DropdownCascaderSingle = (props) => {
2488
2551
  const optionMap = React2.useMemo(
2489
2552
  () => getOptionMap(props.options),
@@ -2497,19 +2560,19 @@ var DropdownCascaderSingle = (props) => {
2497
2560
  setOpen(false);
2498
2561
  };
2499
2562
  const selectedPath = props.value ? optionMap.get(props.value)?.path.map((i) => i.label).join(" / ") : "";
2500
- return /* @__PURE__ */ jsxs19(DropdownMenu, { open, onOpenChange: setOpen, children: [
2501
- /* @__PURE__ */ jsx31(DropdownMenuTrigger, { asChild: true, className: "self-start", children: /* @__PURE__ */ jsxs19(
2563
+ return /* @__PURE__ */ jsxs20(DropdownMenu, { open, onOpenChange: setOpen, children: [
2564
+ /* @__PURE__ */ jsx33(DropdownMenuTrigger, { asChild: true, className: "self-start", children: /* @__PURE__ */ jsxs20(
2502
2565
  Button,
2503
2566
  {
2504
2567
  variant: "outline",
2505
2568
  className: "h-auto! min-h-9 w-full justify-between px-3 leading-none",
2506
2569
  children: [
2507
2570
  selectedPath || props.placeholder,
2508
- /* @__PURE__ */ jsx31(ChevronDown2, { className: "size-4 ml-auto opacity-50" })
2571
+ /* @__PURE__ */ jsx33(ChevronDown2, { className: "size-4 ml-auto opacity-50" })
2509
2572
  ]
2510
2573
  }
2511
2574
  ) }),
2512
- /* @__PURE__ */ jsx31(
2575
+ /* @__PURE__ */ jsx33(
2513
2576
  DropdownMenuContent,
2514
2577
  {
2515
2578
  align: "start",
@@ -2535,12 +2598,12 @@ import { cva as cva5 } from "class-variance-authority";
2535
2598
 
2536
2599
  // src/shadcn/components/label.tsx
2537
2600
  import { Label as LabelPrimitive } from "radix-ui";
2538
- import { jsx as jsx32 } from "react/jsx-runtime";
2601
+ import { jsx as jsx34 } from "react/jsx-runtime";
2539
2602
  function Label({
2540
2603
  className,
2541
2604
  ...props
2542
2605
  }) {
2543
- return /* @__PURE__ */ jsx32(
2606
+ return /* @__PURE__ */ jsx34(
2544
2607
  LabelPrimitive.Root,
2545
2608
  {
2546
2609
  "data-slot": "label",
@@ -2555,12 +2618,12 @@ function Label({
2555
2618
 
2556
2619
  // src/shadcn/components/separator.tsx
2557
2620
  import { Separator as SeparatorPrimitive } from "radix-ui";
2558
- import { jsx as jsx33 } from "react/jsx-runtime";
2621
+ import { jsx as jsx35 } from "react/jsx-runtime";
2559
2622
 
2560
2623
  // src/shadcn/components/field.tsx
2561
- import { jsx as jsx34, jsxs as jsxs20 } from "react/jsx-runtime";
2624
+ import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
2562
2625
  function FieldGroup2({ className, ...props }) {
2563
- return /* @__PURE__ */ jsx34(
2626
+ return /* @__PURE__ */ jsx36(
2564
2627
  "div",
2565
2628
  {
2566
2629
  "data-slot": "field-group",
@@ -2600,7 +2663,7 @@ function Field({
2600
2663
  orientation = "vertical",
2601
2664
  ...props
2602
2665
  }) {
2603
- return /* @__PURE__ */ jsx34(
2666
+ return /* @__PURE__ */ jsx36(
2604
2667
  "div",
2605
2668
  {
2606
2669
  role: "group",
@@ -2617,7 +2680,7 @@ function FieldLabel({
2617
2680
  children,
2618
2681
  ...props
2619
2682
  }) {
2620
- return /* @__PURE__ */ jsx34(
2683
+ return /* @__PURE__ */ jsx36(
2621
2684
  Label,
2622
2685
  {
2623
2686
  "data-slot": "field-label",
@@ -2628,9 +2691,9 @@ function FieldLabel({
2628
2691
  className
2629
2692
  ),
2630
2693
  ...props,
2631
- children: /* @__PURE__ */ jsxs20("span", { className: "flex items-center gap-1", children: [
2694
+ children: /* @__PURE__ */ jsxs21("span", { className: "flex items-center gap-1", children: [
2632
2695
  children,
2633
- required && /* @__PURE__ */ jsx34("span", { className: "text-destructive", children: "*" })
2696
+ required && /* @__PURE__ */ jsx36("span", { className: "text-destructive", children: "*" })
2634
2697
  ] })
2635
2698
  }
2636
2699
  );
@@ -2654,14 +2717,14 @@ function FieldError({
2654
2717
  if (uniqueErrors?.length == 1) {
2655
2718
  return uniqueErrors[0]?.message;
2656
2719
  }
2657
- return /* @__PURE__ */ jsx34("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
2658
- (error, index) => error?.message && /* @__PURE__ */ jsx34("li", { children: error.message }, index)
2720
+ return /* @__PURE__ */ jsx36("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
2721
+ (error, index) => error?.message && /* @__PURE__ */ jsx36("li", { children: error.message }, index)
2659
2722
  ) });
2660
2723
  }, [children, errors]);
2661
2724
  if (!content) {
2662
2725
  return null;
2663
2726
  }
2664
- return /* @__PURE__ */ jsx34(
2727
+ return /* @__PURE__ */ jsx36(
2665
2728
  "div",
2666
2729
  {
2667
2730
  role: "alert",
@@ -2675,12 +2738,12 @@ function FieldError({
2675
2738
 
2676
2739
  // src/shadcn/components/tooltip.tsx
2677
2740
  import { Tooltip as TooltipPrimitive } from "radix-ui";
2678
- import { jsx as jsx35, jsxs as jsxs21 } from "react/jsx-runtime";
2741
+ import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
2679
2742
  function TooltipProvider({
2680
2743
  delayDuration = 0,
2681
2744
  ...props
2682
2745
  }) {
2683
- return /* @__PURE__ */ jsx35(
2746
+ return /* @__PURE__ */ jsx37(
2684
2747
  TooltipPrimitive.Provider,
2685
2748
  {
2686
2749
  "data-slot": "tooltip-provider",
@@ -2692,12 +2755,12 @@ function TooltipProvider({
2692
2755
  function Tooltip({
2693
2756
  ...props
2694
2757
  }) {
2695
- return /* @__PURE__ */ jsx35(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2758
+ return /* @__PURE__ */ jsx37(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
2696
2759
  }
2697
2760
  function TooltipTrigger({
2698
2761
  ...props
2699
2762
  }) {
2700
- return /* @__PURE__ */ jsx35(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2763
+ return /* @__PURE__ */ jsx37(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
2701
2764
  }
2702
2765
  function TooltipContent({
2703
2766
  className,
@@ -2705,7 +2768,7 @@ function TooltipContent({
2705
2768
  children,
2706
2769
  ...props
2707
2770
  }) {
2708
- return /* @__PURE__ */ jsx35(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs21(
2771
+ return /* @__PURE__ */ jsx37(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs22(
2709
2772
  TooltipPrimitive.Content,
2710
2773
  {
2711
2774
  "data-slot": "tooltip-content",
@@ -2717,35 +2780,35 @@ function TooltipContent({
2717
2780
  ...props,
2718
2781
  children: [
2719
2782
  children,
2720
- /* @__PURE__ */ jsx35(TooltipPrimitive.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
2783
+ /* @__PURE__ */ jsx37(TooltipPrimitive.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
2721
2784
  ]
2722
2785
  }
2723
2786
  ) });
2724
2787
  }
2725
2788
 
2726
2789
  // src/components/field-controller/index.tsx
2727
- import { jsx as jsx36, jsxs as jsxs22 } from "react/jsx-runtime";
2790
+ import { jsx as jsx38, jsxs as jsxs23 } from "react/jsx-runtime";
2728
2791
  var FieldController = ({
2729
2792
  required = false,
2730
2793
  ...props
2731
2794
  }) => {
2732
- return /* @__PURE__ */ jsx36(
2795
+ return /* @__PURE__ */ jsx38(
2733
2796
  Controller,
2734
2797
  {
2735
2798
  name: props.name,
2736
2799
  control: props.control,
2737
- render: ({ field, fieldState }) => /* @__PURE__ */ jsxs22(Field, { "data-invalid": fieldState.invalid, children: [
2738
- /* @__PURE__ */ jsxs22("div", { className: "flex items-center gap-spacing-xs", children: [
2739
- /* @__PURE__ */ jsx36(FieldLabel, { htmlFor: props.id, required, children: props.label }),
2740
- props.tip && /* @__PURE__ */ jsxs22(Tooltip, { children: [
2741
- /* @__PURE__ */ jsx36(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx36(
2800
+ render: ({ field, fieldState }) => /* @__PURE__ */ jsxs23(Field, { "data-invalid": fieldState.invalid, children: [
2801
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center gap-spacing-xs", children: [
2802
+ /* @__PURE__ */ jsx38(FieldLabel, { htmlFor: props.id, required, children: props.label }),
2803
+ props.tip && /* @__PURE__ */ jsxs23(Tooltip, { children: [
2804
+ /* @__PURE__ */ jsx38(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx38(
2742
2805
  CircleQuestionMark,
2743
2806
  {
2744
2807
  size: "1rem",
2745
2808
  className: "text-muted-foreground"
2746
2809
  }
2747
2810
  ) }),
2748
- /* @__PURE__ */ jsx36(
2811
+ /* @__PURE__ */ jsx38(
2749
2812
  TooltipContent,
2750
2813
  {
2751
2814
  side: "right",
@@ -2760,16 +2823,16 @@ var FieldController = ({
2760
2823
  fieldState,
2761
2824
  id: props.id
2762
2825
  }),
2763
- fieldState.error && /* @__PURE__ */ jsx36(FieldError, { errors: [fieldState.error] })
2826
+ fieldState.error && /* @__PURE__ */ jsx38(FieldError, { errors: [fieldState.error] })
2764
2827
  ] })
2765
2828
  }
2766
2829
  );
2767
2830
  };
2768
2831
 
2769
2832
  // src/components/field-group/index.tsx
2770
- import { jsx as jsx37 } from "react/jsx-runtime";
2833
+ import { jsx as jsx39 } from "react/jsx-runtime";
2771
2834
  var FieldGroup = (props) => {
2772
- return /* @__PURE__ */ jsx37(
2835
+ return /* @__PURE__ */ jsx39(
2773
2836
  "div",
2774
2837
  {
2775
2838
  className: cn2(
@@ -2782,28 +2845,28 @@ var FieldGroup = (props) => {
2782
2845
  };
2783
2846
 
2784
2847
  // src/components/text/index.tsx
2785
- import { jsx as jsx38 } from "react/jsx-runtime";
2848
+ import { jsx as jsx40 } from "react/jsx-runtime";
2786
2849
  var Text = (props) => {
2787
- return /* @__PURE__ */ jsx38("div", { className: cn2("", props.className), children: props.children });
2850
+ return /* @__PURE__ */ jsx40("div", { className: cn2("", props.className), children: props.children });
2788
2851
  };
2789
2852
 
2790
2853
  // src/components/field-plain/index.tsx
2791
- import { Fragment as Fragment2, jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
2854
+ import { Fragment as Fragment2, jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
2792
2855
  var FieldPlain = ({
2793
2856
  required = false,
2794
2857
  mode = EnumFormMode.VIEW,
2795
2858
  ...props
2796
2859
  }) => {
2797
2860
  const label = props.label ?? "-";
2798
- return /* @__PURE__ */ jsx39(Fragment2, { children: /* @__PURE__ */ jsxs23(Field, { "data-invalid": props.invalid, children: [
2799
- /* @__PURE__ */ jsx39(FieldLabel, { htmlFor: props.id, required, children: props.name }),
2800
- mode === EnumFormMode.VIEW ? /* @__PURE__ */ jsx39(Text, { children: label }) : props.children,
2801
- props.error && /* @__PURE__ */ jsx39(FieldError, { errors: [{ message: props.error }] })
2861
+ return /* @__PURE__ */ jsx41(Fragment2, { children: /* @__PURE__ */ jsxs24(Field, { "data-invalid": props.invalid, children: [
2862
+ /* @__PURE__ */ jsx41(FieldLabel, { htmlFor: props.id, required, children: props.name }),
2863
+ mode === EnumFormMode.VIEW ? /* @__PURE__ */ jsx41(Text, { children: label }) : props.children,
2864
+ props.error && /* @__PURE__ */ jsx41(FieldError, { errors: [{ message: props.error }] })
2802
2865
  ] }) });
2803
2866
  };
2804
2867
 
2805
2868
  // src/components/field-text/index.tsx
2806
- import { jsx as jsx40, jsxs as jsxs24 } from "react/jsx-runtime";
2869
+ import { jsx as jsx42, jsxs as jsxs25 } from "react/jsx-runtime";
2807
2870
  var FieldText = ({
2808
2871
  id,
2809
2872
  name,
@@ -2813,16 +2876,16 @@ var FieldText = ({
2813
2876
  render
2814
2877
  }) => {
2815
2878
  const isEmpty2 = value === "" || value == null;
2816
- return /* @__PURE__ */ jsxs24(Field, { children: [
2817
- /* @__PURE__ */ jsx40(FieldLabel, { htmlFor: id, required, children: name }),
2818
- /* @__PURE__ */ jsx40("div", { id, className: "text-sm leading-6", children: render ?? (isEmpty2 ? placeholder : value) })
2879
+ return /* @__PURE__ */ jsxs25(Field, { children: [
2880
+ /* @__PURE__ */ jsx42(FieldLabel, { htmlFor: id, required, children: name }),
2881
+ /* @__PURE__ */ jsx42("div", { id, className: "text-sm leading-6", children: render ?? (isEmpty2 ? placeholder : value) })
2819
2882
  ] });
2820
2883
  };
2821
2884
 
2822
2885
  // src/components/form-select/index.tsx
2823
- import { jsx as jsx41, jsxs as jsxs25 } from "react/jsx-runtime";
2886
+ import { jsx as jsx43, jsxs as jsxs26 } from "react/jsx-runtime";
2824
2887
  var FormSelect = (props) => {
2825
- return /* @__PURE__ */ jsxs25(
2888
+ return /* @__PURE__ */ jsxs26(
2826
2889
  Select,
2827
2890
  {
2828
2891
  value: props.value,
@@ -2835,9 +2898,9 @@ var FormSelect = (props) => {
2835
2898
  },
2836
2899
  "aria-invalid": props.invalid,
2837
2900
  children: [
2838
- /* @__PURE__ */ jsx41(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx41(SelectValue, {}) }),
2839
- /* @__PURE__ */ jsx41(SelectContent, { children: /* @__PURE__ */ jsx41(SelectGroup, { children: props.optionList.map((option) => {
2840
- return /* @__PURE__ */ jsx41(SelectItem, { value: option.value, children: option.label }, option.value);
2901
+ /* @__PURE__ */ jsx43(SelectTrigger, { className: "w-full", children: /* @__PURE__ */ jsx43(SelectValue, {}) }),
2902
+ /* @__PURE__ */ jsx43(SelectContent, { children: /* @__PURE__ */ jsx43(SelectGroup, { children: props.optionList.map((option) => {
2903
+ return /* @__PURE__ */ jsx43(SelectItem, { value: option.value, children: option.label }, option.value);
2841
2904
  }) }) })
2842
2905
  ]
2843
2906
  }
@@ -2860,7 +2923,7 @@ import {
2860
2923
  ChevronLeftIcon as ChevronLeftIcon2,
2861
2924
  ChevronRightIcon as ChevronRightIcon3
2862
2925
  } from "lucide-react";
2863
- import { jsx as jsx42 } from "react/jsx-runtime";
2926
+ import { jsx as jsx44 } from "react/jsx-runtime";
2864
2927
  function Calendar({
2865
2928
  className,
2866
2929
  classNames,
@@ -2872,7 +2935,7 @@ function Calendar({
2872
2935
  ...props
2873
2936
  }) {
2874
2937
  const defaultClassNames = getDefaultClassNames();
2875
- return /* @__PURE__ */ jsx42(
2938
+ return /* @__PURE__ */ jsx44(
2876
2939
  DayPicker,
2877
2940
  {
2878
2941
  showOutsideDays,
@@ -2972,7 +3035,7 @@ function Calendar({
2972
3035
  },
2973
3036
  components: {
2974
3037
  Root: ({ className: className2, rootRef, ...props2 }) => {
2975
- return /* @__PURE__ */ jsx42(
3038
+ return /* @__PURE__ */ jsx44(
2976
3039
  "div",
2977
3040
  {
2978
3041
  "data-slot": "calendar",
@@ -2984,10 +3047,10 @@ function Calendar({
2984
3047
  },
2985
3048
  Chevron: ({ className: className2, orientation, ...props2 }) => {
2986
3049
  if (orientation === "left") {
2987
- return /* @__PURE__ */ jsx42(ChevronLeftIcon2, { className: cn("size-4", className2), ...props2 });
3050
+ return /* @__PURE__ */ jsx44(ChevronLeftIcon2, { className: cn("size-4", className2), ...props2 });
2988
3051
  }
2989
3052
  if (orientation === "right") {
2990
- return /* @__PURE__ */ jsx42(
3053
+ return /* @__PURE__ */ jsx44(
2991
3054
  ChevronRightIcon3,
2992
3055
  {
2993
3056
  className: cn("size-4", className2),
@@ -2995,11 +3058,11 @@ function Calendar({
2995
3058
  }
2996
3059
  );
2997
3060
  }
2998
- return /* @__PURE__ */ jsx42(ChevronDownIcon3, { className: cn("size-4", className2), ...props2 });
3061
+ return /* @__PURE__ */ jsx44(ChevronDownIcon3, { className: cn("size-4", className2), ...props2 });
2999
3062
  },
3000
3063
  DayButton: CalendarDayButton,
3001
3064
  WeekNumber: ({ children, ...props2 }) => {
3002
- return /* @__PURE__ */ jsx42("td", { ...props2, children: /* @__PURE__ */ jsx42("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
3065
+ return /* @__PURE__ */ jsx44("td", { ...props2, children: /* @__PURE__ */ jsx44("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
3003
3066
  },
3004
3067
  ...components
3005
3068
  },
@@ -3018,7 +3081,7 @@ function CalendarDayButton({
3018
3081
  React3.useEffect(() => {
3019
3082
  if (modifiers.focused) ref.current?.focus();
3020
3083
  }, [modifiers.focused]);
3021
- return /* @__PURE__ */ jsx42(
3084
+ return /* @__PURE__ */ jsx44(
3022
3085
  Button,
3023
3086
  {
3024
3087
  ref,
@@ -3041,16 +3104,16 @@ function CalendarDayButton({
3041
3104
 
3042
3105
  // src/shadcn/components/popover.tsx
3043
3106
  import { Popover as PopoverPrimitive } from "radix-ui";
3044
- import { jsx as jsx43 } from "react/jsx-runtime";
3107
+ import { jsx as jsx45 } from "react/jsx-runtime";
3045
3108
  function Popover({
3046
3109
  ...props
3047
3110
  }) {
3048
- return /* @__PURE__ */ jsx43(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
3111
+ return /* @__PURE__ */ jsx45(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
3049
3112
  }
3050
3113
  function PopoverTrigger({
3051
3114
  ...props
3052
3115
  }) {
3053
- return /* @__PURE__ */ jsx43(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
3116
+ return /* @__PURE__ */ jsx45(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
3054
3117
  }
3055
3118
  function PopoverContent({
3056
3119
  className,
@@ -3058,7 +3121,7 @@ function PopoverContent({
3058
3121
  sideOffset = 4,
3059
3122
  ...props
3060
3123
  }) {
3061
- return /* @__PURE__ */ jsx43(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx43(
3124
+ return /* @__PURE__ */ jsx45(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx45(
3062
3125
  PopoverPrimitive.Content,
3063
3126
  {
3064
3127
  "data-slot": "popover-content",
@@ -3074,7 +3137,7 @@ function PopoverContent({
3074
3137
  }
3075
3138
 
3076
3139
  // src/components/form-time-picker/index.tsx
3077
- import { jsx as jsx44, jsxs as jsxs26 } from "react/jsx-runtime";
3140
+ import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
3078
3141
  function pad2(n) {
3079
3142
  return String(n).padStart(2, "0");
3080
3143
  }
@@ -3094,9 +3157,9 @@ var FormTimePicker = (props) => {
3094
3157
  const [open, setOpen] = React4.useState(false);
3095
3158
  const dateBtnText = props.value ? formatDateTime(props.value, "YYYY-MM-DD") : props.datePlaceholder;
3096
3159
  const timeValue = formatTimeHHmmss(props.value);
3097
- return /* @__PURE__ */ jsxs26(FieldGroup2, { className: "flex-row gap-2.5", children: [
3098
- /* @__PURE__ */ jsx44(Field, { children: /* @__PURE__ */ jsxs26(Popover, { open, onOpenChange: setOpen, children: [
3099
- /* @__PURE__ */ jsx44(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs26(
3160
+ return /* @__PURE__ */ jsxs27(FieldGroup2, { className: "flex-row gap-2.5", children: [
3161
+ /* @__PURE__ */ jsx46(Field, { children: /* @__PURE__ */ jsxs27(Popover, { open, onOpenChange: setOpen, children: [
3162
+ /* @__PURE__ */ jsx46(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs27(
3100
3163
  Button,
3101
3164
  {
3102
3165
  variant: "outline",
@@ -3105,17 +3168,17 @@ var FormTimePicker = (props) => {
3105
3168
  disabled: props.disabled,
3106
3169
  className: "w-32 justify-between font-normal",
3107
3170
  children: [
3108
- /* @__PURE__ */ jsx44("div", { className: "w-full text-left", children: dateBtnText }),
3109
- /* @__PURE__ */ jsx44(ChevronDownIcon4, {})
3171
+ /* @__PURE__ */ jsx46("div", { className: "w-full text-left", children: dateBtnText }),
3172
+ /* @__PURE__ */ jsx46(ChevronDownIcon4, {})
3110
3173
  ]
3111
3174
  }
3112
3175
  ) }),
3113
- /* @__PURE__ */ jsx44(
3176
+ /* @__PURE__ */ jsx46(
3114
3177
  PopoverContent,
3115
3178
  {
3116
3179
  className: "w-(--radix-popover-trigger-width) p-0",
3117
3180
  align: "start",
3118
- children: /* @__PURE__ */ jsx44(
3181
+ children: /* @__PURE__ */ jsx46(
3119
3182
  Calendar,
3120
3183
  {
3121
3184
  mode: "single",
@@ -3139,7 +3202,7 @@ var FormTimePicker = (props) => {
3139
3202
  }
3140
3203
  )
3141
3204
  ] }) }),
3142
- /* @__PURE__ */ jsx44(Field, { className: "w-32", children: /* @__PURE__ */ jsx44(
3205
+ /* @__PURE__ */ jsx46(Field, { className: "w-32", children: /* @__PURE__ */ jsx46(
3143
3206
  Input,
3144
3207
  {
3145
3208
  type: "time",
@@ -3161,31 +3224,13 @@ var FormTimePicker = (props) => {
3161
3224
  };
3162
3225
 
3163
3226
  // src/components/media-uploader/index.tsx
3164
- import { useCallback as useCallback2, useEffect as useEffect3, useRef as useRef2, useState as useState7 } from "react";
3165
- import { Eye, Loader2, Plus, Trash2 } from "lucide-react";
3166
-
3167
- // src/shadcn/components/card.tsx
3168
- import { jsx as jsx45 } from "react/jsx-runtime";
3169
- function Card({ className, ...props }) {
3170
- return /* @__PURE__ */ jsx45(
3171
- "div",
3172
- {
3173
- "data-slot": "card",
3174
- className: cn(
3175
- "flex flex-col gap-6 rounded-xl border bg-card py-6 text-card-foreground shadow-sm",
3176
- className
3177
- ),
3178
- ...props
3179
- }
3180
- );
3181
- }
3182
-
3183
- // src/components/media-uploader/index.tsx
3184
- import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
3227
+ import { useCallback as useCallback2, useEffect as useEffect3, useRef as useRef2, useState as useState8 } from "react";
3228
+ import { Eye as Eye2, Loader2, Plus, Trash2 } from "lucide-react";
3229
+ import { jsx as jsx47, jsxs as jsxs28 } from "react/jsx-runtime";
3185
3230
  var MediaUploader = ({ value = [], ...props }) => {
3186
3231
  const inputRef = useRef2(null);
3187
- const [items, setItems] = useState7([]);
3188
- const [preview, setPreview] = useState7(null);
3232
+ const [items, setItems] = useState8([]);
3233
+ const [preview, setPreview] = useState8(null);
3189
3234
  const readonly = !!props.readonly;
3190
3235
  const disabled = !!props.disabled;
3191
3236
  const canEdit = !readonly && !disabled;
@@ -3307,8 +3352,8 @@ var MediaUploader = ({ value = [], ...props }) => {
3307
3352
  });
3308
3353
  };
3309
3354
  const showUploadButton = canEdit && (!props.multiple && items.length === 0 || props.multiple);
3310
- return /* @__PURE__ */ jsxs27("div", { className: cn2("space-y-3", props.className), children: [
3311
- /* @__PURE__ */ jsx46(
3355
+ return /* @__PURE__ */ jsxs28("div", { className: cn2("space-y-3", props.className), children: [
3356
+ /* @__PURE__ */ jsx47(
3312
3357
  "input",
3313
3358
  {
3314
3359
  ref: inputRef,
@@ -3325,19 +3370,19 @@ var MediaUploader = ({ value = [], ...props }) => {
3325
3370
  }
3326
3371
  }
3327
3372
  ),
3328
- /* @__PURE__ */ jsx46(ScrollArea, { className: "rounded-lg border", children: /* @__PURE__ */ jsxs27("div", { className: "grid grid-cols-2 gap-3 p-3 sm:grid-cols-3 lg:grid-cols-4", children: [
3329
- items.map((it, index) => /* @__PURE__ */ jsx46(Card, { className: "group overflow-hidden", children: /* @__PURE__ */ jsxs27("div", { className: "relative aspect-square bg-muted", children: [
3330
- it.url || it.localUrl ? /* @__PURE__ */ jsx46(
3373
+ /* @__PURE__ */ jsx47(ScrollArea, { className: "rounded-lg border", children: /* @__PURE__ */ jsxs28("div", { className: "grid grid-cols-2 gap-3 p-3 sm:grid-cols-3 lg:grid-cols-4", children: [
3374
+ items.map((it, index) => /* @__PURE__ */ jsx47(Card, { className: "group overflow-hidden", children: /* @__PURE__ */ jsxs28("div", { className: "relative aspect-square bg-muted", children: [
3375
+ it.url || it.localUrl ? /* @__PURE__ */ jsx47(
3331
3376
  "img",
3332
3377
  {
3333
3378
  src: it.url ?? it.localUrl,
3334
3379
  alt: "",
3335
3380
  className: "h-full w-full object-cover"
3336
3381
  }
3337
- ) : /* @__PURE__ */ jsx46("div", { className: "h-full w-full" }),
3338
- it.uploading && /* @__PURE__ */ jsx46("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ jsx46(Loader2, { className: "h-6 w-6 animate-spin text-white" }) }),
3339
- !it.uploading && (it.url || it.localUrl) && /* @__PURE__ */ jsxs27("div", { className: "absolute inset-0 flex items-start justify-end gap-2 p-2 opacity-0 transition group-hover:opacity-100", children: [
3340
- /* @__PURE__ */ jsx46(
3382
+ ) : /* @__PURE__ */ jsx47("div", { className: "h-full w-full" }),
3383
+ it.uploading && /* @__PURE__ */ jsx47("div", { className: "absolute inset-0 flex items-center justify-center bg-black/40", children: /* @__PURE__ */ jsx47(Loader2, { className: "h-6 w-6 animate-spin text-white" }) }),
3384
+ !it.uploading && (it.url || it.localUrl) && /* @__PURE__ */ jsxs28("div", { className: "absolute inset-0 flex items-start justify-end gap-2 p-2 opacity-0 transition group-hover:opacity-100", children: [
3385
+ /* @__PURE__ */ jsx47(
3341
3386
  Button,
3342
3387
  {
3343
3388
  size: "icon",
@@ -3345,10 +3390,10 @@ var MediaUploader = ({ value = [], ...props }) => {
3345
3390
  className: "h-8 w-8",
3346
3391
  onClick: () => setPreview(it),
3347
3392
  type: "button",
3348
- children: /* @__PURE__ */ jsx46(Eye, { className: "h-4 w-4" })
3393
+ children: /* @__PURE__ */ jsx47(Eye2, { className: "h-4 w-4" })
3349
3394
  }
3350
3395
  ),
3351
- canEdit && /* @__PURE__ */ jsx46(
3396
+ canEdit && /* @__PURE__ */ jsx47(
3352
3397
  Button,
3353
3398
  {
3354
3399
  size: "icon",
@@ -3356,25 +3401,25 @@ var MediaUploader = ({ value = [], ...props }) => {
3356
3401
  className: "h-8 w-8",
3357
3402
  onClick: () => remove(it.id),
3358
3403
  type: "button",
3359
- children: /* @__PURE__ */ jsx46(Trash2, { className: "h-4 w-4" })
3404
+ children: /* @__PURE__ */ jsx47(Trash2, { className: "h-4 w-4" })
3360
3405
  }
3361
3406
  )
3362
3407
  ] })
3363
3408
  ] }) }, it.id + index)),
3364
- showUploadButton && /* @__PURE__ */ jsx46(
3409
+ showUploadButton && /* @__PURE__ */ jsx47(
3365
3410
  Card,
3366
3411
  {
3367
3412
  className: "flex aspect-square cursor-pointer items-center justify-center hover:bg-muted/50",
3368
3413
  onClick: () => {
3369
3414
  inputRef.current?.click();
3370
3415
  },
3371
- children: /* @__PURE__ */ jsx46(Plus, { className: "h-6 w-6 text-muted-foreground" })
3416
+ children: /* @__PURE__ */ jsx47(Plus, { className: "h-6 w-6 text-muted-foreground" })
3372
3417
  }
3373
3418
  )
3374
3419
  ] }) }),
3375
- /* @__PURE__ */ jsx46(Dialog, { open: !!preview, onOpenChange: () => setPreview(null), children: /* @__PURE__ */ jsxs27(DialogContent, { className: "max-w-3xl", children: [
3376
- /* @__PURE__ */ jsx46(DialogHeader, { children: /* @__PURE__ */ jsx46(DialogTitle, { children: "\u9884\u89C8" }) }),
3377
- preview && /* @__PURE__ */ jsx46("div", { className: "relative aspect-video w-full overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx46(
3420
+ /* @__PURE__ */ jsx47(Dialog, { open: !!preview, onOpenChange: () => setPreview(null), children: /* @__PURE__ */ jsxs28(DialogContent, { className: "max-w-3xl", children: [
3421
+ /* @__PURE__ */ jsx47(DialogHeader, { children: /* @__PURE__ */ jsx47(DialogTitle, { children: "\u9884\u89C8" }) }),
3422
+ preview && /* @__PURE__ */ jsx47("div", { className: "relative aspect-video w-full overflow-hidden rounded-lg bg-muted", children: /* @__PURE__ */ jsx47(
3378
3423
  "img",
3379
3424
  {
3380
3425
  src: preview.url ?? preview.localUrl ?? "",
@@ -3387,21 +3432,21 @@ var MediaUploader = ({ value = [], ...props }) => {
3387
3432
  };
3388
3433
 
3389
3434
  // src/components/provider/index.tsx
3390
- import { jsx as jsx47 } from "react/jsx-runtime";
3435
+ import { jsx as jsx48 } from "react/jsx-runtime";
3391
3436
  var Provider = ({ children }) => {
3392
- return /* @__PURE__ */ jsx47(TooltipProvider, { children });
3437
+ return /* @__PURE__ */ jsx48(TooltipProvider, { children });
3393
3438
  };
3394
3439
 
3395
3440
  // src/render/column/build-column/index.tsx
3396
- import { jsx as jsx48 } from "react/jsx-runtime";
3441
+ import { jsx as jsx49 } from "react/jsx-runtime";
3397
3442
  var buildColumn = () => (props) => {
3398
3443
  const { key, label, render } = props;
3399
3444
  return {
3400
3445
  accessorKey: key,
3401
- header: () => /* @__PURE__ */ jsx48(TableHeaderText, { text: label }),
3446
+ header: () => /* @__PURE__ */ jsx49(TableHeaderText, { text: label }),
3402
3447
  cell: ({ row }) => {
3403
3448
  const value = row.original[key];
3404
- return render ? render(value, row.original) : /* @__PURE__ */ jsx48(TableText, { text: String(value ?? "") });
3449
+ return render ? render(value, row.original) : /* @__PURE__ */ jsx49(TableText, { text: String(value ?? "") });
3405
3450
  },
3406
3451
  meta: {
3407
3452
  label
@@ -3451,6 +3496,7 @@ export {
3451
3496
  TableEmpty,
3452
3497
  TableFormDialog,
3453
3498
  TableHeaderText,
3499
+ TableImage,
3454
3500
  TablePagination,
3455
3501
  TableText,
3456
3502
  Text,