@coinbase/cds-web 8.69.0 → 8.70.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,16 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.70.0 (5/8/2026 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Feat: support active color on Tabs. [[#669](https://github.com/coinbase/cds/pull/669)]
16
+
17
+ ## 8.69.1 ((5/6/2026, 10:08 AM PST))
18
+
19
+ This is an artificial version bump with no new change.
20
+
11
21
  ## 8.69.0 (5/5/2026 PST)
12
22
 
13
23
  #### 🚀 Updates
@@ -7,7 +7,10 @@ import type { TabComponentProps } from './Tabs';
7
7
  /** Optional dot count and a11y overrides for the default tab row. */
8
8
  export type DefaultTabLabelProps = Partial<Pick<DotCountBaseProps, 'count' | 'max'>> &
9
9
  Pick<SharedAccessibilityProps, 'accessibilityLabel'>;
10
- export type DefaultTabProps<TabId extends string = string> = Omit<PressableBaseProps, 'onClick'> &
10
+ export type DefaultTabProps<TabId extends string = string> = Omit<
11
+ PressableBaseProps,
12
+ 'onClick' | 'color'
13
+ > &
11
14
  TabComponentProps<TabId, TabValue<TabId> & DefaultTabLabelProps> & {
12
15
  /** Callback that is fired when the tab is pressed, after the active tab updates. */
13
16
  onClick?: (id: TabId) => void;
@@ -19,7 +22,7 @@ type DefaultTabComponent = <TabId extends string = string>(
19
22
  ) => React.ReactElement;
20
23
  declare const DefaultTabComponent: React.MemoExoticComponent<
21
24
  React.ForwardRefExoticComponent<
22
- Omit<PressableBaseProps, 'onClick'> &
25
+ Omit<PressableBaseProps, 'color' | 'onClick'> &
23
26
  Omit<
24
27
  TabValue<string> &
25
28
  Partial<Pick<DotCountBaseProps, 'max' | 'count'>> &
@@ -31,6 +34,12 @@ declare const DefaultTabComponent: React.MemoExoticComponent<
31
34
  className?: string;
32
35
  style?: React.CSSProperties;
33
36
  'data-rendered-tab'?: boolean;
37
+ color?: import('../styles/styleProps').ResponsiveProp<
38
+ import('@coinbase/cds-common').ThemeVars.Color
39
+ >;
40
+ activeColor?: import('../styles/styleProps').ResponsiveProp<
41
+ import('@coinbase/cds-common').ThemeVars.Color
42
+ >;
34
43
  } & {
35
44
  /** Callback that is fired when the tab is pressed, after the active tab updates. */
36
45
  onClick?: ((id: string) => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAIlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,GAClF,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;AA2BvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAC9F,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEJ,KAAK,mBAAmB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC5E,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;;IARrB,oFAAoF;+BAC3D,IAAI;4CA0EhC,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAIlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,qEAAqE;AACrE,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,GAClF,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAC;AA2BvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAC/D,kBAAkB,EAClB,SAAS,GAAG,OAAO,CACpB,GACC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEJ,KAAK,mBAAmB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACvD,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC5E,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;;;;IARrB,oFAAoF;+BAC3D,IAAI;4CA4EhC,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,CAAC"}
@@ -1,19 +1,20 @@
1
1
  import React from 'react';
2
2
  import type { ThemeVars } from '@coinbase/cds-common/core/theme';
3
3
  import { type TabValue } from '@coinbase/cds-common/tabs/useTabs';
4
+ import type { ResponsiveProp } from '../styles/styleProps';
4
5
  import { type PressableBaseProps } from '../system/Pressable';
5
6
  export type SegmentedTabBaseProps<TabId extends string = string> = PressableBaseProps &
6
7
  TabValue<TabId> & {
7
8
  /**
8
- * Text color when the SegmentedTab is active.
9
- * @default negativeForeground
9
+ * Text color when active.
10
+ * @default fgInverse
10
11
  */
11
- activeColor?: ThemeVars.Color;
12
+ activeColor?: ResponsiveProp<ThemeVars.Color>;
12
13
  /**
13
- * Text color when the SegmentedTab is inactive.
14
- * @default foreground
14
+ * Text color when inactive.
15
+ * @default fg
15
16
  */
16
- color?: ThemeVars.Color;
17
+ color?: ResponsiveProp<ThemeVars.Color>;
17
18
  };
18
19
  export type SegmentedTabProps<TabId extends string = string> = SegmentedTabBaseProps<TabId> & {
19
20
  /** Callback that is fired when the SegmentedTab is clicked. */
@@ -37,15 +38,15 @@ declare const SegmentedTabComponent: React.MemoExoticComponent<
37
38
  > &
38
39
  TabValue<string> & {
39
40
  /**
40
- * Text color when the SegmentedTab is active.
41
- * @default negativeForeground
41
+ * Text color when active.
42
+ * @default fgInverse
42
43
  */
43
- activeColor?: ThemeVars.Color;
44
+ activeColor?: ResponsiveProp<ThemeVars.Color>;
44
45
  /**
45
- * Text color when the SegmentedTab is inactive.
46
- * @default foreground
46
+ * Text color when inactive.
47
+ * @default fg
47
48
  */
48
- color?: ThemeVars.Color;
49
+ color?: ResponsiveProp<ThemeVars.Color>;
49
50
  } & {
50
51
  /** Callback that is fired when the SegmentedTab is clicked. */
51
52
  onClick?: ((id: string, event: React.MouseEvent) => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedTab.d.ts","sourceRoot":"","sources":["../../src/tabs/SegmentedTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMlE,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA8BzE,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,kBAAkB,GACnF,QAAQ,CAAC,KAAK,CAAC,GAAG;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CACzB,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAC5F,+DAA+D;IAC/D,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACxD,CAAC;AAMF,KAAK,qBAAqB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACzD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC9E,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,qBAAqB;;;;IAzBvB;;;OAGG;kBACW,SAAS,CAAC,KAAK;IAC7B;;;OAGG;YACK,SAAS,CAAC,KAAK;;IAIzB,+DAA+D;mCAClC,KAAK,CAAC,UAAU,KAAK,IAAI;4CAsGvD,CAAC;AAIF,eAAO,MAAM,YAAY,EAA4B,qBAAqB,CAAC"}
1
+ {"version":3,"file":"SegmentedTab.d.ts","sourceRoot":"","sources":["../../src/tabs/SegmentedTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAMlE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA8BzE,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,kBAAkB,GACnF,QAAQ,CAAC,KAAK,CAAC,GAAG;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;CACzC,CAAC;AAEJ,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAC5F,+DAA+D;IAC/D,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACxD,CAAC;AAMF,KAAK,qBAAqB,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACzD,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC9E,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,qBAAqB;;;;IAzBvB;;;OAGG;kBACW,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7C;;;OAGG;YACK,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;;IAIzC,+DAA+D;mCAClC,KAAK,CAAC,UAAU,KAAK,IAAI;4CAsGvD,CAAC;AAIF,eAAO,MAAM,YAAY,EAA4B,qBAAqB,CAAC"}
@@ -5,6 +5,7 @@ import { type Rect } from '@coinbase/cds-common/types/Rect';
5
5
  import { type MotionProps } from 'framer-motion';
6
6
  import { type BoxBaseProps, type BoxDefaultElement, type BoxProps } from '../layout/Box';
7
7
  import { type HStackDefaultElement, type HStackProps } from '../layout/HStack';
8
+ import type { ResponsiveProp } from '../styles/styleProps';
8
9
  export declare const tabsTransitionConfig: {
9
10
  readonly type: 'spring';
10
11
  readonly mass: 0.15;
@@ -30,6 +31,10 @@ export type TabComponentProps<
30
31
  className?: string;
31
32
  style?: React.CSSProperties;
32
33
  'data-rendered-tab'?: boolean;
34
+ /** Inactive label color (from `Tabs` when set). */
35
+ color?: ResponsiveProp<ThemeVars.Color>;
36
+ /** Active label color (from `Tabs` when set). */
37
+ activeColor?: ResponsiveProp<ThemeVars.Color>;
33
38
  };
34
39
  export type TabComponent<
35
40
  TabId extends string = string,
@@ -39,8 +44,9 @@ export type TabsActiveIndicatorComponent = React.FC<TabsActiveIndicatorProps>;
39
44
  export type TabsBaseProps<
40
45
  TabId extends string = string,
41
46
  TTab extends TabValue<TabId> = TabValue<TabId>,
42
- > = Omit<BoxBaseProps, 'onChange'> &
43
- Omit<TabsOptions<TabId, TTab>, 'tabs'> & {
47
+ > = Omit<BoxBaseProps, 'color' | 'onChange'> &
48
+ Omit<TabsOptions<TabId, TTab>, 'tabs'> &
49
+ Pick<TabComponentProps<TabId, TTab>, 'color' | 'activeColor'> & {
44
50
  /** The array of tabs data. Each tab may optionally define a custom Component to render. */
45
51
  tabs: (TTab & {
46
52
  Component?: TabComponent<TabId, TTab>;
@@ -58,7 +64,7 @@ export type TabsProps<
58
64
  TabId extends string = string,
59
65
  TTab extends TabValue<TabId> = TabValue<TabId>,
60
66
  > = TabsBaseProps<TabId, TTab> &
61
- Omit<HStackProps<HStackDefaultElement>, 'onChange' | 'ref'> & {
67
+ Omit<HStackProps<HStackDefaultElement>, 'color' | 'onChange' | 'ref'> & {
62
68
  /** Custom styles for individual elements of the Tabs component */
63
69
  styles?: {
64
70
  /** Root element */
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["id", "label", "disabled", "onClick", "count", "max", "accessibilityLabel", "className"];
1
+ const _excluded = ["id", "label", "disabled", "onClick", "count", "max", "accessibilityLabel", "className", "color", "activeColor"];
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -28,7 +28,9 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
28
28
  count,
29
29
  max,
30
30
  accessibilityLabel,
31
- className
31
+ className,
32
+ color = 'fg',
33
+ activeColor = 'fgPrimary'
32
34
  } = _ref,
33
35
  props = _objectWithoutProperties(_ref, _excluded);
34
36
  const {
@@ -60,7 +62,7 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
60
62
  children: [/*#__PURE__*/_jsx(Text, {
61
63
  as: "h2",
62
64
  className: labelPaddingCss,
63
- color: isActive ? 'fgPrimary' : 'fg',
65
+ color: isActive ? activeColor : color,
64
66
  display: "block",
65
67
  font: "headline",
66
68
  children: label
package/esm/tabs/Tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const _excluded = ["id", "registerRef"],
2
- _excluded2 = ["tabs", "TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "activeTab", "onActiveTabElementChange", "disabled", "onChange", "className", "classNames", "styles", "role", "position", "width", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "style", "testID"],
2
+ _excluded2 = ["tabs", "TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "activeColor", "activeTab", "color", "onActiveTabElementChange", "disabled", "onChange", "className", "classNames", "styles", "role", "position", "width", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "style", "testID"],
3
3
  _excluded3 = ["activeTabRect", "position", "testID"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -50,7 +50,9 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
50
50
  TabComponent = DefaultTab,
51
51
  TabsActiveIndicatorComponent = DefaultTabsActiveIndicator,
52
52
  activeBackground,
53
+ activeColor,
53
54
  activeTab,
55
+ color,
54
56
  onActiveTabElementChange,
55
57
  disabled,
56
58
  onChange,
@@ -142,6 +144,7 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
142
144
  borderTopLeftRadius: borderTopLeftRadius,
143
145
  borderTopRightRadius: borderTopRightRadius,
144
146
  className: cx(className, classNames === null || classNames === void 0 ? void 0 : classNames.root),
147
+ color: color,
145
148
  onKeyDown: handleTabsContainerKeyDown,
146
149
  opacity: disabled ? accessibleOpacityDisabled : 1,
147
150
  position: position,
@@ -166,7 +169,10 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
166
169
  }), tabs.map(props => {
167
170
  var _props$Component;
168
171
  const RenderedTab = (_props$Component = props.Component) !== null && _props$Component !== void 0 ? _props$Component : TabComponent;
169
- const renderedTabProps = _objectSpread(_objectSpread({}, props), {}, {
172
+ const renderedTabProps = _objectSpread(_objectSpread({
173
+ activeColor,
174
+ color
175
+ }, props), {}, {
170
176
  'data-rendered-tab': true,
171
177
  className: classNames === null || classNames === void 0 ? void 0 : classNames.tab,
172
178
  role: 'tab',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "8.69.0",
3
+ "version": "8.70.0",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -207,7 +207,7 @@
207
207
  "react-dom": "^18.3.1"
208
208
  },
209
209
  "dependencies": {
210
- "@coinbase/cds-common": "^8.69.0",
210
+ "@coinbase/cds-common": "^8.70.0",
211
211
  "@coinbase/cds-icons": "^5.16.0",
212
212
  "@coinbase/cds-illustrations": "^4.38.0",
213
213
  "@coinbase/cds-lottie-files": "^3.3.4",