@czi-sds/mcp 0.16.0 → 0.18.0

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 (167) hide show
  1. package/README.md +2 -1
  2. package/data/component-docs/Accordion.md +291 -0
  3. package/data/component-docs/Autocomplete.md +525 -0
  4. package/data/component-docs/Banner.md +231 -0
  5. package/data/component-docs/Button.md +224 -0
  6. package/data/component-docs/ButtonDropdown.md +256 -0
  7. package/data/component-docs/ButtonGroup.md +320 -0
  8. package/data/component-docs/ButtonToggle.md +397 -0
  9. package/data/component-docs/Callout.md +268 -0
  10. package/data/component-docs/CellBasic.md +122 -0
  11. package/data/component-docs/CellComponent.md +63 -0
  12. package/data/component-docs/CellHeader.md +128 -0
  13. package/data/component-docs/ComplexFilter.md +294 -0
  14. package/data/component-docs/ContentCard.md +406 -0
  15. package/data/component-docs/Dialog.md +651 -0
  16. package/data/component-docs/Dropdown.md +155 -0
  17. package/data/component-docs/DropdownMenu.md +949 -0
  18. package/data/component-docs/HeatmapChart.md +782 -0
  19. package/data/component-docs/Hero.md +363 -0
  20. package/data/component-docs/Icon.md +283 -0
  21. package/data/component-docs/InputCheckbox.md +205 -0
  22. package/data/component-docs/InputDropdown.md +482 -0
  23. package/data/component-docs/InputRadio.md +173 -0
  24. package/data/component-docs/InputSearch.md +81 -0
  25. package/data/component-docs/InputSlider.md +189 -0
  26. package/data/component-docs/InputText.md +110 -0
  27. package/data/component-docs/InputToggle.md +141 -0
  28. package/data/component-docs/IntentMessage.md +293 -0
  29. package/data/component-docs/Legend.md +442 -0
  30. package/data/component-docs/Link.md +23 -0
  31. package/data/component-docs/List.md +300 -0
  32. package/data/component-docs/LoadingIndicator.md +198 -0
  33. package/data/component-docs/Menu.md +298 -0
  34. package/data/component-docs/MenuItem.md +100 -0
  35. package/data/component-docs/NavigationFooter.md +165 -0
  36. package/data/component-docs/NavigationHeader.md +500 -0
  37. package/data/component-docs/NavigationJumpTo.md +414 -0
  38. package/data/component-docs/Notification.md +288 -0
  39. package/data/component-docs/Pagination.md +67 -0
  40. package/data/component-docs/Panel.md +636 -0
  41. package/data/component-docs/Popover.md +448 -0
  42. package/data/component-docs/PreComposedTable.md +2947 -0
  43. package/data/component-docs/ProteinStructureViewer.md +1044 -0
  44. package/data/component-docs/SegmentedControl.md +396 -0
  45. package/data/component-docs/StackedBarChart.md +475 -0
  46. package/data/component-docs/Table.md +2000 -0
  47. package/data/component-docs/TableHeader.md +53 -0
  48. package/data/component-docs/TableRow.md +74 -0
  49. package/data/component-docs/Tabs.md +455 -0
  50. package/data/component-docs/Tag.md +647 -0
  51. package/data/component-docs/TagFilter.md +131 -0
  52. package/data/component-docs/Tooltip.md +561 -0
  53. package/data/component-docs/TooltipCondensed.md +203 -0
  54. package/data/component-docs/TooltipTable.md +145 -0
  55. package/data/component-docs/index.json +267 -0
  56. package/data/component-list.json +2 -5
  57. package/data/component-props/Accordion.json +31 -11
  58. package/data/component-props/Alert.json +3 -3
  59. package/data/component-props/Autocomplete.json +150 -15
  60. package/data/component-props/Banner.json +31 -17
  61. package/data/component-props/Button.json +45 -20
  62. package/data/component-props/ButtonDropdown.json +36 -17
  63. package/data/component-props/ButtonDropdownLegacy.json +11 -11
  64. package/data/component-props/ButtonGroup.json +32 -11
  65. package/data/component-props/ButtonIcon.json +10 -10
  66. package/data/component-props/ButtonLegacy.json +19 -19
  67. package/data/component-props/ButtonToggle.json +32 -19
  68. package/data/component-props/ButtonToggleLegacy.json +11 -11
  69. package/data/component-props/Callout.json +58 -17
  70. package/data/component-props/CellBasic.json +94 -41
  71. package/data/component-props/CellComponent.json +23 -7
  72. package/data/component-props/CellHeader.json +62 -19
  73. package/data/component-props/ComplexFilter.json +52 -21
  74. package/data/component-props/ContentCard.json +70 -47
  75. package/data/component-props/Dialog.json +47 -14
  76. package/data/component-props/Dropdown.json +68 -31
  77. package/data/component-props/DropdownMenu.json +128 -23
  78. package/data/component-props/HeatmapChart.json +88 -12
  79. package/data/component-props/Hero.json +80 -39
  80. package/data/component-props/Icon.json +20 -9
  81. package/data/component-props/InputCheckbox.json +36 -14
  82. package/data/component-props/InputDropdown.json +75 -27
  83. package/data/component-props/InputRadio.json +31 -13
  84. package/data/component-props/InputSearch.json +41 -18
  85. package/data/component-props/InputSlider.json +46 -19
  86. package/data/component-props/InputText.json +26 -19
  87. package/data/component-props/InputToggle.json +26 -9
  88. package/data/component-props/IntentMessage.json +38 -9
  89. package/data/component-props/Link.json +13 -7
  90. package/data/component-props/LoadingIndicator.json +11 -3
  91. package/data/component-props/MenuItem.json +38 -19
  92. package/data/component-props/MenuSelect.json +8 -8
  93. package/data/component-props/NavigationFooter.json +49 -19
  94. package/data/component-props/NavigationHeader.json +150 -37
  95. package/data/component-props/NavigationJumpTo.json +33 -7
  96. package/data/component-props/Notification.json +39 -21
  97. package/data/component-props/Pagination.json +39 -11
  98. package/data/component-props/Panel.json +62 -9
  99. package/data/component-props/Popover.json +80 -7
  100. package/data/component-props/PreComposedTable.json +99 -27
  101. package/data/component-props/ProteinStructureViewer.json +117 -0
  102. package/data/component-props/SegmentedControl.json +42 -3
  103. package/data/component-props/StackedBarChart.json +116 -42
  104. package/data/component-props/TableRow.json +38 -19
  105. package/data/component-props/Tabs.json +66 -9
  106. package/data/component-props/Tag.json +34 -17
  107. package/data/component-props/TagFilter.json +10 -3
  108. package/data/component-props/Tooltip.json +49 -18
  109. package/data/component-props/TooltipCondensed.json +18 -9
  110. package/data/component-props/TooltipTable.json +17 -7
  111. package/data/resources/{zeroheight-rules.md → documentation-rules.md} +43 -30
  112. package/data/resources/figma-rules.md +2 -2
  113. package/data/tailwind.json +20 -14
  114. package/dist/stdio.js +112 -208
  115. package/package.json +9 -5
  116. package/data/component-props/ButtonDropdownV2.json +0 -34
  117. package/data/component-props/ButtonNew.json +0 -47
  118. package/data/component-props/ButtonToggleV2.json +0 -44
  119. package/data/component-props/ButtonV2.json +0 -43
  120. package/data/zeroheight-cache.json +0 -10259
  121. package/data/zeroheight-exports/Accordion.md +0 -774
  122. package/data/zeroheight-exports/Banner.md +0 -691
  123. package/data/zeroheight-exports/Borders.md +0 -117
  124. package/data/zeroheight-exports/Buttons.md +0 -1854
  125. package/data/zeroheight-exports/Callout.md +0 -931
  126. package/data/zeroheight-exports/Colors.md +0 -1755
  127. package/data/zeroheight-exports/Content-Card.md +0 -309
  128. package/data/zeroheight-exports/Contributing-to-SDS.md +0 -98
  129. package/data/zeroheight-exports/Control-Inputs.md +0 -2818
  130. package/data/zeroheight-exports/Corners.md +0 -104
  131. package/data/zeroheight-exports/Cover-page.md +0 -3
  132. package/data/zeroheight-exports/Dialog.md +0 -1367
  133. package/data/zeroheight-exports/Downloads.md +0 -236
  134. package/data/zeroheight-exports/Drop-Shadows.md +0 -79
  135. package/data/zeroheight-exports/Dropdown-Input.md +0 -1776
  136. package/data/zeroheight-exports/Dropdown-Menus.md +0 -913
  137. package/data/zeroheight-exports/Element-Status-Tracker.md +0 -267
  138. package/data/zeroheight-exports/Field-Inputs.md +0 -1405
  139. package/data/zeroheight-exports/Filters.md +0 -1111
  140. package/data/zeroheight-exports/Getting-Started.md +0 -1157
  141. package/data/zeroheight-exports/Hero.md +0 -414
  142. package/data/zeroheight-exports/Icons.md +0 -2067
  143. package/data/zeroheight-exports/Intent.md +0 -86
  144. package/data/zeroheight-exports/Introduction-to-Bases.md +0 -35
  145. package/data/zeroheight-exports/Introduction-to-Cells.md +0 -35
  146. package/data/zeroheight-exports/Introduction-to-DNA.md +0 -35
  147. package/data/zeroheight-exports/Introduction-to-Genes.md +0 -35
  148. package/data/zeroheight-exports/Introduction.md +0 -115
  149. package/data/zeroheight-exports/Link.md +0 -432
  150. package/data/zeroheight-exports/Lists.md +0 -986
  151. package/data/zeroheight-exports/Loading-Indicator.md +0 -41
  152. package/data/zeroheight-exports/Navigation.md +0 -1190
  153. package/data/zeroheight-exports/Notification.md +0 -1038
  154. package/data/zeroheight-exports/Panel.md +0 -1030
  155. package/data/zeroheight-exports/README.md +0 -122
  156. package/data/zeroheight-exports/Responsive-Design.md +0 -330
  157. package/data/zeroheight-exports/Search-Input.md +0 -91
  158. package/data/zeroheight-exports/Search.md +0 -822
  159. package/data/zeroheight-exports/Segmented-Control.md +0 -609
  160. package/data/zeroheight-exports/Spacing.md +0 -297
  161. package/data/zeroheight-exports/Table.md +0 -5345
  162. package/data/zeroheight-exports/Tabs.md +0 -1324
  163. package/data/zeroheight-exports/Tags.md +0 -1545
  164. package/data/zeroheight-exports/Text-Link.md +0 -268
  165. package/data/zeroheight-exports/Theming.md +0 -362
  166. package/data/zeroheight-exports/Tooltips.md +0 -2015
  167. package/data/zeroheight-exports/Typography.md +0 -800
