@czi-sds/mcp 0.5.2 → 0.5.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.
Files changed (42) hide show
  1. package/data/component-list.json +1 -0
  2. package/data/component-props/NavigationHeader.json +4 -0
  3. package/data/tailwind.json +25 -25
  4. package/data/zeroheight-cache.json +5065 -1
  5. package/data/zeroheight-exports/Accordion.md +79 -22
  6. package/data/zeroheight-exports/Banner.md +102 -10
  7. package/data/zeroheight-exports/Buttons.md +1010 -1461
  8. package/data/zeroheight-exports/Callout.md +164 -11
  9. package/data/zeroheight-exports/Colors.md +1164 -41
  10. package/data/zeroheight-exports/Content-Card.md +148 -0
  11. package/data/zeroheight-exports/Control-Inputs.md +769 -72
  12. package/data/zeroheight-exports/Corners.md +8 -15
  13. package/data/zeroheight-exports/Dialog.md +190 -14
  14. package/data/zeroheight-exports/Downloads.md +116 -0
  15. package/data/zeroheight-exports/Dropdown-Input.md +612 -16
  16. package/data/zeroheight-exports/Dropdown-Menus.md +935 -0
  17. package/data/zeroheight-exports/Field-Inputs.md +430 -9
  18. package/data/zeroheight-exports/Filters.md +232 -9
  19. package/data/zeroheight-exports/Getting-Started.md +7 -9
  20. package/data/zeroheight-exports/Hero.md +152 -0
  21. package/data/zeroheight-exports/Icons.md +1854 -218
  22. package/data/zeroheight-exports/Intent.md +40 -0
  23. package/data/zeroheight-exports/Link.md +52 -6
  24. package/data/zeroheight-exports/Lists.md +360 -6
  25. package/data/zeroheight-exports/Loading-Indicator.md +6 -2
  26. package/data/zeroheight-exports/Navigation.md +324 -8
  27. package/data/zeroheight-exports/Notification.md +166 -16
  28. package/data/zeroheight-exports/Panel.md +68 -16
  29. package/data/zeroheight-exports/README.md +17 -19
  30. package/data/zeroheight-exports/Responsive-Design.md +52 -0
  31. package/data/zeroheight-exports/Search-Input.md +40 -2
  32. package/data/zeroheight-exports/Search.md +232 -2
  33. package/data/zeroheight-exports/Segmented-Control.md +34 -9
  34. package/data/zeroheight-exports/Table.md +452 -51
  35. package/data/zeroheight-exports/Tabs.md +534 -11
  36. package/data/zeroheight-exports/Tags.md +504 -14
  37. package/data/zeroheight-exports/Text-Link.md +90 -6
  38. package/data/zeroheight-exports/Theming.md +36 -6
  39. package/data/zeroheight-exports/Tooltips.md +453 -18
  40. package/data/zeroheight-exports/Typography.md +64 -32
  41. package/package.json +3 -3
  42. 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
  ---
@@ -36,7 +48,9 @@ Click on each variant below to enter inspect view and get details on its code at
36
48
 
37
49
  These rules establish how much margin should exist between and around elements. Multiple Basic Cells are placed beside each other to create a Table Row. Stack Table Rows below a Table Header to create a full Table.
38
50
 
51
+ **Basic Cell spacing**
39
52
 
53
+ ---
40
54
 
41
55
  ---
42
56
 
@@ -53,6 +67,14 @@ Click on each variant below to enter inspect view and get details on its code at
53
67
 
54
68
  **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
69
 
70
+ **Default**
71
+
72
+ ---
73
+
74
+ ---
75
+
76
+ **Default (right aligned)**
77
+
56
78
  ---
57
79
 
58
80
  ---
@@ -61,6 +83,10 @@ Click on each variant below to enter inspect view and get details on its code at
61
83
 
62
84
  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
85
 
86
+ **Header Cell spacing**
87
+
88
+ ---
89
+
64
90
  ---
65
91
 
66
92
  ## Table Row
@@ -72,12 +98,20 @@ A Table Row is a container filled with multiple Basic Cells placed side-by-side
72
98
 
73
99
  Click on each variant below to enter inspect view and get details on its code attributes and any global styles it uses.
74
100
 
101
+ **Default**
102
+
103
+ ---
104
+
75
105
  ---
76
106
 
77
107
  ### Table Row Spacing
78
108
 
79
109
  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
