@ledgerhq/lumen-ui-rnative 0.0.47 → 0.0.48
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/dist/package.json +3 -3
- package/dist/src/lib/Components/Divider/Divider.d.ts +25 -0
- package/dist/src/lib/Components/Divider/Divider.d.ts.map +1 -0
- package/dist/src/lib/Components/Divider/Divider.js +40 -0
- package/dist/src/lib/Components/Divider/Divider.stories.d.ts +9 -0
- package/dist/src/lib/Components/Divider/Divider.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/Divider/Divider.stories.js +51 -0
- package/dist/src/lib/Components/Divider/index.d.ts +3 -0
- package/dist/src/lib/Components/Divider/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Divider/index.js +1 -0
- package/dist/src/lib/Components/Divider/types.d.ts +9 -0
- package/dist/src/lib/Components/Divider/types.d.ts.map +1 -0
- package/dist/src/lib/Components/Divider/types.js +1 -0
- package/dist/src/lib/Components/ListItem/ListItem.d.ts.map +1 -1
- package/dist/src/lib/Components/ListItem/ListItem.js +9 -3
- package/dist/src/lib/Components/Select/GlobalSelectBottomSheet.d.ts.map +1 -1
- package/dist/src/lib/Components/Select/GlobalSelectBottomSheet.js +2 -7
- package/dist/src/lib/Components/Select/Select.d.ts.map +1 -1
- package/dist/src/lib/Components/Select/Select.js +4 -10
- package/dist/src/lib/Components/Select/types.d.ts.map +1 -1
- package/dist/src/lib/Components/Tile/Tile.d.ts +84 -19
- package/dist/src/lib/Components/Tile/Tile.d.ts.map +1 -1
- package/dist/src/lib/Components/Tile/Tile.figma.js +8 -18
- package/dist/src/lib/Components/Tile/Tile.js +160 -59
- package/dist/src/lib/Components/Tile/Tile.stories.d.ts +2 -2
- package/dist/src/lib/Components/Tile/Tile.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Tile/Tile.stories.js +30 -81
- package/dist/src/lib/Components/Tile/index.d.ts +1 -1
- package/dist/src/lib/Components/Tile/index.d.ts.map +1 -1
- package/dist/src/lib/Components/Tile/index.js +1 -1
- package/dist/src/lib/Components/Tile/types.d.ts +29 -19
- package/dist/src/lib/Components/Tile/types.d.ts.map +1 -1
- package/dist/src/lib/Components/index.d.ts +1 -0
- package/dist/src/lib/Components/index.d.ts.map +1 -1
- package/dist/src/lib/Components/index.js +1 -0
- package/package.json +3 -3
- package/src/lib/Components/Divider/Divider.mdx +151 -0
- package/src/lib/Components/Divider/Divider.stories.tsx +140 -0
- package/src/lib/Components/Divider/Divider.test.tsx +92 -0
- package/src/lib/Components/Divider/Divider.tsx +52 -0
- package/src/lib/Components/Divider/index.ts +2 -0
- package/src/lib/Components/Divider/types.ts +9 -0
- package/src/lib/Components/ListItem/ListItem.tsx +10 -3
- package/src/lib/Components/Select/GlobalSelectBottomSheet.tsx +5 -7
- package/src/lib/Components/Select/Select.tsx +4 -18
- package/src/lib/Components/Select/types.ts +1 -3
- package/src/lib/Components/Tile/Tile.figma.tsx +24 -23
- package/src/lib/Components/Tile/Tile.mdx +128 -35
- package/src/lib/Components/Tile/Tile.stories.tsx +167 -146
- package/src/lib/Components/Tile/Tile.test.tsx +193 -221
- package/src/lib/Components/Tile/Tile.tsx +270 -123
- package/src/lib/Components/Tile/index.ts +7 -1
- package/src/lib/Components/Tile/types.ts +38 -19
- package/src/lib/Components/index.ts +1 -0
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/lumen-ui-rnative",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.47",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"./styles": "./src/styles/index.ts"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@ledgerhq/lumen-utils-shared": "0.0.
|
|
30
|
+
"@ledgerhq/lumen-utils-shared": "0.0.13",
|
|
31
31
|
"i18next": "^23.7.0",
|
|
32
32
|
"react-i18next": "^14.0.0"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"@gorhom/bottom-sheet": "^5.0.0",
|
|
36
|
-
"@ledgerhq/lumen-design-core": "
|
|
36
|
+
"@ledgerhq/lumen-design-core": "0.0.37",
|
|
37
37
|
"react": "~18.3.1",
|
|
38
38
|
"react-native": "~0.77.3",
|
|
39
39
|
"react-native-reanimated": "^3.0.0",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { View } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* A simple divider component for separating content sections.
|
|
4
|
+
*
|
|
5
|
+
* The Divider renders a horizontal or vertical line to create visual separation
|
|
6
|
+
* between content areas. It uses design system tokens for consistent styling.
|
|
7
|
+
*
|
|
8
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/layout-divider--docs Storybook}
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Horizontal divider (default)
|
|
12
|
+
* <Divider />
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Vertical divider
|
|
16
|
+
* <Divider orientation="vertical" />
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* // With custom styling using lx props
|
|
20
|
+
* <Divider lx={{ marginVertical: 's16' }} />
|
|
21
|
+
*/
|
|
22
|
+
export declare const Divider: import("react").ForwardRefExoticComponent<{
|
|
23
|
+
orientation?: "horizontal" | "vertical";
|
|
24
|
+
} & Omit<import("../../../styles").StyledViewProps, "children"> & import("react").RefAttributes<View>>;
|
|
25
|
+
//# sourceMappingURL=Divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,OAAO;;sGAwBnB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { Box } from '../Utility';
|
|
4
|
+
/**
|
|
5
|
+
* A simple divider component for separating content sections.
|
|
6
|
+
*
|
|
7
|
+
* The Divider renders a horizontal or vertical line to create visual separation
|
|
8
|
+
* between content areas. It uses design system tokens for consistent styling.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/layout-divider--docs Storybook}
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Horizontal divider (default)
|
|
14
|
+
* <Divider />
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Vertical divider
|
|
18
|
+
* <Divider orientation="vertical" />
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // With custom styling using lx props
|
|
22
|
+
* <Divider lx={{ marginVertical: 's16' }} />
|
|
23
|
+
*/
|
|
24
|
+
export const Divider = forwardRef(({ lx = {}, orientation = 'horizontal', ...props }, ref) => {
|
|
25
|
+
return (_jsx(Box, { ref: ref, accessibilityRole: 'none', lx: {
|
|
26
|
+
...(orientation === 'horizontal'
|
|
27
|
+
? {
|
|
28
|
+
alignSelf: 'stretch',
|
|
29
|
+
borderTopWidth: 's1',
|
|
30
|
+
borderTopColor: 'mutedSubtle',
|
|
31
|
+
}
|
|
32
|
+
: {
|
|
33
|
+
alignSelf: 'stretch',
|
|
34
|
+
borderLeftWidth: 's1',
|
|
35
|
+
borderLeftColor: 'mutedSubtle',
|
|
36
|
+
}),
|
|
37
|
+
...lx,
|
|
38
|
+
}, ...props }));
|
|
39
|
+
});
|
|
40
|
+
Divider.displayName = 'Divider';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-native-web-vite';
|
|
2
|
+
import { Divider } from './Divider';
|
|
3
|
+
declare const meta: Meta<typeof Divider>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Divider>;
|
|
6
|
+
export declare const Base: Story;
|
|
7
|
+
export declare const OrientationShowcase: Story;
|
|
8
|
+
export declare const InList: Story;
|
|
9
|
+
//# sourceMappingURL=Divider.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/Divider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAM9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KAwBlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAkCjC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KA6DpB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box } from '../Utility/Box';
|
|
3
|
+
import { Text } from '../Utility/Text';
|
|
4
|
+
import { Divider } from './Divider';
|
|
5
|
+
const meta = {
|
|
6
|
+
component: Divider,
|
|
7
|
+
title: 'Layout/Divider',
|
|
8
|
+
parameters: {
|
|
9
|
+
actions: { disable: true },
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export default meta;
|
|
13
|
+
export const Base = {
|
|
14
|
+
args: {
|
|
15
|
+
orientation: 'horizontal',
|
|
16
|
+
},
|
|
17
|
+
render: (args) => {
|
|
18
|
+
const isVertical = args.orientation === 'vertical';
|
|
19
|
+
return (_jsxs(Box, { lx: isVertical
|
|
20
|
+
? { flexDirection: 'row', alignItems: 'center', gap: 's16' }
|
|
21
|
+
: { width: 'full', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: isVertical ? 'Left content' : 'Content above' }), _jsx(Divider, { ...args, lx: isVertical ? { height: 's48' } : undefined }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: isVertical ? 'Right content' : 'Content below' })] }));
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
export const OrientationShowcase = {
|
|
25
|
+
render: () => (_jsxs(Box, { lx: { gap: 's32' }, children: [_jsxs(Box, { lx: { gap: 's8' }, children: [_jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "Horizontal (default)" }), _jsxs(Box, { lx: { width: 'full', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Content above" }), _jsx(Divider, { orientation: 'horizontal' }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Content below" })] })] }), _jsxs(Box, { lx: { gap: 's8' }, children: [_jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "Vertical" }), _jsxs(Box, { lx: { flexDirection: 'row', alignItems: 'center', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Left content" }), _jsx(Divider, { orientation: 'vertical', lx: { height: 's48' } }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Right content" })] })] })] })),
|
|
26
|
+
};
|
|
27
|
+
export const InList = {
|
|
28
|
+
render: () => (_jsxs(Box, { lx: {
|
|
29
|
+
width: 'full',
|
|
30
|
+
maxWidth: 's400',
|
|
31
|
+
backgroundColor: 'canvas',
|
|
32
|
+
borderRadius: 'lg',
|
|
33
|
+
borderWidth: 's1',
|
|
34
|
+
borderColor: 'muted',
|
|
35
|
+
}, children: [_jsxs(Box, { lx: {
|
|
36
|
+
flexDirection: 'row',
|
|
37
|
+
justifyContent: 'space-between',
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
padding: 's16',
|
|
40
|
+
}, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 1" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$100" })] }), _jsx(Divider, {}), _jsxs(Box, { lx: {
|
|
41
|
+
flexDirection: 'row',
|
|
42
|
+
justifyContent: 'space-between',
|
|
43
|
+
alignItems: 'center',
|
|
44
|
+
padding: 's16',
|
|
45
|
+
}, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 2" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$200" })] }), _jsx(Divider, {}), _jsxs(Box, { lx: {
|
|
46
|
+
flexDirection: 'row',
|
|
47
|
+
justifyContent: 'space-between',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
padding: 's16',
|
|
50
|
+
}, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 3" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$300" })] })] })),
|
|
51
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Divider } from './Divider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;;;;8GAqBnB,CAAC;AAsBH;;;GAGG;AACH,eAAO,MAAM,eAAe;;4FA0B3B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,eAAe;;
|
|
1
|
+
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;;;;8GAqBnB,CAAC;AAsBH;;;GAGG;AACH,eAAO,MAAM,eAAe;;4FA0B3B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,eAAe;;4FA8B3B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,aAAa;;4FAiEzB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;4FAkE9B,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;4FA0B5B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;YAAW,iBAAiB;;CAOpD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;qDAMtB,iBAAiB;;CAuBnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;mHA8C5B,CAAC"}
|
|
@@ -96,14 +96,18 @@ ListItemLeading.displayName = 'ListItemLeading';
|
|
|
96
96
|
* Container for the text content (title and description) within the leading area.
|
|
97
97
|
*/
|
|
98
98
|
export const ListItemContent = React.forwardRef(({ children, lx = {}, style, ...viewProps }, ref) => {
|
|
99
|
+
const { isInTrailing } = useListItemTrailingContext({
|
|
100
|
+
consumerName: 'ListItemContent',
|
|
101
|
+
contextRequired: false,
|
|
102
|
+
});
|
|
99
103
|
const styles = useStyleSheet((t) => ({
|
|
100
104
|
content: {
|
|
101
|
-
flex: 1,
|
|
105
|
+
flex: isInTrailing ? 0 : 1,
|
|
102
106
|
minWidth: 0,
|
|
103
107
|
flexDirection: 'column',
|
|
104
108
|
gap: t.spacings.s4,
|
|
105
109
|
},
|
|
106
|
-
}), []);
|
|
110
|
+
}), [isInTrailing]);
|
|
107
111
|
return (_jsx(Box, { ref: ref, lx: lx, style: StyleSheet.flatten([styles.content, style]), ...viewProps, children: children }));
|
|
108
112
|
});
|
|
109
113
|
ListItemContent.displayName = 'ListItemContent';
|
|
@@ -232,7 +236,9 @@ export const ListItemIcon = ({ icon: Icon, color, lx = {}, style, ...viewProps }
|
|
|
232
236
|
contextRequired: true,
|
|
233
237
|
});
|
|
234
238
|
return (_jsx(Box, { lx: lx, style: StyleSheet.flatten([{ flexShrink: 0 }, style]), ...viewProps, children: _jsx(Icon, { size: 24, style: {
|
|
235
|
-
color: disabled
|
|
239
|
+
color: disabled
|
|
240
|
+
? theme.colors.text.disabled
|
|
241
|
+
: (color ?? theme.colors.text.base),
|
|
236
242
|
} }) }));
|
|
237
243
|
};
|
|
238
244
|
ListItemIcon.displayName = 'ListItemIcon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalSelectBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/GlobalSelectBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"GlobalSelectBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/GlobalSelectBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAqDtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EA4G3C,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Pressable } from 'react-native';
|
|
|
4
4
|
import { useStyleSheet } from '../../../styles';
|
|
5
5
|
import { Check } from '../../Symbols';
|
|
6
6
|
import { BottomSheet, BottomSheetHeader, BottomSheetView, useBottomSheetRef, } from '../BottomSheet';
|
|
7
|
+
import { Divider } from '../Divider';
|
|
7
8
|
import { Box, Text } from '../Utility';
|
|
8
9
|
import { useGlobalSelectSafeContext } from './GlobalSelectContext';
|
|
9
10
|
const useStyles = () => {
|
|
@@ -11,12 +12,6 @@ const useStyles = () => {
|
|
|
11
12
|
bottomSheetView: {
|
|
12
13
|
paddingHorizontal: t.spacings.s8,
|
|
13
14
|
},
|
|
14
|
-
separator: {
|
|
15
|
-
marginVertical: t.spacings.s4,
|
|
16
|
-
marginHorizontal: t.spacings.s8,
|
|
17
|
-
height: 1,
|
|
18
|
-
backgroundColor: t.colors.bg.muted,
|
|
19
|
-
},
|
|
20
15
|
groupLabel: {
|
|
21
16
|
marginBottom: t.spacings.s4,
|
|
22
17
|
paddingHorizontal: t.spacings.s8,
|
|
@@ -97,7 +92,7 @@ export const GlobalSelectBottomSheet = () => {
|
|
|
97
92
|
}, [currentSelect, hideSelectRef]);
|
|
98
93
|
return (_jsx(BottomSheet, { ref: bottomSheetRef, snapPoints: null, backdropPressBehavior: 'close', onClose: handleClose, maxDynamicContentSize: 'fullWithOffset', enableDynamicSizing: true, enablePanDownToClose: true, children: _jsx(BottomSheetView, { style: styles.bottomSheetView, children: currentSelect && (_jsxs(_Fragment, { children: [currentSelect.label && (_jsx(BottomSheetHeader, { title: currentSelect.label, appearance: 'compact' })), _jsx(Box, { lx: { gap: 's4' }, children: currentSelect.items.map((item, index) => {
|
|
99
94
|
if (item.type === 'separator') {
|
|
100
|
-
return (_jsx(
|
|
95
|
+
return (_jsx(Divider, { lx: { marginVertical: 's4', marginHorizontal: 's8' } }, `separator-${index}`));
|
|
101
96
|
}
|
|
102
97
|
if (item.type === 'group-label') {
|
|
103
98
|
return (_jsx(Text, { style: styles.groupLabel, children: item.label }, `label-${index}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2EtD,CAAC;AAmFF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAgC/B,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2BlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuBxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2EtD,CAAC;AAmFF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAgC/B,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2BlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuBxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAI1D,CAAC"}
|
|
@@ -297,15 +297,9 @@ export const SelectItemText = ({ children, lx, style, ...props }) => {
|
|
|
297
297
|
return (_jsx(Text, { lx: lx, style: [styles.text, style], ...props, children: children }));
|
|
298
298
|
};
|
|
299
299
|
SelectItemText.displayName = 'SelectItemText';
|
|
300
|
-
export const SelectSeparator = (
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
marginVertical: t.spacings.s4,
|
|
305
|
-
height: t.sizes.s1,
|
|
306
|
-
backgroundColor: t.colors.border.mutedSubtle,
|
|
307
|
-
},
|
|
308
|
-
}), []);
|
|
309
|
-
return _jsx(Box, { lx: lx, style: [styles.separator, style], ...props });
|
|
300
|
+
export const SelectSeparator = () => {
|
|
301
|
+
// This component doesn't render anything - it's used for structure
|
|
302
|
+
// The actual separators are rendered in GlobalSelectBottomSheet
|
|
303
|
+
return null;
|
|
310
304
|
};
|
|
311
305
|
SelectSeparator.displayName = 'SelectSeparator';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;AAE3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,102 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
|
+
import { TileContentProps, TileDescriptionProps, TileSpotProps, TileTitleProps } from './types';
|
|
3
4
|
/**
|
|
4
|
-
* A tile
|
|
5
|
-
*
|
|
6
|
-
* and supports long press actions.
|
|
5
|
+
* A flexible tile component that uses a composite pattern for maximum customization.
|
|
6
|
+
* Displays content in a vertical layout with support for spots, text, and custom content.
|
|
7
7
|
*
|
|
8
|
-
* @see {@link https://ldls.vercel.app/?path=/docs/
|
|
9
|
-
* @see {@link https://ldls.vercel.app/?path=/docs/
|
|
8
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/react-native_containment-tile--docs Storybook}
|
|
9
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/react-native_containment-tile--docs#dos-and-donts Guidelines}
|
|
10
10
|
*
|
|
11
11
|
* @warning The `lx` prop should only be used for layout adjustments like margins or positioning.
|
|
12
12
|
* Do not use it to modify the tile's core appearance (colors, padding, etc). Use the `appearance` prop instead.
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
|
-
* // Basic tile
|
|
16
|
-
* import { Tile,
|
|
15
|
+
* // Basic tile with spot and content
|
|
16
|
+
* import { Tile, TileSpot, TileContent, TileTitle, TileDescription } from '@ledgerhq/lumen-ui-rnative';
|
|
17
17
|
* import { Wallet } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
18
18
|
*
|
|
19
|
-
* <Tile
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
19
|
+
* <Tile appearance="card" onPress={() => console.log('Pressed!')}>
|
|
20
|
+
* <TileSpot appearance="icon" icon={Wallet} />
|
|
21
|
+
* <TileContent>
|
|
22
|
+
* <TileTitle>My Wallet</TileTitle>
|
|
23
|
+
* <TileDescription>Description</TileDescription>
|
|
24
|
+
* </TileContent>
|
|
25
|
+
* </Tile>
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // With custom content and long press
|
|
29
|
+
* import { Tile, TileSpot, TileContent, TileTitle, Tag } from '@ledgerhq/lumen-ui-rnative';
|
|
30
|
+
* import { Bitcoin } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
31
|
+
*
|
|
32
|
+
* <Tile appearance="card" onLongPress={() => console.log('Long pressed')}>
|
|
33
|
+
* <TileSpot appearance="icon" icon={Bitcoin} />
|
|
34
|
+
* <TileContent>
|
|
35
|
+
* <TileTitle>Bitcoin</TileTitle>
|
|
36
|
+
* </TileContent>
|
|
37
|
+
* <Tag label="Active" />
|
|
38
|
+
* </Tile>
|
|
26
39
|
*/
|
|
27
40
|
export declare const Tile: React.ForwardRefExoticComponent<{
|
|
28
|
-
leadingContent: React.ReactNode;
|
|
29
|
-
title: string;
|
|
30
|
-
description?: string;
|
|
31
|
-
trailingContent?: React.ReactNode;
|
|
32
41
|
appearance?: "no-background" | "card";
|
|
33
42
|
disabled?: boolean;
|
|
34
43
|
onPress?: import("../../../styles").StyledPressableProps["onPress"];
|
|
35
44
|
onLongPress?: import("../../../styles").StyledPressableProps["onLongPress"];
|
|
45
|
+
children: ReactNode;
|
|
36
46
|
} & Omit<import("../../../styles").StyledPressableProps, "disabled" | "onPress" | "onLongPress"> & React.RefAttributes<View>>;
|
|
47
|
+
/**
|
|
48
|
+
* A spot adapter for use within Tile. Automatically inherits the disabled state from the parent Tile.
|
|
49
|
+
* Always renders at a fixed size of 48.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* <Tile>
|
|
53
|
+
* <TileSpot appearance="icon" icon={Settings} />
|
|
54
|
+
* </Tile>
|
|
55
|
+
*/
|
|
56
|
+
export declare const TileSpot: {
|
|
57
|
+
(props: TileSpotProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* A container for grouping TileTitle and TileDescription with consistent spacing.
|
|
62
|
+
* Use this to wrap text content within a Tile.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* <Tile>
|
|
66
|
+
* <TileContent>
|
|
67
|
+
* <TileTitle>My Title</TileTitle>
|
|
68
|
+
* <TileDescription>My Description</TileDescription>
|
|
69
|
+
* </TileContent>
|
|
70
|
+
* </Tile>
|
|
71
|
+
*/
|
|
72
|
+
export declare const TileContent: {
|
|
73
|
+
({ children, lx, style }: TileContentProps): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
displayName: string;
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* The primary text label for a Tile. Automatically inherits the disabled state from the parent Tile.
|
|
78
|
+
* Text will truncate with ellipsis if it exceeds the available width.
|
|
79
|
+
* If children is a string, it will be automatically wrapped in a Text component.
|
|
80
|
+
*/
|
|
81
|
+
export declare const TileTitle: {
|
|
82
|
+
({ children, lx, style }: TileTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
83
|
+
displayName: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* The secondary text label for a Tile. Automatically inherits the disabled state from the parent Tile.
|
|
87
|
+
* Text will truncate with ellipsis if it exceeds the available width.
|
|
88
|
+
* If children is a string, it will be automatically wrapped in a Text component.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* <Tile>
|
|
92
|
+
* <TileContent>
|
|
93
|
+
* <TileTitle>My Title</TileTitle>
|
|
94
|
+
* <TileDescription>My Description</TileDescription>
|
|
95
|
+
* </TileContent>
|
|
96
|
+
* </Tile>
|
|
97
|
+
*/
|
|
98
|
+
export declare const TileDescription: {
|
|
99
|
+
({ children, lx, style, }: TileDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
100
|
+
displayName: string;
|
|
101
|
+
};
|
|
37
102
|
//# sourceMappingURL=Tile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,EAEpB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AAoDjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,IAAI;;;;;;6HAoChB,CAAC;AAkBF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;YAAW,aAAa;;CAM5C,CAAC;AAgBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;8BAA6B,gBAAgB;;CAWpE,CAAC;AAwBF;;;;GAIG;AACH,eAAO,MAAM,SAAS;8BAA6B,cAAc;;CA6BhE,CAAC;AAwBF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;+BAIzB,oBAAoB;;CA6BtB,CAAC"}
|
|
@@ -1,27 +1,19 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import figma from '@figma/code-connect';
|
|
3
3
|
import { Settings } from '../../Symbols';
|
|
4
|
-
import {
|
|
5
|
-
import { Tile } from './Tile';
|
|
6
|
-
/**
|
|
7
|
-
* -- This file was auto-generated by Code Connect --
|
|
8
|
-
* `props` includes a mapping from your code props to Figma properties.
|
|
9
|
-
* You should check this is correct, and update the `example` function
|
|
10
|
-
* to return the code example you'd like to see in Figma
|
|
11
|
-
*/
|
|
4
|
+
import { Tile, TileSpot, TileContent, TileTitle, TileDescription, } from './Tile';
|
|
12
5
|
figma.connect(Tile, 'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=5783-1328', {
|
|
13
|
-
imports: [
|
|
6
|
+
imports: [
|
|
7
|
+
"import { Tile, TileSpot, TileContent, TileTitle, TileDescription } from '@ledgerhq/lumen-ui-rnative'",
|
|
8
|
+
],
|
|
14
9
|
props: {
|
|
15
10
|
title: figma.string('title'),
|
|
16
11
|
description: figma.boolean('show-description', {
|
|
17
12
|
true: figma.string('description'),
|
|
18
13
|
false: undefined,
|
|
19
14
|
}),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
true: figma.instance('tag'),
|
|
23
|
-
false: undefined,
|
|
24
|
-
}),
|
|
15
|
+
showTag: figma.boolean('show-tag'),
|
|
16
|
+
tag: figma.instance('tag'),
|
|
25
17
|
disabled: figma.enum('state', {
|
|
26
18
|
disabled: true,
|
|
27
19
|
}),
|
|
@@ -32,7 +24,5 @@ figma.connect(Tile, 'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id
|
|
|
32
24
|
url: 'https://ldls.vercel.app/?path=/docs/components-Tile-overview--docs',
|
|
33
25
|
},
|
|
34
26
|
],
|
|
35
|
-
example: (props) => (
|
|
36
|
-
console.log('Tile pressed');
|
|
37
|
-
} })),
|
|
27
|
+
example: (props) => (_jsxs(Tile, { disabled: props.disabled, onPress: () => console.log('Tile pressed'), onLongPress: () => console.log('Long press - secondary action'), children: [_jsx(TileSpot, { appearance: 'icon', icon: Settings }), _jsxs(TileContent, { children: [_jsx(TileTitle, { children: props.title }), props.description && (_jsx(TileDescription, { children: props.description }))] }), props.showTag && props.tag] })),
|
|
38
28
|
});
|