@@ -2,94 +2,168 @@
2
2
  "StackedBarChart": {
3
3
  "props": {
4
4
  "badge": {
5
- "type": "string",
5
+ "defaultValue": "the selection count",
6
+ "description": "Overrides the badge text, which otherwise counts the data and the selection\n(\"7\", or \"3 of 7\").",
6
7
  "isRequired": false,
7
- "description": "Badge text to display next to the title\nIf not provided, defaults to showing item count based on selection:\n- No selection: total count (e.g., \"5\")\n- Partial selection: selected count (e.g., \"3 of 5\")\n- All selected: \"All\""
8
+ "type": "string"
8
9
  },
9
10
  "hideBadge": {
10
- "type": "\"false\" | \"true\"",
11
+ "defaultValue": false,
12
+ "description": "Removes the badge, leaving the title on its own.",
11
13
  "isRequired": false,
12
- "description": "Hide the badge when true",
13
- "defaultValue": false
14
+ "type": "boolean"
14
15
  },
15
16
  "barHeight": {
16
- "type": "number",
17
+ "defaultValue": 16,
18
+ "description": "Height of the bar in pixels. Values below 1 are clamped to 1, so the bar\ncannot disappear.",
17
19
  "isRequired": false,
18
- "description": "Height of the bar in pixels (minimum 1px)",
19
- "defaultValue": 16
20
+ "type": "number"
20
21
  },
21
22
  "data": {
22
- "type": "StackedBarChartDataItem[]",
23
+ "defaultValue": "- (required)",
24
+ "description": "The segments, in the order they are drawn.",
23
25
  "isRequired": true,
24
- "description": "Array of data items to display in the stacked bar"
26
+ "type": "StackedBarChartDataItem[]"
25
27
  },
26
28
  "maxAmount": {
27
- "type": "number",
29
+ "defaultValue": "sum of values",
30
+ "description": "Cumulative mode only. The value the full bar represents. Any difference\nbetween it and the sum of the data is drawn as the Remaining segment.",
28
31
  "isRequired": false,
29
- "description": "Maximum amount for the bar (used only in \"cumulative\" mode)\nIf not provided, defaults to sum of all values (no remaining segment)\nIf provided and sum < maxAmount, shows gray \"remaining\" segment"
32
+ "type": "number"
30
33
  },
31
34
  "mode": {
32
- "type": "\"proportional\" | \"cumulative\"",
35
+ "defaultValue": "proportional",
36
+ "description": "Whether the bar shows a breakdown of the data (segments always fill it) or\nprogress towards maxAmount.",
33
37
  "isRequired": false,
34
- "description": "Chart mode - controls how segments are calculated\n- \"proportional\": Segments fill entire bar (100%), proportional to their values\n- \"cumulative\": Segments sized based on actual values relative to maxAmount",
35
- "defaultValue": "proportional"
38
+ "type": "\"proportional\" | \"cumulative\""
36
39
  },
37
40
  "legendValueFormat": {
38
- "type": "\"percentage\" | \"count\"",
41
+ "defaultValue": "percentage",
42
+ "description": "\"percentage\" shows the segment's share of the bar, rounded. \"count\" shows\nthe raw value followed by the item's unit, or the chart's unit if the item\nhas none.",
39
43
  "isRequired": false,
40
- "description": "Format for legend values\n- \"percentage\": Shows percentage of the item in the bar chart (e.g., \"20%\")\n- \"count\": Shows the count from the data object with the unit defined by the unit prop",
41
- "defaultValue": "percentage"
44
+ "type": "\"count\" | \"percentage\""
42
45
  },
43
46
  "selectionBehavior": {
44
- "type": "\"dim\" | \"hide\"",
47
+ "defaultValue": "dim",
48
+ "description": "What a selection does to the unselected segments: fade them to 20% opacity,\nor drop them from the bar and let the rest take the space.",
45
49
  "isRequired": false,
46
- "description": "Behavior to apply when items are selected\n- \"dim\": Non-selected segments become semi-transparent (20% opacity)\n- \"hide\": Non-selected segments are hidden from the bar chart",
47
- "defaultValue": "dim"
50
+ "type": "\"dim\" | \"hide\""
48
51
  },
49
52
  "remainingLabel": {
50
- "type": "string",
53
+ "defaultValue": "Remaining",
54
+ "description": "Name of the grey gap segment in cumulative mode.",
51
55
  "isRequired": false,
52
- "description": "Label for the remaining/unknown segment in cumulative mode",
53
- "defaultValue": "Remaining"
56
+ "type": "string"
54
57
  },
55
58
  "remainingUnit": {
56
- "type": "string",
59
+ "defaultValue": "the charts unit",
60
+ "description": "A unit for the Remaining segment's value alone.",
57
61
  "isRequired": false,
58
- "description": "Unit to display with the remaining segment value in cumulative mode\nIf not provided, uses the unit from the first data item (if available)"
62
+ "type": "string"
59
63
  },
60
64
  "showLegend": {
61
- "type": "\"false\" | \"true\"",
65
+ "defaultValue": true,
66
+ "description": "Draws the legend below the bar. It is the only place segment names appear,\nand the only part of the chart a keyboard can reach.",
62
67
  "isRequired": false,
63
- "description": "Whether to show the legend below the chart",
64
- "defaultValue": true
68
+ "type": "boolean"
65
69
  },
66
70
  "showLegendValues": {
67
- "type": "\"false\" | \"true\"",
71
+ "defaultValue": true,
72
+ "description": "Shows each item's value beside its name in the legend.",
68
73
  "isRequired": false,
69
- "description": "Whether to show percentage values in the legend",
70
- "defaultValue": true
74
+ "type": "boolean"
71
75
  },
72
76
  "title": {
73
- "type": "string",
77
+ "description": "A heading above the bar. It is also what makes room for the badge; with no\ntitle, no badge is drawn.",
74
78
  "isRequired": false,
75
- "description": "Title to display above the chart"
79
+ "type": "string"
76
80
  },
77
81
  "unit": {
78
- "type": "string",
82
+ "description": "The unit appended to counted values, for items that do not carry one of\ntheir own.",
79
83
  "isRequired": false,
80
- "description": "Global unit to display with values in cumulative mode (e.g., \"GB\", \"datasets\", \"K\")\nIndividual data items can override this with their own unit property\nOnly shown when mode is \"cumulative\""
84
+ "type": "string"
81
85
  },
82
86
  "width": {
83
- "type": "\"string\" | \"number\"",
87
+ "defaultValue": "100%",
88
+ "description": "Any CSS width; a number is read as pixels. It sets the width of the whole\nchart, legend included.",
84
89
  "isRequired": false,
85
- "description": "Width of the chart - accepts any CSS width value (e.g., \"100%\", \"20vw\", \"300px\", or number for pixels)",
86
- "defaultValue": "100%"
90
+ "type": "string | number"
87
91
  },
88
92
  "colorGeneratorOptions": {
89
- "type": "DiscreteColorGeneratorOptions",
93
+ "description": "Tunes the generated palette (start hue, rotations, lightness range, gamma).\nItems with their own color are untouched by it.",
90
94
  "isRequired": false,
91
- "description": "Options for the color generator"
95
+ "type": "DiscreteColorGeneratorOptions"
96
+ },
97
+ "selectedIndices": {
98
+ "defaultValue": [],
99
+ "description": "Indices into data that are currently selected. The chart is controlled: it\ndraws this and never changes it.",
100
+ "isRequired": false,
101
+ "type": "number[]"
102
+ },
103
+ "onSelectionChange": {
104
+ "description": "Called with the next selection when a segment or legend item is clicked.\nWithout it, clicking selects nothing.",
105
+ "isRequired": false,
106
+ "type": "(selectedIndices: number[], selectedData: StackedBarChartDataItem[]) => void"
107
+ },
108
+ "onSegmentClick": {
109
+ "description": "Fires on a segment click, alongside any selection change rather than\ninstead of it.",
110
+ "isRequired": false,
111
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
112
+ },
113
+ "onLegendItemClick": {
114
+ "description": "The same, for a click on a legend item.",
115
+ "isRequired": false,
116
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
117
+ },
118
+ "onSegmentMouseEnter": {
119
+ "description": "Called when the pointer enters a segment. The chart already syncs its own\nhover highlight between bar and legend, so this is for driving something\noutside it.",
120
+ "isRequired": false,
121
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
122
+ },
123
+ "onSegmentMouseLeave": {
124
+ "description": "Called when the pointer leaves a segment.",
125
+ "isRequired": false,
126
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
127
+ },
128
+ "onLegendItemMouseEnter": {
129
+ "description": "Called when the pointer enters a legend item.",
130
+ "isRequired": false,
131
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
132
+ },
133
+ "onLegendItemMouseLeave": {
134
+ "description": "Called when the pointer leaves a legend item.",
135
+ "isRequired": false,
136
+ "type": "(item: StackedBarChartDataItem, index: number) => void"
137
+ },
138
+ "name": {
139
+ "defaultValue": "- (required)",
140
+ "description": "The segment's label in the legend, and the key the animations track it by. Must be unique within the chart.",
141
+ "isRequired": false,
142
+ "type": "string"
143
+ },
144
+ "value": {
145
+ "defaultValue": "- (required)",
146
+ "description": "The quantity the segment stands for.",
147
+ "isRequired": false,
148
+ "type": "number"
149
+ },
150
+ "color": {
151
+ "defaultValue": "generated",
152
+ "description": "Any CSS color. Without it the segment takes a generated palette color, which can shift as categories come and go.",
153
+ "isRequired": false,
154
+ "type": "string"
155
+ },
156
+ "disabled": {
157
+ "defaultValue": false,
158
+ "description": "Takes the segment and its legend item out of every interaction: no hover, no tooltip, no selection.",
159
+ "isRequired": false,
160
+ "type": "boolean"
161
+ },
162
+ "tooltip": {
163
+ "description": "Content for a TooltipTable shown above the segment on hover. Use it for the breakdown behind the number; a segment without it has no tooltip.",
164
+ "isRequired": false,
165
+ "type": "TooltipTableContentProps"
92
166
  }
93
167
  }
94
168
  }
