@coinbase/cds-mobile 8.33.1 → 8.34.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,12 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.34.0 (12/19/2025 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Feat: support compact SlideButtons. [[#264](https://github.com/coinbase/cds/pull/264)]
16
+
11
17
  ## 8.33.1 (12/19/2025 PST)
12
18
 
13
19
  #### 🐞 Fixes
@@ -12,7 +12,7 @@ export declare const DefaultSlideButtonBackground: React.MemoExoticComponent<
12
12
  React.ForwardRefExoticComponent<
13
13
  Pick<
14
14
  import('./SlideButton').SlideButtonBaseProps,
15
- 'borderRadius' | 'disabled' | 'checked' | 'variant' | 'uncheckedLabel'
15
+ 'borderRadius' | 'disabled' | 'checked' | 'variant' | 'compact' | 'uncheckedLabel'
16
16
  > & {
17
17
  progress: import('@react-spring/core').SpringValue<number>;
18
18
  style?: import('react-native').StyleProp<import('react-native').ViewStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSlideButtonBackground.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAQhD,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;+BAqCxC,CAAC"}
1
+ {"version":3,"file":"DefaultSlideButtonBackground.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAQhD,eAAO,MAAM,MAAM;;;;;;;CAOjB,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;+BA2CxC,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import type { View } from 'react-native';
3
- import type { ButtonProps } from './Button';
3
+ import type { SlideButtonBaseProps } from './SlideButton';
4
4
  export declare const animationConfig: {
5
5
  readonly tension: 300;
6
6
  readonly clamp: true;
7
7
  };
8
- export type SlideButtonHandleCheckedProps = Pick<ButtonProps, 'variant'> & {
8
+ export type SlideButtonHandleCheckedProps = Pick<SlideButtonBaseProps, 'variant' | 'compact'> & {
9
9
  label?: React.ReactNode;
10
10
  end?: React.ReactNode;
11
11
  disabled?: boolean;
@@ -13,7 +13,7 @@ export type SlideButtonHandleCheckedProps = Pick<ButtonProps, 'variant'> & {
13
13
  export type SlideButtonHandleCheckedComponent = (
14
14
  props: SlideButtonHandleCheckedProps,
15
15
  ) => React.ReactElement | null;
16
- export type SlideButtonHandleUncheckedProps = Pick<ButtonProps, 'variant'> & {
16
+ export type SlideButtonHandleUncheckedProps = Pick<SlideButtonBaseProps, 'variant' | 'compact'> & {
17
17
  disabled?: boolean;
18
18
  start?: React.ReactNode;
19
19
  };
@@ -38,10 +38,14 @@ export declare const styles: {
38
38
  };
39
39
  };
40
40
  export declare const SlideButtonHandleChecked: React.MemoExoticComponent<
41
- ({ label, end }: SlideButtonHandleCheckedProps) => import('react/jsx-runtime').JSX.Element
41
+ ({
42
+ label,
43
+ end,
44
+ compact,
45
+ }: SlideButtonHandleCheckedProps) => import('react/jsx-runtime').JSX.Element
42
46
  >;
43
47
  export declare const SlideButtonHandleUnchecked: React.MemoExoticComponent<
44
- ({ start }: SlideButtonHandleUncheckedProps) => import('react/jsx-runtime').JSX.Element
48
+ ({ start, compact }: SlideButtonHandleUncheckedProps) => import('react/jsx-runtime').JSX.Element
45
49
  >;
46
50
  export declare const DefaultSlideButtonHandle: React.MemoExoticComponent<
47
51
  React.ForwardRefExoticComponent<
@@ -58,10 +62,11 @@ export declare const DefaultSlideButtonHandle: React.MemoExoticComponent<
58
62
  disableDebounce?: boolean;
59
63
  } & import('react-native').PressableProps &
60
64
  Pick<
61
- import('./SlideButton').SlideButtonBaseProps,
65
+ SlideButtonBaseProps,
62
66
  | 'disabled'
63
67
  | 'checked'
64
68
  | 'variant'
69
+ | 'compact'
65
70
  | 'checkedLabel'
66
71
  | 'startUncheckedNode'
67
72
  | 'endCheckedNode'
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSlideButtonHandle.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAiBzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,eAAO,MAAM,eAAe;;;CAAgE,CAAC;AAE7F,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IACzE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAC9C,KAAK,EAAE,6BAA6B,KACjC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,CAChD,KAAK,EAAE,+BAA+B,KACnC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAgBjB,CAAC;AAEH,eAAO,MAAM,wBAAwB,6CAAyB,6BAA6B,6CAWzF,CAAC;AAEH,eAAO,MAAM,0BAA0B,wCAAoB,+BAA+B,6CAMxF,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;+BA4EpC,CAAC"}
1
+ {"version":3,"file":"DefaultSlideButtonHandle.d.ts","sourceRoot":"","sources":["../../src/buttons/DefaultSlideButtonHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAiBzC,OAAO,KAAK,EAAE,oBAAoB,EAA0B,MAAM,eAAe,CAAC;AAElF,eAAO,MAAM,eAAe;;;CAAgE,CAAC;AAE7F,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAC9F,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,CAC9C,KAAK,EAAE,6BAA6B,KACjC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG,CAChD,KAAK,EAAE,+BAA+B,KACnC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAgBjB,CAAC;AAEH,eAAO,MAAM,wBAAwB,sDACT,6BAA6B,6CAmBxD,CAAC;AAEF,eAAO,MAAM,0BAA0B,iDAChB,+BAA+B,6CAgBrD,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;+BA+EpC,CAAC"}
@@ -6,7 +6,7 @@ import type { PressableProps } from '../system/Pressable';
6
6
  export declare const slideButtonTestID = 'slide-button';
7
7
  export type SlideButtonBackgroundProps = Pick<
8
8
  SlideButtonBaseProps,
9
- 'borderRadius' | 'checked' | 'disabled' | 'uncheckedLabel' | 'variant'
9
+ 'borderRadius' | 'checked' | 'compact' | 'disabled' | 'uncheckedLabel' | 'variant'
10
10
  > & {
11
11
  progress: SpringValue<number>;
12
12
  style?: StyleProp<ViewStyle>;
@@ -14,7 +14,13 @@ export type SlideButtonBackgroundProps = Pick<
14
14
  export type SlideButtonHandleProps = PressableProps &
15
15
  Pick<
16
16
  SlideButtonBaseProps,
17
- 'checked' | 'checkedLabel' | 'disabled' | 'startUncheckedNode' | 'endCheckedNode' | 'variant'
17
+ | 'checked'
18
+ | 'checkedLabel'
19
+ | 'compact'
20
+ | 'disabled'
21
+ | 'startUncheckedNode'
22
+ | 'endCheckedNode'
23
+ | 'variant'
18
24
  > & {
19
25
  progress: SpringValue<number>;
20
26
  style?: StyleProp<ViewStyle>;
@@ -65,6 +71,10 @@ export type SlideButtonBaseProps = Omit<PressableProps, 'loading'> & {
65
71
  * When true, prevents gesture events from firing.
66
72
  */
67
73
  disabled?: boolean;
74
+ /**
75
+ * Reduces the height, borderRadius and inner padding within the button.
76
+ */
77
+ compact?: boolean;
68
78
  /**
69
79
  * Height of the entire button component (background and handle).
70
80
  * If you pass a custom SlideButtonBackgroundComponent or SlideButtonHandleComponent,
@@ -172,6 +182,10 @@ export declare const SlideButton: React.MemoExoticComponent<
172
182
  * When true, prevents gesture events from firing.
173
183
  */
174
184
  disabled?: boolean;
185
+ /**
186
+ * Reduces the height, borderRadius and inner padding within the button.
187
+ */
188
+ compact?: boolean;
175
189
  /**
176
190
  * Height of the entire button component (background and handle).
177
191
  * If you pass a custom SlideButtonBackgroundComponent or SlideButtonHandleComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"SlideButton.d.ts","sourceRoot":"","sources":["../../src/buttons/SlideButton.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlideButton.d.ts","sourceRoot":"","sources":["../../src/buttons/SlideButton.tsx"],"names":[],"mappings":"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"}
@@ -17,10 +17,12 @@ export const DefaultSlideButtonBackground = /*#__PURE__*/memo(/*#__PURE__*/forwa
17
17
  progress,
18
18
  uncheckedLabel,
19
19
  disabled,
20
+ compact,
20
21
  style,
21
- borderRadius = 900
22
+ borderRadius
22
23
  } = _ref;
23
24
  const theme = useTheme();
25
+ const horizontalPadding = compact ? 7 : 9;
24
26
  const containerStyle = useMemo(() => [styles.base, {
25
27
  backgroundColor: theme.color.bgSecondary,
26
28
  borderRadius
@@ -36,8 +38,8 @@ export const DefaultSlideButtonBackground = /*#__PURE__*/memo(/*#__PURE__*/forwa
36
38
  style: animatedStyle,
37
39
  children: typeof uncheckedLabel !== 'string' ? uncheckedLabel : /*#__PURE__*/_jsx(TextHeadline, {
38
40
  numberOfLines: 1,
39
- paddingEnd: 9,
40
- paddingStart: 9,
41
+ paddingEnd: horizontalPadding,
42
+ paddingStart: horizontalPadding,
41
43
  children: uncheckedLabel
42
44
  })
43
45
  })
@@ -1,4 +1,4 @@
1
- const _excluded = ["checked", "disabled", "style", "variant", "startUncheckedNode", "endCheckedNode", "checkedLabel", "borderRadius"];
1
+ const _excluded = ["checked", "compact", "disabled", "style", "variant", "startUncheckedNode", "endCheckedNode", "checkedLabel", "borderRadius"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
4
  import React, { forwardRef, memo, useMemo } from 'react';
@@ -36,9 +36,11 @@ export const styles = StyleSheet.create({
36
36
  export const SlideButtonHandleChecked = /*#__PURE__*/memo(_ref => {
37
37
  let {
38
38
  label,
39
- end
39
+ end,
40
+ compact
40
41
  } = _ref;
41
42
  const theme = useTheme();
43
+ const handleWidth = compact ? 40 : 56;
42
44
  return /*#__PURE__*/_jsxs(Box, {
43
45
  alignItems: "center",
44
46
  height: "100%",
@@ -49,9 +51,10 @@ export const SlideButtonHandleChecked = /*#__PURE__*/memo(_ref => {
49
51
  children: label
50
52
  }), /*#__PURE__*/_jsx(Box, {
51
53
  alignItems: "center",
54
+ height: "100%",
52
55
  justifyContent: "center",
53
- padding: 2,
54
56
  pin: "right",
57
+ width: handleWidth,
55
58
  children: end != null ? end : /*#__PURE__*/_jsx(Spinner, {
56
59
  color: theme.color.fgInverse,
57
60
  size: "small"
@@ -61,30 +64,35 @@ export const SlideButtonHandleChecked = /*#__PURE__*/memo(_ref => {
61
64
  });
62
65
  export const SlideButtonHandleUnchecked = /*#__PURE__*/memo(_ref2 => {
63
66
  let {
64
- start
67
+ start,
68
+ compact
65
69
  } = _ref2;
70
+ const iconSize = compact ? 's' : 'm';
71
+ const handleWidth = compact ? 40 : 56;
66
72
  return /*#__PURE__*/_jsx(Box, {
67
73
  alignItems: "center",
74
+ height: "100%",
68
75
  justifyContent: "center",
69
- padding: 2,
70
76
  pin: "right",
77
+ width: handleWidth,
71
78
  children: start != null ? start : /*#__PURE__*/_jsx(Icon, {
72
79
  color: "fgInverse",
73
80
  name: "forwardArrow",
74
- size: "m"
81
+ size: iconSize
75
82
  })
76
83
  });
77
84
  });
78
85
  export const DefaultSlideButtonHandle = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref3, ref) => {
79
86
  let {
80
87
  checked,
88
+ compact,
81
89
  disabled,
82
90
  style,
83
91
  variant = 'primary',
84
92
  startUncheckedNode,
85
93
  endCheckedNode,
86
94
  checkedLabel,
87
- borderRadius = 900
95
+ borderRadius
88
96
  } = _ref3,
89
97
  props = _objectWithoutPropertiesLoose(_ref3, _excluded);
90
98
  const backgroundColor = variants[variant].background;
@@ -121,6 +129,7 @@ export const DefaultSlideButtonHandle = /*#__PURE__*/memo(/*#__PURE__*/forwardRe
121
129
  children: [/*#__PURE__*/_jsx(animated.View, {
122
130
  style: animatedCheckedStyle,
123
131
  children: /*#__PURE__*/_jsx(SlideButtonHandleChecked, {
132
+ compact: compact,
124
133
  disabled: disabled,
125
134
  end: endCheckedNode,
126
135
  label: checkedLabel,
@@ -129,6 +138,7 @@ export const DefaultSlideButtonHandle = /*#__PURE__*/memo(/*#__PURE__*/forwardRe
129
138
  }), /*#__PURE__*/_jsx(animated.View, {
130
139
  style: animatedUncheckedStyle,
131
140
  children: /*#__PURE__*/_jsx(SlideButtonHandleUnchecked, {
141
+ compact: compact,
132
142
  disabled: disabled,
133
143
  start: startUncheckedNode,
134
144
  variant: variant
@@ -1,4 +1,4 @@
1
- const _excluded = ["borderRadius", "checked", "uncheckedLabel", "checkedLabel", "onSlideStart", "onSlideCancel", "onSlideEnd", "onSlideComplete", "onChange", "disabled", "height", "checkThreshold", "SlideButtonHandleComponent", "SlideButtonBackgroundComponent", "styles", "testID", "autoCompleteSlideOnThresholdMet", "variant", "startUncheckedNode", "endCheckedNode"];
1
+ const _excluded = ["checked", "compact", "borderRadius", "uncheckedLabel", "checkedLabel", "onSlideStart", "onSlideCancel", "onSlideEnd", "onSlideComplete", "onChange", "disabled", "height", "checkThreshold", "SlideButtonHandleComponent", "SlideButtonBackgroundComponent", "styles", "testID", "autoCompleteSlideOnThresholdMet", "variant", "startUncheckedNode", "endCheckedNode"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
4
  import React, { forwardRef, memo, useCallback, useId, useMemo } from 'react';
@@ -13,8 +13,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  export const slideButtonTestID = 'slide-button';
14
14
  export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref) => {
15
15
  let {
16
- borderRadius,
17
16
  checked,
17
+ compact,
18
+ borderRadius = compact ? 700 : 900,
18
19
  uncheckedLabel,
19
20
  checkedLabel,
20
21
  onSlideStart,
@@ -43,7 +44,7 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
43
44
  progress: checked ? 1 : 0,
44
45
  config: animationConfig
45
46
  });
46
- const buttonMinHeight = interactableHeight.regular;
47
+ const buttonMinHeight = interactableHeight[compact ? 'compact' : 'regular'];
47
48
  const buttonMinWidth = buttonMinHeight;
48
49
  const handleComplete = useCallback(() => {
49
50
  void progress.start(1);
@@ -110,6 +111,7 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
110
111
  children: [/*#__PURE__*/_jsx(SlideButtonBackgroundComponent, {
111
112
  borderRadius: borderRadius,
112
113
  checked: checked,
114
+ compact: compact,
113
115
  disabled: disabled,
114
116
  progress: progress,
115
117
  style: styles == null ? void 0 : styles.background,
@@ -130,6 +132,7 @@ export const SlideButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref)
130
132
  borderRadius: borderRadius,
131
133
  checked: checked,
132
134
  checkedLabel: checkedLabel,
135
+ compact: compact,
133
136
  disabled: disabled,
134
137
  endCheckedNode: endCheckedNode,
135
138
  onAccessibilityAction: handleAccessibilityAction,
@@ -12,7 +12,8 @@ figma.connect(SlideButton, 'https://www.figma.com/design/k5CtyJccNQUGMI5bI4lJ2g/
12
12
  Start: false,
13
13
  Middle: false,
14
14
  End: true
15
- })
15
+ }),
16
+ compact: figma.boolean('compact')
16
17
  },
17
18
  example: _ref => {
18
19
  let {
@@ -103,6 +103,12 @@ export const SlideButtonStories = () => {
103
103
  children: /*#__PURE__*/_jsx(SlideButtonExample, {
104
104
  uncheckedLabel: "Super long label that will get truncated when it exceeds the available space"
105
105
  })
106
+ }), /*#__PURE__*/_jsx(Example, {
107
+ title: "Compact & long label",
108
+ children: /*#__PURE__*/_jsx(SlideButtonExample, {
109
+ compact: true,
110
+ uncheckedLabel: "Super long label that will get truncated when it exceeds the available space"
111
+ })
106
112
  }), /*#__PURE__*/_jsx(Example, {
107
113
  title: "Auto complete slide on threshold met",
108
114
  children: /*#__PURE__*/_jsx(SlideButtonExample, {
@@ -161,6 +167,17 @@ export const SlideButtonStories = () => {
161
167
  checked: true,
162
168
  disabled: true
163
169
  })
170
+ }), /*#__PURE__*/_jsx(Example, {
171
+ title: "Compact",
172
+ children: /*#__PURE__*/_jsx(SlideButtonExample, {
173
+ compact: true
174
+ })
175
+ }), /*#__PURE__*/_jsx(Example, {
176
+ title: "Compact and disabled",
177
+ children: /*#__PURE__*/_jsx(SlideButtonExample, {
178
+ compact: true,
179
+ disabled: true
180
+ })
164
181
  }), /*#__PURE__*/_jsx(Example, {
165
182
  title: "Custom components",
166
183
  children: /*#__PURE__*/_jsx(SlideButtonExample, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mobile",
3
- "version": "8.33.1",
3
+ "version": "8.34.0",
4
4
  "description": "Coinbase Design System - Mobile",
5
5
  "repository": {
6
6
  "type": "git",
@@ -198,7 +198,7 @@
198
198
  "react-native-svg": "^14.1.0"
199
199
  },
200
200
  "dependencies": {
201
- "@coinbase/cds-common": "^8.33.1",
201
+ "@coinbase/cds-common": "^8.34.0",
202
202
  "@coinbase/cds-icons": "^5.8.0",
203
203
  "@coinbase/cds-illustrations": "^4.29.0",
204
204
  "@coinbase/cds-lottie-files": "^3.3.4",