@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,25 +2,53 @@
2
2
  "Pagination": {
3
3
  "props": {
4
4
  "pageSize": {
5
- "type": "number",
6
- "isRequired": true
5
+ "description": "Required. How many items fit on a page, which together with totalCount gives the number of pages. Must be at least 1; a smaller value throws.",
6
+ "isRequired": true,
7
+ "type": "number"
7
8
  },
8
9
  "sdsStyle": {
9
- "type": "\"round\" | \"square\"",
10
- "isRequired": false
10
+ "defaultValue": "round",
11
+ "description": "Whether the page and chevron targets are circles or rounded squares.",
12
+ "isRequired": false,
13
+ "type": "\"square\" | \"round\""
11
14
  },
12
15
  "siblingCount": {
13
- "type": "number",
14
- "isRequired": false
16
+ "defaultValue": 1,
17
+ "description": "How many page numbers to keep on each side of the current page before the rest collapse into an ellipsis.",
18
+ "isRequired": false,
19
+ "type": "number"
15
20
  },
16
21
  "totalCount": {
17
- "type": "number",
18
- "isRequired": true
22
+ "description": "Required. Total number of items being paged through: the whole set, not the current page.",
23
+ "isRequired": true,
24
+ "type": "number"
19
25
  },
20
26
  "truncateDropdown": {
21
- "type": "\"false\" | \"true\"",
22
- "isRequired": false
27
+ "defaultValue": true,
28
+ "description": "When true the ellipsis is a menu of the pages it stands for. When false it is a disabled placeholder, and those pages can only be reached by stepping through with the chevrons.",
29
+ "isRequired": false,
30
+ "type": "boolean"
31
+ },
32
+ "onPageChange": {
33
+ "description": "A callback function triggered when the page number is changed.",
34
+ "isRequired": true,
35
+ "type": "(page: number) => void"
36
+ },
37
+ "onNextPage": {
38
+ "description": "A callback function triggered when the \"Next\" page button is clicked.",
39
+ "isRequired": true,
40
+ "type": "() => void"
41
+ },
42
+ "onPreviousPage": {
43
+ "description": "A callback function triggered when the \"Previous\" page button is clicked.",
44
+ "isRequired": true,
45
+ "type": "() => void"
46
+ },
47
+ "currentPage": {
48
+ "description": "Required. The page to mark as current, counted from 1. Pagination keeps no page state of its own.",
49
+ "isRequired": true,
50
+ "type": "number"
23
51
  }
24
52
  }
25
53
  }
