@czi-sds/mcp 0.16.0 → 0.17.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 (164) 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/SegmentedControl.md +396 -0
  44. package/data/component-docs/StackedBarChart.md +475 -0
  45. package/data/component-docs/Table.md +2000 -0
  46. package/data/component-docs/TableHeader.md +53 -0
  47. package/data/component-docs/TableRow.md +74 -0
  48. package/data/component-docs/Tabs.md +455 -0
  49. package/data/component-docs/Tag.md +647 -0
  50. package/data/component-docs/TagFilter.md +131 -0
  51. package/data/component-docs/Tooltip.md +561 -0
  52. package/data/component-docs/TooltipCondensed.md +203 -0
  53. package/data/component-docs/TooltipTable.md +145 -0
  54. package/data/component-docs/index.json +262 -0
  55. package/data/component-list.json +2 -5
  56. package/data/component-props/Accordion.json +31 -11
  57. package/data/component-props/Alert.json +3 -3
  58. package/data/component-props/Autocomplete.json +150 -15
  59. package/data/component-props/Banner.json +31 -17
  60. package/data/component-props/Button.json +45 -20
  61. package/data/component-props/ButtonDropdown.json +36 -17
  62. package/data/component-props/ButtonDropdownLegacy.json +11 -11
  63. package/data/component-props/ButtonGroup.json +32 -11
  64. package/data/component-props/ButtonIcon.json +10 -10
  65. package/data/component-props/ButtonLegacy.json +19 -19
  66. package/data/component-props/ButtonToggle.json +32 -19
  67. package/data/component-props/ButtonToggleLegacy.json +11 -11
  68. package/data/component-props/Callout.json +58 -17
  69. package/data/component-props/CellBasic.json +94 -41
  70. package/data/component-props/CellComponent.json +23 -7
  71. package/data/component-props/CellHeader.json +62 -19
  72. package/data/component-props/ComplexFilter.json +52 -21
  73. package/data/component-props/ContentCard.json +70 -47
  74. package/data/component-props/Dialog.json +47 -14
  75. package/data/component-props/Dropdown.json +68 -31
  76. package/data/component-props/DropdownMenu.json +128 -23
  77. package/data/component-props/HeatmapChart.json +88 -12
  78. package/data/component-props/Hero.json +80 -39
  79. package/data/component-props/Icon.json +20 -9
  80. package/data/component-props/InputCheckbox.json +36 -14
  81. package/data/component-props/InputDropdown.json +75 -27
  82. package/data/component-props/InputRadio.json +31 -13
  83. package/data/component-props/InputSearch.json +41 -18
  84. package/data/component-props/InputSlider.json +46 -19
  85. package/data/component-props/InputText.json +26 -19
  86. package/data/component-props/InputToggle.json +26 -9
  87. package/data/component-props/IntentMessage.json +38 -9
  88. package/data/component-props/Link.json +13 -7
  89. package/data/component-props/LoadingIndicator.json +11 -3
  90. package/data/component-props/MenuItem.json +38 -19
  91. package/data/component-props/MenuSelect.json +8 -8
  92. package/data/component-props/NavigationFooter.json +49 -19
  93. package/data/component-props/NavigationHeader.json +150 -37
  94. package/data/component-props/NavigationJumpTo.json +33 -7
  95. package/data/component-props/Notification.json +39 -21
  96. package/data/component-props/Pagination.json +39 -11
  97. package/data/component-props/Panel.json +62 -9
  98. package/data/component-props/Popover.json +80 -7
  99. package/data/component-props/PreComposedTable.json +99 -27
  100. package/data/component-props/SegmentedControl.json +42 -3
  101. package/data/component-props/StackedBarChart.json +116 -42
  102. package/data/component-props/TableRow.json +38 -19
  103. package/data/component-props/Tabs.json +66 -9
  104. package/data/component-props/Tag.json +34 -17
  105. package/data/component-props/TagFilter.json +10 -3
  106. package/data/component-props/Tooltip.json +49 -18
  107. package/data/component-props/TooltipCondensed.json +18 -9
  108. package/data/component-props/TooltipTable.json +17 -7
  109. package/data/resources/{zeroheight-rules.md → documentation-rules.md} +43 -30
  110. package/data/resources/figma-rules.md +2 -2
  111. package/dist/stdio.js +112 -208
  112. package/package.json +9 -5
  113. package/data/component-props/ButtonDropdownV2.json +0 -34
  114. package/data/component-props/ButtonNew.json +0 -47
  115. package/data/component-props/ButtonToggleV2.json +0 -44
  116. package/data/component-props/ButtonV2.json +0 -43
  117. package/data/zeroheight-cache.json +0 -10259
  118. package/data/zeroheight-exports/Accordion.md +0 -774
  119. package/data/zeroheight-exports/Banner.md +0 -691
  120. package/data/zeroheight-exports/Borders.md +0 -117
  121. package/data/zeroheight-exports/Buttons.md +0 -1854
  122. package/data/zeroheight-exports/Callout.md +0 -931
  123. package/data/zeroheight-exports/Colors.md +0 -1755
  124. package/data/zeroheight-exports/Content-Card.md +0 -309
  125. package/data/zeroheight-exports/Contributing-to-SDS.md +0 -98
  126. package/data/zeroheight-exports/Control-Inputs.md +0 -2818
  127. package/data/zeroheight-exports/Corners.md +0 -104
  128. package/data/zeroheight-exports/Cover-page.md +0 -3
  129. package/data/zeroheight-exports/Dialog.md +0 -1367
  130. package/data/zeroheight-exports/Downloads.md +0 -236
  131. package/data/zeroheight-exports/Drop-Shadows.md +0 -79
  132. package/data/zeroheight-exports/Dropdown-Input.md +0 -1776
  133. package/data/zeroheight-exports/Dropdown-Menus.md +0 -913
  134. package/data/zeroheight-exports/Element-Status-Tracker.md +0 -267
  135. package/data/zeroheight-exports/Field-Inputs.md +0 -1405
  136. package/data/zeroheight-exports/Filters.md +0 -1111
  137. package/data/zeroheight-exports/Getting-Started.md +0 -1157
  138. package/data/zeroheight-exports/Hero.md +0 -414
  139. package/data/zeroheight-exports/Icons.md +0 -2067
  140. package/data/zeroheight-exports/Intent.md +0 -86
  141. package/data/zeroheight-exports/Introduction-to-Bases.md +0 -35
  142. package/data/zeroheight-exports/Introduction-to-Cells.md +0 -35
  143. package/data/zeroheight-exports/Introduction-to-DNA.md +0 -35
  144. package/data/zeroheight-exports/Introduction-to-Genes.md +0 -35
  145. package/data/zeroheight-exports/Introduction.md +0 -115
  146. package/data/zeroheight-exports/Link.md +0 -432
  147. package/data/zeroheight-exports/Lists.md +0 -986
  148. package/data/zeroheight-exports/Loading-Indicator.md +0 -41
  149. package/data/zeroheight-exports/Navigation.md +0 -1190
  150. package/data/zeroheight-exports/Notification.md +0 -1038
  151. package/data/zeroheight-exports/Panel.md +0 -1030
  152. package/data/zeroheight-exports/README.md +0 -122
  153. package/data/zeroheight-exports/Responsive-Design.md +0 -330
  154. package/data/zeroheight-exports/Search-Input.md +0 -91
  155. package/data/zeroheight-exports/Search.md +0 -822
  156. package/data/zeroheight-exports/Segmented-Control.md +0 -609
  157. package/data/zeroheight-exports/Spacing.md +0 -297
  158. package/data/zeroheight-exports/Table.md +0 -5345
  159. package/data/zeroheight-exports/Tabs.md +0 -1324
  160. package/data/zeroheight-exports/Tags.md +0 -1545
  161. package/data/zeroheight-exports/Text-Link.md +0 -268
  162. package/data/zeroheight-exports/Theming.md +0 -362
  163. package/data/zeroheight-exports/Tooltips.md +0 -2015
  164. package/data/zeroheight-exports/Typography.md +0 -800
