@czi-sds/mcp 0.3.0 → 0.5.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 (150) hide show
  1. package/data/component-props/Accordion.json +14 -15
  2. package/data/component-props/Alert.json +2 -44
  3. package/data/component-props/Autocomplete.json +14 -32
  4. package/data/component-props/Banner.json +11 -12
  5. package/data/component-props/Button.json +17 -82
  6. package/data/component-props/ButtonDropdown.json +26 -0
  7. package/data/component-props/ButtonIcon.json +4 -60
  8. package/data/component-props/ButtonToggle.json +2 -66
  9. package/data/component-props/Callout.json +11 -65
  10. package/data/component-props/CellBasic.json +28 -56
  11. package/data/component-props/CellComponent.json +4 -32
  12. package/data/component-props/CellHeader.json +13 -49
  13. package/data/component-props/ComplexFilter.json +24 -4
  14. package/data/component-props/ContentCard.json +66 -2
  15. package/data/component-props/Dialog.json +26 -0
  16. package/data/component-props/Dropdown.json +29 -67
  17. package/data/component-props/DropdownMenu.json +16 -56
  18. package/data/component-props/HeatmapChart.json +6 -87
  19. package/data/component-props/Icon.json +3 -8
  20. package/data/component-props/InputCheckbox.json +5 -53
  21. package/data/component-props/InputDropdown.json +11 -33
  22. package/data/component-props/InputRadio.json +5 -53
  23. package/data/component-props/InputSearch.json +6 -70
  24. package/data/component-props/InputSlider.json +21 -35
  25. package/data/component-props/InputText.json +7 -63
  26. package/data/component-props/InputToggle.json +5 -54
  27. package/data/component-props/Link.json +18 -0
  28. package/data/component-props/LoadingIndicator.json +1 -2
  29. package/data/component-props/MenuItem.json +11 -41
  30. package/data/component-props/MenuSelect.json +4 -67
  31. package/data/component-props/NavigationFooter.json +0 -8
  32. package/data/component-props/NavigationHeader.json +14 -65
  33. package/data/component-props/NavigationJumpTo.json +0 -40
  34. package/data/component-props/Notification.json +14 -58
  35. package/data/component-props/Pagination.json +8 -33
  36. package/data/component-props/Panel.json +4 -54
  37. package/data/component-props/SegmentedControl.json +0 -55
  38. package/data/component-props/TableRow.json +10 -38
  39. package/data/component-props/Tabs.json +18 -0
  40. package/data/component-props/Tag.json +10 -56
  41. package/data/component-props/TagFilter.json +0 -47
  42. package/data/component-props/Tooltip.json +12 -61
  43. package/data/component-props/TooltipCondensed.json +18 -0
  44. package/data/component-props/TooltipTable.json +0 -4
  45. package/data/resources/figma-rules.md +101 -0
  46. package/data/resources/sds-component-rules.md +189 -0
  47. package/data/resources/zeroheight-rules.md +180 -0
  48. package/data/zeroheight-cache.json +1 -1
  49. package/data/zeroheight-exports/Accordion.md +167 -125
  50. package/data/zeroheight-exports/Banner.md +71 -48
  51. package/data/zeroheight-exports/Borders.md +72 -73
  52. package/data/zeroheight-exports/Buttons.md +375 -330
  53. package/data/zeroheight-exports/Callout.md +138 -116
  54. package/data/zeroheight-exports/Colors.md +254 -255
  55. package/data/zeroheight-exports/Content-Card.md +36 -37
  56. package/data/zeroheight-exports/Contributing-to-SDS.md +34 -35
  57. package/data/zeroheight-exports/Control-Inputs.md +289 -234
  58. package/data/zeroheight-exports/Corners.md +63 -64
  59. package/data/zeroheight-exports/Cover-page.md +0 -1
  60. package/data/zeroheight-exports/Dialog.md +237 -179
  61. package/data/zeroheight-exports/Downloads.md +10 -11
  62. package/data/zeroheight-exports/Drop-Shadows.md +40 -41
  63. package/data/zeroheight-exports/Dropdown-Input.md +158 -127
  64. package/data/zeroheight-exports/Dropdown-Menu.md +814 -718
  65. package/data/zeroheight-exports/Element-Status-Tracker.md +191 -192
  66. package/data/zeroheight-exports/Field-Inputs.md +149 -130
  67. package/data/zeroheight-exports/Filters.md +114 -94
  68. package/data/zeroheight-exports/Getting-Started.md +112 -249
  69. package/data/zeroheight-exports/Hero.md +43 -37
  70. package/data/zeroheight-exports/Icons.md +205 -206
  71. package/data/zeroheight-exports/Intent.md +6 -7
  72. package/data/zeroheight-exports/Introduction-to-Bases.md +8 -9
  73. package/data/zeroheight-exports/Introduction-to-Cells.md +11 -12
  74. package/data/zeroheight-exports/Introduction-to-DNA.md +8 -9
  75. package/data/zeroheight-exports/Introduction-to-Genes.md +8 -9
  76. package/data/zeroheight-exports/Introduction.md +52 -53
  77. package/data/zeroheight-exports/Link.md +50 -37
  78. package/data/zeroheight-exports/Lists.md +78 -63
  79. package/data/zeroheight-exports/Loading-Indicator.md +7 -8
  80. package/data/zeroheight-exports/Navigation.md +163 -142
  81. package/data/zeroheight-exports/Notification.md +132 -102
  82. package/data/zeroheight-exports/Panel.md +231 -115
  83. package/data/zeroheight-exports/README.md +1 -1
  84. package/data/zeroheight-exports/Responsive-Design.md +35 -32
  85. package/data/zeroheight-exports/Search-Input.md +9 -10
  86. package/data/zeroheight-exports/Search.md +87 -104
  87. package/data/zeroheight-exports/Segmented-Control.md +68 -45
  88. package/data/zeroheight-exports/Spacing.md +210 -211
  89. package/data/zeroheight-exports/Table.md +414 -302
  90. package/data/zeroheight-exports/Tabs.md +126 -98
  91. package/data/zeroheight-exports/Tags.md +148 -118
  92. package/data/zeroheight-exports/Text-Link.md +32 -33
  93. package/data/zeroheight-exports/Theming.md +48 -29
  94. package/data/zeroheight-exports/Tooltips.md +253 -237
  95. package/data/zeroheight-exports/Typography.md +463 -464
  96. package/dist/stdio.js +136 -135
  97. package/package.json +3 -4
  98. package/data/component-props/Chip.json +0 -73
  99. package/data/component-props/List.json +0 -43
  100. package/data/component-props/Menu.json +0 -48
  101. package/data/component-props/Table.json +0 -26
  102. package/data/component-props-storybook/Accordion-storybook.json +0 -45
  103. package/data/component-props-storybook/Alert-storybook.json +0 -30
  104. package/data/component-props-storybook/Autocomplete-storybook.json +0 -67
  105. package/data/component-props-storybook/Banner-storybook.json +0 -78
  106. package/data/component-props-storybook/Button-storybook.json +0 -115
  107. package/data/component-props-storybook/ButtonDropdown-storybook.json +0 -73
  108. package/data/component-props-storybook/ButtonIcon-storybook.json +0 -60
  109. package/data/component-props-storybook/ButtonToggle-storybook.json +0 -68
  110. package/data/component-props-storybook/Callout-storybook.json +0 -90
  111. package/data/component-props-storybook/CellBasic-storybook.json +0 -138
  112. package/data/component-props-storybook/CellComponent-storybook.json +0 -48
  113. package/data/component-props-storybook/CellHeader-storybook.json +0 -71
  114. package/data/component-props-storybook/Chip-storybook.json +0 -26
  115. package/data/component-props-storybook/ComplexFilter-storybook.json +0 -60
  116. package/data/component-props-storybook/ContentCard-storybook.json +0 -175
  117. package/data/component-props-storybook/Dialog-storybook.json +0 -56
  118. package/data/component-props-storybook/Dropdown-storybook.json +0 -93
  119. package/data/component-props-storybook/DropdownMenu-storybook.json +0 -73
  120. package/data/component-props-storybook/HeatmapChart-storybook.json +0 -55
  121. package/data/component-props-storybook/Icon-storybook.json +0 -75
  122. package/data/component-props-storybook/InputCheckbox-storybook.json +0 -57
  123. package/data/component-props-storybook/InputDropdown-storybook.json +0 -80
  124. package/data/component-props-storybook/InputRadio-storybook.json +0 -56
  125. package/data/component-props-storybook/InputSearch-storybook.json +0 -55
  126. package/data/component-props-storybook/InputSlider-storybook.json +0 -55
  127. package/data/component-props-storybook/InputText-storybook.json +0 -59
  128. package/data/component-props-storybook/InputToggle-storybook.json +0 -42
  129. package/data/component-props-storybook/Link-storybook.json +0 -50
  130. package/data/component-props-storybook/List-storybook.json +0 -26
  131. package/data/component-props-storybook/LoadingIndicator-storybook.json +0 -34
  132. package/data/component-props-storybook/Menu-storybook.json +0 -26
  133. package/data/component-props-storybook/MenuItem-storybook.json +0 -74
  134. package/data/component-props-storybook/MenuSelect-storybook.json +0 -38
  135. package/data/component-props-storybook/NavigationFooter-storybook.json +0 -67
  136. package/data/component-props-storybook/NavigationHeader-storybook.json +0 -115
  137. package/data/component-props-storybook/NavigationJumpTo-storybook.json +0 -41
  138. package/data/component-props-storybook/Notification-storybook.json +0 -89
  139. package/data/component-props-storybook/Pagination-storybook.json +0 -50
  140. package/data/component-props-storybook/Panel-storybook.json +0 -52
  141. package/data/component-props-storybook/SegmentedControl-storybook.json +0 -30
  142. package/data/component-props-storybook/Table-storybook.json +0 -26
  143. package/data/component-props-storybook/TableHeader-storybook.json +0 -26
  144. package/data/component-props-storybook/TableRow-storybook.json +0 -62
  145. package/data/component-props-storybook/Tabs-storybook.json +0 -45
  146. package/data/component-props-storybook/Tag-storybook.json +0 -78
  147. package/data/component-props-storybook/TagFilter-storybook.json +0 -30
  148. package/data/component-props-storybook/Tooltip-storybook.json +0 -85
  149. package/data/component-props-storybook/TooltipCondensed-storybook.json +0 -38
  150. package/data/component-props-storybook/TooltipTable-storybook.json +0 -47
