@coinbase/cds-mcp-server 8.32.2 → 8.33.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 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.33.0 ((12/18/2025, 11:46 AM PST))
12
+
13
+ This is an artificial version bump with no new change.
14
+
15
+ ## 8.32.3 (12/18/2025)
16
+
17
+ This is an artificial version bump with no new change.
18
+
11
19
  ## 8.32.2 ((12/18/2025, 07:41 AM PST))
12
20
 
13
21
  This is an artificial version bump with no new change.
@@ -274,6 +274,43 @@ function ColorAndTransition() {
274
274
  }
275
275
  ```
276
276
 
277
+ ### Digit Transition Variants
278
+
279
+ RollingNumber supports two digit transition styles via the `digitTransitionVariant` prop:
280
+
281
+ - **`'every'`** (default): Rolls through every intermediate digit (e.g., 1→2→3→...→9).
282
+ - **`'single'`**: Rolls directly to the new digit without showing intermediates. Direction (up/down) is based on the total value change.
283
+
284
+ ```tsx
285
+ function DigitTransitionVariants() {
286
+ const price = 12345.67;
287
+ return (
288
+ <VStack gap={2}>
289
+ <Text font="label1">Every variant (default)</Text>
290
+ <RollingNumber
291
+ colorPulseOnUpdate
292
+ digitTransitionVariant="every"
293
+ font="display3"
294
+ format={{ style: 'currency', currency: 'USD' }}
295
+ value={price}
296
+ />
297
+ <Text font="label1">Single variant</Text>
298
+ <RollingNumber
299
+ colorPulseOnUpdate
300
+ digitTransitionVariant="single"
301
+ font="display3"
302
+ format={{ style: 'currency', currency: 'USD' }}
303
+ value={price}
304
+ />
305
+ </VStack>
306
+ );
307
+ }
308
+ ```
309
+
310
+ ::::tip Direction-aware animation
311
+ The single variant determines scroll direction based on the **total value change**, not individual digit changes. When the value increases, digits roll up (new digits enter from below). When the value decreases, digits roll down (new digits enter from above). This matches the behavior of the color pulse feature.
312
+ ::::
313
+
277
314
  ### Prefix and Suffix
278
315
 
279
316
  Attach text or React nodes before/after the number to create rich compositions. If the prefix/suffix is a string, it will pulse color together with the main number.
@@ -690,12 +727,13 @@ ValueSection
690
727
  | `borderTopWidth` | `0 \| 100 \| 200 \| 300 \| 400 \| 500` | No | `-` | - |
691
728
  | `borderWidth` | `0 \| 100 \| 200 \| 300 \| 400 \| 500` | No | `-` | - |
692
729
  | `bottom` | `string \| number` | No | `-` | - |
693
- | `color` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | Base text color token. When {@link colorPulseOnUpdate } is true, the color briefly pulses to a positive or negative mid color before returning to this base color. Defaults to {@code fg}. |
730
+ | `color` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `'fg'` | Base text color token. When {@link colorPulseOnUpdate } is true, the color briefly pulses to a positive or negative mid color before returning to this base color. |
694
731
  | `colorPulseOnUpdate` | `boolean` | No | `-` | Enables color pulsing on positive or negative changes. |
695
732
  | `columnGap` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
696
733
  | `dangerouslySetBackground` | `string \| OpaqueColorValue` | No | `-` | - |
697
734
  | `dangerouslySetColor` | `string \| OpaqueColorValue` | No | `-` | - |
698
735
  | `dataDetectorType` | `link \| none \| all \| email \| phoneNumber \| null` | No | `-` | Determines the types of data converted to clickable URLs in the text element. By default no data types are detected. |
736
+ | `digitTransitionVariant` | `every \| single` | No | `'every'` | Style of digit transition animation. - every: Rolls through every intermediate digit (e.g., 1→2→3→...→9). - single: Rolls directly to the new digit without showing intermediates (e.g., 1→9). |
699
737
  | `disabled` | `boolean` | No | `-` | Add disabled opacity style to text Specifies the disabled state of the text view for testing purposes. |
700
738
  | `display` | `flex \| none` | No | `-` | - |
701
739
  | `dynamicTypeRamp` | `title1 \| title2 \| title3 \| headline \| body \| caption2 \| caption1 \| footnote \| subheadline \| callout \| largeTitle` | No | `-` | The Dynamic Type scale ramp to apply to this element on iOS. |
@@ -739,7 +777,7 @@ ValueSection
739
777
  | `minimumFontScale` | `number` | No | `-` | Specifies smallest possible scale a font can reach when adjustsFontSizeToFit is enabled. (values 0.01-1.0). |
740
778
  | `mono` | `boolean` | No | `-` | Use monospace font family. |
741
779
  | `nativeID` | `string` | No | `-` | Used to reference react managed views from native code. |
742
- | `negativePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | Color token used for negative numeric changes. Defaults to {@code fgNegative}. |
780
+ | `negativePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `'fgNegative'` | Color token used for negative numeric changes. |
743
781
  | `noWrap` | `boolean` | No | `false` | Set text to be in a single line. |
744
782
  | `numberOfLines` | `number` | No | `-` | Truncates text after wrapping to a defined number of lines. Used to truncate the text with an ellipsis after computing the text layout, including line wrapping, such that the total number of lines does not exceed this number. This prop is commonly used with ellipsizeMode. |
745
783
  | `onLayout` | `((event: LayoutChangeEvent) => void)` | No | `-` | Invoked on mount and layout changes with {nativeEvent: { layout: {x, y, width, height}}}. |
@@ -758,7 +796,7 @@ ValueSection
758
796
  | `paddingX` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
759
797
  | `paddingY` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
760
798
  | `position` | `static \| relative \| fixed \| absolute \| sticky` | No | `-` | - |
761
- | `positivePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | Color token used for positive numeric changes. Defaults to {@code fgPositive}. |
799
+ | `positivePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `'fgPositive'` | Color token used for positive numeric changes. |
762
800
  | `prefix` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Content rendered before the formatted value. |
763
801
  | `ref` | `((instance: View \| null) => void) \| RefObject<View> \| null` | No | `-` | - |
764
802
  | `renderEmptyNode` | `boolean` | No | `-` | - |
@@ -770,7 +808,7 @@ ValueSection
770
808
  | `styles` | `{ root?: StyleProp<ViewStyle>; visibleContent?: StyleProp<ViewStyle>; formattedValueSection?: StyleProp<ViewStyle>; prefix?: StyleProp<ViewStyle>; suffix?: StyleProp<ViewStyle>; i18nPrefix?: StyleProp<ViewStyle>; i18nSuffix?: StyleProp<ViewStyle>; integer?: StyleProp<ViewStyle>; fraction?: StyleProp<ViewStyle>; text?: StyleProp<TextStyle>; }` | No | `-` | Style overrides applied to RollingNumber slots. |
771
809
  | `suffix` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Content rendered after the formatted value. |
772
810
  | `suppressHighlighting` | `boolean` | No | `-` | When true, no visual change is made when text is pressed down. By default, a gray oval highlights the text on press down. |
773
- | `tabularNumbers` | `boolean` | No | `false` | Activates the set of figures where numbers are all of the same size, allowing them to be easily aligned. Enables tabular figures on the underlying {@link Text}. All digits render with equal width. Defaults to {@code true}. |
811
+ | `tabularNumbers` | `boolean` | No | `false true` | Activates the set of figures where numbers are all of the same size, allowing them to be easily aligned. Enables tabular figures on the underlying {@link Text}. All digits render with equal width. |
774
812
  | `testID` | `string` | No | `-` | Used to locate this element in unit and end-to-end tests. Used to locate this view in end-to-end tests. Used to locate this element in unit and end-to-end tests. Under the hood, testID translates to data-testid on Web. On Mobile, testID stays the same - testID |
775
813
  | `textAlign` | `left \| right \| auto \| center \| justify` | No | `-` | - |
776
814
  | `textBreakStrategy` | `simple \| highQuality \| balanced` | No | `-` | Set text break strategy on Android API Level 23+ default is highQuality. |
@@ -248,6 +248,7 @@ function Example() {
248
248
  format={{ style: 'currency', currency: 'USD' }}
249
249
  transition={{
250
250
  color: { duration: 0.3, ease: 'easeInOut' },
251
+ opacity: { duration: 0.3, ease: 'easeInOut' },
251
252
  y: { duration: 0.3, ease: 'easeIn' },
252
253
  }}
253
254
  value={price}
@@ -260,6 +261,7 @@ function Example() {
260
261
  format={{ style: 'currency', currency: 'USD' }}
261
262
  transition={{
262
263
  color: { duration: 1.2, ease: 'easeInOut' },
264
+ opacity: { duration: 1.2, ease: 'easeInOut' },
263
265
  y: { duration: 1.2, ease: 'easeIn' },
264
266
  }}
265
267
  value={price}
@@ -284,8 +286,9 @@ function Example() {
284
286
  font="title1"
285
287
  format={{ style: 'currency', currency: 'USD' }}
286
288
  transition={{
287
- y: { duration: 0.1, ease: 'easeIn' },
288
289
  color: { duration: 1.2, ease: 'easeInOut' },
290
+ opacity: { duration: 0.1, ease: 'easeInOut' },
291
+ y: { duration: 0.1, ease: 'easeIn' },
289
292
  }}
290
293
  value={price}
291
294
  />
@@ -298,6 +301,7 @@ function Example() {
298
301
  font="title1"
299
302
  format={{ style: 'currency', currency: 'USD' }}
300
303
  transition={{
304
+ opacity: { duration: 2, ease: 'easeInOut' },
301
305
  y: {
302
306
  type: 'spring',
303
307
  stiffness: 1000,
@@ -316,8 +320,9 @@ function Example() {
316
320
  font="title1"
317
321
  format={{ style: 'currency', currency: 'USD' }}
318
322
  transition={{
319
- y: { duration: 0.25, ease: 'easeOut' },
320
323
  color: { duration: 0.5, ease: 'easeInOut' },
324
+ opacity: { duration: 0.5, ease: 'easeInOut' },
325
+ y: { duration: 0.25, ease: 'easeOut' },
321
326
  }}
322
327
  value={price}
323
328
  />
@@ -329,6 +334,108 @@ function Example() {
329
334
  }
330
335
  ```
