@czi-sds/mcp 0.5.2 → 0.5.3

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.
Files changed (40) hide show
  1. package/data/tailwind.json +25 -25
  2. package/data/zeroheight-cache.json +5065 -1
  3. package/data/zeroheight-exports/Accordion.md +81 -20
  4. package/data/zeroheight-exports/Banner.md +104 -10
  5. package/data/zeroheight-exports/Buttons.md +1029 -1454
  6. package/data/zeroheight-exports/Callout.md +174 -9
  7. package/data/zeroheight-exports/Colors.md +1164 -41
  8. package/data/zeroheight-exports/Content-Card.md +148 -0
  9. package/data/zeroheight-exports/Control-Inputs.md +778 -63
  10. package/data/zeroheight-exports/Corners.md +8 -15
  11. package/data/zeroheight-exports/Dialog.md +200 -12
  12. package/data/zeroheight-exports/Downloads.md +120 -0
  13. package/data/zeroheight-exports/Dropdown-Input.md +616 -12
  14. package/data/zeroheight-exports/Dropdown-Menus.md +1150 -0
  15. package/data/zeroheight-exports/Field-Inputs.md +450 -9
  16. package/data/zeroheight-exports/Filters.md +238 -9
  17. package/data/zeroheight-exports/Getting-Started.md +7 -3
  18. package/data/zeroheight-exports/Hero.md +152 -0
  19. package/data/zeroheight-exports/Icons.md +1854 -218
  20. package/data/zeroheight-exports/Intent.md +40 -0
  21. package/data/zeroheight-exports/Link.md +52 -6
  22. package/data/zeroheight-exports/Lists.md +364 -6
  23. package/data/zeroheight-exports/Loading-Indicator.md +8 -0
  24. package/data/zeroheight-exports/Navigation.md +328 -6
  25. package/data/zeroheight-exports/Notification.md +172 -12
  26. package/data/zeroheight-exports/Panel.md +72 -12
  27. package/data/zeroheight-exports/README.md +17 -19
  28. package/data/zeroheight-exports/Responsive-Design.md +52 -0
  29. package/data/zeroheight-exports/Search-Input.md +44 -0
  30. package/data/zeroheight-exports/Search.md +248 -0
  31. package/data/zeroheight-exports/Segmented-Control.md +34 -9
  32. package/data/zeroheight-exports/Table.md +468 -47
  33. package/data/zeroheight-exports/Tabs.md +542 -9
  34. package/data/zeroheight-exports/Tags.md +504 -12
  35. package/data/zeroheight-exports/Text-Link.md +100 -0
  36. package/data/zeroheight-exports/Theming.md +36 -6
  37. package/data/zeroheight-exports/Tooltips.md +466 -15
  38. package/data/zeroheight-exports/Typography.md +64 -32
  39. package/package.json +3 -3
  40. package/data/zeroheight-exports/Dropdown-Menu.md +0 -3883
@@ -13,6 +13,10 @@ Tables are used to store and visually organize data and other content into a ser
13
13
 
14
14
  ## Table Anatomy
15
15
 
16
+ **Table Anatomy**
17
+
18
+ ---
19
+
16
20
  ---
17
21
 
18
22
  ## Basic Cell
@@ -28,6 +32,14 @@ Click on each variant below to enter inspect view and get details on its code at
28
32
 
29
33
  **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
30
34
 
35
+ **Default**
36
+
37
+ ---
38
+
39
+ ---
40
+
41
+ **Default (right aligned)**
42
+
31
43
  ---
32
44
 
33
45
  ---
@@ -38,6 +50,10 @@ These rules establish how much margin should exist between and around elements.
38
50
 
39
51
 
40
52
 
53
+ **Basic Cell spacing**
54
+
55
+ ---
56
+
41
57
  ---
42
58
 
43
59
  ## Header Cell
@@ -53,6 +69,14 @@ Click on each variant below to enter inspect view and get details on its code at
53
69
 
54
70
  **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
55
71
 
72
+ **Default**
73
+
74
+ ---
75
+
76
+ ---
77
+
78
+ **Default (right aligned)**
79
+
56
80
  ---
57
81
 
58
82
  ---
@@ -61,6 +85,10 @@ Click on each variant below to enter inspect view and get details on its code at
61
85
 
62
86
  These rules establish how much margin should exist between and around elements. Multiple Header Cells are placed beside each other to create a Table Header. Stack Table Rows below a Table Header to create a full Table.
63
87
 
88
+ **Header Cell spacing**
89
+
90
+ ---
91
+
64
92
  ---
65
93
 
66
94
  ## Table Row
