@coinbase/cds-web 8.22.2 → 8.24.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,18 @@ All notable changes to this project will be documented in this file.
8
8
 
9
9
  <!-- template-start -->
10
10
 
11
+ ## 8.24.0 (12/1/2025 PST)
12
+
13
+ #### 🚀 Updates
14
+
15
+ - Support labelNode in TextInput. [[#198](https://github.com/coinbase/cds/pull/198)]
16
+
17
+ ## 8.23.0 (12/1/2025 PST)
18
+
19
+ #### 🚀 Updates
20
+
21
+ - Enable custom text label for "First" and "Last" buttons of Pagination. [[#192](https://github.com/coinbase/cds/pull/192)] [DX-4997]
22
+
11
23
  ## 8.22.2 (11/26/2025 PST)
12
24
 
13
25
  #### 🐞 Fixes
@@ -50,6 +50,11 @@ export type TextInputBaseProps = {
50
50
  * @default 'error'
51
51
  */
52
52
  helperTextErrorIconAccessibilityLabel?: string;
53
+ /**
54
+ * React node to render label. Takes precedence over `label`.
55
+ * @note if both labelNode and label are provided, label will still be used as accessibility label for the input if no accessibilityLabel is provided.
56
+ */
57
+ labelNode?: React.ReactNode;
53
58
  } & SharedProps &
54
59
  Pick<
55
60
  SharedAccessibilityProps,
@@ -116,6 +121,11 @@ export declare const TextInput: React.MemoExoticComponent<
116
121
  * @default 'error'
117
122
  */
118
123
  helperTextErrorIconAccessibilityLabel?: string;
124
+ /**
125
+ * React node to render label. Takes precedence over `label`.
126
+ * @note if both labelNode and label are provided, label will still be used as accessibility label for the input if no accessibilityLabel is provided.
127
+ */
128
+ labelNode?: React.ReactNode;
119
129
  } & SharedProps &
120
130
  Pick<
121
131
  SharedAccessibilityProps,
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAU/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA8CxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC;;;;;;;SAOK;IACL,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mHAAmH;IACnH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,qCAAqC,CAAC,EAAE,MAAM,CAAC;CAChD,GAAG,WAAW,GACb,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,gBAAgB,GAChB,IAAI,CACF,mBAAmB,EACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,cAAc,CACjB,GACD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAkBhD,eAAO,MAAM,SAAS;IAjFpB;;OAEG;cACO,KAAK,CAAC,iBAAiB;IACjC;;;;;;;SAOK;gBACO,KAAK,CAAC,YAAY;IAC9B;;;OAGG;eACQ,OAAO;IAClB;;;OAGG;YACK,cAAc,CAAC,OAAO,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf,uHAAuH;YAC/G,KAAK,CAAC,SAAS;IACvB,mHAAmH;UAC7G,KAAK,CAAC,SAAS;IACrB;;OAEG;gBACS;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IACD;;;OAGG;4CACqC,MAAM;gYAmQ/C,CAAC"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../src/controls/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AACpG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAU/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA8CxD,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC;;;;;;;SAOK;IACL,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,mHAAmH;IACnH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,GAAG,WAAW,GACb,IAAI,CACF,wBAAwB,EACxB,oBAAoB,GAAG,yBAAyB,GAAG,mBAAmB,CACvE,GACD,gBAAgB,GAChB,IAAI,CACF,mBAAmB,EACjB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,kBAAkB,GAClB,cAAc,CACjB,GACD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAkBhD,eAAO,MAAM,SAAS;IAtFpB;;OAEG;cACO,KAAK,CAAC,iBAAiB;IACjC;;;;;;;SAOK;gBACO,KAAK,CAAC,YAAY;IAC9B;;;OAGG;eACQ,OAAO;IAClB;;;OAGG;YACK,cAAc,CAAC,OAAO,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf,uHAAuH;YAC/G,KAAK,CAAC,SAAS;IACvB,mHAAmH;UAC7G,KAAK,CAAC,SAAS;IACrB;;OAEG;gBACS;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IACD;;;OAGG;4CACqC,MAAM;IAC9C;;;OAGG;gBACS,KAAK,CAAC,SAAS;gYAsQ5B,CAAC"}
@@ -53,6 +53,10 @@ export type PaginationBaseProps = Omit<PaginationOptions, 'initialPage'> & {
53
53
  firstButton?: string;
54
54
  lastButton?: string;
55
55
  };
56
+ /** Custom label for the first page button */
57
+ firstPageButtonLabel?: string;
58
+ /** Custom label for the last page button */
59
+ lastPageButtonLabel?: string;
56
60
  /** Custom accessibility labels for navigation buttons */
57
61
  accessibilityLabels?: {
58
62
  next?: string;
@@ -96,6 +100,8 @@ export declare const Pagination: ({
96
100
  PaginationPageButtonComponent,
97
101
  PaginationNavigationButtonComponent,
98
102
  PaginationEllipsisComponent,
103
+ firstPageButtonLabel,
104
+ lastPageButtonLabel,
99
105
  ...props
100
106
  }: PaginationProps) => import('react/jsx-runtime').JSX.Element;
101
107
  //# sourceMappingURL=Pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- const _excluded = ["label", "accessibilityLabel", "helperText", "variant", "testID", "testIDMap", "start", "end", "width", "disabled", "align", "compact", "suffix", "onFocus", "onBlur", "borderRadius", "height", "inputNode", "bordered", "enableColorSurge", "helperTextErrorIconAccessibilityLabel", "labelVariant"];
1
+ const _excluded = ["label", "accessibilityLabel", "helperText", "variant", "testID", "testIDMap", "start", "end", "width", "disabled", "align", "compact", "suffix", "onFocus", "onBlur", "borderRadius", "height", "inputNode", "bordered", "enableColorSurge", "helperTextErrorIconAccessibilityLabel", "labelVariant", "labelNode"];
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; }
@@ -65,7 +65,8 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Text
65
65
  bordered = true,
66
66
  enableColorSurge = false,
67
67
  helperTextErrorIconAccessibilityLabel = 'error',
68
- labelVariant = 'outside'
68
+ labelVariant = 'outside',
69
+ labelNode
69
70
  } = _ref,
70
71
  htmlInputElmProps = _objectWithoutProperties(_ref, _excluded);
71
72
  const [focused, setFocused] = useState(false);
@@ -175,13 +176,13 @@ export const TextInput = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Text
175
176
  children: helperText
176
177
  }) : helperText),
