@coinbase/cds-mcp-server 8.44.2 → 8.45.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,10 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.45.0 ((2/12/2026, 07:33 AM PST))
12
+
13
+ This is an artificial version bump with no new change.
14
+
11
15
  ## 8.44.2 ((2/10/2026, 08:38 AM PST))
12
16
 
13
17
  This is an artificial version bump with no new change.
@@ -298,6 +298,7 @@ function SelectChipExample() {
298
298
  | `presentationStyle` | `fullScreen \| pageSheet \| formSheet \| overFullScreen` | No | `-` | The presentationStyle determines the style of modal to show |
299
299
  | `preventDismissGestures` | `boolean` | No | `-` | Prevents a user from dismissing the drawer by pressing the overlay or swiping |
300
300
  | `preventHardwareBackBehaviorAndroid` | `boolean` | No | `-` | Prevents a user from dismissing the drawer by pressing hardware back button on Android |
301
+ | `reduceMotion` | `boolean` | No | `-` | When true, the drawer opens and closes with an opacity fade instead of a slide animation. Swipe-to-dismiss gestures remain enabled and use the slide transform so the drawer follows the users finger naturally. |
301
302
  | `ref` | `((instance: View \| null) => void) \| RefObject<View> \| null` | No | `-` | - |
302
303
  | `right` | `string \| number` | No | `-` | - |
303
304
  | `rowGap` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
@@ -382,8 +382,33 @@ function PreventDismissTray() {
382
382
 
383
383
  ### Accessibility
384
384
 
385
+ #### Accessibility labels
386
+
385
387
  Trays require an accessibility label. If you pass in a ReactNode to `title`, make sure to set `accessibilityLabel`.
386
388
 
389
+ #### Reduce Motion
390
+
391
+ Use the `reduceMotion` prop to accommodate users with reduced motion settings.
392
+
393
+ ```jsx
394
+ function ReducedMotionTray() {
395
+ const [visible, setVisible] = useState(false);
396
+ const handleOpen = () => setVisible(true);
397
+ const handleClose = () => setVisible(false);
398
+
399
+ return (
400
+ <VStack gap={2}>
401
+ <Button onPress={handleOpen}>Open Tray</Button>
402
+ {visible && (
403
+ <Tray reduceMotion onCloseComplete={handleClose} title="Reduced Motion">
404
+ <Text color="fgMuted">This tray fades in and out using opacity.</Text>
405
+ </Tray>
406
+ )}
407
+ </VStack>
408
+ );
409
+ }
410
+ ```
411
+
387
412
  ### Styling
388
413
 
389
414
  #### Handlebar
@@ -824,6 +849,7 @@ function Example() {
824
849
  | `presentationStyle` | `fullScreen \| pageSheet \| formSheet \| overFullScreen` | No | `-` | The presentationStyle determines the style of modal to show |
825
850
  | `preventDismissGestures` | `boolean` | No | `-` | Prevents a user from dismissing the drawer by pressing the overlay or swiping |
826
851
  | `preventHardwareBackBehaviorAndroid` | `boolean` | No | `-` | Prevents a user from dismissing the drawer by pressing hardware back button on Android |
852
+ | `reduceMotion` | `boolean` | No | `-` | When true, the drawer opens and closes with an opacity fade instead of a slide animation. Swipe-to-dismiss gestures remain enabled and use the slide transform so the drawer follows the users finger naturally. |
827
853
  | `ref` | `((instance: DrawerRefBaseProps \| null) => void) \| RefObject<DrawerRefBaseProps> \| null` | No | `-` | - |
828
854
  | `statusBarTranslucent` | `boolean` | No | `-` | Determines whether your modal should go under the system statusbar. |
829
855
  | `stickyFooter` | `ReactNode \| DrawerRenderChildren` | No | `-` | StickyFooter to be rendered at bottom of Drawer |
@@ -453,8 +453,51 @@ function PreventDismissTray() {
453
453
 
454
454
  ### Accessibility
455
455
 
456
+ #### Accessibility labels
457
+
456
458
  Trays require an accessibility label. If you pass in a ReactNode to `title`, make sure to set `accessibilityLabel` or `accessibilityLabelledBy`.
457
459
 
460
+ #### Reduce Motion
461
+
462
+ Use the `reduceMotion` prop to accommodate users with reduced motion settings.
463
+
464
+ ```jsx live
465
+ function ReducedMotionTray() {
466
+ const [visible, setVisible] = useState(false);
467
+ const { isPhone } = useBreakpoints();
468
+ const handleOpen = () => setVisible(true);
469
+ const handleClose = () => setVisible(false);
470
+
471
+ return (
472
+ <VStack gap={2}>
473
+ <Button onClick={handleOpen}>Open Tray</Button>
474
+ {visible && (
475
+ <Tray
476
+ reduceMotion
477
+ pin={isPhone ? 'bottom' : 'right'}
478
+ showHandleBar={isPhone}
479
+ onCloseComplete={handleClose}
480
+ title="Reduced Motion"
481
+ footer={({ handleClose }) => (
482
+ <PageFooter
483
+ borderedTop
484
+ justifyContent={isPhone ? 'center' : 'flex-end'}
485
+ action={
486
+ <Button block={isPhone} onClick={handleClose}>
487
+ Close
488
+ </Button>
489
+ }
490
+ />
491
+ )}
492
+ >
493
+ <Text paddingBottom={2}>This tray fades in and out using opacity.</Text>
494
+ </Tray>
495
+ )}
496
+ </VStack>
497
+ );
498
+ }
499
+ ```
500
+
458
501
  ### Styling
459
502
 
460
503
  The Tray component exposes `styles` and `classNames` props for customizing various parts of the component. Available keys include: `root`, `overlay`, `container`, `header`, `title`, `content`, `footer`, `handleBar`, `handleBarHandle`, and `closeButton`.
@@ -1154,6 +1197,7 @@ function ResponsiveTrayExample() {
1154
1197
  | `onVisibilityChange` | `((context: hidden \| visible) => void)` | No | `-` | Optional callback that, if provided, will be triggered when the Tray is toggled open/ closed If used for analytics, context (visible \| hidden) can be bundled with the event info to track whether the multiselect was toggled into or out of view |
1155
1198
  | `pin` | `top \| bottom \| left \| right \| all` | No | `'bottom'` | Pin the tray to one side of the screen |
1156
1199
  | `preventDismiss` | `boolean` | No | `-` | Prevents a user from dismissing the tray by pressing the overlay or swiping |
1200
+ | `reduceMotion` | `boolean` | No | `-` | When true, the tray will use opacity animation instead of transform animation. This is useful for supporting reduced motion for accessibility. |
1157
1201
  | `ref` | `((instance: TrayRefProps \| null) => void) \| RefObject<TrayRefProps> \| null` | No | `-` | - |
1158
1202
  | `restoreFocusOnUnmount` | `boolean` | No | `true` | If true, the focus trap will restore focus to the previously focused element when it unmounts. WARNING: If you disable this, you need to ensure that focus is restored properly so it doesnt end up on the body |
1159
1203
  | `role` | `dialog \| alertdialog` | No | `-` | WAI-ARIA Roles |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mcp-server",
3
- "version": "8.44.2",
3
+ "version": "8.45.0",
4
4
  "description": "Coinbase Design System - MCP Server",
5
5
  "repository": {
6
6
  "type": "git",