@coinbase/cds-common 8.40.0 → 8.40.2

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.40.2 ((2/2/2026, 11:25 AM PST))
12
+
13
+ This is an artificial version bump with no new change.
14
+
15
+ ## 8.40.1 ((1/30/2026, 04:58 PM PST))
16
+
17
+ This is an artificial version bump with no new change.
18
+
19
+ #### 📘 Misc
20
+
21
+ - Add descriptive names for generic types. [[#341](https://github.com/coinbase/cds/pull/341)] [DX-5037]
22
+
11
23
  ## 8.40.0 (1/28/2026 PST)
12
24
 
13
25
  #### 🚀 Updates
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * Options for configuring the useMultiSelect hook
3
3
  */
4
- export type MultiSelectOptions = {
4
+ export type MultiSelectOptions<SelectValue extends string = string> = {
5
5
  /** Initial array of selected values */
6
- initialValue: string[] | null;
6
+ initialValue: SelectValue[] | null;
7
7
  };
8
8
  /**
9
9
  * API returned by the useMultiSelect hook for managing multi-select state
10
10
  */
11
- export type MultiSelectApi<T extends string> = {
11
+ export type MultiSelectApi<SelectValue extends string = string> = {
12
12
  /** Current array of selected values */
13
- value: T[];
13
+ value: SelectValue[];
14
14
  /** Handler for toggling selection of one or more values.
15
15
  * When a single value is passed, it will be added to the selection if it is not already selected.
16
16
  * If the value is already selected, it will be removed from the selection.
@@ -30,7 +30,7 @@ export type MultiSelectApi<T extends string> = {
30
30
  * @param options - Configuration options including initial value
31
31
  * @returns API object for managing multi-select state
32
32
  */
33
- export declare const useMultiSelect: <T extends string>({
33
+ export declare const useMultiSelect: <SelectValue extends string = string>({
34
34
  initialValue,
35
- }: MultiSelectOptions) => MultiSelectApi<T>;
35
+ }: MultiSelectOptions<SelectValue>) => MultiSelectApi<SelectValue>;
36
36
  //# sourceMappingURL=useMultiSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMultiSelect.d.ts","sourceRoot":"","sources":["../../src/select/useMultiSelect.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uCAAuC;IACvC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;IAC7C,uCAAuC;IACvC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,8CAA8C;IAC9C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,mDAAmD;IACnD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,EAAE,mBAE9C,kBAAkB,KAAG,cAAc,CAAC,CAAC,CAmDvC,CAAC"}
1
+ {"version":3,"file":"useMultiSelect.d.ts","sourceRoot":"","sources":["../../src/select/useMultiSelect.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI;IACpE,uCAAuC;IACvC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI;IAChE,uCAAuC;IACvC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,8CAA8C;IAC9C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,mDAAmD;IACnD,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,gCAAgC;IAChC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,MAAM,GAAG,MAAM,EAAE,mBAEjE,kBAAkB,CAAC,WAAW,CAAC,KAAG,cAAc,CAAC,WAAW,CAmD9D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type TabsApi } from './useTabs';
2
- export type TabsContextValue<T extends string = string> = TabsApi<T>;
2
+ export type TabsContextValue<TabId extends string = string> = TabsApi<TabId>;
3
3
  export declare const TabsContext: import('react').Context<TabsContextValue<string> | undefined>;
4
- export declare const useTabsContext: <T extends string>() => TabsContextValue<T>;
4
+ export declare const useTabsContext: <TabId extends string>() => TabsContextValue<TabId>;
5
5
  //# sourceMappingURL=TabsContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsContext.d.ts","sourceRoot":"","sources":["../../src/tabs/TabsContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAErE,eAAO,MAAM,WAAW,+DAAyD,CAAC;AAElF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,OAAK,gBAAgB,CAAC,CAAC,CAIrE,CAAC"}
1
+ {"version":3,"file":"TabsContext.d.ts","sourceRoot":"","sources":["../../src/tabs/TabsContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAE7E,eAAO,MAAM,WAAW,+DAAyD,CAAC;AAElF,eAAO,MAAM,cAAc,GAAI,KAAK,SAAS,MAAM,OAAK,gBAAgB,CAAC,KAAK,CAI7E,CAAC"}
@@ -1,34 +1,34 @@
1
- export type TabValue<T extends string = string> = {
1
+ export type TabValue<TabId extends string = string> = {
2
2
  /** The tab id. */
3
- id: T;
3
+ id: TabId;
4
4
  /** The tab label. */
5
5
  label?: React.ReactNode;
6
6
  /** Disable interactions on the tab. */
7
7
  disabled?: boolean;
8
8
  };
9
- export type TabsOptions<T extends string = string> = {
9
+ export type TabsOptions<TabId extends string = string> = {
10
10
  /** The array of tabs data. */
11
- tabs: TabValue<T>[];
11
+ tabs: TabValue<TabId>[];
12
12
  /** React state for the currently active tab. Setting it to `null` results in no active tab. */
13
- activeTab: TabValue<T> | null;
13
+ activeTab: TabValue<TabId> | null;
14
14
  /** Callback that is fired when the active tab changes. Use this callback to update the `activeTab` state. */
15
- onChange: (activeTab: TabValue<T> | null) => void;
15
+ onChange: (activeTab: TabValue<TabId> | null) => void;
16
16
  /** Disable interactions on all the tabs. */
17
17
  disabled?: boolean;
18
18
  };
19
- export type TabsApi<T extends string = string> = Omit<TabsOptions<T>, 'onChange'> & {
19
+ export type TabsApi<TabId extends string = string> = Omit<TabsOptions<TabId>, 'onChange'> & {
20
20
  /** Update the currently active tab to the tab with `tabId`. */
21
- updateActiveTab: (tabId: T | null) => void;
21
+ updateActiveTab: (tabId: TabId | null) => void;
22
22
  /** Update the currently active tab to the next enabled tab in the tabs array. Does nothing if the last tab is already active. */
23
23
  goNextTab: () => void;
24
24
  /** Update the currently active tab to the previous enabled tab in the tabs array. Does nothing if the first tab is already active. */
25
25
  goPreviousTab: () => void;
26
26
  };
27
27
  /** A controlled hook for managing tabs state, such as the currently active tab. */
28
- export declare const useTabs: <T extends string>({
28
+ export declare const useTabs: <TabId extends string>({
29
29
  tabs,
30
30
  activeTab,
31
31
  disabled,
32
32
  onChange,
33
- }: TabsOptions<T>) => TabsApi<T>;
33
+ }: TabsOptions<TabId>) => TabsApi<TabId>;
34
34
  //# sourceMappingURL=useTabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTabs.d.ts","sourceRoot":"","sources":["../../src/tabs/useTabs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IAChD,kBAAkB;IAClB,EAAE,EAAE,CAAC,CAAC;IACN,qBAAqB;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACnD,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACpB,+FAA+F;IAC/F,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC9B,6GAA6G;IAC7G,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;IAClF,+DAA+D;IAC/D,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,iIAAiI;IACjI,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,sIAAsI;IACtI,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,MAAM,EAAE,0CAKvC,WAAW,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CA2C5B,CAAC"}
1
+ {"version":3,"file":"useTabs.d.ts","sourceRoot":"","sources":["../../src/tabs/useTabs.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACpD,kBAAkB;IAClB,EAAE,EAAE,KAAK,CAAC;IACV,qBAAqB;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACvD,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACxB,+FAA+F;IAC/F,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAClC,6GAA6G;IAC7G,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IAC1F,+DAA+D;IAC/D,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,iIAAiI;IACjI,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,sIAAsI;IACtI,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,MAAM,EAAE,0CAK3C,WAAW,CAAC,KAAK,CAAC,KAAG,OAAO,CAAC,KAAK,CA2CpC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { type Context } from 'react';
2
2
  import type { TourApi } from './useTour';
3
- export type TourContextValue<T extends string = string> = TourApi<T>;
3
+ export type TourContextValue<TourStepId extends string = string> = TourApi<TourStepId>;
4
4
  export declare const TourContext: Context<TourContextValue<string> | undefined>;
5
- export declare const useTourContext: <T extends string = string>() => TourContextValue<T>;
5
+ export declare const useTourContext: <
6
+ TourStepId extends string = string,
7
+ >() => TourContextValue<TourStepId>;
6
8
  //# sourceMappingURL=TourContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TourContext.d.ts","sourceRoot":"","sources":["../../src/tour/TourContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAErE,eAAO,MAAM,WAAW,+CAAyD,CAAC;AAElF,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,OAAK,gBAAgB,CAAC,CAAC,CAI9E,CAAC"}
1
+ {"version":3,"file":"TourContext.d.ts","sourceRoot":"","sources":["../../src/tour/TourContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,OAAO,CAAC;AAGhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;AAEvF,eAAO,MAAM,WAAW,+CAAyD,CAAC;AAElF,eAAO,MAAM,cAAc,GACzB,UAAU,SAAS,MAAM,GAAG,MAAM,OAC/B,gBAAgB,CAAC,UAAU,CAI/B,CAAC"}
@@ -26,11 +26,11 @@ export type TourScrollOptions = {
26
26
  marginX?: number;
27
27
  marginY?: number;
28
28
  };
29
- export type TourStepValue<T extends string = string> = {
29
+ export type TourStepValue<TourStepId extends string = string> = {
30
30
  /**
31
31
  * The tour step id.
32
32
  */
33
- id: T;
33
+ id: TourStepId;
34
34
  /**
35
35
  * The Component to render for this tour step.
36
36
  */
@@ -84,24 +84,27 @@ export type TourStepValue<T extends string = string> = {
84
84
  */
85
85
  scrollOptions?: TourScrollOptions;
86
86
  };
87
- export type TourOptions<T extends string = string> = {
88
- steps: TourStepValue<T>[];
89
- activeTourStep: TourStepValue<T> | null;
90
- onChange: (tourStep: TourStepValue<T> | null) => void;
87
+ export type TourOptions<TourStepId extends string = string> = {
88
+ steps: TourStepValue<TourStepId>[];
89
+ activeTourStep: TourStepValue<TourStepId> | null;
90
+ onChange: (tourStep: TourStepValue<TourStepId> | null) => void;
91
91
  };
92
- export type TourApi<T extends string = string> = Omit<TourOptions<T>, 'onChange'> & {
92
+ export type TourApi<TourStepId extends string = string> = Omit<
93
+ TourOptions<TourStepId>,
94
+ 'onChange'
95
+ > & {
93
96
  activeTourStepTarget: HTMLElement | View | null;
94
97
  setActiveTourStepTarget: (target: HTMLElement | View | null) => void;
95
- setActiveTourStep: (tourStepId: T | null) => void;
96
- startTour: (tourStepId?: T) => void;
98
+ setActiveTourStep: (tourStepId: TourStepId | null) => void;
99
+ startTour: (tourStepId?: TourStepId) => void;
97
100
  stopTour: () => void;
98
101
  goNextTourStep: () => void;
99
102
  goPreviousTourStep: () => void;
100
103
  };
101
104
  /** A controlled hook for managing tour state, such as the currently active tour step. */
102
- export declare const useTour: <T extends string = string>({
105
+ export declare const useTour: <TourStepId extends string = string>({
103
106
  steps,
104
107
  activeTourStep,
105
108
  onChange,
106
- }: TourOptions<T>) => TourApi<T>;
109
+ }: TourOptions<TourStepId>) => TourApi<TourStepId>;
107
110
  //# sourceMappingURL=useTour.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTour.d.ts","sourceRoot":"","sources":["../../src/tour/useTour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTour.d.ts","sourceRoot":"","sources":["../../src/tour/useTour.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export const useTabs = _ref => {
9
9
  } = _ref;
10
10
  const updateActiveTab = useCallback(tabId => {
11
11
  let newActiveTab = null;
12
- if (typeof tabId === 'string') {
12
+ if (typeof tabId === 'string' && tabId !== '') {
13
13
  var _tabs$find;
14
14
  newActiveTab = (_tabs$find = tabs.find(tab => tab.id === tabId)) !== null && _tabs$find !== void 0 ? _tabs$find : tabs[0];
15
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-common",
3
- "version": "8.40.0",
3
+ "version": "8.40.2",
4
4
  "description": "Coinbase Design System - Common",
5
5
  "repository": {
6
6
  "type": "git",
@@ -38,9 +38,9 @@
38
38
  "react-dom": "^18.3.1"
39
39
  },
40
40
  "dependencies": {
41
- "@coinbase/cds-icons": "^5.9.0",
42
- "@coinbase/cds-illustrations": "^4.29.0",
43
- "@coinbase/cds-mcp-server": "^8.40.0",
41
+ "@coinbase/cds-icons": "^5.10.0",
42
+ "@coinbase/cds-illustrations": "^4.30.0",
43
+ "@coinbase/cds-mcp-server": "^8.40.2",
44
44
  "@coinbase/cds-utils": "^2.3.5",
45
45
  "@modelcontextprotocol/sdk": "^1.13.1",
46
46
  "d3-array": "^3.2.4",