@coinbase/cds-mobile 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 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 PST)
12
24
 
13
25
  #### 🐞 Fixes
@@ -1,4 +1,4 @@
1
- import { type View } from 'react-native';
1
+ import { type StyleProp, type TextStyle, type View, type ViewStyle } from 'react-native';
2
2
  import type {
3
3
  IconButtonVariant,
4
4
  IconName,
@@ -27,6 +27,15 @@ export type IconButtonBaseProps = SharedProps &
27
27
  * @default primary
28
28
  */
29
29
  variant?: IconButtonVariant;
30
+ /** Custom styles for individual elements of the IconButton component */
31
+ styles?: {
32
+ /** Root Pressable element */
33
+ root?: StyleProp<ViewStyle>;
34
+ /** Inner icon glyph Text element */
35
+ icon?: StyleProp<TextStyle>;
36
+ /** Loading progress circle element */
37
+ progressCircle?: StyleProp<ViewStyle>;
38
+ };
30
39
  };
31
40
  export type IconButtonProps = IconButtonBaseProps;
32
41
  export declare const IconButton: import('react').MemoExoticComponent<
@@ -51,6 +60,15 @@ export declare const IconButton: import('react').MemoExoticComponent<
51
60
  * @default primary
52
61
  */
53
62
  variant?: IconButtonVariant;
63
+ /** Custom styles for individual elements of the IconButton component */
64
+ styles?: {
65
+ /** Root Pressable element */
66
+ root?: StyleProp<ViewStyle>;
67
+ /** Inner icon glyph Text element */
68
+ icon?: StyleProp<TextStyle>;
69
+ /** Loading progress circle element */
70
+ progressCircle?: StyleProp<ViewStyle>;
71
+ };
54
72
  } & import('react').RefAttributes<View>
55
73
  >
56
74
  >;
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,IAAI,EAAkB,MAAM,cAAc,CAAC;AAG1F,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAC3C,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GACpC,IAAI,CACF,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,oBAAoB,CACpF,GAAG;IACF,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,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,eAAO,MAAM,UAAU;IAlBnB,6CAA6C;UACvC,QAAQ;IACd;;;OAGG;eACQ,QAAQ;IACnB,iCAAiC;aACxB,OAAO;IAChB;;;OAGG;cACO,iBAAiB;yCAqG9B,CAAC"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/buttons/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAC3C,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GACpC,IAAI,CACF,eAAe,EACf,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,oBAAoB,CACpF,GAAG;IACF,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;IAC5B,wEAAwE;IACxE,MAAM,CAAC,EAAE;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,eAAO,MAAM,UAAU;IA3BnB,6CAA6C;UACvC,QAAQ;IACd;;;OAGG;eACQ,QAAQ;IACnB,iCAAiC;aACxB,OAAO;IAChB;;;OAGG;cACO,iBAAiB;IAC3B,wEAAwE;aAC/D;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oCAAoC;QACpC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,sCAAsC;QACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACvC;yCAyGJ,CAAC"}
@@ -22,6 +22,11 @@ export declare const InputIconButton: React.MemoExoticComponent<
22
22
  iconSize?: import('@coinbase/cds-common').IconSize;
23
23
  active?: boolean;
24
24
  variant?: IconButtonVariant;