26
- }
54
+ }
@@ -2,21 +2,74 @@
2
2
  "Panel": {
3
3
  "props": {
4
4
  "isBackdropClickEnabled": {
5
- "type": "\"false\" | \"true\"",
6
- "isRequired": false
5
+ "defaultValue": false,
6
+ "description": "Overlay only in practice. Adds an invisible backdrop so a click outside the panel reaches onClose. Left off, clicks pass through to the page.",
7
+ "isRequired": false,
8
+ "type": "boolean"
7
9
  },
8
10
  "position": {
9
- "type": "\"bottom\" | \"left\" | \"right\"",
10
- "isRequired": false
11
+ "defaultValue": "left",
12
+ "description": "Which edge the panel is attached to. A basic panel takes \"left\" or \"right\"; an overlay adds \"bottom\".",
13
+ "isRequired": false,
14
+ "type": "\"bottom\" | \"left\" | \"right\""
11
15
  },
12
16
  "sdsType": {
13
- "type": "\"overlay\" | \"basic\"",
14
- "isRequired": true
17
+ "defaultValue": "- (required)",
18
+ "description": "\"basic\" sits in the page and stays until you close it; \"overlay\" floats over the page with a header and close button. It also decides which of the props below apply, so TypeScript needs it spelled out even though the component falls back to \"basic\".",
19
+ "isRequired": true,
20
+ "type": "\"overlay\" | \"basic\""
21
+ },
22
+ "transitionDuration": {
23
+ "defaultValue": "{\nenter: theme.transitions.duration.enteringScreen,\nexit: theme.transitions.duration.leavingScreen,\n}",
24
+ "description": "The duration for the transition, in milliseconds.\nYou may specify a single timeout for all transitions, or individually with an object.",
25
+ "isRequired": false,
26
+ "type": "number | { appear?: number | undefined; enter?: number | undefined; exit?: number | undefined; }"
15
27
  },
16
28
  "width": {
17
- "type": "\"string\" | \"number\"",
18
- "isRequired": false
29
+ "defaultValue": "240 (basic) 320 (overlay)",
30
+ "description": "How wide the panel is, or how tall it is when positioned along the bottom. Numbers are read as pixels. Values below the default are ignored, since the panel keeps that as its minimum in both directions.",
31
+ "isRequired": false,
32
+ "type": "string | number"
33
+ },
34
+ "open": {
35
+ "defaultValue": false,
36
+ "description": "If `true`, the component is shown.",
37
+ "isRequired": false,
38
+ "type": "boolean"
39
+ },
40
+ "HeaderComponent": {
41
+ "description": "Overlay only. Fills the header bar beside the close button. Leave it out and the bar holds the close button alone.",
42
+ "isRequired": false,
43
+ "type": "ReactNode"
44
+ },
45
+ "closeButtonOnClick": {
46
+ "description": "Overlay only. Runs when the header's close control is clicked. Without it, the control does nothing.",
47
+ "isRequired": false,
48
+ "type": "function"
49
+ },
50
+ "CloseButtonComponent": {
51
+ "defaultValue": "<Button sdsStyle=minimal sdsType=secondary size=large backgroundOnHover={false} aria-label=Panel Toggle> <Icon sdsIcon=XMark sdsSize=l /> </Button>",
52
+ "description": "Overlay only. Replaces the close button. Clicks are handled by the wrapper around it, so it needs no handler of its own.",
53
+ "isRequired": false,
54
+ "type": "ReactNode"
55
+ },
56
+ "onClose": {
57
+ "description": "Callback fired when the component requests to be closed.\nThe `reason` parameter can optionally be used to control the response to `onClose`.\n@param event The event source of the callback.\n@param reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`.",
58
+ "isRequired": false,
59
+ "type": "(event: {}, reason: \"backdropClick\" | \"escapeKeyDown\") => void"
60
+ },
61
+ "ModalProps": {
62
+ "defaultValue": {},
63
+ "description": "Props applied to the [`Modal`](https://mui.com/material-ui/api/modal/) element.",
64
+ "isRequired": false,
65
+ "type": "Partial<ModalProps>"
66
+ },
67
+ "slotProps": {
68
+ "defaultValue": {},
69
+ "description": "The props used for each slot inside.",
70
+ "isRequired": false,
71
+ "type": "{ root?: SlotProps<ElementType<ModalProps, keyof IntrinsicElements>, DrawerRootSlotPropsOverrides, DrawerOwnerState> | undefined; backdrop?: SlotProps<...> | undefined; docked?: SlotProps<...> | undefined; paper?: SlotProps<...> | undefined; transition?: SlotProps<...> | undefined; }"
19
72
  }
20
73
  }
21
74
  }
