@coinbase/cds-web 9.5.0 → 9.6.1

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
+ ## 9.6.1 ((7/7/2026, 12:21 PM PST))
12
+
13
+ This is an artificial version bump with no new change.
14
+
15
+ ## 9.6.0 (7/6/2026 PST)
16
+
17
+ #### 🚀 Updates
18
+
19
+ - Feat: add TextFallback. [[#780](https://github.com/coinbase/cds/pull/780)]
20
+
11
21
  ## 9.5.0 (6/25/2026 PST)
12
22
 
13
23
  #### 🚀 Updates
@@ -1 +1 @@
1
- {"version":3,"file":"ListCellFallback.d.ts","sourceRoot":"","sources":["../../src/cells/ListCellFallback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAsB1E,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAgD,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlG,MAAM,MAAM,yBAAyB,GAAG,WAAW,GACjD,sBAAsB,GACtB,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GACpD,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC,GAAG;IAC5E,mDAAmD;IACnD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,0DAA0D;IAC1D,UAAU,CAAC,EAAE;QACX,uDAAuD;QACvD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,yCAAyC;QACzC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,4CAA4C;QAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,8CAA8C;QAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,8CAA8C;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qDAAqD;IACrD,MAAM,CAAC,EAAE;QACP,kEAAkE;QAClE,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,4CAA4C;QAC5C,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,+CAA+C;QAC/C,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,iDAAiD;QACjD,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,2CAA2C;QAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,iDAAiD;QACjD,WAAW,CAAC,EAAE,aAAa,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,gBAAgB,6DAwM3B,CAAC"}
1
+ {"version":3,"file":"ListCellFallback.d.ts","sourceRoot":"","sources":["../../src/cells/ListCellFallback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAS1E,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAgD,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAelG,MAAM,MAAM,yBAAyB,GAAG,WAAW,GACjD,sBAAsB,GACtB,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,GACpD,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC,GAAG;IAC5E,mDAAmD;IACnD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,0DAA0D;IAC1D,UAAU,CAAC,EAAE;QACX,uDAAuD;QACvD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,yCAAyC;QACzC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,4CAA4C;QAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,8CAA8C;QAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,wCAAwC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,8CAA8C;QAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qDAAqD;IACrD,MAAM,CAAC,EAAE;QACP,kEAAkE;QAClE,UAAU,CAAC,EAAE,aAAa,CAAC;QAC3B,4CAA4C;QAC5C,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,+CAA+C;QAC/C,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,iDAAiD;QACjD,SAAS,CAAC,EAAE,aAAa,CAAC;QAC1B,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,2CAA2C;QAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,iDAAiD;QACjD,WAAW,CAAC,EAAE,aAAa,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,gBAAgB,6DAuM3B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ThemeVars } from '@coinbase/cds-common/core/theme';
2
+ import {
3
+ type FallbackBaseProps,
4
+ type fallbackDefaultElement,
5
+ type FallbackProps,
6
+ } from '../layout/Fallback';
7
+ export type TextFallbackBaseProps = Omit<FallbackBaseProps, 'height'> & {
8
+ /** Font token used to size the fallback to match text line height. */
9
+ font: ThemeVars.FontSize;
10
+ };
11
+ export type TextFallbackProps = Omit<FallbackProps<typeof fallbackDefaultElement>, 'height'> &
12
+ Pick<TextFallbackBaseProps, 'font'>;
13
+ /**
14
+ * Loading placeholder sized to match a typography font token's line height.
15
+ *
16
+ * @note Requires theme `fontSize` and `lineHeight` tokens to be length values (for example `rem` or `px`). Unitless or percentage values will not size accurately.
17
+ */
18
+ export declare const TextFallback: import('react').NamedExoticComponent<TextFallbackProps>;
19
+ //# sourceMappingURL=TextFallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextFallback.d.ts","sourceRoot":"","sources":["../../src/typography/TextFallback.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IACtE,sEAAsE;IACtE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,sBAAsB,CAAC,EAAE,QAAQ,CAAC,GAC1F,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,YAAY,yDAevB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './Link';
2
2
  export * from './Text';
3
3
  export * from './TextBody';
4
+ export * from './TextFallback';
4
5
  export * from './TextCaption';
5
6
  export * from './TextDisplay1';
6
7
  export * from './TextDisplay2';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typography/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typography/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
@@ -8,15 +8,15 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
8
8
  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; }
9
9
  import { memo, useMemo } from 'react';
10
10
  import { getRectWidthVariant } from '@coinbase/cds-common/utils/getRectWidthVariant';
11
- import { Fallback } from '../layout/Fallback';
12
- import { VStack } from '../layout/VStack';
13
- const visuallyHiddenCss = "visuallyHiddenCss-vzen5l";
14
11
  import { useComponentConfig } from '../hooks/useComponentConfig';
12
+ import { VStack } from '../layout/VStack';
13
+ import { TextFallback } from '../typography/TextFallback';
15
14
  import { Cell } from './Cell';
16
15
  import { CellAccessory } from './CellAccessory';
17
16
  import { condensedInnerSpacing, condensedOuterSpacing } from './ListCell';
18
17
  import { MediaFallback } from './MediaFallback';
19
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
+ const visuallyHiddenCss = "visuallyHiddenCss-vzen5l";
20
20
  export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_props) {
21
21
  const mergedProps = useComponentConfig('ListCellFallback', _props);
22
22
  const {
@@ -46,12 +46,12 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
46
46
  if (!helperText) {
47
47
  return null;
48
48
  }
49
- return /*#__PURE__*/_jsx(Fallback, {
49
+ return /*#__PURE__*/_jsx(TextFallback, {
50
50
  "aria-hidden": true,
51
- percentage: true,
52
51
  className: classNames === null || classNames === void 0 ? void 0 : classNames.helperText,
53
52
  disableRandomRectWidth: disableRandomRectWidth,
54
- height: 22,
53
+ font: "body",
54
+ percentage: true,
55
55
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 4),
56
56
  style: styles === null || styles === void 0 ? void 0 : styles.helperText,
57
57
  testID: "list-cell-fallback-helper-text",
@@ -64,28 +64,26 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
64
64
  }
65
65
  return /*#__PURE__*/_jsxs(VStack, {
66
66
  alignItems: "flex-end",
67
- className: classNames === null || classNames === void 0 ? void 0 : classNames.detail,
68
67
  flexShrink: 0,
69
- gap: 0.5,
70
- style: styles === null || styles === void 0 ? void 0 : styles.detail,
71
- testID: "list-cell-fallback-detail",
72
- children: [/*#__PURE__*/_jsx(Fallback, {
68
+ children: [!!detail && /*#__PURE__*/_jsx(TextFallback, {
73
69
  "aria-hidden": true,
74
- percentage: true,
75
70
  className: classNames === null || classNames === void 0 ? void 0 : classNames.detail,
76
71
  disableRandomRectWidth: disableRandomRectWidth,
77
- height: 22,
72
+ font: "body",
73
+ percentage: true,
78
74
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 0),
79
75
  style: styles === null || styles === void 0 ? void 0 : styles.detail,
76
+ testID: "list-cell-fallback-detail",
80
77
  width: 60
81
- }), /*#__PURE__*/_jsx(Fallback, {
78
+ }), !!subdetail && /*#__PURE__*/_jsx(TextFallback, {
82
79
  "aria-hidden": true,
83
- percentage: true,
84
80
  className: classNames === null || classNames === void 0 ? void 0 : classNames.subdetail,
85
81
  disableRandomRectWidth: disableRandomRectWidth,
86
- height: spacingVariant === 'condensed' ? 18 : 22,
82
+ font: spacingVariant === 'condensed' ? 'label2' : 'body',
83
+ percentage: true,
87
84
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 1),
88
85
  style: styles === null || styles === void 0 ? void 0 : styles.subdetail,
86
+ testID: "list-cell-fallback-subdetail",
89
87
  width: 50
90
88
  })]
91
89
  });
@@ -94,12 +92,12 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
94
92
  if (!title) {
95
93
  return null;
96
94
  }
97
- return /*#__PURE__*/_jsx(Fallback, {
95
+ return /*#__PURE__*/_jsx(TextFallback, {
98
96
  "aria-hidden": true,
99
- percentage: true,
100
97
  className: classNames === null || classNames === void 0 ? void 0 : classNames.title,
101
98
  disableRandomRectWidth: disableRandomRectWidth,
102
- height: 22,
99
+ font: "headline",
100
+ percentage: true,
103
101
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 2),
104
102
  style: styles === null || styles === void 0 ? void 0 : styles.title,
105
103
  testID: "list-cell-fallback-title",
@@ -110,12 +108,12 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
110
108
  if (!subtitle) {
111
109
  return null;
112
110
  }
113
- return /*#__PURE__*/_jsx(Fallback, {
111
+ return /*#__PURE__*/_jsx(TextFallback, {
114
112
  "aria-hidden": true,
115
- percentage: true,
116
113
  className: classNames === null || classNames === void 0 ? void 0 : classNames.subtitle,
117
114
  disableRandomRectWidth: disableRandomRectWidth,
118
- height: 18,
115
+ font: "label1",
116
+ percentage: true,
119
117
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 2),
120
118
  style: styles === null || styles === void 0 ? void 0 : styles.subtitle,
121
119
  testID: "list-cell-fallback-subtitle",
@@ -126,18 +124,18 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
126
124
  if (!description) {
127
125
  return null;
128
126
  }
129
- return /*#__PURE__*/_jsx(Fallback, {
127
+ return /*#__PURE__*/_jsx(TextFallback, {
130
128
  "aria-hidden": true,
131
- percentage: true,
132
129
  className: classNames === null || classNames === void 0 ? void 0 : classNames.description,
133
130
  disableRandomRectWidth: disableRandomRectWidth,
134
- height: spacingVariant === 'condensed' ? 18 : 22,
131
+ font: spacingVariant === 'condensed' ? 'label2' : 'body',
132
+ percentage: true,
135
133
  rectWidthVariant: getRectWidthVariant(rectWidthVariant, 3),
136
134
  style: styles === null || styles === void 0 ? void 0 : styles.description,
137
135
  testID: "list-cell-fallback-description",
138
136
  width: 85
139
137
  });
140
- }, [description, classNames === null || classNames === void 0 ? void 0 : classNames.description, disableRandomRectWidth, spacingVariant, rectWidthVariant, styles === null || styles === void 0 ? void 0 : styles.description]);
138
+ }, [description, classNames === null || classNames === void 0 ? void 0 : classNames.description, disableRandomRectWidth, rectWidthVariant, spacingVariant, styles === null || styles === void 0 ? void 0 : styles.description]);
141
139
  const mediaFallback = useMemo(() => {
142
140
  if (!media) {
143
141
  return undefined;
@@ -170,7 +168,6 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_pro
170
168
  className: visuallyHiddenCss,
171
169
  children: accessibilityLabel
172
170
  }), /*#__PURE__*/_jsxs(VStack, {
173
- gap: 0.5,
174
171
  children: [titleFallback, subtitleFallback, descriptionFallback]
175
172
  })]
176
173
  }));
@@ -0,0 +1,31 @@
1
+ const _excluded = ["font", "style"];
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
+ 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
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ 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; }
9
+ import { memo, useMemo } from 'react';
10
+ import { Fallback } from '../layout/Fallback';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Loading placeholder sized to match a typography font token's line height.
14
+ *
15
+ * @note Requires theme `fontSize` and `lineHeight` tokens to be length values (for example `rem` or `px`). Unitless or percentage values will not size accurately.
16
+ */
17
+ export const TextFallback = /*#__PURE__*/memo(function TextFallback(_ref) {
18
+ let {
19
+ font,
20
+ style
21
+ } = _ref,
22
+ props = _objectWithoutProperties(_ref, _excluded);
23
+ const textFallbackStyle = useMemo(() => _objectSpread({
24
+ paddingTop: "max((var(--lineHeight-".concat(font, ") - var(--fontSize-").concat(font, ")) / 2, 0px)"),
25
+ paddingBottom: "max((var(--lineHeight-".concat(font, ") - var(--fontSize-").concat(font, ")) / 2, 0px)")
26
+ }, style), [font, style]);
27
+ return /*#__PURE__*/_jsx(Fallback, _objectSpread({
28
+ height: "var(--fontSize-".concat(font, ")"),
29
+ style: textFallbackStyle
30
+ }, props));
31
+ });
@@ -1,6 +1,7 @@
1
1
  export * from './Link';
2
2
  export * from './Text';
3
3
  export * from './TextBody';
4
+ export * from './TextFallback';
4
5
  export * from './TextCaption';
5
6
  export * from './TextDisplay1';
6
7
  export * from './TextDisplay2';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "9.5.0",
3
+ "version": "9.6.1",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -219,9 +219,9 @@
219
219
  "react-dom": "^18.0.0 || ~19.1.2"
220
220
  },
221
221
  "dependencies": {
222
- "@coinbase/cds-common": "^9.5.0",
222
+ "@coinbase/cds-common": "^9.6.1",
223
223
  "@coinbase/cds-icons": "^5.20.0",
224
- "@coinbase/cds-illustrations": "^4.43.0",
224
+ "@coinbase/cds-illustrations": "^4.44.0",
225
225
  "@coinbase/cds-lottie-files": "^3.3.4",
226
226
  "@coinbase/cds-utils": "^2.3.5",
227
227
  "@floating-ui/react-dom": "^2.1.1",