110
 
111
+ **Table Row spacing**
112
+
113
+ ---
114
+
81
115
  ---
82
116
 
83
117
  ## Table Header
@@ -87,12 +121,20 @@ These rules establish how much margin should exist between and around elements.
87
121
 
88
122
  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
123
 
124
+ **Table Header**
125
+
126
+ ---
127
+
90
128
  ---
91
129
 
92
130
  ### Table Header Spacing
93
131
 
94
132
  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
133
 
134
+ **Table Header spacing**
135
+
136
+ ---
137
+
96
138
  ## Code
97
139
 
98
140
  ## Table Components
@@ -151,6 +193,10 @@ Tables are used to store and visually organize data and other content into a ser
151
193
 
152
194
  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
195
 
196
+ **Table Anatomy**
197
+
198
+ ---
199
+
154
200
  ---
155
201
 
156
202
  ## Content Cells
@@ -174,18 +220,44 @@ Click on each variant below to enter inspect view and get details on its code at
174
220
 
175
221
  **Note:** Dotted lines around the cells below are only for demonstration purposes to show the cells' containers; in application, individual cells have no borders.
176
222
 
223
+ **Default**
224
+
225
+ ---
226
+
227
+ ---
228
+
229
+ **Default + Secondary Text**
230
+
231
+ ---
232
+
233
+ ---
234
+
235
+ **Default + Secondary Text + Tertiary Text**
177
236
 
237
+ ---
178
238
 
179
239
  ---
180
240
 
241
+ **Default (right aligned)**
242
+
181
243
  ---
182
244
 
183
245
  ---
184
246
 
247
+ **Default (wrapped)**
248
+
185
249
  ---
186
250
 
187
251
  ---
188
252
 
253
+ **Hover (truncated) + Tooltip**
254
+
255
+ ---
256
+
257
+ ---
258
+
259
+ **Basic Cell + Icon**
260
+
189
261
  ---
190
262
 
191
263
  ### Component Cell
@@ -202,17 +274,31 @@ Click on each variant below to enter inspect view and get details on its code at
202
274
 
203
275
  **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
276
 
277
+ **Default**
278
+
279
+ ---
280
+
281
+ ---
282
+
283
+ **Filled**
284
+
205
285
  ---
206
286
 
207
287
  ---
208
288
 
289
+ **Filled (cell fit to content)**
290
+
291
+ ---
292
+
209
293
  ---
210
294
 
211
295
  ### Content Cell Spacing
212
296
 
213
297
  These rules establish how much margin should exist between and around elements. Multiple content cells are placed beside each other to create a Table Row. Stack Table Rows below a Table Header to create a full Table.
214
298
 
299
+ **Content Cell spacing**
215
300
 
301
+ ---
216
302
 
217
303
  ---
218
304
 
@@ -232,9 +318,23 @@ Each Header Cell can have an optional Tooltip appear when hovered over by using
232
318
  | **Default** | **Hover** |
233
319
  | ----------- | --------- |
234
320
 
321
+ **CellHeader**
322
+
235
323
  ---
236
324
 
325
+ **CellHeader**
237
326
 
327
+ ---
328
+
329
+ ---
330
+
331
+ **CellHeader**
332
+
333
+ ---
334
+
335
+ **CellHeader**
336
+
337
+ ---
238
338
 
239
339
  ### Header Cell Variants
240
340
 
@@ -242,12 +342,32 @@ Click on each variant below to enter inspect view and get details on its code at
242
342
 
243
343
  **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
344
 
345
+ **Default**
346
+
347
+ ---
348
+
245
349
  ---
246
350
 
351
+ **Default (right aligned)**
352
+
353
+ ---
354
+
355
+ ---
356
+
357
+ **Hover + Tooltip**
358
+
247
359
  ---
248
360
 
249
361
  ---
250
362
 
363
+ **Active (ascending)**
364
+
365
+ ---
366
+
367
+ ---
368
+
369
+ **Active (descending)**
370
+
251
371
  ---
252
372
 
253
373
  ---
@@ -256,6 +376,10 @@ Click on each variant below to enter inspect view and get details on its code at
256
376
 
257
377
  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
378
 
379
+ **Header Cell spacing**
380
+
381
+ ---
382
+
259
383
  ---
260
384
 
261
385
  ## Table Row
@@ -277,14 +401,32 @@ Use the `disabled` prop to gray out all of the cells in the row and make it so u
277
401
 
