@dalexto/lexsys-registry 0.0.3 → 0.0.4
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 +1 -0
- package/dist/index.js +32 -52
- package/dist/items/index.d.ts +1 -0
- package/dist/items/table.d.ts +7 -0
- package/dist/registry.types.d.ts +0 -1
- package/package.json +1 -1
- package/templates/primitives/Table/Table.tsx +121 -0
- package/templates/primitives/Table/Table.types.ts +68 -0
- package/templates/primitives/Table/Table.variants.ts +51 -0
- package/templates/styles/tokens.css +18 -0
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -20,7 +20,6 @@ var getInstallLayer = (item) => {
|
|
|
20
20
|
var accordionRegistryItem = {
|
|
21
21
|
name: "accordion",
|
|
22
22
|
canonicalName: "Accordion",
|
|
23
|
-
version: "0.0.1",
|
|
24
23
|
type: "component",
|
|
25
24
|
category: "data-display",
|
|
26
25
|
aliases: ["collapse"],
|
|
@@ -56,7 +55,6 @@ var accordionRegistryItem = {
|
|
|
56
55
|
var alertDialogRegistryItem = {
|
|
57
56
|
name: "alert-dialog",
|
|
58
57
|
canonicalName: "AlertDialog",
|
|
59
|
-
version: "0.0.1",
|
|
60
58
|
type: "component",
|
|
61
59
|
category: "overlays",
|
|
62
60
|
aliases: [],
|
|
@@ -93,7 +91,6 @@ var alertDialogRegistryItem = {
|
|
|
93
91
|
var alertRegistryItem = {
|
|
94
92
|
name: "alert",
|
|
95
93
|
canonicalName: "Alert",
|
|
96
|
-
version: "0.0.1",
|
|
97
94
|
type: "component",
|
|
98
95
|
category: "feedback",
|
|
99
96
|
aliases: ["notice", "message"],
|
|
@@ -124,7 +121,6 @@ var alertRegistryItem = {
|
|
|
124
121
|
var avatarRegistryItem = {
|
|
125
122
|
name: "avatar",
|
|
126
123
|
canonicalName: "Avatar",
|
|
127
|
-
version: "0.0.1",
|
|
128
124
|
type: "component",
|
|
129
125
|
category: "data-display",
|
|
130
126
|
aliases: [],
|
|
@@ -160,7 +156,6 @@ var avatarRegistryItem = {
|
|
|
160
156
|
var badgeRegistryItem = {
|
|
161
157
|
name: "badge",
|
|
162
158
|
canonicalName: "Badge",
|
|
163
|
-
version: "0.0.1",
|
|
164
159
|
type: "component",
|
|
165
160
|
category: "data-display",
|
|
166
161
|
aliases: ["tag", "label"],
|
|
@@ -191,7 +186,6 @@ var badgeRegistryItem = {
|
|
|
191
186
|
var buttonRegistryItem = {
|
|
192
187
|
name: "button",
|
|
193
188
|
canonicalName: "Button",
|
|
194
|
-
version: "0.0.1",
|
|
195
189
|
type: "component",
|
|
196
190
|
category: "actions",
|
|
197
191
|
aliases: ["btn"],
|
|
@@ -227,7 +221,6 @@ var buttonRegistryItem = {
|
|
|
227
221
|
var cardRegistryItem = {
|
|
228
222
|
name: "card",
|
|
229
223
|
canonicalName: "Card",
|
|
230
|
-
version: "0.0.1",
|
|
231
224
|
type: "component",
|
|
232
225
|
category: "layout",
|
|
233
226
|
aliases: ["panel", "surface"],
|
|
@@ -258,7 +251,6 @@ var cardRegistryItem = {
|
|
|
258
251
|
var checkboxRegistryItem = {
|
|
259
252
|
name: "checkbox",
|
|
260
253
|
canonicalName: "Checkbox",
|
|
261
|
-
version: "0.0.2",
|
|
262
254
|
type: "component",
|
|
263
255
|
category: "forms",
|
|
264
256
|
aliases: ["check"],
|
|
@@ -294,7 +286,6 @@ var checkboxRegistryItem = {
|
|
|
294
286
|
var collapsibleRegistryItem = {
|
|
295
287
|
name: "collapsible",
|
|
296
288
|
canonicalName: "Collapsible",
|
|
297
|
-
version: "0.0.1",
|
|
298
289
|
type: "component",
|
|
299
290
|
category: "layout",
|
|
300
291
|
aliases: [],
|
|
@@ -331,7 +322,6 @@ var collapsibleRegistryItem = {
|
|
|
331
322
|
var contextMenuRegistryItem = {
|
|
332
323
|
name: "context-menu",
|
|
333
324
|
canonicalName: "ContextMenu",
|
|
334
|
-
version: "0.0.1",
|
|
335
325
|
type: "component",
|
|
336
326
|
category: "overlays",
|
|
337
327
|
aliases: [],
|
|
@@ -368,7 +358,6 @@ var contextMenuRegistryItem = {
|
|
|
368
358
|
var dialogRegistryItem = {
|
|
369
359
|
name: "dialog",
|
|
370
360
|
canonicalName: "Dialog",
|
|
371
|
-
version: "0.0.1",
|
|
372
361
|
type: "component",
|
|
373
362
|
category: "overlays",
|
|
374
363
|
aliases: [],
|
|
@@ -405,7 +394,6 @@ var dialogRegistryItem = {
|
|
|
405
394
|
var drawerRegistryItem = {
|
|
406
395
|
name: "drawer",
|
|
407
396
|
canonicalName: "Drawer",
|
|
408
|
-
version: "0.0.2",
|
|
409
397
|
type: "component",
|
|
410
398
|
category: "overlays",
|
|
411
399
|
aliases: [],
|
|
@@ -442,7 +430,6 @@ var drawerRegistryItem = {
|
|
|
442
430
|
var fieldRegistryItem = {
|
|
443
431
|
name: "field",
|
|
444
432
|
canonicalName: "Field",
|
|
445
|
-
version: "0.0.1",
|
|
446
433
|
type: "component",
|
|
447
434
|
category: "forms",
|
|
448
435
|
aliases: [],
|
|
@@ -478,7 +465,6 @@ var fieldRegistryItem = {
|
|
|
478
465
|
var fieldsetRegistryItem = {
|
|
479
466
|
name: "fieldset",
|
|
480
467
|
canonicalName: "Fieldset",
|
|
481
|
-
version: "0.0.1",
|
|
482
468
|
type: "component",
|
|
483
469
|
category: "forms",
|
|
484
470
|
aliases: [],
|
|
@@ -514,7 +500,6 @@ var fieldsetRegistryItem = {
|
|
|
514
500
|
var formRegistryItem = {
|
|
515
501
|
name: "form",
|
|
516
502
|
canonicalName: "Form",
|
|
517
|
-
version: "0.0.1",
|
|
518
503
|
type: "component",
|
|
519
504
|
category: "forms",
|
|
520
505
|
aliases: [],
|
|
@@ -550,7 +535,6 @@ var formRegistryItem = {
|
|
|
550
535
|
var inputRegistryItem = {
|
|
551
536
|
name: "input",
|
|
552
537
|
canonicalName: "Input",
|
|
553
|
-
version: "0.0.1",
|
|
554
538
|
type: "component",
|
|
555
539
|
category: "forms",
|
|
556
540
|
aliases: ["ipt"],
|
|
@@ -586,7 +570,6 @@ var inputRegistryItem = {
|
|
|
586
570
|
var menuRegistryItem = {
|
|
587
571
|
name: "menu",
|
|
588
572
|
canonicalName: "Menu",
|
|
589
|
-
version: "0.0.2",
|
|
590
573
|
type: "component",
|
|
591
574
|
category: "overlays",
|
|
592
575
|
aliases: [],
|
|
@@ -623,7 +606,6 @@ var menuRegistryItem = {
|
|
|
623
606
|
var menubarRegistryItem = {
|
|
624
607
|
name: "menubar",
|
|
625
608
|
canonicalName: "Menubar",
|
|
626
|
-
version: "0.0.1",
|
|
627
609
|
type: "component",
|
|
628
610
|
category: "overlays",
|
|
629
611
|
aliases: [],
|
|
@@ -659,7 +641,6 @@ var menubarRegistryItem = {
|
|
|
659
641
|
var meterRegistryItem = {
|
|
660
642
|
name: "meter",
|
|
661
643
|
canonicalName: "Meter",
|
|
662
|
-
version: "0.0.1",
|
|
663
644
|
type: "component",
|
|
664
645
|
category: "data-display",
|
|
665
646
|
aliases: [],
|
|
@@ -695,7 +676,6 @@ var meterRegistryItem = {
|
|
|
695
676
|
var numberFieldRegistryItem = {
|
|
696
677
|
name: "number-field",
|
|
697
678
|
canonicalName: "NumberField",
|
|
698
|
-
version: "0.0.1",
|
|
699
679
|
type: "component",
|
|
700
680
|
category: "forms",
|
|
701
681
|
aliases: [],
|
|
@@ -731,7 +711,6 @@ var numberFieldRegistryItem = {
|
|
|
731
711
|
var navigationMenuRegistryItem = {
|
|
732
712
|
name: "navigation-menu",
|
|
733
713
|
canonicalName: "NavigationMenu",
|
|
734
|
-
version: "0.0.1",
|
|
735
714
|
type: "component",
|
|
736
715
|
category: "overlays",
|
|
737
716
|
aliases: [],
|
|
@@ -768,7 +747,6 @@ var navigationMenuRegistryItem = {
|
|
|
768
747
|
var popoverRegistryItem = {
|
|
769
748
|
name: "popover",
|
|
770
749
|
canonicalName: "Popover",
|
|
771
|
-
version: "0.0.1",
|
|
772
750
|
type: "component",
|
|
773
751
|
category: "overlays",
|
|
774
752
|
aliases: [],
|
|
@@ -805,7 +783,6 @@ var popoverRegistryItem = {
|
|
|
805
783
|
var previewCardRegistryItem = {
|
|
806
784
|
name: "preview-card",
|
|
807
785
|
canonicalName: "PreviewCard",
|
|
808
|
-
version: "0.0.1",
|
|
809
786
|
type: "component",
|
|
810
787
|
category: "overlays",
|
|
811
788
|
aliases: [],
|
|
@@ -841,7 +818,6 @@ var previewCardRegistryItem = {
|
|
|
841
818
|
var progressRegistryItem = {
|
|
842
819
|
name: "progress",
|
|
843
820
|
canonicalName: "Progress",
|
|
844
|
-
version: "0.0.2",
|
|
845
821
|
type: "component",
|
|
846
822
|
category: "feedback",
|
|
847
823
|
aliases: ["progress-bar"],
|
|
@@ -877,7 +853,6 @@ var progressRegistryItem = {
|
|
|
877
853
|
var radioGroupRegistryItem = {
|
|
878
854
|
name: "radio-group",
|
|
879
855
|
canonicalName: "RadioGroup",
|
|
880
|
-
version: "0.0.1",
|
|
881
856
|
type: "component",
|
|
882
857
|
category: "forms",
|
|
883
858
|
aliases: ["radio"],
|
|
@@ -913,7 +888,6 @@ var radioGroupRegistryItem = {
|
|
|
913
888
|
var selectRegistryItem = {
|
|
914
889
|
name: "select",
|
|
915
890
|
canonicalName: "Select",
|
|
916
|
-
version: "0.0.1",
|
|
917
891
|
type: "component",
|
|
918
892
|
category: "forms",
|
|
919
893
|
aliases: [],
|
|
@@ -950,7 +924,6 @@ var selectRegistryItem = {
|
|
|
950
924
|
var separatorRegistryItem = {
|
|
951
925
|
name: "separator",
|
|
952
926
|
canonicalName: "Separator",
|
|
953
|
-
version: "0.0.1",
|
|
954
927
|
type: "component",
|
|
955
928
|
category: "layout",
|
|
956
929
|
aliases: ["divider"],
|
|
@@ -986,7 +959,6 @@ var separatorRegistryItem = {
|
|
|
986
959
|
var sliderRegistryItem = {
|
|
987
960
|
name: "slider",
|
|
988
961
|
canonicalName: "Slider",
|
|
989
|
-
version: "0.0.2",
|
|
990
962
|
type: "component",
|
|
991
963
|
category: "forms",
|
|
992
964
|
aliases: ["range"],
|
|
@@ -1022,7 +994,6 @@ var sliderRegistryItem = {
|
|
|
1022
994
|
var switchRegistryItem = {
|
|
1023
995
|
name: "switch",
|
|
1024
996
|
canonicalName: "Switch",
|
|
1025
|
-
version: "0.0.2",
|
|
1026
997
|
type: "component",
|
|
1027
998
|
category: "forms",
|
|
1028
999
|
aliases: ["toggle-switch"],
|
|
@@ -1054,11 +1025,40 @@ var switchRegistryItem = {
|
|
|
1054
1025
|
target: "src/components/ui/Switch"
|
|
1055
1026
|
};
|
|
1056
1027
|
|
|
1028
|
+
// src/items/table.ts
|
|
1029
|
+
var tableRegistryItem = {
|
|
1030
|
+
name: "table",
|
|
1031
|
+
canonicalName: "Table",
|
|
1032
|
+
type: "component",
|
|
1033
|
+
category: "data-display",
|
|
1034
|
+
aliases: [],
|
|
1035
|
+
files: [
|
|
1036
|
+
"primitives/Table/Table.tsx",
|
|
1037
|
+
"primitives/Table/Table.types.ts",
|
|
1038
|
+
"primitives/Table/Table.variants.ts"
|
|
1039
|
+
],
|
|
1040
|
+
remoteFiles: [
|
|
1041
|
+
{
|
|
1042
|
+
path: "primitives/Table/Table.tsx"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
path: "primitives/Table/Table.types.ts"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
path: "primitives/Table/Table.variants.ts"
|
|
1049
|
+
}
|
|
1050
|
+
],
|
|
1051
|
+
dependencies: ["class-variance-authority", "clsx", "tailwind-merge"],
|
|
1052
|
+
registryDependencies: [],
|
|
1053
|
+
utilities: ["cn"],
|
|
1054
|
+
styles: ["theme"],
|
|
1055
|
+
target: "src/components/ui/Table"
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1057
1058
|
// src/items/tabs.ts
|
|
1058
1059
|
var tabsRegistryItem = {
|
|
1059
1060
|
name: "tabs",
|
|
1060
1061
|
canonicalName: "Tabs",
|
|
1061
|
-
version: "0.0.1",
|
|
1062
1062
|
type: "component",
|
|
1063
1063
|
category: "navigation",
|
|
1064
1064
|
aliases: ["tab"],
|
|
@@ -1094,7 +1094,6 @@ var tabsRegistryItem = {
|
|
|
1094
1094
|
var textareaRegistryItem = {
|
|
1095
1095
|
name: "textarea",
|
|
1096
1096
|
canonicalName: "Textarea",
|
|
1097
|
-
version: "0.0.1",
|
|
1098
1097
|
type: "component",
|
|
1099
1098
|
category: "forms",
|
|
1100
1099
|
aliases: [],
|
|
@@ -1130,7 +1129,6 @@ var textareaRegistryItem = {
|
|
|
1130
1129
|
var toastRegistryItem = {
|
|
1131
1130
|
name: "toast",
|
|
1132
1131
|
canonicalName: "Toast",
|
|
1133
|
-
version: "0.0.1",
|
|
1134
1132
|
type: "component",
|
|
1135
1133
|
category: "feedback",
|
|
1136
1134
|
aliases: [],
|
|
@@ -1167,7 +1165,6 @@ var toastRegistryItem = {
|
|
|
1167
1165
|
var toggleGroupRegistryItem = {
|
|
1168
1166
|
name: "toggle-group",
|
|
1169
1167
|
canonicalName: "ToggleGroup",
|
|
1170
|
-
version: "0.0.1",
|
|
1171
1168
|
type: "component",
|
|
1172
1169
|
category: "actions",
|
|
1173
1170
|
aliases: [],
|
|
@@ -1203,7 +1200,6 @@ var toggleGroupRegistryItem = {
|
|
|
1203
1200
|
var toggleRegistryItem = {
|
|
1204
1201
|
name: "toggle",
|
|
1205
1202
|
canonicalName: "Toggle",
|
|
1206
|
-
version: "0.0.1",
|
|
1207
1203
|
type: "component",
|
|
1208
1204
|
category: "actions",
|
|
1209
1205
|
aliases: ["toggle-button"],
|
|
@@ -1239,7 +1235,6 @@ var toggleRegistryItem = {
|
|
|
1239
1235
|
var toolbarRegistryItem = {
|
|
1240
1236
|
name: "toolbar",
|
|
1241
1237
|
canonicalName: "Toolbar",
|
|
1242
|
-
version: "0.0.1",
|
|
1243
1238
|
type: "component",
|
|
1244
1239
|
category: "layout",
|
|
1245
1240
|
aliases: [],
|
|
@@ -1275,7 +1270,6 @@ var toolbarRegistryItem = {
|
|
|
1275
1270
|
var tooltipRegistryItem = {
|
|
1276
1271
|
name: "tooltip",
|
|
1277
1272
|
canonicalName: "Tooltip",
|
|
1278
|
-
version: "0.0.1",
|
|
1279
1273
|
type: "component",
|
|
1280
1274
|
category: "overlays",
|
|
1281
1275
|
aliases: ["hint"],
|
|
@@ -1311,7 +1305,6 @@ var tooltipRegistryItem = {
|
|
|
1311
1305
|
var scrollAreaRegistryItem = {
|
|
1312
1306
|
name: "scroll-area",
|
|
1313
1307
|
canonicalName: "ScrollArea",
|
|
1314
|
-
version: "0.0.1",
|
|
1315
1308
|
type: "component",
|
|
1316
1309
|
category: "layout",
|
|
1317
1310
|
aliases: ["scroll"],
|
|
@@ -1347,7 +1340,6 @@ var scrollAreaRegistryItem = {
|
|
|
1347
1340
|
var dashboardShellRegistryItem = {
|
|
1348
1341
|
name: "dashboard-shell",
|
|
1349
1342
|
canonicalName: "DashboardShell",
|
|
1350
|
-
version: "0.0.2",
|
|
1351
1343
|
type: "block",
|
|
1352
1344
|
category: "layout",
|
|
1353
1345
|
aliases: ["dashboard-template"],
|
|
@@ -1367,7 +1359,6 @@ var dashboardShellRegistryItem = {
|
|
|
1367
1359
|
var formFieldRegistryItem = {
|
|
1368
1360
|
name: "form-field",
|
|
1369
1361
|
canonicalName: "FormField",
|
|
1370
|
-
version: "0.0.2",
|
|
1371
1362
|
type: "block",
|
|
1372
1363
|
category: "blocks",
|
|
1373
1364
|
aliases: [],
|
|
@@ -1387,7 +1378,6 @@ var formFieldRegistryItem = {
|
|
|
1387
1378
|
var settingsPanelRegistryItem = {
|
|
1388
1379
|
name: "settings-panel",
|
|
1389
1380
|
canonicalName: "SettingsPanel",
|
|
1390
|
-
version: "0.0.2",
|
|
1391
1381
|
type: "block",
|
|
1392
1382
|
category: "blocks",
|
|
1393
1383
|
aliases: ["settings-section"],
|
|
@@ -1407,7 +1397,6 @@ var settingsPanelRegistryItem = {
|
|
|
1407
1397
|
var sidebarRegistryItem = {
|
|
1408
1398
|
name: "sidebar",
|
|
1409
1399
|
canonicalName: "Sidebar",
|
|
1410
|
-
version: "0.0.2",
|
|
1411
1400
|
type: "block",
|
|
1412
1401
|
category: "blocks",
|
|
1413
1402
|
aliases: [],
|
|
@@ -1427,7 +1416,6 @@ var sidebarRegistryItem = {
|
|
|
1427
1416
|
var autocompleteRegistryItem = {
|
|
1428
1417
|
name: "autocomplete",
|
|
1429
1418
|
canonicalName: "Autocomplete",
|
|
1430
|
-
version: "0.0.2",
|
|
1431
1419
|
type: "component",
|
|
1432
1420
|
category: "forms",
|
|
1433
1421
|
aliases: [],
|
|
@@ -1464,7 +1452,6 @@ var autocompleteRegistryItem = {
|
|
|
1464
1452
|
var checkboxGroupRegistryItem = {
|
|
1465
1453
|
name: "checkbox-group",
|
|
1466
1454
|
canonicalName: "CheckboxGroup",
|
|
1467
|
-
version: "0.0.1",
|
|
1468
1455
|
type: "component",
|
|
1469
1456
|
category: "forms",
|
|
1470
1457
|
aliases: [],
|
|
@@ -1500,7 +1487,6 @@ var checkboxGroupRegistryItem = {
|
|
|
1500
1487
|
var comboboxRegistryItem = {
|
|
1501
1488
|
name: "combobox",
|
|
1502
1489
|
canonicalName: "Combobox",
|
|
1503
|
-
version: "0.0.2",
|
|
1504
1490
|
type: "component",
|
|
1505
1491
|
category: "forms",
|
|
1506
1492
|
aliases: [],
|
|
@@ -1537,7 +1523,6 @@ var comboboxRegistryItem = {
|
|
|
1537
1523
|
var authFormRegistryItem = {
|
|
1538
1524
|
name: "auth-form",
|
|
1539
1525
|
canonicalName: "AuthForm",
|
|
1540
|
-
version: "0.0.2",
|
|
1541
1526
|
type: "block",
|
|
1542
1527
|
category: "blocks",
|
|
1543
1528
|
aliases: ["login-form"],
|
|
@@ -1557,7 +1542,6 @@ var authFormRegistryItem = {
|
|
|
1557
1542
|
var commandPaletteRegistryItem = {
|
|
1558
1543
|
name: "command-palette",
|
|
1559
1544
|
canonicalName: "CommandPalette",
|
|
1560
|
-
version: "0.0.2",
|
|
1561
1545
|
type: "block",
|
|
1562
1546
|
category: "blocks",
|
|
1563
1547
|
aliases: ["command-menu", "kbar"],
|
|
@@ -1577,7 +1561,6 @@ var commandPaletteRegistryItem = {
|
|
|
1577
1561
|
var otpFieldRegistryItem = {
|
|
1578
1562
|
name: "otp-field",
|
|
1579
1563
|
canonicalName: "OtpField",
|
|
1580
|
-
version: "0.0.1",
|
|
1581
1564
|
type: "component",
|
|
1582
1565
|
category: "forms",
|
|
1583
1566
|
aliases: [],
|
|
@@ -1613,7 +1596,6 @@ var otpFieldRegistryItem = {
|
|
|
1613
1596
|
var emptyRegistryItem = {
|
|
1614
1597
|
name: "empty",
|
|
1615
1598
|
canonicalName: "Empty",
|
|
1616
|
-
version: "0.0.3",
|
|
1617
1599
|
type: "block",
|
|
1618
1600
|
category: "layout",
|
|
1619
1601
|
aliases: ["empty-state"],
|
|
@@ -1660,6 +1642,7 @@ var registryItems = [
|
|
|
1660
1642
|
separatorRegistryItem,
|
|
1661
1643
|
sliderRegistryItem,
|
|
1662
1644
|
switchRegistryItem,
|
|
1645
|
+
tableRegistryItem,
|
|
1663
1646
|
tabsRegistryItem,
|
|
1664
1647
|
textareaRegistryItem,
|
|
1665
1648
|
toastRegistryItem,
|
|
@@ -1727,9 +1710,6 @@ var validateRegistryItem = (item) => {
|
|
|
1727
1710
|
if (isEmpty(item.canonicalName)) {
|
|
1728
1711
|
throw new Error(`Registry item "${item.name}" has invalid 'canonicalName'`);
|
|
1729
1712
|
}
|
|
1730
|
-
if (isEmpty(item.version)) {
|
|
1731
|
-
throw new Error(`Registry item "${item.name}" has invalid 'version'`);
|
|
1732
|
-
}
|
|
1733
1713
|
if (!item.files || !item.files.length) {
|
|
1734
1714
|
throw new Error(
|
|
1735
1715
|
`Registry item "${item.name}" must define at least one file`
|
|
@@ -2182,4 +2162,4 @@ var registryManifest = {
|
|
|
2182
2162
|
utilities: registryUtilities
|
|
2183
2163
|
};
|
|
2184
2164
|
|
|
2185
|
-
export { accordionRegistryItem, alertDialogRegistryItem, alertRegistryItem, authFormRegistryItem, autocompleteRegistryItem, avatarRegistryItem, badgeRegistryItem, buttonRegistryItem, cardRegistryItem, checkboxGroupRegistryItem, checkboxRegistryItem, cnRegistryUtility, collapsibleRegistryItem, comboboxRegistryItem, commandPaletteRegistryItem, contextMenuRegistryItem, dashboardShellRegistryItem, dialogRegistryItem, drawerRegistryItem, emptyRegistryItem, fieldRegistryItem, fieldsetRegistryItem, formFieldRegistryItem, formRegistryItem, getInstallLayer, inputRegistryItem, menuRegistryItem, menubarRegistryItem, meterRegistryItem, navigationMenuRegistryItem, numberFieldRegistryItem, otpFieldRegistryItem, popoverRegistryItem, previewCardRegistryItem, progressRegistryItem, radioGroupRegistryItem, registryItems, registryManifest, registryStyles, registryUtilities, registryVersion, scrollAreaRegistryItem, selectRegistryItem, separatorRegistryItem, settingsPanelRegistryItem, sidebarRegistryItem, sliderRegistryItem, switchRegistryItem, tabsRegistryItem, textareaRegistryItem, themeRegistryStyle, toastRegistryItem, toggleGroupRegistryItem, toggleRegistryItem, toolbarRegistryItem, tooltipRegistryItem, validateRegistry, validateRegistryItem };
|
|
2165
|
+
export { accordionRegistryItem, alertDialogRegistryItem, alertRegistryItem, authFormRegistryItem, autocompleteRegistryItem, avatarRegistryItem, badgeRegistryItem, buttonRegistryItem, cardRegistryItem, checkboxGroupRegistryItem, checkboxRegistryItem, cnRegistryUtility, collapsibleRegistryItem, comboboxRegistryItem, commandPaletteRegistryItem, contextMenuRegistryItem, dashboardShellRegistryItem, dialogRegistryItem, drawerRegistryItem, emptyRegistryItem, fieldRegistryItem, fieldsetRegistryItem, formFieldRegistryItem, formRegistryItem, getInstallLayer, inputRegistryItem, menuRegistryItem, menubarRegistryItem, meterRegistryItem, navigationMenuRegistryItem, numberFieldRegistryItem, otpFieldRegistryItem, popoverRegistryItem, previewCardRegistryItem, progressRegistryItem, radioGroupRegistryItem, registryItems, registryManifest, registryStyles, registryUtilities, registryVersion, scrollAreaRegistryItem, selectRegistryItem, separatorRegistryItem, settingsPanelRegistryItem, sidebarRegistryItem, sliderRegistryItem, switchRegistryItem, tableRegistryItem, tabsRegistryItem, textareaRegistryItem, themeRegistryStyle, toastRegistryItem, toggleGroupRegistryItem, toggleRegistryItem, toolbarRegistryItem, tooltipRegistryItem, validateRegistry, validateRegistryItem };
|
package/dist/items/index.d.ts
CHANGED
|
@@ -47,4 +47,5 @@ export { authFormRegistryItem } from "./auth-form.js";
|
|
|
47
47
|
export { commandPaletteRegistryItem } from "./command-palette.js";
|
|
48
48
|
export { otpFieldRegistryItem } from "./otp-field.js";
|
|
49
49
|
export { emptyRegistryItem } from "./empty.js";
|
|
50
|
+
export { tableRegistryItem } from "./table.js";
|
|
50
51
|
export declare const registryItems: RegistryItem[];
|
package/dist/registry.types.d.ts
CHANGED
|
@@ -26,7 +26,6 @@ export type RegistryItemCategory = "actions" | "forms" | "overlays" | "navigatio
|
|
|
26
26
|
export interface RegistryItem {
|
|
27
27
|
name: string;
|
|
28
28
|
canonicalName: string;
|
|
29
|
-
version: string;
|
|
30
29
|
type: RegistryItemType;
|
|
31
30
|
category: RegistryItemCategory;
|
|
32
31
|
aliases: string[];
|
package/package.json
CHANGED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table.tsx
|
|
3
|
+
*
|
|
4
|
+
* Reference Table component implementation.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type {
|
|
8
|
+
TableBodyProps,
|
|
9
|
+
TableCaptionProps,
|
|
10
|
+
TableCellProps,
|
|
11
|
+
TableFooterProps,
|
|
12
|
+
TableHeadProps,
|
|
13
|
+
TableHeaderProps,
|
|
14
|
+
TableProps,
|
|
15
|
+
TableRowProps,
|
|
16
|
+
} from "./Table.types"
|
|
17
|
+
import {
|
|
18
|
+
tableBodyClassName,
|
|
19
|
+
tableCaptionClassName,
|
|
20
|
+
tableCellClassName,
|
|
21
|
+
tableFooterClassName,
|
|
22
|
+
tableHeadClassName,
|
|
23
|
+
tableHeaderClassName,
|
|
24
|
+
tableRowClassName,
|
|
25
|
+
tableVariants,
|
|
26
|
+
tableWrapperClassName,
|
|
27
|
+
} from "./Table.variants"
|
|
28
|
+
import { cn } from "@/lib/utils"
|
|
29
|
+
|
|
30
|
+
const Table = ({ ref, variant, className, ...props }: TableProps) => {
|
|
31
|
+
return (
|
|
32
|
+
<div className={tableWrapperClassName}>
|
|
33
|
+
<table
|
|
34
|
+
ref={ref}
|
|
35
|
+
className={cn(tableVariants({ variant }), className)}
|
|
36
|
+
{...props}
|
|
37
|
+
/>
|
|
38
|
+
</div>
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
Table.displayName = "Table"
|
|
43
|
+
|
|
44
|
+
const TableHeader = ({ ref, className, ...props }: TableHeaderProps) => {
|
|
45
|
+
return (
|
|
46
|
+
<thead
|
|
47
|
+
ref={ref}
|
|
48
|
+
className={cn(tableHeaderClassName, className)}
|
|
49
|
+
{...props}
|
|
50
|
+
/>
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
TableHeader.displayName = "TableHeader"
|
|
55
|
+
|
|
56
|
+
const TableBody = ({ ref, className, ...props }: TableBodyProps) => {
|
|
57
|
+
return (
|
|
58
|
+
<tbody ref={ref} className={cn(tableBodyClassName, className)} {...props} />
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
TableBody.displayName = "TableBody"
|
|
63
|
+
|
|
64
|
+
const TableFooter = ({ ref, className, ...props }: TableFooterProps) => {
|
|
65
|
+
return (
|
|
66
|
+
<tfoot
|
|
67
|
+
ref={ref}
|
|
68
|
+
className={cn(tableFooterClassName, className)}
|
|
69
|
+
{...props}
|
|
70
|
+
/>
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
TableFooter.displayName = "TableFooter"
|
|
75
|
+
|
|
76
|
+
const TableRow = ({ ref, className, ...props }: TableRowProps) => {
|
|
77
|
+
return (
|
|
78
|
+
<tr ref={ref} className={cn(tableRowClassName, className)} {...props} />
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
TableRow.displayName = "TableRow"
|
|
83
|
+
|
|
84
|
+
const TableHead = ({ ref, className, ...props }: TableHeadProps) => {
|
|
85
|
+
return (
|
|
86
|
+
<th ref={ref} className={cn(tableHeadClassName, className)} {...props} />
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
TableHead.displayName = "TableHead"
|
|
91
|
+
|
|
92
|
+
const TableCell = ({ ref, className, ...props }: TableCellProps) => {
|
|
93
|
+
return (
|
|
94
|
+
<td ref={ref} className={cn(tableCellClassName, className)} {...props} />
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
TableCell.displayName = "TableCell"
|
|
99
|
+
|
|
100
|
+
const TableCaption = ({ ref, className, ...props }: TableCaptionProps) => {
|
|
101
|
+
return (
|
|
102
|
+
<caption
|
|
103
|
+
ref={ref}
|
|
104
|
+
className={cn(tableCaptionClassName, className)}
|
|
105
|
+
{...props}
|
|
106
|
+
/>
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
TableCaption.displayName = "TableCaption"
|
|
111
|
+
|
|
112
|
+
export {
|
|
113
|
+
Table,
|
|
114
|
+
TableHeader,
|
|
115
|
+
TableBody,
|
|
116
|
+
TableFooter,
|
|
117
|
+
TableHead,
|
|
118
|
+
TableRow,
|
|
119
|
+
TableCell,
|
|
120
|
+
TableCaption,
|
|
121
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { Ref } from "react"
|
|
2
|
+
/**
|
|
3
|
+
* Table.types.ts
|
|
4
|
+
*
|
|
5
|
+
* Public and internal types for Table component.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type {
|
|
9
|
+
HTMLAttributes,
|
|
10
|
+
TableHTMLAttributes,
|
|
11
|
+
TdHTMLAttributes,
|
|
12
|
+
ThHTMLAttributes,
|
|
13
|
+
} from "react"
|
|
14
|
+
|
|
15
|
+
export type TableVariant = "default" | "striped" | "bordered"
|
|
16
|
+
|
|
17
|
+
export interface TableProps extends Omit<
|
|
18
|
+
TableHTMLAttributes<HTMLTableElement>,
|
|
19
|
+
"className"
|
|
20
|
+
> {
|
|
21
|
+
ref?: Ref<HTMLTableElement>
|
|
22
|
+
variant?: TableVariant
|
|
23
|
+
className?: string
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface TableSectionProps extends Omit<
|
|
27
|
+
HTMLAttributes<HTMLTableSectionElement>,
|
|
28
|
+
"className"
|
|
29
|
+
> {
|
|
30
|
+
ref?: Ref<HTMLTableSectionElement>
|
|
31
|
+
className?: string
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type TableHeaderProps = TableSectionProps
|
|
35
|
+
export type TableBodyProps = TableSectionProps
|
|
36
|
+
export type TableFooterProps = TableSectionProps
|
|
37
|
+
|
|
38
|
+
export interface TableRowProps extends Omit<
|
|
39
|
+
HTMLAttributes<HTMLTableRowElement>,
|
|
40
|
+
"className"
|
|
41
|
+
> {
|
|
42
|
+
ref?: Ref<HTMLTableRowElement>
|
|
43
|
+
className?: string
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface TableHeadProps extends Omit<
|
|
47
|
+
ThHTMLAttributes<HTMLTableCellElement>,
|
|
48
|
+
"className"
|
|
49
|
+
> {
|
|
50
|
+
ref?: Ref<HTMLTableCellElement>
|
|
51
|
+
className?: string
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface TableCellProps extends Omit<
|
|
55
|
+
TdHTMLAttributes<HTMLTableCellElement>,
|
|
56
|
+
"className"
|
|
57
|
+
> {
|
|
58
|
+
ref?: Ref<HTMLTableCellElement>
|
|
59
|
+
className?: string
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface TableCaptionProps extends Omit<
|
|
63
|
+
HTMLAttributes<HTMLTableCaptionElement>,
|
|
64
|
+
"className"
|
|
65
|
+
> {
|
|
66
|
+
ref?: Ref<HTMLTableCaptionElement>
|
|
67
|
+
className?: string
|
|
68
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table.variants.ts
|
|
3
|
+
*
|
|
4
|
+
* Defines Table visual slots using class composition.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { cva } from "class-variance-authority"
|
|
8
|
+
|
|
9
|
+
export const tableVariants = cva(
|
|
10
|
+
[
|
|
11
|
+
"w-full caption-bottom border-collapse text-(length:--lex-table-cell-font-size)",
|
|
12
|
+
"text-(--lex-table-foreground)",
|
|
13
|
+
].join(" "),
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
variant: {
|
|
17
|
+
default: "",
|
|
18
|
+
striped:
|
|
19
|
+
"[&_tbody_tr:nth-child(even)]:bg-(--lex-table-row-striped-background)",
|
|
20
|
+
bordered:
|
|
21
|
+
"border border-(--lex-table-border-color) [&_th]:border [&_td]:border [&_th]:border-(--lex-table-border-color) [&_td]:border-(--lex-table-border-color)",
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
variant: "default",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export const tableWrapperClassName = "relative w-full overflow-x-auto"
|
|
31
|
+
|
|
32
|
+
export const tableCaptionClassName =
|
|
33
|
+
"mt-(--lex-table-cell-padding-y) text-(length:--lex-table-caption-font-size) leading-(--lex-table-caption-font-line-height) text-(--lex-table-caption-foreground)"
|
|
34
|
+
|
|
35
|
+
export const tableHeaderClassName =
|
|
36
|
+
"[&_tr]:border-b [&_tr]:border-(--lex-table-border-color)"
|
|
37
|
+
|
|
38
|
+
export const tableBodyClassName =
|
|
39
|
+
"[&_tr:last-child]:border-0 [&_tr]:border-b [&_tr]:border-(--lex-table-border-color)"
|
|
40
|
+
|
|
41
|
+
export const tableFooterClassName =
|
|
42
|
+
"border-t border-(--lex-table-border-color) bg-(--lex-table-footer-background) font-medium [&_tr]:last:border-b-0"
|
|
43
|
+
|
|
44
|
+
export const tableRowClassName =
|
|
45
|
+
"border-b border-(--lex-table-border-color) transition-colors hover:bg-(--lex-table-head-background)/50 data-[state=selected]:bg-(--lex-table-head-background)"
|
|
46
|
+
|
|
47
|
+
export const tableHeadClassName =
|
|
48
|
+
"h-10 px-(--lex-table-cell-padding-x) py-(--lex-table-cell-padding-y) text-left align-middle font-(--lex-table-head-font-weight) text-(length:--lex-table-head-font-size) leading-(--lex-table-head-font-line-height) text-(--lex-table-head-foreground) [&:has([role=checkbox])]:pr-0"
|
|
49
|
+
|
|
50
|
+
export const tableCellClassName =
|
|
51
|
+
"px-(--lex-table-cell-padding-x) py-(--lex-table-cell-padding-y) align-middle leading-(--lex-table-cell-font-line-height) [&:has([role=checkbox])]:pr-0"
|
|
@@ -1324,6 +1324,24 @@
|
|
|
1324
1324
|
--lex-switch-focus-ring-offset: var(--lex-outline-offset-focus);
|
|
1325
1325
|
--lex-switch-transition-duration: var(--lex-duration-control);
|
|
1326
1326
|
--lex-switch-transition-easing: var(--lex-easing-control);
|
|
1327
|
+
--lex-table-background: var(--lex-color-background-surface);
|
|
1328
|
+
--lex-table-foreground: var(--lex-color-text-primary);
|
|
1329
|
+
--lex-table-border-color: var(--lex-border-default);
|
|
1330
|
+
--lex-table-caption-foreground: var(--lex-color-text-secondary);
|
|
1331
|
+
--lex-table-caption-font-size: var(--lex-typography-body-sm-font-size);
|
|
1332
|
+
--lex-table-caption-font-line-height: var(--lex-typography-body-sm-line-height);
|
|
1333
|
+
--lex-table-head-background: var(--lex-color-background-subtle);
|
|
1334
|
+
--lex-table-head-foreground: var(--lex-color-text-primary);
|
|
1335
|
+
--lex-table-head-font-size: var(--lex-typography-body-sm-font-size);
|
|
1336
|
+
--lex-table-head-font-weight: var(--lex-typography-body-sm-font-weight);
|
|
1337
|
+
--lex-table-head-font-line-height: var(--lex-typography-body-sm-line-height);
|
|
1338
|
+
--lex-table-cell-font-size: var(--lex-typography-body-sm-font-size);
|
|
1339
|
+
--lex-table-cell-font-line-height: var(--lex-typography-body-sm-line-height);
|
|
1340
|
+
--lex-table-cell-padding-x: var(--lex-space-surface-md);
|
|
1341
|
+
--lex-table-cell-padding-y: var(--lex-space-surface-sm);
|
|
1342
|
+
--lex-table-row-striped-background: var(--lex-color-background-subtle);
|
|
1343
|
+
--lex-table-footer-background: var(--lex-color-background-subtle);
|
|
1344
|
+
--lex-table-footer-foreground: var(--lex-color-text-secondary);
|
|
1327
1345
|
--lex-tabs-gap: var(--lex-space-control-gap-lg);
|
|
1328
1346
|
--lex-tabs-list-background: var(--lex-color-background-subtle);
|
|
1329
1347
|
--lex-tabs-list-radius: var(--lex-radius-control);
|