@czi-sds/mcp 0.20.2 → 0.21.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.
@@ -54,6 +54,11 @@
54
54
  "package": "@czi-sds/components",
55
55
  "source": "packages/components/src/core/CellHeader/__storybook__/docs/content.html"
56
56
  },
57
+ "Chip": {
58
+ "file": "Chip.md",
59
+ "package": "@czi-sds/components",
60
+ "source": "packages/components/src/core/Chip/__storybook__/docs/content.html"
61
+ },
57
62
  "ComplexFilter": {
58
63
  "file": "ComplexFilter.md",
59
64
  "package": "@czi-sds/components",
@@ -244,11 +249,6 @@
244
249
  "package": "@czi-sds/components",
245
250
  "source": "packages/components/src/core/Tag/__storybook__/docs/content.html"
246
251
  },
247
- "TagFilter": {
248
- "file": "TagFilter.md",
249
- "package": "@czi-sds/components",
250
- "source": "packages/components/src/core/TagFilter/__storybook__/docs/content.html"
251
- },
252
252
  "Tooltip": {
253
253
  "file": "Tooltip.md",
254
254
  "package": "@czi-sds/components",
@@ -54,6 +54,7 @@
54
54
  "Tabs",
55
55
  "Tag",
56
56
  "TagFilter",
57
+ "TagLegacy",
57
58
  "Tooltip",
58
59
  "TooltipCondensed",
59
60
  "TooltipTable"
@@ -18,6 +18,12 @@
18
18
  "isRequired": false,
19
19
  "type": "ReactNode"
20
20
  },
21
+ "disabled": {
22
+ "defaultValue": false,
23
+ "description": "If `true`, the component is disabled.",
24
+ "isRequired": false,
25
+ "type": "boolean"
26
+ },
21
27
  "endIcon": {
22
28
  "description": "Element placed after the children.",
23
29
  "isRequired": false,
@@ -51,12 +57,6 @@
51
57
  "isRequired": false,
52
58
  "type": "ReactNode"
53
59
  },
54
- "disabled": {
55
- "defaultValue": false,
56
- "description": "If `true`, the component is disabled.",
57
- "isRequired": false,
58
- "type": "boolean"
59
- },
60
60
  "href": {
61
61
  "description": "The URL to link to when the button is clicked.\nIf defined, an `a` element will be used as the root node.",
62
62
  "isRequired": false,
@@ -0,0 +1,30 @@
1
+ {
2
+ "Chip": {
3
+ "props": {
4
+ "label": {
5
+ "defaultValue": "- (required)",
6
+ "description": "The filter's text. Cut off with an ellipsis when there is not room for it.",
7
+ "isRequired": true,
8
+ "type": "string"
9
+ },
10
+ "sdsStyle": {
11
+ "defaultValue": "solid",
12
+ "description": "`solid` fills the chip with the accent color. `outline` tints it and\ndraws the label, the X and a 1px border in the accent color.",
13
+ "isRequired": false,
14
+ "type": "\"outline\" | \"solid\""
15
+ },
16
+ "onDelete": {
17
+ "defaultValue": "- (required)",
18
+ "description": "Runs when the chip is clicked or activated with Enter or Space, and when\nBackspace or Delete is pressed on it. Drop the filter from your state\nhere; the component does not remove itself.",
19
+ "isRequired": true,
20
+ "type": "(event: any) => void"
21
+ },
22
+ "aria-label": {
23
+ "defaultValue": "Remove {label}",
24
+ "description": "The chip's accessible name, \"Remove\" followed by the label unless set.\nOverride it to word the removal differently.",
25
+ "isRequired": false,
26
+ "type": "string"
27
+ }
28
+ }
29
+ }
30
+ }
@@ -41,6 +41,12 @@
41
41
  "isRequired": false,
42
42
  "type": "boolean"
43
43
  },
44
+ "isTriggerChangeOnOptionClick": {
45
+ "defaultValue": false,
46
+ "description": "When set to true, changes in Dropdown selections are applied in real-time to the react state.",
47
+ "isRequired": false,
48
+ "type": "boolean"
49
+ },
44
50
  "label": {
45
51
  "description": "The label of the Dropdown.",
46
52
  "isRequired": true,
@@ -78,12 +84,6 @@
78
84
  "isRequired": false,
79
85
  "type": "string"
80
86
  },