@@ -72,12 +100,20 @@ A Table Row is a container filled with multiple Basic Cells placed side-by-side
72
100
 
73
101
  Click on each variant below to enter inspect view and get details on its code attributes and any global styles it uses.
74
102
 
103
+ **Default**
104
+
105
+ ---
106
+
75
107
  ---
76
108
 
77
109
  ### Table Row Spacing
78
110
 
79
111
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
80
112
 
113
+ **Table Row spacing**
114
+
115
+ ---
116
+
81
117
  ---
82
118
 
83
119
  ## Table Header
@@ -87,12 +123,20 @@ These rules establish how much margin should exist between and around elements.
87
123
 
88
124
  A Table Header is a container filled with multiple Header Cells placed side-by-side to form a header row. This row is placed at the top of the Table with each Header Cell in the row serving as the column header for the data in the content cells below it. There can only be one Table Header per Table.
89
125
 
126
+ **Table Header**
127
+
128
+ ---
129
+
90
130
  ---
91
131
 
92
132
  ### Table Header Spacing
93
133
 
94
134
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
95
135
 
136
+ **Table Header spacing**
137
+
138
+ ---
139
+
96
140
  ## Code
97
141
 
98
142
  ## Table Components
@@ -151,6 +195,10 @@ Tables are used to store and visually organize data and other content into a ser
151
195
 
152
196
  Tables are made up of a Table Header with as many Table Rows stacked below it as needed. Table Headers contain multiple Header Cells which serve as top-level indicators for the type of content found in the column of cells below each. Similarly, Table Rows are comprised of two different types of content cells, Basic Cells and Component Cells; these cell types contain the bulk of the data within a Table and are designed to be flexible in their ability to hold nearly any type of content. For Tables with large amounts of data, only data from visible cells will be loaded (colloquially known as _lazy load_); as the user scrolls down the Table, additional data will be pulled from the server and displayed once the data has fully loaded.
153
197
 
198
+ **Table Anatomy**
199
+
200
+ ---
201
+
154
202
  ---
155
203
 
156
204
  ## Content Cells
@@ -176,18 +224,46 @@ Click on each variant below to enter inspect view and get details on its code at
176
224
 
177
225
 
178
226
 
227
+ **Default**
228
+
179
229
  ---
180
230
 
181
231
  ---
182
232
 
233
+ **Default + Secondary Text**
234
+
183
235
  ---
184
236
 
185
237
  ---
186
238
 
239
+ **Default + Secondary Text + Tertiary Text**
240
+
187
241
  ---
188
242
 
189
243
  ---
190
244
 
245
+ **Default (right aligned)**
246
+
247
+ ---
248
+
249
+ ---
250
+
251
+ **Default (wrapped)**
252
+
253
+ ---
254
+
255
+ ---
256
+
257
+ **Hover (truncated) + Tooltip**
258
+
259
+ ---
260
+
261
+ ---
262
+
263
+ **Basic Cell + Icon**
264
+
265
+ ---
266
+
191
267
  ### Component Cell
192
268
 
193
269
  Use a Component Cell to construct more complex or custom cells that some products may have a need for as it can house multiple components in one cell. As an example, it can be used to construct a cell where there is both an icon on the left, primary text, secondary text, and a tag in the tertiary area of the cell, or to the right of the primary and secondary text. It can also be used for something simpler like placing Buttons, Toggles, etc. within a Table. This cell type can accept any type of element that is not a text string via the built-in child node and can be used as designers and engineers see necessary.
@@ -202,10 +278,22 @@ Click on each variant below to enter inspect view and get details on its code at
202
278
 
203
279
  **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
204
280
 
281
+ **Default**
282
+
205
283
  ---
206
284
 
207
285
  ---
208
286
 
287
+ **Filled**
288
+
289
+ ---
290
+
291
+ ---
292
+
293
+ **Filled (cell fit to content)**
294
+
295
+ ---
296
+
209
297
  ---
210
298
 
211
299
  ### Content Cell Spacing
@@ -214,6 +302,10 @@ These rules establish how much margin should exist between and around elements.
214
302
 
215
303
 
216
304
 
305
+ **Content Cell spacing**
306
+
307
+ ---
308
+
217
309
  ---
218
310
 
219
311
  ## Header Cell
@@ -232,6 +324,22 @@ Each Header Cell can have an optional Tooltip appear when hovered over by using
232
324
  | **Default** | **Hover** |
233
325
  | ----------- | --------- |
234
326
 
327
+ **CellHeader**
328
+
329
+ ---
330
+
331
+ **CellHeader**
332
+
333
+ ---
334
+
335
+ ---
336
+
337
+ **CellHeader**
338
+
339
+ ---
340
+
341
+ **CellHeader**
342
+
235
343
  ---