331
336
 
337
+ ### Digit Transition Variants
338
+
339
+ RollingNumber supports two digit transition styles via the `digitTransitionVariant` prop:
340
+
341
+ - **`'every'`** (default): Rolls through every intermediate digit (e.g., 1→2→3→...→9).
342
+ - **`'single'`**: Rolls directly to the new digit without showing intermediates. Direction (up/down) is based on the total value change.
343
+
344
+ ```tsx live
345
+ function Example() {
346
+ const [price, setPrice] = React.useState(12345.67);
347
+ const [variant, setVariant] = React.useState<'every' | 'single'>('single');
348
+
349
+ const onIncrease = () => setPrice((p) => Math.round((p + Math.random() * 500 + 100) * 100) / 100);
350
+ const onDecrease = () =>
351
+ setPrice((p) => Math.max(0, Math.round((p - Math.random() * 500 - 100) * 100) / 100));
352
+ const onRandom = () =>
353
+ setPrice((p) => {
354
+ const delta = (Math.random() - 0.5) * 1000;
355
+ return Math.max(0, Math.round((p + delta) * 100) / 100);
356
+ });
357
+
358
+ return (
359
+ <VStack gap={2}>
360
+ <Text as="p" display="block" font="label1">
361
+ Digit transition variant: <strong>{variant}</strong>
362
+ </Text>
363
+ <RollingNumber
364
+ digitTransitionVariant={variant}
365
+ font="display1"
366
+ format={{ style: 'currency', currency: 'USD' }}
367
+ value={price}
368
+ />
369
+ <HStack gap={2}>
370
+ <Button onClick={onIncrease}>Increase</Button>
371
+ <Button onClick={onDecrease}>Decrease</Button>
372
+ <Button onClick={onRandom}>Random</Button>
373
+ </HStack>
374
+ <HStack gap={2}>
375
+ <Button
376
+ variant={variant === 'every' ? 'primary' : 'secondary'}
377
+ onClick={() => setVariant('every')}
378
+ >
379
+ Every
380
+ </Button>
381
+ <Button
382
+ variant={variant === 'single' ? 'primary' : 'secondary'}
383
+ onClick={() => setVariant('single')}
384
+ >
385
+ Single
386
+ </Button>
387
+ </HStack>
388
+ </VStack>
389
+ );
390
+ }
391
+ ```
392
+
393
+ #### Variant comparison
394
+
395
+ ```tsx live
396
+ function Example() {
397
+ const [price, setPrice] = React.useState(98765.43);
398
+
399
+ const onNext = () =>
400
+ setPrice((p) => {
401
+ const delta = (Math.random() - 0.5) * 2000;
402
+ return Math.max(0, Math.round((p + delta) * 100) / 100);
403
+ });
404
+
405
+ return (
406
+ <VStack gap={2}>
407
+ <Text as="p" display="block" font="label1">
408
+ Every variant (default)
409
+ </Text>
410
+ <RollingNumber
411
+ colorPulseOnUpdate
412
+ digitTransitionVariant="every"
413
+ font="display3"
414
+ format={{ style: 'currency', currency: 'USD' }}
415
+ value={price}
416
+ />
417
+ <Text as="p" display="block" font="label1">
418
+ Single variant
419
+ </Text>
420
+ <RollingNumber
421
+ colorPulseOnUpdate
422
+ digitTransitionVariant="single"
423
+ font="display3"
424
+ format={{ style: 'currency', currency: 'USD' }}
425
+ value={price}
426
+ />
427
+ <Button alignSelf="flex-start" onClick={onNext}>
428
+ Random Change
429
+ </Button>
430
+ </VStack>
431
+ );
432
+ }
433
+ ```
434
+
435
+ ::::tip Direction-aware animation
436
+ The single variant determines scroll direction based on the **total value change**, not individual digit changes. When the value increases, digits roll up (new digits enter from below). When the value decreases, digits roll down (new digits enter from above). This matches the behavior of the color pulse feature.
437
+ ::::
438
+
332
439
  ### Prefix and Suffix
