@coinbase/cds-mcp-server 8.57.0 → 8.58.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.
- package/CHANGELOG.md +8 -0
- package/mcp-docs/mobile/components/BarChart.txt +235 -223
- package/mcp-docs/mobile/components/Combobox.txt +1 -0
- package/mcp-docs/mobile/components/DateInput.txt +1 -0
- package/mcp-docs/mobile/components/DatePicker.txt +1 -0
- package/mcp-docs/mobile/components/SearchInput.txt +19 -6
- package/mcp-docs/mobile/components/SelectAlpha.txt +1 -0
- package/mcp-docs/mobile/components/SelectChipAlpha.txt +1 -0
- package/mcp-docs/mobile/components/TextInput.txt +1 -0
- package/mcp-docs/web/components/BarChart.txt +192 -282
- package/mcp-docs/web/components/Combobox.txt +1 -0
- package/mcp-docs/web/components/DateInput.txt +92 -5
- package/mcp-docs/web/components/DatePicker.txt +92 -4
- package/mcp-docs/web/components/SearchInput.txt +107 -5
- package/mcp-docs/web/components/SelectAlpha.txt +1 -0
- package/mcp-docs/web/components/SelectChipAlpha.txt +1 -0
- package/mcp-docs/web/components/SidebarItem.txt +1 -1
- package/mcp-docs/web/components/TextInput.txt +94 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,14 @@ All notable changes to this project will be documented in this file.
|
|
|
8
8
|
|
|
9
9
|
<!-- template-start -->
|
|
10
10
|
|
|
11
|
+
## 8.58.0 ((3/25/2026, 11:42 AM PST))
|
|
12
|
+
|
|
13
|
+
This is an artificial version bump with no new change.
|
|
14
|
+
|
|
15
|
+
## 8.57.1 ((3/24/2026, 01:14 PM PST))
|
|
16
|
+
|
|
17
|
+
This is an artificial version bump with no new change.
|
|
18
|
+
|
|
11
19
|
## 8.57.0 ((3/24/2026, 12:46 PM PST))
|
|
12
20
|
|
|
13
21
|
This is an artificial version bump with no new change.
|
|
@@ -34,9 +34,9 @@ To start, pass in a series of data to the chart.
|
|
|
34
34
|
/>
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
#### Layout
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
You can set `layout` to `horizontal` to render the chart horizontally.
|
|
40
40
|
|
|
41
41
|
```jsx
|
|
42
42
|
function HorizontalBars() {
|
|
@@ -87,46 +87,44 @@ function HorizontalBars() {
|
|
|
87
87
|
You can also provide multiple series of data to the chart. Series will have their bars for each data point rendered side by side.
|
|
88
88
|
|
|
89
89
|
```tsx
|
|
90
|
-
function
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
const tickFormatter = useCallback(
|
|
94
|
-
(amount) =>
|
|
95
|
-
new Intl.NumberFormat('en-US', {
|
|
96
|
-
style: 'currency',
|
|
97
|
-
currency: 'USD',
|
|
98
|
-
}).format(amount),
|
|
99
|
-
[],
|
|
100
|
-
);
|
|
90
|
+
function MultipleSeries() {
|
|
91
|
+
const theme = useTheme();
|
|
101
92
|
|
|
102
93
|
return (
|
|
103
94
|
<BarChart
|
|
104
|
-
height={
|
|
105
|
-
inset={{ top: 8, bottom: 8, left: 0, right: 0 }}
|
|
95
|
+
height={400}
|
|
106
96
|
series={[
|
|
107
97
|
{
|
|
108
|
-
id: '
|
|
109
|
-
data: [
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
98
|
+
id: 'series1',
|
|
99
|
+
data: [5, 1, 3],
|
|
100
|
+
color: `rgb(${theme.spectrum.blue40})`,
|
|
101
|
+
label: 'Series 1',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'series2',
|
|
105
|
+
data: [2, 4, 6],
|
|
106
|
+
color: `rgb(${theme.spectrum.yellow40})`,
|
|
107
|
+
label: 'Series 2',
|
|
114
108
|
},
|
|
115
109
|
{
|
|
116
|
-
id: '
|
|
117
|
-
data: [
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
],
|
|
121
|
-
color: assets.eth.color,
|
|
110
|
+
id: 'series3',
|
|
111
|
+
data: [1, 2, 3],
|
|
112
|
+
color: `rgb(${theme.spectrum.red40})`,
|
|
113
|
+
label: 'Series 3',
|
|
122
114
|
},
|
|
123
115
|
]}
|
|
116
|
+
legend
|
|
117
|
+
showXAxis
|
|
124
118
|
showYAxis
|
|
119
|
+
xAxis={{
|
|
120
|
+
data: ['Group A', 'Group B', 'Group C'],
|
|
121
|
+
showLine: true,
|
|
122
|
+
showTickMarks: true,
|
|
123
|
+
}}
|
|
125
124
|
yAxis={{
|
|
125
|
+
showLine: true,
|
|
126
126
|
showGrid: true,
|
|
127
|
-
|
|
128
|
-
tickLabelFormatter: tickFormatter,
|
|
129
|
-
width: 70,
|
|
127
|
+
showTickMarks: true,
|
|
130
128
|
}}
|
|
131
129
|
/>
|
|
132
130
|
);
|
|
@@ -138,63 +136,45 @@ function MonthlyGainsByAsset() {
|
|
|
138
136
|
You can also configure stacking for your chart using the `stacked` prop.
|
|
139
137
|
|
|
140
138
|
```tsx
|
|
141
|
-
function
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
const tickFormatter = useCallback(
|
|
145
|
-
(amount) =>
|
|
146
|
-
new Intl.NumberFormat('en-US', {
|
|
147
|
-
style: 'currency',
|
|
148
|
-
currency: 'USD',
|
|
149
|
-
}).format(amount),
|
|
150
|
-
[],
|
|
151
|
-
);
|
|
139
|
+
function StackedBars() {
|
|
140
|
+
const theme = useTheme();
|
|
152
141
|
|
|
153
142
|
return (
|
|
154
143
|
<BarChart
|
|
155
|
-
|
|
156
|
-
|
|
144
|
+
stacked
|
|
145
|
+
height={400}
|
|
157
146
|
series={[
|
|
158
147
|
{
|
|
159
|
-
id: '
|
|
160
|
-
data: [
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
],
|
|
164
|
-
color: assets.xrp.color,
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
id: 'ltc',
|
|
168
|
-
data: [
|
|
169
|
-
450.77, 615.33, 355.68, 880.15, 810.99, 520.46, 590.29, 960.52, 910.07, 1020.41, 851.89,
|
|
170
|
-
750.61,
|
|
171
|
-
],
|
|
172
|
-
color: assets.ltc.color,
|
|
148
|
+
id: 'series1',
|
|
149
|
+
data: [5, 1, 3, 3, 0, 2, 1],
|
|
150
|
+
color: `rgb(${theme.spectrum.blue40})`,
|
|
151
|
+
label: 'Series 1',
|
|
173
152
|
},
|
|
174
153
|
{
|
|
175
|
-
id: '
|
|
176
|
-
data: [
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
],
|
|
180
|
-
color: assets.eth.color,
|
|
154
|
+
id: 'series2',
|
|
155
|
+
data: [2, 4, 6, 0, 3, 1, 2],
|
|
156
|
+
color: `rgb(${theme.spectrum.yellow40})`,
|
|
157
|
+
label: 'Series 2',
|
|
181
158
|
},
|
|
182
159
|
{
|
|
183
|
-
id: '
|
|
184
|
-
data: [
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
],
|
|
188
|
-
color: assets.btc.color,
|
|
160
|
+
id: 'series3',
|
|
161
|
+
data: [1, 2, 3, 1, 0, 2, 3],
|
|
162
|
+
color: `rgb(${theme.spectrum.red40})`,
|
|
163
|
+
label: 'Series 3',
|
|
189
164
|
},
|
|
190
165
|
]}
|
|
191
|
-
|
|
166
|
+
legend
|
|
167
|
+
showXAxis
|
|
192
168
|
showYAxis
|
|
169
|
+
xAxis={{
|
|
170
|
+
data: ['Group A', 'Group B', 'Group C', 'Group D', 'Group E', 'Group F', 'Group G'],
|
|
171
|
+
showLine: true,
|
|
172
|
+
showTickMarks: true,
|
|
173
|
+
}}
|
|
193
174
|
yAxis={{
|
|
175
|
+
showLine: true,
|
|
194
176
|
showGrid: true,
|
|
195
|
-
|
|
196
|
-
tickLabelFormatter: tickFormatter,
|
|
197
|
-
width: 70,
|
|
177
|
+
showTickMarks: true,
|
|
198
178
|
}}
|
|
199
179
|
/>
|
|
200
180
|
);
|
|
@@ -205,66 +185,60 @@ You can also configure multiple stacks by setting the `stackId` prop on each ser
|
|
|
205
185
|
|
|
206
186
|
```tsx
|
|
207
187
|
function MonthlyGainsMultipleStacks() {
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
const tickFormatter = useCallback(
|
|
211
|
-
(amount) =>
|
|
212
|
-
new Intl.NumberFormat('en-US', {
|
|
213
|
-
style: 'currency',
|
|
214
|
-
currency: 'USD',
|
|
215
|
-
}).format(amount),
|
|
216
|
-
[],
|
|
217
|
-
);
|
|
188
|
+
const theme = useTheme();
|
|
218
189
|
|
|
219
190
|
return (
|
|
220
191
|
<BarChart
|
|
221
|
-
height={
|
|
222
|
-
inset={{ top: 8, bottom: 8, left: 0, right: 0 }}
|
|
192
|
+
height={400}
|
|
223
193
|
series={[
|
|
224
194
|
{
|
|
225
|
-
id: '
|
|
226
|
-
data: [
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
195
|
+
id: 'series1',
|
|
196
|
+
data: [5, 1, 3],
|
|
197
|
+
color: `rgb(${theme.spectrum.blue40})`,
|
|
198
|
+
stackId: 'stack1',
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
id: 'series2',
|
|
202
|
+
data: [2, 4, 6],
|
|
203
|
+
color: `rgb(${theme.spectrum.yellow40})`,
|
|
204
|
+
stackId: 'stack1',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: 'series3',
|
|
208
|
+
data: [1, 2, 3],
|
|
209
|
+
color: `rgb(${theme.spectrum.red40})`,
|
|
210
|
+
stackId: 'stack1',
|
|
232
211
|
},
|
|
233
212
|
{
|
|
234
|
-
id: '
|
|
235
|
-
data: [
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
],
|
|
239
|
-
color: assets.ltc.color,
|
|
240
|
-
stackId: 'shortTerm',
|
|
213
|
+
id: 'series4',
|
|
214
|
+
data: [3, 0, 2],
|
|
215
|
+
color: `rgb(${theme.spectrum.purple40})`,
|
|
216
|
+
stackId: 'stack2',
|
|
241
217
|
},
|
|
242
218
|
{
|
|
243
|
-
id: '
|
|
244
|
-
data: [
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
],
|
|
248
|
-
color: assets.eth.color,
|
|
249
|
-
stackId: 'longTerm',
|
|
219
|
+
id: 'series5',
|
|
220
|
+
data: [0, 3, 1],
|
|
221
|
+
color: `rgb(${theme.spectrum.teal40})`,
|
|
222
|
+
stackId: 'stack2',
|
|
250
223
|
},
|
|
251
224
|
{
|
|
252
|
-
id: '
|
|
253
|
-
data: [
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
],
|
|
257
|
-
color: assets.btc.color,
|
|
258
|
-
stackId: 'longTerm',
|
|
225
|
+
id: 'series6',
|
|
226
|
+
data: [1, 0, 2],
|
|
227
|
+
color: `rgb(${theme.spectrum.green40})`,
|
|
228
|
+
stackId: 'stack2',
|
|
259
229
|
},
|
|
260
230
|
]}
|
|
261
|
-
|
|
231
|
+
showXAxis
|
|
262
232
|
showYAxis
|
|
233
|
+
xAxis={{
|
|
234
|
+
data: ['Group A', 'Group B', 'Group C'],
|
|
235
|
+
showLine: true,
|
|
236
|
+
showTickMarks: true,
|
|
237
|
+
}}
|
|
263
238
|
yAxis={{
|
|
239
|
+
showLine: true,
|
|
264
240
|
showGrid: true,
|
|
265
|
-
|
|
266
|
-
tickLabelFormatter: tickFormatter,
|
|
267
|
-
width: 70,
|
|
241
|
+
showTickMarks: true,
|
|
268
242
|
}}
|
|
269
243
|
/>
|
|
270
244
|
);
|
|
@@ -274,65 +248,63 @@ function MonthlyGainsMultipleStacks() {
|
|
|
274
248
|
#### Stack Gap
|
|
275
249
|
|
|
276
250
|
```tsx
|
|
277
|
-
function
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
const tickFormatter = useCallback(
|
|
281
|
-
(amount) =>
|
|
282
|
-
new Intl.NumberFormat('en-US', {
|
|
283
|
-
style: 'currency',
|
|
284
|
-
currency: 'USD',
|
|
285
|
-
}).format(amount),
|
|
286
|
-
[],
|
|
287
|
-
);
|
|
251
|
+
function StackGap() {
|
|
252
|
+
const theme = useTheme();
|
|
288
253
|
|
|
289
254
|
return (
|
|
290
255
|
<BarChart
|
|
291
|
-
height={
|
|
292
|
-
inset={{ top: 8, bottom: 8, left: 0, right: 0 }}
|
|
256
|
+
height={400}
|
|
293
257
|
series={[
|
|
294
258
|
{
|
|
295
|
-
id: '
|
|
296
|
-
data: [
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
259
|
+
id: 'series1',
|
|
260
|
+
data: [5, 1, 3],
|
|
261
|
+
color: `rgb(${theme.spectrum.blue40})`,
|
|
262
|
+
stackId: 'stack1',
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
id: 'series2',
|
|
266
|
+
data: [2, 4, 6],
|
|
267
|
+
color: `rgb(${theme.spectrum.yellow40})`,
|
|
268
|
+
stackId: 'stack1',
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: 'series3',
|
|
272
|
+
data: [1, 2, 3],
|
|
273
|
+
color: `rgb(${theme.spectrum.red40})`,
|
|
274
|
+
stackId: 'stack1',
|
|
301
275
|
},
|
|
302
276
|
{
|
|
303
|
-
id: '
|
|
304
|
-
data: [
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
],
|
|
308
|
-
color: assets.ltc.color,
|
|
277
|
+
id: 'series4',
|
|
278
|
+
data: [3, 0, 2],
|
|
279
|
+
color: `rgb(${theme.spectrum.purple40})`,
|
|
280
|
+
stackId: 'stack2',
|
|
309
281
|
},
|
|
310
282
|
{
|
|
311
|
-
id: '
|
|
312
|
-
data: [
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
],
|
|
316
|
-
color: assets.eth.color,
|
|
283
|
+
id: 'series5',
|
|
284
|
+
data: [0, 3, 1],
|
|
285
|
+
color: `rgb(${theme.spectrum.teal40})`,
|
|
286
|
+
stackId: 'stack2',
|
|
317
287
|
},
|
|
318
288
|
{
|
|
319
|
-
id: '
|
|
320
|
-
data: [
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
],
|
|
324
|
-
color: assets.btc.color,
|
|
289
|
+
id: 'series6',
|
|
290
|
+
data: [1, 0, 2],
|
|
291
|
+
color: `rgb(${theme.spectrum.green40})`,
|
|
292
|
+
stackId: 'stack2',
|
|
325
293
|
},
|
|
326
294
|
]}
|
|
327
295
|
stackGap={4}
|
|
328
|
-
|
|
296
|
+
barMinSize={8}
|
|
297
|
+
showXAxis
|
|
329
298
|
showYAxis
|
|
299
|
+
xAxis={{
|
|
300
|
+
data: ['Group A', 'Group B', 'Group C'],
|
|
301
|
+
showLine: true,
|
|
302
|
+
showTickMarks: true,
|
|
303
|
+
}}
|
|
330
304
|
yAxis={{
|
|
305
|
+
showLine: true,
|
|
331
306
|
showGrid: true,
|
|
332
|
-
|
|
333
|
-
tickLabelFormatter: tickFormatter,
|
|
334
|
-
width: 70,
|
|
335
|
-
domainLimit: 'strict',
|
|
307
|
+
showTickMarks: true,
|
|
336
308
|
}}
|
|
337
309
|
/>
|
|
338
310
|
);
|
|
@@ -346,34 +318,53 @@ Bars have a default borderRadius of `4`. You can change this by setting the `bor
|
|
|
346
318
|
Stacks will only round the top corners of touching bars.
|
|
347
319
|
|
|
348
320
|
```jsx
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
321
|
+
function RoundedStacks() {
|
|
322
|
+
const theme = useTheme();
|
|
323
|
+
|
|
324
|
+
return (
|
|
325
|
+
<BarChart
|
|
326
|
+
stacked
|
|
327
|
+
borderRadius={1000}
|
|
328
|
+
height={300}
|
|
329
|
+
maxWidth={384}
|
|
330
|
+
padding={0}
|
|
331
|
+
series={[
|
|
332
|
+
{
|
|
333
|
+
id: 'purple',
|
|
334
|
+
data: [null, 6, 8, 10, 7, 6, 6, 8, 9, 12, 10, 4],
|
|
335
|
+
color: `rgb(${theme.spectrum.purple30})`,
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
id: 'blue',
|
|
339
|
+
data: [null, 10, 12, 11, 10, 9, 10, 11, 7, 4, 12, 18],
|
|
340
|
+
color: `rgb(${theme.spectrum.blue30})`,
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
id: 'cyan',
|
|
344
|
+
data: [null, 7, 10, 12, 11, 10, 8, 11, 5, 12, 2, 9],
|
|
345
|
+
color: `rgb(${theme.spectrum.teal30})`,
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
id: 'green',
|
|
349
|
+
data: [10, null, null, null, 1, null, null, 6, null, null, null, null],
|
|
350
|
+
color: `rgb(${theme.spectrum.green30})`,
|
|
351
|
+
},
|
|
352
|
+
]}
|
|
353
|
+
showXAxis
|
|
354
|
+
xAxis={{
|
|
355
|
+
data: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],
|
|
356
|
+
tickLabelFormatter: (value) => {
|
|
357
|
+
if (value === 'D') {
|
|
358
|
+
return <TSpan style={{ fontWeight: 'bold' }}>{value}</TSpan>;
|
|
359
|
+
}
|
|
360
|
+
return value;
|
|
361
|
+
},
|
|
362
|
+
categoryPadding: 0.25,
|
|
363
|
+
}}
|
|
364
|
+
style={{ margin: '0 auto' }}
|
|
365
|
+
/>
|
|
366
|
+
);
|
|
367
|
+
}
|
|
377
368
|
```
|
|
378
369
|
|
|
379
370
|
#### Round Baseline
|
|
@@ -381,35 +372,56 @@ Stacks will only round the top corners of touching bars.
|
|
|
381
372
|
You can also round the baseline of the bars by setting the `roundBaseline` prop on the chart.
|
|
382
373
|
|
|
383
374
|
```jsx
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
375
|
+
function MonthlyRewards() {
|
|
376
|
+
const theme = useTheme();
|
|
377
|
+
const months = ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'];
|
|
378
|
+
|
|
379
|
+
return (
|
|
380
|
+
<BarChart
|
|
381
|
+
roundBaseline
|
|
382
|
+
stacked
|
|
383
|
+
borderRadius={1000}
|
|
384
|
+
height={300}
|
|
385
|
+
maxWidth={384}
|
|
386
|
+
inset={0}
|
|
387
|
+
series={[
|
|
388
|
+
{
|
|
389
|
+
id: 'purple',
|
|
390
|
+
data: [null, 6, 8, 10, 7, 6, 6, 8, 9, 12, 10, 4],
|
|
391
|
+
color: `rgb(${theme.spectrum.purple30})`,
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
id: 'blue',
|
|
395
|
+
data: [null, 10, 12, 11, 10, 9, 10, 11, 7, 4, 12, 18],
|
|
396
|
+
color: `rgb(${theme.spectrum.blue30})`,
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
id: 'cyan',
|
|
400
|
+
data: [null, 7, 10, 12, 11, 10, 8, 11, 5, 12, 2, 9],
|
|
401
|
+
color: `rgb(${theme.spectrum.teal30})`,
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
id: 'green',
|
|
405
|
+
data: [10, null, null, null, 1, null, null, 6, null, null, null, null],
|
|
406
|
+
color: `rgb(${theme.spectrum.green30})`,
|
|
407
|
+
},
|
|
408
|
+
]}
|
|
409
|
+
showXAxis
|
|
410
|
+
xAxis={{
|
|
411
|
+
data: months,
|
|
412
|
+
tickLabelFormatter: (value) => {
|
|
413
|
+
if (value === 11) {
|
|
414
|
+
return <TSpan style={{ fontWeight: 'bold' }}>{months[value]}</TSpan>;
|
|
415
|
+
}
|
|
416
|
+
return months[value];
|
|
417
|
+
},
|
|
418
|
+
categoryPadding: 0.25,
|
|
419
|
+
}}
|
|
420
|
+
stackMinSize={24}
|
|
421
|
+
style={{ margin: '0 auto' }}
|
|
422
|
+
/>
|
|
423
|
+
);
|
|
424
|
+
}
|
|
413
425
|
```
|
|
414
426
|
|
|
415
427
|
### Data
|
|
@@ -491,6 +503,7 @@ You can also use the `BarStackComponent` prop to render an empty circle for zero
|
|
|
491
503
|
|
|
492
504
|
```tsx
|
|
493
505
|
function MonthlyRewards() {
|
|
506
|
+
const theme = useTheme();
|
|
494
507
|
const months = ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'];
|
|
495
508
|
const currentMonth = 7;
|
|
496
509
|
const purple = [null, 6, 8, 10, 7, 6, 6, 8, null, null, null, null];
|
|
@@ -499,10 +512,10 @@ function MonthlyRewards() {
|
|
|
499
512
|
const green = [10, null, null, null, 1, null, null, 6, null, null, null, null];
|
|
500
513
|
|
|
501
514
|
const series = [
|
|
502
|
-
{ id: 'purple', data: purple, color:
|
|
503
|
-
{ id: 'blue', data: blue, color:
|
|
504
|
-
{ id: 'cyan', data: cyan, color:
|
|
505
|
-
{ id: 'green', data: green, color:
|
|
515
|
+
{ id: 'purple', data: purple, color: `rgb(${theme.spectrum.purple30})` },
|
|
516
|
+
{ id: 'blue', data: blue, color: `rgb(${theme.spectrum.blue30})` },
|
|
517
|
+
{ id: 'cyan', data: cyan, color: `rgb(${theme.spectrum.teal30})` },
|
|
518
|
+
{ id: 'green', data: green, color: `rgb(${theme.spectrum.green30})` },
|
|
506
519
|
];
|
|
507
520
|
|
|
508
521
|
const CustomBarStackComponent = ({ children, ...props }: BarStackComponentProps) => {
|
|
@@ -537,7 +550,7 @@ function MonthlyRewards() {
|
|
|
537
550
|
series={series}
|
|
538
551
|
showYAxis={false}
|
|
539
552
|
stackMinSize={3}
|
|
540
|
-
width={
|
|
553
|
+
width={384}
|
|
541
554
|
xAxis={{
|
|
542
555
|
tickLabelFormatter: (index) => {
|
|
543
556
|
if (index == currentMonth) {
|
|
@@ -545,7 +558,7 @@ function MonthlyRewards() {
|
|
|
545
558
|
}
|
|
546
559
|
return months[index];
|
|
547
560
|
},
|
|
548
|
-
categoryPadding: 0.
|
|
561
|
+
categoryPadding: 0.25,
|
|
549
562
|
}}
|
|
550
563
|
/>
|
|
551
564
|
);
|
|
@@ -623,7 +636,6 @@ There are two ways to control the spacing between bars. You can set the `barPadd
|
|
|
623
636
|
#### Minimum Size
|
|
624
637
|
|
|
625
638
|
To better emphasize small values, you can set the `stackMinSize` or `barMinSize` prop to control the minimum size for entire stacks or individual bar.
|
|
626
|
-
It is recommended to only use `stackMinSize` for stacked charts and `barMinSize` for non-stacked charts.
|
|
627
639
|
|
|
628
640
|
##### Minimum Stack Size
|
|
629
641
|
|
|
@@ -555,6 +555,7 @@ function FreeSoloComboboxExample() {
|
|
|
555
555
|
| `end` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | End-aligned content (e.g., value, status). Replaces the deprecated detail prop. |
|
|
556
556
|
| `endNode` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Adds content to the end of the inner input. Refer to diagram for location of endNode in InputStack component |
|
|
557
557
|
| `filterFunction` | `((options: SelectOptionList<Type, SelectOptionValue>, searchText: string) => SelectOption<SelectOptionValue>[])` | No | `-` | Custom filter function for searching options |
|
|
558
|
+
| `font` | `display1 \| display2 \| display3 \| title1 \| title2 \| title3 \| title4 \| headline \| body \| label1 \| label2 \| caption \| legal` | No | `body` | Typography font token for the field (passed through to NativeInput as font), same token family as align. |
|
|
558
559
|
| `helperText` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Helper text displayed below the select |
|
|
559
560
|
| `hiddenSelectedOptionsLabel` | `string` | No | `-` | Label to show for showcasing count of hidden selected options |
|
|
560
561
|
| `hideSearchInput` | `boolean` | No | `-` | Hide the search input |
|
|
@@ -515,6 +515,7 @@ The DateInput fires events in a specific order:
|
|
|
515
515
|
| `end` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Adds content to the end of the inner input. Refer to diagram for location of endNode in InputStack component |
|
|
516
516
|
| `enterKeyHint` | `search \| done \| go \| next \| send \| previous \| enter` | No | `-` | Determines what text should be shown to the return key on virtual keyboards. Has precedence over the returnKeyType prop. |
|
|
517
517
|
| `focusedBorderWidth` | `0 \| 100 \| 200 \| 300 \| 400 \| 500` | No | `borderWidth` | Additional border width when focused. |
|
|
518
|
+
| `font` | `display1 \| display2 \| display3 \| title1 \| title2 \| title3 \| title4 \| headline \| body \| label1 \| label2 \| caption \| legal` | No | `body` | Typography font token for the field (passed through to NativeInput as font), same token family as align. |
|
|
518
519
|
| `height` | `string \| number` | No | `-` | Height of input |
|
|
519
520
|
| `helperText` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | For cases where label is not enough information to describe what the text input is for. Can also be used for showing positive/negative messages |
|
|
520
521
|
| `helperTextErrorIconAccessibilityLabel` | `string` | No | `'error'` | Accessibility label for helper text error icon when variant=negative |
|
|
@@ -732,6 +732,7 @@ function Example() {
|
|
|
732
732
|
| `end` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Adds content to the end of the inner input. Refer to diagram for location of endNode in InputStack component |
|
|
733
733
|
| `enterKeyHint` | `search \| done \| go \| next \| send \| previous \| enter` | No | `-` | Determines what text should be shown to the return key on virtual keyboards. Has precedence over the returnKeyType prop. |
|
|
734
734
|
| `focusedBorderWidth` | `0 \| 100 \| 200 \| 300 \| 400 \| 500` | No | `borderWidth` | Additional border width when focused. |
|
|
735
|
+
| `font` | `display1 \| display2 \| display3 \| title1 \| title2 \| title3 \| title4 \| headline \| body \| label1 \| label2 \| caption \| legal` | No | `body` | Typography font token for the field (passed through to NativeInput as font), same token family as align. |
|
|
735
736
|
| `height` | `string \| number` | No | `-` | Height of input |
|
|
736
737
|
| `helperText` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | For cases where label is not enough information to describe what the text input is for. Can also be used for showing positive/negative messages |
|
|
737
738
|
| `helperTextErrorIconAccessibilityLabel` | `string` | No | `'error'` | Accessibility label for helper text error icon when variant=negative |
|