236
344
 
237
345
 
@@ -242,12 +350,32 @@ Click on each variant below to enter inspect view and get details on its code at
242
350
 
243
351
  **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
244
352
 
353
+ **Default**
354
+
355
+ ---
356
+
357
+ ---
358
+
359
+ **Default (right aligned)**
360
+
361
+ ---
362
+
245
363
  ---
246
364
 
365
+ **Hover + Tooltip**
366
+
367
+ ---
368
+
369
+ ---
370
+
371
+ **Active (ascending)**
372
+
247
373
  ---
248
374
 
249
375
  ---
250
376
 
377
+ **Active (descending)**
378
+
251
379
  ---
252
380
 
253
381
  ---
@@ -256,6 +384,10 @@ Click on each variant below to enter inspect view and get details on its code at
256
384
 
257
385
  These rules establish how much margin should exist between and around elements. Multiple Header Cells are placed beside each other to create a Table Header. Stack Table Rows below a Table Header to create a full Table.
258
386
 
387
+ **Header Cell spacing**
388
+
389
+ ---
390
+
259
391
  ---
260
392
 
261
393
  ## Table Row
@@ -279,40 +411,80 @@ Click on each variant below to enter inspect view and get details on its code at
279
411
 
280
412
 
281
413
 
414
+ **Default**
415
+
416
+ ---
417
+
418
+ ---
419
+
420
+ **Default (no divider)**
421
+
422
+ ---
423
+
424
+ ---
425
+
426
+ **Hover + Tooltip**
427
+
282
428
  ---
283
429
 
284
430
  ---
285
431
 
432
+ **Selected**
433
+
286
434
  ---
287
435
 
288
436
  ---
289
437
 
438
+ **Disabled**
439
+
440
+ ---
441
+
290
442
  ---
291
443
 
292
444
  ### Table Row Actions
293
445
 
294
446
  For advanced Tables, Table Rows may have actions tied to them, such as the ability to edit, delete, download, etc., which allow users to modify or manipulate the contents of the cells within that row. Users complete these actions by clicking on corresponding Icon Buttons that are placed within a Component Cell in the final column at the end of a Table Row (1).
295
447
 
448
+ **Table Row actions_default**
449
+
450
+ ---
451
+
296
452
  An overflow Icon Button, represented by the `DotsHorizontal3` icon (2), can be used to surface a Dropdown Menu (3) that contains additional actions. This should be used in instances where a large number of actions are needed (generally more than three) or the designer wants to save space in wide Tables that contain many columns. Table Row Actions can either be exposed on hover or can be persistent in the Table at all times.
297
453
 
454
+ **Table Row actions_overflow**
455
+
456
+ ---
457
+
298
458
 
299
459
 
300
460
  For efficiency, Tables can be designed to allow users to complete actions across multiple Table Rows at the same time, known as bulk actions. Similar to row actions, bulk actions are completed by clicking on corresponding Icon Buttons that are located at the top right of the Table, above the Table Header; they should be inactive when no rows are selected (1).
301
461
 
302
462
 
303
463
 
464
+ **Bulk Table Row actions_default**
465
+
466
+ ---
467
+
304
468
  To make Table Rows selectable, designers must include Checkbox Inputs in the first column of the row, providing an input for users to click on and select the row (2); enable the Table Row's `selected` prop to indicate when rows are selected. Once rows are selected, any applicable bulk action Icon Button should become active to allow users to take action across all selected rows (3). In addition to these Icon Buttons, there should be a counter present that indicates how many rows have been selected (4).
305
469
 
306
470
  Because actions taken at the row level will impact stored data in the application, row and bulk actions are completely controlled by the application itself and not the SDS component.
307
471
 
308
472
 
309
473
 
474
+ **Bulk Table Row actions_selected**
475
+
476
+ ---
477
+
310
478
  ---
311
479
 
312
480
  ### Table Row Spacing
313
481
 
314
482
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
315
483
 
484
+ **Table Row spacing**
485
+
486
+ ---
487
+
316
488
  ---
317
489
 
318
490
  ## Table Header
@@ -322,12 +494,20 @@ These rules establish how much margin should exist between and around elements.
322
494
 
323
495
  A Table Header is a container filled with multiple Header Cells placed side-by-side to form a header row. This row is placed at the top of the Table with each Header Cell in the row serving as the column header for the data in the content cells below it. There can only be one Table Header per Table.
324
496
 
497
+ **Table Header**
498
+
499
+ ---
500
+
325
501
  ---