@@ -2,28 +2,104 @@
2
2
  "HeatmapChart": {
3
3
  "props": {
4
4
  "axisPointer": {
5
- "type": "\"AxisPointerOption\" | \"AxisPointerOption[]\"",
5
+ "defaultValue": "hidden",
6
+ "description": "The crosshair following the pointer. One object applies to both axes; a\ntwo-entry array configures them separately.\nhttps://echarts.apache.org/en/option.html#axisPointer",
6
7
  "isRequired": false,
7
- "description": "Display reference line and axis value under mouse pointer\nhttps://echarts.apache.org/en/option.html#axisPointer"
8
+ "type": "AxisPointerOption | AxisPointerOption[]"
8
9
  },
9
10
  "camera": {
10
- "type": "{ active: boolean; height: number; width: number; }",
11
+ "defaultValue": "40 × 20 when active",
12
+ "description": "Renders only a window of the grid, measured in cells, and lets the pointer\npan it. Sizes are ignored unless `active` is true.\n\nThe `camera` prop is utilized for implementing camera view port functionality\nwithin a specific area of the chart. This feature empowers users to render\na confined portion of the heatmap. This selective rendering strategy becomes\nespecially advantageous when dealing with extensive datasets. Instead of\nrendering the entire heatmap at once, the chart dynamically loads and renders\nspecific segments as the user scrolls through the data. This approach optimizes\nperformance and enables the creation of heatmaps with large amounts of data.\n\nThe `height` and `width` properties are used to specify the dimensions of the\ncamera view port. The `active` property is used to enable or disable the camera\nview port functionality.",
11
13
  "isRequired": false,
12
- "description": "The `camera` prop is utilized for implementing camera view port functionality\nwithin a specific area of the chart. This feature empowers users to render\na confined portion of the heatmap. This selective rendering strategy becomes\nespecially advantageous when dealing with extensive datasets. Instead of\nrendering the entire heatmap at once, the chart dynamically loads and renders\nspecific segments as the user scrolls through the data. This approach optimizes\nperformance and enables the creation of heatmaps with large amounts of data.\n\nThe `height` and `width` properties are used to specify the dimensions of the\ncamera view port. The `active` property is used to enable or disable the camera\nview port functionality."
14
+ "type": "{ active: boolean; height: number; width: number; }"
13
15
  },
14
16
  "echartsRendererMode": {
15
- "type": "\"svg\" | \"canvas\"",
16
- "isRequired": false
17
+ "defaultValue": "svg",
18
+ "description": "Which renderer ECharts initialises with. Canvas copes better with very\nlarge grids. Changing it rebuilds the chart.",
19
+ "isRequired": false,
20
+ "type": "\"canvas\" | \"svg\""
17
21
  },
18
22
  "symbol": {
19
- "type": "\"circle\" | \"rect\" | \"roundRect\"",
23
+ "defaultValue": "rect",
24
+ "description": "The shape of a cell. Circles turn the grid into a dot plot, where diameter\ncan carry a second measurement.",
20
25
  "isRequired": false,
21
- "description": "The shape of the symbol."
26
+ "type": "\"circle\" | \"rect\" | \"roundRect\""
27
+ },
28
+ "data": {
29
+ "defaultValue": "- (required)",
30
+ "description": "The cells, as a flat array of objects whose fields are named by `encode`.\nThe data point object shape can be whatever you like, but it must be consistent with the `encode` option\nFor example, if the data point shape is:\n{\n geneIndex: 0,\n cellTypeIndex: 0,\n percentage: 0.5\n}\nand you want geneIndex to be encoded to x axis and cellTypeIndex to be encoded to y axis, then make sure your encode option is:\nencode: {\n x: 'geneIndex',\n y: 'cellTypeIndex'\n}",
31
+ "isRequired": true,
32
+ "type": "OptionSourceDataTypedArray | OptionSourceDataOriginal<OptionDataValue, OptionDataItemOriginal<OptionDataValue>> | OptionSourceDataObjectRows<OptionDataValue> | OptionSourceDataArrayRows<OptionDataValue> | OptionSourceDataKeyedColumns<OptionDataValue>"
33
+ },
34
+ "xAxisData": {
35
+ "defaultValue": "- (required)",
36
+ "description": "The categories along the x axis. A cell's encoded x value is an index into\nthis array.\nFor example:\n[{ value: \"gene1\", textStyle: { color: \"red\" } }, \"gene2\", \"gene3\"]",
37
+ "isRequired": true,
38
+ "type": "CategoryAxisData"
39
+ },
40
+ "yAxisData": {
41
+ "defaultValue": "- (required)",
42
+ "description": "The categories along the y axis.\nFor example:\n[{ value: \"cellType1\", textStyle: { color: \"red\" } }, \"cellType2\", \"cellType3\"]",
43
+ "isRequired": true,
44
+ "type": "CategoryAxisData"
45
+ },
46
+ "width": {
47
+ "defaultValue": "- (required)",
48
+ "description": "Width of the chart in pixels. Must be greater than zero; the component\nthrows otherwise.",
49
+ "isRequired": true,
50
+ "type": "number"
51
+ },
52
+ "height": {
53
+ "defaultValue": "- (required)",
54
+ "description": "Height of the chart in pixels, under the same rule.",
55
+ "isRequired": true,
56
+ "type": "number"
22
57
  },
23
- "tooltip": {
24
- "type": "any",
25
- "isRequired": false
58
+ "encode": {
59
+ "description": "Which fields of a data item place it on each axis. Omitting it leaves\nECharts to guess from the field order.\nFor example, if the data is:\n{\n geneIndex: 0,\n cellTypeIndex: 0,\n percentage: 0.5\n}\nand we want to encode `geneIndex` to x axis and `cellTypeIndex` to y axis, then\nencode: {\n x: 'geneIndex',\n y: 'cellTypeIndex'\n}\nhttps://echarts.apache.org/en/option.html#series-scatter.encode",
60
+ "isRequired": false,
61
+ "type": "{ x: string; y: string; }"
62
+ },
63
+ "symbolSize": {
64
+ "defaultValue": 5,
65
+ "description": "Cell size in pixels: one number, a [width, height] pair, or a callback\ngiven the data item. Set it to the cell pitch for a solid grid.\n\n`symbolSize` can be set to single numbers like 10, or use an array to represent width and height. For example, [20, 10] means symbol width is 20, and height is 10.\n\nIf size of symbols needs to be different, you can set with callback function in the following format:\n\n(value: Array|number, params: Object) => number|Array\n\nThe first parameter value is the value in data, and the second parameter params is the rest parameters of data item.\nhttps://echarts.apache.org/en/option.html#series-scatter.symbolSize",
66
+ "isRequired": false,
67
+ "type": "number | number[] | SymbolSizeCallback<CallbackDataParams>"
68
+ },
69
+ "itemStyle": {
70
+ "defaultValue": "solid black",
71
+ "description": "How a cell is painted. Its color accepts a callback receiving the data\nitem, which is how a value becomes a color.\nhttps://echarts.apache.org/en/option.html#series-scatter.itemStyle",
72
+ "isRequired": false,
73
+ "type": "ItemStyleOption<CallbackDataParams>"
74
+ },
75
+ "emphasis": {
76
+ "defaultValue": "a 2–4px border",
77
+ "description": "How a cell is drawn while the pointer is over it. Takes the same shape as\n`itemStyle`: color, border, opacity.\nhttps://echarts.apache.org/en/option.html#series-scatter.emphasis",
78
+ "isRequired": false,
79
+ "type": "ScatterStateOption"
80
+ },
81
+ "dataZoom": {
82
+ "defaultValue": "the camera window",
83
+ "description": "ECharts' dataZoom configuration for that window, merged over the defaults\nit sets. One object applies to both axes; a two-entry array configures them\nseparately. It reaches the chart only while `camera.active` is true.\n\nThe `dataZoom` prop is utilized for implementing zoom functionality within a\nspecific area of the chart. This feature empowers users to inspect data in\ngranular detail, obtain an overview of the entire dataset, or eliminate\noutlier points.\nBy applying the `dataZoom` prop while locking the zoom level, the chart\nefficiently renders a confined portion of the heatmap. This selective\nrendering strategy becomes especially advantageous when dealing with\nextensive datasets. Instead of rendering the entire heatmap at once,\nthe chart dynamically loads and renders specific segments as the user\nscrolls through the data. This approach optimizes performance and enables\nthe creation of heatmaps with large amounts of data.\nhttps://echarts.apache.org/en/option.html#dataZoom",
84
+ "isRequired": false,
85
+ "type": "SliderDataZoomOption | InsideDataZoomOption | DataZoomComponentOption[]"
86
+ },
87
+ "grid": {
88
+ "defaultValue": "fills the container",
89
+ "description": "Where the plotting area sits inside the container. The function form\nreceives the computed default, for insetting it without recomputing the\nsize.\nhttps://echarts.apache.org/en/option.html#grid",
90
+ "isRequired": false,
91
+ "type": "GridOption | GridOption[] | (defaultOption: GridOption | GridOption[]) => GridOption | GridOption[]"
92
+ },
93
+ "options": {
94
+ "description": "Anything else ECharts understands, merged over the generated options.\nhttps://echarts.apache.org/en/option.html",
95
+ "isRequired": false,
96
+ "type": "EChartsOption"
97
+ },
98
+ "onEvents": {
99
+ "description": "ECharts event listeners by name. Each handler gets the raw event, whose\ndata property is the cell, and the chart instance.\nhttps://echarts.apache.org/en/api.html#events",
100
+ "isRequired": false,
101
+ "type": "Record<string, (event: unknown, chart: EChartsType) => void>"
26
102
  }
27
103
  }
28
104
  }
29
- }
105
+ }
@@ -2,81 +2,122 @@
2
2
  "Hero": {
3
3
  "props": {
4
4
  "backgroundFill": {
5
- "type": "ReactNode",
6
- "isRequired": false
5
+ "description": "A string becomes the background color, so any CSS color or gradient works. A node is rendered full-bleed behind the content, and an img or video inside it is scaled to cover the section.",
6
+ "isRequired": false,
7
+ "type": "ReactNode"
7
8
  },
8
9
  "captionText": {
9
- "type": "string",
10
- "isRequired": false
10
+ "description": "Supporting copy rendered below the headline.",
11
+ "isRequired": false,
12
+ "type": "string"
11
13
  },
12
14
  "darkeningMask": {
13
- "type": "\"false\" | \"true\"",
14
- "isRequired": false
15
+ "defaultValue": false,
16
+ "description": "Adds a solid layer over the background. Pair it with darkeningMaskOpacity, which is 0 by default.",
17
+ "isRequired": false,
18
+ "type": "boolean"
15
19
  },
16
20
  "darkeningMaskColor": {
17
- "type": "string",
18
- "isRequired": false
21
+ "defaultValue": "#000000",
22
+ "description": "The color of that layer.",
23
+ "isRequired": false,
24
+ "type": "string"
19
25
  },
20
26
  "darkeningMaskOpacity": {
21
- "type": "number",
22
- "isRequired": false
27
+ "defaultValue": 0,
28
+ "description": "The opacity of that layer, from 0 to 1.",
29
+ "isRequired": false,
30
+ "type": "number"
23
31
  },
24
32
  "darkeningVignette": {
25
- "type": "\"false\" | \"true\"",
26
- "isRequired": false
33
+ "defaultValue": false,
34
+ "description": "Draws a 40px gradient along the top edge, above the content, so a transparent header navigation stays legible.",
35
+ "isRequired": false,
36
+ "type": "boolean"
27
37
  },
28
38
  "hasInvertTextColor": {
29
- "type": "\"false\" | \"true\"",
30
- "isRequired": false
39
+ "defaultValue": false,
40
+ "description": "Sets the headline and caption in the light text color, for a hero over a dark backdrop: imagery, or a darkening mask over it. The color is the same in both themes, because the backdrop it is read against is.",
41
+ "isRequired": false,
42
+ "type": "boolean"
31
43
  },
32
44
  "headerFontSize": {
33
- "type": "\"s\" | \"m\" | \"l\"",
34
- "isRequired": false
45
+ "defaultValue": "m",
46
+ "description": "The type scale of the headline.",
47
+ "isRequired": false,
48
+ "type": "\"s\" | \"m\" | \"l\""
35
49
  },
36
50
  "headerText": {
37
- "type": "string",
38
- "isRequired": false
51
+ "description": "The headline. Rendered as an h1 and omitted entirely when not provided.",
52
+ "isRequired": false,
53
+ "type": "string"
39
54
  },
40
55
  "heroHeight": {
41
- "type": "string",
42
- "isRequired": false
56
+ "defaultValue": "fit-content",
57
+ "description": "Any CSS height. Below a 512px viewport it is ignored and the section falls back to fit-content.",
58
+ "isRequired": false,
59
+ "type": "string"
43
60
  },
44
61
  "overlayContainerMinMargin": {
45
- "type": "{ small: number; medium: number; large: number; }",
46
- "isRequired": false
62
+ "defaultValue": "24px / 40px / 120px",
63
+ "description": "Overrides the side padding at each breakpoint. The value is written straight into CSS, so it needs a unit. The number type in the signature is wrong: a plain number produces an invalid declaration and the side padding drops to zero.",
64
+ "isRequired": false,
65
+ "type": "{ small: number; medium: number; large: number; }"
47
66
  },
48
67
  "overlayContentWidth": {
49
- "type": "string",
50
- "isRequired": false
68
+ "defaultValue": "100%",
69
+ "description": "Any CSS width for the content block, for example \"60%\" or \"640px\".",
70
+ "isRequired": false,
71
+ "type": "string"
51
72
  },
52
73
  "overlayContentPosition": {
53
- "type": "\"left\" | \"center\" | \"right\" | \"top-left\" | \"top\" | \"top-right\" | \"bottom-left\" | \"bottom\" | \"bottom-right\"",
54
- "isRequired": false
74
+ "defaultValue": "center",
75
+ "description": "Where the content block sits inside the section. Only visible when the section is taller or wider than the content.",
76
+ "isRequired": false,
77
+ "type": "\"center\" | \"bottom\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\""
55
78
  },
56
79
  "overlayMedia": {
57
- "type": "ReactNode",
58
- "isRequired": false
80
+ "description": "A media layer above the background and independent of the text block. An img or video inside it is scaled to cover the layer.",
81
+ "isRequired": false,
82
+ "type": "ReactNode"
59
83
  },
60
84
  "overlayMediaPosition": {
61
- "type": "\"left\" | \"center\" | \"right\" | \"top-left\" | \"top\" | \"top-right\" | \"bottom-left\" | \"bottom\" | \"bottom-right\"",
62
- "isRequired": false
85
+ "defaultValue": "center",
86
+ "description": "Where that layer sits inside the section.",
87
+ "isRequired": false,
88
+ "type": "\"center\" | \"bottom\" | \"left\" | \"right\" | \"top\" | \"top-left\" | \"top-right\" | \"bottom-left\" | \"bottom-right\""
63
89
  },
64
90
  "overlayMediaMaxHeight": {
65
- "type": "string",
66
- "isRequired": false
91
+ "description": "Sets the height of the media layer, with the same caveat.",
92
+ "isRequired": false,
93
+ "type": "string"
67
94
  },
68
95
  "overlayMediaMaxWidth": {
69
- "type": "string",
70
- "isRequired": false
96
+ "description": "Sets the width of the media layer outright rather than a maximum, despite the name. Without it the layer has no width.",
97
+ "isRequired": false,
98
+ "type": "string"
71
99
  },
72
100
  "overlayMediaMargin": {
73
- "type": "\"string\" | \"{ small: string; medium: string; large: string; }\"",
74
- "isRequired": false
101
+ "defaultValue": "0",
102
+ "description": "A margin shorthand for the media layer. Pass the object form to vary it by breakpoint: small below md, medium below lg, large above.",
103
+ "isRequired": false,
104
+ "type": "string | { small: string; medium: string; large: string; }"
75
105
  },
76
106
  "textAlignment": {
77
- "type": "\"left\" | \"center\" | \"right\"",
78
- "isRequired": false
107
+ "description": "Aligns the text within the content block, which starts at the leading edge when the prop is unset. This is separate from overlayContentPosition, which moves the block itself.",
108
+ "isRequired": false,
109
+ "type": "\"center\" | \"left\" | \"right\""
110
+ },
111
+ "children": {
112
+ "description": "Rendered in a full-width slot below the caption. Use it for buttons, links, or a search field.",
113
+ "isRequired": false,
114
+ "type": "ReactNode"
115
+ },
116
+ "className": {
117
+ "description": "Declared so it type-checks, but nothing in the component reads it: it travels with the rest of the props onto the section element.",
118
+ "isRequired": false,
119
+ "type": "string"
79
120
  }
80
121
  }
81
122
  }
