@coinbase/cds-mobile 9.14.0 → 9.15.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/accordion/Accordion.d.ts +11 -1
- package/dts/accordion/Accordion.d.ts.map +1 -1
- package/dts/accordion/AccordionHeader.d.ts +33 -5
- package/dts/accordion/AccordionHeader.d.ts.map +1 -1
- package/dts/accordion/AccordionItem.d.ts +25 -17
- package/dts/accordion/AccordionItem.d.ts.map +1 -1
- package/dts/accordion/AccordionPanel.d.ts +6 -2
- package/dts/accordion/AccordionPanel.d.ts.map +1 -1
- package/dts/collapsible/Collapsible.d.ts +5 -2
- package/dts/collapsible/Collapsible.d.ts.map +1 -1
- package/dts/controls/Switch.d.ts +10 -1
- package/dts/controls/Switch.d.ts.map +1 -1
- package/dts/core/componentConfig.d.ts +2 -0
- package/dts/core/componentConfig.d.ts.map +1 -1
- package/dts/tabs/SegmentedTabs.d.ts +10 -2
- package/dts/tabs/SegmentedTabs.d.ts.map +1 -1
- package/esm/accordion/Accordion.js +6 -2
- package/esm/accordion/AccordionHeader.js +49 -15
- package/esm/accordion/AccordionItem.js +40 -6
- package/esm/accordion/AccordionPanel.js +3 -1
- package/esm/collapsible/Collapsible.js +4 -2
- package/esm/controls/Switch.js +25 -4
- package/esm/controls/__stories__/Switch.stories.js +26 -1
- package/esm/tabs/SegmentedTabs.js +24 -5
- 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
|
+
## 9.15.0 (8/11/2026 PST)
|
|
12
|
+
|
|
13
|
+
#### 🚀 Updates
|
|
14
|
+
|
|
15
|
+
[[#839](https://github.com/coinbase/cds/pull/839)]
|
|
16
|
+
|
|
17
|
+
- Add new prop: variant to Switch component.
|
|
18
|
+
- Add new prop: showItemSeparators to Accordion component.
|
|
19
|
+
- Add new prop: showHeaderBorder to AccordionItem component.
|
|
20
|
+
- Add AccordionItem to ComponentConfig system.
|
|
21
|
+
- Add new prop: equalWidth to SegmentedTabs component.
|
|
22
|
+
|
|
11
23
|
## 9.14.0 (8/11/2026 PST)
|
|
12
24
|
|
|
13
25
|
#### 🚀 Updates
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import type { ViewProps } from 'react-native';
|
|
2
2
|
import { type AccordionProviderProps } from '@coinbase/cds-common/accordion/AccordionProvider';
|
|
3
|
+
import type { ThemeVars } from '@coinbase/cds-common/core/theme';
|
|
3
4
|
import type { SharedProps } from '@coinbase/cds-common/types/SharedProps';
|
|
4
|
-
export type AccordionBaseProps = SharedProps &
|
|
5
|
+
export type AccordionBaseProps = SharedProps &
|
|
6
|
+
AccordionProviderProps & {
|
|
7
|
+
/** Border radius of the accordion root container */
|
|
8
|
+
borderRadius?: ThemeVars.BorderRadius;
|
|
9
|
+
/**
|
|
10
|
+
* Show a divider between each accordion item.
|
|
11
|
+
* @default true
|
|
12
|
+
*/
|
|
13
|
+
showItemSeparators?: boolean;
|
|
14
|
+
};
|
|
5
15
|
export type AccordionProps = AccordionBaseProps & Pick<ViewProps, 'style'>;
|
|
6
16
|
export declare const Accordion: import('react').MemoExoticComponent<
|
|
7
17
|
(_props: AccordionProps) => import('react/jsx-runtime').JSX.Element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAO1E,MAAM,MAAM,kBAAkB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAO1E,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAC1C,sBAAsB,GAAG;IACvB,oDAAoD;IACpD,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;IACtC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE3E,eAAO,MAAM,SAAS,+CAAiB,cAAc,6CAgCnD,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { View } from 'react-native';
|
|
2
|
+
import type { StyleProp, View, ViewStyle } from 'react-native';
|
|
3
|
+
import type { ThemeVars } from '@coinbase/cds-common/core/theme';
|
|
4
|
+
import type { IconSize } from '@coinbase/cds-common/types/IconSize';
|
|
3
5
|
import type { SharedProps } from '@coinbase/cds-common/types/SharedProps';
|
|
6
|
+
import type { PaddingProps } from '@coinbase/cds-common/types/SpacingProps';
|
|
4
7
|
import type { CollapsibleBaseProps } from '../collapsible/Collapsible';
|
|
8
|
+
import { type BoxBaseProps } from '../layout/Box';
|
|
5
9
|
export type AccordionMediaBaseProps = {
|
|
6
10
|
media?: React.ReactNode;
|
|
7
11
|
};
|
|
@@ -19,11 +23,17 @@ export type AccordionTitleBaseProps = {
|
|
|
19
23
|
*/
|
|
20
24
|
tertiaryTitle?: string;
|
|
21
25
|
};
|
|
22
|
-
export type AccordionIconBaseProps = Pick<CollapsibleBaseProps, 'collapsed'
|
|
26
|
+
export type AccordionIconBaseProps = Pick<CollapsibleBaseProps, 'collapsed'> & {
|
|
27
|
+
/** Size of the caret icon.
|
|
28
|
+
* @default s
|
|
29
|
+
*/
|
|
30
|
+
caretSize?: IconSize;
|
|
31
|
+
};
|
|
23
32
|
export type AccordionHeaderBaseProps = SharedProps &
|
|
24
33
|
AccordionMediaBaseProps &
|
|
25
34
|
AccordionTitleBaseProps &
|
|
26
|
-
AccordionIconBaseProps &
|
|
35
|
+
AccordionIconBaseProps &
|
|
36
|
+
Pick<BoxBaseProps, keyof PaddingProps> & {
|
|
27
37
|
/**
|
|
28
38
|
* Callback function fired when the accordion item is pressed
|
|
29
39
|
*/
|
|
@@ -34,6 +44,11 @@ export type AccordionHeaderBaseProps = SharedProps &
|
|
|
34
44
|
* unless you want multiple items to be controlled at the same time.
|
|
35
45
|
*/
|
|
36
46
|
itemKey: string;
|
|
47
|
+
/**
|
|
48
|
+
* Background color of the header pressable.
|
|
49
|
+
* @default bg
|
|
50
|
+
*/
|
|
51
|
+
background?: ThemeVars.Color;
|
|
37
52
|
};
|
|
38
53
|
export type AccordionMediaProps = AccordionMediaBaseProps;
|
|
39
54
|
export declare const AccordionMedia: React.MemoExoticComponent<
|
|
@@ -49,9 +64,12 @@ export declare const AccordionTitle: React.MemoExoticComponent<
|
|
|
49
64
|
>;
|
|
50
65
|
export type AccordionIconProps = AccordionIconBaseProps;
|
|
51
66
|
export declare const AccordionIcon: React.MemoExoticComponent<
|
|
52
|
-
({ collapsed }: AccordionIconProps) => import('react/jsx-runtime').JSX.Element
|
|
67
|
+
({ collapsed, caretSize }: AccordionIconProps) => import('react/jsx-runtime').JSX.Element
|
|
53
68
|
>;
|
|
54
|
-
export type AccordionHeaderProps = AccordionHeaderBaseProps
|
|
69
|
+
export type AccordionHeaderProps = AccordionHeaderBaseProps & {
|
|
70
|
+
/** Custom style for the header pressable element */
|
|
71
|
+
style?: StyleProp<ViewStyle>;
|
|
72
|
+
};
|
|
55
73
|
/**
|
|
56
74
|
* Renders a Pressable element to use as the header to an AccordionItem.
|
|
57
75
|
* Composes an Accordion Media, Title, and Icon.
|
|
@@ -67,6 +85,16 @@ export declare const AccordionHeader: React.MemoExoticComponent<
|
|
|
67
85
|
media,
|
|
68
86
|
collapsed,
|
|
69
87
|
testID,
|
|
88
|
+
style,
|
|
89
|
+
background,
|
|
90
|
+
caretSize,
|
|
91
|
+
padding,
|
|
92
|
+
paddingX,
|
|
93
|
+
paddingY,
|
|
94
|
+
paddingTop,
|
|
95
|
+
paddingBottom,
|
|
96
|
+
paddingStart,
|
|
97
|
+
paddingEnd,
|
|
70
98
|
}: AccordionHeaderProps & {
|
|
71
99
|
ref?: React.Ref<View>;
|
|
72
100
|
}) => import('react/jsx-runtime').JSX.Element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionHeader.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AccordionHeader.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAG5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAavD,MAAM,MAAM,uBAAuB,GAAG;IAEpC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG;IAC7E;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAChD,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,IAAI,CAAC,YAAY,EAAE,MAAM,YAAY,CAAC,GAAG;IACvC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,eAAO,MAAM,cAAc,wCAAoB,mBAAmB,6CAAwB,CAAC;AAE3F,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D,eAAO,MAAM,cAAc,iEAA6C,mBAAmB,6CAgBzF,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,eAAO,MAAM,aAAa,uDAAyC,kBAAkB,6CASnF,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG;IAC5D,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,iPAqBvB,oBAAoB,GAAG;IACxB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;CACvB,6CA6CF,CAAC"}
|
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { View,
|
|
2
|
+
import type { StyleProp, View, ViewStyle } from 'react-native';
|
|
3
|
+
import type { ThemeVars } from '@coinbase/cds-common/core/theme';
|
|
3
4
|
import { type AccordionHeaderBaseProps } from './AccordionHeader';
|
|
4
5
|
import { type AccordionPanelBaseProps } from './AccordionPanel';
|
|
5
|
-
export type AccordionItemBaseProps =
|
|
6
|
-
Omit<AccordionHeaderBaseProps, 'collapsed'> &
|
|
6
|
+
export type AccordionItemBaseProps = Omit<AccordionHeaderBaseProps, 'collapsed'> &
|
|
7
7
|
Omit<AccordionPanelBaseProps, 'collapsed'> & {
|
|
8
8
|
headerRef?: React.RefObject<View | null>;
|
|
9
9
|
panelRef?: React.RefObject<View | null>;
|
|
10
|
+
/**
|
|
11
|
+
* Show a border between the header and panel.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
showHeaderBorder?: boolean;
|
|
15
|
+
/** Border radius of the accordion item root container */
|
|
16
|
+
borderRadius?: ThemeVars.BorderRadius;
|
|
10
17
|
};
|
|
11
|
-
export type
|
|
18
|
+
export type AccordionItemStyles = {
|
|
19
|
+
/** Root container element */
|
|
20
|
+
root?: StyleProp<ViewStyle>;
|
|
21
|
+
/** Header pressable element */
|
|
22
|
+
header?: StyleProp<ViewStyle>;
|
|
23
|
+
/** Collapsible panel container element */
|
|
24
|
+
panel?: StyleProp<ViewStyle>;
|
|
25
|
+
};
|
|
26
|
+
export type AccordionItemProps = AccordionItemBaseProps & {
|
|
27
|
+
/** Custom style for the root element */
|
|
28
|
+
style?: StyleProp<ViewStyle>;
|
|
29
|
+
/** Custom styles for individual elements of the AccordionItem component */
|
|
30
|
+
styles?: AccordionItemStyles;
|
|
31
|
+
};
|
|
12
32
|
/**
|
|
13
33
|
* A component that represents a single item within an Accordion.
|
|
14
34
|
* It composes together an AccordionHeader and a collapsible AccordionPanel.
|
|
15
35
|
* Accepts a unique `itemKey` prop to uniquely identify one item from another within the same Accordion.
|
|
16
36
|
*/
|
|
17
37
|
export declare const AccordionItem: React.MemoExoticComponent<
|
|
18
|
-
(
|
|
19
|
-
itemKey,
|
|
20
|
-
title,
|
|
21
|
-
subtitle,
|
|
22
|
-
tertiaryTitle,
|
|
23
|
-
children,
|
|
24
|
-
onPress,
|
|
25
|
-
media,
|
|
26
|
-
testID,
|
|
27
|
-
headerRef,
|
|
28
|
-
panelRef,
|
|
29
|
-
style,
|
|
30
|
-
}: AccordionItemProps) => import('react/jsx-runtime').JSX.Element
|
|
38
|
+
(_props: AccordionItemProps) => import('react/jsx-runtime').JSX.Element
|
|
31
39
|
>;
|
|
32
40
|
//# sourceMappingURL=AccordionItem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAOjE,OAAO,EAAmB,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAkB,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,GAC9E,IAAI,CAAC,uBAAuB,EAAE,WAAW,CAAC,GAAG;IAC3C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;CACvC,CAAC;AAEJ,MAAM,MAAM,mBAAmB,GAAG;IAChC,6BAA6B;IAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,wCAAwC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,qCAAiB,kBAAkB,6CA+E3D,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { View } from 'react-native';
|
|
2
|
+
import type { StyleProp, View, ViewStyle } from 'react-native';
|
|
3
3
|
import type { SharedProps } from '@coinbase/cds-common/types/SharedProps';
|
|
4
4
|
import { type CollapsibleBaseProps } from '../collapsible/Collapsible';
|
|
5
5
|
export type AccordionPanelBaseProps = SharedProps &
|
|
@@ -11,7 +11,10 @@ export type AccordionPanelBaseProps = SharedProps &
|
|
|
11
11
|
*/
|
|
12
12
|
itemKey: string;
|
|
13
13
|
};
|
|
14
|
-
export type AccordionPanelProps = AccordionPanelBaseProps
|
|
14
|
+
export type AccordionPanelProps = AccordionPanelBaseProps & {
|
|
15
|
+
/** Custom style applied to the collapsible panel container */
|
|
16
|
+
style?: StyleProp<ViewStyle>;
|
|
17
|
+
};
|
|
15
18
|
/**
|
|
16
19
|
* Renders a collapsible element to use as the primary content container for an AccordionItem.
|
|
17
20
|
* Accepts a unique `itemKey` prop to uniquely identify one panel from another.
|
|
@@ -22,6 +25,7 @@ export declare const AccordionPanel: React.MemoExoticComponent<
|
|
|
22
25
|
children,
|
|
23
26
|
collapsed,
|
|
24
27
|
testID,
|
|
28
|
+
style,
|
|
25
29
|
}: AccordionPanelProps & {
|
|
26
30
|
ref?: React.Ref<View>;
|
|
27
31
|
}) => import('react/jsx-runtime').JSX.Element
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionPanel.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"AccordionPanel.d.ts","sourceRoot":"","sources":["../../src/accordion/AccordionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpF,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAC/C,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IACrD;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG;IAC1D,8DAA8D;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,yFAOtB,mBAAmB,GAAG;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;CACvB,6CAcF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
|
-
import type { ScrollViewProps } from 'react-native';
|
|
3
|
+
import type { ScrollViewProps, StyleProp, ViewStyle } from 'react-native';
|
|
4
4
|
import type { CollapsibleDirection } from '@coinbase/cds-common/types/CollapsibleBaseProps';
|
|
5
5
|
import type { SharedProps } from '@coinbase/cds-common/types/SharedProps';
|
|
6
6
|
import type { PaddingProps } from '@coinbase/cds-common/types/SpacingProps';
|
|
@@ -33,7 +33,10 @@ export type CollapsibleBaseProps = SharedProps &
|
|
|
33
33
|
*/
|
|
34
34
|
maxWidth?: number;
|
|
35
35
|
};
|
|
36
|
-
export type CollapsibleProps = CollapsibleBaseProps
|
|
36
|
+
export type CollapsibleProps = CollapsibleBaseProps & {
|
|
37
|
+
/** Custom style applied to the root animated container element */
|
|
38
|
+
style?: StyleProp<ViewStyle>;
|
|
39
|
+
};
|
|
37
40
|
export declare const Collapsible: React.MemoExoticComponent<
|
|
38
41
|
({
|
|
39
42
|
ref: forwardedRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA0B,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../../src/collapsible/Collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA0B,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAa1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAU5E,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAC5C,YAAY,GAAG;IACb;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD,kEAAkE;IAClE,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,WAAW,+DAInB,gBAAgB,GAAG;IACpB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;CACvB,6CAuJF,CAAC"}
|
package/dts/controls/Switch.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type StyleProp, type View, type ViewStyle } from 'react-native';
|
|
3
3
|
import { type ControlBaseProps } from './Control';
|
|
4
|
+
/** Semantic color variants for Switch, matching the semantics used by other control components. */
|
|
5
|
+
export type SwitchVariant = 'primary' | 'positive' | 'negative';
|
|
4
6
|
export type SwitchBaseProps<SwitchValue extends string> = Omit<
|
|
5
7
|
ControlBaseProps<SwitchValue>,
|
|
6
8
|
'controlSize' | 'dotSize'
|
|
7
|
-
|
|
9
|
+
> & {
|
|
10
|
+
/**
|
|
11
|
+
* Semantic color variant applied to the track when checked. The `background` prop always
|
|
12
|
+
* takes priority over the background set by the variant, as does any custom `style`/`styles.control`.
|
|
13
|
+
* @default primary
|
|
14
|
+
*/
|
|
15
|
+
variant?: SwitchVariant;
|
|
16
|
+
};
|
|
8
17
|
export type SwitchProps<SwitchValue extends string> = SwitchBaseProps<SwitchValue> & {
|
|
9
18
|
/**
|
|
10
19
|
* Label content rendered next to the switch control.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/controls/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAc,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/controls/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAc,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQrF,OAAO,EAAW,KAAK,gBAAgB,EAAyB,MAAM,WAAW,CAAC;AAKlF,mGAAmG;AACnG,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAShE,MAAM,MAAM,eAAe,CAAC,WAAW,SAAS,MAAM,IAAI,IAAI,CAC5D,gBAAgB,CAAC,WAAW,CAAC,EAC7B,aAAa,GAAG,SAAS,CAC1B,GAAG;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,GAAG;IACnF;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,oCAAoC;IACpC,MAAM,CAAC,EAAE;QACP,oDAAoD;QACpD,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B;;;WAGG;QACH,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KAChC,CAAC;CACH,CAAC;AAgJF,eAAO,MAAM,MAAM,8BAzD0B,WAAW,SAAS,MAAM,sBAGpE,WAAW,CAAC,WAAW,CAAC,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;CACvB,8CAoDwC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AccordionBaseProps } from '../accordion/Accordion';
|
|
2
|
+
import type { AccordionItemBaseProps } from '../accordion/AccordionItem';
|
|
2
3
|
import type { ComboboxBaseProps } from '../alpha/combobox/Combobox';
|
|
3
4
|
import type { SelectBaseProps } from '../alpha/select/types';
|
|
4
5
|
import type { SelectChipBaseProps } from '../alpha/select-chip/SelectChip';
|
|
@@ -88,6 +89,7 @@ export type ConfigResolver<P> = Partial<P> | ((props: P) => Partial<P>);
|
|
|
88
89
|
*/
|
|
89
90
|
export type ComponentConfig = {
|
|
90
91
|
Accordion?: ConfigResolver<AccordionBaseProps>;
|
|
92
|
+
AccordionItem?: ConfigResolver<AccordionItemBaseProps>;
|
|
91
93
|
Alert?: ConfigResolver<AlertBaseProps>;
|
|
92
94
|
TabbedChips?: ConfigResolver<TabbedChipsBaseProps>;
|
|
93
95
|
Avatar?: ConfigResolver<AvatarBaseProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentConfig.d.ts","sourceRoot":"","sources":["../../src/core/componentConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"componentConfig.d.ts","sourceRoot":"","sources":["../../src/core/componentConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,15 @@ import { type TabsBaseProps, type TabsProps } from './Tabs';
|
|
|
4
4
|
export type SegmentedTabsBaseProps<TabId extends string = string> = Partial<
|
|
5
5
|
Pick<TabsBaseProps<TabId>, 'TabComponent' | 'TabsActiveIndicatorComponent'>
|
|
6
6
|
> &
|
|
7
|
-
Omit<TabsBaseProps<TabId>, 'TabComponent' | 'TabsActiveIndicatorComponent' | 'styles'
|
|
7
|
+
Omit<TabsBaseProps<TabId>, 'TabComponent' | 'TabsActiveIndicatorComponent' | 'styles'> & {
|
|
8
|
+
/**
|
|
9
|
+
* When true, each tab stretches to an equal share of the component width and the component
|
|
10
|
+
* fills its parent. This is the correct way to achieve distributed tab layout — do NOT use
|
|
11
|
+
* `justifyContent` for this, as it breaks the active indicator position calculation.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
equalWidth?: boolean;
|
|
15
|
+
};
|
|
8
16
|
export type SegmentedTabsProps<TabId extends string = string> = SegmentedTabsBaseProps<TabId> &
|
|
9
17
|
Partial<Pick<TabsProps<TabId>, 'TabComponent' | 'TabsActiveIndicatorComponent'>> &
|
|
10
18
|
Omit<TabsProps<TabId>, 'TabComponent' | 'TabsActiveIndicatorComponent' | 'styles'> & {
|
|
@@ -12,7 +20,7 @@ export type SegmentedTabsProps<TabId extends string = string> = SegmentedTabsBas
|
|
|
12
20
|
styles?: {
|
|
13
21
|
/** Root container element */
|
|
14
22
|
root?: StyleProp<ViewStyle>;
|
|
15
|
-
/**
|
|
23
|
+
/** Wrapper View around each tab — use `{ flex: 1 }` for equal-width distribution */
|
|
16
24
|
tabContainer?: StyleProp<ViewStyle>;
|
|
17
25
|
/** Tab element */
|
|
18
26
|
tab?: StyleProp<ViewStyle>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedTabs.d.ts","sourceRoot":"","sources":["../../src/tabs/SegmentedTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SegmentedTabs.d.ts","sourceRoot":"","sources":["../../src/tabs/SegmentedTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM/D,OAAO,EAAQ,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAQlE,MAAM,MAAM,sBAAsB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,OAAO,CACzE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,8BAA8B,CAAC,CAC5E,GACC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,8BAA8B,GAAG,QAAQ,CAAC,GAAG;IACvF;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,GAC3F,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,8BAA8B,CAAC,CAAC,GAChF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,8BAA8B,GAAG,QAAQ,CAAC,GAAG;IACnF,2EAA2E;IAC3E,MAAM,CAAC,EAAE;QACP,6BAA6B;QAC7B,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,oFAAoF;QACpF,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,kBAAkB;QAClB,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,+BAA+B;QAC/B,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEJ,KAAK,eAAe,GAAG,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACnD,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;CAAE,KAClE,KAAK,CAAC,YAAY,CAAC;AAiDxB,eAAO,MAAM,aAAa,EAA6B,eAAe,CAAC"}
|
|
@@ -14,7 +14,9 @@ export const Accordion = /*#__PURE__*/memo(_props => {
|
|
|
14
14
|
onChange,
|
|
15
15
|
setActiveKey,
|
|
16
16
|
testID,
|
|
17
|
-
style
|
|
17
|
+
style,
|
|
18
|
+
borderRadius,
|
|
19
|
+
showItemSeparators = true
|
|
18
20
|
} = mergedProps;
|
|
19
21
|
return /*#__PURE__*/_jsx(AccordionProvider, {
|
|
20
22
|
activeKey: activeKey,
|
|
@@ -22,10 +24,12 @@ export const Accordion = /*#__PURE__*/memo(_props => {
|
|
|
22
24
|
onChange: onChange,
|
|
23
25
|
setActiveKey: setActiveKey,
|
|
24
26
|
children: /*#__PURE__*/_jsx(VStack, {
|
|
27
|
+
borderRadius: borderRadius,
|
|
28
|
+
overflow: borderRadius !== undefined ? 'hidden' : undefined,
|
|
25
29
|
style: style,
|
|
26
30
|
testID: testID,
|
|
27
31
|
width: "100%",
|
|
28
|
-
children: join(Children.toArray(children), /*#__PURE__*/_jsx(Divider, {}))
|
|
32
|
+
children: showItemSeparators ? join(Children.toArray(children), /*#__PURE__*/_jsx(Divider, {})) : children
|
|
29
33
|
})
|
|
30
34
|
});
|
|
31
35
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
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); }
|
|
2
|
-
import React, { memo, useCallback } from 'react';
|
|
2
|
+
import React, { memo, useCallback, useMemo } from 'react';
|
|
3
3
|
import { useAccordionContext } from '@coinbase/cds-common/accordion/AccordionProvider';
|
|
4
4
|
import { accordionIconHiddenRotate, accordionIconVisibleRotate } from '@coinbase/cds-common/animation/accordion';
|
|
5
5
|
import { listHeight } from '@coinbase/cds-common/tokens/cell';
|
|
@@ -11,20 +11,28 @@ import { AnimatedCaret } from '../motion/AnimatedCaret';
|
|
|
11
11
|
import { Pressable } from '../system/Pressable';
|
|
12
12
|
import { Text } from '../typography/Text';
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
|
|
14
|
+
const compactPaddingProps = paddingProps => {
|
|
15
|
+
const entries = Object.entries(paddingProps).filter(_ref => {
|
|
16
|
+
let [, value] = _ref;
|
|
17
|
+
return value !== undefined;
|
|
18
|
+
});
|
|
19
|
+
if (entries.length === 0) return undefined;
|
|
20
|
+
return Object.fromEntries(entries);
|
|
21
|
+
};
|
|
22
|
+
export const AccordionMedia = /*#__PURE__*/memo(_ref2 => {
|
|
15
23
|
let {
|
|
16
24
|
media
|
|
17
|
-
} =
|
|
25
|
+
} = _ref2;
|
|
18
26
|
return /*#__PURE__*/_jsx(Box, {
|
|
19
27
|
children: media
|
|
20
28
|
});
|
|
21
29
|
});
|
|
22
|
-
export const AccordionTitle = /*#__PURE__*/memo(
|
|
30
|
+
export const AccordionTitle = /*#__PURE__*/memo(_ref3 => {
|
|
23
31
|
let {
|
|
24
32
|
title,
|
|
25
33
|
subtitle,
|
|
26
34
|
tertiaryTitle
|
|
27
|
-
} =
|
|
35
|
+
} = _ref3;
|
|
28
36
|
return /*#__PURE__*/_jsx(Box, {
|
|
29
37
|
flexGrow: 1,
|
|
30
38
|
flexShrink: 1,
|
|
@@ -45,14 +53,16 @@ export const AccordionTitle = /*#__PURE__*/memo(_ref2 => {
|
|
|
45
53
|
})
|
|
46
54
|
});
|
|
47
55
|
});
|
|
48
|
-
export const AccordionIcon = /*#__PURE__*/memo(
|
|
56
|
+
export const AccordionIcon = /*#__PURE__*/memo(_ref4 => {
|
|
49
57
|
let {
|
|
50
|
-
collapsed
|
|
51
|
-
|
|
58
|
+
collapsed,
|
|
59
|
+
caretSize = 's'
|
|
60
|
+
} = _ref4;
|
|
52
61
|
return /*#__PURE__*/_jsx(Box, {
|
|
53
62
|
justifyContent: "flex-end",
|
|
54
63
|
children: /*#__PURE__*/_jsx(AnimatedCaret, {
|
|
55
|
-
rotate: collapsed ? accordionIconHiddenRotate : accordionIconVisibleRotate
|
|
64
|
+
rotate: collapsed ? accordionIconHiddenRotate : accordionIconVisibleRotate,
|
|
65
|
+
size: caretSize
|
|
56
66
|
})
|
|
57
67
|
});
|
|
58
68
|
});
|
|
@@ -60,7 +70,7 @@ export const AccordionIcon = /*#__PURE__*/memo(_ref3 => {
|
|
|
60
70
|
* Renders a Pressable element to use as the header to an AccordionItem.
|
|
61
71
|
* Composes an Accordion Media, Title, and Icon.
|
|
62
72
|
*/
|
|
63
|
-
export const AccordionHeader = /*#__PURE__*/memo(
|
|
73
|
+
export const AccordionHeader = /*#__PURE__*/memo(_ref5 => {
|
|
64
74
|
let {
|
|
65
75
|
ref: forwardedRef,
|
|
66
76
|
itemKey,
|
|
@@ -70,13 +80,35 @@ export const AccordionHeader = /*#__PURE__*/memo(_ref4 => {
|
|
|
70
80
|
onPress,
|
|
71
81
|
media,
|
|
72
82
|
collapsed,
|
|
73
|
-
testID
|
|
74
|
-
|
|
83
|
+
testID,
|
|
84
|
+
style,
|
|
85
|
+
background = 'bg',
|
|
86
|
+
caretSize,
|
|
87
|
+
padding,
|
|
88
|
+
paddingX,
|
|
89
|
+
paddingY,
|
|
90
|
+
paddingTop,
|
|
91
|
+
paddingBottom,
|
|
92
|
+
paddingStart,
|
|
93
|
+
paddingEnd
|
|
94
|
+
} = _ref5;
|
|
75
95
|
const {
|
|
76
96
|
setActiveKey,
|
|
77
97
|
activeKey
|
|
78
98
|
} = useAccordionContext();
|
|
79
|
-
const
|
|
99
|
+
const outerSpacing = useMemo(() => compactPaddingProps({
|
|
100
|
+
padding,
|
|
101
|
+
paddingX,
|
|
102
|
+
paddingY,
|
|
103
|
+
paddingTop,
|
|
104
|
+
paddingBottom,
|
|
105
|
+
paddingStart,
|
|
106
|
+
paddingEnd
|
|
107
|
+
}), [padding, paddingX, paddingY, paddingTop, paddingBottom, paddingStart, paddingEnd]);
|
|
108
|
+
// Header padding follows the same outer spacing rules as Cell.
|
|
109
|
+
const spacing = useCellSpacing({
|
|
110
|
+
outerSpacing
|
|
111
|
+
});
|
|
80
112
|
const accessibilityLabel = [title, subtitle, tertiaryTitle].filter(Boolean).join(', ');
|
|
81
113
|
const handlePress = useCallback(() => {
|
|
82
114
|
onPress == null || onPress(itemKey);
|
|
@@ -85,15 +117,16 @@ export const AccordionHeader = /*#__PURE__*/memo(_ref4 => {
|
|
|
85
117
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
86
118
|
ref: forwardedRef,
|
|
87
119
|
noScaleOnPress: true,
|
|
88
|
-
transparentWhileInactive: true,
|
|
89
120
|
accessibilityLabel: accessibilityLabel,
|
|
90
121
|
accessibilityRole: "togglebutton",
|
|
91
122
|
accessibilityState: {
|
|
92
123
|
expanded: !collapsed
|
|
93
124
|
},
|
|
94
|
-
background:
|
|
125
|
+
background: background,
|
|
95
126
|
onPress: handlePress,
|
|
127
|
+
style: style,
|
|
96
128
|
testID: testID,
|
|
129
|
+
transparentWhileInactive: true,
|
|
97
130
|
children: /*#__PURE__*/_jsxs(HStack, _extends({
|
|
98
131
|
alignItems: "center",
|
|
99
132
|
gap: 2,
|
|
@@ -107,6 +140,7 @@ export const AccordionHeader = /*#__PURE__*/memo(_ref4 => {
|
|
|
107
140
|
tertiaryTitle: tertiaryTitle,
|
|
108
141
|
title: title
|
|
109
142
|
}), /*#__PURE__*/_jsx(AccordionIcon, {
|
|
143
|
+
caretSize: caretSize,
|
|
110
144
|
collapsed: collapsed
|
|
111
145
|
})]
|
|
112
146
|
}))
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { useAccordionContext } from '@coinbase/cds-common/accordion/AccordionProvider';
|
|
3
3
|
import { accordionMinWidth } from '@coinbase/cds-common/tokens/accordion';
|
|
4
|
+
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
5
|
+
import { Divider } from '../layout/Divider';
|
|
4
6
|
import { VStack } from '../layout/VStack';
|
|
5
7
|
import { AccordionHeader } from './AccordionHeader';
|
|
6
8
|
import { AccordionPanel } from './AccordionPanel';
|
|
@@ -10,8 +12,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
10
12
|
* It composes together an AccordionHeader and a collapsible AccordionPanel.
|
|
11
13
|
* Accepts a unique `itemKey` prop to uniquely identify one item from another within the same Accordion.
|
|
12
14
|
*/
|
|
13
|
-
export const AccordionItem = /*#__PURE__*/memo(
|
|
14
|
-
|
|
15
|
+
export const AccordionItem = /*#__PURE__*/memo(_props => {
|
|
16
|
+
const mergedProps = useComponentConfig('AccordionItem', _props);
|
|
17
|
+
const {
|
|
15
18
|
itemKey,
|
|
16
19
|
title,
|
|
17
20
|
subtitle,
|
|
@@ -22,30 +25,61 @@ export const AccordionItem = /*#__PURE__*/memo(_ref => {
|
|
|
22
25
|
testID,
|
|
23
26
|
headerRef,
|
|
24
27
|
panelRef,
|
|
25
|
-
style
|
|
26
|
-
|
|
28
|
+
style,
|
|
29
|
+
styles,
|
|
30
|
+
showHeaderBorder = false,
|
|
31
|
+
background,
|
|
32
|
+
caretSize,
|
|
33
|
+
borderRadius,
|
|
34
|
+
padding,
|
|
35
|
+
paddingX,
|
|
36
|
+
paddingY,
|
|
37
|
+
paddingTop,
|
|
38
|
+
paddingBottom,
|
|
39
|
+
paddingStart,
|
|
40
|
+
paddingEnd
|
|
41
|
+
} = mergedProps;
|
|
27
42
|
const {
|
|
28
43
|
activeKey
|
|
29
44
|
} = useAccordionContext();
|
|
30
45
|
const collapsed = activeKey !== itemKey;
|
|
31
46
|
return /*#__PURE__*/_jsxs(VStack, {
|
|
47
|
+
borderRadius: borderRadius,
|
|
32
48
|
minWidth: accordionMinWidth,
|
|
33
|
-
|
|
49
|
+
overflow: borderRadius !== undefined ? 'hidden' : undefined,
|
|
50
|
+
style: [style, styles == null ? void 0 : styles.root],
|
|
34
51
|
testID: testID,
|
|
52
|
+
width: "100%",
|
|
35
53
|
children: [/*#__PURE__*/_jsx(AccordionHeader, {
|
|
36
54
|
ref: headerRef,
|
|
55
|
+
background: background,
|
|
56
|
+
caretSize: caretSize,
|
|
37
57
|
collapsed: collapsed,
|
|
38
58
|
itemKey: itemKey,
|
|
39
59
|
media: media,
|
|
40
60
|
onPress: onPress,
|
|
61
|
+
padding: padding,
|
|
62
|
+
paddingBottom: paddingBottom,
|
|
63
|
+
paddingEnd: paddingEnd,
|
|
64
|
+
paddingStart: paddingStart,
|
|
65
|
+
paddingTop: paddingTop,
|
|
66
|
+
paddingX: paddingX,
|
|
67
|
+
paddingY: paddingY,
|
|
68
|
+
style: styles == null ? void 0 : styles.header,
|
|
41
69
|
subtitle: subtitle,
|
|
42
70
|
tertiaryTitle: tertiaryTitle,
|
|
43
71
|
testID: testID && testID + "-header",
|
|
44
72
|
title: title
|
|
45
|
-
}), /*#__PURE__*/_jsx(
|
|
73
|
+
}), showHeaderBorder ? /*#__PURE__*/_jsx(Divider, {
|
|
74
|
+
paddingEnd: paddingEnd,
|
|
75
|
+
paddingStart: paddingStart,
|
|
76
|
+
paddingX: paddingX,
|
|
77
|
+
testID: testID && testID + "-divider"
|
|
78
|
+
}) : null, /*#__PURE__*/_jsx(AccordionPanel, {
|
|
46
79
|
ref: panelRef,
|
|
47
80
|
collapsed: collapsed,
|
|
48
81
|
itemKey: itemKey,
|
|
82
|
+
style: styles == null ? void 0 : styles.panel,
|
|
49
83
|
testID: testID && testID + "-panel",
|
|
50
84
|
children: children
|
|
51
85
|
})]
|
|
@@ -13,12 +13,14 @@ export const AccordionPanel = /*#__PURE__*/memo(_ref => {
|
|
|
13
13
|
ref: forwardedRef,
|
|
14
14
|
children,
|
|
15
15
|
collapsed = true,
|
|
16
|
-
testID
|
|
16
|
+
testID,
|
|
17
|
+
style
|
|
17
18
|
} = _ref;
|
|
18
19
|
return /*#__PURE__*/_jsx(Collapsible, _extends({
|
|
19
20
|
ref: forwardedRef,
|
|
20
21
|
collapsed: collapsed,
|
|
21
22
|
maxHeight: accordionVisibleMaxHeight,
|
|
23
|
+
style: style,
|
|
22
24
|
testID: testID
|
|
23
25
|
}, accordionSpacing, {
|
|
24
26
|
children: children
|
|
@@ -34,7 +34,8 @@ export const Collapsible = /*#__PURE__*/memo(_ref => {
|
|
|
34
34
|
paddingEnd,
|
|
35
35
|
paddingBottom,
|
|
36
36
|
paddingStart,
|
|
37
|
-
scrollViewProps
|
|
37
|
+
scrollViewProps,
|
|
38
|
+
style
|
|
38
39
|
} = mergedProps;
|
|
39
40
|
const theme = useTheme();
|
|
40
41
|
// TO DO: Remove this after refactoring useContentSize to default values to null on initial render
|
|
@@ -112,10 +113,11 @@ export const Collapsible = /*#__PURE__*/memo(_ref => {
|
|
|
112
113
|
}));
|
|
113
114
|
const animatedContainerStyles = useMemo(() => [styles.container, animatedStyles, animatedInMaxSize], [animatedStyles, animatedInMaxSize]);
|
|
114
115
|
const containerStyles = isUnmountedExpanded ? styles.container : animatedContainerStyles;
|
|
116
|
+
const mergedContainerStyles = useMemo(() => style ? [containerStyles, style] : containerStyles, [containerStyles, style]);
|
|
115
117
|
return /*#__PURE__*/_jsx(ReanimatedView, {
|
|
116
118
|
ref: forwardedRef,
|
|
117
119
|
"aria-expanded": !collapsed,
|
|
118
|
-
style:
|
|
120
|
+
style: mergedContainerStyles,
|
|
119
121
|
testID: testID,
|
|
120
122
|
children: /*#__PURE__*/_jsx(ScrollView, _extends({
|
|
121
123
|
nestedScrollEnabled: true // for Android
|
package/esm/controls/Switch.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const _excluded = ["ref"],
|
|
2
|
-
_excluded2 = ["children", "style", "styles"];
|
|
2
|
+
_excluded2 = ["children", "style", "styles", "variant", "background", "checked"];
|
|
3
3
|
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); }
|
|
4
4
|
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; }
|
|
5
5
|
import React, { memo, useMemo } from 'react';
|
|
@@ -9,14 +9,26 @@ import { useTheme } from '../hooks/useTheme';
|
|
|
9
9
|
import { Box } from '../layout/Box';
|
|
10
10
|
import { Interactable } from '../system/Interactable';
|
|
11
11
|
import { Control } from './Control';
|
|
12
|
+
|
|
13
|
+
/** Border width of the switch head/handle, kept as a hairline regardless of theme. */
|
|
12
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
const switchThumbBorderWidth = 0.5;
|
|
16
|
+
|
|
17
|
+
/** Semantic color variants for Switch, matching the semantics used by other control components. */
|
|
18
|
+
|
|
19
|
+
/** Track background color applied when Switch is checked, keyed by `variant`. */
|
|
20
|
+
const switchVariantBackground = {
|
|
21
|
+
primary: 'bgPrimary',
|
|
22
|
+
positive: 'bgPositive',
|
|
23
|
+
negative: 'bgNegative'
|
|
24
|
+
};
|
|
13
25
|
const SwitchIcon = _ref => {
|
|
14
26
|
let {
|
|
15
27
|
pressed,
|
|
16
28
|
checked,
|
|
17
29
|
disabled,
|
|
18
30
|
controlColor,
|
|
19
|
-
background =
|
|
31
|
+
background = 'bgTertiary',
|
|
20
32
|
borderColor,
|
|
21
33
|
borderRadius = 1000,
|
|
22
34
|
borderWidth = 0,
|
|
@@ -45,7 +57,8 @@ const SwitchIcon = _ref => {
|
|
|
45
57
|
height: switchThumbSize,
|
|
46
58
|
position: 'absolute',
|
|
47
59
|
top: thumbInset - borderSize,
|
|
48
|
-
left: thumbInset - borderSize
|
|
60
|
+
left: thumbInset - borderSize,
|
|
61
|
+
borderWidth: switchThumbBorderWidth
|
|
49
62
|
}, {
|
|
50
63
|
transform: [{
|
|
51
64
|
translateX: animatedScaleValue.interpolate({
|
|
@@ -85,7 +98,10 @@ const SwitchWithRef = function SwitchWithRef(_ref2) {
|
|
|
85
98
|
const {
|
|
86
99
|
children,
|
|
87
100
|
style,
|
|
88
|
-
styles
|
|
101
|
+
styles,
|
|
102
|
+
variant = 'primary',
|
|
103
|
+
background,
|
|
104
|
+
checked
|
|
89
105
|
} = mergedProps,
|
|
90
106
|
props = _objectWithoutPropertiesLoose(mergedProps, _excluded2);
|
|
91
107
|
const theme = useTheme();
|
|
@@ -93,11 +109,16 @@ const SwitchWithRef = function SwitchWithRef(_ref2) {
|
|
|
93
109
|
switchHeight
|
|
94
110
|
} = theme.controlSize;
|
|
95
111
|
const controlStyles = useMemo(() => StyleSheet.flatten([style, styles == null ? void 0 : styles.control]), [style, styles == null ? void 0 : styles.control]);
|
|
112
|
+
// The variant only informs the track color while checked; the background prop is more
|
|
113
|
+
// specific and always wins when provided.
|
|
114
|
+
const resolvedBackground = useMemo(() => background != null ? background : checked ? switchVariantBackground[variant] : undefined, [background, checked, variant]);
|
|
96
115
|
const switchNode = /*#__PURE__*/_jsx(Control, _extends({
|
|
97
116
|
ref: ref,
|
|
98
117
|
accessible: true,
|
|
99
118
|
shouldUseSwitchTransition: true,
|
|
100
119
|
accessibilityRole: "switch",
|
|
120
|
+
background: resolvedBackground,
|
|
121
|
+
checked: checked,
|
|
101
122
|
label: children,
|
|
102
123
|
style: controlStyles
|
|
103
124
|
}, props, {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
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); }
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
4
|
-
import { VStack } from '../../layout';
|
|
4
|
+
import { HStack, VStack } from '../../layout';
|
|
5
5
|
import { ThemeProvider } from '../../system/ThemeProvider';
|
|
6
6
|
import { defaultTheme } from '../../themes/defaultTheme';
|
|
7
7
|
import { Switch } from '../Switch';
|
|
@@ -68,6 +68,31 @@ const SwitchScreen = () => {
|
|
|
68
68
|
})]
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
72
|
+
inline: true,
|
|
73
|
+
title: "Variants",
|
|
74
|
+
children: /*#__PURE__*/_jsxs(HStack, {
|
|
75
|
+
flexWrap: "wrap",
|
|
76
|
+
gap: 2,
|
|
77
|
+
children: [/*#__PURE__*/_jsx(Switch, {
|
|
78
|
+
checked: true,
|
|
79
|
+
variant: "primary",
|
|
80
|
+
children: "Primary"
|
|
81
|
+
}), /*#__PURE__*/_jsx(Switch, {
|
|
82
|
+
checked: true,
|
|
83
|
+
variant: "positive",
|
|
84
|
+
children: "Positive"
|
|
85
|
+
}), /*#__PURE__*/_jsx(Switch, {
|
|
86
|
+
checked: true,
|
|
87
|
+
variant: "negative",
|
|
88
|
+
children: "Negative"
|
|
89
|
+
}), /*#__PURE__*/_jsx(Switch, {
|
|
90
|
+
checked: true,
|
|
91
|
+
background: "accentBoldPurple",
|
|
92
|
+
variant: "negative",
|
|
93
|
+
children: "Background override"
|
|
94
|
+
})]
|
|
95
|
+
})
|
|
71
96
|
}), /*#__PURE__*/_jsx(Example, {
|
|
72
97
|
inline: true,
|
|
73
98
|
title: "Custom Theme",
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
const _excluded = ["ref"],
|
|
2
|
-
_excluded2 = ["TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "background", "borderRadius"];
|
|
2
|
+
_excluded2 = ["TabComponent", "TabsActiveIndicatorComponent", "activeBackground", "background", "borderRadius", "equalWidth", "alignSelf", "styles"];
|
|
3
3
|
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); }
|
|
4
4
|
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; }
|
|
5
|
-
import React, { memo } from 'react';
|
|
5
|
+
import React, { memo, useMemo } from 'react';
|
|
6
6
|
import { useComponentConfig } from '../hooks/useComponentConfig';
|
|
7
7
|
import { SegmentedTab } from './SegmentedTab';
|
|
8
8
|
import { SegmentedTabsActiveIndicator } from './SegmentedTabsActiveIndicator';
|
|
9
9
|
import { Tabs } from './Tabs';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const equalWidthTabContainerStyle = {
|
|
12
|
+
flex: 1
|
|
13
|
+
};
|
|
14
|
+
const equalWidthTabStyle = {
|
|
15
|
+
alignSelf: 'stretch'
|
|
16
|
+
};
|
|
10
17
|
|
|
11
18
|
// We do Partial/Pick to allow TabComponent and TabsActiveIndicatorComponent to be optional
|
|
12
19
|
// We grab 'tabs' from the Omit allowing it to stay required
|
|
13
|
-
|
|
20
|
+
|
|
14
21
|
const SegmentedTabsComponent = /*#__PURE__*/memo(_ref => {
|
|
15
22
|
let {
|
|
16
23
|
ref
|
|
@@ -22,16 +29,28 @@ const SegmentedTabsComponent = /*#__PURE__*/memo(_ref => {
|
|
|
22
29
|
TabsActiveIndicatorComponent = SegmentedTabsActiveIndicator,
|
|
23
30
|
activeBackground = 'bgInverse',
|
|
24
31
|
background = 'bgSecondary',
|
|
25
|
-
borderRadius = 700
|
|
32
|
+
borderRadius = 700,
|
|
33
|
+
equalWidth,
|
|
34
|
+
alignSelf = equalWidth ? 'stretch' : undefined,
|
|
35
|
+
styles
|
|
26
36
|
} = mergedProps,
|
|
27
37
|
props = _objectWithoutPropertiesLoose(mergedProps, _excluded2);
|
|
38
|
+
const resolvedStyles = useMemo(() => {
|
|
39
|
+
if (!equalWidth) return styles;
|
|
40
|
+
return _extends({}, styles, {
|
|
41
|
+
tabContainer: [equalWidthTabContainerStyle, styles == null ? void 0 : styles.tabContainer],
|
|
42
|
+
tab: [equalWidthTabStyle, styles == null ? void 0 : styles.tab]
|
|
43
|
+
});
|
|
44
|
+
}, [equalWidth, styles]);
|
|
28
45
|
return /*#__PURE__*/_jsx(Tabs, _extends({
|
|
29
46
|
ref: ref,
|
|
30
47
|
TabComponent: TabComponent,
|
|
31
48
|
TabsActiveIndicatorComponent: TabsActiveIndicatorComponent,
|
|
32
49
|
activeBackground: activeBackground,
|
|
50
|
+
alignSelf: alignSelf,
|
|
33
51
|
background: background,
|
|
34
|
-
borderRadius: borderRadius
|
|
52
|
+
borderRadius: borderRadius,
|
|
53
|
+
styles: resolvedStyles
|
|
35
54
|
}, props));
|
|
36
55
|
});
|
|
37
56
|
SegmentedTabsComponent.displayName = 'SegmentedTabs';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cds-mobile",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.15.0",
|
|
4
4
|
"description": "Coinbase Design System - Mobile",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"react-native-worklets": "0.5.2"
|
|
219
219
|
},
|
|
220
220
|
"dependencies": {
|
|
221
|
-
"@coinbase/cds-common": "^9.
|
|
221
|
+
"@coinbase/cds-common": "^9.15.0",
|
|
222
222
|
"@coinbase/cds-icons": "^5.21.0",
|
|
223
223
|
"@coinbase/cds-illustrations": "^4.47.0",
|
|
224
224
|
"@coinbase/cds-lottie-files": "^3.3.4",
|