81
- "isTriggerChangeOnOptionClick": {
82
- "defaultValue": false,
83
- "description": "When set to true, changes in Dropdown selections are applied in real-time to the react state.",
84
- "isRequired": false,
85
- "type": "boolean"
86
- },
87
87
  "value": {
88
88
  "description": "The value of the autocomplete.\n\nThe value must have reference equality with the option in order to be selected.\nYou can customize the equality behavior with the `isOptionEqualToValue` prop.",
89
89
  "isRequired": false,
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "InputSlider": {
3
3
  "props": {
4
+ "defaultValue": {
5
+ "description": "The default value. Use when the component is not controlled.",
6
+ "isRequired": false,
7
+ "type": "number | number[]"
8
+ },
4
9
  "disabled": {
5
10
  "defaultValue": false,
6
11
  "description": "If `true`, the component is disabled.",
@@ -37,11 +42,6 @@
37
42
  "isRequired": false,
38
43
  "type": "\"off\" | \"on\" | \"auto\""
39
44
  },
40
- "defaultValue": {
41
- "description": "The default value. Use when the component is not controlled.",
42
- "isRequired": false,
43
- "type": "number | number[]"
44
- },
45
45
  "value": {
46
46
  "description": "The value of the slider.\nFor ranged sliders, provide an array with two values.",
47
47
  "isRequired": false,
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "LoadingIndicator": {
3
3
  "props": {
4
- "sdsStyle": {
5
- "defaultValue": "- (required)",
6
- "description": "Chooses between the two variants above. It has no default: leaving it out is a type error, and an indicator built without it renders unstyled.",
7
- "isRequired": true,
8
- "type": "\"minimal\" | \"tag\""
9
- },
10
4
  "aria-label": {
11
5
  "defaultValue": "undefined",
12
6
  "description": "Replaces what a screen reader announces for the status region, for example \"Loading cell types\". The visible text still reads \"Loading\". Without it, assistive technology announces the visible word.",
13
7
  "isRequired": false,
14
8
  "type": "string"
9
+ },
10
+ "sdsStyle": {
11
+ "defaultValue": "- (required)",
12
+ "description": "Chooses between the two variants above. It has no default: leaving it out is a type error, and an indicator built without it renders unstyled.",
13
+ "isRequired": true,
14
+ "type": "\"minimal\" | \"tag\""
15
15
  }
16
16
  }
17
17
  }
@@ -0,0 +1,74 @@
1
+ {
2
+ "Menu": {
3
+ "props": {
4
+ "anchorOrigin": {
5
+ "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}",
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].",
7
+ "isRequired": false,
8
+ "type": "PopoverOrigin"
9
+ },
10
+ "transformOrigin": {
11
+ "defaultValue": "{\nvertical: top,\nhorizontal: left,\n}",
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)].",
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, or a function that returns one.\nIt's used to set the position of the menu.",
23
+ "isRequired": false,
24
+ "type": "Element | PopoverVirtualElement | () => Element | PopoverVirtualElement | null | null"
25
+ },
26
+ "children": {
27
+ "description": "Menu contents, normally `MenuItem`s.",
28
+ "isRequired": false,
29
+ "type": "ReactNode"
30
+ },
31
+ "onClose": {
32
+ "description": "Callback fired when the component requests to be closed.\n@param event The event source of the callback.\n@param reason Can be: `\"escapeKeyDown\"`, `\"backdropClick\"`, `\"tabKeyDown\"`.",
33
+ "isRequired": false,
34
+ "type": "(event: {}, reason: \"backdropClick\" | \"escapeKeyDown\") => void"
35
+ },
36
+ "variant": {
37
+ "defaultValue": "selectedMenu",
38
+ "description": "The variant to use. Use `menu` to prevent selected items from impacting the initial focus.",
39
+ "isRequired": false,
40
+ "type": "\"menu\" | \"selectedMenu\""
41
+ },
42
+ "autoFocus": {
43
+ "defaultValue": true,
44
+ "description": "If `true` (Default) will focus the `[role=\"menu\"]` if no focusable child is found. Disabled\nchildren are not focusable. If you set this prop to `false` focus will be placed\non the parent modal container. This has severe accessibility implications\nand should only be considered if you manage focus otherwise.",
45
+ "isRequired": false,
46
+ "type": "boolean"
47
+ },
48
+ "slotProps": {
49
+ "defaultValue": {},
50
+ "description": "The props used for each slot inside.",
51
+ "isRequired": false,
52
+ "type": "{ root?: SlotProps<ElementType<ModalProps, keyof IntrinsicElements>, MenuRootSlotPropsOverrides, MenuOwnerState> | undefined; paper?: SlotProps<...> | undefined; list?: SlotProps<...> | undefined; transition?: SlotComponentProps<...> | undefined; backdrop?: SlotProps<...> | undefined; }"
53
+ },
54
+ "keepMounted": {
55
+ "defaultValue": false,
56
+ "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.",
57
+ "isRequired": false,
58
+ "type": "boolean"
59
+ },
60
+ "disablePortal": {
61
+ "defaultValue": false,
62
+ "description": "The `children` will be under the DOM hierarchy of the parent component.",
63
+ "isRequired": false,
64
+ "type": "boolean"
65
+ },
66
+ "transitionDuration": {
67
+ "defaultValue": "auto",
68
+ "description": "The length of the transition in `ms`, or 'auto'",
69
+ "isRequired": false,
70
+ "type": "number | { appear?: number | undefined; enter?: number | undefined; exit?: number | undefined; } | \"auto\""
71
+ }
72
+ }
73
+ }
74
+ }
@@ -38,9 +38,9 @@
38
38
  "type": "string"
39
39
  },