82
- }
123
+ }
@@ -2,21 +2,32 @@
2
2
  "Icon": {
3
3
  "props": {
4
4
  "color": {
5
- "type": "\"blue\" | \"gray\" | \"green\" | \"purple\" | \"indigo\" | \"red\" | \"yellow\"",
6
- "isRequired": false
5
+ "defaultValue": "indigo",
6
+ "description": "A hue from the SDS palette. Note that this is the SDS color prop, not the MUI one, and it does not accept a CSS color.",
7
+ "isRequired": false,
8
+ "type": "\"blue\" | \"gray\" | \"green\" | \"purple\" | \"indigo\" | \"red\" | \"yellow\""
7
9
  },
8
10
  "sdsIcon": {
9
- "type": "complex",
10
- "isRequired": true
11
+ "description": "Required. The name of the icon, as listed in the Icon Bank. Names are case-sensitive, for example \"XMark\" and \"LightBulb\".",
12
+ "isRequired": true,
13
+ "type": "\"ArrowsDiagonalIn\" | \"ArrowsDiagonalOut\" | \"ArrowsUpDown\" | \"Bacteria\" | \"BarChartHorizontal3\" | \"BarChartVertical3\" | \"BarChartVertical4\" | \"Book\" | \"Check\" | \"CheckCircle\" | \"ChevronDown\" | \"ChevronDown2\" | \"ChevronLeft2\" | \"ChevronLeft\" | \"ChevronRight2\" | \"ChevronRight\" | \"ChevronUp\" | \"ChevronUp2\" | \"CirclesOverlap2\" | \"Cli\" | \"Code\" | \"Compass\" | \"Copy\" | \"Cube\" | \"DNA\" | \"Document\" | \"DotPlot\" | \"DotsHorizontal\" | \"Download\" | \"Droplet\" | \"Edit\" | \"Envelope\" | \"ExclamationMarkCircle\" | \"ExclamationMarkSpeechBubble\" | \"EyeClosed\" | \"EyeOpen\" | \"Filter\" | \"FlagCheck\" | \"FlagOutline\" | \"FlagQuestionMark\" | \"FlagXMark\" | \"Flask\" | \"FlaskPrivate\" | \"FlaskPublic\" | \"Gear\" | \"Gene\" | \"Github\" | \"Globe\" | \"GlobeBasic\" | \"Grid\" | \"GridDots3\" | \"GridPrivate\" | \"GridPublic\" | \"House\" | \"Hand\" | \"HandOpen\" | \"HandPointer\" | \"Image\" | \"InfoCircle\" | \"InfoSpeechBubble\" | \"Label\" | \"Lasso\" | \"LifeRing\" | \"LightBulb\" | \"LinesDashed3Solid1\" | \"LinesHorizontal3\" | \"Link\" | \"List\" | \"Loading\" | \"Lock\" | \"LockCircle\" | \"Maximize\" | \"Minimize\" | \"Minus\" | \"Open\" | \"Package\" | \"Pause\" | \"People\" | \"Percentage\" | \"Person\" | \"PieChart\" | \"PieChartXMark\" | \"Pin\" | \"PinLocation\" | \"Play\" | \"Plus\" | \"PlusCircle\" | \"ProjectPrivate\" | \"ProjectPublic\" | \"PuzzlePiece\" | \"QuestionMark\" | \"QuestionMarkCircle\" | \"Quote\" | \"Read\" | \"Refresh\" | \"Report\" | \"Rocket\" | \"RotateLeft\" | \"RotateRight\" | \"Save\" | \"Scale\" | \"ScatterPlot\" | \"Search\" | \"SearchLinesHorizontal3\" | \"Send\" | \"Share\" | \"SlidersHorizontal\" | \"Sparkle\" | \"Sparkles\" | \"SpeechBubbles\" | \"SquareOnDashedSquare\" | \"SquareOnSquareArrowDownRight\" | \"Starburst\" | \"Star\" | \"Table\" | \"ThumbsDown\" | \"ThumbsUp\" | \"TrashCan\" | \"TreeDendogram\" | \"TreeHorizontal\" | \"TreeHorizontalPrivate\" | \"TreeHorizontalPublic\" | \"TreeHorizontalTopRightFilled\" | \"TreeVertical\" | \"TriangleDown\" | \"TriangleLeft\" | \"TriangleRight\" | \"TriangleUp\" | \"Update\" | \"Umap\" | \"Upload\" | \"Virus\" | \"VirusCircleS\" | \"Widget\" | \"XMark\" | \"XMarkCircle\""
11
14
  },
12
15
  "sdsSize": {
13
- "type": "\"xxs\" | \"xs\" | \"s\" | \"l\" | \"xl\"",
14
- "isRequired": true
16
+ "description": "Required. Which sizes are accepted depends on the icon named in sdsIcon.",
17
+ "isRequired": true,
18
+ "type": "\"s\" | \"xs\" | \"l\" | \"xl\" | \"xxs\""
15
19
  },
16
20
  "shade": {
17
- "type": "\"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\"",
18
- "isRequired": false
21
+ "defaultValue": "500 in light mode, 600 in dark mode",
22
+ "description": "The step within the chosen hue.",
23
+ "isRequired": false,
24
+ "type": "100 | 200 | 300 | 400 | 500 | 600 | 700 | 800"
25
+ },
26
+ "className": {
27
+ "description": "Applied to the SVG. Useful for overriding the fill from a parent component.",
28
+ "isRequired": false,
29
+ "type": "string"
19
30
  }
20
31
  }
21
32
  }