333
440
 
334
441
  Attach text or React nodes before/after the number to create rich compositions. If the prefix/suffix is a string, it will pulse color together with the main number.
@@ -903,7 +1010,7 @@ ValueSection
903
1010
  | `alignContent` | `ResponsiveProp<center \| normal \| start \| end \| flex-start \| flex-end \| stretch \| baseline \| first baseline \| last baseline \| space-between \| space-around \| space-evenly>` | No | `-` | - |
904
1011
  | `alignItems` | `ResponsiveProp<center \| normal \| start \| end \| flex-start \| flex-end \| self-start \| self-end \| stretch \| baseline \| first baseline \| last baseline>` | No | `-` | - |
905
1012
  | `alignSelf` | `ResponsiveProp<center \| normal \| auto \| start \| end \| flex-start \| flex-end \| self-start \| self-end \| stretch \| baseline \| first baseline \| last baseline>` | No | `-` | - |
906
- | `ariaLive` | `off \| assertive \| polite` | No | `-` | aria-live politeness level. Defaults to {@code polite}. |
1013
+ | `ariaLive` | `off \| assertive \| polite` | No | `'polite'` | aria-live politeness level. |
907
1014
  | `as` | `symbol \| object \| style \| div \| a \| abbr \| address \| area \| article \| aside \| audio \| b \| base \| bdi \| bdo \| big \| blockquote \| body \| br \| button \| canvas \| caption \| center \| cite \| code \| col \| colgroup \| data \| datalist \| dd \| del \| details \| dfn \| dialog \| dl \| dt \| em \| embed \| fieldset \| figcaption \| figure \| footer \| form \| h1 \| h2 \| h3 \| h4 \| h5 \| h6 \| head \| header \| hgroup \| hr \| html \| i \| iframe \| img \| input \| ins \| kbd \| keygen \| label \| legend \| li \| link \| main \| map \| mark \| menu \| menuitem \| meta \| meter \| nav \| noindex \| noscript \| ol \| optgroup \| option \| output \| p \| param \| picture \| pre \| progress \| q \| rp \| rt \| ruby \| s \| samp \| search \| slot \| script \| section \| select \| small \| source \| span \| strong \| sub \| summary \| sup \| table \| template \| tbody \| td \| textarea \| tfoot \| th \| thead \| time \| title \| tr \| track \| u \| ul \| var \| video \| wbr \| webview \| svg \| animate \| animateMotion \| animateTransform \| circle \| clipPath \| defs \| desc \| ellipse \| feBlend \| feColorMatrix \| feComponentTransfer \| feComposite \| feConvolveMatrix \| feDiffuseLighting \| feDisplacementMap \| feDistantLight \| feDropShadow \| feFlood \| feFuncA \| feFuncB \| feFuncG \| feFuncR \| feGaussianBlur \| feImage \| feMerge \| feMergeNode \| feMorphology \| feOffset \| fePointLight \| feSpecularLighting \| feSpotLight \| feTile \| feTurbulence \| filter \| foreignObject \| g \| image \| line \| linearGradient \| marker \| mask \| metadata \| mpath \| path \| pattern \| polygon \| polyline \| radialGradient \| rect \| set \| stop \| switch \| text \| textPath \| tspan \| use \| view \| ComponentClass<any, any> \| FunctionComponent<any>` | No | `-` | - |