40
40
  "tagColor": {
41
- "description": "The Tag's color. A tuple sets the label, background, and icon colors by hand.",
41
+ "description": "The intent of the small, solid Tag beside the title. A tuple sets the label, background, and icon colors by hand.",
42
42
  "isRequired": false,
43
- "type": "\"info\" | \"negative\" | \"notice\" | \"positive\" | \"neutral\" | \"beta\" | [string, string] | [string, string, string]"
43
+ "type": "\"info\" | \"accent\" | \"negative\" | \"notice\" | \"positive\" | \"beta\" | \"neutral\" | [string, string] | [string, string, string]"
44
44
  },
45
45
  "title": {
46
46
  "description": "The main title displayed in the footer.",
@@ -91,9 +91,9 @@
91
91
  },
92
92
  "tagColor": {
93
93
  "defaultValue": "neutral",
94
- "description": "The color of the tag label.",
94
+ "description": "The intent of the small, solid Tag beside the title, or custom colors as [label, background] or [label, background, icon].",
95
95
  "isRequired": false,
96
- "type": "\"info\" | \"negative\" | \"notice\" | \"positive\" | \"neutral\" | \"beta\" | [string, string] | [string, string, string]"
96
+ "type": "\"info\" | \"accent\" | \"negative\" | \"notice\" | \"positive\" | \"beta\" | \"neutral\" | [string, string] | [string, string, string]"
97
97
  },
98
98
  "title": {
99
99
  "description": "The main title displayed in the header.",
@@ -17,6 +17,11 @@
17
17
  "isRequired": false,
18
18
  "type": "\"left\" | \"right\""
19
19
  },
20
+ "buttonText": {
21
+ "description": "The label of the action button shown beneath the content. It only renders alongside buttonOnClick.",
22
+ "isRequired": false,
23
+ "type": "string"
24
+ },
20
25
  "icon": {
21
26
  "description": "Override the icon displayed before the children.\nUnless provided, the icon is mapped to the value of the `severity` prop.\nSet to `false` to remove the `icon`.",
22
27
  "isRequired": false,
@@ -52,11 +57,6 @@
52
57
  "description": "Hides the Notification when set to true. Changing it back to false brings the Notification back, which is how a dismissed Notification is restored.",
53
58
  "isRequired": false,
54
59
  "type": "boolean"
55
- },
56
- "buttonText": {
57
- "description": "The label of the action button shown beneath the content. It only renders alongside buttonOnClick.",
58
- "isRequired": false,
59
- "type": "string"
60
60
  }
61
61
  }
62
62
  }
@@ -12,6 +12,11 @@
12
12
  "isRequired": false,
13
13
  "type": "ColumnDef<TData>[]"
14
14
  },