25
+ styles?: {
26
+ root?: import('react-native').StyleProp<import('react-native').ViewStyle>;
27
+ icon?: import('react-native').StyleProp<import('react-native').TextStyle>;
28
+ progressCircle?: import('react-native').StyleProp<import('react-native').ViewStyle>;
29
+ };
25
30
  } & {
26
31
  /**
27
32
  * If set to true, when parent input is focused, the icon will match the color of the focus state
@@ -1 +1 @@
1
- {"version":3,"file":"InputIconButton.d.ts","sourceRoot":"","sources":["../../src/controls/InputIconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKzE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAOvE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG;IACnD;;;SAGK;IACL,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;IAP1B;;;SAGK;+BACsB,OAAO;+BA+BnC,CAAC"}
1
+ {"version":3,"file":"InputIconButton.d.ts","sourceRoot":"","sources":["../../src/controls/InputIconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKzE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAOvE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG;IACnD;;;SAGK;IACL,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;YA6BzB,CAAC;YAA6E,CAAC;sBAAyF,CAAC;;;IApC1K;;;SAGK;+BACsB,OAAO;+BA+BnC,CAAC"}
@@ -15,7 +15,7 @@ export type DefaultTabLabelProps = Partial<Pick<DotCountBaseProps, 'count' | 'ma
15
15
  Pick<SharedAccessibilityProps, 'accessibilityLabel'>;
16
16
  export type DefaultTabProps<TabId extends string = string> = Omit<
17
17
  PressableProps,
18
- 'children' | 'onPress' | 'style'
18
+ 'children' | 'onPress' | 'style' | 'color'
19
19
  > &
20
20
  TabComponentProps<TabId, TabValue<TabId> & DefaultTabLabelProps> & {
21
21
  /** Callback that is fired when the tab is pressed, after the active tab updates. */
@@ -29,7 +29,7 @@ type DefaultTabComponent = <TabId extends string = string>(
29
29
  ) => React.ReactElement;
30
30
  declare const DefaultTabComponent: React.MemoExoticComponent<
31
31
  React.ForwardRefExoticComponent<
32
- Omit<PressableProps, 'children' | 'style' | 'onPress'> &
32
+ Omit<PressableProps, 'children' | 'color' | 'style' | 'onPress'> &
33
33
  Omit<
34
34
  TabValue<string> &
35
35
  Partial<Pick<DotCountBaseProps, 'max' | 'count'>> &
@@ -37,6 +37,8 @@ declare const DefaultTabComponent: React.MemoExoticComponent<
37
37
  'id' | 'Component'
38
38
  > & {
39
39
  id: string;
40
+ color?: import('@coinbase/cds-common').ThemeVars.Color;
41
+ activeColor?: import('@coinbase/cds-common').ThemeVars.Color;
40
42
  style?: StyleProp<ViewStyle>;
41
43
  } & {
42
44
  /** Callback that is fired when the tab is pressed, after the active tab updates. */
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,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;AAEvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAC/D,cAAc,EACd,UAAU,GAAG,SAAS,GAAG,OAAO,CACjC,GACC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,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,IAAI,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;IATrB,oFAAoF;mCACvD,qBAAqB,KAAK,IAAI;YACnD,SAAS,CAAC,SAAS,CAAC;+BA0E/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,CAAC"}
1
+ {"version":3,"file":"DefaultTab.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,KAAK,qBAAqB,EAE1B,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKpE,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;AAEvD,MAAM,MAAM,eAAe,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,CAC/D,cAAc,EACd,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAC3C,GACC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG;IACjE,oFAAoF;IACpF,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,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,IAAI,CAAC,CAAA;CAAE,KAC/D,KAAK,CAAC,YAAY,CAAC;AAExB,QAAA,MAAM,mBAAmB;;;;;;IATrB,oFAAoF;mCACvD,qBAAqB,KAAK,IAAI;YACnD,SAAS,CAAC,SAAS,CAAC;+BA4E/B,CAAC;AAIF,eAAO,MAAM,UAAU,EAA0B,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultTabsActiveIndicator.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTabsActiveIndicator.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,wBAAwB,EAAoB,MAAM,QAAQ,CAAC;AAQzE,eAAO,MAAM,0BAA0B,+FAOlC,wBAAwB,oDAmC5B,CAAC"}
1
+ {"version":3,"file":"DefaultTabsActiveIndicator.d.ts","sourceRoot":"","sources":["../../src/tabs/DefaultTabsActiveIndicator.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,wBAAwB,EAAoB,MAAM,QAAQ,CAAC;AAOzE,eAAO,MAAM,0BAA0B,+FAOlC,wBAAwB,oDAmC5B,CAAC"}
@@ -13,13 +13,13 @@ export type SegmentedTabBaseProps<TabId extends string = string> = TabValue<TabI
13
13
  Pick<TextBaseProps, 'font' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'lineHeight'> &
14
14
  Omit<PressableBaseProps, 'children' | 'disabled' | 'onPress' | 'style'> & {
15
15
  /**
16
- * Text color when the SegmentedTab is active.
17
- * @default negativeForeground
16
+ * Text color when active.
17
+ * @default fgInverse
18
18
  */
19
19
  activeColor?: ThemeVars.Color;
20
20
  /**
21
- * Text color when the SegmentedTab is inactive.
22
- * @default foreground
21
+ * Text color when inactive.
22
+ * @default fg
23
23
  */
24
24
  color?: ThemeVars.Color;
25
25
  };
@@ -18,6 +18,14 @@ export type TabComponentProps<
18
18
  TTab extends TabValue<TabId> = TabValue<TabId>,
19
19
  > = Omit<TTab, 'Component' | 'id'> & {
20
20
  id: TabId;
21
+ /**
22
+ * Color when a tab is inactive.
23
+ */
24
+ color?: ThemeVars.Color;
25
+ /**
26
+ * Color when a tab is active.
27
+ */
28
+ activeColor?: ThemeVars.Color;
21
29
  style?: StyleProp<ViewStyle>;
22
30
  };
23
31
  export type TabComponent<
@@ -29,7 +37,8 @@ export type TabsBaseProps<
29
37
  TabId extends string = string,
30
38
  TTab extends TabValue<TabId> = TabValue<TabId>,
31
39
  > = Omit<BoxBaseProps, 'onChange'> &
32
- Omit<TabsOptions<TabId, TTab>, 'tabs'> & {
40
+ Omit<TabsOptions<TabId, TTab>, 'tabs'> &
41
+ Pick<TabComponentProps<TabId, TTab>, 'color' | 'activeColor'> & {
33
42
  /** The array of tabs data. Each tab may optionally define a custom Component to render. */
34
43
  tabs: (TTab & {
35
44
  Component?: TabComponent<TabId, TTab>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.tsx"],"names":[],"mappings":"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"}
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 = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "height", "width", "feedback", "flush", "loading", "progressCircleSize", "style", "accessibilityHint", "accessibilityLabel"];
1
+ const _excluded = ["name", "active", "variant", "transparent", "compact", "background", "color", "borderColor", "iconSize", "borderWidth", "borderRadius", "height", "width", "feedback", "flush", "loading", "progressCircleSize", "style", "styles", "accessibilityHint", "accessibilityLabel"];
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 { forwardRef, memo, useCallback, useMemo } from 'react';
@@ -33,6 +33,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
33
33
  loading,
34
34
  progressCircleSize,
35
35
  style,
36
+ styles,
36
37
  accessibilityHint,
37
38
  accessibilityLabel
38
39
  } = mergedProps,
@@ -58,7 +59,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
58
59
  flexDirection: 'column',
59
60
  justifyContent: 'center'
60
61
  }), [height, width]);
61
- const pressableStyle = useCallback(state => [sizingStyle, typeof style === 'function' ? style(state) : style], [sizingStyle, style]);
62
+ const pressableStyle = useCallback(state => [sizingStyle, typeof style === 'function' ? style(state) : style, styles == null ? void 0 : styles.root], [sizingStyle, style, styles == null ? void 0 : styles.root]);
62
63
  return /*#__PURE__*/_jsx(Pressable, _extends({
63
64
  ref: ref,
64
65
  accessibilityHint: accessibilityHint,
@@ -83,6 +84,7 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
83
84
  indeterminate: true,
84
85
  color: colorValue,
85
86
  size: progressCircleSize != null ? progressCircleSize : iconSizeValue,
87
+ style: styles == null ? void 0 : styles.progressCircle,
86
88
  testID: props.testID ? props.testID + "-progress-circle" : undefined,
87
89
  weight: "thin"
88
90
  })
@@ -94,7 +96,10 @@ export const IconButton = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref
94
96
  color: colorValue,
95
97
  name: name,
96
98
  size: iconSize,
97
- style: sizingStyle
99
+ style: sizingStyle,
100
+ styles: {
101
+ icon: styles == null ? void 0 : styles.icon
102
+ }
98
103
  })
99
104
  }));