908
1015
  | `aspectRatio` | `inherit \| auto \| revert \| -moz-initial \| initial \| revert-layer \| unset` | No | `-` | - |
909
1016
  | `background` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | - |
@@ -927,11 +1034,12 @@ ValueSection
927
1034
  | `borderedVertical` | `boolean` | No | `-` | Add a border to the top and bottom sides of the box. |
928
1035
  | `bottom` | `ResponsiveProp<Bottom<string \| number>>` | No | `-` | - |
929
1036
  | `classNames` | `{ root?: string; visibleContent?: string \| undefined; formattedValueSection?: string \| undefined; prefix?: string \| undefined; suffix?: string \| undefined; i18nPrefix?: string \| undefined; i18nSuffix?: string \| undefined; integer?: string \| undefined; fraction?: string \| undefined; text?: string \| undefined; } \| undefined` | No | `-` | Class name overrides applied to RollingNumber slots. |
930
- | `color` | `((Color \| { base?: Color; phone?: Color \| undefined; tablet?: Color \| undefined; desktop?: Color \| undefined; }) & Color) \| undefined` | No | `-` | Base text color token. When {@link colorPulseOnUpdate } is true, the color briefly pulses to a positive or negative mid color before returning to this base color. Defaults to {@code fg}. |
931
- | `colorPulseOnUpdate` | `boolean` | No | `-` | Enables color pulsing on positive or negative changes. Defaults to {@code false}. |
1037
+ | `color` | `((Color \| { base?: Color; phone?: Color \| undefined; tablet?: Color \| undefined; desktop?: Color \| undefined; }) & Color) \| undefined` | No | `'fg'` | Base text color token. When {@link colorPulseOnUpdate } is true, the color briefly pulses to a positive or negative mid color before returning to this base color. |
1038
+ | `colorPulseOnUpdate` | `boolean` | No | `-` | Enables color pulsing on positive or negative changes. |
932
1039
  | `columnGap` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