15
+ "data": {
16
+ "description": "Array of data objects to display in the table rows",
17
+ "isRequired": false,
18
+ "type": "TData[]"
19
+ },
15
20
  "enableColumnFiltering": {
16
21
  "defaultValue": false,
17
22
  "description": "Adds a filter row under the header. Each column gets a search input unless its meta supplies a filterComponent",
@@ -74,10 +79,11 @@
74
79
  "isRequired": false,
75
80
  "type": "Partial<TableRowProps>"
76
81
  },
77
- "data": {
78
- "description": "Array of data objects to display in the table rows",
82
+ "tableWidth": {
83
+ "defaultValue": "100%",
84
+ "description": "Sets the width of the table container",
79
85
  "isRequired": false,
80
- "type": "TData[]"
86
+ "type": "string"
81
87
  },
82
88
  "className": {
83
89
  "description": "CSS class name to apply to the table container",
@@ -89,12 +95,6 @@
89
95
  "isRequired": false,
90
96
  "type": "React.CSSProperties"
91
97
  },
92
- "tableWidth": {
93
- "defaultValue": "100%",
94
- "description": "Sets the width of the table container",
95
- "isRequired": false,
96
- "type": "string"
97
- },
98
98
  "pinning": {
99
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
100
  "isRequired": false,
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "ProteinStructureViewer": {
3
3
  "props": {
4
+ "structure": {
5
+ "defaultValue": "- (required)",
6
+ "description": "Structure to render, as raw PDB or mmCIF (PDBx) text.",
7
+ "isRequired": true,
8
+ "type": "string"
9
+ },
4
10
  "backgroundColor": {
5
11
  "description": "Canvas background, as `#RRGGBB`. Defaults to the SDS theme's base\nbackground, so the canvas follows the surrounding page in both modes.",
6
12
  "isRequired": false,
@@ -11,6 +17,16 @@
11
17
  "isRequired": false,
12
18
  "type": "Record<string, string>"
13
19
  },
20
+ "plddt": {
21
+ "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. A `null` entry, and every residue past the end, reads as unscored\nand is painted neutral rather than at the bottom of the scale.",
22
+ "isRequired": false,
23
+ "type": "(number | null)[] | null"
24
+ },
25
+ "residueOverlay": {
26
+ "description": "Per-residue values that override pLDDT coloring while set.",
27
+ "isRequired": false,
28
+ "type": "ResidueValueOverlay | null"
29
+ },
14
30
  "hiddenChains": {
15
31
  "description": "Chains hidden from the 3D view, by `chainId`. Leave undefined to let the\nviewer own visibility itself, which is what the chain legend's toggles\ndrive; passing it takes that over, and the toggles then only report.",
16
32
  "isRequired": false,
@@ -92,6 +108,11 @@
92
108
  "isRequired": false,
93
109
  "type": "string"
94
110
  },
111
+ "sequenceViewerHeight": {
112
+ "description": "Height of the sequence panel, as any CSS length; a number is read as\npixels, and a percentage is of the viewer's own height. The 3D view and the\nlegend move up to make room for it. Ignored while `showSequenceViewer` is\noff.\n\nLeft undefined, the panel takes `max(104px, 30%)` of the viewer, growing to\n`max(134px, 32%)` once the viewer is 880px wide or more. A height set here\nholds at every width.",
113
+ "isRequired": false,
114
+ "type": "string | number"
115
+ },
95
116
  "showSequenceViewer": {
96
117
  "defaultValue": true,
97
118
  "description": "Show the sequence panel pinned along the bottom of the viewer.",
@@ -103,22 +124,6 @@
103
124
  "isRequired": false,
104
125
  "type": "(StructureStat | null)[]"
105
126
  },
106
- "structure": {
107
- "defaultValue": "- (required)",
108
- "description": "Structure to render, as raw PDB or mmCIF (PDBx) text.",
109
- "isRequired": true,
110
- "type": "string"
111
- },
112
- "plddt": {
113
- "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. A `null` entry, and every residue past the end, reads as unscored\nand is painted neutral rather than at the bottom of the scale.",
114
- "isRequired": false,
115
- "type": "(number | null)[] | null"
116
- },
117
- "residueOverlay": {
118
- "description": "Per-residue values that override pLDDT coloring while set.",
119
- "isRequired": false,
120
- "type": "ResidueValueOverlay | null"
121
- },
122
127
  "selection": {
123
128
  "description": "What is selected, or null when nothing is. Leave undefined to let the\nviewer own the selection, so clicking a residue zooms in on it with no\nstate on the consumer's side; passing it takes that over, and a click then\nmoves the camera only once `onSelectionChange` is echoed back here.\n\nEither way the camera frames whatever the selection covers, and clearing\nit zooms back out to the default view. Residues are drawn in\nball-and-stick over the cartoon; whole chains are left as they are and the\nchains around them dim, the same as hovering a chain's name.",
124
129
  "isRequired": false,
@@ -3,49 +3,70 @@
3
3
  "props": {
4
4
  "color": {
5
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]",
6
+ "description": "One of the seven intents, or CSS colors for a tag the intents do not\ncover: `[label, background]` or `[label, background, icon]`. The icon\ntakes the label color when the third value is left out.",
7
7
  "isRequired": false,
8
- "type": "\"info\" | \"negative\" | \"notice\" | \"positive\" | \"neutral\" | \"beta\" | [string, string] | [string, string, string]"
8
+ "type": "\"info\" | \"accent\" | \"negative\" | \"notice\" | \"positive\" | \"beta\" | \"neutral\" | [string, string] | [string, string, string]"
9
9
  },
10
- "hover": {
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.",
10
+ "disabled": {
11
+ "defaultValue": false,
12
+ "description": "Greys the tag out. On a clickable tag or a link it also takes the tag out\nof the tab order.",
13
13
  "isRequired": false,
14
14
  "type": "boolean"
15
15
  },
16
+ "href": {
17
+ "description": "Turns the tag into a link. It renders as an `<a>` unless `component`\nsays otherwise, as with a router's link component.",
18
+ "isRequired": false,
19
+ "type": "string"
20
+ },
16
21
  "icon": {
17
- "description": "Icon element.",
22
+ "description": "An icon on the leading edge, usually a Phosphor or `@czi-sds/icons` icon.\nThe tag draws it at its own icon size and color.",
18
23
  "isRequired": false,
19
24
  "type": "ReactElement"
20
25
  },
26
+ "iconOnly": {
27
+ "defaultValue": false,
28
+ "description": "Draws only the icon, in a square tag. The label is hidden from view but\nstays the tag's accessible name. Has no effect without an icon.",
29
+ "isRequired": false,
30
+ "type": "boolean"
31
+ },
21
32
  "label": {
22
33
  "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.",
34
+ "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. An icon-only tag still\nneeds it: the text is hidden from view but read by screen readers.",
24
35
  "isRequired": true,
25
36
  "type": "string"
26
37
  },
27
38
  "onClick": {
28
- "description": "MUI's prop. Makes the tag a button: a tab stop that answers Enter and Space.",
39
+ "description": "MUI's prop. Makes the tag a button: a tab stop that answers Enter and Space, with hover and pressed states.",
29
40
  "isRequired": false,
30
41
  "type": "function"
31
42
  },
32
- "sdsSize": {
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.",
43
+ "sdsStyle": {
44
+ "defaultValue": "solid",
45
+ "description": "`solid` fills the tag with the intent color. `outline` tints the fill and\ndraws the label, the icons and a 1px border in the intent color.",
46
+ "isRequired": false,
47
+ "type": "\"outline\" | \"solid\""
48
+ },
49
+ "showLinkIcon": {
50
+ "defaultValue": false,
51
+ "description": "Adds an arrow after the label to say the tag leads somewhere. Usually\npaired with `href`, though a tag can be a link without it.",
35
52
  "isRequired": false,
36
- "type": "\"s\" | \"l\""
53
+ "type": "boolean"
37
54
  },
38
- "sdsStyle": {
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.",
55
+ "size": {
56
+ "defaultValue": "medium",
57
+ "description": "`medium` is 24px tall with a 13px label and 12px icons, `small` is 20px\ntall with a 10px label and 10px icons.",
41
58
  "isRequired": false,
42
- "type": "\"square\" | \"rounded\""
59
+ "type": "\"small\" | \"medium\""
43
60
  },
44
- "sdsType": {
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.",
61
+ "target": {
62
+ "description": "Where the link opens. `_blank` also sets `rel=\"noopener noreferrer\"`.",
47
63
  "isRequired": false,
48
- "type": "\"primary\" | \"secondary\""
64
+ "type": "string & {} | \"_self\" | \"_blank\" | \"_parent\" | \"_top\""
65
+ },
66
+ "rel": {
67
+ "description": "The link's relationship to the current page.",
68
+ "isRequired": false,
69
+ "type": "string"
49
70
  },
50
71
  "onDelete": {
51
72
  "description": "Callback fired when the delete icon is clicked.\nIf set, the delete icon will be shown.",
@@ -2,13 +2,11 @@
2
2
  "TagFilter": {
3
3
  "props": {
4
4
  "label": {
5
- "defaultValue": "- (required)",
6
5
  "description": "The filter's text. Cut off with an ellipsis when there is not room for it.",
7
6
  "isRequired": true,
8
7
  "type": "string"
9
8
  },
10
9
  "onDelete": {
11
- "defaultValue": "- (required)",
12
10
  "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
11
  "isRequired": true,
14
12
  "type": "(event: any) => void"
@@ -0,0 +1,40 @@
1
+ {
2
+ "TagLegacy": {
3
+ "props": {
4
+ "color": {
5
+ "isRequired": false,
6
+ "type": "\"info\" | \"negative\" | \"notice\" | \"positive\" | \"beta\" | \"neutral\" | [string, string] | [string, string, string]"
7
+ },
8
+ "hover": {
9
+ "isRequired": false,
10
+ "type": "boolean"
11
+ },
12
+ "icon": {
13
+ "description": "Icon element.",
14
+ "isRequired": false,
15
+ "type": "ReactElement"
16
+ },
17
+ "label": {
18
+ "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
+ "isRequired": true,
20
+ "type": "string"
21
+ },
22
+ "onClick": {
23
+ "isRequired": false,
24
+ "type": "function"
25
+ },
26
+ "sdsSize": {
27
+ "isRequired": false,
28
+ "type": "\"s\" | \"l\""
29
+ },
30
+ "sdsStyle": {
31
+ "isRequired": false,
32
+ "type": "\"square\" | \"rounded\""
33
+ },
34
+ "sdsType": {
35
+ "isRequired": false,
36
+ "type": "\"primary\" | \"secondary\""
37
+ }
38
+ }
39
+ }
40
+ }
@@ -17,6 +17,11 @@
17
17
  "isRequired": false,
18
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\""
19
19
  },
20
+ "subtitle": {
21
+ "description": "A smaller, dimmer second line under the title, for a detail such as how to use what the tooltip points at.",
22
+ "isRequired": false,
23
+ "type": "ReactNode"
24
+ },
20
25
  "textAlign": {
21
26
  "defaultValue": "center, or left when wide",
22
27
  "description": "Overrides the alignment the width would pick.",
@@ -34,11 +39,6 @@
34
39
  "isRequired": false,
35
40
  "type": "\"default\" | \"wide\""
36
41
  },
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
42
  "arrow": {
43
43
  "defaultValue": false,
44
44
  "description": "If `true`, adds an arrow to the tooltip.",
@@ -6,6 +6,11 @@
6
6
  "isRequired": false,
7
7
  "type": "string | Element"
8
8
  },
9
+ "data": {
10
+ "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.",
11
+ "isRequired": false,
12
+ "type": "{ label?: string | undefined; dataRows: { label: string; value: string | number; }[]; disabled?: boolean | undefined; }[]"
13
+ },
9
14
  "itemAlign": {
10
15
  "defaultValue": "right",
11
16
  "description": "Which side of its column each value sits on. Right lines numbers up with each other.",
@@ -17,11 +22,6 @@
17
22
  "description": "Whether section labels are drawn. False hides all of them; the dividers between sections stay.",
18
23
  "isRequired": false,
19
24
  "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; }[]"
25
25
  }
26
26
  }
27
27
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@czi-sds/mcp",
3
3
  "description": "The official MCP server for SDS",
4
- "version": "0.20.2",
4
+ "version": "0.21.0",
5
5
  "main": "dist/stdio.js",
6
6
  "files": [
7
7
  "dist",
@@ -66,5 +66,5 @@
66
66
  "turndown": "^7.2.4",
67
67
  "typescript": "^5.9.2"
68
68
  },
69
- "gitHead": "af9ead042355f832da2c98e7dc3ecaafd1ea1664"
69
+ "gitHead": "d38c18e3aca773081cb5c0413dbfefb10da774b8"
70
70
  }