278
402
  Click on each variant below to enter inspect view and get details on its code attributes and any global styles it uses.
279
403
 
404
+ **Default**
405
+
406
+ ---
407
+
408
+ ---
409
+
410
+ **Default (no divider)**
411
+
412
+ ---
413
+
414
+ ---
415
+
416
+ **Hover + Tooltip**
280
417
 
418
+ ---
281
419
 
282
420
  ---
283
421
 
422
+ **Selected**
423
+
284
424
  ---
285
425
 
286
426
  ---
287
427
 
428
+ **Disabled**
429
+
288
430
  ---
289
431
 
290
432
  ---
@@ -293,19 +435,29 @@ Click on each variant below to enter inspect view and get details on its code at
293
435
 
294
436
  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
437
 
438
+ **Table Row actions_default**
439
+
440
+ ---
441
+
296
442
  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
443
 
444
+ **Table Row actions_overflow**
298
445
 
446
+ ---
299
447
 
300
448
  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
449
 
450
+ **Bulk Table Row actions_default**
302
451
 
452
+ ---
303
453
 
304
454
  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
455
 
306
456
  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
457
 
458
+ **Bulk Table Row actions_selected**
308
459
 
460
+ ---
309
461
 
310
462
  ---
311
463
 
@@ -313,6 +465,10 @@ Because actions taken at the row level will impact stored data in the applicatio
313
465
 
314
466
  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
467
 
468
+ **Table Row spacing**
469
+
470
+ ---
471
+
316
472
  ---
317
473
 
318
474
  ## Table Header
@@ -322,12 +478,20 @@ These rules establish how much margin should exist between and around elements.
322
478
 
323
479
  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
480
 
481
+ **Table Header**
482
+
483
+ ---
484
+
325
485
  ---
326
486
 
327
487
  ### Table Header Spacing
328
488
 
329
489
  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
490
 
491
+ **Table Header spacing**
492
+
493
+ ---
494
+
331
495
  ---
332
496
 
333
497
  ## CZ ID Tables
@@ -336,14 +500,34 @@ The following Table configurations are currently in use in CZ ID.
336
500
 
337
501
  ### Download Table
338
502
 
503
+ **Table Example – Download Table**
504
+
505
+ ---
506
+
339
507
  ### Project Table
340
508
 
509
+ **Table Example – Project Table**
510
+
511
+ ---
512
+
341
513
  ### Sample Table – Consensus Genome
342
514
 
515
+ **Table Example – Sample Table: Consensus Genome**
516
+
517
+ ---
518
+
343
519
  ### Sample Table – Metagenomic
344
520
 
521
+ **Table Example – Sample Table: Metagenomic**
522
+
523
+ ---
524
+
345
525
  ### Taxon Table
346
526
 
527
+ **Table Example – Taxon Table**
528
+
529
+ ---
530
+
347
531
  ## Code
348
532
 
349
533
  ## Table Components
@@ -361,8 +545,6 @@ Storybook
361
545
 
362
546
  ---
363
547
 
364
-
365
-
366
548
  ### CellComponent
367
549
 
368
550
  Storybook
@@ -393,8 +575,6 @@ Storybook
393
575
 
394
576
  Storybook
395
577
 
396
-
397
-
398
578
  ---
399
579
 
400
580
  Tables are used to store and visually organize data and other content into a series of cells grouped into a collection of rows and columns, helping users better understand and analyze a given set of information.
@@ -410,10 +590,38 @@ Tables are used to store and visually organize data and other content into a ser
410
590
 
411
591
  > **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
592
 
593
+ **Preview_Guidelines_CellBasic**
594
+
595
+ ---
596
+
597
+ **Preview_Guidelines_CellComponent**
598
+
599
+ ---
600
+
601
+ **Preview_Guidelines_CellHeader**
602
+
603
+ ---
604
+
605
+ **Preview_Guidelines_TableRow**
606
+
607
+ ---
608
+
609
+ **Preview_Guidelines_TableHeader**
610
+
611
+ ---
612
+
613
+ **Preview_Guidelines_Pagination**
614
+
615
+ ---
616
+
413
617
  ---
414
618
 
415
619
  ### Table Anatomy
416
620
 
621
+ **Table Anatomy**
622
+
623
+ ---
624
+
417
625
  ---
418
626
 
419
627
  ## Basic Cell