95
- }
169
+ }
@@ -2,41 +2,60 @@
2
2
  "TableRow": {
3
3
  "props": {
4
4
  "disabled": {
5
- "type": "\"false\" | \"true\"",
6
- "isRequired": false
5
+ "defaultValue": false,
6
+ "description": "Grays the row out and stops pointer events inside its CellComponents, so controls in the row cannot be used. Tags and icons in the row are dimmed to match.",
7
+ "isRequired": false,
8
+ "type": "boolean"
7
9
  },
8
10
  "hover": {
9
- "type": "\"false\" | \"true\"",
10
- "isRequired": false
11
+ "defaultValue": true,
12
+ "description": "Gives the row a hover background, and is also required for its tooltip to appear. TableHeader sets it to false for the header row.",
13
+ "isRequired": false,
14
+ "type": "boolean"
11
15
  },
12
16
  "rowHeight": {
13
- "type": "number",
14
- "isRequired": false
17
+ "description": "Caps the row's height, in pixels.",
18
+ "isRequired": false,
19
+ "type": "number"
15
20
  },
16
21
  "selected": {
17
- "type": "\"false\" | \"true\"",
18
- "isRequired": false
22
+ "defaultValue": false,
23
+ "description": "Gives the row's cells the accent surface used for selection. It is styling only; it sets no ARIA state.",
24
+ "isRequired": false,
25
+ "type": "boolean"
19
26
  },
20
27
  "shouldShowTooltipOnHover": {
21
- "type": "\"false\" | \"true\"",
22
- "isRequired": false
28
+ "defaultValue": true,
29
+ "description": "Wraps the row in a Tooltip, but only while hover is also true. On its own it shows nothing: a row tooltip needs tooltipText as well.",
30
+ "isRequired": false,
31
+ "type": "boolean"
23
32
  },
24
33
  "tooltipProps": {
25
- "type": "TooltipProps",
26
- "isRequired": false
34
+ "description": "Passed to the Tooltip, and overrides the defaults the row sets (arrow, dark style).",
35
+ "isRequired": false,
36
+ "type": "Partial<TooltipProps>"
27
37
  },
28
38
  "tooltipSubtitle": {
29
- "type": "string",
30
- "isRequired": false
39
+ "description": "A second line below the tooltip's title.",
40
+ "isRequired": false,
41
+ "type": "string"
31
42
  },
32
43
  "tooltipText": {
33
- "type": "string",
34
- "isRequired": false
44
+ "description": "The tooltip's title.",
45
+ "isRequired": false,
46
+ "type": "string"
35
47
  },
36
48
  "useDivider": {
37
- "type": "\"false\" | \"true\"",
38
- "isRequired": false
49
+ "defaultValue": true,
50
+ "description": "Draws the 1px divider along the bottom of the row.",
51
+ "isRequired": false,
52
+ "type": "boolean"
53
+ },
54
+ "children": {
55
+ "description": "Required. The row's cells.",
56
+ "isRequired": false,
57
+ "type": "React.ReactNode"
39
58
  }
40
59
  }
41
60
  }
