@coinbase/cds-mobile 8.21.8 → 8.22.1
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/banner/Banner.d.ts +4 -2
- package/dts/banner/Banner.d.ts.map +1 -1
- package/dts/cells/ListCell.d.ts +5 -0
- package/dts/cells/ListCell.d.ts.map +1 -1
- package/dts/cells/ListCellFallback.d.ts +12 -0
- package/dts/cells/ListCellFallback.d.ts.map +1 -1
- package/esm/banner/Banner.js +3 -16
- package/esm/banner/__stories__/Banner.stories.js +30 -0
- package/esm/cells/ListCell.js +10 -1
- package/esm/cells/ListCellFallback.js +32 -8
- package/esm/cells/__stories__/ListCell.stories.js +82 -0
- 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.22.1 (11/24/2025 PST)
|
|
12
|
+
|
|
13
|
+
#### 🐞 Fixes
|
|
14
|
+
|
|
15
|
+
- Fix the borderRadius prop issue in Banner. [[#190](https://github.com/coinbase/cds/pull/190)]
|
|
16
|
+
|
|
17
|
+
## 8.22.0 (11/24/2025 PST)
|
|
18
|
+
|
|
19
|
+
#### 🚀 Updates
|
|
20
|
+
|
|
21
|
+
- Added `subtitle` for ListCell and accessory for `ListCellFallback`. [[#149](https://github.com/coinbase/cds/pull/149)] [DX-5015]
|
|
22
|
+
|
|
11
23
|
## 8.21.8 (11/21/2025 PST)
|
|
12
24
|
|
|
13
25
|
#### 🐞 Fixes
|
package/dts/banner/Banner.d.ts
CHANGED
|
@@ -52,7 +52,8 @@ export type BannerBaseProps = SharedProps & {
|
|
|
52
52
|
bordered?: boolean;
|
|
53
53
|
/**
|
|
54
54
|
* Determines banner's border radius
|
|
55
|
-
*
|
|
55
|
+
*
|
|
56
|
+
* @default 400 for contextual, undefined for global and inline
|
|
56
57
|
* */
|
|
57
58
|
borderRadius?: ThemeVars.BorderRadius;
|
|
58
59
|
};
|
|
@@ -103,7 +104,8 @@ export declare const Banner: React.MemoExoticComponent<
|
|
|
103
104
|
bordered?: boolean;
|
|
104
105
|
/**
|
|
105
106
|
* Determines banner's border radius
|
|
106
|
-
*
|
|
107
|
+
*
|
|
108
|
+
* @default 400 for contextual, undefined for global and inline
|
|
107
109
|
* */
|
|
108
110
|
borderRadius?: ThemeVars.BorderRadius;
|
|
109
111
|
} & Omit<import('../layout').BoxProps, 'children'> &
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/banner/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2E,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../src/banner/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2E,MAAM,OAAO,CAAC;AAChG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,QAAQ,EACR,WAAW,EACZ,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAM7C,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAC1C,2GAA2G;IAC3G,OAAO,EAAE,aAAa,CAAC;IACvB,6CAA6C;IAC7C,SAAS,EAAE,QAAQ,CAAC;IACpB,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4HAA4H;IAC5H,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,2HAA2H;IAC3H,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;SAGK;IACL,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;SAGK;IACL,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,uDAAuD;IACvD,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;SAGK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;SAIK;IACL,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAEhF,eAAO,MAAM,MAAM;IAnDjB,2GAA2G;aAClG,aAAa;IACtB,6CAA6C;eAClC,QAAQ;IACnB,uCAAuC;sBACrB,OAAO;IACzB,4HAA4H;oBAC5G,KAAK,CAAC,SAAS;IAC/B,2HAA2H;sBACzG,KAAK,CAAC,SAAS;IACjC,2DAA2D;YACnD,KAAK,CAAC,SAAS;IACvB,wBAAwB;eACb,KAAK,CAAC,SAAS;IAC1B;;;SAGK;kBACS,OAAO;IACrB,gDAAgD;cACtC,MAAM,IAAI;IACpB,gFAAgF;oBAChE,MAAM;IACtB,gCAAgC;YACxB,KAAK,CAAC,SAAS;IACvB;;;SAGK;mBACU,kBAAkB;IACjC,uDAAuD;kCACzB,MAAM;IACpC;;OAEG;8BACuB,MAAM;IAChC;;;SAGK;eACM,OAAO;IAClB;;;;SAIK;mBACU,SAAS,CAAC,YAAY;gFAmNtC,CAAC"}
|
package/dts/cells/ListCell.d.ts
CHANGED
|
@@ -84,6 +84,10 @@ export type ListCellBaseProps = CellDetailProps &
|
|
|
84
84
|
title?: React.ReactNode;
|
|
85
85
|
/** React node to render title. Takes precedence over `title`. */
|
|
86
86
|
titleNode?: React.ReactNode;
|
|
87
|
+
/** Subtitle to display below the title and above the description. This prop is only intended to accept a string or Text component; other use cases, while allowed, are not supported and may result in unexpected behavior. For arbitrary content, use `subtitleNode`. */
|
|
88
|
+
subtitle?: React.ReactNode;
|
|
89
|
+
/** React node to render subtitle. Takes precedence over `subtitle`. */
|
|
90
|
+
subtitleNode?: React.ReactNode;
|
|
87
91
|
/** Styles for the components */
|
|
88
92
|
styles?: {
|
|
89
93
|
root?: StyleProp<ViewStyle>;
|
|
@@ -96,6 +100,7 @@ export type ListCellBaseProps = CellDetailProps &
|
|
|
96
100
|
mainContent?: StyleProp<ViewStyle>;
|
|
97
101
|
helperText?: StyleProp<ViewStyle>;
|
|
98
102
|
title?: StyleProp<TextStyle>;
|
|
103
|
+
subtitle?: StyleProp<TextStyle>;
|
|
99
104
|
description?: StyleProp<TextStyle>;
|
|
100
105
|
};
|
|
101
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListCell.d.ts","sourceRoot":"","sources":["../../src/cells/ListCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpE,OAAO,EAAQ,KAAK,aAAa,EAAE,KAAK,SAAS,EAAoB,MAAM,QAAQ,CAAC;AACpF,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,qBAAqB;;;;CAIF,CAAC;AAGjC,eAAO,MAAM,qBAAqB;;;;CAIF,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAC7C,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAC9C,mDAAmD;IACnD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,gGAAgG;IAChG,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC;;;;OAIG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IACpD,6SAA6S;IAC7S,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,6BAA6B;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC3B,wIAAwI;IACxI,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uSAAuS;IACvS,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iEAAiE;IACjE,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,gCAAgC;IAChC,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,GAAG,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACxC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KACpC,CAAC;CACH,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;AAE1F,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"ListCell.d.ts","sourceRoot":"","sources":["../../src/cells/ListCell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
1
2
|
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
3
|
import type { FallbackRectWidthProps, SharedProps } from '@coinbase/cds-common/types';
|
|
4
|
+
import { type CellAccessoryType } from './CellAccessory';
|
|
3
5
|
import type { CellMediaType } from './CellMedia';
|
|
4
6
|
import { type ListCellBaseProps } from './ListCell';
|
|
5
7
|
export type ListCellFallbackBaseProps = SharedProps &
|
|
6
8
|
FallbackRectWidthProps &
|
|
7
9
|
Pick<ListCellBaseProps, 'compact' | 'innerSpacing' | 'outerSpacing' | 'spacingVariant'> & {
|
|
10
|
+
/** Accessory to display at the end of the cell. */
|
|
11
|
+
accessory?: CellAccessoryType;
|
|
12
|
+
/** Custom accessory rendered at the end of the cell. Takes precedence over `accessory`. */
|
|
13
|
+
accessoryNode?: ReactNode;
|
|
8
14
|
/** Display description shimmer. */
|
|
9
15
|
description?: boolean;
|
|
10
16
|
/** Display detail shimmer. */
|
|
@@ -15,6 +21,8 @@ export type ListCellFallbackBaseProps = SharedProps &
|
|
|
15
21
|
media?: CellMediaType;
|
|
16
22
|
/** Display subdetail shimmer. */
|
|
17
23
|
subdetail?: boolean;
|
|
24
|
+
/** Display subtitle shimmer. */
|
|
25
|
+
subtitle?: boolean;
|
|
18
26
|
/** Display title shimmer. */
|
|
19
27
|
title?: boolean;
|
|
20
28
|
};
|
|
@@ -31,6 +39,10 @@ export type ListCellFallbackProps = ListCellFallbackBaseProps & {
|
|
|
31
39
|
title?: StyleProp<ViewStyle>;
|
|
32
40
|
/** Style to apply to the description shimmer. */
|
|
33
41
|
description?: StyleProp<ViewStyle>;
|
|
42
|
+
/** Style to apply to the subtitle shimmer. */
|
|
43
|
+
subtitle?: StyleProp<ViewStyle>;
|
|
44
|
+
/** Style to apply to the accessory container. */
|
|
45
|
+
accessory?: StyleProp<ViewStyle>;
|
|
34
46
|
};
|
|
35
47
|
};
|
|
36
48
|
export declare const ListCellFallback: import('react').NamedExoticComponent<ListCellFallbackProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListCellFallback.d.ts","sourceRoot":"","sources":["../../src/cells/ListCellFallback.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ListCellFallback.d.ts","sourceRoot":"","sources":["../../src/cells/ListCellFallback.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAQtF,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAgD,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlG,MAAM,MAAM,yBAAyB,GAAG,WAAW,GACjD,sBAAsB,GACtB,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,CAAC,GAAG;IACxF,mDAAmD;IACnD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,2FAA2F;IAC3F,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG;IAC9D,+DAA+D;IAC/D,MAAM,CAAC,EAAE;QACP,kEAAkE;QAClE,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,4CAA4C;QAC5C,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,+CAA+C;QAC/C,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,2CAA2C;QAC3C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,iDAAiD;QACjD,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QACnC,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAChC,iDAAiD;QACjD,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,gBAAgB,6DAuL3B,CAAC"}
|
package/esm/banner/Banner.js
CHANGED
|
@@ -11,20 +11,6 @@ import { Pressable } from '../system/Pressable';
|
|
|
11
11
|
import { Link } from '../typography';
|
|
12
12
|
import { Text } from '../typography/Text';
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const variantStyleProps = {
|
|
15
|
-
contextual: {
|
|
16
|
-
paddingX: 2,
|
|
17
|
-
borderRadius: 400
|
|
18
|
-
},
|
|
19
|
-
global: {
|
|
20
|
-
paddingX: 3,
|
|
21
|
-
borderRadius: undefined
|
|
22
|
-
},
|
|
23
|
-
inline: {
|
|
24
|
-
paddingX: 3,
|
|
25
|
-
borderRadius: undefined
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
14
|
export const Banner = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Banner(_ref, forwardedRef) {
|
|
29
15
|
let {
|
|
30
16
|
variant,
|
|
@@ -43,7 +29,7 @@ export const Banner = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Banner(
|
|
|
43
29
|
styleVariant = 'contextual',
|
|
44
30
|
startIconAccessibilityLabel,
|
|
45
31
|
closeAccessibilityLabel = 'close',
|
|
46
|
-
borderRadius = 400,
|
|
32
|
+
borderRadius = styleVariant === 'contextual' ? 400 : undefined,
|
|
47
33
|
margin,
|
|
48
34
|
marginX,
|
|
49
35
|
marginY,
|
|
@@ -120,10 +106,11 @@ export const Banner = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function Banner(
|
|
|
120
106
|
background: background,
|
|
121
107
|
borderRadius: borderRadius,
|
|
122
108
|
gap: 1,
|
|
109
|
+
paddingX: styleVariant === 'contextual' ? 2 : 3,
|
|
123
110
|
paddingY: 2,
|
|
124
111
|
style: style,
|
|
125
112
|
testID: testID
|
|
126
|
-
},
|
|
113
|
+
}, props, {
|
|
127
114
|
children: [/*#__PURE__*/_jsx(Box, {
|
|
128
115
|
accessibilityLabel: startIconAccessibilityLabel,
|
|
129
116
|
accessibilityRole: "image",
|
|
@@ -31,6 +31,7 @@ const examplePropsWithOffset = _extends({}, exampleProps, {
|
|
|
31
31
|
marginX: -2,
|
|
32
32
|
children: 'Lorem ipsum dolar sit amet'
|
|
33
33
|
});
|
|
34
|
+
const borderRadiusValues = [0, 200, 400];
|
|
34
35
|
const styleProps = [{
|
|
35
36
|
variant: 'warning',
|
|
36
37
|
title: 'Warning message',
|
|
@@ -321,6 +322,35 @@ const BannerScreen = () => {
|
|
|
321
322
|
variant: "warning"
|
|
322
323
|
}))]
|
|
323
324
|
})]
|
|
325
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
326
|
+
title: "Border Radius",
|
|
327
|
+
children: /*#__PURE__*/_jsxs(VStack, {
|
|
328
|
+
gap: 2,
|
|
329
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
330
|
+
font: "title1",
|
|
331
|
+
children: "Contextual"
|
|
332
|
+
}), /*#__PURE__*/_jsx(VStack, {
|
|
333
|
+
gap: 2,
|
|
334
|
+
children: borderRadiusValues.map(radius => /*#__PURE__*/_jsx(Banner, _extends({}, exampleProps, {
|
|
335
|
+
borderRadius: radius,
|
|
336
|
+
title: "Contextual radius " + radius,
|
|
337
|
+
variant: "informational",
|
|
338
|
+
children: shortMessage
|
|
339
|
+
}), "mobile-contextual-" + radius))
|
|
340
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
341
|
+
font: "title1",
|
|
342
|
+
children: "Inline"
|
|
343
|
+
}), /*#__PURE__*/_jsx(VStack, {
|
|
344
|
+
gap: 2,
|
|
345
|
+
children: borderRadiusValues.map(radius => /*#__PURE__*/_jsx(Banner, _extends({}, exampleProps, {
|
|
346
|
+
borderRadius: radius,
|
|
347
|
+
styleVariant: "inline",
|
|
348
|
+
title: "Inline radius " + radius,
|
|
349
|
+
variant: "informational",
|
|
350
|
+
children: shortMessage
|
|
351
|
+
}), "mobile-inline-" + radius))
|
|
352
|
+
})]
|
|
353
|
+
})
|
|
324
354
|
})]
|
|
325
355
|
});
|
|
326
356
|
};
|
package/esm/cells/ListCell.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["accessory", "accessoryNode", "end", "action", "compact", "title", "titleNode", "disableMultilineTitle", "description", "descriptionNode", "detail", "detailNode", "detailWidth", "intermediary", "priority", "innerSpacing", "outerSpacing", "disabled", "disableSelectionAccessory", "helperText", "media", "multiline", "selected", "subdetail", "subdetailNode", "variant", "onPress", "spacingVariant", "style", "styles"];
|
|
1
|
+
const _excluded = ["accessory", "accessoryNode", "end", "action", "compact", "title", "titleNode", "disableMultilineTitle", "description", "descriptionNode", "subtitle", "subtitleNode", "detail", "detailNode", "detailWidth", "intermediary", "priority", "innerSpacing", "outerSpacing", "disabled", "disableSelectionAccessory", "helperText", "media", "multiline", "selected", "subdetail", "subdetailNode", "variant", "onPress", "spacingVariant", "style", "styles"];
|
|
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, { memo, useMemo } from 'react';
|
|
@@ -34,6 +34,8 @@ export const ListCell = /*#__PURE__*/memo(function ListCell(_ref) {
|
|
|
34
34
|
disableMultilineTitle = false,
|
|
35
35
|
description,
|
|
36
36
|
descriptionNode,
|
|
37
|
+
subtitle,
|
|
38
|
+
subtitleNode,
|
|
37
39
|
detail,
|
|
38
40
|
detailNode,
|
|
39
41
|
detailWidth,
|
|
@@ -112,6 +114,13 @@ export const ListCell = /*#__PURE__*/memo(function ListCell(_ref) {
|
|
|
112
114
|
spacingVariant === 'condensed' ? 2 : description ? 1 : 2,
|
|
113
115
|
style: styles == null ? void 0 : styles.title,
|
|
114
116
|
children: title
|
|
117
|
+
}) : null, subtitleNode ? subtitleNode : subtitle ? /*#__PURE__*/_jsx(Text, {
|
|
118
|
+
color: "fgMuted",
|
|
119
|
+
ellipsize: "tail",
|
|
120
|
+
font: "label1",
|
|
121
|
+
numberOfLines: 1,
|
|
122
|
+
style: styles == null ? void 0 : styles.subtitle,
|
|
123
|
+
children: subtitle
|
|
115
124
|
}) : null, descriptionNode ? descriptionNode : description ? /*#__PURE__*/_jsx(Text, {
|
|
116
125
|
color: "fgMuted",
|
|
117
126
|
ellipsize: multiline ? undefined : 'tail',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["title", "description", "detail", "subdetail", "media", "disableRandomRectWidth", "rectWidthVariant", "helperText", "styles", "compact", "spacingVariant", "innerSpacing", "outerSpacing"];
|
|
1
|
+
const _excluded = ["accessory", "accessoryNode", "title", "description", "detail", "subdetail", "media", "disableRandomRectWidth", "rectWidthVariant", "helperText", "subtitle", "styles", "compact", "spacingVariant", "innerSpacing", "outerSpacing"];
|
|
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 { memo, useMemo } from 'react';
|
|
@@ -7,11 +7,14 @@ import { useTheme } from '../hooks/useTheme';
|
|
|
7
7
|
import { VStack } from '../layout';
|
|
8
8
|
import { Fallback } from '../layout/Fallback';
|
|
9
9
|
import { Cell } from './Cell';
|
|
10
|
+
import { CellAccessory } from './CellAccessory';
|
|
10
11
|
import { condensedInnerSpacing, condensedOuterSpacing } from './ListCell';
|
|
11
12
|
import { MediaFallback } from './MediaFallback';
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
14
|
export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref) {
|
|
14
15
|
let {
|
|
16
|
+
accessory,
|
|
17
|
+
accessoryNode,
|
|
15
18
|
title,
|
|
16
19
|
description,
|
|
17
20
|
detail,
|
|
@@ -20,6 +23,7 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
20
23
|
disableRandomRectWidth,
|
|
21
24
|
rectWidthVariant,
|
|
22
25
|
helperText,
|
|
26
|
+
subtitle,
|
|
23
27
|
styles,
|
|
24
28
|
compact,
|
|
25
29
|
spacingVariant = compact ? 'compact' : 'normal',
|
|
@@ -34,13 +38,13 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
34
38
|
}
|
|
35
39
|
return /*#__PURE__*/_jsx(Fallback, {
|
|
36
40
|
disableRandomRectWidth: disableRandomRectWidth,
|
|
37
|
-
height: theme.lineHeight.body,
|
|
41
|
+
height: spacingVariant === 'condensed' ? theme.lineHeight.label2 : theme.lineHeight.body,
|
|
38
42
|
rectWidthVariant: getRectWidthVariant(rectWidthVariant, 0),
|
|
39
43
|
style: styles == null ? void 0 : styles.description,
|
|
40
44
|
testID: "list-cell-fallback-description",
|
|
41
45
|
width: 110
|
|
42
46
|
});
|
|
43
|
-
}, [description, disableRandomRectWidth, rectWidthVariant, styles == null ? void 0 : styles.description, theme.lineHeight.body]);
|
|
47
|
+
}, [description, disableRandomRectWidth, rectWidthVariant, spacingVariant, styles == null ? void 0 : styles.description, theme.lineHeight.body, theme.lineHeight.label2]);
|
|
44
48
|
const detailFallback = useMemo(() => {
|
|
45
49
|
if (!detail && !subdetail) {
|
|
46
50
|
return null;
|
|
@@ -59,14 +63,14 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
59
63
|
width: 60
|
|
60
64
|
}), !!subdetail && /*#__PURE__*/_jsx(Fallback, {
|
|
61
65
|
disableRandomRectWidth: disableRandomRectWidth,
|
|
62
|
-
height: theme.lineHeight.body,
|
|
66
|
+
height: spacingVariant === 'condensed' ? theme.lineHeight.label2 : theme.lineHeight.body,
|
|
63
67
|
rectWidthVariant: getRectWidthVariant(rectWidthVariant, 1),
|
|
64
68
|
style: styles == null ? void 0 : styles.subdetail,
|
|
65
69
|
testID: "list-cell-fallback-subdetail",
|
|
66
70
|
width: 60
|
|
67
71
|
})]
|
|
68
72
|
});
|
|
69
|
-
}, [detail, disableRandomRectWidth, rectWidthVariant, styles == null ? void 0 : styles.detail, styles == null ? void 0 : styles.subdetail, subdetail, theme.lineHeight.body]);
|
|
73
|
+
}, [detail, disableRandomRectWidth, rectWidthVariant, spacingVariant, styles == null ? void 0 : styles.detail, styles == null ? void 0 : styles.subdetail, subdetail, theme.lineHeight.body, theme.lineHeight.label2]);
|
|
70
74
|
const helperTextFallback = useMemo(() => {
|
|
71
75
|
if (!helperText) {
|
|
72
76
|
return null;
|
|
@@ -80,6 +84,19 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
80
84
|
width: "85%"
|
|
81
85
|
});
|
|
82
86
|
}, [disableRandomRectWidth, helperText, rectWidthVariant, styles == null ? void 0 : styles.helperText, theme.lineHeight.body]);
|
|
87
|
+
const subtitleFallback = useMemo(() => {
|
|
88
|
+
if (!subtitle) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
return /*#__PURE__*/_jsx(Fallback, {
|
|
92
|
+
disableRandomRectWidth: disableRandomRectWidth,
|
|
93
|
+
height: theme.lineHeight.label1,
|
|
94
|
+
rectWidthVariant: getRectWidthVariant(rectWidthVariant, 2),
|
|
95
|
+
style: styles == null ? void 0 : styles.subtitle,
|
|
96
|
+
testID: "list-cell-fallback-subtitle",
|
|
97
|
+
width: 80
|
|
98
|
+
});
|
|
99
|
+
}, [disableRandomRectWidth, rectWidthVariant, styles == null ? void 0 : styles.subtitle, subtitle, theme.lineHeight.label1]);
|
|
83
100
|
const mediaFallback = useMemo(() => {
|
|
84
101
|
if (!media) {
|
|
85
102
|
return;
|
|
@@ -103,15 +120,22 @@ export const ListCellFallback = /*#__PURE__*/memo(function ListCellFallback(_ref
|
|
|
103
120
|
});
|
|
104
121
|
}, [disableRandomRectWidth, rectWidthVariant, styles == null ? void 0 : styles.title, theme.lineHeight.headline, title]);
|
|
105
122
|
return /*#__PURE__*/_jsx(Cell, _extends({
|
|
123
|
+
accessory: accessory ? /*#__PURE__*/_jsx(CellAccessory, {
|
|
124
|
+
type: accessory
|
|
125
|
+
}) : undefined,
|
|
126
|
+
accessoryNode: accessoryNode,
|
|
106
127
|
bottomContent: helperTextFallback,
|
|
107
|
-
|
|
128
|
+
end: detailFallback,
|
|
108
129
|
innerSpacing: innerSpacing != null ? innerSpacing : spacingVariant === 'condensed' ? condensedInnerSpacing : undefined,
|
|
109
130
|
media: mediaFallback,
|
|
110
|
-
outerSpacing: outerSpacing != null ? outerSpacing : spacingVariant === 'condensed' ? condensedOuterSpacing : undefined
|
|
131
|
+
outerSpacing: outerSpacing != null ? outerSpacing : spacingVariant === 'condensed' ? condensedOuterSpacing : undefined,
|
|
132
|
+
styles: {
|
|
133
|
+
accessory: styles == null ? void 0 : styles.accessory
|
|
134
|
+
}
|
|
111
135
|
}, props, {
|
|
112
136
|
children: /*#__PURE__*/_jsxs(VStack, {
|
|
113
137
|
gap: 0.5,
|
|
114
|
-
children: [titleFallback, descriptionFallback]
|
|
138
|
+
children: [titleFallback, subtitleFallback, descriptionFallback]
|
|
115
139
|
})
|
|
116
140
|
}));
|
|
117
141
|
});
|
|
@@ -5,6 +5,7 @@ import { selectCellSpacingConfig } from '@coinbase/cds-common/tokens/select';
|
|
|
5
5
|
import { gutter } from '@coinbase/cds-common/tokens/sizing';
|
|
6
6
|
import { Button } from '../../buttons/Button';
|
|
7
7
|
import { IconButton } from '../../buttons/IconButton';
|
|
8
|
+
import { Switch } from '../../controls/Switch';
|
|
8
9
|
import { Example, ExampleScreen } from '../../examples/ExampleScreen';
|
|
9
10
|
import { useTheme } from '../../hooks/useTheme';
|
|
10
11
|
import { Icon } from '../../icons/Icon';
|
|
@@ -16,6 +17,7 @@ import { Tag } from '../../tag/Tag';
|
|
|
16
17
|
import { Text } from '../../typography/Text';
|
|
17
18
|
import { CellHelperText } from '../CellHelperText';
|
|
18
19
|
import { ListCell } from '../ListCell';
|
|
20
|
+
import { ListCellFallback } from '../ListCellFallback';
|
|
19
21
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
22
|
const onPressConsole = () => console.log('onPress');
|
|
21
23
|
const cellPriorities = ['middle', 'end'];
|
|
@@ -641,6 +643,42 @@ const WithActions = () => /*#__PURE__*/_jsxs(_Fragment, {
|
|
|
641
643
|
title: "Title"
|
|
642
644
|
})]
|
|
643
645
|
});
|
|
646
|
+
const Fallback = () => {
|
|
647
|
+
const [showFallback, setShowFallback] = React.useState(false);
|
|
648
|
+
return /*#__PURE__*/_jsxs(VStack, {
|
|
649
|
+
gap: 2,
|
|
650
|
+
children: [/*#__PURE__*/_jsx(Switch, {
|
|
651
|
+
checked: showFallback,
|
|
652
|
+
onChange: (_, nextChecked) => setShowFallback(Boolean(nextChecked)),
|
|
653
|
+
children: "Show fallback state"
|
|
654
|
+
}), showFallback ? /*#__PURE__*/_jsx(ListCellFallback, {
|
|
655
|
+
description: true,
|
|
656
|
+
detail: true,
|
|
657
|
+
disableRandomRectWidth: true,
|
|
658
|
+
helperText: true,
|
|
659
|
+
subdetail: true,
|
|
660
|
+
subtitle: true,
|
|
661
|
+
title: true,
|
|
662
|
+
accessory: "more",
|
|
663
|
+
media: "asset",
|
|
664
|
+
spacingVariant: "condensed"
|
|
665
|
+
}) : /*#__PURE__*/_jsx(ListCell, {
|
|
666
|
+
accessory: "more",
|
|
667
|
+
description: "Review portfolio performance",
|
|
668
|
+
detail: "$12,345.00",
|
|
669
|
+
helperText: /*#__PURE__*/_jsx(CellHelperText, {
|
|
670
|
+
children: "Balance reflects live market data"
|
|
671
|
+
}),
|
|
672
|
+
media: /*#__PURE__*/_jsx(Avatar, {
|
|
673
|
+
src: assets.eth.imageUrl
|
|
674
|
+
}),
|
|
675
|
+
spacingVariant: "condensed",
|
|
676
|
+
subdetail: "+5.43%",
|
|
677
|
+
subtitle: "ETH",
|
|
678
|
+
title: "Ethereum"
|
|
679
|
+
})]
|
|
680
|
+
});
|
|
681
|
+
};
|
|
644
682
|
const WithIntermediary = () => /*#__PURE__*/_jsxs(_Fragment, {
|
|
645
683
|
children: [/*#__PURE__*/_jsx(ListCell, {
|
|
646
684
|
description: "Description",
|
|
@@ -871,6 +909,44 @@ const CondensedListCell = () => {
|
|
|
871
909
|
},
|
|
872
910
|
subdetail: "Subdetail",
|
|
873
911
|
title: "Title"
|
|
912
|
+
}), /*#__PURE__*/_jsx(ListCell, {
|
|
913
|
+
multiline: true,
|
|
914
|
+
description: "Long description with multiple lines. This section can be arbitrarily long and occupy many many lines.",
|
|
915
|
+
detail: "Detail",
|
|
916
|
+
end: /*#__PURE__*/_jsxs(HStack, {
|
|
917
|
+
alignItems: "center",
|
|
918
|
+
gap: 1,
|
|
919
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
920
|
+
color: "fgMuted",
|
|
921
|
+
font: "label2",
|
|
922
|
+
children: "Meta"
|
|
923
|
+
}), /*#__PURE__*/_jsx(Icon, {
|
|
924
|
+
color: "fg",
|
|
925
|
+
name: "caretRight",
|
|
926
|
+
size: "s"
|
|
927
|
+
})]
|
|
928
|
+
}),
|
|
929
|
+
media: /*#__PURE__*/_jsx(Avatar, {
|
|
930
|
+
shape: "circle",
|
|
931
|
+
size: "l",
|
|
932
|
+
src: assets.eth.imageUrl
|
|
933
|
+
}),
|
|
934
|
+
onPress: onPressConsole,
|
|
935
|
+
priority: "end",
|
|
936
|
+
spacingVariant: "condensed",
|
|
937
|
+
styles: {
|
|
938
|
+
media: {
|
|
939
|
+
marginTop: theme.space[1],
|
|
940
|
+
alignSelf: 'flex-start'
|
|
941
|
+
},
|
|
942
|
+
end: {
|
|
943
|
+
marginTop: theme.space[1],
|
|
944
|
+
alignSelf: 'flex-start'
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
subdetail: "Subdetail",
|
|
948
|
+
subtitle: "Subtitle",
|
|
949
|
+
title: "Title"
|
|
874
950
|
}), /*#__PURE__*/_jsx(ListCell, {
|
|
875
951
|
accessory: "more",
|
|
876
952
|
description: "Description",
|
|
@@ -1275,6 +1351,12 @@ const ListCellScreen = () => {
|
|
|
1275
1351
|
title: "WithActions",
|
|
1276
1352
|
titlePadding: titlePadding,
|
|
1277
1353
|
children: /*#__PURE__*/_jsx(WithActions, {})
|
|
1354
|
+
}), /*#__PURE__*/_jsx(Example, {
|
|
1355
|
+
inline: true,
|
|
1356
|
+
paddingX: 0,
|
|
1357
|
+
title: "Fallback",
|
|
1358
|
+
titlePadding: titlePadding,
|
|
1359
|
+
children: /*#__PURE__*/_jsx(Fallback, {})
|
|
1278
1360
|
}), /*#__PURE__*/_jsx(Example, {
|
|
1279
1361
|
inline: true,
|
|
1280
1362
|
paddingX: 0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coinbase/cds-mobile",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.22.1",
|
|
4
4
|
"description": "Coinbase Design System - Mobile",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -154,7 +154,7 @@
|
|
|
154
154
|
"react-native-svg": "^14.1.0"
|
|
155
155
|
},
|
|
156
156
|
"dependencies": {
|
|
157
|
-
"@coinbase/cds-common": "^8.
|
|
157
|
+
"@coinbase/cds-common": "^8.22.1",
|
|
158
158
|
"@coinbase/cds-icons": "^5.7.0",
|
|
159
159
|
"@coinbase/cds-illustrations": "^4.28.0",
|
|
160
160
|
"@coinbase/cds-lottie-files": "^3.3.3",
|