@@ -438,15 +646,51 @@ The Basic Cell is intended to be filled with strings of text or numerical values
438
646
  | Default | Default + Secondary text | Default + Secondary text + Tertiary text | Default (right aligned) |
439
647
  | ------- | ------------------------ | ---------------------------------------- | ----------------------- |
440
648
 
649
+ **Basic Cell_left aligned_primary**
650
+
651
+ ---
652
+
653
+ **Basic Cell_left aligned_primary + secondary**
654
+
655
+ ---
656
+
657
+ **Basic Cell_left aligned_primary + secondary + tertiary**
658
+
659
+ ---
660
+
661
+ **Basic Cell_right aligned**
662
+
663
+ ---
664
+
441
665
  | Default (wrapped) | Hover (truncated) + Tooltip | Basic Cell + Icon | Basic Cell + Tag |
442
666
  | ----------------- | --------------------------- | ----------------- | ---------------- |
443
667
 
668
+ **Basic Cell_wrap**
669
+
670
+ ---
671
+
672
+ **Basic Cell_truncate**
673
+
674
+ ---
675
+
676
+ **Basic Cell + Icon**
677
+
678
+ ---
679
+
680
+ **Basic Cell + Tag**
681
+
682
+ ---
683
+
444
684
  ---
445
685
 
446
686
  ### Basic Cell Spacing
447
687
 
448
688
  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
689
 
690
+ **Basic Cell_spacing**
691
+
692
+ ---
693
+
450
694
  ---
451
695
 
452
696
  ## Component Cell
@@ -471,12 +715,36 @@ Component Cells can accept any type of element, including any combination or num
471
715
  | Default | Filled (left aligned) | Filled (center aligned) | Filled (right aligned) | Filled (fit contents) |
472
716
  | ------- | --------------------- | ----------------------- | ---------------------- | --------------------- |
473
717
 
718
+ **Component Cell_empty_left aligned**
719
+
720
+ ---
721
+
722
+ **Component Cell_filled_left aligned**
723
+
724
+ ---
725
+
726
+ **Component Cell_filled_center aligned**
727
+
728
+ ---
729
+
730
+ **Component Cell_filled_right aligned**
731
+
732
+ ---
733
+
734
+ **Component Cell_filled_fit contents**
735
+
736
+ ---
737
+
474
738
  ---
475
739
 
476
740
  ### Component Cell Spacing
477
741
 
478
742
  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
743
 
744
+ **Component Cell_spacing**
745
+
746
+ ---
747
+
480
748
  ---
481
749
 
482
750
  ## Header Cell
@@ -505,12 +773,40 @@ Each Header Cell can have an optional Tooltip appear when hovered over. This can
505
773
  | Default | Default (center aligned) | Default (right aligned) | Hover + Tooltip | Active (ascending) | Active (descending) |
506
774
  | ------- | ------------------------ | ----------------------- | --------------- | ------------------ | ------------------- |
507
775
 
776
+ **Header Cell_left aligned_default**
777
+
778
+ ---
779
+
780
+ **Header Cell_center aligned_default**
781
+
782
+ ---
783
+
784
+ **Header Cell_right aligned_default**
785
+
786
+ ---
787
+
788
+ **Header Cell_left aligned_tooltip**
789
+
790
+ ---
791
+
792
+ **Header Cell_right aligned_ascending**
793
+
794
+ ---
795
+
796
+ **Header Cell_left aligned_descending**
797
+
798
+ ---
799
+
508
800
  ---
509
801
 
510
802
  ### Header Cell Spacing
511
803
 
512
804
  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
805
 
806
+ **Header Cell spacing**
807
+
808
+ ---
809
+
514
810
  ---
515
811
 
516
812
  ## Table Row
@@ -537,32 +833,72 @@ Additionally, Checkbox Inputs can be placed within a Component Cell in the first
537
833
  | Default | Default (no divider) | Hover + Tooltip | Selected | Disabled |
538
834
  | ------- | -------------------- | --------------- | -------- | -------- |
539
835
 
836
+ **TableRow_default_divider**
837
+
838
+ ---
839
+
840
+ **TableRow_default_no divider**
841
+
842
+ ---
843
+
844
+ **TableRow_hover + tooltip**
845
+
846
+ ---
847
+
848
+ **TableRow_selected**
849
+
850
+ ---
851
+
852
+ **TableRow_disabled**
853
+
854
+ ---
855
+
540
856
  ---
