@universe-platform/ui 0.1.0-beta.10 → 0.1.0-beta.12
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/globals.css +142 -21
- package/dist/index.d.mts +28 -2
- package/dist/index.d.ts +28 -2
- package/dist/index.js +1545 -583
- package/dist/index.mjs +1532 -571
- package/package.json +1 -1
package/dist/globals.css
CHANGED
|
@@ -364,18 +364,36 @@
|
|
|
364
364
|
.z-20 {
|
|
365
365
|
z-index: 20;
|
|
366
366
|
}
|
|
367
|
+
.z-30 {
|
|
368
|
+
z-index: 30;
|
|
369
|
+
}
|
|
367
370
|
.z-50 {
|
|
368
371
|
z-index: 50;
|
|
369
372
|
}
|
|
370
|
-
.z-\[100\] {
|
|
371
|
-
z-index: 100;
|
|
372
|
-
}
|
|
373
373
|
.z-\[9999\] {
|
|
374
374
|
z-index: 9999;
|
|
375
375
|
}
|
|
376
376
|
.z-\[99999\] {
|
|
377
377
|
z-index: 99999;
|
|
378
378
|
}
|
|
379
|
+
.container {
|
|
380
|
+
width: 100%;
|
|
381
|
+
@media (width >= 40rem) {
|
|
382
|
+
max-width: 40rem;
|
|
383
|
+
}
|
|
384
|
+
@media (width >= 48rem) {
|
|
385
|
+
max-width: 48rem;
|
|
386
|
+
}
|
|
387
|
+
@media (width >= 64rem) {
|
|
388
|
+
max-width: 64rem;
|
|
389
|
+
}
|
|
390
|
+
@media (width >= 80rem) {
|
|
391
|
+
max-width: 80rem;
|
|
392
|
+
}
|
|
393
|
+
@media (width >= 96rem) {
|
|
394
|
+
max-width: 96rem;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
379
397
|
.mx-1 {
|
|
380
398
|
margin-inline: var(--spacing);
|
|
381
399
|
}
|
|
@@ -397,6 +415,9 @@
|
|
|
397
415
|
.mr-1 {
|
|
398
416
|
margin-right: var(--spacing);
|
|
399
417
|
}
|
|
418
|
+
.mb-0\.5 {
|
|
419
|
+
margin-bottom: calc(var(--spacing) * 0.5);
|
|
420
|
+
}
|
|
400
421
|
.mb-1 {
|
|
401
422
|
margin-bottom: var(--spacing);
|
|
402
423
|
}
|
|
@@ -418,6 +439,9 @@
|
|
|
418
439
|
.ml-1 {
|
|
419
440
|
margin-left: var(--spacing);
|
|
420
441
|
}
|
|
442
|
+
.ml-2 {
|
|
443
|
+
margin-left: calc(var(--spacing) * 2);
|
|
444
|
+
}
|
|
421
445
|
.block {
|
|
422
446
|
display: block;
|
|
423
447
|
}
|
|
@@ -442,9 +466,15 @@
|
|
|
442
466
|
.table {
|
|
443
467
|
display: table;
|
|
444
468
|
}
|
|
469
|
+
.h-0\.5 {
|
|
470
|
+
height: calc(var(--spacing) * 0.5);
|
|
471
|
+
}
|
|
445
472
|
.h-2 {
|
|
446
473
|
height: calc(var(--spacing) * 2);
|
|
447
474
|
}
|
|
475
|
+
.h-2\.5 {
|
|
476
|
+
height: calc(var(--spacing) * 2.5);
|
|
477
|
+
}
|
|
448
478
|
.h-3 {
|
|
449
479
|
height: calc(var(--spacing) * 3);
|
|
450
480
|
}
|
|
@@ -493,27 +523,33 @@
|
|
|
493
523
|
.max-h-60 {
|
|
494
524
|
max-height: calc(var(--spacing) * 60);
|
|
495
525
|
}
|
|
496
|
-
.max-h-\[
|
|
497
|
-
max-height:
|
|
526
|
+
.max-h-\[250px\] {
|
|
527
|
+
max-height: 250px;
|
|
528
|
+
}
|
|
529
|
+
.max-h-\[calc\(100vh-240px\)\] {
|
|
530
|
+
max-height: calc(100vh - 240px);
|
|
498
531
|
}
|
|
499
532
|
.max-h-full {
|
|
500
533
|
max-height: 100%;
|
|
501
534
|
}
|
|
535
|
+
.min-h-0 {
|
|
536
|
+
min-height: 0;
|
|
537
|
+
}
|
|
502
538
|
.min-h-\[48px\] {
|
|
503
539
|
min-height: 48px;
|
|
504
540
|
}
|
|
505
541
|
.min-h-\[260px\] {
|
|
506
542
|
min-height: 260px;
|
|
507
543
|
}
|
|
508
|
-
.min-h-\[350px\] {
|
|
509
|
-
min-height: 350px;
|
|
510
|
-
}
|
|
511
544
|
.w-1\.5 {
|
|
512
545
|
width: calc(var(--spacing) * 1.5);
|
|
513
546
|
}
|
|
514
547
|
.w-2 {
|
|
515
548
|
width: calc(var(--spacing) * 2);
|
|
516
549
|
}
|
|
550
|
+
.w-2\.5 {
|
|
551
|
+
width: calc(var(--spacing) * 2.5);
|
|
552
|
+
}
|
|
517
553
|
.w-3 {
|
|
518
554
|
width: calc(var(--spacing) * 3);
|
|
519
555
|
}
|
|
@@ -556,6 +592,9 @@
|
|
|
556
592
|
.w-72 {
|
|
557
593
|
width: calc(var(--spacing) * 72);
|
|
558
594
|
}
|
|
595
|
+
.w-\[260px\] {
|
|
596
|
+
width: 260px;
|
|
597
|
+
}
|
|
559
598
|
.w-\[280px\] {
|
|
560
599
|
width: 280px;
|
|
561
600
|
}
|
|
@@ -574,9 +613,6 @@
|
|
|
574
613
|
.max-w-\[160px\] {
|
|
575
614
|
max-width: 160px;
|
|
576
615
|
}
|
|
577
|
-
.max-w-\[300px\] {
|
|
578
|
-
max-width: 300px;
|
|
579
|
-
}
|
|
580
616
|
.max-w-\[calc\(100\%-24px\)\] {
|
|
581
617
|
max-width: calc(100% - 24px);
|
|
582
618
|
}
|
|
@@ -601,9 +637,6 @@
|
|
|
601
637
|
.min-w-\[50px\] {
|
|
602
638
|
min-width: 50px;
|
|
603
639
|
}
|
|
604
|
-
.min-w-\[200px\] {
|
|
605
|
-
min-width: 200px;
|
|
606
|
-
}
|
|
607
640
|
.flex-1 {
|
|
608
641
|
flex: 1;
|
|
609
642
|
}
|
|
@@ -638,6 +671,9 @@
|
|
|
638
671
|
.rotate-180 {
|
|
639
672
|
rotate: 180deg;
|
|
640
673
|
}
|
|
674
|
+
.transform {
|
|
675
|
+
transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
|
|
676
|
+
}
|
|
641
677
|
.animate-pulse {
|
|
642
678
|
animation: var(--animate-pulse);
|
|
643
679
|
}
|
|
@@ -926,6 +962,12 @@
|
|
|
926
962
|
.bg-blue-500 {
|
|
927
963
|
background-color: var(--color-blue-500);
|
|
928
964
|
}
|
|
965
|
+
.bg-blue-500\/20 {
|
|
966
|
+
background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
|
|
967
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
968
|
+
background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
|
|
969
|
+
}
|
|
970
|
+
}
|
|
929
971
|
.bg-blue-600 {
|
|
930
972
|
background-color: var(--color-blue-600);
|
|
931
973
|
}
|
|
@@ -1007,6 +1049,12 @@
|
|
|
1007
1049
|
background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
|
|
1008
1050
|
}
|
|
1009
1051
|
}
|
|
1052
|
+
.bg-slate-50\/60 {
|
|
1053
|
+
background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);
|
|
1054
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1055
|
+
background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1010
1058
|
.bg-slate-100 {
|
|
1011
1059
|
background-color: var(--color-slate-100);
|
|
1012
1060
|
}
|
|
@@ -1079,6 +1127,9 @@
|
|
|
1079
1127
|
.p-2 {
|
|
1080
1128
|
padding: calc(var(--spacing) * 2);
|
|
1081
1129
|
}
|
|
1130
|
+
.p-2\.5 {
|
|
1131
|
+
padding: calc(var(--spacing) * 2.5);
|
|
1132
|
+
}
|
|
1082
1133
|
.p-3 {
|
|
1083
1134
|
padding: calc(var(--spacing) * 3);
|
|
1084
1135
|
}
|
|
@@ -1136,9 +1187,18 @@
|
|
|
1136
1187
|
.py-12 {
|
|
1137
1188
|
padding-block: calc(var(--spacing) * 12);
|
|
1138
1189
|
}
|
|
1190
|
+
.pt-1 {
|
|
1191
|
+
padding-top: var(--spacing);
|
|
1192
|
+
}
|
|
1193
|
+
.pt-1\.5 {
|
|
1194
|
+
padding-top: calc(var(--spacing) * 1.5);
|
|
1195
|
+
}
|
|
1139
1196
|
.pt-2 {
|
|
1140
1197
|
padding-top: calc(var(--spacing) * 2);
|
|
1141
1198
|
}
|
|
1199
|
+
.pr-0\.5 {
|
|
1200
|
+
padding-right: calc(var(--spacing) * 0.5);
|
|
1201
|
+
}
|
|
1142
1202
|
.pr-2 {
|
|
1143
1203
|
padding-right: calc(var(--spacing) * 2);
|
|
1144
1204
|
}
|
|
@@ -1148,24 +1208,30 @@
|
|
|
1148
1208
|
.pr-9 {
|
|
1149
1209
|
padding-right: calc(var(--spacing) * 9);
|
|
1150
1210
|
}
|
|
1211
|
+
.pb-0\.5 {
|
|
1212
|
+
padding-bottom: calc(var(--spacing) * 0.5);
|
|
1213
|
+
}
|
|
1151
1214
|
.pb-1 {
|
|
1152
1215
|
padding-bottom: var(--spacing);
|
|
1153
1216
|
}
|
|
1217
|
+
.pb-1\.5 {
|
|
1218
|
+
padding-bottom: calc(var(--spacing) * 1.5);
|
|
1219
|
+
}
|
|
1154
1220
|
.pb-2 {
|
|
1155
1221
|
padding-bottom: calc(var(--spacing) * 2);
|
|
1156
1222
|
}
|
|
1157
1223
|
.pb-2\.5 {
|
|
1158
1224
|
padding-bottom: calc(var(--spacing) * 2.5);
|
|
1159
1225
|
}
|
|
1160
|
-
.pl-2 {
|
|
1161
|
-
padding-left: calc(var(--spacing) * 2);
|
|
1162
|
-
}
|
|
1163
1226
|
.pl-3 {
|
|
1164
1227
|
padding-left: calc(var(--spacing) * 3);
|
|
1165
1228
|
}
|
|
1166
1229
|
.pl-6 {
|
|
1167
1230
|
padding-left: calc(var(--spacing) * 6);
|
|
1168
1231
|
}
|
|
1232
|
+
.pl-7 {
|
|
1233
|
+
padding-left: calc(var(--spacing) * 7);
|
|
1234
|
+
}
|
|
1169
1235
|
.pl-8 {
|
|
1170
1236
|
padding-left: calc(var(--spacing) * 8);
|
|
1171
1237
|
}
|
|
@@ -1370,6 +1436,9 @@
|
|
|
1370
1436
|
color: var(--color-slate-400);
|
|
1371
1437
|
}
|
|
1372
1438
|
}
|
|
1439
|
+
.accent-\[\#0d9488\] {
|
|
1440
|
+
accent-color: #0d9488;
|
|
1441
|
+
}
|
|
1373
1442
|
.opacity-0 {
|
|
1374
1443
|
opacity: 0%;
|
|
1375
1444
|
}
|
|
@@ -1407,10 +1476,6 @@
|
|
|
1407
1476
|
--tw-shadow: 0 -2px 4px var(--tw-shadow-color, rgba(0,0,0,0.02));
|
|
1408
1477
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1409
1478
|
}
|
|
1410
|
-
.shadow-lg {
|
|
1411
|
-
--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));
|
|
1412
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
1413
|
-
}
|
|
1414
1479
|
.shadow-md {
|
|
1415
1480
|
--tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
|
|
1416
1481
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -1466,6 +1531,11 @@
|
|
|
1466
1531
|
-webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
1467
1532
|
backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
|
|
1468
1533
|
}
|
|
1534
|
+
.transition {
|
|
1535
|
+
transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
|
|
1536
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
1537
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
1538
|
+
}
|
|
1469
1539
|
.transition-all {
|
|
1470
1540
|
transition-property: all;
|
|
1471
1541
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -1543,6 +1613,11 @@
|
|
|
1543
1613
|
color: var(--color-blue-900);
|
|
1544
1614
|
}
|
|
1545
1615
|
}
|
|
1616
|
+
.placeholder\:text-slate-400 {
|
|
1617
|
+
&::placeholder {
|
|
1618
|
+
color: var(--color-slate-400);
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1546
1621
|
.hover\:border-emerald-400 {
|
|
1547
1622
|
&:hover {
|
|
1548
1623
|
@media (hover: hover) {
|
|
@@ -1550,6 +1625,13 @@
|
|
|
1550
1625
|
}
|
|
1551
1626
|
}
|
|
1552
1627
|
}
|
|
1628
|
+
.hover\:bg-amber-100 {
|
|
1629
|
+
&:hover {
|
|
1630
|
+
@media (hover: hover) {
|
|
1631
|
+
background-color: var(--color-amber-100);
|
|
1632
|
+
}
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1553
1635
|
.hover\:bg-amber-100\/80 {
|
|
1554
1636
|
&:hover {
|
|
1555
1637
|
@media (hover: hover) {
|
|
@@ -1732,6 +1814,13 @@
|
|
|
1732
1814
|
}
|
|
1733
1815
|
}
|
|
1734
1816
|
}
|
|
1817
|
+
.hover\:text-blue-700 {
|
|
1818
|
+
&:hover {
|
|
1819
|
+
@media (hover: hover) {
|
|
1820
|
+
color: var(--color-blue-700);
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
}
|
|
1735
1824
|
.hover\:text-emerald-600 {
|
|
1736
1825
|
&:hover {
|
|
1737
1826
|
@media (hover: hover) {
|
|
@@ -1774,6 +1863,13 @@
|
|
|
1774
1863
|
}
|
|
1775
1864
|
}
|
|
1776
1865
|
}
|
|
1866
|
+
.hover\:text-slate-900 {
|
|
1867
|
+
&:hover {
|
|
1868
|
+
@media (hover: hover) {
|
|
1869
|
+
color: var(--color-slate-900);
|
|
1870
|
+
}
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1777
1873
|
.hover\:underline {
|
|
1778
1874
|
&:hover {
|
|
1779
1875
|
@media (hover: hover) {
|
|
@@ -1973,6 +2069,26 @@
|
|
|
1973
2069
|
inherits: false;
|
|
1974
2070
|
initial-value: 1;
|
|
1975
2071
|
}
|
|
2072
|
+
@property --tw-rotate-x {
|
|
2073
|
+
syntax: "*";
|
|
2074
|
+
inherits: false;
|
|
2075
|
+
}
|
|
2076
|
+
@property --tw-rotate-y {
|
|
2077
|
+
syntax: "*";
|
|
2078
|
+
inherits: false;
|
|
2079
|
+
}
|
|
2080
|
+
@property --tw-rotate-z {
|
|
2081
|
+
syntax: "*";
|
|
2082
|
+
inherits: false;
|
|
2083
|
+
}
|
|
2084
|
+
@property --tw-skew-x {
|
|
2085
|
+
syntax: "*";
|
|
2086
|
+
inherits: false;
|
|
2087
|
+
}
|
|
2088
|
+
@property --tw-skew-y {
|
|
2089
|
+
syntax: "*";
|
|
2090
|
+
inherits: false;
|
|
2091
|
+
}
|
|
1976
2092
|
@property --tw-space-y-reverse {
|
|
1977
2093
|
syntax: "*";
|
|
1978
2094
|
inherits: false;
|
|
@@ -2172,6 +2288,11 @@
|
|
|
2172
2288
|
--tw-scale-x: 1;
|
|
2173
2289
|
--tw-scale-y: 1;
|
|
2174
2290
|
--tw-scale-z: 1;
|
|
2291
|
+
--tw-rotate-x: initial;
|
|
2292
|
+
--tw-rotate-y: initial;
|
|
2293
|
+
--tw-rotate-z: initial;
|
|
2294
|
+
--tw-skew-x: initial;
|
|
2295
|
+
--tw-skew-y: initial;
|
|
2175
2296
|
--tw-space-y-reverse: 0;
|
|
2176
2297
|
--tw-border-style: solid;
|
|
2177
2298
|
--tw-leading: initial;
|
package/dist/index.d.mts
CHANGED
|
@@ -76,7 +76,9 @@ interface BaseComponentProps<TData = any, TConfig = Record<string, any>> extends
|
|
|
76
76
|
interface TableConfig extends SchemaDef {
|
|
77
77
|
}
|
|
78
78
|
type TableData = RecordData[];
|
|
79
|
-
|
|
79
|
+
interface TableBlockProps extends BaseComponentProps<TableData, TableConfig> {
|
|
80
|
+
exportAction?: (payload: any) => Promise<any>;
|
|
81
|
+
}
|
|
80
82
|
interface CreateRecordPayload {
|
|
81
83
|
records: RecordData[];
|
|
82
84
|
}
|
|
@@ -228,6 +230,30 @@ interface RelationPickerCellProps {
|
|
|
228
230
|
declare function normalizeRelationValue(val: any): string[];
|
|
229
231
|
declare function RelationPickerCell({ value, onChange, column, context, rowId, readOnly, }: RelationPickerCellProps): react_jsx_runtime.JSX.Element;
|
|
230
232
|
|
|
233
|
+
interface RelationFilterOption {
|
|
234
|
+
id: string;
|
|
235
|
+
label: string;
|
|
236
|
+
}
|
|
237
|
+
type RelationFilterPayload = string[] | {
|
|
238
|
+
operator: 'notIn';
|
|
239
|
+
values: string[];
|
|
240
|
+
} | undefined;
|
|
241
|
+
interface RelationFilterPopoverProps {
|
|
242
|
+
isOpen: boolean;
|
|
243
|
+
onClose: () => void;
|
|
244
|
+
column: ColumnDef;
|
|
245
|
+
triggerRect: DOMRect | null;
|
|
246
|
+
options: RelationFilterOption[];
|
|
247
|
+
filterValue?: string[] | {
|
|
248
|
+
operator: 'notIn';
|
|
249
|
+
values: string[];
|
|
250
|
+
};
|
|
251
|
+
selectedValues?: string[];
|
|
252
|
+
onSelectionChange: (payload: RelationFilterPayload) => void;
|
|
253
|
+
isLoading?: boolean;
|
|
254
|
+
}
|
|
255
|
+
declare function RelationFilterPopover({ isOpen, onClose, column, triggerRect, options, filterValue, selectedValues, onSelectionChange, isLoading, }: RelationFilterPopoverProps): react_jsx_runtime.JSX.Element | null;
|
|
256
|
+
|
|
231
257
|
/**
|
|
232
258
|
* UNIVERSE_COMPONENTS
|
|
233
259
|
* Dynamic Component Registry dictionary mapping component type strings (e.g., "TABLE")
|
|
@@ -259,4 +285,4 @@ declare function ToastProvider({ children }: {
|
|
|
259
285
|
|
|
260
286
|
declare function useToast(): ToastContextType;
|
|
261
287
|
|
|
262
|
-
export { type BaseComponentProps, ColumnHeaderTitle, type ColumnHeaderTitleProps, type ComponentCommunication, type ComponentConfig, type ComponentData, type ComponentPermissions, type ComponentRegistry, type ComponentState, type CreateRecordPayload, DatePickerCell, type DeleteRecordPayload, LinkPickerCell, PASTEL_PALETTES, type PastelPalette, RelationPickerCell, type SplitTitleResult, TableBlock, type TableBlockProps, type TableConfig, type TableData, TimePickerCell, ToastContext, type ToastContextType, type ToastItem, ToastProvider, UNIVERSE_COMPONENTS, type UniverseComponentType, type UpdateRecordPayload, type UseColumnReorderOptions, type UseColumnResizeOptions, calculateMinColumnWidth, cn, formatConflictCellValue, formatPhoneDisplay, formatTimeInput, formatTimeIso, getDeterministicPastelBadge, measureTextWidth, normalizeRelationValue, openWhatsAppChat, parseLinkValue, parseTimeParts, resolveProtocol, splitHeaderTitle, useColumnReorder, useColumnResize, useToast };
|
|
288
|
+
export { type BaseComponentProps, ColumnHeaderTitle, type ColumnHeaderTitleProps, type ComponentCommunication, type ComponentConfig, type ComponentData, type ComponentPermissions, type ComponentRegistry, type ComponentState, type CreateRecordPayload, DatePickerCell, type DeleteRecordPayload, LinkPickerCell, PASTEL_PALETTES, type PastelPalette, type RelationFilterOption, type RelationFilterPayload, RelationFilterPopover, type RelationFilterPopoverProps, RelationPickerCell, type SplitTitleResult, TableBlock, type TableBlockProps, type TableConfig, type TableData, TimePickerCell, ToastContext, type ToastContextType, type ToastItem, ToastProvider, UNIVERSE_COMPONENTS, type UniverseComponentType, type UpdateRecordPayload, type UseColumnReorderOptions, type UseColumnResizeOptions, calculateMinColumnWidth, cn, formatConflictCellValue, formatPhoneDisplay, formatTimeInput, formatTimeIso, getDeterministicPastelBadge, measureTextWidth, normalizeRelationValue, openWhatsAppChat, parseLinkValue, parseTimeParts, resolveProtocol, splitHeaderTitle, useColumnReorder, useColumnResize, useToast };
|
package/dist/index.d.ts
CHANGED
|
@@ -76,7 +76,9 @@ interface BaseComponentProps<TData = any, TConfig = Record<string, any>> extends
|
|
|
76
76
|
interface TableConfig extends SchemaDef {
|
|
77
77
|
}
|
|
78
78
|
type TableData = RecordData[];
|
|
79
|
-
|
|
79
|
+
interface TableBlockProps extends BaseComponentProps<TableData, TableConfig> {
|
|
80
|
+
exportAction?: (payload: any) => Promise<any>;
|
|
81
|
+
}
|
|
80
82
|
interface CreateRecordPayload {
|
|
81
83
|
records: RecordData[];
|
|
82
84
|
}
|
|
@@ -228,6 +230,30 @@ interface RelationPickerCellProps {
|
|
|
228
230
|
declare function normalizeRelationValue(val: any): string[];
|
|
229
231
|
declare function RelationPickerCell({ value, onChange, column, context, rowId, readOnly, }: RelationPickerCellProps): react_jsx_runtime.JSX.Element;
|
|
230
232
|
|
|
233
|
+
interface RelationFilterOption {
|
|
234
|
+
id: string;
|
|
235
|
+
label: string;
|
|
236
|
+
}
|
|
237
|
+
type RelationFilterPayload = string[] | {
|
|
238
|
+
operator: 'notIn';
|
|
239
|
+
values: string[];
|
|
240
|
+
} | undefined;
|
|
241
|
+
interface RelationFilterPopoverProps {
|
|
242
|
+
isOpen: boolean;
|
|
243
|
+
onClose: () => void;
|
|
244
|
+
column: ColumnDef;
|
|
245
|
+
triggerRect: DOMRect | null;
|
|
246
|
+
options: RelationFilterOption[];
|
|
247
|
+
filterValue?: string[] | {
|
|
248
|
+
operator: 'notIn';
|
|
249
|
+
values: string[];
|
|
250
|
+
};
|
|
251
|
+
selectedValues?: string[];
|
|
252
|
+
onSelectionChange: (payload: RelationFilterPayload) => void;
|
|
253
|
+
isLoading?: boolean;
|
|
254
|
+
}
|
|
255
|
+
declare function RelationFilterPopover({ isOpen, onClose, column, triggerRect, options, filterValue, selectedValues, onSelectionChange, isLoading, }: RelationFilterPopoverProps): react_jsx_runtime.JSX.Element | null;
|
|
256
|
+
|
|
231
257
|
/**
|
|
232
258
|
* UNIVERSE_COMPONENTS
|
|
233
259
|
* Dynamic Component Registry dictionary mapping component type strings (e.g., "TABLE")
|
|
@@ -259,4 +285,4 @@ declare function ToastProvider({ children }: {
|
|
|
259
285
|
|
|
260
286
|
declare function useToast(): ToastContextType;
|
|
261
287
|
|
|
262
|
-
export { type BaseComponentProps, ColumnHeaderTitle, type ColumnHeaderTitleProps, type ComponentCommunication, type ComponentConfig, type ComponentData, type ComponentPermissions, type ComponentRegistry, type ComponentState, type CreateRecordPayload, DatePickerCell, type DeleteRecordPayload, LinkPickerCell, PASTEL_PALETTES, type PastelPalette, RelationPickerCell, type SplitTitleResult, TableBlock, type TableBlockProps, type TableConfig, type TableData, TimePickerCell, ToastContext, type ToastContextType, type ToastItem, ToastProvider, UNIVERSE_COMPONENTS, type UniverseComponentType, type UpdateRecordPayload, type UseColumnReorderOptions, type UseColumnResizeOptions, calculateMinColumnWidth, cn, formatConflictCellValue, formatPhoneDisplay, formatTimeInput, formatTimeIso, getDeterministicPastelBadge, measureTextWidth, normalizeRelationValue, openWhatsAppChat, parseLinkValue, parseTimeParts, resolveProtocol, splitHeaderTitle, useColumnReorder, useColumnResize, useToast };
|
|
288
|
+
export { type BaseComponentProps, ColumnHeaderTitle, type ColumnHeaderTitleProps, type ComponentCommunication, type ComponentConfig, type ComponentData, type ComponentPermissions, type ComponentRegistry, type ComponentState, type CreateRecordPayload, DatePickerCell, type DeleteRecordPayload, LinkPickerCell, PASTEL_PALETTES, type PastelPalette, type RelationFilterOption, type RelationFilterPayload, RelationFilterPopover, type RelationFilterPopoverProps, RelationPickerCell, type SplitTitleResult, TableBlock, type TableBlockProps, type TableConfig, type TableData, TimePickerCell, ToastContext, type ToastContextType, type ToastItem, ToastProvider, UNIVERSE_COMPONENTS, type UniverseComponentType, type UpdateRecordPayload, type UseColumnReorderOptions, type UseColumnResizeOptions, calculateMinColumnWidth, cn, formatConflictCellValue, formatPhoneDisplay, formatTimeInput, formatTimeIso, getDeterministicPastelBadge, measureTextWidth, normalizeRelationValue, openWhatsAppChat, parseLinkValue, parseTimeParts, resolveProtocol, splitHeaderTitle, useColumnReorder, useColumnResize, useToast };
|