@mendylanda/ui 0.3.2-dev.55.6b71962091a7 → 0.3.2-dev.57.4108694e944d
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/README.md +15 -0
- package/dist/calendar-locale.d.ts +7 -0
- package/dist/calendar-locale.js +31 -0
- package/dist/class-names.js +1 -1
- package/dist/customization.d.ts +6 -1
- package/dist/customization.js +20 -2
- package/dist/filters/filter-bar.d.ts +1 -1
- package/dist/filters/filter-bar.js +56 -30
- package/dist/filters/filter-collection.js +3 -1
- package/dist/filters/filter-date-editor.js +5 -3
- package/dist/filters/filter-definition.d.ts +3 -2
- package/dist/filters/filter-definition.js +5 -6
- package/dist/filters/filter-menu-focus.js +1 -1
- package/dist/filters/filter-menu-panel.js +13 -9
- package/dist/filters/filter-select-editor.js +6 -4
- package/dist/filters/filter-text-editor.js +5 -3
- package/dist/filters/filters.js +8 -5
- package/dist/filters/index.d.ts +3 -0
- package/dist/filters/index.js +2 -0
- package/dist/filters/use-filter-options.d.ts +1 -1
- package/dist/filters/use-filter-options.js +13 -7
- package/dist/filters/use-filters.js +6 -2
- package/dist/filters/use-url-filters.js +9 -7
- package/dist/locale-context.d.ts +29 -0
- package/dist/locale-context.js +8 -0
- package/dist/locale.d.ts +37 -0
- package/dist/locale.js +26 -0
- package/dist/locales/en.d.ts +113 -0
- package/dist/locales/en.js +112 -0
- package/dist/locales/he.d.ts +116 -0
- package/dist/locales/he.js +116 -0
- package/dist/primitives/calendar.d.ts +1 -1
- package/dist/primitives/calendar.js +15 -10
- package/dist/primitives/dropdown-menu.js +7 -5
- package/dist/primitives/popover.js +3 -1
- package/dist/styles.css +39 -36
- package/dist/styles.tailwind3.css +39 -36
- package/dist/table/table-column-settings.js +27 -13
- package/dist/table/table-controls.js +21 -8
- package/dist/table/table-feedback.js +6 -3
- package/dist/table/table-frame.js +3 -1
- package/dist/table/table-layout.d.ts +1 -1
- package/dist/table/table-layout.js +5 -5
- package/dist/table/table-loading.js +3 -1
- package/dist/table/table-parts.js +15 -11
- package/dist/table/table-view.js +6 -4
- package/dist/table/use-column-window.js +1 -1
- package/dist/table/use-data-table.js +3 -0
- package/dist/table/use-table-interaction.js +12 -8
- package/package.json +8 -2
package/dist/styles.css
CHANGED
|
@@ -67,6 +67,9 @@
|
|
|
67
67
|
.mui-cced28c6dc3f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
68
68
|
inset-inline-start: var(--spacing);
|
|
69
69
|
}
|
|
70
|
+
.mui-8368bbb62f66:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
71
|
+
inset-inline-start: calc(var(--spacing) * 0);
|
|
72
|
+
}
|
|
70
73
|
.mui-207bd0b3f259:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
71
74
|
inset-inline-start: calc(var(--spacing) * 2);
|
|
72
75
|
}
|
|
@@ -76,6 +79,9 @@
|
|
|
76
79
|
.mui-361e48d0308f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
77
80
|
inset-inline-end: var(--spacing);
|
|
78
81
|
}
|
|
82
|
+
.mui-aa7bcba08429:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
83
|
+
inset-inline-end: calc(var(--spacing) * 0);
|
|
84
|
+
}
|
|
79
85
|
.mui-13422ddc8d83:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
80
86
|
inset-inline-end: calc(var(--spacing) * 1);
|
|
81
87
|
}
|
|
@@ -88,9 +94,6 @@
|
|
|
88
94
|
.mui-4e45f4841abb:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
89
95
|
top: calc(1 / 2 * 100%);
|
|
90
96
|
}
|
|
91
|
-
.mui-a74c4477017c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
92
|
-
right: calc(var(--spacing) * 0);
|
|
93
|
-
}
|
|
94
97
|
.mui-30150dd033ab:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
95
98
|
bottom: calc(var(--spacing) * 0);
|
|
96
99
|
}
|
|
@@ -154,6 +157,9 @@
|
|
|
154
157
|
.mui-291952c2525a:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
155
158
|
margin-inline-start: -1px;
|
|
156
159
|
}
|
|
160
|
+
.mui-5cf4ab3b6fa0:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
161
|
+
margin-inline-start: auto;
|
|
162
|
+
}
|
|
157
163
|
.mui-8cc46fa87f41:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
158
164
|
margin-inline-end: calc(var(--spacing) * -1.5);
|
|
159
165
|
}
|
|
@@ -166,9 +172,6 @@
|
|
|
166
172
|
.mui-f28fea81a5cd:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
167
173
|
margin-top: calc(var(--spacing) * 2);
|
|
168
174
|
}
|
|
169
|
-
.mui-cc51bda60e7e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
170
|
-
margin-left: auto;
|
|
171
|
-
}
|
|
172
175
|
.mui-496aca80e4d8:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
173
176
|
display: block;
|
|
174
177
|
}
|
|
@@ -537,17 +540,17 @@
|
|
|
537
540
|
.mui-02e603944040:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
538
541
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 4px));
|
|
539
542
|
}
|
|
543
|
+
.mui-7efd3a0ebfc6:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
544
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
545
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
546
|
+
}
|
|
540
547
|
.mui-b31810dbd8a9:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
541
548
|
border-start-start-radius: 0;
|
|
542
549
|
border-end-start-radius: 0;
|
|
543
550
|
}
|
|
544
|
-
.mui-
|
|
545
|
-
border-
|
|
546
|
-
border-
|
|
547
|
-
}
|
|
548
|
-
.mui-34bbd346e74c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
549
|
-
border-top-right-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
550
|
-
border-bottom-right-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
551
|
+
.mui-7f3780751c2e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
552
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
553
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
551
554
|
}
|
|
552
555
|
.mui-4f1a55de40bc:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
553
556
|
border-style: var(--mendy-tw-border-style);
|
|
@@ -691,12 +694,18 @@
|
|
|
691
694
|
.mui-96b92a971c95:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
692
695
|
padding-block: calc(var(--spacing) * 5);
|
|
693
696
|
}
|
|
697
|
+
.mui-6dd4e62564b2:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
698
|
+
padding-inline-start: calc(var(--spacing) * 2);
|
|
699
|
+
}
|
|
694
700
|
.mui-078d945937da:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
695
701
|
padding-inline-start: calc(var(--spacing) * 8);
|
|
696
702
|
}
|
|
697
703
|
.mui-b2100041c585:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
698
704
|
padding-inline-start: calc(var(--spacing) * 9);
|
|
699
705
|
}
|
|
706
|
+
.mui-b15eee699c4b:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
707
|
+
padding-inline-end: calc(var(--spacing) * 1);
|
|
708
|
+
}
|
|
700
709
|
.mui-05d4103bd67f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
701
710
|
padding-inline-end: calc(var(--spacing) * 2);
|
|
702
711
|
}
|
|
@@ -712,12 +721,6 @@
|
|
|
712
721
|
.mui-0a702d97ed7d:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
713
722
|
padding-top: calc(var(--spacing) * 3);
|
|
714
723
|
}
|
|
715
|
-
.mui-1a52da5bc88c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
716
|
-
padding-right: calc(var(--spacing) * 1);
|
|
717
|
-
}
|
|
718
|
-
.mui-f5d8e661d857:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
719
|
-
padding-left: calc(var(--spacing) * 2);
|
|
720
|
-
}
|
|
721
724
|
.mui-05ab12448317:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
722
725
|
text-align: center;
|
|
723
726
|
}
|
|
@@ -1320,9 +1323,9 @@
|
|
|
1320
1323
|
background-color: var(--accent, #f5f5f5);
|
|
1321
1324
|
}
|
|
1322
1325
|
}
|
|
1323
|
-
.mui-
|
|
1326
|
+
.mui-1da7bb9a299c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1324
1327
|
&[data-inset] {
|
|
1325
|
-
padding-
|
|
1328
|
+
padding-inline-start: calc(var(--spacing) * 8);
|
|
1326
1329
|
}
|
|
1327
1330
|
}
|
|
1328
1331
|
.mui-bbaaa5969856:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1343,10 +1346,10 @@
|
|
|
1343
1346
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1344
1347
|
}
|
|
1345
1348
|
}
|
|
1346
|
-
.mui-
|
|
1349
|
+
.mui-35468f495139:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1347
1350
|
&[data-range-end="true"] {
|
|
1348
|
-
border-
|
|
1349
|
-
border-
|
|
1351
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1352
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1350
1353
|
}
|
|
1351
1354
|
}
|
|
1352
1355
|
.mui-714051e55e8e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1379,10 +1382,10 @@
|
|
|
1379
1382
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1380
1383
|
}
|
|
1381
1384
|
}
|
|
1382
|
-
.mui-
|
|
1385
|
+
.mui-6143f152715b:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1383
1386
|
&[data-range-start="true"] {
|
|
1384
|
-
border-
|
|
1385
|
-
border-
|
|
1387
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1388
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1386
1389
|
}
|
|
1387
1390
|
}
|
|
1388
1391
|
.mui-f5460d79341c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1740,10 +1743,10 @@
|
|
|
1740
1743
|
appearance: none;
|
|
1741
1744
|
}
|
|
1742
1745
|
}
|
|
1743
|
-
.mui-
|
|
1746
|
+
.mui-9b9b154fb4bf:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1744
1747
|
&:first-child[data-selected=true] button {
|
|
1745
|
-
border-
|
|
1746
|
-
border-
|
|
1748
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1749
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1747
1750
|
}
|
|
1748
1751
|
}
|
|
1749
1752
|
.mui-13858191ca50:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1773,16 +1776,16 @@
|
|
|
1773
1776
|
}
|
|
1774
1777
|
}
|
|
1775
1778
|
}
|
|
1776
|
-
.mui-
|
|
1779
|
+
.mui-e9494a526550:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1777
1780
|
&:last-child[data-selected=true] button {
|
|
1778
|
-
border-
|
|
1779
|
-
border-
|
|
1781
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1782
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1780
1783
|
}
|
|
1781
1784
|
}
|
|
1782
|
-
.mui-
|
|
1785
|
+
.mui-167d036894df:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1783
1786
|
&:nth-child(2)[data-selected=true] button {
|
|
1784
|
-
border-
|
|
1785
|
-
border-
|
|
1787
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1788
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1786
1789
|
}
|
|
1787
1790
|
}
|
|
1788
1791
|
.mui-f157ee6bae99:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -66,6 +66,9 @@
|
|
|
66
66
|
.mui-cced28c6dc3f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
67
67
|
inset-inline-start: var(--spacing);
|
|
68
68
|
}
|
|
69
|
+
.mui-8368bbb62f66:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
70
|
+
inset-inline-start: calc(var(--spacing) * 0);
|
|
71
|
+
}
|
|
69
72
|
.mui-207bd0b3f259:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
70
73
|
inset-inline-start: calc(var(--spacing) * 2);
|
|
71
74
|
}
|
|
@@ -75,6 +78,9 @@
|
|
|
75
78
|
.mui-361e48d0308f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
76
79
|
inset-inline-end: var(--spacing);
|
|
77
80
|
}
|
|
81
|
+
.mui-aa7bcba08429:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
82
|
+
inset-inline-end: calc(var(--spacing) * 0);
|
|
83
|
+
}
|
|
78
84
|
.mui-13422ddc8d83:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
79
85
|
inset-inline-end: calc(var(--spacing) * 1);
|
|
80
86
|
}
|
|
@@ -87,9 +93,6 @@
|
|
|
87
93
|
.mui-4e45f4841abb:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
88
94
|
top: calc(1 / 2 * 100%);
|
|
89
95
|
}
|
|
90
|
-
.mui-a74c4477017c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
91
|
-
right: calc(var(--spacing) * 0);
|
|
92
|
-
}
|
|
93
96
|
.mui-30150dd033ab:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
94
97
|
bottom: calc(var(--spacing) * 0);
|
|
95
98
|
}
|
|
@@ -153,6 +156,9 @@
|
|
|
153
156
|
.mui-291952c2525a:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
154
157
|
margin-inline-start: -1px;
|
|
155
158
|
}
|
|
159
|
+
.mui-5cf4ab3b6fa0:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
160
|
+
margin-inline-start: auto;
|
|
161
|
+
}
|
|
156
162
|
.mui-8cc46fa87f41:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
157
163
|
margin-inline-end: calc(var(--spacing) * -1.5);
|
|
158
164
|
}
|
|
@@ -165,9 +171,6 @@
|
|
|
165
171
|
.mui-f28fea81a5cd:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
166
172
|
margin-top: calc(var(--spacing) * 2);
|
|
167
173
|
}
|
|
168
|
-
.mui-cc51bda60e7e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
169
|
-
margin-left: auto;
|
|
170
|
-
}
|
|
171
174
|
.mui-496aca80e4d8:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
172
175
|
display: block;
|
|
173
176
|
}
|
|
@@ -536,17 +539,17 @@
|
|
|
536
539
|
.mui-02e603944040:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
537
540
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 4px));
|
|
538
541
|
}
|
|
542
|
+
.mui-7efd3a0ebfc6:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
543
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
544
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
545
|
+
}
|
|
539
546
|
.mui-b31810dbd8a9:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
540
547
|
border-start-start-radius: 0;
|
|
541
548
|
border-end-start-radius: 0;
|
|
542
549
|
}
|
|
543
|
-
.mui-
|
|
544
|
-
border-
|
|
545
|
-
border-
|
|
546
|
-
}
|
|
547
|
-
.mui-34bbd346e74c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
548
|
-
border-top-right-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
549
|
-
border-bottom-right-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
550
|
+
.mui-7f3780751c2e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
551
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
552
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
550
553
|
}
|
|
551
554
|
.mui-4f1a55de40bc:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
552
555
|
border-style: var(--mendy-tw-border-style);
|
|
@@ -690,12 +693,18 @@
|
|
|
690
693
|
.mui-96b92a971c95:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
691
694
|
padding-block: calc(var(--spacing) * 5);
|
|
692
695
|
}
|
|
696
|
+
.mui-6dd4e62564b2:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
697
|
+
padding-inline-start: calc(var(--spacing) * 2);
|
|
698
|
+
}
|
|
693
699
|
.mui-078d945937da:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
694
700
|
padding-inline-start: calc(var(--spacing) * 8);
|
|
695
701
|
}
|
|
696
702
|
.mui-b2100041c585:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
697
703
|
padding-inline-start: calc(var(--spacing) * 9);
|
|
698
704
|
}
|
|
705
|
+
.mui-b15eee699c4b:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
706
|
+
padding-inline-end: calc(var(--spacing) * 1);
|
|
707
|
+
}
|
|
699
708
|
.mui-05d4103bd67f:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
700
709
|
padding-inline-end: calc(var(--spacing) * 2);
|
|
701
710
|
}
|
|
@@ -711,12 +720,6 @@
|
|
|
711
720
|
.mui-0a702d97ed7d:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
712
721
|
padding-top: calc(var(--spacing) * 3);
|
|
713
722
|
}
|
|
714
|
-
.mui-1a52da5bc88c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
715
|
-
padding-right: calc(var(--spacing) * 1);
|
|
716
|
-
}
|
|
717
|
-
.mui-f5d8e661d857:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
718
|
-
padding-left: calc(var(--spacing) * 2);
|
|
719
|
-
}
|
|
720
723
|
.mui-05ab12448317:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
721
724
|
text-align: center;
|
|
722
725
|
}
|
|
@@ -1319,9 +1322,9 @@
|
|
|
1319
1322
|
background-color: var(--accent, #f5f5f5);
|
|
1320
1323
|
}
|
|
1321
1324
|
}
|
|
1322
|
-
.mui-
|
|
1325
|
+
.mui-1da7bb9a299c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1323
1326
|
&[data-inset] {
|
|
1324
|
-
padding-
|
|
1327
|
+
padding-inline-start: calc(var(--spacing) * 8);
|
|
1325
1328
|
}
|
|
1326
1329
|
}
|
|
1327
1330
|
.mui-bbaaa5969856:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1342,10 +1345,10 @@
|
|
|
1342
1345
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1343
1346
|
}
|
|
1344
1347
|
}
|
|
1345
|
-
.mui-
|
|
1348
|
+
.mui-35468f495139:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1346
1349
|
&[data-range-end="true"] {
|
|
1347
|
-
border-
|
|
1348
|
-
border-
|
|
1350
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1351
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1349
1352
|
}
|
|
1350
1353
|
}
|
|
1351
1354
|
.mui-714051e55e8e:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1378,10 +1381,10 @@
|
|
|
1378
1381
|
border-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1379
1382
|
}
|
|
1380
1383
|
}
|
|
1381
|
-
.mui-
|
|
1384
|
+
.mui-6143f152715b:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1382
1385
|
&[data-range-start="true"] {
|
|
1383
|
-
border-
|
|
1384
|
-
border-
|
|
1386
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1387
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1385
1388
|
}
|
|
1386
1389
|
}
|
|
1387
1390
|
.mui-f5460d79341c:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1739,10 +1742,10 @@
|
|
|
1739
1742
|
appearance: none;
|
|
1740
1743
|
}
|
|
1741
1744
|
}
|
|
1742
|
-
.mui-
|
|
1745
|
+
.mui-9b9b154fb4bf:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1743
1746
|
&:first-child[data-selected=true] button {
|
|
1744
|
-
border-
|
|
1745
|
-
border-
|
|
1747
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1748
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1746
1749
|
}
|
|
1747
1750
|
}
|
|
1748
1751
|
.mui-13858191ca50:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1772,16 +1775,16 @@
|
|
|
1772
1775
|
}
|
|
1773
1776
|
}
|
|
1774
1777
|
}
|
|
1775
|
-
.mui-
|
|
1778
|
+
.mui-e9494a526550:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1776
1779
|
&:last-child[data-selected=true] button {
|
|
1777
|
-
border-
|
|
1778
|
-
border-
|
|
1780
|
+
border-start-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1781
|
+
border-end-end-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1779
1782
|
}
|
|
1780
1783
|
}
|
|
1781
|
-
.mui-
|
|
1784
|
+
.mui-167d036894df:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
1782
1785
|
&:nth-child(2)[data-selected=true] button {
|
|
1783
|
-
border-
|
|
1784
|
-
border-
|
|
1786
|
+
border-start-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1787
|
+
border-end-start-radius: max(0px, calc(var(--radius, 0.5rem) - 2px));
|
|
1785
1788
|
}
|
|
1786
1789
|
}
|
|
1787
1790
|
.mui-f157ee6bae99:where([data-mendy-ui], [data-mendy-ui] *) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMendyLocale } from "../locale-context.js";
|
|
3
4
|
import { useId } from "react";
|
|
4
5
|
import { DragDropContext, Draggable, Droppable } from "@hello-pangea/dnd";
|
|
5
6
|
import { GripVertical, Pin, RotateCcw, SlidersHorizontal } from "lucide-react";
|
|
@@ -11,6 +12,7 @@ import { cn } from "../utils.js";
|
|
|
11
12
|
import { applyTablePreferences } from "./use-data-table.js";
|
|
12
13
|
export function TableColumnSettings({ table, children, }) {
|
|
13
14
|
const id = useId();
|
|
15
|
+
const { t, direction } = useMendyLocale();
|
|
14
16
|
const { portalContainer } = useMendyUI();
|
|
15
17
|
const columns = table.getAllLeafColumns();
|
|
16
18
|
const byId = new Map(columns.map((column) => [column.id, column]));
|
|
@@ -22,9 +24,9 @@ export function TableColumnSettings({ table, children, }) {
|
|
|
22
24
|
const start = columns.filter((column) => column.getIsPinned() === "start").length;
|
|
23
25
|
const end = columns.filter((column) => column.getIsPinned() === "end").length;
|
|
24
26
|
const summary = [
|
|
25
|
-
hidden &&
|
|
26
|
-
start &&
|
|
27
|
-
end &&
|
|
27
|
+
hidden && t("hiddenColumns", { count: hidden }),
|
|
28
|
+
start && t(direction === "rtl" ? "pinnedRight" : "pinnedLeft", { count: start }),
|
|
29
|
+
end && t(direction === "rtl" ? "pinnedLeft" : "pinnedRight", { count: end }),
|
|
28
30
|
]
|
|
29
31
|
.filter(Boolean)
|
|
30
32
|
.join(", ");
|
|
@@ -36,20 +38,32 @@ export function TableColumnSettings({ table, children, }) {
|
|
|
36
38
|
next.splice(result.destination.index, 0, moved);
|
|
37
39
|
table.setColumnOrder(next);
|
|
38
40
|
}
|
|
39
|
-
return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "icon-sm", "aria-label": "
|
|
41
|
+
return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "icon-sm", "aria-label": t("columnSettings"), title: t("columnSettings"), children: _jsx(SlidersHorizontal, { className: "mui-100c22d5776b" }) }) }), _jsxs(PopoverContent, { align: "end", "aria-label": t("columnSettings"), className: "mui-222f930b8752 mui-a4cce7869436 mui-302c0d124a94 mui-04760bcd507f", onCloseAutoFocus: (event) => {
|
|
40
42
|
if (document.activeElement?.closest('[role="grid"]'))
|
|
41
43
|
event.preventDefault();
|
|
42
|
-
}, children: [_jsxs("div", { className: "mui-27ead27a81df mui-bbe39cfb5cc6 mui-9513b3968002 mui-d3cea061f2f3", children: [_jsx("h4", { className: "mui-c74ab393b96d mui-daaac3fbf55e", children: "
|
|
44
|
+
}, children: [_jsxs("div", { className: "mui-27ead27a81df mui-bbe39cfb5cc6 mui-9513b3968002 mui-d3cea061f2f3", children: [_jsx("h4", { className: "mui-c74ab393b96d mui-daaac3fbf55e", children: t("columnSettings") }), _jsx("p", { className: "mui-3992de70b033 mui-35f35c41d134", children: t("columnSettingsHint") })] }), children, _jsx(DragDropContext, { dragHandleUsageInstructions: t("dragInstructions"), onDragStart: (start, { announce }) => announce(t("dragStart", { index: start.source.index + 1 })), onDragUpdate: (update, { announce }) => announce(t("dragMove", { index: (update.destination ?? update.source).index + 1 })), onDragEnd: (result, { announce }) => {
|
|
45
|
+
reorder(result);
|
|
46
|
+
announce(result.reason === "CANCEL" || !result.destination
|
|
47
|
+
? t("dragCancel")
|
|
48
|
+
: t("dragEnd", { index: result.destination.index + 1 }));
|
|
49
|
+
}, children: _jsx(Droppable, { droppableId: id, getContainerForClone: () => portalContainer ?? document.body, renderClone: (provided, snapshot, rubric) => (_jsx(ColumnSettingsRow, { column: ordered[rubric.source.index], provided: provided, dragging: snapshot.isDragging })), children: (provided) => (_jsxs("div", { ref: provided.innerRef, ...provided.droppableProps, className: "mui-410da8dfa8ac mui-da0beef015c9 mui-2368e909f3a5 mui-b97db4a9f432", children: [ordered.map((column, index) => (_jsx(Draggable, { draggableId: `${id}-${column.id}`, disableInteractiveElementBlocking: true, index: index, children: (provided, snapshot) => (_jsx(ColumnSettingsRow, { column: column, provided: provided, dragging: snapshot.isDragging })) }, column.id))), provided.placeholder] })) }) }), _jsxs("div", { className: "mui-222f930b8752 mui-27ead27a81df mui-71556df3b421 mui-32c92bb1fde4 mui-074569488cca mui-894c3815a57f mui-9513b3968002 mui-b5edc3ea7c91", children: [_jsx("p", { className: "mui-3992de70b033 mui-35f35c41d134", "aria-live": "polite", children: summary || t("noChanges") }), _jsxs(Button, { variant: "ghost", size: "sm", className: "mui-c8e50836f8a1 mui-e7e01cc7f4df mui-3992de70b033", "aria-label": t("resetColumns"), onClick: () => applyTablePreferences(table, { version: 1, ...table.initialState }), children: [_jsx(RotateCcw, { className: "mui-5e34f5313859" }), t("reset")] })] })] })] }));
|
|
43
50
|
}
|
|
44
51
|
function ColumnSettingsRow({ column, provided, dragging, }) {
|
|
45
52
|
const definition = column.columnDef;
|
|
46
|
-
const
|
|
53
|
+
const { t, direction, code } = useMendyLocale();
|
|
54
|
+
const label = (column.id === "_selection" && definition.label === "Select rows"
|
|
55
|
+
? t("selectRows")
|
|
56
|
+
: definition.label) ??
|
|
57
|
+
(typeof definition.header === "string" ? definition.header : column.id);
|
|
47
58
|
const pin = column.getIsPinned();
|
|
48
|
-
const next
|
|
49
|
-
const pinLabel =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
59
|
+
const { next, message } = pinAction(pin, direction);
|
|
60
|
+
const pinLabel = t(message, { label });
|
|
61
|
+
return (_jsxs("div", { ref: provided.innerRef, ...provided.draggableProps, "data-mendy-ui": "", "data-column-setting": column.id, dir: direction, lang: code, "data-dragging": dragging, style: provided.draggableProps.style, className: cn("mui-222f930b8752 mui-71556df3b421 mui-074569488cca mui-3fa8c572949b mui-5b272f3c5076 mui-e7e01cc7f4df mui-a8c1dfb1d4ef mui-c74ab393b96d mui-957a109f887f", dragging ? "mui-3eef1ce97dba mui-0d4ca75de41c mui-853be6c11609 mui-fd9d0b696aac" : "mui-5cbdd1b32f1a"), children: [_jsx("button", { type: "button", ...provided.dragHandleProps, "aria-label": t("reorder", { label }), title: t("dragHint"), className: "mui-222f930b8752 mui-2bd43fb57913 mui-27ead27a81df mui-f2e47d9c52ad mui-71556df3b421 mui-a503dd374cca mui-02e603944040 mui-35f35c41d134 mui-b30fc56058b6 mui-355efe22aedb mui-db549d38ff19 mui-71998ea7a2d0", children: _jsx(GripVertical, { className: "mui-61c000c8a98a" }) }), _jsxs("label", { className: "mui-222f930b8752 mui-184ddc11e5f9 mui-7bd5bab6d7f4 mui-d2fa8848968d mui-71556df3b421 mui-074569488cca", children: [_jsx(Checkbox, { checked: column.getIsVisible(), disabled: !column.getCanHide(), onCheckedChange: (value) => column.toggleVisibility(value === true), "aria-label": t("showColumn", { label }) }), _jsx("span", { className: "mui-5a3a4ee420c2", title: label, children: label })] }), _jsx(Button, { variant: "ghost", size: "icon-sm", disabled: !column.getCanPin(), "aria-label": pinLabel, title: pinLabel, className: cn("mui-0712570dcc9f mui-27ead27a81df", pin && "mui-87ecb59f2d2d"), onClick: () => column.pin(next), children: _jsx(Pin, { className: cn("mui-61c000c8a98a", pin === "start" && "mui-4e3f08588318", pin === "end" && "mui-c80411b7591f", !pin && "mui-35f35c41d134") }) })] }));
|
|
62
|
+
}
|
|
63
|
+
function pinAction(pin, direction) {
|
|
64
|
+
if (pin === "end")
|
|
65
|
+
return { next: false, message: "unpin" };
|
|
66
|
+
if (pin === "start")
|
|
67
|
+
return { next: "end", message: direction === "rtl" ? "pinLeft" : "pinRight" };
|
|
68
|
+
return { next: "start", message: direction === "rtl" ? "pinRight" : "pinLeft" };
|
|
55
69
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMendyLocale } from "../locale-context.js";
|
|
3
4
|
import { useState } from "react";
|
|
4
5
|
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
5
6
|
import { Button } from "../primitives/button.js";
|
|
@@ -8,7 +9,13 @@ import { Input } from "../primitives/input.js";
|
|
|
8
9
|
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, } from "../primitives/dropdown-menu.js";
|
|
9
10
|
export { TableColumnSettings } from "./table-column-settings.js";
|
|
10
11
|
export function TablePagination({ table, loading, }) {
|
|
11
|
-
|
|
12
|
+
const { t } = useMendyLocale();
|
|
13
|
+
return (_jsxs("nav", { "data-mendy-ui": "", "aria-label": t("pagination"), className: "mui-222f930b8752 mui-faa8a23c68f6 mui-71556df3b421 mui-307644c34db6 mui-d7db3451d154 mui-b5edc3ea7c91 mui-c74ab393b96d", children: [_jsx("span", { children: table.getPageCount() >= 0
|
|
14
|
+
? t("pageOf", {
|
|
15
|
+
page: table.state.pagination.pageIndex + 1,
|
|
16
|
+
count: Math.max(1, table.getPageCount()),
|
|
17
|
+
})
|
|
18
|
+
: t("page", { page: table.state.pagination.pageIndex + 1 }) }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "outline", size: "sm", children: t("rowsPerPage", { count: table.state.pagination.pageSize }) }) }), _jsx(DropdownMenuContent, { children: [10, 20, 50, 100].map((size) => (_jsx(DropdownMenuItem, { onSelect: () => table.setPageSize(size), children: t("rowsPerPage", { count: size }) }, size))) })] }), _jsx(Button, { variant: "outline", size: "icon-sm", disabled: loading || !table.getCanPreviousPage(), "aria-label": t("previousPage"), onClick: () => table.previousPage(), children: _jsx(ChevronLeft, { className: "mui-100c22d5776b mui-36b12e8339c7" }) }), _jsx(Button, { variant: "outline", size: "icon-sm", disabled: loading || !table.getCanNextPage(), "aria-label": t("nextPage"), onClick: () => table.nextPage(), children: _jsx(ChevronRight, { className: "mui-100c22d5776b mui-36b12e8339c7" }) })] }));
|
|
12
19
|
}
|
|
13
20
|
export function selectionColumn() {
|
|
14
21
|
return {
|
|
@@ -23,17 +30,19 @@ export function selectionColumn() {
|
|
|
23
30
|
enableCellSelection: false,
|
|
24
31
|
pin: "start",
|
|
25
32
|
exportOptions: false,
|
|
26
|
-
header: ({ table }) => (_jsx(
|
|
27
|
-
cell: ({ row }) => (_jsx(
|
|
33
|
+
header: ({ table }) => (_jsx(SelectionCheckbox, { checked: table.getIsAllPageRowsSelected() || (table.getIsSomePageRowsSelected() && "indeterminate"), onCheckedChange: (value) => table.toggleAllPageRowsSelected(value === true) })),
|
|
34
|
+
cell: ({ row }) => (_jsx(SelectionCheckbox, { rowId: row.id, checked: row.getIsSelected(), disabled: !row.getCanSelect(), onCheckedChange: (value) => row.toggleSelected(value === true) })),
|
|
28
35
|
};
|
|
29
36
|
}
|
|
30
37
|
export function TableActionBar({ count, children, onClear, }) {
|
|
38
|
+
const { t } = useMendyLocale();
|
|
31
39
|
if (!count)
|
|
32
40
|
return null;
|
|
33
|
-
return (_jsxs("div", { "data-mendy-ui": "", role: "region", "aria-label": "
|
|
41
|
+
return (_jsxs("div", { "data-mendy-ui": "", role: "region", "aria-label": t("selectedActions"), className: "mui-964a9431ff49 mui-a5c36273c0f0 mui-fbb62f5cb6fe mui-1752f11474a6 mui-222f930b8752 mui-8cfb5a42ef9f mui-81b198a2db84 mui-faa8a23c68f6 mui-71556df3b421 mui-d7db3451d154 mui-3fa8c572949b mui-4f1a55de40bc mui-5b272f3c5076 mui-0f9e6672913a mui-b5edc3ea7c91 mui-94ea94fde25f", children: [_jsx("span", { className: "mui-c74ab393b96d", children: t("selectedCount", { count }) }), children, _jsx(Button, { variant: "ghost", size: "sm", onClick: onClear, children: t("clearSelection") })] }));
|
|
34
42
|
}
|
|
35
43
|
export function TableSavedViews({ views, onApply, onSave, onDelete, }) {
|
|
36
44
|
const [name, setName] = useState("");
|
|
45
|
+
const { t } = useMendyLocale();
|
|
37
46
|
const [pending, setPending] = useState(false);
|
|
38
47
|
const [error, setError] = useState(null);
|
|
39
48
|
async function run(action) {
|
|
@@ -44,15 +53,19 @@ export function TableSavedViews({ views, onApply, onSave, onDelete, }) {
|
|
|
44
53
|
setName("");
|
|
45
54
|
}
|
|
46
55
|
catch (reason) {
|
|
47
|
-
setError(reason instanceof Error ? reason.message : "
|
|
56
|
+
setError(reason instanceof Error ? reason.message : t("saveError"));
|
|
48
57
|
}
|
|
49
58
|
finally {
|
|
50
59
|
setPending(false);
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
|
-
return (_jsxs("div", { "data-mendy-ui": "", className: "mui-222f930b8752 mui-faa8a23c68f6 mui-71556df3b421 mui-074569488cca", children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { size: "sm", variant: "outline", children: "
|
|
62
|
+
return (_jsxs("div", { "data-mendy-ui": "", className: "mui-222f930b8752 mui-faa8a23c68f6 mui-71556df3b421 mui-074569488cca", children: [_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { size: "sm", variant: "outline", children: t("savedViews") }) }), _jsx(DropdownMenuContent, { children: views.length ? (views.map((view) => (_jsxs(DropdownMenuSub, { children: [_jsx(DropdownMenuSubTrigger, { children: view.name }), _jsxs(DropdownMenuSubContent, { children: [_jsx(DropdownMenuItem, { onSelect: () => onApply(view), children: t("apply") }), onDelete && (_jsx(DropdownMenuItem, { disabled: pending, onSelect: () => void run(() => onDelete(view)), children: t("delete") }))] })] }, view.id)))) : (_jsx(DropdownMenuItem, { disabled: true, children: t("noSavedViews") })) })] }), _jsxs("form", { className: "mui-222f930b8752 mui-71556df3b421 mui-074569488cca", onSubmit: (event) => {
|
|
54
63
|
event.preventDefault();
|
|
55
64
|
if (name.trim() && !pending)
|
|
56
65
|
void run(() => onSave(name.trim()));
|
|
57
|
-
}, children: [_jsx(Input, { "aria-label": "
|
|
66
|
+
}, children: [_jsx(Input, { "aria-label": t("newViewName"), value: name, onChange: (event) => setName(event.target.value), className: "mui-1fb07b38c63b mui-4ac4ec8dfbce" }), _jsx(Button, { type: "submit", size: "sm", disabled: pending || !name.trim(), children: t("saveView") })] }), error && (_jsx("span", { role: "alert", className: "mui-c74ab393b96d mui-887b9502d5c7", children: error }))] }));
|
|
67
|
+
}
|
|
68
|
+
function SelectionCheckbox({ rowId, ...props }) {
|
|
69
|
+
const { t } = useMendyLocale();
|
|
70
|
+
return (_jsx(Checkbox, { ...props, "aria-label": rowId === undefined ? t("selectLoaded") : t("selectRow", { id: rowId }) }));
|
|
58
71
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useMendyLocale } from "../locale-context.js";
|
|
2
3
|
import { Button } from "../primitives/button.js";
|
|
3
4
|
export function TableFeedbackRow({ children, columnCount, rowIndex, className, }) {
|
|
4
5
|
return (_jsx("div", { role: "row", "aria-rowindex": rowIndex, className: className, children: _jsx("div", { role: "gridcell", "aria-colindex": 1, "aria-colspan": Math.max(1, columnCount), children: children }) }));
|
|
5
6
|
}
|
|
6
7
|
export function TableInitialState({ status, hasRows, loadingState, emptyState, error, retry, hasFilters, pageIndex = 0, clearFilters, firstPage, columnCount, }) {
|
|
8
|
+
const { t } = useMendyLocale();
|
|
7
9
|
if (hasRows)
|
|
8
10
|
return null;
|
|
9
11
|
if (status === "loading")
|
|
10
12
|
return (_jsx(TableFeedbackRow, { columnCount: columnCount, rowIndex: 2, children: loadingState }));
|
|
11
13
|
if (status === "error")
|
|
12
|
-
return (_jsx(TableFeedbackRow, { columnCount: columnCount, rowIndex: 2, children: _jsxs("div", { role: "alert", className: "mui-c432836760e3 mui-05ab12448317", children: [error ?? "
|
|
14
|
+
return (_jsx(TableFeedbackRow, { columnCount: columnCount, rowIndex: 2, children: _jsxs("div", { role: "alert", className: "mui-c432836760e3 mui-05ab12448317", children: [error ?? t("loadRowsError"), retry && (_jsx(Button, { variant: "outline", size: "sm", onClick: retry, children: t("retry") }))] }) }));
|
|
13
15
|
return (_jsx(TableFeedbackRow, { columnCount: columnCount, rowIndex: 2, children: _jsx("div", { role: "status", className: "mui-222f930b8752 mui-302c0d124a94 mui-71556df3b421 mui-074569488cca mui-c7902d77ad80 mui-05ab12448317 mui-35f35c41d134", children: emptyState ??
|
|
14
|
-
(pageIndex > 0 ? (_jsxs(_Fragment, { children: [_jsx("span", { children: "
|
|
16
|
+
(pageIndex > 0 ? (_jsxs(_Fragment, { children: [_jsx("span", { children: t("noPageResults") }), _jsx(Button, { variant: "outline", size: "sm", onClick: firstPage, children: t("firstPage") })] })) : hasFilters ? (_jsxs(_Fragment, { children: [_jsx("span", { children: t("noFilterResults") }), clearFilters && (_jsx(Button, { variant: "outline", size: "sm", onClick: clearFilters, children: t("clearFilters") }))] })) : (t("noRows"))) }) }));
|
|
15
17
|
}
|
|
16
18
|
export function TableLoadMore({ loadMore, columnCount, rowIndex, onLoad, }) {
|
|
17
|
-
|
|
19
|
+
const { t } = useMendyLocale();
|
|
20
|
+
return (_jsx(TableFeedbackRow, { columnCount: columnCount, rowIndex: rowIndex, className: "mui-964a9431ff49 mui-635702706586", children: _jsxs("div", { className: "mui-222f930b8752 mui-71556df3b421 mui-a503dd374cca mui-074569488cca mui-96b92a971c95 mui-c74ab393b96d mui-35f35c41d134", children: [loadMore.loading ? (_jsxs("div", { role: "status", className: "mui-222f930b8752 mui-71556df3b421 mui-074569488cca", children: [_jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: "mui-2bd43fb57913 mui-27ead27a81df mui-2c14b55d77e6 mui-237747164b60", children: _jsx("path", { d: "M12 3v3m6.366-.366-2.12 2.12M21 12h-3m.366 6.366-2.12-2.12M12 21v-3m-6.366.366 2.12-2.12M3 12h3m-.366-6.366 2.12 2.12" }) }), _jsx("span", { children: t("loadingMore") })] })) : (_jsx(Button, { size: "sm", variant: "ghost", onClick: onLoad, children: loadMore.error ? t("retryMore") : t("loadMore") })), loadMore.error && _jsx("span", { role: "alert", children: loadMore.error })] }) }));
|
|
18
21
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useMendyLocale } from "../locale-context.js";
|
|
3
4
|
import { cn } from "../utils.js";
|
|
4
5
|
import { useFillLayout } from "./use-fill-layout.js";
|
|
5
6
|
/** Shared sizing for the composed view and the table with built-in controls. */
|
|
6
7
|
export function TableFrame({ layout, stretch = false, slot = "table-view", header, footer, children, }) {
|
|
8
|
+
const { direction, code, configured } = useMendyLocale();
|
|
7
9
|
const fill = layout === "fill";
|
|
8
10
|
const ref = useFillLayout(fill);
|
|
9
|
-
return (_jsxs("div", { ref: ref, "data-mendy-ui": "", "data-slot": slot, "data-layout": layout, className: cn("mui-184ddc11e5f9", fill ? "mui-222f930b8752 mui-410da8dfa8ac mui-302c0d124a94 mui-074569488cca" : "mui-267171770524"), style: !fill && stretch ? { height: "100%" } : undefined, children: [header && _jsx("div", { className: "mui-27ead27a81df", children: header }), _jsx("div", { className: fill ? "mui-0f2a693e93e2 mui-410da8dfa8ac mui-7bd5bab6d7f4 mui-b5985369ee35" : undefined, style: !fill && stretch ? { height: "100%" } : undefined, children: children }), footer && _jsx("div", { className: "mui-27ead27a81df mui-267171770524", children: footer })] }));
|
|
11
|
+
return (_jsxs("div", { ref: ref, "data-mendy-ui": "", "data-slot": slot, dir: configured ? direction : undefined, lang: code, "data-layout": layout, className: cn("mui-184ddc11e5f9", fill ? "mui-222f930b8752 mui-410da8dfa8ac mui-302c0d124a94 mui-074569488cca" : "mui-267171770524"), style: !fill && stretch ? { height: "100%" } : undefined, children: [header && _jsx("div", { className: "mui-27ead27a81df", children: header }), _jsx("div", { className: fill ? "mui-0f2a693e93e2 mui-410da8dfa8ac mui-7bd5bab6d7f4 mui-b5985369ee35" : undefined, style: !fill && stretch ? { height: "100%" } : undefined, children: children }), footer && _jsx("div", { className: "mui-27ead27a81df mui-267171770524", children: footer })] }));
|
|
10
12
|
}
|
|
@@ -3,7 +3,7 @@ import type { Column } from "@tanstack/react-table";
|
|
|
3
3
|
import type { DataTableFeatures } from "./features.js";
|
|
4
4
|
import type { DataTableInstance } from "./use-data-table.js";
|
|
5
5
|
/** Keep headers, skeletons, and loaded cells on the same column geometry. */
|
|
6
|
-
export declare function tableLayout<T extends object>(table: DataTableInstance<T>, viewportWidth: number | null, rowHeight: number): {
|
|
6
|
+
export declare function tableLayout<T extends object>(table: DataTableInstance<T>, viewportWidth: number | null, rowHeight: number, direction?: "ltr" | "rtl"): {
|
|
7
7
|
columns: Column<{
|
|
8
8
|
cellSelectionFeature: import("@tanstack/react-table").TableFeature;
|
|
9
9
|
columnResizingFeature: import("@tanstack/react-table").TableFeature;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { distributeColumnWidths } from "./column-widths.js";
|
|
2
2
|
/** Keep headers, skeletons, and loaded cells on the same column geometry. */
|
|
3
|
-
export function tableLayout(table, viewportWidth, rowHeight) {
|
|
3
|
+
export function tableLayout(table, viewportWidth, rowHeight, direction = "ltr") {
|
|
4
4
|
const columns = [
|
|
5
5
|
...table.getStartVisibleLeafColumns(),
|
|
6
6
|
...table.getCenterVisibleLeafColumns(),
|
|
@@ -28,12 +28,12 @@ export function tableLayout(table, viewportWidth, rowHeight) {
|
|
|
28
28
|
const positions = new Map();
|
|
29
29
|
let offset = 0;
|
|
30
30
|
for (const column of table.getStartVisibleLeafColumns()) {
|
|
31
|
-
positions.set(column.id, { side: "left", offset });
|
|
31
|
+
positions.set(column.id, { side: direction === "rtl" ? "right" : "left", offset });
|
|
32
32
|
offset += size(column);
|
|
33
33
|
}
|
|
34
34
|
offset = 0;
|
|
35
35
|
for (const column of [...table.getEndVisibleLeafColumns()].reverse()) {
|
|
36
|
-
positions.set(column.id, { side: "right", offset });
|
|
36
|
+
positions.set(column.id, { side: direction === "rtl" ? "left" : "right", offset });
|
|
37
37
|
offset += size(column);
|
|
38
38
|
}
|
|
39
39
|
const styles = new Map();
|
|
@@ -54,10 +54,10 @@ export function tableLayout(table, viewportWidth, rowHeight) {
|
|
|
54
54
|
[pin.side]: pin.offset,
|
|
55
55
|
zIndex: 2,
|
|
56
56
|
...(column.id === table.getStartVisibleLeafColumns().at(-1)?.id
|
|
57
|
-
? { borderRightWidth: 4 }
|
|
57
|
+
? { [direction === "rtl" ? "borderLeftWidth" : "borderRightWidth"]: 4 }
|
|
58
58
|
: {}),
|
|
59
59
|
...(column.id === table.getEndVisibleLeafColumns()[0]?.id
|
|
60
|
-
? { borderLeftWidth: 4 }
|
|
60
|
+
? { [direction === "rtl" ? "borderRightWidth" : "borderLeftWidth"]: 4 }
|
|
61
61
|
: {}),
|
|
62
62
|
}
|
|
63
63
|
: {}),
|