lynote-ui 0.0.9 → 0.0.10
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/context-menu/index.d.ts +1 -1
- package/dist/context-menu/index.js +2 -1
- package/dist/context-menu/index.js.map +1 -1
- package/dist/context-menu/index.mjs +2 -1
- package/dist/context-menu/index.mjs.map +1 -1
- package/dist/index.js +16 -1
- package/dist/index.mjs +2 -2
- package/dist/sidebar/index.js +0 -1
- package/dist/sidebar/index.mjs +0 -1
- package/dist/style.css +231 -9
- package/dist/table/components/base-table.d.ts +10 -0
- package/dist/table/components/data-table-column-header.d.ts +12 -0
- package/dist/table/components/data-table-pagination.d.ts +12 -0
- package/dist/table/components/data-table-toolbar.d.ts +23 -0
- package/dist/table/components/data-table-view-options.d.ts +18 -0
- package/dist/table/components/data-table-virtual-body.d.ts +19 -0
- package/dist/table/components/data-table.d.ts +15 -0
- package/dist/table/components/row-drag-handle.d.ts +16 -0
- package/dist/table/components/row-expand-toggle.d.ts +21 -0
- package/dist/table/hooks/use-data-table.d.ts +44 -0
- package/dist/table/index.d.ts +13 -10
- package/dist/table/index.js +24 -78
- package/dist/table/index.mjs +2 -69
- package/dist/table/type.d.ts +198 -0
- package/dist/table/utils.d.ts +31 -0
- package/dist/table-BA2BijtZ.mjs +1077 -0
- package/dist/table-BA2BijtZ.mjs.map +1 -0
- package/dist/table-FocfdaF7.js +1216 -0
- package/dist/table-FocfdaF7.js.map +1 -0
- package/package.json +7 -1
- package/dist/table/index.js.map +0 -1
- package/dist/table/index.mjs.map +0 -1
package/dist/style.css
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
--tw-translate-x: 0;
|
|
6
6
|
--tw-translate-y: 0;
|
|
7
7
|
--tw-translate-z: 0;
|
|
8
|
+
--tw-rotate-x: initial;
|
|
9
|
+
--tw-rotate-y: initial;
|
|
10
|
+
--tw-rotate-z: initial;
|
|
11
|
+
--tw-skew-x: initial;
|
|
12
|
+
--tw-skew-y: initial;
|
|
8
13
|
--tw-space-y-reverse: 0;
|
|
9
14
|
--tw-space-x-reverse: 0;
|
|
10
15
|
--tw-border-style: solid;
|
|
@@ -569,6 +574,10 @@
|
|
|
569
574
|
left: 50%;
|
|
570
575
|
}
|
|
571
576
|
|
|
577
|
+
.left-2\.5 {
|
|
578
|
+
left: calc(var(--spacing) * 2.5);
|
|
579
|
+
}
|
|
580
|
+
|
|
572
581
|
.isolate {
|
|
573
582
|
isolation: isolate;
|
|
574
583
|
}
|
|
@@ -743,10 +752,22 @@
|
|
|
743
752
|
margin-top: auto;
|
|
744
753
|
}
|
|
745
754
|
|
|
755
|
+
.mr-5 {
|
|
756
|
+
margin-right: calc(var(--spacing) * 5);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
.-mb-1 {
|
|
760
|
+
margin-bottom: calc(var(--spacing) * -1);
|
|
761
|
+
}
|
|
762
|
+
|
|
746
763
|
.-mb-4 {
|
|
747
764
|
margin-bottom: calc(var(--spacing) * -4);
|
|
748
765
|
}
|
|
749
766
|
|
|
767
|
+
.mb-1 {
|
|
768
|
+
margin-bottom: calc(var(--spacing) * 1);
|
|
769
|
+
}
|
|
770
|
+
|
|
750
771
|
.mb-1\.5 {
|
|
751
772
|
margin-bottom: calc(var(--spacing) * 1.5);
|
|
752
773
|
}
|
|
@@ -937,6 +958,11 @@
|
|
|
937
958
|
height: calc(var(--spacing) * 16);
|
|
938
959
|
}
|
|
939
960
|
|
|
961
|
+
.size-\[1em\] {
|
|
962
|
+
width: 1em;
|
|
963
|
+
height: 1em;
|
|
964
|
+
}
|
|
965
|
+
|
|
940
966
|
.size-auto {
|
|
941
967
|
width: auto;
|
|
942
968
|
height: auto;
|
|
@@ -1063,6 +1089,12 @@
|
|
|
1063
1089
|
height: calc(100% - 1px);
|
|
1064
1090
|
}
|
|
1065
1091
|
|
|
1092
|
+
.h-\[stretch\] {
|
|
1093
|
+
height: -webkit-fill-available;
|
|
1094
|
+
height: -moz-available;
|
|
1095
|
+
height: stretch;
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1066
1098
|
.h-auto {
|
|
1067
1099
|
height: auto;
|
|
1068
1100
|
}
|
|
@@ -1191,10 +1223,6 @@
|
|
|
1191
1223
|
width: calc(var(--spacing) * 5);
|
|
1192
1224
|
}
|
|
1193
1225
|
|
|
1194
|
-
.w-8 {
|
|
1195
|
-
width: calc(var(--spacing) * 8);
|
|
1196
|
-
}
|
|
1197
|
-
|
|
1198
1226
|
.w-9 {
|
|
1199
1227
|
width: calc(var(--spacing) * 9);
|
|
1200
1228
|
}
|
|
@@ -1419,6 +1447,10 @@
|
|
|
1419
1447
|
min-width: calc(var(--spacing) * 16);
|
|
1420
1448
|
}
|
|
1421
1449
|
|
|
1450
|
+
.min-w-20 {
|
|
1451
|
+
min-width: calc(var(--spacing) * 20);
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1422
1454
|
.min-w-32 {
|
|
1423
1455
|
min-width: calc(var(--spacing) * 32);
|
|
1424
1456
|
}
|
|
@@ -1427,6 +1459,10 @@
|
|
|
1427
1459
|
min-width: calc(var(--spacing) * 36);
|
|
1428
1460
|
}
|
|
1429
1461
|
|
|
1462
|
+
.min-w-56 {
|
|
1463
|
+
min-width: calc(var(--spacing) * 56);
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1430
1466
|
.min-w-60 {
|
|
1431
1467
|
min-width: calc(var(--spacing) * 60);
|
|
1432
1468
|
}
|
|
@@ -1443,6 +1479,10 @@
|
|
|
1443
1479
|
min-width: calc(var(--anchor-width) + calc(var(--spacing) * 7));
|
|
1444
1480
|
}
|
|
1445
1481
|
|
|
1482
|
+
.min-w-max {
|
|
1483
|
+
min-width: max-content;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1446
1486
|
.flex-1 {
|
|
1447
1487
|
flex: 1;
|
|
1448
1488
|
}
|
|
@@ -1513,6 +1553,10 @@
|
|
|
1513
1553
|
rotate: -12deg;
|
|
1514
1554
|
}
|
|
1515
1555
|
|
|
1556
|
+
.rotate-0 {
|
|
1557
|
+
rotate: 0deg;
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1516
1560
|
.rotate-45 {
|
|
1517
1561
|
rotate: 45deg;
|
|
1518
1562
|
}
|
|
@@ -1521,6 +1565,10 @@
|
|
|
1521
1565
|
rotate: 90deg;
|
|
1522
1566
|
}
|
|
1523
1567
|
|
|
1568
|
+
.transform {
|
|
1569
|
+
transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
|
|
1570
|
+
}
|
|
1571
|
+
|
|
1524
1572
|
.animate-caret-blink {
|
|
1525
1573
|
animation: 1.25s ease-out infinite caret-blink;
|
|
1526
1574
|
}
|
|
@@ -1537,10 +1585,18 @@
|
|
|
1537
1585
|
animation: var(--animate-spin);
|
|
1538
1586
|
}
|
|
1539
1587
|
|
|
1588
|
+
.cursor-col-resize {
|
|
1589
|
+
cursor: col-resize;
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1540
1592
|
.cursor-default {
|
|
1541
1593
|
cursor: default;
|
|
1542
1594
|
}
|
|
1543
1595
|
|
|
1596
|
+
.cursor-grab {
|
|
1597
|
+
cursor: grab;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1544
1600
|
.cursor-pointer {
|
|
1545
1601
|
cursor: pointer;
|
|
1546
1602
|
}
|
|
@@ -2073,6 +2129,16 @@
|
|
|
2073
2129
|
}
|
|
2074
2130
|
}
|
|
2075
2131
|
|
|
2132
|
+
.bg-muted\/70 {
|
|
2133
|
+
background-color: var(--muted);
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2137
|
+
.bg-muted\/70 {
|
|
2138
|
+
background-color: color-mix(in oklab, var(--muted) 70%, transparent);
|
|
2139
|
+
}
|
|
2140
|
+
}
|
|
2141
|
+
|
|
2076
2142
|
.bg-popover {
|
|
2077
2143
|
background-color: var(--popover);
|
|
2078
2144
|
}
|
|
@@ -2217,6 +2283,10 @@
|
|
|
2217
2283
|
padding-block: calc(var(--spacing) * 2.5);
|
|
2218
2284
|
}
|
|
2219
2285
|
|
|
2286
|
+
.py-3 {
|
|
2287
|
+
padding-block: calc(var(--spacing) * 3);
|
|
2288
|
+
}
|
|
2289
|
+
|
|
2220
2290
|
.py-4 {
|
|
2221
2291
|
padding-block: calc(var(--spacing) * 4);
|
|
2222
2292
|
}
|
|
@@ -2225,10 +2295,6 @@
|
|
|
2225
2295
|
padding-block: calc(var(--spacing) * 6);
|
|
2226
2296
|
}
|
|
2227
2297
|
|
|
2228
|
-
.py-10 {
|
|
2229
|
-
padding-block: calc(var(--spacing) * 10);
|
|
2230
|
-
}
|
|
2231
|
-
|
|
2232
2298
|
.py-12 {
|
|
2233
2299
|
padding-block: calc(var(--spacing) * 12);
|
|
2234
2300
|
}
|
|
@@ -2325,6 +2391,10 @@
|
|
|
2325
2391
|
padding-left: calc(var(--spacing) * 7);
|
|
2326
2392
|
}
|
|
2327
2393
|
|
|
2394
|
+
.pl-8 {
|
|
2395
|
+
padding-left: calc(var(--spacing) * 8);
|
|
2396
|
+
}
|
|
2397
|
+
|
|
2328
2398
|
.text-center {
|
|
2329
2399
|
text-align: center;
|
|
2330
2400
|
}
|
|
@@ -2563,6 +2633,10 @@
|
|
|
2563
2633
|
text-transform: capitalize;
|
|
2564
2634
|
}
|
|
2565
2635
|
|
|
2636
|
+
.normal-case {
|
|
2637
|
+
text-transform: none;
|
|
2638
|
+
}
|
|
2639
|
+
|
|
2566
2640
|
.italic {
|
|
2567
2641
|
font-style: italic;
|
|
2568
2642
|
}
|
|
@@ -2592,6 +2666,10 @@
|
|
|
2592
2666
|
opacity: .5;
|
|
2593
2667
|
}
|
|
2594
2668
|
|
|
2669
|
+
.opacity-80 {
|
|
2670
|
+
opacity: .8;
|
|
2671
|
+
}
|
|
2672
|
+
|
|
2595
2673
|
.opacity-100 {
|
|
2596
2674
|
opacity: 1;
|
|
2597
2675
|
}
|
|
@@ -2719,6 +2797,11 @@
|
|
|
2719
2797
|
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
|
2720
2798
|
}
|
|
2721
2799
|
|
|
2800
|
+
.invert {
|
|
2801
|
+
--tw-invert: invert(100%);
|
|
2802
|
+
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2722
2805
|
.filter {
|
|
2723
2806
|
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
|
2724
2807
|
}
|
|
@@ -3374,11 +3457,21 @@
|
|
|
3374
3457
|
inset-inline-start: 50%;
|
|
3375
3458
|
}
|
|
3376
3459
|
|
|
3460
|
+
.after\:top-0:after {
|
|
3461
|
+
content: var(--tw-content);
|
|
3462
|
+
top: calc(var(--spacing) * 0);
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3377
3465
|
.after\:right-0:after {
|
|
3378
3466
|
content: var(--tw-content);
|
|
3379
3467
|
right: calc(var(--spacing) * 0);
|
|
3380
3468
|
}
|
|
3381
3469
|
|
|
3470
|
+
.after\:bottom-0:after {
|
|
3471
|
+
content: var(--tw-content);
|
|
3472
|
+
bottom: calc(var(--spacing) * 0);
|
|
3473
|
+
}
|
|
3474
|
+
|
|
3382
3475
|
.after\:left-0:after {
|
|
3383
3476
|
content: var(--tw-content);
|
|
3384
3477
|
left: calc(var(--spacing) * 0);
|
|
@@ -3404,12 +3497,29 @@
|
|
|
3404
3497
|
width: 2px;
|
|
3405
3498
|
}
|
|
3406
3499
|
|
|
3500
|
+
.after\:w-\[30px\]:after {
|
|
3501
|
+
content: var(--tw-content);
|
|
3502
|
+
width: 30px;
|
|
3503
|
+
}
|
|
3504
|
+
|
|
3407
3505
|
.after\:-translate-x-1\/2:after {
|
|
3408
3506
|
content: var(--tw-content);
|
|
3409
3507
|
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
|
3410
3508
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
3411
3509
|
}
|
|
3412
3510
|
|
|
3511
|
+
.after\:-translate-x-full:after {
|
|
3512
|
+
content: var(--tw-content);
|
|
3513
|
+
--tw-translate-x: -100%;
|
|
3514
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
3515
|
+
}
|
|
3516
|
+
|
|
3517
|
+
.after\:translate-x-full:after {
|
|
3518
|
+
content: var(--tw-content);
|
|
3519
|
+
--tw-translate-x: 100%;
|
|
3520
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
3521
|
+
}
|
|
3522
|
+
|
|
3413
3523
|
.after\:rounded-full:after {
|
|
3414
3524
|
content: var(--tw-content);
|
|
3415
3525
|
border-radius: 3.40282e38px;
|
|
@@ -3446,6 +3556,37 @@
|
|
|
3446
3556
|
mix-blend-mode: darken;
|
|
3447
3557
|
}
|
|
3448
3558
|
|
|
3559
|
+
.after\:shadow-\[inset_-15px_0_8px_-8px_\#0000000d\]:after {
|
|
3560
|
+
content: var(--tw-content);
|
|
3561
|
+
--tw-shadow: inset -15px 0 8px -8px var(--tw-shadow-color, #0000000d);
|
|
3562
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3563
|
+
}
|
|
3564
|
+
|
|
3565
|
+
.after\:shadow-\[inset_-15px_0_8px_-8px_\#00000000\]:after {
|
|
3566
|
+
content: var(--tw-content);
|
|
3567
|
+
--tw-shadow: inset -15px 0 8px -8px var(--tw-shadow-color, #0000);
|
|
3568
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3569
|
+
}
|
|
3570
|
+
|
|
3571
|
+
.after\:shadow-\[inset_15px_0_8px_-8px_\#0000000d\]:after {
|
|
3572
|
+
content: var(--tw-content);
|
|
3573
|
+
--tw-shadow: inset 15px 0 8px -8px var(--tw-shadow-color, #0000000d);
|
|
3574
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3575
|
+
}
|
|
3576
|
+
|
|
3577
|
+
.after\:shadow-\[inset_15px_0_8px_-8px_\#00000000\]:after {
|
|
3578
|
+
content: var(--tw-content);
|
|
3579
|
+
--tw-shadow: inset 15px 0 8px -8px var(--tw-shadow-color, #0000);
|
|
3580
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
3581
|
+
}
|
|
3582
|
+
|
|
3583
|
+
.after\:transition-all:after {
|
|
3584
|
+
content: var(--tw-content);
|
|
3585
|
+
transition-property: all;
|
|
3586
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
3587
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
3588
|
+
}
|
|
3589
|
+
|
|
3449
3590
|
.after\:transition-opacity:after {
|
|
3450
3591
|
content: var(--tw-content);
|
|
3451
3592
|
transition-property: opacity;
|
|
@@ -3453,6 +3594,11 @@
|
|
|
3453
3594
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
3454
3595
|
}
|
|
3455
3596
|
|
|
3597
|
+
.after\:content-\[\'\'\]:after {
|
|
3598
|
+
--tw-content: "";
|
|
3599
|
+
content: var(--tw-content);
|
|
3600
|
+
}
|
|
3601
|
+
|
|
3456
3602
|
.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible="offcanvas"] *):after {
|
|
3457
3603
|
content: var(--tw-content);
|
|
3458
3604
|
left: 100%;
|
|
@@ -3559,6 +3705,16 @@
|
|
|
3559
3705
|
}
|
|
3560
3706
|
}
|
|
3561
3707
|
|
|
3708
|
+
.hover\:bg-muted\/30:hover {
|
|
3709
|
+
background-color: var(--muted);
|
|
3710
|
+
}
|
|
3711
|
+
|
|
3712
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3713
|
+
.hover\:bg-muted\/30:hover {
|
|
3714
|
+
background-color: color-mix(in oklab, var(--muted) 30%, transparent);
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
|
|
3562
3718
|
.hover\:bg-muted\/50:hover {
|
|
3563
3719
|
background-color: var(--muted);
|
|
3564
3720
|
}
|
|
@@ -3569,6 +3725,16 @@
|
|
|
3569
3725
|
}
|
|
3570
3726
|
}
|
|
3571
3727
|
|
|
3728
|
+
.hover\:bg-primary\/40:hover {
|
|
3729
|
+
background-color: var(--primary);
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3733
|
+
.hover\:bg-primary\/40:hover {
|
|
3734
|
+
background-color: color-mix(in oklab, var(--primary) 40%, transparent);
|
|
3735
|
+
}
|
|
3736
|
+
}
|
|
3737
|
+
|
|
3572
3738
|
.hover\:bg-secondary\/80:hover {
|
|
3573
3739
|
background-color: var(--secondary);
|
|
3574
3740
|
}
|
|
@@ -3731,6 +3897,11 @@
|
|
|
3731
3897
|
outline-color: var(--ring);
|
|
3732
3898
|
}
|
|
3733
3899
|
|
|
3900
|
+
.focus-visible\:outline-none:focus-visible {
|
|
3901
|
+
--tw-outline-style: none;
|
|
3902
|
+
outline-style: none;
|
|
3903
|
+
}
|
|
3904
|
+
|
|
3734
3905
|
:is(.\*\:focus-visible\:relative > *):focus-visible {
|
|
3735
3906
|
position: relative;
|
|
3736
3907
|
}
|
|
@@ -3744,6 +3915,10 @@
|
|
|
3744
3915
|
border-color: var(--ring);
|
|
3745
3916
|
}
|
|
3746
3917
|
|
|
3918
|
+
.active\:cursor-grabbing:active {
|
|
3919
|
+
cursor: grabbing;
|
|
3920
|
+
}
|
|
3921
|
+
|
|
3747
3922
|
.active\:bg-sidebar-accent:active {
|
|
3748
3923
|
background-color: var(--sidebar-accent);
|
|
3749
3924
|
}
|
|
@@ -4454,7 +4629,7 @@
|
|
|
4454
4629
|
color: var(--primary-foreground);
|
|
4455
4630
|
}
|
|
4456
4631
|
|
|
4457
|
-
.data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
|
|
4632
|
+
.data-\[resizing\=true\]\:bg-primary[data-resizing="true"], .data-\[selected-single\=true\]\:bg-primary[data-selected-single="true"] {
|
|
4458
4633
|
background-color: var(--primary);
|
|
4459
4634
|
}
|
|
4460
4635
|
|
|
@@ -5317,6 +5492,18 @@
|
|
|
5317
5492
|
mix-blend-mode: lighten;
|
|
5318
5493
|
}
|
|
5319
5494
|
|
|
5495
|
+
.dark\:after\:shadow-\[inset_-15px_0_8px_-8px_\#ffffff0d\]:is(.dark *):after {
|
|
5496
|
+
content: var(--tw-content);
|
|
5497
|
+
--tw-shadow: inset -15px 0 8px -8px var(--tw-shadow-color, #ffffff0d);
|
|
5498
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
5499
|
+
}
|
|
5500
|
+
|
|
5501
|
+
.dark\:after\:shadow-\[inset_15px_0_8px_-8px_\#ffffff0d\]:is(.dark *):after {
|
|
5502
|
+
content: var(--tw-content);
|
|
5503
|
+
--tw-shadow: inset 15px 0 8px -8px var(--tw-shadow-color, #ffffff0d);
|
|
5504
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
5505
|
+
}
|
|
5506
|
+
|
|
5320
5507
|
@media (hover: hover) {
|
|
5321
5508
|
.dark\:hover\:bg-destructive\/30:is(.dark *):hover {
|
|
5322
5509
|
background-color: var(--destructive);
|
|
@@ -5976,6 +6163,11 @@
|
|
|
5976
6163
|
height: calc(var(--spacing) * 4);
|
|
5977
6164
|
}
|
|
5978
6165
|
|
|
6166
|
+
.\[\&_td\]\:border-r td, .\[\&_th\]\:border-r th {
|
|
6167
|
+
border-right-style: var(--tw-border-style);
|
|
6168
|
+
border-right-width: 1px;
|
|
6169
|
+
}
|
|
6170
|
+
|
|
5979
6171
|
.\[\&_tr\]\:border-b tr {
|
|
5980
6172
|
border-bottom-style: var(--tw-border-style);
|
|
5981
6173
|
border-bottom-width: 1px;
|
|
@@ -5986,6 +6178,11 @@
|
|
|
5986
6178
|
border-width: 0;
|
|
5987
6179
|
}
|
|
5988
6180
|
|
|
6181
|
+
.\[\&_tr\>\*\:last-child\]\:border-r-0 tr > :last-child {
|
|
6182
|
+
border-right-style: var(--tw-border-style);
|
|
6183
|
+
border-right-width: 0;
|
|
6184
|
+
}
|
|
6185
|
+
|
|
5989
6186
|
.\[\&\+\[data-slot\=item-content\]\]\:flex-none + [data-slot="item-content"] {
|
|
5990
6187
|
flex: none;
|
|
5991
6188
|
}
|
|
@@ -6588,6 +6785,31 @@
|
|
|
6588
6785
|
initial-value: 0;
|
|
6589
6786
|
}
|
|
6590
6787
|
|
|
6788
|
+
@property --tw-rotate-x {
|
|
6789
|
+
syntax: "*";
|
|
6790
|
+
inherits: false
|
|
6791
|
+
}
|
|
6792
|
+
|
|
6793
|
+
@property --tw-rotate-y {
|
|
6794
|
+
syntax: "*";
|
|
6795
|
+
inherits: false
|
|
6796
|
+
}
|
|
6797
|
+
|
|
6798
|
+
@property --tw-rotate-z {
|
|
6799
|
+
syntax: "*";
|
|
6800
|
+
inherits: false
|
|
6801
|
+
}
|
|
6802
|
+
|
|
6803
|
+
@property --tw-skew-x {
|
|
6804
|
+
syntax: "*";
|
|
6805
|
+
inherits: false
|
|
6806
|
+
}
|
|
6807
|
+
|
|
6808
|
+
@property --tw-skew-y {
|
|
6809
|
+
syntax: "*";
|
|
6810
|
+
inherits: false
|
|
6811
|
+
}
|
|
6812
|
+
|
|
6591
6813
|
@property --tw-space-y-reverse {
|
|
6592
6814
|
syntax: "*";
|
|
6593
6815
|
inherits: false;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
declare function Table({ className, ...props }: React.ComponentProps<"table">): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<"thead">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<"tbody">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function TableRow({ className, ...props }: React.ComponentProps<"tr">): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function TableHead({ className, ...props }: React.ComponentProps<"th">): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TableCell({ className, ...props }: React.ComponentProps<"td">): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<"caption">): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Header } from '@tanstack/react-table';
|
|
2
|
+
import { ScrollShadowState } from '../type';
|
|
3
|
+
type DataTableColumnHeaderProps<TData> = {
|
|
4
|
+
header: Header<TData, unknown>;
|
|
5
|
+
resizable?: boolean;
|
|
6
|
+
scrollShadow: ScrollShadowState;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 表头单元格,封装排序、列宽拖拽、固定列阴影
|
|
10
|
+
*/
|
|
11
|
+
export declare function DataTableColumnHeader<TData>({ header, resizable, scrollShadow, }: DataTableColumnHeaderProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Table as TanstackTable } from '@tanstack/react-table';
|
|
2
|
+
type DataTablePaginationProps<TData> = {
|
|
3
|
+
table: TanstackTable<TData>;
|
|
4
|
+
pageSizeOptions?: number[];
|
|
5
|
+
/** 是否显示已选择行数,默认 true */
|
|
6
|
+
showSelectionCount?: boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 表格分页栏:总行数 / 每页数量 / 页码跳转
|
|
10
|
+
*/
|
|
11
|
+
export declare function DataTablePagination<TData>({ table, pageSizeOptions, showSelectionCount, }: DataTablePaginationProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Table as TanstackTable } from '@tanstack/react-table';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
type DataTableToolbarProps<TData> = {
|
|
4
|
+
table: TanstackTable<TData>;
|
|
5
|
+
/** 绑定搜索输入框的列 id;留空则使用全局过滤 */
|
|
6
|
+
searchColumnId?: string;
|
|
7
|
+
/** 输入框 placeholder */
|
|
8
|
+
searchPlaceholder?: string;
|
|
9
|
+
/** 是否展示视图配置(列显隐),默认 true */
|
|
10
|
+
showViewOptions?: boolean;
|
|
11
|
+
/** 是否启用列拖拽 */
|
|
12
|
+
enableColumnOrdering?: boolean;
|
|
13
|
+
/** 是否启用列固定 */
|
|
14
|
+
enableColumnPinning?: boolean;
|
|
15
|
+
/** 工具栏右侧追加内容 */
|
|
16
|
+
extra?: ReactNode;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 表格工具栏:搜索 + 视图配置 + 自定义扩展
|
|
21
|
+
*/
|
|
22
|
+
export declare function DataTableToolbar<TData>({ table, searchColumnId, searchPlaceholder, showViewOptions, enableColumnOrdering, enableColumnPinning, extra, className, }: DataTableToolbarProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Table as TanstackTable } from '@tanstack/react-table';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
type DataTableViewOptionsProps<TData> = {
|
|
4
|
+
table: TanstackTable<TData>;
|
|
5
|
+
/** 是否允许列拖拽排序,默认 false */
|
|
6
|
+
enableOrdering?: boolean;
|
|
7
|
+
/** 是否允许列固定操作,默认 false */
|
|
8
|
+
enablePinning?: boolean;
|
|
9
|
+
/** 触发按钮自定义,默认 "视图" */
|
|
10
|
+
trigger?: ReactElement;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 列显隐 / 排序 / 固定 设置面板
|
|
14
|
+
*
|
|
15
|
+
* 通过 DropdownMenu 弹出列表,内置 DnD-Kit 排序与固定按钮
|
|
16
|
+
*/
|
|
17
|
+
export declare function DataTableViewOptions<TData>({ table, enableOrdering, enablePinning, trigger, }: DataTableViewOptionsProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Table as TanstackTable } from '@tanstack/react-table';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { DataTableVirtualOptions } from '../type';
|
|
4
|
+
type DataTableVirtualBodyProps<TData> = {
|
|
5
|
+
table: TanstackTable<TData>;
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
empty?: ReactNode;
|
|
8
|
+
options?: DataTableVirtualOptions;
|
|
9
|
+
/** 是否显示纵向边框 */
|
|
10
|
+
bordered?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 行虚拟滚动表格:使用 grid 布局 + `useVirtualizer` 仅渲染可视区域
|
|
15
|
+
*
|
|
16
|
+
* 因表格采用 grid 布局,固定列 / 多级表头暂不支持
|
|
17
|
+
*/
|
|
18
|
+
export declare function DataTableVirtualBody<TData>({ table, loading, empty, options, bordered, className, }: DataTableVirtualBodyProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Table as TanstackTable } from '@tanstack/react-table';
|
|
2
|
+
import { ReactElement, RefAttributes } from 'react';
|
|
3
|
+
import { DataTablePropsType } from '../type';
|
|
4
|
+
/**
|
|
5
|
+
* DataTable 暴露给 ref 的命令式 handle —— 就是底层 TanStack table 实例
|
|
6
|
+
*
|
|
7
|
+
* 通过 `ref` 即可拿到完整的 TanStack `table` API:`setPageIndex`、`getSelectedRowModel`、
|
|
8
|
+
* `resetSorting`、`getState` 等。配合受控状态使用更顺手
|
|
9
|
+
*/
|
|
10
|
+
export type DataTableHandle<TData> = TanstackTable<TData>;
|
|
11
|
+
/**
|
|
12
|
+
* forwardRef 包装,泛型用 cast 保留 —— 否则会被 forwardRef 的签名擦除成 unknown
|
|
13
|
+
*/
|
|
14
|
+
declare const DataTable: <TData, TValue = unknown>(props: DataTablePropsType<TData, TValue> & RefAttributes<DataTableHandle<TData>>) => ReactElement | null;
|
|
15
|
+
export { DataTable };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';
|
|
2
|
+
import { ComponentProps, Ref, Context } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* SortableRow 通过此 context 向其内部 cell 暴露 dnd-kit 的激活器/监听器
|
|
5
|
+
*
|
|
6
|
+
* 用 context 而非 prop 钻透,因为 cell 是用户自定义渲染函数,触不到 SortableRow 的局部变量
|
|
7
|
+
*/
|
|
8
|
+
export type RowDragHandleContextValue = {
|
|
9
|
+
attributes: DraggableAttributes;
|
|
10
|
+
listeners: DraggableSyntheticListeners | undefined;
|
|
11
|
+
setActivatorNodeRef: Ref<HTMLElement>;
|
|
12
|
+
isDragging: boolean;
|
|
13
|
+
} | null;
|
|
14
|
+
export declare const RowDragHandleContext: Context<RowDragHandleContextValue>;
|
|
15
|
+
/** 在 cell 内任意位置放此组件即可成为行拖拽手柄 */
|
|
16
|
+
export declare function RowDragHandle({ className, ...props }: Omit<ComponentProps<"button">, "ref" | "onMouseDown" | "onKeyDown" | "onTouchStart">): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Row } from '@tanstack/react-table';
|
|
2
|
+
import { ComponentProps } from 'react';
|
|
3
|
+
type RowExpandTogglePropsType<TData> = Omit<ComponentProps<"button">, "onClick" | "children"> & {
|
|
4
|
+
/** 当前行实例 */
|
|
5
|
+
row: Row<TData>;
|
|
6
|
+
/**
|
|
7
|
+
* 嵌套树场景下,每层缩进的像素数;设为 0 关闭自动缩进
|
|
8
|
+
*
|
|
9
|
+
* 默认 16,即每深一层缩进 16px
|
|
10
|
+
*/
|
|
11
|
+
indent?: number;
|
|
12
|
+
/** 当行无可展开子项时是否仍占位渲染(保持对齐),默认 true */
|
|
13
|
+
placeholder?: boolean;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* 行展开切换按钮:基于 `row.getToggleExpandedHandler` + `row.depth` 自动缩进
|
|
17
|
+
*
|
|
18
|
+
* 配合 `features.expanding` 与 `tableOptions.getSubRows`(嵌套树),或 `expandedRowRender`(展开面板)使用
|
|
19
|
+
*/
|
|
20
|
+
export declare function RowExpandToggle<TData>({ row, indent, placeholder, className, ...props }: RowExpandTogglePropsType<TData>): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TableOptions, Table } from '@tanstack/react-table';
|
|
2
|
+
import { DataTableColumn, DataTableFeatures, DataTableState, DataTableStateHandlers, ScrollShadowState } from '../type';
|
|
3
|
+
type UseDataTableOptions<TData, TValue> = {
|
|
4
|
+
data: TData[];
|
|
5
|
+
columns: DataTableColumn<TData, TValue>[];
|
|
6
|
+
features?: DataTableFeatures;
|
|
7
|
+
state?: DataTableState;
|
|
8
|
+
initialState?: DataTableState;
|
|
9
|
+
onStateChange?: DataTableStateHandlers;
|
|
10
|
+
/**
|
|
11
|
+
* 透传至底层 useReactTable 的额外配置,会与内部配置浅合并
|
|
12
|
+
*
|
|
13
|
+
* 常用于服务端模式:`manualPagination` / `pageCount` / `rowCount` /
|
|
14
|
+
* `manualSorting` / `manualFiltering`,以及 `meta` 等
|
|
15
|
+
*/
|
|
16
|
+
tableOptions?: Partial<TableOptions<TData>>;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* 构造 TanStack 表格实例,并按需开启各项功能
|
|
20
|
+
*/
|
|
21
|
+
export declare function useDataTable<TData, TValue = unknown>({ data, columns, features, state, initialState, onStateChange, tableOptions, }: UseDataTableOptions<TData, TValue>): {
|
|
22
|
+
table: Table<TData>;
|
|
23
|
+
features: {
|
|
24
|
+
sorting: boolean;
|
|
25
|
+
multiSort: boolean;
|
|
26
|
+
filtering: boolean;
|
|
27
|
+
globalFilter: boolean;
|
|
28
|
+
pagination: boolean;
|
|
29
|
+
rowSelection: boolean;
|
|
30
|
+
columnVisibility: boolean;
|
|
31
|
+
columnOrdering: boolean;
|
|
32
|
+
columnPinning: boolean;
|
|
33
|
+
columnResizing: boolean;
|
|
34
|
+
rowDnd: boolean;
|
|
35
|
+
expanding: boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* 监听容器横向滚动,返回左右阴影显示状态
|
|
40
|
+
*
|
|
41
|
+
* 用于固定列阴影提示
|
|
42
|
+
*/
|
|
43
|
+
export declare function useScrollShadow(wrapperRef: React.RefObject<HTMLElement | null>, containerSelector?: string): ScrollShadowState;
|
|
44
|
+
export {};
|