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