933
1040
  | `dangerouslySetBackground` | `string` | No | `-` | - |
934
1041
  | `dangerouslySetColor` | `string` | No | `-` | - |
1042
+ | `digitTransitionVariant` | `every \| single` | No | `'every'` | Style of digit transition animation. - every: Rolls through every intermediate digit (e.g., 1→2→3→...→9). - single: Rolls directly to the new digit without showing intermediates (e.g., 1→9). |
935
1043
  | `disabled` | `boolean` | No | `-` | - |
936
1044
  | `display` | `ResponsiveProp<grid \| revert \| none \| block \| inline \| inline-block \| flex \| inline-flex \| inline-grid \| contents \| flow-root \| list-item>` | No | `-` | - |
937
1045
  | `elevation` | `0 \| 1 \| 2` | No | `-` | - |
@@ -980,7 +1088,7 @@ ValueSection
980
1088
  | `minHeight` | `ResponsiveProp<MinHeight<string \| number>>` | No | `-` | - |
981
1089
  | `minWidth` | `ResponsiveProp<MinWidth<string \| number>>` | No | `-` | - |
982
1090
  | `mono` | `boolean` | No | `-` | Use monospace font family. |
983
- | `negativePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | Color token used for negative numeric changes. Defaults to {@code fgNegative}. |
1091
+ | `negativePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `'fgNegative'` | Color token used for negative numeric changes. |
984
1092
  | `noWrap` | `boolean` | No | `false` | Set text to be in a single line. |