541
857
 
542
858
  ### Table Row Actions
543
859
 
544
860
  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
861
 
862
+ **Table Row actions_default**
863
+
864
+ ---
865
+
546
866
  #### Overflow Menu
547
867
 
548
868
  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
869
 
870
+ **Table Row actions_overflow**
871
+
872
+ ---
873
+
550
874
  #### Bulk Actions
551
875
 
552
876
  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
877
 
878
+ **Bulk Table Row actions_default**
879
+
880
+ ---
881
+
554
882
  #### Selectable Rows
555
883
 
556
884
  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
885
 
558
886
  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
887
 
888
+ **Bulk Table Row actions_selected**
889
+
890
+ ---
891
+
560
892
  ---
561
893
 
562
894
  ### Table Row Spacing
563
895
 
564
896
  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
897
 
898
+ **Table Row spacing**
899
+
900
+ ---
901
+
566
902
  ---
567
903
 
568
904
  ## Table Header
@@ -582,12 +918,20 @@ Default
582
918
 
583
919
  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
920
 
921
+ **Table Header**
922
+
923
+ ---
924
+
585
925
  ---
586
926
 
587
927
  ### Table Header Spacing
588
928
 
589
929
  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
930
 
931
+ **Table Header spacing**
932
+
933
+ ---
934
+
591
935
  ---
592
936
 
593
937
  ## Pagination
@@ -612,23 +956,67 @@ Users are able to click on any page number to jump immediately to that page; oth
612
956
  | Default | Default (square) | Hover | Default (ellipsis disabled) | Default (ellipsis enabled) |
613
957
  | ------- | ---------------- | ----- | --------------------------- | -------------------------- |
614
958
 
959
+ **Pagination_default**
960
+
961
+ ---
962
+
963
+ **Pagination_default_square**
964
+
965
+ ---
966
+
967
+ **Pagination_hover**
968
+
969
+ ---
970
+
971
+ **Pagination_truncated dropdown_false**
972
+
973
+ ---
974
+
975
+ **Pagination_truncated dropdown_true**
976
+
977
+ ---
978
+
615
979
  ---
616
980
 
617
981
  ### Pagination Spacing
618
982
 
619
983
  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
984
 
985
+ **Pagination_spacing**
986
+
987
+ ---
988
+
621
989
  ## Code
622
990
 
623
991
  ## Table Components