22
- }
75
+ }
@@ -2,17 +2,90 @@
2
2
  "Popover": {
3
3
  "props": {
4
4
  "anchorOrigin": {
5
- "type": "PopoverOrigin",
6
- "isRequired": false,
5
+ "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}",
7
6
  "description": "This is the point on the anchor where the popover's\n`anchorEl` will attach to. This is not used when the\nanchorReference is 'anchorPosition'.\n\nOptions:\nvertical: [top, center, bottom];\nhorizontal: [left, center, right].",
8
- "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}"
7
+ "isRequired": false,
8
+ "type": "PopoverOrigin"
9
9
  },
10
10
  "transformOrigin": {
11
- "type": "PopoverOrigin",
12
- "isRequired": false,
11
+ "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}",
13
12
  "description": "This is the point on the popover which\nwill attach to the anchor's origin.\n\nOptions:\nvertical: [top, center, bottom, x(px)];\nhorizontal: [left, center, right, x(px)].",
14
- "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}"
13
+ "isRequired": false,
14
+ "type": "PopoverOrigin"
15
+ },
16
+ "open": {
17
+ "description": "If `true`, the component is shown.",
18
+ "isRequired": true,
19
+ "type": "boolean"
20
+ },
21
+ "anchorEl": {
22
+ "description": "An HTML element, [PopoverVirtualElement](https://mui.com/material-ui/react-popover/#virtual-element),\nor a function that returns either.\nIt's used to set the position of the popover.",
23
+ "isRequired": false,
24
+ "type": "Element | PopoverVirtualElement | () => Element | PopoverVirtualElement | null | null"
25
+ },
26
+ "onClose": {
27
+ "description": "Callback fired when the component requests to be closed.\nThe `reason` parameter can optionally be used to control the response to `onClose`.",
28
+ "isRequired": false,
29
+ "type": "(event: {}, reason: \"backdropClick\" | \"escapeKeyDown\") => void"
30
+ },
31
+ "children": {
32
+ "description": "The content of the component.",
33
+ "isRequired": false,
34
+ "type": "ReactNode"
35
+ },
36
+ "anchorReference": {
37
+ "defaultValue": "anchorEl",
38
+ "description": "This determines which anchor prop to refer to when setting\nthe position of the popover.",
39
+ "isRequired": false,
40
+ "type": "\"none\" | \"anchorEl\" | \"anchorPosition\""
41
+ },
42
+ "anchorPosition": {
43
+ "description": "This is the position that may be used to set the position of the popover.\nThe coordinates are relative to the application's client area.",
44
+ "isRequired": false,
45
+ "type": "PopoverPosition"
46
+ },
47
+ "slotProps": {
48
+ "defaultValue": {},
49
+ "description": "The props used for each slot inside.",
50
+ "isRequired": false,
51
+ "type": "{ root?: SlotProps<ElementType<ModalProps, keyof IntrinsicElements>, PopoverRootSlotPropsOverrides, PopoverOwnerState> | undefined; paper?: SlotProps<...> | undefined; transition?: SlotComponentProps<...> | undefined; backdrop?: SlotProps<...> | undefined; }"
52
+ },
53
+ "marginThreshold": {
54
+ "defaultValue": 16,
55
+ "description": "Specifies how close to the edge of the window the popover can appear.\nIf null, the popover will not be constrained by the window.",
56
+ "isRequired": false,
57
+ "type": "number | null"
58
+ },
59
+ "keepMounted": {
60
+ "defaultValue": false,
61
+ "description": "Always keep the children in the DOM.\nThis prop can be useful in SEO situation or\nwhen you want to maximize the responsiveness of the Modal.",
62
+ "isRequired": false,
63
+ "type": "boolean"
64
+ },
65
+ "disableScrollLock": {
66
+ "defaultValue": false,
67
+ "description": "Disable the scroll lock behavior.",
68
+ "isRequired": false,
69
+ "type": "boolean"
70
+ },
71
+ "disablePortal": {
72
+ "defaultValue": false,
73
+ "description": "The `children` will be under the DOM hierarchy of the parent component.",
74
+ "isRequired": false,
75
+ "type": "boolean"
76
+ },
77
+ "elevation": {
78
+ "defaultValue": 8,
79
+ "description": "The elevation of the popover.",
80
+ "isRequired": false,
81
+ "type": "number"
82
+ },
83
+ "transitionDuration": {
84
+ "defaultValue": "auto",
85
+ "description": "Set to 'auto' to automatically calculate transition time based on height.",
86
+ "isRequired": false,
87
+ "type": "number | { appear?: number | undefined; enter?: number | undefined; exit?: number | undefined; } | \"auto\""
15
88
  }
16
89
  }
17
90
  }