177
178
  inputNode: inputElement,
178
- labelNode: !compact && !!label && /*#__PURE__*/_jsx(InputLabel, {
179
+ labelNode: !compact && (labelNode ? labelNode : !!label && /*#__PURE__*/_jsx(InputLabel, {
179
180
  background: labelVariant === 'inside' ? inputBackground : undefined,
180
181
  className: cx(labelVariant === 'inside' && insideLabelCss, labelVariant === 'inside' && !!start && insideLabelCssStartCss),
181
182
  htmlFor: shouldSetLabelId ? labelId : undefined,
182
183
  testID: (_testIDMap$label = testIDMap === null || testIDMap === void 0 ? void 0 : testIDMap.label) !== null && _testIDMap$label !== void 0 ? _testIDMap$label : '',
183
184
  children: label
184
- }),
185
+ })),
185
186
  labelVariant: labelVariant,
186
187
  startNode: (compact || !!start) && /*#__PURE__*/_jsxs(HStack, {
187
188
  alignItems: "center",
@@ -1,4 +1,4 @@
1
- const _excluded = ["totalPages", "activePage", "onChange", "disabled", "showFirstLastButtons", "siblingCount", "boundaryCount", "accessibilityLabel", "testID", "testIDMap", "accessibilityLabels", "PaginationPageButtonComponent", "PaginationNavigationButtonComponent", "PaginationEllipsisComponent"];
1
+ const _excluded = ["totalPages", "activePage", "onChange", "disabled", "showFirstLastButtons", "siblingCount", "boundaryCount", "accessibilityLabel", "testID", "testIDMap", "accessibilityLabels", "PaginationPageButtonComponent", "PaginationNavigationButtonComponent", "PaginationEllipsisComponent", "firstPageButtonLabel", "lastPageButtonLabel"];
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; }
@@ -30,7 +30,9 @@ export const Pagination = _ref => {
30
30
  accessibilityLabels,
31
31
  PaginationPageButtonComponent = DefaultPaginationPageButton,
32
32
  PaginationNavigationButtonComponent = DefaultPaginationNavigationButton,
33
- PaginationEllipsisComponent = DefaultPaginationEllipsis
33
+ PaginationEllipsisComponent = DefaultPaginationEllipsis,
34
+ firstPageButtonLabel = 'First',
35
+ lastPageButtonLabel = 'Last'
34
36
  } = _ref,
35
37
  props = _objectWithoutProperties(_ref, _excluded);
36
38
  const {
@@ -90,7 +92,7 @@ export const Pagination = _ref => {
90
92
  disabled: activePage === 1 || disabled,
91
93
  onClick: handleGoFirstPage,
92
94
  testID: testIDMap === null || testIDMap === void 0 ? void 0 : testIDMap.firstButton,
93
- children: "First"
95
+ children: firstPageButtonLabel
94
96
  }) : /*#__PURE__*/_jsx(PaginationNavigationButtonComponent, {
95
97
  accessibilityLabel: (_accessibilityLabels$2 = accessibilityLabels === null || accessibilityLabels === void 0 ? void 0 : accessibilityLabels.first) !== null && _accessibilityLabels$2 !== void 0 ? _accessibilityLabels$2 : 'First page',
96
98
  direction: "first",
@@ -129,7 +131,7 @@ export const Pagination = _ref => {
129
131
  disabled: activePage === totalPages || disabled,
130
132
  onClick: handleGoLastPage,
131
133
  testID: testIDMap === null || testIDMap === void 0 ? void 0 : testIDMap.lastButton,
132
- children: "Last"
134
+ children: lastPageButtonLabel
133
135
  }) : /*#__PURE__*/_jsx(PaginationNavigationButtonComponent, {
134
136
  accessibilityLabel: (_accessibilityLabels$6 = accessibilityLabels === null || accessibilityLabels === void 0 ? void 0 : accessibilityLabels.last) !== null && _accessibilityLabels$6 !== void 0 ? _accessibilityLabels$6 : 'Last page',
135
137
  direction: "last",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-web",
3
- "version": "8.22.2",
3
+ "version": "8.24.0",
4
4
  "description": "Coinbase Design System - Web",
5
5
  "repository": {
6
6
  "type": "git",
@@ -147,7 +147,7 @@
147
147
  "react-dom": "^18.3.1"
148
148
  },
149
149
  "dependencies": {
150
- "@coinbase/cds-common": "^8.22.2",
150
+ "@coinbase/cds-common": "^8.24.0",
151
151
  "@coinbase/cds-icons": "^5.7.0",
152
152
  "@coinbase/cds-illustrations": "^4.28.0",
153
153
  "@coinbase/cds-lottie-files": "^3.3.3",