985
1093
  | `numberOfLines` | `number` | No | `-` | - |
986
1094
  | `opacity` | `inherit \| revert \| -moz-initial \| initial \| revert-layer \| unset` | No | `-` | - |
@@ -994,7 +1102,7 @@ ValueSection
994
1102
  | `paddingY` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
995
1103
  | `pin` | `top \| bottom \| left \| right \| all` | No | `-` | Direction in which to absolutely pin the box. |
996
1104
  | `position` | `ResponsiveProp<fixed \| static \| relative \| absolute \| sticky>` | No | `-` | - |
997
- | `positivePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `-` | Color token used for positive numeric changes. Defaults to {@code fgPositive}. |
1105
+ | `positivePulseColor` | `currentColor \| fg \| fgMuted \| fgInverse \| fgPrimary \| fgWarning \| fgPositive \| fgNegative \| bg \| bgAlternate \| bgInverse \| bgOverlay \| bgElevation1 \| bgElevation2 \| bgPrimary \| bgPrimaryWash \| bgSecondary \| bgTertiary \| bgSecondaryWash \| bgNegative \| bgNegativeWash \| bgPositive \| bgPositiveWash \| bgWarning \| bgWarningWash \| bgLine \| bgLineHeavy \| bgLineInverse \| bgLinePrimary \| bgLinePrimarySubtle \| accentSubtleRed \| accentBoldRed \| accentSubtleGreen \| accentBoldGreen \| accentSubtleBlue \| accentBoldBlue \| accentSubtlePurple \| accentBoldPurple \| accentSubtleYellow \| accentBoldYellow \| accentSubtleGray \| accentBoldGray \| transparent` | No | `'fgPositive'` | Color token used for positive numeric changes. |
998
1106
  | `prefix` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Content rendered before the formatted value. |
999
1107
  | `ref` | `any` | No | `-` | - |
1000
1108
  | `renderEmptyNode` | `boolean` | No | `-` | - |
@@ -1004,7 +1112,7 @@ ValueSection
1004
1112
  | `style` | `CSSProperties` | No | `-` | - |
1005
1113
  | `styles` | `{ root?: CSSProperties; visibleContent?: CSSProperties \| undefined; formattedValueSection?: CSSProperties \| undefined; prefix?: CSSProperties \| undefined; suffix?: CSSProperties \| undefined; i18nPrefix?: CSSProperties \| undefined; i18nSuffix?: CSSProperties \| undefined; integer?: CSSProperties \| undefined; fraction?: CSSProperties \| undefined; text?: CSSProperties \| undefined; } \| undefined` | No | `-` | Inline style overrides applied to RollingNumber slots. |
1006
1114
  | `suffix` | `null \| string \| number \| false \| true \| ReactElement<any, string \| JSXElementConstructor<any>> \| Iterable<ReactNode> \| ReactPortal` | No | `-` | Content rendered after the formatted value. |
1007
- | `tabularNumbers` | `boolean` | No | `false` | Activates the set of figures where numbers are all of the same size, allowing them to be easily aligned. Enables tabular figures on the underlying {@link Text}. Defaults to {@code true}. |
1115
+ | `tabularNumbers` | `boolean` | No | `false true` | Activates the set of figures where numbers are all of the same size, allowing them to be easily aligned. Enables tabular figures on the underlying {@link Text}. |
1008
1116
  | `testID` | `string` | No | `-` | Used to locate this element in unit and end-to-end tests. Under the hood, testID translates to data-testid on Web. On Mobile, testID stays the same - testID |
1009
1117
  | `textAlign` | `ResponsiveProp<center \| start \| end \| justify>` | No | `-` | - |
1010
1118
  | `textDecoration` | `ResponsiveProp<none \| underline \| overline \| line-through \| underline overline \| underline double>` | No | `-` | - |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mcp-server",
3
- "version": "8.32.2",
3
+ "version": "8.33.0",
4
4
  "description": "Coinbase Design System - MCP Server",
5
5
  "repository": {
6
6
  "type": "git",