@@ -1,71 +1,21 @@
1
1
  {
2
2
  "Panel": {
3
3
  "props": {
4
- "children": {
5
- "type": "ReactNode",
6
- "isRequired": false,
7
- "description": "The content of the component."
8
- },
9
- "className": {
10
- "type": "string",
11
- "isRequired": false,
12
- "description": "@ignore"
13
- },
14
- "onClose": {
15
- "type": "\"backdropClick\" | \"escapeKeyDown\"",
16
- "isRequired": false,
17
- "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\"`."
18
- },
19
- "open": {
4
+ "isBackdropClickEnabled": {
20
5
  "type": "\"false\" | \"true\"",
21
- "isRequired": false,
22
- "description": "If `true`, the component is shown.",
23
- "defaultValue": false
24
- },
25
- "style": {
26
- "type": "CSSProperties",
27
- "isRequired": false
28
- },
29
- "id": {
30
- "type": "string",
31
6
  "isRequired": false
32
7
  },
33
- "onChange": {
34
- "type": "FormEventHandler<HTMLDivElement>",
35
- "isRequired": false
36
- },
37
- "onClick": {
38
- "type": "function",
8
+ "position": {
9
+ "type": "\"bottom\" | \"left\" | \"right\"",
39
10
  "isRequired": false
40
11
  },
41
12
  "sdsType": {
42
13
  "type": "\"overlay\" | \"basic\"",
43
- "isRequired": true,
44
- "description": "The type/variant of the component"
45
- },
46
- "position": {
47
- "type": "\"bottom\" | \"left\" | \"right\"",
48
- "isRequired": false
14
+ "isRequired": true
49
15
  },
50
16
  "width": {
51
17
  "type": "\"string\" | \"number\"",
52
18
  "isRequired": false
53
- },
54
- "isBackdropClickEnabled": {
55
- "type": "\"false\" | \"true\"",
56
- "isRequired": false
57
- },
58
- "HeaderComponent": {
59
- "type": "ReactNode",
60
- "isRequired": false
61
- },
62
- "closeButtonOnClick": {
63
- "type": "function",
64
- "isRequired": false
65
- },
66
- "CloseButtonComponent": {
67
- "type": "ReactNode",
68
- "isRequired": false
69
19
  }
70
20
  }
71
21
  }
@@ -4,61 +4,6 @@
4
4
  "buttonDefinition": {
5
5
  "type": "SingleButtonDefinition[]",
6
6
  "isRequired": true
7
- },
8
- "children": {
9
- "type": "ReactNode",
10
- "isRequired": false,
11
- "description": "The content of the component."
12
- },
13
- "color": {
14
- "type": "\"standard\" | \"primary\" | \"secondary\" | \"error\" | \"info\" | \"success\" | \"warning\"",
15
- "isRequired": false,
16
- "description": "The color of the button when it is selected.\nIt supports both default and custom theme colors, which can be added as shown in the\n[palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).",
17
- "defaultValue": "standard"
18
- },
19
- "disabled": {
20
- "type": "\"false\" | \"true\"",
21
- "isRequired": false,
22
- "description": "If `true`, the component is disabled. This implies that all ToggleButton children will be disabled.",
23
- "defaultValue": false
24
- },
25
- "fullWidth": {
26
- "type": "\"false\" | \"true\"",
27
- "isRequired": false,
28
- "description": "If `true`, the button group will take up the full width of its container.",
29
- "defaultValue": false
30
- },
31
- "onChange": {
32
- "type": "function",
33
- "isRequired": false,
34
- "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."
35
- },
36
- "size": {
37
- "type": "\"small\" | \"medium\" | \"large\"",
38
- "isRequired": false,
39
- "description": "The size of the component.",
40
- "defaultValue": "medium"
41
- },
42
- "value": {
43
- "type": "any",
44
- "isRequired": false,
45
- "description": "The currently selected value within the group or an array of selected\nvalues when `exclusive` is false.\n\nThe value must have reference equality with the option in order to be selected."
46
- },
47
- "className": {
48
- "type": "string",
49
- "isRequired": false
50
- },
51
- "id": {
52
- "type": "string",
53
- "isRequired": false
54
- },
55
- "style": {
56
- "type": "CSSProperties",
57
- "isRequired": false
58
- },
59
- "onClick": {
60
- "type": "function",
61
- "isRequired": false
62
7
  }
63
8
  }
64
9
  }
@@ -5,44 +5,16 @@
5
5
  "type": "\"false\" | \"true\"",
6
6
  "isRequired": false
7
7
  },