22
- }
33
+ }
@@ -2,32 +2,54 @@
2
2
  "InputCheckbox": {
3
3
  "props": {
4
4
  "caption": {
5
- "type": "string",
6
- "isRequired": false
5
+ "description": "The caption of the InputCheckbox appears beneath the label in a lighter text color.",
6
+ "isRequired": false,
7
+ "type": "string"
7
8
  },
8
9
  "disabled": {
9
- "type": "\"false\" | \"true\"",
10
- "isRequired": false,
10
+ "defaultValue": false,
11
11
  "description": "If `true`, the component is disabled.",
12
- "defaultValue": false
12
+ "isRequired": false,
13
+ "type": "boolean"
13
14
  },
14
15
  "intent": {
15
- "type": "\"default\" | \"negative\" | \"notice\" | \"positive\"",
16
- "isRequired": false
16
+ "defaultValue": "default",
17
+ "description": "Colors the border of the empty box. The checked box always uses the accent color.",
18
+ "isRequired": false,
19
+ "type": "\"default\" | \"negative\" | \"notice\" | \"positive\""
17
20
  },
18
21
  "label": {
19
- "type": "ReactNode",
20
- "isRequired": false
22
+ "description": "The label of the InputCheckbox. When omitted, the box renders on its own with no label element.",
23
+ "isRequired": false,
24
+ "type": "ReactNode"
21
25
  },
22
26
  "stage": {
23
- "type": "\"indeterminate\" | \"checked\" | \"unchecked\"",
24
- "isRequired": false
27
+ "description": "Sets the state of the checkbox. It overrides checked, so a checkbox with a stage only changes when you recompute the stage from an onChange handler. Omit it to let the checkbox manage its own state.",
28
+ "isRequired": false,
29
+ "type": "\"checked\" | \"indeterminate\" | \"unchecked\""
25
30
  },
26
31
  "classes": {
27
- "type": "complex",
32
+ "defaultValue": {},
33
+ "description": "Class names for the internal elements: root, labelCaptionContainer, label,\ncaption, checkbox, checkboxCheckedIcon, checkboxDefaultIcon, and\ncheckboxIndeterminateIcon.",
34
+ "isRequired": false,
35
+ "type": "complex"
36
+ },
37
+ "checkboxProps": {
38
+ "defaultValue": {},
39
+ "description": "Directly pass these props to the underlying MUI checkbox.",
40
+ "isRequired": false,
41
+ "type": "Partial<CheckboxProps>"
42
+ },
43
+ "checked": {
44
+ "description": "If `true`, the component is checked.",
45
+ "isRequired": false,
46
+ "type": "boolean"
47
+ },
48
+ "onChange": {
49
+ "description": "Callback fired when the state is changed.\n@param event The event source of the callback.\nYou can pull out the new checked state by accessing `event.target.checked` (boolean).",
28
50
  "isRequired": false,
29
- "description": "Override or extend the styles applied to the component."
51
+ "type": "function"
30
52
  }
31
53
  }
32
54
  }
