@coinbase/cds-web 8.69.1 → 8.71.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 +12 -0
- package/dts/buttons/IconButton.d.ts +15 -1
- package/dts/buttons/IconButton.d.ts.map +1 -1
- package/dts/tabs/DefaultTab.d.ts +11 -2
- package/dts/tabs/DefaultTab.d.ts.map +1 -1
- package/dts/tabs/SegmentedTab.d.ts +13 -12
- package/dts/tabs/SegmentedTab.d.ts.map +1 -1
- package/dts/tabs/Tabs.d.ts +9 -3
- package/dts/tabs/Tabs.d.ts.map +1 -1
- package/esm/buttons/IconButton.js +26 -5
- package/esm/tabs/DefaultTab.js +5 -3
- package/esm/tabs/Tabs.js +8 -2
- package/package.json +2 -2
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.71.0 (5/12/2026 PST)
|
|
12
|
+
|
|
13
|
+
#### 🚀 Updates
|
|
14
|
+
|
|
15
|
+
- Add icon glyph and progress circle styles to IconButton. [[#606](https://github.com/coinbase/cds/pull/606)]
|
|
16
|
+
|
|
17
|
+
## 8.70.0 (5/8/2026 PST)
|
|
18
|
+
|
|
19
|
+
#### 🚀 Updates
|
|
20
|
+
|
|
21
|
+
- Feat: support active color on Tabs. [[#669](https://github.com/coinbase/cds/pull/669)]
|
|
22
|
+
|
|
11
23
|
## 8.69.1 ((5/6/2026, 10:08 AM PST))
|
|
12
24
|
|
|
13
25
|
This is an artificial version bump with no new change.
|
|
@@ -2,7 +2,20 @@ import React from 'react';
|
|
|
2
2
|
import type { IconButtonVariant, IconName, IconSize } from '@coinbase/cds-common/types';
|
|
3
3
|
import type { Polymorphic } from '../core/polymorphism';
|
|
4
4
|
import { type PressableBaseProps } from '../system/Pressable';
|
|
5
|
+
import type { StylesAndClassNames } from '../types';
|
|
5
6
|
import { type ButtonBaseProps } from './Button';
|
|
7
|
+
/**
|
|
8
|
+
* Static class names for IconButton component parts.
|
|
9
|
+
* Use these selectors to target specific elements with CSS.
|
|
10
|
+
*/
|
|
11
|
+
export declare const iconButtonClassNames: {
|
|
12
|
+
/** Root button element */
|
|
13
|
+
readonly root: 'cds-IconButton';
|
|
14
|
+
/** Inner icon glyph element */
|
|
15
|
+
readonly icon: 'cds-IconButton-icon';
|
|
16
|
+
/** Loading progress circle element */
|
|
17
|
+
readonly progressCircle: 'cds-IconButton-progressCircle';
|
|
18
|
+
};
|
|
6
19
|
export declare const iconButtonDefaultElement = 'button';
|
|
7
20
|
export type IconButtonDefaultElement = typeof iconButtonDefaultElement;
|
|
8
21
|
export type IconButtonBaseProps = Polymorphic.ExtendableProps<
|
|
@@ -27,7 +40,8 @@ export type IconButtonBaseProps = Polymorphic.ExtendableProps<
|
|
|
27
40
|
export type IconButtonProps<AsComponent extends React.ElementType> = Polymorphic.Props<
|
|
28
41
|
AsComponent,
|
|
29
42
|
IconButtonBaseProps
|
|
30
|
-
|
|
43
|
+
> &
|
|
44
|
+
StylesAndClassNames<typeof iconButtonClassNames>;
|
|
31
45
|
type IconButtonComponent = (<AsComponent extends React.ElementType = IconButtonDefaultElement>(
|
|
32
46
|
props: IconButtonProps<AsComponent>,
|
|
33
47
|
) => Polymorphic.ReactReturn) &
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAC/B,0BAA0B;;IAE1B,+BAA+B;;IAE/B,sCAAsC;;CAE9B,CAAC;AAEX,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC;AAEvE,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAC3D,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,EACpC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG;IACxE,6CAA6C;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CACF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CACpF,WAAW,EACX,mBAAmB,CACpB,GACC,mBAAmB,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnD,KAAK,mBAAmB,GAAG,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,WAAW,GAAG,wBAAwB,EAC3F,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAChC,WAAW,CAAC,WAAW,CAAC,GAC3B,WAAW,CAAC,UAAU,CAAC;AAgBzB,eAAO,MAAM,UAAU,EAAE,mBAuGxB,CAAC"}
|
package/dts/tabs/DefaultTab.d.ts
CHANGED
|
@@ -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<
|
|
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,
|
|
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
|
|
9
|
-
* @default
|
|
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
|
|
14
|
-
* @default
|
|
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
|
|
41
|
-
* @default
|
|
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
|
|
46
|
-
* @default
|
|
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;
|
|
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"}
|
package/dts/tabs/Tabs.d.ts
CHANGED
|
@@ -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 */
|
package/dts/tabs/Tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEd,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAe,KAAK,WAAW,EAAmB,MAAM,eAAe,CAAC;AAI/E,OAAO,EAAO,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAAU,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
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 = ["as", "variant", "transparent", "compact", "background", "color", "borderColor", "borderRadius", "borderWidth", "alignItems", "justifyContent", "height", "width", "className", "name", "iconSize", "active", "flush", "loading", "progressCircleSize", "accessibilityLabel", "accessibilityHint"];
|
|
1
|
+
const _excluded = ["as", "variant", "transparent", "compact", "background", "color", "borderColor", "borderRadius", "borderWidth", "alignItems", "justifyContent", "height", "width", "className", "name", "iconSize", "active", "flush", "loading", "progressCircleSize", "accessibilityLabel", "accessibilityHint", "styles", "classNames"];
|
|
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; }
|
|
@@ -15,7 +15,18 @@ import { Icon } from '../icons/Icon';
|
|
|
15
15
|
import { Pressable } from '../system/Pressable';
|
|
16
16
|
import { ProgressCircle } from '../visualizations/ProgressCircle';
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Static class names for IconButton component parts.
|
|
20
|
+
* Use these selectors to target specific elements with CSS.
|
|
21
|
+
*/
|
|
22
|
+
export const iconButtonClassNames = {
|
|
23
|
+
/** Root button element */
|
|
24
|
+
root: 'cds-IconButton',
|
|
25
|
+
/** Inner icon glyph element */
|
|
26
|
+
icon: 'cds-IconButton-icon',
|
|
27
|
+
/** Loading progress circle element */
|
|
28
|
+
progressCircle: 'cds-IconButton-progressCircle'
|
|
29
|
+
};
|
|
19
30
|
export const iconButtonDefaultElement = 'button';
|
|
20
31
|
const flushSpaceCss = "flushSpaceCss-f1po8mo6";
|
|
21
32
|
const flushStartCss = "flushStartCss-fqg7x6g";
|
|
@@ -45,7 +56,9 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
|
|
|
45
56
|
loading,
|
|
46
57
|
progressCircleSize,
|
|
47
58
|
accessibilityLabel,
|
|
48
|
-
accessibilityHint
|
|
59
|
+
accessibilityHint,
|
|
60
|
+
styles,
|
|
61
|
+
classNames
|
|
49
62
|
} = mergedProps,
|
|
50
63
|
props = _objectWithoutProperties(mergedProps, _excluded);
|
|
51
64
|
const Component = as !== null && as !== void 0 ? as : iconButtonDefaultElement;
|
|
@@ -66,7 +79,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
|
|
|
66
79
|
borderColor: borderColorValue,
|
|
67
80
|
borderRadius: borderRadius,
|
|
68
81
|
borderWidth: borderWidth,
|
|
69
|
-
className: cx(
|
|
82
|
+
className: cx(iconButtonClassNames.root, flush && flushSpaceCss, flush === 'start' && flushStartCss, flush === 'end' && flushEndCss, classNames === null || classNames === void 0 ? void 0 : classNames.root, className),
|
|
70
83
|
color: colorValue,
|
|
71
84
|
"data-compact": compact,
|
|
72
85
|
"data-flush": flush,
|
|
@@ -81,15 +94,23 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
|
|
|
81
94
|
children: loading ? /*#__PURE__*/_jsx(ProgressCircle, {
|
|
82
95
|
indeterminate: true,
|
|
83
96
|
accessibilityLabel: "Loading",
|
|
97
|
+
className: cx(iconButtonClassNames.progressCircle, classNames === null || classNames === void 0 ? void 0 : classNames.progressCircle),
|
|
84
98
|
color: "currentColor",
|
|
85
99
|
size: progressCircleSize !== null && progressCircleSize !== void 0 ? progressCircleSize : iconSizeValue,
|
|
100
|
+
style: styles === null || styles === void 0 ? void 0 : styles.progressCircle,
|
|
86
101
|
testID: props.testID ? "".concat(props.testID, "-progress-circle") : undefined,
|
|
87
102
|
weight: "thin"
|
|
88
103
|
}) : /*#__PURE__*/_jsx(Icon, {
|
|
89
104
|
active: active,
|
|
105
|
+
classNames: {
|
|
106
|
+
icon: cx(iconButtonClassNames.icon, classNames === null || classNames === void 0 ? void 0 : classNames.icon)
|
|
107
|
+
},
|
|
90
108
|
color: "currentColor",
|
|
91
109
|
name: name,
|
|
92
|
-
size: iconSize
|
|
110
|
+
size: iconSize,
|
|
111
|
+
styles: {
|
|
112
|
+
icon: styles === null || styles === void 0 ? void 0 : styles.icon
|
|
113
|
+
}
|
|
93
114
|
})
|
|
94
115
|
}));
|
|
95
116
|
}));
|
package/esm/tabs/DefaultTab.js
CHANGED
|
@@ -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 ?
|
|
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({
|
|
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.
|
|
3
|
+
"version": "8.71.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.
|
|
210
|
+
"@coinbase/cds-common": "^8.71.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",
|