8
- "name": {
9
- "type": "string",
10
- "isRequired": false
11
- },
12
- "selected": {
8
+ "hover": {
13
9
  "type": "\"false\" | \"true\"",
14
10
  "isRequired": false
15
11
  },
16
- "value": {
17
- "type": "\"string\" | \"number\" | \"readonly string[]\"",
18
- "isRequired": false
19
- },
20
- "className": {
21
- "type": "string",
22
- "isRequired": false
23
- },
24
- "id": {
25
- "type": "string",
26
- "isRequired": false
27
- },
28
- "style": {
29
- "type": "CSSProperties",
30
- "isRequired": false
31
- },
32
- "onChange": {
33
- "type": "FormEventHandler<HTMLTableRowElement>",
34
- "isRequired": false
35
- },
36
- "onClick": {
37
- "type": "function",
38
- "isRequired": false
39
- },
40
- "tooltipText": {
41
- "type": "string",
12
+ "rowHeight": {
13
+ "type": "number",
42
14
  "isRequired": false
43
15
  },
44
- "tooltipSubtitle": {
45
- "type": "string",
16
+ "selected": {
17
+ "type": "\"false\" | \"true\"",
46
18
  "isRequired": false
47
19
  },
48
20
  "shouldShowTooltipOnHover": {
@@ -53,15 +25,15 @@
53
25
  "type": "TooltipProps",
54
26
  "isRequired": false
55
27
  },
56
- "rowHeight": {
57
- "type": "number",
28
+ "tooltipSubtitle": {
29
+ "type": "string",
58
30
  "isRequired": false
59
31
  },
60
- "useDivider": {
61
- "type": "\"false\" | \"true\"",
32
+ "tooltipText": {
33
+ "type": "string",
62
34
  "isRequired": false
63
35
  },
64
- "hover": {
36
+ "useDivider": {
65
37
  "type": "\"false\" | \"true\"",
66
38
  "isRequired": false
67
39
  }
@@ -0,0 +1,18 @@
1
+ {
2
+ "Tabs": {
3
+ "props": {
4
+ "items": {
5
+ "type": "any",
6
+ "isRequired": false
7
+ },
8
+ "sdsSize": {
9
+ "type": "any",
10
+ "isRequired": false
11
+ },
12
+ "underlined": {
13
+ "type": "any",
14
+ "isRequired": false
15
+ }
16
+ }
17
+ }
18
+ }
@@ -1,84 +1,38 @@
1
1
  {
2
2
  "Tag": {
3
3
  "props": {
4
- "label": {
5
- "type": "string",
6
- "isRequired": true,
7
- "description": "The content of the component."
8
- },
9
4
  "color": {
10
5
  "type": "\"info\" | \"positive\" | \"notice\" | \"negative\" | \"neutral\" | \"beta\" | \"[string, string]\" | \"[string, string, string]\"",
11
6
  "isRequired": false
12
7
  },
13
- "className": {
14
- "type": "string",
15
- "isRequired": false
16
- },
17
- "style": {
18
- "type": "CSSProperties",
19
- "isRequired": false
20
- },
21
- "children": {
22
- "type": "null",
23
- "isRequired": false,
24
- "description": "This prop isn't supported.\nUse the `component` prop if you need to change the children structure."
25
- },
26
- "disabled": {
8
+ "hover": {
27
9
  "type": "\"false\" | \"true\"",
28
- "isRequired": false,
29
- "description": "If `true`, the component is disabled.",
30
- "defaultValue": false
10
+ "isRequired": false
31
11
  },
32
12
  "icon": {
33
13
  "type": "ReactElement",
34
14
  "isRequired": false,
35
15
  "description": "Icon element."
36
16
  },
37
- "size": {
38
- "type": "\"small\" | \"medium\"",
39
- "isRequired": false,
40
- "description": "The size of the component.",
41
- "defaultValue": "medium"
42
- },
43
- "variant": {
44
- "type": "\"outlined\" | \"filled\"",
45
- "isRequired": false,
46
- "description": "The variant to use.",
47
- "defaultValue": "filled"
48
- },
49
- "id": {
17
+ "label": {
50
18
  "type": "string",
51
- "isRequired": false
52
- },
53
- "onChange": {
54
- "type": "FormEventHandler<HTMLDivElement>",
55
- "isRequired": false
19
+ "isRequired": true,
20
+ "description": "The content of the component."
56
21
  },
57
22
  "onClick": {
58
23
  "type": "function",
59
24
  "isRequired": false
60
25
  },
61
- "hover": {
62
- "type": "\"false\" | \"true\"",
26
+ "sdsSize": {
27
+ "type": "\"s\" | \"l\"",
63
28
  "isRequired": false
64
29
  },
65
- "sdsType": {
66
- "type": "\"primary\" | \"secondary\"",
67
- "isRequired": false,
68
- "description": "The type/variant of the component"
69
- },
70
30
  "sdsStyle": {
71
31
  "type": "\"square\" | \"rounded\"",
72
- "isRequired": false,
73
- "description": "The visual style variant of the component"
74
- },
75
- "sdsSize": {
76
- "type": "\"s\" | \"l\"",
77
- "isRequired": false,
78
- "description": "The size of the component"
32
+ "isRequired": false
79
33
  },
80
- "tagColor": {
81
- "type": "\"info\" | \"positive\" | \"notice\" | \"negative\" | \"neutral\" | \"beta\" | \"[string, string]\" | \"[string, string, string]\"",
34
+ "sdsType": {
35
+ "type": "\"primary\" | \"secondary\"",
82
36
  "isRequired": false
83
37
  }
84
38
  }
@@ -5,53 +5,6 @@
5
5
  "type": "string",
6
6
  "isRequired": true,
7
7
  "description": "The content of the component."
8
- },
9
- "onDelete": {
10
- "type": "(event: any) => void",
11
- "isRequired": true,
12
- "description": "Callback fired when the delete icon is clicked.\nIf set, the delete icon will be shown."
13
- },
14
- "className": {
15
- "type": "string",
16
- "isRequired": false
17
- },
18
- "style": {
19
- "type": "CSSProperties",
20
- "isRequired": false
21
- },
22
- "children": {
23
- "type": "null",
24
- "isRequired": false,
25
- "description": "This prop isn't supported.\nUse the `component` prop if you need to change the children structure."
26
- },
27
- "disabled": {
28
- "type": "\"false\" | \"true\"",
29
- "isRequired": false,
30
- "description": "If `true`, the component is disabled.",
31
- "defaultValue": false
32
- },
33
- "icon": {
34
- "type": "ReactElement",
35
- "isRequired": false,
36
- "description": "Icon element."
37
- },
38
- "size": {
39
- "type": "\"small\" | \"medium\"",
40
- "isRequired": false,
41
- "description": "The size of the component.",
42
- "defaultValue": "medium"
43
- },
44
- "id": {
45
- "type": "string",
46
- "isRequired": false
47
- },
48
- "onChange": {
49
- "type": "FormEventHandler<HTMLDivElement>",
50
- "isRequired": false
51
- },
52
- "onClick": {
53
- "type": "function",
54
- "isRequired": false
55
8
  }
56
9
  }
57
10
  }
@@ -1,85 +1,36 @@
1
1
  {
2
2
  "Tooltip": {
3
3
  "props": {
4
- "title": {
5
- "type": "ReactNode",
6
- "isRequired": false,
7
- "description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed."
8
- },
9
- "className": {
10
- "type": "string",
11
- "isRequired": false
12
- },
13
- "id": {
14
- "type": "string",
15
- "isRequired": false,
16
- "description": "This prop is used to help implement the accessibility logic.\nIf you don't provide this prop. It falls back to a randomly generated id."
17
- },
18
- "style": {
19
- "type": "CSSProperties",
20
- "isRequired": false
21
- },
22
- "children": {
23
- "type": "ReactElement",
24
- "isRequired": true,
25
- "description": "Tooltip reference element."
26
- },
27
- "onChange": {
28
- "type": "FormEventHandler<HTMLDivElement>",
29
- "isRequired": false
30
- },
31
- "onClick": {
32
- "type": "function",
33
- "isRequired": false
34
- },
35
4
  "arrowOffset": {
36
5
  "type": "number",
37
6
  "isRequired": false
38
7
  },
39
- "followCursor": {
40
- "type": "\"false\" | \"true\"",
41
- "isRequired": false,
42
- "description": "If `true`, the tooltip follow the cursor over the wrapped element.",
43
- "defaultValue": false
44
- },
45
- "inverted": {
46
- "type": "\"false\" | \"true\"",
8
+ "componentSlot": {
9
+ "type": "ReactNode",
47
10
  "isRequired": false
48
11
  },
49
- "sdsStyle": {
50
- "type": "\"dark\" | \"light\"",
51
- "isRequired": false,
52
- "description": "The visual style variant of the component"
53
- },
54
12
  "hasInvertedStyle": {
55
13
  "type": "\"false\" | \"true\"",
56
14
  "isRequired": false
57
15
  },
58
- "subtitle": {
59
- "type": "ReactNode",
60
- "isRequired": false
61
- },
62
- "width": {
63
- "type": "\"default\" | \"wide\"",
64
- "isRequired": false
16
+ "placement": {
17
+ "type": "complex",
18
+ "isRequired": false,
19
+ "description": "Tooltip placement.",
20
+ "defaultValue": "bottom"
65
21
  },
66
22
  "textAlign": {
67
23
  "type": "\"left\" | \"right\" | \"center\"",
68
24
  "isRequired": false
69
25
  },
70
- "componentSlot": {
26
+ "title": {
71
27
  "type": "ReactNode",
72
- "isRequired": false
73
- },
74
- "onClose": {
75
- "type": "(event: Event | SyntheticEvent<Element, Event>) => void",
76
28
  "isRequired": false,
77
- "description": "Callback fired when the component requests to be closed.\n@param event The event source of the callback."
29
+ "description": "Tooltip title. Zero-length titles string, undefined, null and false are never displayed."
78
30
  },
79
- "open": {
80
- "type": "\"false\" | \"true\"",
81
- "isRequired": false,
82
- "description": "If `true`, the component is shown."
31
+ "width": {
32
+ "type": "\"default\" | \"wide\"",
33
+ "isRequired": false
83
34
  }
84
35
  }
85
36
  }
@@ -0,0 +1,18 @@
1
+ {
2
+ "TooltipCondensed": {
3
+ "props": {
4
+ "hasInvertedStyle": {
5
+ "type": "any",
6
+ "isRequired": false
7
+ },
8
+ "indicator": {
9
+ "type": "any",
10
+ "isRequired": false
11
+ },
12
+ "indicatorColor": {
13
+ "type": "any",
14
+ "isRequired": false
15
+ }
16
+ }
17
+ }
18
+ }
@@ -1,10 +1,6 @@
1
1
  {
2
2
  "TooltipTable": {
3
3
  "props": {
4
- "data": {
5
- "type": "{ label?: string; dataRows: { label: string; value: string | number; }[]; disabled?: boolean; }[]",
6
- "isRequired": false
7
- },
8
4
  "contentAlert": {
9
5
  "type": "\"string\" | \"Element\"",
10
6
  "isRequired": false
@@ -0,0 +1,101 @@
1
+ # Figma to Code Translation Rules
2
+
3
+ These rules guide Claude Code when translating Figma designs to code using the CZI Science Design System (SDS).
4
+
5
+ ## Design Token Priority
6
+
7
+ ### Spacing Values
8
+
9
+ - **ALWAYS use SDS spacing tokens** instead of hardcoded pixel values
10
+ - Map Figma spacing to SDS Tailwind classes: `p-sds-{size}`, `m-sds-{size}`, `gap-sds-{size}`
11
+ - SDS spacing scale: `xs`, `s`, `m`, `l`, `xl`
12
+ - Examples: `mb-sds-xs`, `px-sds-l`, `gap-sds-xl`
13
+
14
+ ### Color Values
15
+
16
+ - **Prefer SDS color tokens** over hardcoded hex values from Figma
17
+ - Use SDS semantic color classes: `text-light-sds-color-semantic-base-text-primary`
18
+ - Include dark mode variants: `dark:text-dark-sds-color-semantic-base-text-primary`
19
+ - Only use Figma hex values when no appropriate SDS token exists
20
+
21
+ ### Typography
22
+
23
+ - **Map Figma text styles to SDS typography classes**
24
+ - Format: `prose-sds-{type}-{size}-{weight}-{variant}`
25
+ - Examples: `prose-sds-header-xl-600-wide`, `prose-sds-body-s-400-wide`
26
+ - Use SDS font families: `font-sds-body`, `font-sds-header`, `font-sds-code`
27
+ - Use SDS font weights: `font-sds-regular`, `font-sds-semibold`
28
+
29
+ ## Component Mapping Rules
30
+
31
+ ### SDS Component Priority
32
+
33
+ - **Always prefer SDS components** over custom implementations
34
+ - Import from `@czi-sds/components`: `import { Button, Icon, Link } from "@czi-sds/components"`
35
+ - Use SDS-specific props: `sdsStyle`, `sdsType`, `sdsSize`, `sdsIcon`
36
+
37
+ ### Common Figma → SDS Mappings
38
+
39
+ - **Figma Buttons** → `<Button sdsStyle="square|rounded|minimal" sdsType="primary|secondary">`
40
+ - **Figma Icons** → `<Icon sdsIcon="IconName" sdsSize="xs|s|m|l|xl">`
41
+ - **Figma Input Fields** → `<InputText>`, `<InputSlider>`, `<Autocomplete>`
42
+ - **Figma Cards/Containers** → Use SDS spacing classes with `<div>` elements
43
+
44
+ ### Layout Translation
45
+
46
+ - **Figma Auto Layout** → Tailwind Flexbox: `flex`, `flex-col`, `items-center`, `justify-between`
47
+ - **Figma Grid** → Tailwind Grid: `grid`, `grid-cols-{n}`, `gap-sds-{size}`
48
+ - **Figma Constraints** → Tailwind responsive utilities: `w-full`, `max-w-{size}`, `mx-auto`
49
+
50
+ ## Implementation Guidelines
51
+
52
+ ### Code Structure
53
+
54
+ - Follow fractal file structure with colocated components
55
+ - Use TypeScript interfaces for props
56
+ - Implement responsive design with SDS breakpoints: `sm`, `md`, `lg`
57
+
58
+ ### Accessibility
59
+
60
+ - Include ARIA labels and semantic HTML
61
+ - Use SDS color tokens that meet contrast requirements
62
+ - Follow SDS accessibility patterns for interactive elements
63
+
64
+ ### Best Practices
65
+
66
+ - Extract repeated spacing patterns into reusable components
67
+ - Use SDS design tokens consistently across related components
68
+ - Document any deviations from SDS patterns with comments explaining why
69
+ - Test components in both light and dark modes
70
+
71
+ ## Examples
72
+
73
+ ### Good - Using SDS Values
74
+
75
+ ```tsx
76
+ import { Button, Icon } from "@czi-sds/components";
77
+
78
+ <div className="flex items-center gap-sds-m p-sds-l">
79
+ <Button sdsStyle="square" sdsType="primary" className="font-sds-semibold">
80
+ Save Changes
81
+ </Button>
82
+ <Icon sdsIcon="Save" sdsSize="s" />
83
+ </div>;
84
+ ```
85
+
86
+ ### Avoid - Hardcoded Values
87
+
88
+ ```tsx
89
+ // Don't do this
90
+ <div className="flex items-center gap-4 p-6">
91
+ <button className="bg-blue-500 px-4 py-2 font-bold">Save Changes</button>
92
+ <svg className="w-4 h-4">...</svg>
93
+ </div>
94
+ ```
95
+
96
+ ## Design System Integration
97
+
98
+ - Always check Zeroheight documentation for component usage guidelines
99
+ - Verify SDS component APIs before implementing
100
+ - Use SDS Storybook for component examples and prop references
101
+ - When in doubt, prefer SDS patterns over custom solutions