326
502
 
327
503
  ### Table Header Spacing
328
504
 
329
505
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
330
506
 
507
+ **Table Header spacing**
508
+
509
+ ---
510
+
331
511
  ---
332
512
 
333
513
  ## CZ ID Tables
@@ -336,14 +516,34 @@ The following Table configurations are currently in use in CZ ID.
336
516
 
337
517
  ### Download Table
338
518
 
519
+ **Table Example – Download Table**
520
+
521
+ ---
522
+
339
523
  ### Project Table
340
524
 
525
+ **Table Example – Project Table**
526
+
527
+ ---
528
+
341
529
  ### Sample Table – Consensus Genome
342
530
 
531
+ **Table Example – Sample Table: Consensus Genome**
532
+
533
+ ---
534
+
343
535
  ### Sample Table – Metagenomic
344
536
 
537
+ **Table Example – Sample Table: Metagenomic**
538
+
539
+ ---
540
+
345
541
  ### Taxon Table
346
542
 
543
+ **Table Example – Taxon Table**
544
+
545
+ ---
546
+
347
547
  ## Code
348
548
 
349
549
  ## Table Components
@@ -410,10 +610,38 @@ Tables are used to store and visually organize data and other content into a ser
410
610
 
411
611
  > **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
412
612
 
613
+ **Preview_Guidelines_CellBasic**
614
+
615
+ ---
616
+
617
+ **Preview_Guidelines_CellComponent**
618
+
619
+ ---
620
+
621
+ **Preview_Guidelines_CellHeader**
622
+
623
+ ---
624
+
625
+ **Preview_Guidelines_TableRow**
626
+
627
+ ---
628
+
629
+ **Preview_Guidelines_TableHeader**
630
+
631
+ ---
632
+
633
+ **Preview_Guidelines_Pagination**
634
+
635
+ ---
636
+
413
637
  ---
414
638
 
415
639
  ### Table Anatomy
416
640
 
641
+ **Table Anatomy**
642
+
643
+ ---
644
+
417
645
  ---
418
646
 
419
647
  ## Basic Cell
@@ -438,15 +666,51 @@ The Basic Cell is intended to be filled with strings of text or numerical values
438
666
  | Default | Default + Secondary text | Default + Secondary text + Tertiary text | Default (right aligned) |
439
667
  | ------- | ------------------------ | ---------------------------------------- | ----------------------- |
440
668
 
669
+ **Basic Cell_left aligned_primary**
670
+
671
+ ---
672
+
673
+ **Basic Cell_left aligned_primary + secondary**
674
+
675
+ ---
676
+
677
+ **Basic Cell_left aligned_primary + secondary + tertiary**
678
+
679
+ ---
680
+
681
+ **Basic Cell_right aligned**
682
+
683
+ ---
684
+
441
685
  | Default (wrapped) | Hover (truncated) + Tooltip | Basic Cell + Icon | Basic Cell + Tag |
442
686
  | ----------------- | --------------------------- | ----------------- | ---------------- |
443
687
 
688
+ **Basic Cell_wrap**
689
+
690
+ ---
691
+
692
+ **Basic Cell_truncate**
693
+
694
+ ---
695
+
696
+ **Basic Cell + Icon**
697
+
698
+ ---
699
+
700
+ **Basic Cell + Tag**
701
+
702
+ ---
703
+
444
704
  ---
445
705
 
446
706
  ### Basic Cell Spacing
447
707
 
448
708
  These rules establish how much margin should exist between and around elements. Multiple Basic and/or Component Cells are placed beside each other to create a Table Row. Stack Table Rows below a Table Header to create a full Table.
449
709
 
710
+ **Basic Cell_spacing**
711
+
712
+ ---
713
+
450
714
  ---
451
715
 
452
716
  ## Component Cell
@@ -471,12 +735,36 @@ Component Cells can accept any type of element, including any combination or num
471
735
  | Default | Filled (left aligned) | Filled (center aligned) | Filled (right aligned) | Filled (fit contents) |
472
736
  | ------- | --------------------- | ----------------------- | ---------------------- | --------------------- |
473
737
 
738
+ **Component Cell_empty_left aligned**
739
+
740
+ ---
741
+
742
+ **Component Cell_filled_left aligned**
743
+
744
+ ---
745
+
746
+ **Component Cell_filled_center aligned**
747
+
748
+ ---
749
+
750
+ **Component Cell_filled_right aligned**
751
+
752
+ ---
753
+
754
+ **Component Cell_filled_fit contents**
755
+
756
+ ---
757
+
474
758
  ---
475
759
 