42
- }
61
+ }
@@ -1,18 +1,75 @@
1
1
  {
2
2
  "Tabs": {
3
3
  "props": {
4
- "items": {
5
- "type": "any",
6
- "isRequired": false
7
- },
8
4
  "sdsSize": {
9
- "type": "any",
10
- "isRequired": false
5
+ "defaultValue": "large",
6
+ "description": "The size of the label text on every tab in the group, and the spacing around the group.",
7
+ "isRequired": false,
8
+ "type": "\"large\" | \"small\""
11
9
  },
12
10
  "underlined": {
13
- "type": "any",
14
- "isRequired": false
11
+ "defaultValue": false,
12
+ "description": "Draws a divider along the full width of the group, below the tabs; the selected tab's indicator sits on top of it.",
13
+ "isRequired": false,
14
+ "type": "boolean"
15
+ },
16
+ "selectionFollowsFocus": {
17
+ "defaultValue": false,
18
+ "description": "MUI's prop for selecting a tab as soon as the arrow keys reach it, instead of waiting for Space or Enter.",
19
+ "isRequired": false,
20
+ "type": "boolean"
21
+ }
22
+ }
23
+ },
24
+ "Tab": {
25
+ "props": {
26
+ "children": {
27
+ "defaultValue": "- (required)",
28
+ "description": "This prop isn't supported.\nUse the `component` prop if you need to change the children structure.",
29
+ "isRequired": false,
30
+ "type": "null"
31
+ },
32
+ "onChange": {
33
+ "description": "Runs when a tab is selected, with that tab's value. Write it back to value, or the group will keep showing the same tab.",
34
+ "isRequired": false,
35
+ "type": "FormEventHandler<HTMLDivElement>"
36
+ },
37
+ "aria-label": {
38
+ "description": "Defines a string value that labels the current element.\n@see aria-labelledby.",
39
+ "isRequired": false,
40
+ "type": "string"
41
+ },
42
+ "label": {
43
+ "description": "The label element.",
44
+ "isRequired": false,
45
+ "type": "ReactNode"
46
+ },
47
+ "count": {
48
+ "description": "A value drawn after the label: a number, a string, or a component. 0 is drawn rather than dropped, and whatever renders joins the tab's accessible name.",
49
+ "isRequired": false,
50
+ "type": "ReactNode"
51
+ },
52
+ "disabled": {
53
+ "defaultValue": false,
54
+ "description": "If `true`, the component is disabled.",
55
+ "isRequired": false,
56
+ "type": "boolean"
57
+ },
58
+ "id": {
59
+ "description": "The tab's id, for a panel's aria-labelledby to point at. Not generated for you.",
60
+ "isRequired": false,
61
+ "type": "string"
62
+ },
63
+ "aria-controls": {
64
+ "description": "Identifies the element (or elements) whose contents or presence are controlled by the current element.\n@see aria-owns.",
65
+ "isRequired": false,
66
+ "type": "string"
67
+ },
68
+ "selected": {
69
+ "description": "Set by the group from its value, and used to draw the label in semibold. Not something to pass yourself.",
70
+ "isRequired": false,
71
+ "type": "boolean"
15
72
  }
16
73
  }
17
74
  }
18
- }
75
+ }
@@ -2,39 +2,56 @@
2
2
  "Tag": {
3
3
  "props": {
4
4
  "color": {
5
- "type": "\"info\" | \"positive\" | \"notice\" | \"negative\" | \"neutral\" | \"beta\" | \"[string, string]\" | \"[string, string, string]\"",
6
- "isRequired": false
5
+ "defaultValue": "neutral",
6
+ "description": "The tag's intent, given either as one of the six names or as CSS colors: [label color, background color]: the icon stays white [label color, background color, icon color]",
7
+ "isRequired": false,
8
+ "type": "\"info\" | \"negative\" | \"notice\" | \"positive\" | \"neutral\" | \"beta\" | [string, string] | [string, string, string]"
7
9
  },
8
10
  "hover": {
9
- "type": "\"false\" | \"true\"",
10
- "isRequired": false
11
+ "defaultValue": true,
12
+ "description": "Whether the tag responds to the pointer with a darker fill and a pointer cursor. False removes the tag from pointer events altogether, which also keeps a surrounding Tooltip from opening.",
13
+ "isRequired": false,
14
+ "type": "boolean"
11
15
  },
12
16
  "icon": {
13
- "type": "ReactElement",
17
+ "description": "Icon element.",
14
18
  "isRequired": false,
15
- "description": "Icon element."
19
+ "type": "ReactElement"
16
20
  },
17
21
  "label": {
18
- "type": "string",
22
+ "defaultValue": "- (required)",
23
+ "description": "The tag's text, and its accessible name. It is cut off with an ellipsis\nrather than wrapped, so keep it to a word or two.",
19
24
  "isRequired": true,
20
- "description": "The content of the component."
25
+ "type": "string"
21
26
  },
22
27
  "onClick": {
23
- "type": "function",
24
- "isRequired": false
28
+ "description": "MUI's prop. Makes the tag a button: a tab stop that answers Enter and Space.",
29
+ "isRequired": false,
30
+ "type": "function"
25
31
  },
26
32
  "sdsSize": {
27
- "type": "\"s\" | \"l\"",
28
- "isRequired": false
33
+ "defaultValue": "s",
34
+ "description": "The size of the tag: an 11px label with a 12px icon, or a 13px label with a 24px icon. A large tag has to have an icon.",
35
+ "isRequired": false,
36
+ "type": "\"s\" | \"l\""
29
37
  },
30
38
  "sdsStyle": {
31
- "type": "\"square\" | \"rounded\"",
32
- "isRequired": false
39
+ "defaultValue": "square",
40
+ "description": "The shape of the tag. The design guidance treats rounded as the default for the system, so it is usually worth passing.",
41
+ "isRequired": false,
42
+ "type": "\"square\" | \"rounded\""
33
43
  },
34
44
  "sdsType": {
35
- "type": "\"primary\" | \"secondary\"",
36
- "isRequired": false
45
+ "defaultValue": "primary",
46
+ "description": "primary fills the tag with the intent color and sets the label white. secondary tints the fill and keeps the label and a 1px border in the intent color.",
47
+ "isRequired": false,
48
+ "type": "\"primary\" | \"secondary\""
49
+ },
50
+ "onDelete": {
51
+ "description": "Callback fired when the delete icon is clicked.\nIf set, the delete icon will be shown.",
52
+ "isRequired": false,
53
+ "type": "(event: any) => void"
37
54
  }
38
55
  }
39
56
  }