33
- }
55
+ }
@@ -2,57 +2,105 @@
2
2
  "InputDropdown": {
3
3
  "props": {
4
4
  "counter": {
5
- "type": "ReactNode",
6
- "isRequired": false
5
+ "description": "If multiple set to true, this number shows the number of selected menu items.",
6
+ "isRequired": false,
7
+ "type": "ReactNode"
7
8
  },
8
9
  "classes": {
9
- "type": "complex",
10
- "isRequired": false
10
+ "description": "A class name for each part of the input, for styling one of them without reaching through the DOM: root, label, labelDetailsWrapper, contentWrapper, details, counter, iconWrapper, chevronIcon and minimalDetails.",
11
+ "isRequired": false,
12
+ "type": "complex"
11
13
  },
12
14
  "disabled": {
13
- "type": "\"false\" | \"true\"",
14
- "isRequired": false
15
+ "defaultValue": false,
16
+ "description": "If true, the component is disabled.",
17
+ "isRequired": false,
18
+ "type": "boolean"
15
19
  },
16
20
  "intent": {
17
- "type": "\"default\" | \"negative\" | \"notice\" | \"positive\"",
18
- "isRequired": false
21
+ "defaultValue": "default",
22
+ "description": "The color of the component.",
23
+ "isRequired": false,
24
+ "type": "\"default\" | \"negative\" | \"notice\" | \"positive\""
19
25
  },
20
26
  "label": {
21
- "type": "ReactNode",
22
- "isRequired": true
27
+ "description": "The label of the Input Button.",
28
+ "isRequired": true,
29
+ "type": "ReactNode"
23
30
  },
24
31
  "multiple": {
25
- "type": "\"false\" | \"true\"",
26
- "isRequired": false
32
+ "defaultValue": false,
33
+ "description": "Allows users to select multiple menu items.multiple=true cannot be used with the minimum variant.",
34
+ "isRequired": false,
35
+ "type": "boolean"
27
36
  },
28
37
  "sdsStyle": {
29
- "type": "\"minimal\" | \"square\" | \"rounded\"",
30
- "isRequired": false
38
+ "defaultValue": "square",
39
+ "description": "The visual appearance of the component.",
40
+ "isRequired": false,
41
+ "type": "\"square\" | \"rounded\" | \"minimal\""
31
42
  },
32
43
  "sdsType": {
33
- "type": "\"value\" | \"label\"",
34
- "isRequired": false
44
+ "defaultValue": "label",
45
+ "description": "The label variant includes the label within the input field and showcases the selected menu item as additional details or sets the counter when in multi-select mode. The value variant replaces the label with the selected value directly within the input field. The detailed information is then displayed in a separate section dedicated to displaying additional details. However, it's important to note that the value variant cannot be used in conjunction with multi-select mode.",
46
+ "isRequired": false,
47
+ "type": "\"label\" | \"value\""
35
48
  },
36
49
  "shouldPutAColonAfterLabel": {
37
- "type": "\"false\" | \"true\"",
38
- "isRequired": false
50
+ "defaultValue": true,
51
+ "description": "If true, a colon (:) will be added after the label or value.",
52
+ "isRequired": false,
53
+ "type": "boolean"
39
54
  },
40
55
  "shouldTruncateMinimalDetails": {
41
- "type": "\"false\" | \"true\"",
42
- "isRequired": false
56
+ "defaultValue": false,
57
+ "description": "If true, the details section of the minimal variant displays a truncated one-liner with an ellipsis (...), if false the details section expands to multiple lines for a comprehensive display.",
58
+ "isRequired": false,
59
+ "type": "boolean"
43
60
  },
44
61
  "startIcon": {
45
- "type": "ReactNode",
46
- "isRequired": false
62
+ "description": "An element placed before the label, passed straight through to the underlying MUI Button.",
63
+ "isRequired": false,
64
+ "type": "ReactNode"
47
65
  },
48
66
  "style": {
49
- "type": "CSSProperties",
50
- "isRequired": false
67
+ "description": "Inline styles for the input's root element.",
68
+ "isRequired": false,
69
+ "type": "CSSProperties"
51
70
  },
52
71
  "width": {
53
- "type": "string",
54
- "isRequired": false
72
+ "defaultValue": "auto",
73
+ "description": "How wide the input is. A bare number is read as pixels, so \"240\" means 240px, and any other value is used as the CSS width, such as \"100%\" or \"20rem\". Values below 90px are ignored, since the input keeps that as its minimum. Left unset, the input is as wide as its content, or as wide as its container if MUI's fullWidth is set.",
74
+ "isRequired": false,
75
+ "type": "string"
76
+ },
77
+ "className": {
78
+ "description": "Added to the input's root element, alongside anything classes.root puts there.",
79
+ "isRequired": false,
80
+ "type": "string"
81
+ },
82
+ "details": {
83
+ "description": "A text showing details for the selected menu item.",
84
+ "isRequired": false,
85
+ "type": "ReactNode"
86
+ },
87
+ "onClick": {
88
+ "defaultValue": "(event: React.MouseEvent<HTMLElement>) => void",
89
+ "description": "Sets what happens when a user clicks on the component.",
90
+ "isRequired": true,
91
+ "type": "function"
92
+ },
93
+ "state": {
94
+ "defaultValue": "default",
95
+ "description": "Draws the input in its open state. The input has no idea whether its menu is showing, so set this from whatever holds that state.",
96
+ "isRequired": false,
97
+ "type": "\"open\" | \"default\""
98
+ },
99
+ "value": {
100
+ "description": "The value that will be displayed in the component for the value variant.",
101
+ "isRequired": false,
102
+ "type": "ReactNode"
55
103
  }
56
104
  }
57
105
  }