100
105
  }));
@@ -182,6 +182,71 @@ const IconButtonScreen = () => {
182
182
  })]
183
183
  })
184
184
  })
185
+ }), /*#__PURE__*/_jsx(Example, {
186
+ inline: true,
187
+ title: "Icon Glyph Styles",
188
+ children: /*#__PURE__*/_jsxs(VStack, {
189
+ gap: 2,
190
+ children: [/*#__PURE__*/_jsxs(Box, {
191
+ alignItems: "center",
192
+ flexDirection: "row",
193
+ gap: 2,
194
+ children: [/*#__PURE__*/_jsx(IconButton, {
195
+ accessibilityLabel: "Custom color via styles.icon",
196
+ name: iconName,
197
+ styles: {
198
+ icon: {
199
+ color: 'dodgerblue'
200
+ }
201
+ }
202
+ }), /*#__PURE__*/_jsx(Text, {
203
+ font: "body",
204
+ children: "Custom color via styles.icon"
205
+ })]
206
+ }), /*#__PURE__*/_jsxs(Box, {
207
+ alignItems: "center",
208
+ flexDirection: "row",
209
+ gap: 2,
210
+ children: [/*#__PURE__*/_jsx(IconButton, {
211
+ accessibilityLabel: "Rotated icon via styles.icon",
212
+ name: iconName,
213
+ styles: {
214
+ icon: {
215
+ transform: [{
216
+ rotate: '45deg'
217
+ }]
218
+ }
219
+ }
220
+ }), /*#__PURE__*/_jsx(Text, {
221
+ font: "body",
222
+ children: "Rotated icon via styles.icon"
223
+ })]
224
+ })]
225
+ })
226
+ }), /*#__PURE__*/_jsx(Example, {
227
+ inline: true,
228
+ title: "Progress Circle Styles",
229
+ children: /*#__PURE__*/_jsx(VStack, {
230
+ gap: 2,
231
+ children: /*#__PURE__*/_jsxs(Box, {
232
+ alignItems: "center",
233
+ flexDirection: "row",
234
+ gap: 2,
235
+ children: [/*#__PURE__*/_jsx(IconButton, {
236
+ loading: true,
237
+ accessibilityLabel: "Reduced opacity progress circle",
238
+ name: iconName,
239
+ styles: {
240
+ progressCircle: {
241
+ opacity: 0.3
242
+ }
243
+ }
244
+ }), /*#__PURE__*/_jsx(Text, {
245
+ font: "body",
246
+ children: "Reduced opacity"
247
+ })]
248
+ })
249
+ })
185
250
  }), /*#__PURE__*/_jsx(Example, {
186
251
  inline: true,
187
252
  title: "Loading",
@@ -16,6 +16,7 @@ import { SearchExample } from './examples/Search';
16
16
  import { SegmentedTabsExample } from './examples/SegmentedTabs';
17
17
  import { SelectExample } from './examples/Select';
18
18
  import { SelectChipExample } from './examples/SelectChip';
19
+ import { TabsExample } from './examples/Tabs';
19
20
  import { TagExample } from './examples/Tag';
20
21
  import { TextInputExample } from './examples/TextInput';
21
22
  import { Container } from './Container';
@@ -38,6 +39,9 @@ export const StickerSheet = /*#__PURE__*/memo(() => {
38
39
  }), /*#__PURE__*/_jsx(Container, {
39
40
  title: "Segmented Tabs",
40
41
  children: /*#__PURE__*/_jsx(SegmentedTabsExample, {})
42
+ }), /*#__PURE__*/_jsx(Container, {
43
+ title: "Tabs",
44
+ children: /*#__PURE__*/_jsx(TabsExample, {})
41
45
  }), /*#__PURE__*/_jsx(Container, {
42
46
  title: "Select Input (SelectOption)",
43
47
  children: /*#__PURE__*/_jsx(SelectExample, {})
@@ -119,5 +119,10 @@ export const customComponentConfig = {
119
119
  return _extends({}, spacingVariant === 'normal' ? {
120
120
  minHeight: 36
121
121
  } : {});
122
+ },
123
+ Tabs: {
124
+ activeColor: 'fg',
125
+ color: 'fgMuted',
126
+ activeBackground: 'fg'
122
127
  }
123
128
  };
@@ -0,0 +1,24 @@
1
+ import React, { memo, useState } from 'react';
2
+ import { Tabs } from '../../../../tabs/Tabs';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ const tabs = [{
5
+ id: 'orderBook',
6
+ label: 'Order book'
7
+ }, {
8
+ id: 'tradeHistory',
9
+ label: 'Trade history'
10
+ }, {
11
+ id: 'orders',
12
+ label: 'Orders'
13
+ }];
14
+ export const TabsExample = /*#__PURE__*/memo(() => {
15
+ const [activeTab, setActiveTab] = useState(tabs[0]);
16
+ return /*#__PURE__*/_jsx(Tabs, {
17
+ accessibilityLabel: "Market views",
18
+ activeTab: activeTab,
19
+ background: "bg",
20
+ gap: 4,
21
+ onChange: setActiveTab,
22
+ tabs: tabs
23
+ });
24
+ });
@@ -1,4 +1,4 @@
1
- const _excluded = ["id", "label", "disabled", "onPress", "count", "max", "accessibilityLabel", "style", "testID"];
1
+ const _excluded = ["id", "label", "disabled", "onPress", "count", "max", "accessibilityLabel", "style", "testID", "color", "activeColor"];
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, useMemo } from 'react';
@@ -22,7 +22,9 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
22
22
  max,
23
23
  accessibilityLabel,
24
24
  style,
25
- testID
25
+ testID,
26
+ color = 'fg',
27
+ activeColor = 'fgPrimary'
26
28
  } = _ref,
27
29
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
28
30
  const theme = useTheme();
@@ -60,7 +62,7 @@ const DefaultTabComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_ref, ref
60
62
  alignItems: "center",
61
63
  gap: 0.5,
62
64
  children: [/*#__PURE__*/_jsx(Text, {
63
- color: isActive ? 'fgPrimary' : 'fg',
65
+ color: isActive ? activeColor : color,
64
66
  font: "headline",
65
67
  style: labelPaddingStyle,
66
68
  children: label
@@ -7,8 +7,7 @@ import { Box } from '../layout';
7
7
  import { tabsSpringConfig } from './Tabs';
8
8
 
9
9
  /**
10
- * Default underline-style indicator for mobile `Tabs`. Pass as
11
- * `TabsActiveIndicatorComponent={DefaultTabsActiveIndicator}` with `TabComponent={DefaultTab}`.
10
+ * Default underline-style indicator for mobile `Tabs`.
12
11
  */
13
12
  import { jsx as _jsx } from "react/jsx-runtime";
14
13
  const AnimatedBox = Animated.createAnimatedComponent(Box);
package/esm/tabs/Tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const _excluded = ["id", "registerRef"],
2
- _excluded2 = ["tabs", "TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "activeTab", "disabled", "onChange", "styles", "style", "role", "position", "alignSelf", "opacity", "onActiveTabElementChange", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "testID"],
2
+ _excluded2 = ["tabs", "TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "color", "activeColor", "activeTab", "disabled", "onChange", "styles", "style", "role", "position", "alignSelf", "opacity", "onActiveTabElementChange", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "testID"],
3
3
  _excluded3 = ["id", "Component"],
4
4
  _excluded4 = ["activeTabRect", "position", "style", "testID"];
5
5
  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); }
@@ -42,6 +42,8 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
42
42
  TabComponent = DefaultTab,
43
43
  TabsActiveIndicatorComponent = DefaultTabsActiveIndicator,
44
44
  activeBackground,
45
+ color,
46
+ activeColor,
45
47
  activeTab,
46
48
  disabled,
47
49
  onChange,
@@ -100,6 +102,7 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
100
102
  borderRadius: borderRadius,
101
103
  borderTopLeftRadius: borderTopLeftRadius,
102
104
  borderTopRightRadius: borderTopRightRadius,
105
+ color: color,
103
106
  onLayout: updateActiveTabRect,
104
107
  opacity: opacity != null ? opacity : disabled ? accessibleOpacityDisabled : 1,
105
108
  position: position,
@@ -119,20 +122,23 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
119
122
  borderTopRightRadius: borderTopRightRadius,
120
123
  style: styles == null ? void 0 : styles.activeIndicator,
121
124
  testID: testID ? testID + "-active-indicator" : undefined
122
- }), tabs.map(_ref2 => {
123
- let {
125
+ }), tabs.map(tabProps => {
126
+ const {
124
127
  id,
125
128
  Component: CustomTabComponent
126
- } = _ref2,
127
- props = _objectWithoutPropertiesLoose(_ref2, _excluded3);
129
+ } = tabProps,
130
+ tabRest = _objectWithoutPropertiesLoose(tabProps, _excluded3);
128
131
  const RenderedTab = CustomTabComponent != null ? CustomTabComponent : TabComponent;
132
+ const renderedTabProps = _extends({}, tabRest, {
133
+ activeColor,
134
+ color,
135
+ id,
136
+ style: styles == null ? void 0 : styles.tab
137
+ });
129
138
  return /*#__PURE__*/_jsx(TabContainer, {
130
139
  id: id,
131
140
  registerRef: registerRef,
132
- children: /*#__PURE__*/_jsx(RenderedTab, _extends({
133
- id: id,
134
- style: styles == null ? void 0 : styles.tab
135
- }, props))
141
+ children: /*#__PURE__*/_jsx(RenderedTab, _extends({}, renderedTabProps))
136
142
  }, id);
137
143
  })]
138
144
  })