40
- }
57
+ }
@@ -2,10 +2,17 @@
2
2
  "TagFilter": {
3
3
  "props": {
4
4
  "label": {
5
- "type": "string",
5
+ "defaultValue": "- (required)",
6
+ "description": "The filter's text. Cut off with an ellipsis when there is not room for it.",
6
7
  "isRequired": true,
7
- "description": "The content of the component."
8
+ "type": "string"
9
+ },
10
+ "onDelete": {
11
+ "defaultValue": "- (required)",
12
+ "description": "Runs when the X is clicked or activated, and when Backspace or Delete is\npressed on the tag. Drop the filter from your state here; the component\ndoes not remove itself.",
13
+ "isRequired": true,
14
+ "type": "(event: any) => void"
8
15
  }
9
16
  }
10
17
  }
11
- }
18
+ }
@@ -2,36 +2,67 @@
2
2
  "Tooltip": {
3
3
  "props": {
4
4
  "arrowOffset": {
5
- "type": "number",
6
- "isRequired": false
5
+ "description": "Sets the arrow's left position, in pixels from the tooltip's left edge, instead of letting it be calculated. Values past the tooltip's width move the arrow out of sight.",
6
+ "isRequired": false,
7
+ "type": "number"
7
8
  },
8
9
  "componentSlot": {
9
- "type": "ReactNode",
10
- "isRequired": false
11
- },
12
- "hasInvertedStyle": {
13
- "type": "\"false\" | \"true\"",
14
- "isRequired": false
10
+ "description": "Content below the text, with 12px above it when there is text. The place for anything that is not a string, including TooltipTable.",
11
+ "isRequired": false,
12
+ "type": "ReactNode"
15
13
  },
16
14
  "placement": {
17
- "type": "complex",
18
- "isRequired": false,
15
+ "defaultValue": "bottom",
19
16
  "description": "Tooltip placement.",
20
- "defaultValue": "bottom"
17
+ "isRequired": false,
18
+ "type": "\"bottom\" | \"left\" | \"right\" | \"top\" | \"auto\" | \"auto-start\" | \"auto-end\" | \"top-start\" | \"top-end\" | \"bottom-start\" | \"bottom-end\" | \"right-start\" | \"right-end\" | \"left-start\" | \"left-end\""
21
19
  },
22
20
  "textAlign": {
23
- "type": "\"center\" | \"right\" | \"left\"",
24
- "isRequired": false
21
+ "defaultValue": "center, or left when wide",
22
+ "description": "Overrides the alignment the width would pick.",
23
+ "isRequired": false,
24
+ "type": "\"center\" | \"left\" | \"right\""
25
25
  },
26
26
  "title": {
27
- "type": "ReactNode",
27
+ "description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed.",
28
28
  "isRequired": false,
29
- "description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed."
29
+ "type": "ReactNode"
30
30
  },
31
31
  "width": {
32
- "type": "\"default\" | \"wide\"",
33
- "isRequired": false
32
+ "defaultValue": "default",
33
+ "description": "Caps the tooltip at 250px or 550px. Wide also left-aligns the text.",
34
+ "isRequired": false,
35
+ "type": "\"default\" | \"wide\""
36
+ },
37
+ "subtitle": {
38
+ "description": "A smaller, dimmer second line under the title, for a detail such as how to use what the tooltip points at.",
39
+ "isRequired": false,
40
+ "type": "ReactNode"
41
+ },
42
+ "arrow": {
43
+ "defaultValue": false,
44
+ "description": "If `true`, adds an arrow to the tooltip.",
45
+ "isRequired": false,
46
+ "type": "boolean"
47
+ },
48
+ "PopperComponent": {
49
+ "defaultValue": "SDS StyledPopper",
50
+ "description": "The popper the tooltip renders into, carrying the arrow's shape and\nplacement.\n\n(v9): MUI removed the Tooltip `PopperComponent` prop in favor of\n`slots.popper`. We keep `PopperComponent` as an SDS prop for backward\ncompatibility and map it to `slots.popper` internally.",
51
+ "isRequired": false,
52
+ "type": "\"symbol\" | \"object\" | \"style\" | \"button\" | \"div\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"article\" | \"aside\" | \"audio\" | \"b\" | \"base\" | \"bdi\" | \"bdo\" | \"big\" | \"blockquote\" | \"body\" | \"br\" | \"canvas\" | \"caption\" | \"center\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"data\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"form\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"head\" | \"header\" | \"hgroup\" | \"hr\" | \"html\" | \"i\" | \"iframe\" | \"img\" | \"input\" | \"ins\" | \"kbd\" | \"keygen\" | \"label\" | \"legend\" | \"li\" | \"link\" | \"main\" | \"map\" | \"mark\" | \"menu\" | \"menuitem\" | \"meta\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"output\" | \"p\" | \"param\" | \"picture\" | \"pre\" | \"progress\" | \"q\" | \"rp\" | \"rt\" | \"ruby\" | \"s\" | \"samp\" | \"search\" | \"slot\" | \"script\" | \"section\" | \"select\" | \"small\" | \"source\" | \"span\" | \"strong\" | \"sub\" | \"summary\" | \"sup\" | \"table\" | \"template\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"time\" | \"title\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"svg\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"desc\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"filter\" | \"foreignObject\" | \"g\" | \"image\" | \"line\" | \"linearGradient\" | \"marker\" | \"mask\" | \"metadata\" | \"mpath\" | \"path\" | \"pattern\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"set\" | \"stop\" | \"switch\" | \"text\" | \"textPath\" | \"tspan\" | \"use\" | \"view\" | ComponentClass<any, any> | FunctionComponent<any>"
53
+ },
54
+ "disableInteractive": {
55
+ "defaultValue": false,
56
+ "description": "Makes a tooltip not interactive, i.e. it will close when the user\nhovers over the tooltip before the `leaveDelay` is expired.",
57
+ "isRequired": false,
58
+ "type": "boolean"
59
+ },
60
+ "followCursor": {
61
+ "defaultValue": false,
62
+ "description": "If `true`, the tooltip follow the cursor over the wrapped element.",
63
+ "isRequired": false,
64
+ "type": "boolean"
34
65
  }
35
66
  }
36
67
  }
