baaz-custom-components 5.0.32 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +159 -0
- package/dist/index.d.mts +21 -1
- package/dist/index.d.ts +21 -1
- package/dist/index.js +129 -4
- package/dist/index.mjs +128 -4
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.css
CHANGED
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
--tracking-widest: 0.1em;
|
|
48
48
|
--radius-xs: 0.125rem;
|
|
49
49
|
--radius-2xl: 1rem;
|
|
50
|
+
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
50
51
|
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
51
52
|
--animate-spin: spin 1s linear infinite;
|
|
52
53
|
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
@@ -247,6 +248,9 @@
|
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
@layer utilities {
|
|
251
|
+
.pointer-events-auto {
|
|
252
|
+
pointer-events: auto;
|
|
253
|
+
}
|
|
250
254
|
.pointer-events-none {
|
|
251
255
|
pointer-events: none;
|
|
252
256
|
}
|
|
@@ -342,6 +346,9 @@
|
|
|
342
346
|
.z-20 {
|
|
343
347
|
z-index: 20;
|
|
344
348
|
}
|
|
349
|
+
.z-30 {
|
|
350
|
+
z-index: 30;
|
|
351
|
+
}
|
|
345
352
|
.z-40 {
|
|
346
353
|
z-index: 40;
|
|
347
354
|
}
|
|
@@ -481,6 +488,9 @@
|
|
|
481
488
|
width: 100%;
|
|
482
489
|
height: 100%;
|
|
483
490
|
}
|
|
491
|
+
.h-1 {
|
|
492
|
+
height: calc(var(--spacing) * 1);
|
|
493
|
+
}
|
|
484
494
|
.h-1\.5 {
|
|
485
495
|
height: calc(var(--spacing) * 1.5);
|
|
486
496
|
}
|
|
@@ -562,12 +572,18 @@
|
|
|
562
572
|
.min-h-0 {
|
|
563
573
|
min-height: calc(var(--spacing) * 0);
|
|
564
574
|
}
|
|
575
|
+
.\!w-0 {
|
|
576
|
+
width: calc(var(--spacing) * 0) !important;
|
|
577
|
+
}
|
|
565
578
|
.\!w-md {
|
|
566
579
|
width: var(--container-md) !important;
|
|
567
580
|
}
|
|
568
581
|
.w-\(--sidebar-width\) {
|
|
569
582
|
width: var(--sidebar-width);
|
|
570
583
|
}
|
|
584
|
+
.w-1 {
|
|
585
|
+
width: calc(var(--spacing) * 1);
|
|
586
|
+
}
|
|
571
587
|
.w-2 {
|
|
572
588
|
width: calc(var(--spacing) * 2);
|
|
573
589
|
}
|
|
@@ -598,6 +614,9 @@
|
|
|
598
614
|
.w-80 {
|
|
599
615
|
width: calc(var(--spacing) * 80);
|
|
600
616
|
}
|
|
617
|
+
.w-\[18px\] {
|
|
618
|
+
width: 18px;
|
|
619
|
+
}
|
|
601
620
|
.w-\[40px\] {
|
|
602
621
|
width: 40px;
|
|
603
622
|
}
|
|
@@ -671,10 +690,18 @@
|
|
|
671
690
|
--tw-translate-x: calc(calc(1/2 * 100%) * -1);
|
|
672
691
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
673
692
|
}
|
|
693
|
+
.-translate-x-full {
|
|
694
|
+
--tw-translate-x: -100%;
|
|
695
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
696
|
+
}
|
|
674
697
|
.-translate-x-px {
|
|
675
698
|
--tw-translate-x: -1px;
|
|
676
699
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
677
700
|
}
|
|
701
|
+
.translate-x-0 {
|
|
702
|
+
--tw-translate-x: calc(var(--spacing) * 0);
|
|
703
|
+
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
704
|
+
}
|
|
678
705
|
.translate-x-\[-50\%\] {
|
|
679
706
|
--tw-translate-x: -50%;
|
|
680
707
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
@@ -757,6 +784,9 @@
|
|
|
757
784
|
.gap-2 {
|
|
758
785
|
gap: calc(var(--spacing) * 2);
|
|
759
786
|
}
|
|
787
|
+
.gap-2\.5 {
|
|
788
|
+
gap: calc(var(--spacing) * 2.5);
|
|
789
|
+
}
|
|
760
790
|
.gap-3 {
|
|
761
791
|
gap: calc(var(--spacing) * 3);
|
|
762
792
|
}
|
|
@@ -795,6 +825,9 @@
|
|
|
795
825
|
.overflow-y-auto {
|
|
796
826
|
overflow-y: auto;
|
|
797
827
|
}
|
|
828
|
+
.rounded {
|
|
829
|
+
border-radius: 0.25rem;
|
|
830
|
+
}
|
|
798
831
|
.rounded-\[2px\] {
|
|
799
832
|
border-radius: 2px;
|
|
800
833
|
}
|
|
@@ -851,6 +884,10 @@
|
|
|
851
884
|
border-right-style: var(--tw-border-style);
|
|
852
885
|
border-right-width: 1px;
|
|
853
886
|
}
|
|
887
|
+
.border-r-0 {
|
|
888
|
+
border-right-style: var(--tw-border-style);
|
|
889
|
+
border-right-width: 0px;
|
|
890
|
+
}
|
|
854
891
|
.border-b {
|
|
855
892
|
border-bottom-style: var(--tw-border-style);
|
|
856
893
|
border-bottom-width: 1px;
|
|
@@ -867,6 +904,10 @@
|
|
|
867
904
|
border-left-style: var(--tw-border-style);
|
|
868
905
|
border-left-width: 1px;
|
|
869
906
|
}
|
|
907
|
+
.border-l-2 {
|
|
908
|
+
border-left-style: var(--tw-border-style);
|
|
909
|
+
border-left-width: 2px;
|
|
910
|
+
}
|
|
870
911
|
.border-none {
|
|
871
912
|
--tw-border-style: none;
|
|
872
913
|
border-style: none;
|
|
@@ -883,6 +924,9 @@
|
|
|
883
924
|
.border-sidebar-border {
|
|
884
925
|
border-color: var(--sidebar-border);
|
|
885
926
|
}
|
|
927
|
+
.border-transparent {
|
|
928
|
+
border-color: transparent;
|
|
929
|
+
}
|
|
886
930
|
.border-t-transparent {
|
|
887
931
|
border-top-color: transparent;
|
|
888
932
|
}
|
|
@@ -937,6 +981,12 @@
|
|
|
937
981
|
.bg-destructive {
|
|
938
982
|
background-color: var(--destructive);
|
|
939
983
|
}
|
|
984
|
+
.bg-foreground\/20 {
|
|
985
|
+
background-color: var(--foreground);
|
|
986
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
987
|
+
background-color: color-mix(in oklab, var(--foreground) 20%, transparent);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
940
990
|
.bg-input {
|
|
941
991
|
background-color: var(--input);
|
|
942
992
|
}
|
|
@@ -970,6 +1020,9 @@
|
|
|
970
1020
|
.bg-sidebar-border {
|
|
971
1021
|
background-color: var(--sidebar-border);
|
|
972
1022
|
}
|
|
1023
|
+
.bg-surface-alt {
|
|
1024
|
+
background-color: var(--surface-alt);
|
|
1025
|
+
}
|
|
973
1026
|
.bg-transparent {
|
|
974
1027
|
background-color: transparent;
|
|
975
1028
|
}
|
|
@@ -994,9 +1047,15 @@
|
|
|
994
1047
|
.p-1 {
|
|
995
1048
|
padding: calc(var(--spacing) * 1);
|
|
996
1049
|
}
|
|
1050
|
+
.p-1\.5 {
|
|
1051
|
+
padding: calc(var(--spacing) * 1.5);
|
|
1052
|
+
}
|
|
997
1053
|
.p-2 {
|
|
998
1054
|
padding: calc(var(--spacing) * 2);
|
|
999
1055
|
}
|
|
1056
|
+
.p-2\.5 {
|
|
1057
|
+
padding: calc(var(--spacing) * 2.5);
|
|
1058
|
+
}
|
|
1000
1059
|
.p-4 {
|
|
1001
1060
|
padding: calc(var(--spacing) * 4);
|
|
1002
1061
|
}
|
|
@@ -1045,6 +1104,9 @@
|
|
|
1045
1104
|
.py-2 {
|
|
1046
1105
|
padding-block: calc(var(--spacing) * 2);
|
|
1047
1106
|
}
|
|
1107
|
+
.py-2\.5 {
|
|
1108
|
+
padding-block: calc(var(--spacing) * 2.5);
|
|
1109
|
+
}
|
|
1048
1110
|
.py-4 {
|
|
1049
1111
|
padding-block: calc(var(--spacing) * 4);
|
|
1050
1112
|
}
|
|
@@ -1094,6 +1156,9 @@
|
|
|
1094
1156
|
font-size: var(--text-xs);
|
|
1095
1157
|
line-height: var(--tw-leading, var(--text-xs--line-height));
|
|
1096
1158
|
}
|
|
1159
|
+
.text-\[9px\] {
|
|
1160
|
+
font-size: 9px;
|
|
1161
|
+
}
|
|
1097
1162
|
.leading-none {
|
|
1098
1163
|
--tw-leading: 1;
|
|
1099
1164
|
line-height: 1;
|
|
@@ -1118,6 +1183,18 @@
|
|
|
1118
1183
|
--tw-font-weight: var(--font-weight-semibold);
|
|
1119
1184
|
font-weight: var(--font-weight-semibold);
|
|
1120
1185
|
}
|
|
1186
|
+
.tracking-\[0\.1em\] {
|
|
1187
|
+
--tw-tracking: 0.1em;
|
|
1188
|
+
letter-spacing: 0.1em;
|
|
1189
|
+
}
|
|
1190
|
+
.tracking-\[0\.14em\] {
|
|
1191
|
+
--tw-tracking: 0.14em;
|
|
1192
|
+
letter-spacing: 0.14em;
|
|
1193
|
+
}
|
|
1194
|
+
.tracking-\[0\.15em\] {
|
|
1195
|
+
--tw-tracking: 0.15em;
|
|
1196
|
+
letter-spacing: 0.15em;
|
|
1197
|
+
}
|
|
1121
1198
|
.tracking-\[0\.25rem\] {
|
|
1122
1199
|
--tw-tracking: 0.25rem;
|
|
1123
1200
|
letter-spacing: 0.25rem;
|
|
@@ -1148,6 +1225,30 @@
|
|
|
1148
1225
|
.text-foreground {
|
|
1149
1226
|
color: var(--foreground);
|
|
1150
1227
|
}
|
|
1228
|
+
.text-foreground\/25 {
|
|
1229
|
+
color: var(--foreground);
|
|
1230
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1231
|
+
color: color-mix(in oklab, var(--foreground) 25%, transparent);
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
.text-foreground\/30 {
|
|
1235
|
+
color: var(--foreground);
|
|
1236
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1237
|
+
color: color-mix(in oklab, var(--foreground) 30%, transparent);
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
.text-foreground\/50 {
|
|
1241
|
+
color: var(--foreground);
|
|
1242
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1243
|
+
color: color-mix(in oklab, var(--foreground) 50%, transparent);
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
.text-foreground\/70 {
|
|
1247
|
+
color: var(--foreground);
|
|
1248
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1249
|
+
color: color-mix(in oklab, var(--foreground) 70%, transparent);
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1151
1252
|
.text-green-800 {
|
|
1152
1253
|
color: var(--color-green-800);
|
|
1153
1254
|
}
|
|
@@ -1184,6 +1285,9 @@
|
|
|
1184
1285
|
.capitalize {
|
|
1185
1286
|
text-transform: capitalize;
|
|
1186
1287
|
}
|
|
1288
|
+
.uppercase {
|
|
1289
|
+
text-transform: uppercase;
|
|
1290
|
+
}
|
|
1187
1291
|
.tabular-nums {
|
|
1188
1292
|
--tw-numeric-spacing: tabular-nums;
|
|
1189
1293
|
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
|
|
@@ -1195,12 +1299,18 @@
|
|
|
1195
1299
|
-webkit-font-smoothing: antialiased;
|
|
1196
1300
|
-moz-osx-font-smoothing: grayscale;
|
|
1197
1301
|
}
|
|
1302
|
+
.opacity-0 {
|
|
1303
|
+
opacity: 0%;
|
|
1304
|
+
}
|
|
1198
1305
|
.opacity-50 {
|
|
1199
1306
|
opacity: 50%;
|
|
1200
1307
|
}
|
|
1201
1308
|
.opacity-70 {
|
|
1202
1309
|
opacity: 70%;
|
|
1203
1310
|
}
|
|
1311
|
+
.opacity-100 {
|
|
1312
|
+
opacity: 100%;
|
|
1313
|
+
}
|
|
1204
1314
|
.shadow {
|
|
1205
1315
|
--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
1206
1316
|
box-shadow:
|
|
@@ -1219,6 +1329,15 @@
|
|
|
1219
1329
|
var(--tw-ring-shadow),
|
|
1220
1330
|
var(--tw-shadow);
|
|
1221
1331
|
}
|
|
1332
|
+
.shadow-\[4px_0_24px_rgba\(0\,0\,0\,0\.5\)\] {
|
|
1333
|
+
--tw-shadow: 4px 0 24px var(--tw-shadow-color, rgba(0,0,0,0.5));
|
|
1334
|
+
box-shadow:
|
|
1335
|
+
var(--tw-inset-shadow),
|
|
1336
|
+
var(--tw-inset-ring-shadow),
|
|
1337
|
+
var(--tw-ring-offset-shadow),
|
|
1338
|
+
var(--tw-ring-shadow),
|
|
1339
|
+
var(--tw-shadow);
|
|
1340
|
+
}
|
|
1222
1341
|
.shadow-lg {
|
|
1223
1342
|
--tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
1224
1343
|
box-shadow:
|
|
@@ -1388,6 +1507,10 @@
|
|
|
1388
1507
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1389
1508
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1390
1509
|
}
|
|
1510
|
+
.duration-100 {
|
|
1511
|
+
--tw-duration: 100ms;
|
|
1512
|
+
transition-duration: 100ms;
|
|
1513
|
+
}
|
|
1391
1514
|
.duration-200 {
|
|
1392
1515
|
--tw-duration: 200ms;
|
|
1393
1516
|
transition-duration: 200ms;
|
|
@@ -1404,6 +1527,10 @@
|
|
|
1404
1527
|
--tw-ease: linear;
|
|
1405
1528
|
transition-timing-function: linear;
|
|
1406
1529
|
}
|
|
1530
|
+
.ease-out {
|
|
1531
|
+
--tw-ease: var(--ease-out);
|
|
1532
|
+
transition-timing-function: var(--ease-out);
|
|
1533
|
+
}
|
|
1407
1534
|
.fade-in-0 {
|
|
1408
1535
|
--tw-enter-opacity: calc(0/100);
|
|
1409
1536
|
--tw-enter-opacity: 0;
|
|
@@ -1425,6 +1552,16 @@
|
|
|
1425
1552
|
opacity: 100%;
|
|
1426
1553
|
}
|
|
1427
1554
|
}
|
|
1555
|
+
.group-hover\:text-foreground\/90 {
|
|
1556
|
+
&:is(:where(.group):hover *) {
|
|
1557
|
+
@media (hover: hover) {
|
|
1558
|
+
color: var(--foreground);
|
|
1559
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1560
|
+
color: color-mix(in oklab, var(--foreground) 90%, transparent);
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1428
1565
|
.group-hover\/menu-item\:opacity-100 {
|
|
1429
1566
|
&:is(:where(.group\/menu-item):hover *) {
|
|
1430
1567
|
@media (hover: hover) {
|
|
@@ -1765,6 +1902,13 @@
|
|
|
1765
1902
|
}
|
|
1766
1903
|
}
|
|
1767
1904
|
}
|
|
1905
|
+
.hover\:border-primary {
|
|
1906
|
+
&:hover {
|
|
1907
|
+
@media (hover: hover) {
|
|
1908
|
+
border-color: var(--primary);
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
}
|
|
1768
1912
|
.hover\:bg-accent {
|
|
1769
1913
|
&:hover {
|
|
1770
1914
|
@media (hover: hover) {
|
|
@@ -1772,6 +1916,13 @@
|
|
|
1772
1916
|
}
|
|
1773
1917
|
}
|
|
1774
1918
|
}
|
|
1919
|
+
.hover\:bg-border {
|
|
1920
|
+
&:hover {
|
|
1921
|
+
@media (hover: hover) {
|
|
1922
|
+
background-color: var(--border);
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
}
|
|
1775
1926
|
.hover\:bg-card-foreground {
|
|
1776
1927
|
&:hover {
|
|
1777
1928
|
@media (hover: hover) {
|
|
@@ -1840,6 +1991,13 @@
|
|
|
1840
1991
|
}
|
|
1841
1992
|
}
|
|
1842
1993
|
}
|
|
1994
|
+
.hover\:bg-surface-alt {
|
|
1995
|
+
&:hover {
|
|
1996
|
+
@media (hover: hover) {
|
|
1997
|
+
background-color: var(--surface-alt);
|
|
1998
|
+
}
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
1843
2001
|
.hover\:text-accent-foreground {
|
|
1844
2002
|
&:hover {
|
|
1845
2003
|
@media (hover: hover) {
|
|
@@ -7760,6 +7918,7 @@ i.wx-U0Bx7pIR {
|
|
|
7760
7918
|
.main {
|
|
7761
7919
|
flex: 1;
|
|
7762
7920
|
overflow-y: auto;
|
|
7921
|
+
position: relative;
|
|
7763
7922
|
height: 100%;
|
|
7764
7923
|
padding: clamp(12px, 3.4vh, 32px) clamp(12px, 1.8vw, 32px);
|
|
7765
7924
|
}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
import { IApi } from '@svar-ui/react-grid';
|
|
3
4
|
|
|
4
5
|
type NavbarData = NavbarEntry[];
|
|
@@ -108,6 +109,7 @@ type GridProps = {
|
|
|
108
109
|
onFilterChange?: (payload: MultiFilterPayload) => void;
|
|
109
110
|
onApiReady?: (api: IApi) => void;
|
|
110
111
|
initialFilters?: any[];
|
|
112
|
+
children?: React.ReactNode;
|
|
111
113
|
};
|
|
112
114
|
type FilterCondition = ActiveFilter & {
|
|
113
115
|
id: string;
|
|
@@ -156,4 +158,22 @@ type Pagination$1 = {
|
|
|
156
158
|
|
|
157
159
|
declare function Pagination({ totalCount, count, currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, showSizeChanger, sizeChangerOptions, }: Pagination$1): react.JSX.Element;
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
interface ToolbarItem {
|
|
162
|
+
id: string;
|
|
163
|
+
label: string;
|
|
164
|
+
icon: ReactNode;
|
|
165
|
+
}
|
|
166
|
+
interface SlideToolbarProps {
|
|
167
|
+
items?: ToolbarItem[];
|
|
168
|
+
children?: ReactNode;
|
|
169
|
+
onAction?: (id: string) => void;
|
|
170
|
+
title?: string;
|
|
171
|
+
footerLabel?: string;
|
|
172
|
+
panelWidth?: number;
|
|
173
|
+
closeOnBackdrop?: boolean;
|
|
174
|
+
className?: string;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
declare const SlideToolbar: React.FC<SlideToolbarProps>;
|
|
178
|
+
|
|
179
|
+
export { type BreadcrumbProps, CustomBreadcrumb, Grid, type GridProps, Navbar, type NavbarData, type NavbarEntry, type NavbarProps, type NotificationDataTypes, Pagination, type Pagination$1 as PaginationProps, type RouteTree, type RouterAdapter, SlideToolbar, type SlideToolbarProps, SortableHeaderCell, type ToolbarItem, type UserData };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
2
3
|
import { IApi } from '@svar-ui/react-grid';
|
|
3
4
|
|
|
4
5
|
type NavbarData = NavbarEntry[];
|
|
@@ -108,6 +109,7 @@ type GridProps = {
|
|
|
108
109
|
onFilterChange?: (payload: MultiFilterPayload) => void;
|
|
109
110
|
onApiReady?: (api: IApi) => void;
|
|
110
111
|
initialFilters?: any[];
|
|
112
|
+
children?: React.ReactNode;
|
|
111
113
|
};
|
|
112
114
|
type FilterCondition = ActiveFilter & {
|
|
113
115
|
id: string;
|
|
@@ -156,4 +158,22 @@ type Pagination$1 = {
|
|
|
156
158
|
|
|
157
159
|
declare function Pagination({ totalCount, count, currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, showSizeChanger, sizeChangerOptions, }: Pagination$1): react.JSX.Element;
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
interface ToolbarItem {
|
|
162
|
+
id: string;
|
|
163
|
+
label: string;
|
|
164
|
+
icon: ReactNode;
|
|
165
|
+
}
|
|
166
|
+
interface SlideToolbarProps {
|
|
167
|
+
items?: ToolbarItem[];
|
|
168
|
+
children?: ReactNode;
|
|
169
|
+
onAction?: (id: string) => void;
|
|
170
|
+
title?: string;
|
|
171
|
+
footerLabel?: string;
|
|
172
|
+
panelWidth?: number;
|
|
173
|
+
closeOnBackdrop?: boolean;
|
|
174
|
+
className?: string;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
declare const SlideToolbar: React.FC<SlideToolbarProps>;
|
|
178
|
+
|
|
179
|
+
export { type BreadcrumbProps, CustomBreadcrumb, Grid, type GridProps, Navbar, type NavbarData, type NavbarEntry, type NavbarProps, type NotificationDataTypes, Pagination, type Pagination$1 as PaginationProps, type RouteTree, type RouterAdapter, SlideToolbar, type SlideToolbarProps, SortableHeaderCell, type ToolbarItem, type UserData };
|
package/dist/index.js
CHANGED
|
@@ -63,6 +63,7 @@ __export(index_exports, {
|
|
|
63
63
|
Grid: () => grid_default,
|
|
64
64
|
Navbar: () => Navbar,
|
|
65
65
|
Pagination: () => pagination_default,
|
|
66
|
+
SlideToolbar: () => toolbar_default,
|
|
66
67
|
SortableHeaderCell: () => sortableHeaderCell_default
|
|
67
68
|
});
|
|
68
69
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -2360,7 +2361,8 @@ var GridHeader = ({
|
|
|
2360
2361
|
searchkey = "",
|
|
2361
2362
|
filterList,
|
|
2362
2363
|
onFilterChange,
|
|
2363
|
-
initialFilters = []
|
|
2364
|
+
initialFilters = [],
|
|
2365
|
+
children
|
|
2364
2366
|
}) => {
|
|
2365
2367
|
const [downloadMenu, setDownloadMenu] = (0, import_react6.useState)(false);
|
|
2366
2368
|
const [searchOpen, setSearchOpen] = (0, import_react6.useState)(false);
|
|
@@ -2425,6 +2427,7 @@ var GridHeader = ({
|
|
|
2425
2427
|
] })
|
|
2426
2428
|
] })
|
|
2427
2429
|
] }),
|
|
2430
|
+
children,
|
|
2428
2431
|
search && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "relative h-[40px] flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2429
2432
|
"div",
|
|
2430
2433
|
{
|
|
@@ -2479,7 +2482,8 @@ var Grid = (0, import_react7.forwardRef)(
|
|
|
2479
2482
|
fileName,
|
|
2480
2483
|
fonts,
|
|
2481
2484
|
onFilterChange,
|
|
2482
|
-
initialFilters
|
|
2485
|
+
initialFilters,
|
|
2486
|
+
children
|
|
2483
2487
|
} = _b, rest = __objRest(_b, [
|
|
2484
2488
|
"data",
|
|
2485
2489
|
"columns",
|
|
@@ -2492,7 +2496,8 @@ var Grid = (0, import_react7.forwardRef)(
|
|
|
2492
2496
|
"fileName",
|
|
2493
2497
|
"fonts",
|
|
2494
2498
|
"onFilterChange",
|
|
2495
|
-
"initialFilters"
|
|
2499
|
+
"initialFilters",
|
|
2500
|
+
"children"
|
|
2496
2501
|
]);
|
|
2497
2502
|
const apiRef = (0, import_react7.useRef)(null);
|
|
2498
2503
|
const containerRef = (0, import_react7.useRef)(null);
|
|
@@ -2592,7 +2597,8 @@ var Grid = (0, import_react7.forwardRef)(
|
|
|
2592
2597
|
searchValue: rest.searchValue,
|
|
2593
2598
|
filterList: rest.filterList,
|
|
2594
2599
|
onFilterChange,
|
|
2595
|
-
initialFilters
|
|
2600
|
+
initialFilters,
|
|
2601
|
+
children
|
|
2596
2602
|
}
|
|
2597
2603
|
),
|
|
2598
2604
|
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "flex-1 w-full overflow-hidden", ref: containerRef, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_grid.WillowDark, { fonts, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "w-full h-full relative", children: rest.loading ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "absolute inset-0 bg-background/60 backdrop-blur-sm flex items-center justify-center z-10", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "animate-spin rounded-full h-8 w-8 border-2 border-primary border-t-transparent" }) }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_grid.Grid, __spreadProps(__spreadValues({}, rest), { data, columns, init })) }) }) })
|
|
@@ -2749,11 +2755,130 @@ function Pagination({
|
|
|
2749
2755
|
] });
|
|
2750
2756
|
}
|
|
2751
2757
|
var pagination_default = Pagination;
|
|
2758
|
+
|
|
2759
|
+
// src/components/custom/toolbar/index.tsx
|
|
2760
|
+
var import_lucide_react16 = require("lucide-react");
|
|
2761
|
+
var import_react8 = require("react");
|
|
2762
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2763
|
+
var SlideToolbar = ({
|
|
2764
|
+
items,
|
|
2765
|
+
children,
|
|
2766
|
+
onAction,
|
|
2767
|
+
title = "Toolbar",
|
|
2768
|
+
footerLabel,
|
|
2769
|
+
panelWidth = 210,
|
|
2770
|
+
closeOnBackdrop = true,
|
|
2771
|
+
className = ""
|
|
2772
|
+
}) => {
|
|
2773
|
+
const resolvedItems = items != null ? items : children ? void 0 : [];
|
|
2774
|
+
const [open, setOpen] = (0, import_react8.useState)(false);
|
|
2775
|
+
const panelRef = (0, import_react8.useRef)(null);
|
|
2776
|
+
(0, import_react8.useEffect)(() => {
|
|
2777
|
+
if (!open || !closeOnBackdrop) return;
|
|
2778
|
+
const handlePointerDown = (e) => {
|
|
2779
|
+
if (panelRef.current && !panelRef.current.contains(e.target)) {
|
|
2780
|
+
setOpen(false);
|
|
2781
|
+
}
|
|
2782
|
+
};
|
|
2783
|
+
document.addEventListener("pointerdown", handlePointerDown);
|
|
2784
|
+
return () => document.removeEventListener("pointerdown", handlePointerDown);
|
|
2785
|
+
}, [open, closeOnBackdrop]);
|
|
2786
|
+
const handleItem = (item) => {
|
|
2787
|
+
onAction == null ? void 0 : onAction(item.id);
|
|
2788
|
+
};
|
|
2789
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
|
|
2790
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2791
|
+
"div",
|
|
2792
|
+
{
|
|
2793
|
+
role: "button",
|
|
2794
|
+
tabIndex: 0,
|
|
2795
|
+
"aria-label": `Open ${title}`,
|
|
2796
|
+
onClick: () => setOpen(true),
|
|
2797
|
+
className: [
|
|
2798
|
+
"absolute inset-y-0 left-0 z-20 w-[18px] flex items-center justify-center",
|
|
2799
|
+
"bg-card border-r border-border cursor-pointer",
|
|
2800
|
+
"hover:bg-surface-alt transition-all duration-200",
|
|
2801
|
+
open ? "opacity-0 pointer-events-none !w-0 border-r-0" : "opacity-100 pointer-events-auto"
|
|
2802
|
+
].join(" "),
|
|
2803
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react16.ChevronRight, { className: "text-foreground/50", size: 50 })
|
|
2804
|
+
}
|
|
2805
|
+
),
|
|
2806
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2807
|
+
"div",
|
|
2808
|
+
{
|
|
2809
|
+
ref: panelRef,
|
|
2810
|
+
role: "dialog",
|
|
2811
|
+
"aria-label": title,
|
|
2812
|
+
"aria-hidden": !open,
|
|
2813
|
+
className: [
|
|
2814
|
+
"absolute inset-y-0 left-0 z-30 flex flex-col",
|
|
2815
|
+
"bg-card border-r border-border",
|
|
2816
|
+
"shadow-[4px_0_24px_rgba(0,0,0,0.5)]",
|
|
2817
|
+
"transition-transform duration-200 ease-out",
|
|
2818
|
+
open ? "translate-x-0" : "-translate-x-full",
|
|
2819
|
+
className
|
|
2820
|
+
].join(" "),
|
|
2821
|
+
style: { width: `${panelWidth}px` },
|
|
2822
|
+
children: [
|
|
2823
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center justify-between px-3 py-2.5 bg-surface-alt border-b border-border shrink-0", children: [
|
|
2824
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-xs font-semibold tracking-[0.15em] uppercase text-foreground", children: title }),
|
|
2825
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2826
|
+
"button",
|
|
2827
|
+
{
|
|
2828
|
+
onClick: () => setOpen(false),
|
|
2829
|
+
"aria-label": "Close toolbar",
|
|
2830
|
+
className: "flex items-center justify-center w-5 h-5 rounded cursor-pointer\n text-foreground hover:text-foreground hover:bg-border\n transition-colors duration-100",
|
|
2831
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_lucide_react16.X, { size: 14 })
|
|
2832
|
+
}
|
|
2833
|
+
)
|
|
2834
|
+
] }),
|
|
2835
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex-1 overflow-y-auto overflow-x-hidden p-1.5 scrollbar-none", children: resolvedItems ? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
|
|
2836
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "p-2 text-xs font-semibold tracking-[0.14em] uppercase text-foreground/30", children: "Actions" }),
|
|
2837
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("nav", { className: "flex flex-col gap-2", children: resolvedItems.map((item) => {
|
|
2838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2839
|
+
"button",
|
|
2840
|
+
{
|
|
2841
|
+
onClick: () => handleItem(item),
|
|
2842
|
+
className: [
|
|
2843
|
+
"group flex items-center gap-2.5 p-2.5 rounded w-full",
|
|
2844
|
+
"text-left text-sm cursor-pointer border-l-2",
|
|
2845
|
+
"transition-colors duration-100",
|
|
2846
|
+
"border-transparent text-foreground/70 hover:text-foreground hover:bg-surface-alt hover:border-primary"
|
|
2847
|
+
].join(" "),
|
|
2848
|
+
children: [
|
|
2849
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2850
|
+
"span",
|
|
2851
|
+
{
|
|
2852
|
+
className: [
|
|
2853
|
+
"flex shrink-0 transition-colors duration-100",
|
|
2854
|
+
"text-foreground/70 group-hover:text-foreground/90"
|
|
2855
|
+
].join(" "),
|
|
2856
|
+
children: item.icon
|
|
2857
|
+
}
|
|
2858
|
+
),
|
|
2859
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "flex-1 leading-none", children: item.label })
|
|
2860
|
+
]
|
|
2861
|
+
},
|
|
2862
|
+
item.id
|
|
2863
|
+
);
|
|
2864
|
+
}) })
|
|
2865
|
+
] }) : children }),
|
|
2866
|
+
footerLabel && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 border-t border-border bg-surface-alt shrink-0", children: [
|
|
2867
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "w-1 h-1 rounded-full bg-foreground/20 shrink-0" }),
|
|
2868
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-[9px] tracking-[0.1em] uppercase text-foreground/25", children: footerLabel })
|
|
2869
|
+
] })
|
|
2870
|
+
]
|
|
2871
|
+
}
|
|
2872
|
+
)
|
|
2873
|
+
] });
|
|
2874
|
+
};
|
|
2875
|
+
var toolbar_default = SlideToolbar;
|
|
2752
2876
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2753
2877
|
0 && (module.exports = {
|
|
2754
2878
|
CustomBreadcrumb,
|
|
2755
2879
|
Grid,
|
|
2756
2880
|
Navbar,
|
|
2757
2881
|
Pagination,
|
|
2882
|
+
SlideToolbar,
|
|
2758
2883
|
SortableHeaderCell
|
|
2759
2884
|
});
|