@@ -140,14 +146,14 @@ const TabsComponent = /*#__PURE__*/memo(/*#__PURE__*/forwardRef((_props, ref) =>
140
146
  }));
141
147
  TabsComponent.displayName = 'Tabs';
142
148
  export const Tabs = TabsComponent;
143
- export const TabsActiveIndicator = _ref3 => {
149
+ export const TabsActiveIndicator = _ref2 => {
144
150
  let {
145
151
  activeTabRect,
146
152
  position = 'absolute',
147
153
  style,
148
154
  testID = 'tabs-active-indicator'
149
- } = _ref3,
150
- props = _objectWithoutPropertiesLoose(_ref3, _excluded4);
155
+ } = _ref2,
156
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded4);
151
157
  const previousActiveTabRect = useRef(activeTabRect);
152
158
  const newActiveTabRect = {
153
159
  x: activeTabRect.x,
@@ -292,7 +292,14 @@ const SegmentedTabsScreen = () => /*#__PURE__*/_jsxs(ExampleScreen, {
292
292
  defaultActiveTab: basicSegments[0],
293
293
  tabs: basicSegments,
294
294
  title: "Border Radius"
295
- }), /*#__PURE__*/_jsx(CustomStylesExample, {}), /*#__PURE__*/_jsx(IconLabelsExample, {})]
295
+ }), /*#__PURE__*/_jsx(CustomStylesExample, {}), /*#__PURE__*/_jsx(IconLabelsExample, {}), /*#__PURE__*/_jsx(SegmentedTabsExample, {
296
+ activeBackground: "bgPositiveWash",
297
+ activeColor: "bgPositive",
298
+ color: "fgMuted",
299
+ defaultActiveTab: basicSegments[0],
300
+ tabs: basicSegments,
301
+ title: "Label Colors"
302
+ })]
296
303
  });