37
- }
68
+ }
@@ -1,18 +1,27 @@
1
1
  {
2
2
  "TooltipCondensed": {
3
3
  "props": {
4
- "hasInvertedStyle": {
5
- "type": "any",
6
- "isRequired": false
7
- },
8
4
  "indicator": {
9
- "type": "any",
10
- "isRequired": false
5
+ "defaultValue": false,
6
+ "description": "Draws a 12px round dot before the text.",
7
+ "isRequired": false,
8
+ "type": "boolean"
11
9
  },
12
10
  "indicatorColor": {
13
- "type": "any",
14
- "isRequired": false
11
+ "description": "The dot's colour, as a CSS colour. Without it the dot occupies its space but cannot be seen.",
12
+ "isRequired": false,
13
+ "type": "string"
14
+ },
15
+ "title": {
16
+ "description": "The label to show. Pass null when the content is coming through componentSlot instead.",
17
+ "isRequired": false,
18
+ "type": "ReactNode"
19
+ },
20
+ "componentSlot": {
21
+ "description": "Inherited from Tooltip, and how a TooltipTable is placed inside a condensed tooltip.",
22
+ "isRequired": false,
23
+ "type": "ReactNode"
15
24
  }
16
25
  }
17
26
  }
18
- }
27
+ }
@@ -2,17 +2,27 @@
2
2
  "TooltipTable": {
3
3
  "props": {
4
4
  "contentAlert": {
5
- "type": "\"string\" | \"Element\"",
6
- "isRequired": false
5
+ "description": "A note above the whole table, for a caveat about the numbers. Takes an element, so it can hold a link.",
6
+ "isRequired": false,
7
+ "type": "string | Element"
7
8
  },
8
9
  "itemAlign": {
9
- "type": "\"left\" | \"right\"",
10
- "isRequired": false
10
+ "defaultValue": "right",
11
+ "description": "Which side of its column each value sits on. Right lines numbers up with each other.",
12
+ "isRequired": false,
13
+ "type": "\"left\" | \"right\""
11
14
  },
12
15
  "showSectionHeader": {
13
- "type": "\"false\" | \"true\"",
14
- "isRequired": false
16
+ "defaultValue": true,
17
+ "description": "Whether section labels are drawn. False hides all of them; the dividers between sections stay.",
18
+ "isRequired": false,
19
+ "type": "boolean"
20
+ },
21
+ "data": {
22
+ "description": "The sections, drawn in order and separated by dividers. A section's label heads it, its dataRows fill it, and disabled greys the whole block.",
23
+ "isRequired": false,
24
+ "type": "{ label?: string | undefined; dataRows: { label: string; value: string | number; }[]; disabled?: boolean | undefined; }[]"
15
25
  }
16
26
  }
17
27
  }
18
- }
28
+ }