58
- }
106
+ }
@@ -2,31 +2,49 @@
2
2
  "InputRadio": {
3
3
  "props": {
4
4
  "caption": {
5
- "type": "ReactNode",
6
- "isRequired": false
5
+ "description": "The caption of the InputRadio appears beneath the label in a lighter text color.",
6
+ "isRequired": false,
7
+ "type": "ReactNode"
7
8
  },
8
9
  "disabled": {
9
- "type": "\"false\" | \"true\"",
10
+ "defaultValue": false,
11
+ "description": "If `true`, the component is disabled.",
10
12
  "isRequired": false,
11
- "description": "If `true`, the component is disabled."
13
+ "type": "boolean"
12
14
  },
13
15
  "intent": {
14
- "type": "\"default\" | \"negative\" | \"notice\" | \"positive\"",
15
- "isRequired": false
16
+ "defaultValue": "default",
17
+ "description": "Colors the border of the empty circle. The selected radio always uses the accent color.",
18
+ "isRequired": false,
19
+ "type": "\"default\" | \"negative\" | \"notice\" | \"positive\""
16
20
  },
17
21
  "label": {
18
- "type": "ReactNode",
19
- "isRequired": false
22
+ "description": "The label of the InputRadio.",
23
+ "isRequired": false,
24
+ "type": "ReactNode"
20
25
  },
21
26
  "stage": {
22
- "type": "\"checked\" | \"unchecked\"",
23
- "isRequired": false
27
+ "description": "Sets the radio as \"checked\" or \"unchecked\", overriding checked. Omit it inside a RadioGroup, which drives the selection itself.",
28
+ "isRequired": false,
29
+ "type": "\"checked\" | \"unchecked\""
24
30
  },
25
31
  "classes": {
26
- "type": "complex",
32
+ "defaultValue": {},
33
+ "description": "Class names for the internal elements: root, labelCaptionContainer, label,\ncaption, radioButton, radioCheckedIcon, radioCheckedIconDot, and\nradioDefaultIcon.",
34
+ "isRequired": false,
35
+ "type": "complex"
36
+ },
37
+ "value": {
38
+ "description": "The value a RadioGroup compares against to decide whether this radio is\nselected. It also backs the label and caption element ids, so give every\nradio a unique one.",
39
+ "isRequired": false,
40
+ "type": "string"
41
+ },
42
+ "radioProps": {
43
+ "defaultValue": {},
44
+ "description": "Directly pass these props to the underlying MUI radio.",
27
45
  "isRequired": false,
28
- "description": "Override or extend the styles applied to the component."
46
+ "type": "Partial<RadioProps>"
29
47
  }
30
48
  }
31
49
  }
32
- }
50
+ }