476
760
  ### Component Cell Spacing
477
761
 
478
762
  These rules establish how much margin should exist between and around elements. Multiple Basic and/or Component Cells are placed beside each other to create a Table Row. Stack Table Rows below a Table Header to create a full Table.
479
763
 
764
+ **Component Cell_spacing**
765
+
766
+ ---
767
+
480
768
  ---
481
769
 
482
770
  ## Header Cell
@@ -505,12 +793,40 @@ Each Header Cell can have an optional Tooltip appear when hovered over. This can
505
793
  | Default | Default (center aligned) | Default (right aligned) | Hover + Tooltip | Active (ascending) | Active (descending) |
506
794
  | ------- | ------------------------ | ----------------------- | --------------- | ------------------ | ------------------- |
507
795
 
796
+ **Header Cell_left aligned_default**
797
+
798
+ ---
799
+
800
+ **Header Cell_center aligned_default**
801
+
802
+ ---
803
+
804
+ **Header Cell_right aligned_default**
805
+
806
+ ---
807
+
808
+ **Header Cell_left aligned_tooltip**
809
+
810
+ ---
811
+
812
+ **Header Cell_right aligned_ascending**
813
+
814
+ ---
815
+
816
+ **Header Cell_left aligned_descending**
817
+
818
+ ---
819
+
508
820
  ---
509
821
 
510
822
  ### Header Cell Spacing
511
823
 
512
824
  These rules establish how much margin should exist between and around elements. Multiple Header Cells are placed beside each other to create a Table Header. Stack Table Rows below a Table Header to create a full Table.
513
825
 
826
+ **Header Cell spacing**
827
+
828
+ ---
829
+
514
830
  ---
515
831
 
516
832
  ## Table Row
@@ -537,32 +853,72 @@ Additionally, Checkbox Inputs can be placed within a Component Cell in the first
537
853
  | Default | Default (no divider) | Hover + Tooltip | Selected | Disabled |
538
854
  | ------- | -------------------- | --------------- | -------- | -------- |
539
855
 
856
+ **TableRow_default_divider**
857
+
858
+ ---
859
+
860
+ **TableRow_default_no divider**
861
+
862
+ ---
863
+
864
+ **TableRow_hover + tooltip**
865
+
866
+ ---
867
+
868
+ **TableRow_selected**
869
+
870
+ ---
871
+
872
+ **TableRow_disabled**
873
+
874
+ ---
875
+
540
876
  ---
541
877
 
542
878
  ### Table Row Actions
543
879
 
544
880
  Table Rows may have actions tied to them, such as the ability to edit, delete, download, etc. Users complete these actions by clicking on corresponding Icon Buttons that are placed within a Component Cell in the final column at the end of a Table Row (1). Table Row Actions can either be exposed on hover or can be persistent in the Table at all times.
545
881
 
882
+ **Table Row actions_default**
883
+
884
+ ---
885
+
546
886
  #### Overflow Menu
547
887
 
548
888
  An overflow Icon Button, represented by the `DotsHorizontal3` icon (2), can be used to surface a Dropdown Menu (3) that contains additional actions. This should be used in instances where a large number of actions are needed (generally more than three) or the designer wants to save space in wide Tables that contain many columns.
549
889
 
890
+ **Table Row actions_overflow**
891
+
892
+ ---
893
+
550
894
  #### Bulk Actions
551
895
 
552
896
  Tables can be designed to allow users to complete actions across multiple Table Rows at the same time, known as bulk actions. Similar to row actions, bulk actions are completed by clicking on corresponding Icon Buttons that are located at the top right of the Table, above the Table Header; they should be inactive when no rows are selected (4).
553
897
 
898
+ **Bulk Table Row actions_default**
899
+
900
+ ---
901
+
554
902
  #### Selectable Rows
555
903
 
556
904
  To make Table Rows selectable, designers must include Checkbox Inputs in the first column of the row (5). It is recommended that only once rows are selected should applicable bulk action Icon Buttons become enabled, allowing users to take action across all selected rows (6). How this functionality is implemented is ultimately up to the product team. Add a counter to indicate how many rows have been selected (7).
557
905
 
558
906
  Because actions taken at the row level will impact stored data in the application, row and bulk actions are completely controlled by the application itself and not the SDS component.
559
907
 
908
+ **Bulk Table Row actions_selected**
909
+
910
+ ---
911
+
560
912
  ---
561
913
 
562
914
  ### Table Row Spacing
563
915
 
564
916
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
565
917
 
918
+ **Table Row spacing**
919
+
920
+ ---
921
+
566
922
  ---
567
923
 
568
924
  ## Table Header