624
992
 
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
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ----------------------------------------------------------------------------- |
993
+ | `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 |
994
+ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --- | ---------------------------------------------------------------------------------------------- |
627
995
 
628
996
  ### Visual Preview
629
997
 
630
998
  > **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
999
 
1000
+ **Preview_Code_CellBasic**
1001
+
1002
+ ---
1003
+
1004
+ **Preview_Code_CellComponent**
1005
+
1006
+ ---
1007
+
1008
+ **Preview_Code_CellHeader**
1009
+
1010
+ ---
1011
+
1012
+ **Preview_Code_TableRow**
1013
+
1014
+ ---
1015
+
1016
+ **Preview_Code_Pagination**
1017
+
1018
+ ---
1019
+
632
1020
  > **Note:** The code examples below must install dependencies before displaying and may take extra time to load
633
1021
 
634
1022
  ---
@@ -779,15 +1167,14 @@ root.render(
779
1167
  <head>
780
1168
  <meta charset="UTF-8" />
781
1169
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
782
- <title>Table</title>
783
1170
  <link rel="preconnect" href="https://fonts.googleapis.com" />
784
1171
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
785
1172
  <link
786
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1173
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
787
1174
  rel="stylesheet"
788
1175
  />
789
1176
  <link
790
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1177
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
791
1178
  rel="stylesheet"
792
1179
  />
793
1180
  </head>
@@ -949,15 +1336,14 @@ root.render(
949
1336
  <head>
950
1337
  <meta charset="UTF-8" />
951
1338
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
952
- <title>Table</title>
953
1339
  <link rel="preconnect" href="https://fonts.googleapis.com" />
954
1340
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
955
1341
  <link
956
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1342
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
957
1343
  rel="stylesheet"
958
1344
  />
959
1345
  <link
960
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1346
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
961
1347
  rel="stylesheet"
962
1348
  />
963
1349
  </head>
@@ -1121,15 +1507,14 @@ root.render(
1121
1507
  <head>
1122
1508
  <meta charset="UTF-8" />
1123
1509
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1124
- <title>Table</title>
1125
1510
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1126
1511
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1127
1512
  <link
1128
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1513
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1129
1514
  rel="stylesheet"
1130
1515
  />
1131
1516
  <link
1132
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1517
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1133
1518
  rel="stylesheet"
1134
1519
  />
1135
1520
  </head>
@@ -1297,15 +1682,14 @@ root.render(
1297
1682
  <head>
1298
1683
  <meta charset="UTF-8" />
1299
1684
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1300
- <title>Table</title>
1301
1685
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1302
1686
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1303
1687
  <link
1304
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1688
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1305
1689
  rel="stylesheet"
1306
1690
  />
1307
1691
  <link
1308
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1692
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1309
1693
  rel="stylesheet"
1310
1694
  />
1311
1695
  </head>
@@ -1484,15 +1868,14 @@ root.render(
1484
1868
  <head>
1485
1869
  <meta charset="UTF-8" />
1486
1870
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1487
- <title>Table</title>
1488
1871
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1489
1872
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1490
1873
  <link
1491
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
1874
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1492
1875
  rel="stylesheet"
1493
1876
  />
1494
1877
  <link
1495
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
1878
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1496
1879
  rel="stylesheet"
1497
1880
  />
1498
1881
  </head>
@@ -1643,15 +2026,14 @@ root.render(
1643
2026
  <head>
1644
2027
  <meta charset="UTF-8" />
1645
2028
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1646
- <title>Table</title>
1647
2029
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1648
2030
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1649
2031
  <link
1650
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2032
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1651
2033
  rel="stylesheet"
1652
2034
  />
1653
2035
  <link
1654
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2036
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1655
2037
  rel="stylesheet"
1656
2038
  />
1657
2039
  </head>
@@ -1823,15 +2205,14 @@ root.render(
1823
2205
  <head>
1824
2206
  <meta charset="UTF-8" />
1825
2207
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1826
- <title>Pagination</title>
1827
2208
  <link rel="preconnect" href="https://fonts.googleapis.com" />
1828
2209
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
1829
2210
  <link
1830
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2211
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
1831
2212
  rel="stylesheet"
1832
2213
  />
1833
2214
  <link
1834
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2215
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
1835
2216
  rel="stylesheet"
1836
2217
  />
1837
2218
  </head>
@@ -2131,15 +2512,14 @@ root.render(
2131
2512
  <head>
2132
2513
  <meta charset="UTF-8" />
2133
2514
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2134
- <title>Table</title>
2135
2515
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2136
2516
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2137
2517
  <link
2138
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2518
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2139
2519
  rel="stylesheet"
2140
2520
  />
2141
2521
  <link
2142
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2522
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2143
2523
  rel="stylesheet"
2144
2524
  />
2145
2525
  </head>
@@ -2169,6 +2549,34 @@ root.render(
2169
2549
 
2170
2550
  ---
2171
2551
 
2552
+ ## PreComposedTable
2553
+
2554
+ 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`
2555
+
2556
+ ### SDS Source Code
2557
+
2558
+ The component's source code in the SDS codebase can be found here.
2559
+
2560
+ ### Props
2561
+
2562
+ Any custom SDS props and MUI props required for implementation are found on the table below.
2563
+
2564
+ | Name | Type | Default | Description |
2565
+ | -------------------------- | ------------------------------------------------ | -------- | ---------------------------------------------------------------------------------- | --- | ----------------------------------------------------------------------- |
2566
+ | `data` | `TData[]` | `-` | Array of data objects to display in the table rows |
2567
+ | `columns` | `ColumnDef<TData>[]` | `-` | Column definitions that specify how data should be rendered and behave |
2568
+ | `enableSorting` | `boolean` | `false` | Enables sorting functionality for table columns |
2569
+ | `enableRowSelection` | `boolean` | `false` | Adds checkboxes for row selection with select-all functionality |
2570
+ | `shouldPinSelectRowToLeft` | `boolean` | `true` | Pins the row selection column to the left/right side of the table |
2571
+ | `enablePagination` | `boolean` | `false` | Enables pagination controls at the bottom of the table |
2572
+ | `enableGlobalFiltering` | `boolean` | `false` | Displays a search input that filters across all columns |
2573
+ | `paginationConfig` | `Partial<PaginationProps> & { placement?: "left" | "center" | "right" }` | `-` | Config object for pagination settings including placement and page size |
2574
+ | `className` | `string` | `-` | CSS class name to apply to the table container |
2575
+ | `style` | `React.CSSProperties` | `-` | Inline styles to apply to the table container |
2576
+ | `tableWidth` | `string` | `100%` | Sets the width of the table container |
2577
+ | `tableRowProps` | `Partial<TableRowProps>` | `-` | Additional props to pass to each table row component |
2578
+ | `onRowSelect` | `(selectedRows: TData[]) => void` | `-` | Callback triggered when row selection changes; receives array of selected row data |
2579
+
2172
2580
  ## Component Recipes