18
- }
91
+ }
@@ -2,57 +2,129 @@
2
2
  "PreComposedTable": {
3
3
  "props": {
4
4
  "border": {
5
- "type": "any",
6
- "isRequired": false
5
+ "defaultValue": true,
6
+ "description": "Draws the border around the scrolling table area",
7
+ "isRequired": false,
8
+ "type": "boolean"
7
9
  },
8
10
  "columns": {
9
- "type": "any",
10
- "isRequired": false
11
+ "description": "Column definitions that specify how data should be rendered and behave",
12
+ "isRequired": false,
13
+ "type": "ColumnDef<TData>[]"
11
14
  },
12
15
  "enableColumnFiltering": {
13
- "type": "any",
14
- "isRequired": false
16
+ "defaultValue": false,
17
+ "description": "Adds a filter row under the header. Each column gets a search input unless its meta supplies a filterComponent",
18
+ "isRequired": false,
19
+ "type": "boolean"
15
20
  },
16
21
  "enableGlobalFiltering": {
17
- "type": "any",
18
- "isRequired": false
22
+ "defaultValue": false,
23
+ "description": "Displays a search input that filters across all columns",
24
+ "isRequired": false,
25
+ "type": "boolean"
19
26
  },
20
27
  "enablePagination": {
21
- "type": "any",
22
- "isRequired": false
28
+ "defaultValue": false,
29
+ "description": "Enables pagination controls at the bottom of the table",
30
+ "isRequired": false,
31
+ "type": "boolean"
23
32
  },
24
33
  "enableRowSelection": {
25
- "type": "any",
26
- "isRequired": false
34
+ "defaultValue": false,
35
+ "description": "Adds a checkbox column with select-all. To control that column yourself, include one with the id \"SdsTableSelectColumn\" and it will be used instead of the generated one",
36
+ "isRequired": false,
37
+ "type": "boolean"
27
38
  },
28
39
  "enableSorting": {
29
- "type": "any",
30
- "isRequired": false
40
+ "defaultValue": false,
41
+ "description": "Makes column headers sortable, wiring each one's chevron and click handler for you",
42
+ "isRequired": false,
43
+ "type": "boolean"
31
44
  },
32
45
  "onRowSelect": {
33
- "type": "any",
34
- "isRequired": false
46
+ "description": "Callback triggered when row selection changes; receives array of selected row data",
47
+ "isRequired": false,
48
+ "type": "(selectedRows: TData[]) => void"
35
49
  },
36
50
  "paginationConfig": {
37
- "type": "any",
38
- "isRequired": false
51
+ "description": "Passed through to Pagination, plus a placement for the controls, which sit on the right by default. pageSize also sets the initial page size, which is 10 otherwise. Changing this object resets the table to the first page",
52
+ "isRequired": false,
53
+ "type": "Partial<PaginationProps> & { placement?: \"left\" | \"center\" | \"right\" }"
39
54
  },
40
55
  "shouldPinSelectRowToLeft": {
41
- "type": "any",
42
- "isRequired": false
56
+ "defaultValue": true,
57
+ "description": "Pins the row selection column to the left/right side of the table",
58
+ "isRequired": false,
59
+ "type": "boolean"
43
60
  },
44
61
  "sdsStyle": {
45
- "type": "any",
46
- "isRequired": false
62
+ "defaultValue": "lined",
63
+ "description": "Whether rows are separated by dividers or by alternating backgrounds",
64
+ "isRequired": false,
65
+ "type": "\"lined\" | \"striped\""
47
66
  },
48
67
  "tableOptions": {
49
- "type": "any",
50
- "isRequired": false
68
+ "description": "Escape hatch to the underlying TanStack table. Anything here is merged into its options, and a state you supply overrides the one the component keeps, which is how you drive sorting or pagination from outside. The row models and change handlers are always the component's own",
69
+ "isRequired": false,
70
+ "type": "Partial<Omit<TableOptions<TData>, \"data\" | \"columns\" | \"getCoreRowModel\">>"
51
71
  },
52
72
  "tableRowProps": {
53
- "type": "any",
54
- "isRequired": false
73
+ "description": "Additional props to pass to each table row component",
74
+ "isRequired": false,
75
+ "type": "Partial<TableRowProps>"
76
+ },
77
+ "data": {
78
+ "description": "Array of data objects to display in the table rows",
79
+ "isRequired": false,
80
+ "type": "TData[]"
81
+ },
82
+ "className": {
83
+ "description": "CSS class name to apply to the table container",
84
+ "isRequired": false,
85
+ "type": "string"
86
+ },
87
+ "style": {
88
+ "description": "Inline styles to apply to the table container",
89
+ "isRequired": false,
90
+ "type": "React.CSSProperties"
91
+ },
92
+ "tableWidth": {
93
+ "defaultValue": "100%",
94
+ "description": "Sets the width of the table container",
95
+ "isRequired": false,
96
+ "type": "string"
97
+ },
98
+ "pinning": {
99
+ "description": "Sticks the column to that edge while the table scrolls sideways, with a gradient at the edge once there is something hidden behind it",
100
+ "isRequired": false,
101
+ "type": "\"left\" | \"right\""
102
+ },
103
+ "verticalAlign": {
104
+ "description": "Vertical alignment of the column's cells",
105
+ "isRequired": false,
106
+ "type": "\"top\" | \"middle\" | \"bottom\""
107
+ },
108
+ "widthPercentage": {
109
+ "description": "The column's share of the table width, as a percentage rather than a fixed size",
110
+ "isRequired": false,
111
+ "type": "number"
112
+ },
113
+ "isGrow": {
114
+ "description": "Lets this column absorb whatever width the others leave over",
115
+ "isRequired": false,
116
+ "type": "boolean"
117
+ },
118
+ "headerCellProps": {
119
+ "description": "Props for the CellHeader generated from a string header, for tooltips, alignment or truncation",
120
+ "isRequired": false,
121
+ "type": "Partial<CellHeaderProps>"
122
+ },
123
+ "filterComponent": {
124
+ "description": "Replaces the default search input in this column's filter cell, for a select or a range instead",
125
+ "isRequired": false,
126
+ "type": "(props: { column: Column<TData>; table: Table<TData> }) => React.ReactNode"
55
127
  }
56
128
  }
57
129
  }