@@ -582,12 +938,20 @@ Default
582
938
 
583
939
  A Table Header is a container filled with multiple Header Cells placed side-by-side to form a header row. This row is placed at the top of a Table with each Header Cell serving as the column header for the content below it; a 2px border should be placed below it. There can only be one Table Header per Table.
584
940
 
941
+ **Table Header**
942
+
943
+ ---
944
+
585
945
  ---
586
946
 
587
947
  ### Table Header Spacing
588
948
 
589
949
  These rules establish how much margin should exist between and around elements. Stack Table Rows below a Table Header to create a full Table.
590
950
 
951
+ **Table Header spacing**
952
+
953
+ ---
954
+
591
955
  ---
592
956
 
593
957
  ## Pagination
@@ -612,23 +976,67 @@ Users are able to click on any page number to jump immediately to that page; oth
612
976
  | Default | Default (square) | Hover | Default (ellipsis disabled) | Default (ellipsis enabled) |
613
977
  | ------- | ---------------- | ----- | --------------------------- | -------------------------- |
614
978
 
979
+ **Pagination_default**
980
+
981
+ ---
982
+
983
+ **Pagination_default_square**
984
+
985
+ ---
986
+
987
+ **Pagination_hover**
988
+
989
+ ---
990
+
991
+ **Pagination_truncated dropdown_false**
992
+
993
+ ---
994
+
995
+ **Pagination_truncated dropdown_true**
996
+
997
+ ---
998
+
615
999
  ---
616
1000
 
617
1001
  ### Pagination Spacing
618
1002
 
619
1003
  These rules establish how much margin should exist between and around elements. Place Pagination below the final Table Row on each page of the Table.
620
1004
 
1005
+ **Pagination_spacing**
1006
+
1007
+ ---
1008
+
621
1009
  ## Code
622
1010
 
623
1011
  ## Table Components
624
1012
 
625
- | `Tables` are built by combining `CellHeader` with `CellBasic` or `CellComponent`, providing flexibility for teams to create `Tables` that house any type of content their product's require. `Tables` can be sorted, either ascending or descending, by clicking on any `CellHeader` that has sorting enabled. To avoid slow loading speeds in `Tables` that contain large amounts of data, they should be split across multiple pages; incorporate `Pagination` to help users navigate between the pages of multi-page Tables. `Filters` are often used in conjunction with Tables, allowing users to manipulate what content is viewable in the `Table` by the parameters indicated in the `Filter`. | | **Jump to component:** CellBasic CellComponent CellHeader TableRow Pagination |
626
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ----------------------------------------------------------------------------- |
1013
+ | `Tables` are built by combining `CellHeader` with `CellBasic` or `CellComponent`, providing flexibility for teams to create `Tables` that house any type of content their product's require. `Tables` can be sorted, either ascending or descending, by clicking on any `CellHeader` that has sorting enabled. To avoid slow loading speeds in `Tables` that contain large amounts of data, they should be split across multiple pages; incorporate `Pagination` to help users navigate between the pages of multi-page Tables. `Filters` are often used in conjunction with Tables, allowing users to manipulate what content is viewable in the `Table` by the parameters indicated in the `Filter`. | | **Jump to component:** CellBasic CellComponent CellHeader TableRow Pagination PreComposedTable |
1014
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ---------------------------------------------------------------------------------------------- |
627
1015
 
628
1016
  ### Visual Preview
629
1017
 
630
1018
  > **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
631
1019
 
1020
+ **Preview_Code_CellBasic**
1021
+
1022
+ ---
1023
+
1024
+ **Preview_Code_CellComponent**
1025
+
1026
+ ---
1027
+
1028
+ **Preview_Code_CellHeader**
1029
+
1030
+ ---
1031
+
1032
+ **Preview_Code_TableRow**
1033
+
1034
+ ---
1035
+
1036
+ **Preview_Code_Pagination**
1037
+
1038
+ ---
1039
+
632
1040
  > **Note:** The code examples below must install dependencies before displaying and may take extra time to load
633
1041
 
634
1042
  ---