2173
2581
 
2174
2582
  ## Table Recipes
@@ -2432,15 +2840,14 @@ root.render(
2432
2840
  <head>
2433
2841
  <meta charset="UTF-8" />
2434
2842
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2435
- <title>Table</title>
2436
2843
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2437
2844
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2438
2845
  <link
2439
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
2846
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2440
2847
  rel="stylesheet"
2441
2848
  />
2442
2849
  <link
2443
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
2850
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2444
2851
  rel="stylesheet"
2445
2852
  />
2446
2853
  </head>
@@ -2891,15 +3298,14 @@ root.render(
2891
3298
  <head>
2892
3299
  <meta charset="UTF-8" />
2893
3300
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
2894
- <title>Table</title>
2895
3301
  <link rel="preconnect" href="https://fonts.googleapis.com" />
2896
3302
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
2897
3303
  <link
2898
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
3304
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
2899
3305
  rel="stylesheet"
2900
3306
  />
2901
3307
  <link
2902
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
3308
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
2903
3309
  rel="stylesheet"
2904
3310
  />
2905
3311
  </head>
@@ -3210,15 +3616,14 @@ root.render(
3210
3616
  <head>
3211
3617
  <meta charset="UTF-8" />
3212
3618
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3213
- <title>Table</title>
3214
3619
  <link rel="preconnect" href="https://fonts.googleapis.com" />
3215
3620
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
3216
3621
  <link
3217
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
3622
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
3218
3623
  rel="stylesheet"
3219
3624
  />
3220
3625
  <link
3221
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
3626
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
3222
3627
  rel="stylesheet"
3223
3628
  />
3224
3629
  </head>
@@ -3682,15 +4087,14 @@ root.render(
3682
4087
  <head>
3683
4088
  <meta charset="UTF-8" />
3684
4089
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
3685
- <title>Table</title>
3686
4090
  <link rel="preconnect" href="https://fonts.googleapis.com" />
3687
4091
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
3688
4092
  <link
3689
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4093
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
3690
4094
  rel="stylesheet"
3691
4095
  />
3692
4096
  <link
3693
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4097
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
3694
4098
  rel="stylesheet"
3695
4099
  />
3696
4100
  </head>
@@ -4094,15 +4498,14 @@ root.render(
4094
4498
  <head>
4095
4499
  <meta charset="UTF-8" />
4096
4500
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4097
- <title>Table</title>
4098
4501
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4099
4502
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4100
4503
  <link
4101
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4504
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4102
4505
  rel="stylesheet"
4103
4506
  />
4104
4507
  <link
4105
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4508
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4106
4509
  rel="stylesheet"
4107
4510
  />
4108
4511
  </head>
@@ -4470,15 +4873,14 @@ root.render(
4470
4873
  <head>
4471
4874
  <meta charset="UTF-8" />
4472
4875
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4473
- <title>Table</title>
4474
4876
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4475
4877
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4476
4878
  <link
4477
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
4879
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4478
4880
  rel="stylesheet"
4479
4881
  />
4480
4882
  <link
4481
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
4883
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4482
4884
  rel="stylesheet"
4483
4885
  />
4484
4886
  </head>
@@ -4905,15 +5307,14 @@ root.render(
4905
5307
  <head>
4906
5308
  <meta charset="UTF-8" />
4907
5309
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4908
- <title>Table</title>
4909
5310
  <link rel="preconnect" href="https://fonts.googleapis.com" />
4910
5311
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
4911
5312
  <link
4912
- href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap"
5313
+ href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"
4913
5314
  rel="stylesheet"
4914
5315
  />
4915
5316
  <link
4916
- href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&display=swap"
5317
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap"
4917
5318
  rel="stylesheet"
4918
5319
  />
4919
5320
  </head>