58
- }
130
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "ProteinStructureViewer": {
3
+ "props": {
4
+ "backgroundColor": {
5
+ "description": "Canvas background, as `#RRGGBB`. Defaults to the SDS theme's base\nbackground, so the canvas follows the surrounding page in both modes.",
6
+ "isRequired": false,
7
+ "type": "string"
8
+ },
9
+ "showAxes": {
10
+ "defaultValue": true,
11
+ "description": "Show the orientation axes widget and the reset-camera button.",
12
+ "isRequired": false,
13
+ "type": "boolean"
14
+ },
15
+ "showLegend": {
16
+ "defaultValue": true,
17
+ "description": "Show the stats and color scale legend overlaid on the viewer.",
18
+ "isRequired": false,
19
+ "type": "boolean"
20
+ },
21
+ "sequenceViewerBackgroundColor": {
22
+ "description": "Sequence panel background, as any CSS color. Defaults to the SDS theme's\nprimary surface, so the panel follows the surrounding page in both modes.",
23
+ "isRequired": false,
24
+ "type": "string"
25
+ },
26
+ "showSequenceViewer": {
27
+ "defaultValue": true,
28
+ "description": "Show the sequence panel pinned along the bottom of the viewer.",
29
+ "isRequired": false,
30
+ "type": "boolean"
31
+ },
32
+ "stats": {
33
+ "description": "Up to three whole-structure stats shown along the bottom. A null entry\nreserves its column without rendering anything, so the columns never shift\nas values come and go.",
34
+ "isRequired": false,
35
+ "type": "(StructureStat | null)[]"
36
+ },
37
+ "pdb": {
38
+ "defaultValue": "- (required)",
39
+ "description": "Structure to render, as raw PDB text.",
40
+ "isRequired": true,
41
+ "type": "string"
42
+ },
43
+ "plddt": {
44
+ "description": "Per-residue pLDDT confidence on a 0-1 scale, ordered by residue. When\nsupplied the structure is colored by pLDDT unless `residueOverlay` takes\nover.",
45
+ "isRequired": false,
46
+ "type": "number[] | null"
47
+ },
48
+ "residueOverlay": {
49
+ "description": "Per-residue values that override pLDDT coloring while set.",
50
+ "isRequired": false,
51
+ "type": "ResidueValueOverlay | null"
52
+ },
53
+ "selectedResidue": {
54
+ "defaultValue": null,
55
+ "description": "0-based index of the selected residue, or null when none is selected.\nControlled: selecting a residue zooms the camera in on it, and clearing the\nselection zooms back out to the default view.",
56
+ "isRequired": false,
57
+ "type": "number | null"
58
+ },
59
+ "onResidueClick": {
60
+ "description": "Called with the clicked residue.",
61
+ "isRequired": false,
62
+ "type": "(residue: ResidueRef) => void"
63
+ },
64
+ "onResidueHover": {
65
+ "description": "Called as the pointer moves over residues, and with `null` when it leaves\nthe structure.",
66
+ "isRequired": false,
67
+ "type": "(residue: ResidueRef | null) => void"
68
+ },
69
+ "onSelectionClear": {
70
+ "description": "Called when the user clicks empty space, clearing the selection.",
71
+ "isRequired": false,
72
+ "type": "() => void"
73
+ },
74
+ "values": {
75
+ "defaultValue": "- (required)",
76
+ "description": "0-based residue index to value. Residues absent from the map read as 0, so they render in the neutral gray rather than at the bottom of the scale.",
77
+ "isRequired": false,
78
+ "type": "Map<number, number>"
79
+ },
80
+ "max": {
81
+ "defaultValue": "- (required)",
82
+ "description": "The value mapped to the top of the color scale.",
83
+ "isRequired": false,
84
+ "type": "number"
85
+ },
86
+ "min": {
87
+ "defaultValue": 0,
88
+ "description": "Values at or below this render in a neutral gray rather than on the scale.",
89
+ "isRequired": false,
90
+ "type": "number"
91
+ },
92
+ "colorScale": {
93
+ "defaultValue": "PLASMA_COLOR_SCALE",
94
+ "description": "Scale used to color residues and to draw the legend.",
95
+ "isRequired": false,
96
+ "type": "ColorScale"
97
+ },
98
+ "tooltip": {
99
+ "description": "Help tooltip attached to the legend caption.",
100
+ "isRequired": false,
101
+ "type": "string"
102
+ },
103
+ "readoutLabel": {
104
+ "defaultValue": "Value",
105
+ "description": "Label for the per-residue readout that replaces a stat slot on hover.",
106
+ "isRequired": false,
107
+ "type": "string"
108
+ },
109
+ "value": {
110
+ "defaultValue": "- (required)",
111
+ "description": "The stat's value, already formatted for display.",
112
+ "isRequired": false,
113
+ "type": "string"
114
+ }
115
+ }
116
+ }
117
+ }
@@ -2,9 +2,48 @@
2
2
  "SegmentedControl": {
3
3
  "props": {
4
4
  "buttonDefinition": {
5
- "type": "SingleButtonDefinition[]",
6
- "isRequired": true
5
+ "defaultValue": "- (required)",
6
+ "description": "One entry per segment, in the order they appear. The shape is described in the table below.",
7
+ "isRequired": true,
8
+ "type": "SingleButtonDefinition[]"
9
+ },
10
+ "onChange": {
11
+ "description": "Callback fired when the value changes.\n@param event The event source of the callback.\n@param value of the selected buttons. When `exclusive` is true\nthis is a single value; when false an array of selected values. If no value\nis selected and `exclusive` is true the value is null; when false an empty array.",
12
+ "isRequired": false,
13
+ "type": "function"
14
+ },
15
+ "aria-label": {
16
+ "defaultValue": "Segmented Control",
17
+ "description": "Defines a string value that labels the current element.\n@see aria-labelledby.",
18
+ "isRequired": false,
19
+ "type": "string"
20
+ },
21
+ "icon": {
22
+ "description": "An SDS icon name, drawn at the small size, or an SVG element of your own for artwork SDS does not carry. Size an element you pass to 16px and fill it with currentColor so it follows the selection.",
23
+ "isRequired": false,
24
+ "type": "keyof IconNameToSizes | React.ReactElement"
25
+ },
26
+ "label": {
27
+ "description": "Text for the segment, used instead of an icon. It becomes the segment's accessible name and the tooltip's fallback text.",
28
+ "isRequired": false,
29
+ "type": "string"
30
+ },
31
+ "shouldShowTooltip": {
32
+ "defaultValue": true,
33
+ "description": "Whether the segment has a tooltip. Worth turning off for a labelled segment, whose tooltip would only repeat the label.",
34
+ "isRequired": false,
35
+ "type": "boolean"
36
+ },
37
+ "tooltipProps": {
38
+ "description": "Passed to the segment's Tooltip, so it takes a title, a subtitle, a placement, and the rest of the Tooltip API. Without a title, the tooltip falls back to the label or the value. Note that the title is not used as the segment's accessible name.",
39
+ "isRequired": false,
40
+ "type": "Partial<Omit<TooltipProps, \"children\">>"
41
+ },
42
+ "tooltipText": {
43
+ "description": "Deprecated in favour of tooltipProps, and logs a warning. It sets the tooltip's title, overriding tooltipProps.title when both are given, and it is the one tooltip prop that also sets the segment's accessible name.",
44
+ "isRequired": false,
45
+ "type": "string"
7
46
  }
8
47
  }
9
48
  }
10
- }
49
+ }