297
304
  const CustomStylesExample = () => {
298
305
  const theme = useTheme();
@@ -97,7 +97,6 @@ const TabsWithPanelsExample = () => {
97
97
  children: "Pair tab buttons with content regions that follow the active tab (see panel below)."
98
98
  }), /*#__PURE__*/_jsx(Tabs, {
99
99
  TabComponent: DefaultTab,
100
- TabsActiveIndicatorComponent: DefaultTabsActiveIndicator,
101
100
  accessibilityLabel: "Content sections",
102
101
  activeBackground: "bg",
103
102
  activeTab: activeTab,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinbase/cds-mobile",
3
- "version": "8.69.1",
3
+ "version": "8.71.0",
4
4
  "description": "Coinbase Design System - Mobile",
5
5
  "repository": {
6
6
  "type": "git",
@@ -196,7 +196,7 @@
196
196
  "react-native-svg": "^14.1.0"
197
197
  },
198
198
  "dependencies": {
199
- "@coinbase/cds-common": "^8.69.1",
199
+ "@coinbase/cds-common": "^8.71.0",
200
200
  "@coinbase/cds-icons": "^5.16.0",
201
201
  "@coinbase/cds-illustrations": "^4.38.0",
202
202
  "@coinbase/cds-lottie-files": "^3.3.4",