@@ -779,15 +1187,14 @@ root.render(
779
1187
  <head>
780
1188
  <meta charset="UTF-8" />
781
1189
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
782
- <title>Table</title>
783
1190
  <link rel="preconnect" href="https://fonts.googleapis.com" />
784
1191
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
785
1192
  <link
786
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1193
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
787
1194
  rel="stylesheet"
788
1195
  />
789
1196
  <link
790
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1197
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
791
1198
  rel="stylesheet"
792
1199
  />
793
1200
  </head>
@@ -949,15 +1356,14 @@ root.render(
949
1356
  <head>
950
1357
  <meta charset="UTF-8" />
951
1358
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
952
- <title>Table</title>
953
1359
  <link rel="preconnect" href="https://fonts.googleapis.com" />
954
1360
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
955
1361
  <link
956
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1362
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
957
1363
  rel="stylesheet"
958
1364
  />
959
1365
  <link
960
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1366
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
961
1367
  rel="stylesheet"
962
1368
  />
963
1369
  </head>
@@ -1121,15 +1527,14 @@ root.render(
1121
1527
  <head>
1122
1528
  <meta charset="UTF-8" />
1123
1529
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1124
- <title>Table</title>
1125
1530
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1126
1531
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1127
1532
  <link
1128
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1533
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1129
1534
  rel="stylesheet"
1130
1535
  />
1131
1536
  <link
1132
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1537
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1133
1538
  rel="stylesheet"
1134
1539
  />
1135
1540
  </head>
@@ -1297,15 +1702,14 @@ root.render(
1297
1702
  <head>
1298
1703
  <meta charset="UTF-8" />
1299
1704
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1300
- <title>Table</title>
1301
1705
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1302
1706
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1303
1707
  <link
1304
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1708
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1305
1709
  rel="stylesheet"
1306
1710
  />
1307
1711
  <link
1308
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1712
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1309
1713
  rel="stylesheet"
1310
1714
  />
1311
1715
  </head>
@@ -1484,15 +1888,14 @@ root.render(
1484
1888
  <head>
1485
1889
  <meta charset="UTF-8" />
1486
1890
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1487
- <title>Table</title>
1488
1891
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1489
1892
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1490
1893
  <link
1491
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1894
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1492
1895
  rel="stylesheet"
1493
1896
  />
1494
1897
  <link
1495
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1898
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1496
1899
  rel="stylesheet"
1497
1900
  />
1498
1901
  </head>
@@ -1643,15 +2046,14 @@ root.render(
1643
2046
  <head>
1644
2047
  <meta charset="UTF-8" />
1645
2048
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1646
- <title>Table</title>
1647
2049
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1648
2050
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1649
2051
  <link
1650
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2052
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1651
2053
  rel="stylesheet"
1652
2054
  />
1653
2055
  <link
1654
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2056
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1655
2057
  rel="stylesheet"
1656
2058
  />
1657
2059
  </head>
@@ -1823,15 +2225,14 @@ root.render(
1823
2225
  <head>
1824
2226
  <meta charset="UTF-8" />
1825
2227
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1826
- <title>Pagination</title>
1827
2228
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1828
2229
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1829
2230
  <link
1830
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2231
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1831
2232
  rel="stylesheet"
1832
2233
  />
1833
2234
  <link
1834
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2235
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1835
2236
  rel="stylesheet"
1836
2237
  />
1837
2238
  </head>
@@ -2131,15 +2532,14 @@ root.render(
2131
2532
  <head>
2132
2533
  <meta charset="UTF-8" />
2133
2534
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2134
- <title>Table</title>
2135
2535
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2136
2536
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2137
2537
  <link
2138
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2538
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2139
2539
  rel="stylesheet"
2140
2540
  />
2141
2541
  <link
2142
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2542
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2143
2543
  rel="stylesheet"
2144
2544
  />
2145
2545
  </head>
@@ -2169,6 +2569,34 @@ root.render(
2169
2569
 
2170
2570
  ---
2171
2571
 
2572
+ ## PreComposedTable
2573
+
2574
+ This component is a fully-featured, composable table built on top of TanStack Table with built-in support for `sorting`, `pagination`, `row selection`, `filtering`, `column pinning`, and `responsive sizing`
2575
+
2576
+ ### SDS Source Code
2577
+
2578
+ The component's source code in the SDS codebase can be found here.
2579
+
2580
+ ### Props
2581
+
2582
+ Any custom SDS props and MUI props required for implementation are found on the table below.
2583
+
2584
+ | Name | Type | Default | Description |
2585
+ | -------------------------- | ------------------------------------------------ | -------- | ---------------------------------------------------------------------------------- | --- | ----------------------------------------------------------------------- |
2586
+ | `data` | `TData[]` | `-` | Array of data objects to display in the table rows |
2587
+ | `columns` | `ColumnDef<TData>[]` | `-` | Column definitions that specify how data should be rendered and behave |
2588
+ | `enableSorting` | `boolean` | `false` | Enables sorting functionality for table columns |
2589
+ | `enableRowSelection` | `boolean` | `false` | Adds checkboxes for row selection with select-all functionality |
2590
+ | `shouldPinSelectRowToLeft` | `boolean` | `true` | Pins the row selection column to the left/right side of the table |
2591
+ | `enablePagination` | `boolean` | `false` | Enables pagination controls at the bottom of the table |
2592
+ | `enableGlobalFiltering` | `boolean` | `false` | Displays a search input that filters across all columns |
2593
+ | `paginationConfig` | `Partial<PaginationProps> & { placement?: "left" | "center" | "right" }` | `-` | Config object for pagination settings including placement and page size |
2594
+ | `className` | `string` | `-` | CSS class name to apply to the table container |
2595
+ | `style` | `React.CSSProperties` | `-` | Inline styles to apply to the table container |
2596
+ | `tableWidth` | `string` | `100%` | Sets the width of the table container |
2597
+ | `tableRowProps` | `Partial<TableRowProps>` | `-` | Additional props to pass to each table row component |
2598
+ | `onRowSelect` | `(selectedRows: TData[]) => void` | `-` | Callback triggered when row selection changes; receives array of selected row data |
2599
+
2172
2600
  ## Component Recipes
2173
2601
 
2174
2602
  ## Table Recipes
@@ -2432,15 +2860,14 @@ root.render(
2432
2860
  <head>
2433
2861
  <meta charset="UTF-8" />
2434
2862
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2435
- <title>Table</title>
2436
2863
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2437
2864
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2438
2865
  <link
2439
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2866
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2440
2867
  rel="stylesheet"
2441
2868
  />
2442
2869
  <link
2443
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2870
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2444
2871
  rel="stylesheet"
2445
2872
  />
2446
2873
  </head>
@@ -2891,15 +3318,14 @@ root.render(
2891
3318
  <head>
2892
3319
  <meta charset="UTF-8" />
2893
3320
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2894
- <title>Table</title>
2895
3321
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2896
3322
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2897
3323
  <link
2898
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
3324
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2899
3325
  rel="stylesheet"
2900
3326
  />
2901
3327
  <link
2902
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
3328
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2903
3329
  rel="stylesheet"
2904
3330
  />
2905
3331
  </head>
@@ -3210,15 +3636,14 @@ root.render(
3210
3636
  <head>
3211
3637
  <meta charset="UTF-8" />
3212
3638
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3213
- <title>Table</title>
3214
3639
  <link rel="preconnect" href="https://fonts.googleapis.com" />
3215
3640
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
3216
3641
  <link
3217
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
3642
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
3218
3643
  rel="stylesheet"
3219
3644
  />
3220
3645
  <link
3221
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
3646
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
3222
3647
  rel="stylesheet"
3223
3648
  />
3224
3649
  </head>
@@ -3682,15 +4107,14 @@ root.render(
3682
4107
  <head>
3683
4108
  <meta charset="UTF-8" />
3684
4109
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3685
- <title>Table</title>
3686
4110
  <link rel="preconnect" href="https://fonts.googleapis.com" />
3687
4111
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
3688
4112
  <link
3689
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4113
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
3690
4114
  rel="stylesheet"
3691
4115
  />
3692
4116
  <link
3693
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4117
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
3694
4118
  rel="stylesheet"
3695
4119
  />
3696
4120
  </head>
@@ -4094,15 +4518,14 @@ root.render(
4094
4518
  <head>
4095
4519
  <meta charset="UTF-8" />
4096
4520
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4097
- <title>Table</title>
4098
4521
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4099
4522
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4100
4523
  <link
4101
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4524
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4102
4525
  rel="stylesheet"
4103
4526
  />
4104
4527
  <link
4105
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4528
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4106
4529
  rel="stylesheet"
4107
4530
  />
4108
4531
  </head>
@@ -4470,15 +4893,14 @@ root.render(
4470
4893
  <head>
4471
4894
  <meta charset="UTF-8" />
4472
4895
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4473
- <title>Table</title>
4474
4896
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4475
4897
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4476
4898
  <link
4477
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4899
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4478
4900
  rel="stylesheet"
4479
4901
  />
4480
4902
  <link
4481
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4903
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4482
4904
  rel="stylesheet"
4483
4905
  />
4484
4906
  </head>
@@ -4905,15 +5327,14 @@ root.render(
4905
5327
  <head>
4906
5328
  <meta charset="UTF-8" />
4907
5329
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4908
- <title>Table</title>
4909
5330
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4910
5331
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4911
5332
  <link
4912
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
5333
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4913
5334
  rel="stylesheet"
4914
5335
  />
4915
5336
  <link
4916
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
5337
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4917
5338
  rel="stylesheet"
4918
5339
  />
4919
5340
  </head>