@ledgerhq/lumen-ui-rnative 0.0.53 → 0.0.54
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/.storybook/docs/getting-started/setup.mdx +4 -6
- package/.storybook/docs/style-system/useTheme.mdx +0 -15
- package/dist/package.json +2 -2
- package/dist/src/lib/Components/Subheader/Subheader.d.ts +70 -0
- package/dist/src/lib/Components/Subheader/Subheader.d.ts.map +1 -0
- package/dist/src/lib/Components/Subheader/Subheader.js +161 -0
- package/dist/src/lib/Components/Subheader/Subheader.stories.d.ts +10 -0
- package/dist/src/lib/Components/Subheader/Subheader.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/Subheader/Subheader.stories.js +34 -0
- package/dist/src/lib/Components/Subheader/index.d.ts +3 -0
- package/dist/src/lib/Components/Subheader/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Subheader/index.js +2 -0
- package/dist/src/lib/Components/Subheader/types.d.ts +67 -0
- package/dist/src/lib/Components/Subheader/types.d.ts.map +1 -0
- package/dist/src/lib/Components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/src/lib/Components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/src/lib/Components/ThemeProvider/index.d.ts +1 -1
- package/dist/src/lib/Components/ThemeProvider/index.d.ts.map +1 -1
- package/dist/src/lib/Components/ThemeProvider/index.js +1 -1
- package/dist/src/lib/Components/ThemeProvider/{ThemeProvider.types.d.ts → types.d.ts} +1 -1
- package/dist/src/lib/Components/ThemeProvider/types.d.ts.map +1 -0
- package/dist/src/lib/Components/ThemeProvider/types.js +1 -0
- 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/dist/src/lib/Symbols/Icons/Asterisk.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/Asterisk.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/Asterisk.js +34 -0
- package/dist/src/lib/Symbols/Icons/Bell.js +1 -1
- package/dist/src/lib/Symbols/Icons/BellFill.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/BellFill.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/BellFill.js +34 -0
- package/dist/src/lib/Symbols/Icons/BellNotification.js +1 -1
- package/dist/src/lib/Symbols/Icons/CreditCardFill.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/CreditCardFill.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/CreditCardFill.js +34 -0
- package/dist/src/lib/Symbols/Icons/Delete.js +1 -1
- package/dist/src/lib/Symbols/Icons/Exchange.js +1 -1
- package/dist/src/lib/Symbols/Icons/ExchangeFill.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/ExchangeFill.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/ExchangeFill.js +34 -0
- package/dist/src/lib/Symbols/Icons/ExpandLeft.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/ExpandLeft.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/ExpandLeft.js +34 -0
- package/dist/src/lib/Symbols/Icons/ExpandRight.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/ExpandRight.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/ExpandRight.js +34 -0
- package/dist/src/lib/Symbols/Icons/Home.js +1 -1
- package/dist/src/lib/Symbols/Icons/HomeFill.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/HomeFill.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/HomeFill.js +34 -0
- package/dist/src/lib/Symbols/Icons/LifeRingFill.d.ts +33 -0
- package/dist/src/lib/Symbols/Icons/LifeRingFill.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/LifeRingFill.js +34 -0
- package/dist/src/lib/Symbols/Icons/P2p.js +1 -1
- package/dist/src/lib/Symbols/Icons/Signature.js +1 -1
- package/dist/src/lib/Symbols/Icons/Spacerocket.js +1 -1
- package/dist/src/lib/Symbols/Icons/Tools.js +1 -1
- package/dist/src/lib/Symbols/Icons/TransferVertical.js +1 -1
- package/dist/src/lib/Symbols/Icons/Trash.js +1 -1
- package/dist/src/lib/Symbols/Icons/WarningFill.js +1 -1
- package/dist/src/lib/Symbols/index.d.ts +8 -0
- package/dist/src/lib/Symbols/index.d.ts.map +1 -1
- package/dist/src/lib/Symbols/index.js +8 -0
- package/dist/src/styles/provider/LumenStyleSheetProvider.d.ts +0 -2
- package/dist/src/styles/provider/LumenStyleSheetProvider.d.ts.map +1 -1
- package/dist/src/styles/provider/LumenStyleSheetProvider.js +9 -30
- package/dist/src/styles/provider/types.d.ts +4 -0
- package/dist/src/styles/provider/types.d.ts.map +1 -1
- package/dist/src/styles/provider/types.js +4 -1
- package/package.json +2 -2
- package/src/lib/Components/Subheader/Subheader.mdx +517 -0
- package/src/lib/Components/Subheader/Subheader.stories.tsx +111 -0
- package/src/lib/Components/Subheader/Subheader.test.tsx +195 -0
- package/src/lib/Components/Subheader/Subheader.tsx +261 -0
- package/src/lib/Components/Subheader/index.ts +11 -0
- package/src/lib/Components/Subheader/types.ts +76 -0
- package/src/lib/Components/ThemeProvider/ThemeProvider.tsx +1 -1
- package/src/lib/Components/ThemeProvider/index.ts +1 -1
- package/src/lib/Components/index.ts +1 -0
- package/src/lib/Symbols/Icons/Asterisk.tsx +45 -0
- package/src/lib/Symbols/Icons/Bell.tsx +1 -1
- package/src/lib/Symbols/Icons/BellFill.tsx +42 -0
- package/src/lib/Symbols/Icons/BellNotification.tsx +1 -1
- package/src/lib/Symbols/Icons/CreditCardFill.tsx +42 -0
- package/src/lib/Symbols/Icons/Delete.tsx +1 -1
- package/src/lib/Symbols/Icons/Exchange.tsx +1 -1
- package/src/lib/Symbols/Icons/ExchangeFill.tsx +53 -0
- package/src/lib/Symbols/Icons/ExpandLeft.tsx +45 -0
- package/src/lib/Symbols/Icons/ExpandRight.tsx +45 -0
- package/src/lib/Symbols/Icons/Home.tsx +1 -1
- package/src/lib/Symbols/Icons/HomeFill.tsx +42 -0
- package/src/lib/Symbols/Icons/LifeRingFill.tsx +42 -0
- package/src/lib/Symbols/Icons/P2p.tsx +1 -1
- package/src/lib/Symbols/Icons/Signature.tsx +1 -1
- package/src/lib/Symbols/Icons/Spacerocket.tsx +1 -1
- package/src/lib/Symbols/Icons/Tools.tsx +1 -1
- package/src/lib/Symbols/Icons/TransferVertical.tsx +1 -1
- package/src/lib/Symbols/Icons/Trash.tsx +1 -1
- package/src/lib/Symbols/Icons/WarningFill.tsx +1 -1
- package/src/lib/Symbols/index.ts +8 -0
- package/src/styles/hooks/useStyleSheet.test.tsx +90 -47
- package/src/styles/provider/LumenStyleSheetProvider.test.tsx +24 -24
- package/src/styles/provider/LumenStyleSheetProvider.tsx +8 -38
- package/src/styles/provider/types.ts +5 -0
- package/dist/src/lib/Components/ThemeProvider/ThemeProvider.types.d.ts.map +0 -1
- /package/dist/src/lib/Components/{ThemeProvider/ThemeProvider.types.js → Subheader/types.js} +0 -0
- /package/src/lib/Components/ThemeProvider/{ThemeProvider.types.ts → types.ts} +0 -0
|
@@ -76,24 +76,22 @@ If not provided, the theme will follow the device settings.
|
|
|
76
76
|
</ThemeProvider>
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
The ThemeProvider's colorScheme is controlled; you can use the [`useTheme`](/?path=/docs/style-system-usetheme--docs) hook to get the theme mode at runtime:
|
|
80
80
|
|
|
81
81
|
```tsx
|
|
82
82
|
import { useTheme } from '@ledgerhq/lumen-ui-rnative/styles';
|
|
83
83
|
|
|
84
84
|
const ThemeToggle = () => {
|
|
85
|
-
const { colorScheme
|
|
85
|
+
const { colorScheme } = useTheme();
|
|
86
86
|
|
|
87
87
|
return (
|
|
88
|
-
<
|
|
88
|
+
<View>
|
|
89
89
|
Current: {colorScheme}
|
|
90
|
-
</
|
|
90
|
+
</View>
|
|
91
91
|
);
|
|
92
92
|
};
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
When the colorScheme changes, `Appearance.setColorScheme` is automatically called to update the system theme.
|
|
96
|
-
|
|
97
95
|
|
|
98
96
|
## Internationalization
|
|
99
97
|
|
|
@@ -24,18 +24,3 @@ const MyComponent = () => {
|
|
|
24
24
|
};
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
### Theme Toggle Example
|
|
28
|
-
|
|
29
|
-
```tsx
|
|
30
|
-
import { useTheme } from '@ledgerhq/lumen-ui-rnative/styles';
|
|
31
|
-
|
|
32
|
-
const ThemeToggle = () => {
|
|
33
|
-
const { colorScheme, toggleColorScheme } = useTheme();
|
|
34
|
-
|
|
35
|
-
return (
|
|
36
|
-
<Button onPress={toggleColorScheme}>
|
|
37
|
-
Current: {colorScheme}
|
|
38
|
-
</Button>
|
|
39
|
-
);
|
|
40
|
-
};
|
|
41
|
-
```
|
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.53",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"@gorhom/bottom-sheet": "^5.0.0",
|
|
36
|
-
"@ledgerhq/lumen-design-core": "0.0.
|
|
36
|
+
"@ledgerhq/lumen-design-core": "0.0.41",
|
|
37
37
|
"react": "~18.3.1",
|
|
38
38
|
"react-native": "~0.77.3",
|
|
39
39
|
"react-native-reanimated": "^3.0.0",
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { SubheaderActionProps, SubheaderCountProps, SubheaderDescriptionProps, SubheaderInfoProps, SubheaderProps, SubheaderRowProps, SubheaderTitleProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Title component for the Subheader. Displays the main heading.
|
|
4
|
+
*/
|
|
5
|
+
export declare const SubheaderTitle: ({ children }: SubheaderTitleProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
/**
|
|
7
|
+
* Row component for the Subheader. Layout container to horizontally align title, count, hint, and action.
|
|
8
|
+
* Can optionally be interactive with an onPress handler.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SubheaderRow: ({ children, onPress, lx, style, ...props }: SubheaderRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Count component for the Subheader. Displays a formatted number.
|
|
13
|
+
*/
|
|
14
|
+
export declare const SubheaderCount: ({ value, format }: SubheaderCountProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
/**
|
|
16
|
+
* Info component for the Subheader. Displays an information icon that can be wrapped in a Tooltip or BottomSheet.
|
|
17
|
+
*/
|
|
18
|
+
export declare const SubheaderInfo: ({ iconType, style, ...props }: SubheaderInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
/**
|
|
20
|
+
* ShowMore component for the Subheader. Displays a static chevron right icon to indicate expandable content.
|
|
21
|
+
* Position this after SubheaderCount and before other elements.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SubheaderShowMore: () => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
/**
|
|
25
|
+
* Description component for the Subheader. Displays descriptive text below the title row.
|
|
26
|
+
*/
|
|
27
|
+
export declare const SubheaderDescription: ({ children, }: SubheaderDescriptionProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
/**
|
|
29
|
+
* Action component for the Subheader. Displays an interactive text button.
|
|
30
|
+
* Automatically positions itself at the end of the row using marginLeft: 'auto'.
|
|
31
|
+
*/
|
|
32
|
+
export declare const SubheaderAction: ({ children, onPress, }: SubheaderActionProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* A subheader component for displaying section titles with optional count, hints, descriptions, and action elements.
|
|
35
|
+
* Uses a composable API where you explicitly nest sub-components to define the layout.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* // Simple subheader without row
|
|
39
|
+
* <Subheader>
|
|
40
|
+
* <SubheaderTitle>Section Title</SubheaderTitle>
|
|
41
|
+
* <SubheaderDescription>Description text</SubheaderDescription>
|
|
42
|
+
* </Subheader>
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Subheader with row for horizontal layout
|
|
46
|
+
* <Subheader>
|
|
47
|
+
* <SubheaderRow>
|
|
48
|
+
* <SubheaderTitle>Section Title</SubheaderTitle>
|
|
49
|
+
* <SubheaderCount value={30} />
|
|
50
|
+
* <Tooltip>
|
|
51
|
+
* <TooltipTrigger>
|
|
52
|
+
* <SubheaderInfo />
|
|
53
|
+
* </TooltipTrigger>
|
|
54
|
+
* <TooltipContent content={<Text>Additional information</Text>} />
|
|
55
|
+
* </Tooltip>
|
|
56
|
+
* </SubheaderRow>
|
|
57
|
+
* <SubheaderDescription>Description text</SubheaderDescription>
|
|
58
|
+
* </Subheader>
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* // Interactive row with action
|
|
62
|
+
* <Subheader>
|
|
63
|
+
* <SubheaderRow onPress={handleClick}>
|
|
64
|
+
* <SubheaderTitle>Accounts</SubheaderTitle>
|
|
65
|
+
* <SubheaderCount value={12} />
|
|
66
|
+
* </SubheaderRow>
|
|
67
|
+
* </Subheader>
|
|
68
|
+
*/
|
|
69
|
+
export declare const Subheader: ({ lx, style, children, ...props }: SubheaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
//# sourceMappingURL=Subheader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Subheader.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Subheader/Subheader.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,4CAmB/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,4CAM1B,iBAAiB,4CA8BnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,mBAAmB,mBAAmB,4CAiBpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,+BAI3B,kBAAkB,4CAWpB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,+CAoB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAElC,yBAAyB,4CAc3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,wBAG7B,oBAAoB,4CAuBtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,SAAS,GAAI,mCAKvB,cAAc,4CAiBhB,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { useStyleSheet } from '../../../styles';
|
|
4
|
+
import { ChevronRight, Information } from '../../Symbols';
|
|
5
|
+
import { InteractiveIcon } from '../InteractiveIcon';
|
|
6
|
+
import { Box, Pressable, Text } from '../Utility';
|
|
7
|
+
/**
|
|
8
|
+
* Title component for the Subheader. Displays the main heading.
|
|
9
|
+
*/
|
|
10
|
+
export const SubheaderTitle = ({ children }) => {
|
|
11
|
+
const styles = useStyleSheet((t) => ({
|
|
12
|
+
title: StyleSheet.flatten([
|
|
13
|
+
t.typographies.heading4SemiBold,
|
|
14
|
+
{
|
|
15
|
+
flexShrink: 1,
|
|
16
|
+
color: t.colors.text.base,
|
|
17
|
+
},
|
|
18
|
+
]),
|
|
19
|
+
}), []);
|
|
20
|
+
return (_jsx(Text, { style: styles.title, numberOfLines: 1, ellipsizeMode: 'tail', children: children }));
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Row component for the Subheader. Layout container to horizontally align title, count, hint, and action.
|
|
24
|
+
* Can optionally be interactive with an onPress handler.
|
|
25
|
+
*/
|
|
26
|
+
export const SubheaderRow = ({ children, onPress, lx = {}, style, ...props }) => {
|
|
27
|
+
const styles = useStyleSheet((t) => ({
|
|
28
|
+
container: StyleSheet.flatten([
|
|
29
|
+
{
|
|
30
|
+
width: '100%',
|
|
31
|
+
flexDirection: 'row',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
gap: t.spacings.s4,
|
|
34
|
+
},
|
|
35
|
+
]),
|
|
36
|
+
}), []);
|
|
37
|
+
const mergedStyle = StyleSheet.flatten([styles.container, style]);
|
|
38
|
+
if (onPress) {
|
|
39
|
+
return (_jsx(Pressable, { lx: lx, style: mergedStyle, onPress: onPress, ...props, children: children }));
|
|
40
|
+
}
|
|
41
|
+
return (_jsx(Box, { lx: lx, style: mergedStyle, ...props, children: children }));
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Count component for the Subheader. Displays a formatted number.
|
|
45
|
+
*/
|
|
46
|
+
export const SubheaderCount = ({ value, format }) => {
|
|
47
|
+
const formatted = format ? format(value) : `(${value})`;
|
|
48
|
+
const styles = useStyleSheet((t) => ({
|
|
49
|
+
count: StyleSheet.flatten([
|
|
50
|
+
t.typographies.body2,
|
|
51
|
+
{
|
|
52
|
+
flexShrink: 0,
|
|
53
|
+
color: t.colors.text.muted,
|
|
54
|
+
},
|
|
55
|
+
]),
|
|
56
|
+
}), []);
|
|
57
|
+
return _jsx(Text, { style: styles.count, children: formatted });
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Info component for the Subheader. Displays an information icon that can be wrapped in a Tooltip or BottomSheet.
|
|
61
|
+
*/
|
|
62
|
+
export const SubheaderInfo = ({ iconType = 'stroked', style, ...props }) => {
|
|
63
|
+
return (_jsx(InteractiveIcon, { iconType: iconType, accessibilityLabel: 'More information', style: style, ...props, children: _jsx(Information, { size: 16 }) }));
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* ShowMore component for the Subheader. Displays a static chevron right icon to indicate expandable content.
|
|
67
|
+
* Position this after SubheaderCount and before other elements.
|
|
68
|
+
*/
|
|
69
|
+
export const SubheaderShowMore = () => {
|
|
70
|
+
const styles = useStyleSheet((t) => ({
|
|
71
|
+
container: {
|
|
72
|
+
flexShrink: 0,
|
|
73
|
+
justifyContent: 'center',
|
|
74
|
+
alignItems: 'center',
|
|
75
|
+
},
|
|
76
|
+
icon: {
|
|
77
|
+
color: t.colors.text.muted,
|
|
78
|
+
},
|
|
79
|
+
}), []);
|
|
80
|
+
return (_jsx(View, { style: styles.container, children: _jsx(ChevronRight, { size: 16, style: styles.icon }) }));
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Description component for the Subheader. Displays descriptive text below the title row.
|
|
84
|
+
*/
|
|
85
|
+
export const SubheaderDescription = ({ children, }) => {
|
|
86
|
+
const styles = useStyleSheet((t) => ({
|
|
87
|
+
description: StyleSheet.flatten([
|
|
88
|
+
t.typographies.body3,
|
|
89
|
+
{
|
|
90
|
+
color: t.colors.text.muted,
|
|
91
|
+
},
|
|
92
|
+
]),
|
|
93
|
+
}), []);
|
|
94
|
+
return _jsx(Text, { style: styles.description, children: children });
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Action component for the Subheader. Displays an interactive text button.
|
|
98
|
+
* Automatically positions itself at the end of the row using marginLeft: 'auto'.
|
|
99
|
+
*/
|
|
100
|
+
export const SubheaderAction = ({ children, onPress, }) => {
|
|
101
|
+
const styles = useStyleSheet((t) => ({
|
|
102
|
+
container: {
|
|
103
|
+
flexShrink: 0,
|
|
104
|
+
marginLeft: 'auto',
|
|
105
|
+
paddingLeft: t.spacings.s8,
|
|
106
|
+
},
|
|
107
|
+
text: StyleSheet.flatten([
|
|
108
|
+
t.typographies.body2,
|
|
109
|
+
{
|
|
110
|
+
color: t.colors.text.interactive,
|
|
111
|
+
},
|
|
112
|
+
]),
|
|
113
|
+
}), []);
|
|
114
|
+
return (_jsx(Pressable, { onPress: onPress, style: styles.container, children: _jsx(Text, { style: styles.text, children: children }) }));
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* A subheader component for displaying section titles with optional count, hints, descriptions, and action elements.
|
|
118
|
+
* Uses a composable API where you explicitly nest sub-components to define the layout.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* // Simple subheader without row
|
|
122
|
+
* <Subheader>
|
|
123
|
+
* <SubheaderTitle>Section Title</SubheaderTitle>
|
|
124
|
+
* <SubheaderDescription>Description text</SubheaderDescription>
|
|
125
|
+
* </Subheader>
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* // Subheader with row for horizontal layout
|
|
129
|
+
* <Subheader>
|
|
130
|
+
* <SubheaderRow>
|
|
131
|
+
* <SubheaderTitle>Section Title</SubheaderTitle>
|
|
132
|
+
* <SubheaderCount value={30} />
|
|
133
|
+
* <Tooltip>
|
|
134
|
+
* <TooltipTrigger>
|
|
135
|
+
* <SubheaderInfo />
|
|
136
|
+
* </TooltipTrigger>
|
|
137
|
+
* <TooltipContent content={<Text>Additional information</Text>} />
|
|
138
|
+
* </Tooltip>
|
|
139
|
+
* </SubheaderRow>
|
|
140
|
+
* <SubheaderDescription>Description text</SubheaderDescription>
|
|
141
|
+
* </Subheader>
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* // Interactive row with action
|
|
145
|
+
* <Subheader>
|
|
146
|
+
* <SubheaderRow onPress={handleClick}>
|
|
147
|
+
* <SubheaderTitle>Accounts</SubheaderTitle>
|
|
148
|
+
* <SubheaderCount value={12} />
|
|
149
|
+
* </SubheaderRow>
|
|
150
|
+
* </Subheader>
|
|
151
|
+
*/
|
|
152
|
+
export const Subheader = ({ lx = {}, style, children, ...props }) => {
|
|
153
|
+
const styles = useStyleSheet((t) => ({
|
|
154
|
+
container: {
|
|
155
|
+
width: '100%',
|
|
156
|
+
flexDirection: 'column',
|
|
157
|
+
gap: t.spacings.s4,
|
|
158
|
+
},
|
|
159
|
+
}), []);
|
|
160
|
+
return (_jsx(Box, { lx: lx, style: [styles.container, style], ...props, children: children }));
|
|
161
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-native';
|
|
2
|
+
import { Subheader } from './Subheader';
|
|
3
|
+
declare const meta: Meta<typeof Subheader>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Subheader>;
|
|
6
|
+
export declare const Base: Story;
|
|
7
|
+
export declare const InteractiveRow: Story;
|
|
8
|
+
export declare const WithInfoIcon: Story;
|
|
9
|
+
export declare const WithAction: Story;
|
|
10
|
+
//# sourceMappingURL=Subheader.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Subheader.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Subheader/Subheader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,EACL,SAAS,EAQV,MAAM,aAAa,CAAC;AAQrB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAmBhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,KAYlB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAc5B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAmB1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAcxB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import { Tooltip, TooltipTrigger, TooltipContent } from '../Tooltip';
|
|
4
|
+
import { Subheader, SubheaderRow, SubheaderTitle, SubheaderCount, SubheaderInfo, SubheaderShowMore, SubheaderDescription, SubheaderAction, } from './Subheader';
|
|
5
|
+
const Container = ({ children }) => (_jsx(View, { style: { padding: 8, backgroundColor: '#ffffff', width: '100%' }, children: children }));
|
|
6
|
+
const meta = {
|
|
7
|
+
component: Subheader,
|
|
8
|
+
title: 'Communication/Subheader',
|
|
9
|
+
subcomponents: {
|
|
10
|
+
SubheaderRow,
|
|
11
|
+
SubheaderTitle,
|
|
12
|
+
SubheaderDescription,
|
|
13
|
+
SubheaderCount,
|
|
14
|
+
SubheaderInfo,
|
|
15
|
+
SubheaderShowMore,
|
|
16
|
+
SubheaderAction,
|
|
17
|
+
},
|
|
18
|
+
decorators: [
|
|
19
|
+
(Story) => (_jsx(Container, { children: _jsx(Story, {}) })),
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
export default meta;
|
|
23
|
+
export const Base = {
|
|
24
|
+
render: () => (_jsxs(Subheader, { children: [_jsx(SubheaderRow, { children: _jsx(SubheaderTitle, { children: "Section Title" }) }), _jsx(SubheaderDescription, { children: "This is a detailed description that provides additional context about this section." })] })),
|
|
25
|
+
};
|
|
26
|
+
export const InteractiveRow = {
|
|
27
|
+
render: () => (_jsxs(Subheader, { children: [_jsxs(SubheaderRow, { onPress: () => console.log('Row clicked'), children: [_jsx(SubheaderTitle, { children: "Accounts" }), _jsx(SubheaderCount, { value: 5 }), _jsx(SubheaderShowMore, {})] }), _jsx(SubheaderDescription, { children: "Interactive rows always include the chevron to indicate they lead to more content" })] })),
|
|
28
|
+
};
|
|
29
|
+
export const WithInfoIcon = {
|
|
30
|
+
render: () => (_jsxs(Subheader, { children: [_jsxs(SubheaderRow, { children: [_jsx(SubheaderTitle, { children: "Section with Info" }), _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { children: _jsx(SubheaderInfo, {}) }), _jsx(TooltipContent, { content: _jsx(Text, { children: "Additional information about this section" }) })] })] }), _jsx(SubheaderDescription, { children: "Use the info icon to provide contextual help or additional details" })] })),
|
|
31
|
+
};
|
|
32
|
+
export const WithAction = {
|
|
33
|
+
render: () => (_jsxs(Subheader, { children: [_jsxs(SubheaderRow, { children: [_jsx(SubheaderTitle, { children: "Recent Activity" }), _jsx(SubheaderAction, { onPress: () => console.log('View all'), children: "View all" })] }), _jsx(SubheaderDescription, { children: "Use actions for quick access to related functionality" })] })),
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Subheader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ViewProps } from 'react-native';
|
|
2
|
+
import { LumenViewStyle } from '../../../styles/types/lx.types';
|
|
3
|
+
export type SubheaderProps = {
|
|
4
|
+
/**
|
|
5
|
+
* The children of the subheader, which should include SubheaderRow, SubheaderTitle, SubheaderDescription, etc.
|
|
6
|
+
*/
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Style props using design tokens
|
|
10
|
+
*/
|
|
11
|
+
lx?: LumenViewStyle;
|
|
12
|
+
} & Omit<ViewProps, 'children'>;
|
|
13
|
+
export type SubheaderRowProps = {
|
|
14
|
+
/**
|
|
15
|
+
* The children of the subheader row.
|
|
16
|
+
*/
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Optional press handler to make the row interactive.
|
|
20
|
+
*/
|
|
21
|
+
onPress?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Style props using design tokens
|
|
24
|
+
*/
|
|
25
|
+
lx?: LumenViewStyle;
|
|
26
|
+
} & Omit<ViewProps, 'children'>;
|
|
27
|
+
export type SubheaderTitleProps = {
|
|
28
|
+
/**
|
|
29
|
+
* The title text of the subheader.
|
|
30
|
+
*/
|
|
31
|
+
children: string;
|
|
32
|
+
};
|
|
33
|
+
export type SubheaderCountProps = {
|
|
34
|
+
/**
|
|
35
|
+
* The count value to display.
|
|
36
|
+
*/
|
|
37
|
+
value: number;
|
|
38
|
+
/**
|
|
39
|
+
* Optional formatter function to customize the display.
|
|
40
|
+
* Defaults to (n) => `(${n})`
|
|
41
|
+
*/
|
|
42
|
+
format?: (value: number) => string;
|
|
43
|
+
};
|
|
44
|
+
export type SubheaderInfoProps = Omit<React.ComponentProps<typeof import('../InteractiveIcon').InteractiveIcon>, 'children' | 'iconType'> & {
|
|
45
|
+
/**
|
|
46
|
+
* The visual style of the icon button.
|
|
47
|
+
* Defaults to 'stroked'.
|
|
48
|
+
*/
|
|
49
|
+
iconType?: 'filled' | 'stroked';
|
|
50
|
+
};
|
|
51
|
+
export type SubheaderDescriptionProps = {
|
|
52
|
+
/**
|
|
53
|
+
* The description text to display below the title row.
|
|
54
|
+
*/
|
|
55
|
+
children: React.ReactNode;
|
|
56
|
+
};
|
|
57
|
+
export type SubheaderActionProps = {
|
|
58
|
+
/**
|
|
59
|
+
* The action text to display.
|
|
60
|
+
*/
|
|
61
|
+
children: React.ReactNode;
|
|
62
|
+
/**
|
|
63
|
+
* Press handler for the action.
|
|
64
|
+
*/
|
|
65
|
+
onPress: () => void;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Subheader/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,EAAE,CAAC,EAAE,cAAc,CAAC;CACrB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAEhC,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,CAAC,cAAc,CAAC,cAAc,oBAAoB,EAAE,eAAe,CAAC,EACzE,UAAU,GAAG,UAAU,CACxB,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ThemeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ThemeProvider/ThemeProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAO3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAI7C,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAiBzC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ThemeProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ThemeProvider/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './ThemeProvider';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ThemeProvider/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Svg from 'react-native-svg';
|
|
2
|
+
/**
|
|
3
|
+
* Asterisk icon component for React Native.
|
|
4
|
+
*
|
|
5
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
6
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
7
|
+
* and additional size variants defined in the Icon component.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
11
|
+
* @param {string} [color] - The color of the icon.
|
|
12
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Basic usage with default size (24px)
|
|
16
|
+
* import { Asterisk } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
17
|
+
*
|
|
18
|
+
* <Asterisk />
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // With custom size and style
|
|
22
|
+
* <Asterisk size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // Used within a Button component
|
|
26
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
27
|
+
*
|
|
28
|
+
* <Button icon={Asterisk} size="md">
|
|
29
|
+
* Click me
|
|
30
|
+
* </Button>
|
|
31
|
+
*/
|
|
32
|
+
export declare const Asterisk: import("react").ForwardRefExoticComponent<Omit<import("../../Components/Icon").IconProps, "children"> & import("react").RefAttributes<Svg>>;
|
|
33
|
+
//# sourceMappingURL=Asterisk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Asterisk.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/Asterisk.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAa,MAAM,kBAAkB,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,QAAQ,6IAWpB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from 'react-native-svg';
|
|
3
|
+
import createIcon from '../../Components/Icon/createIcon';
|
|
4
|
+
/**
|
|
5
|
+
* Asterisk icon component for React Native.
|
|
6
|
+
*
|
|
7
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
8
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
9
|
+
* and additional size variants defined in the Icon component.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
13
|
+
* @param {string} [color] - The color of the icon.
|
|
14
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Basic usage with default size (24px)
|
|
18
|
+
* import { Asterisk } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
19
|
+
*
|
|
20
|
+
* <Asterisk />
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // With custom size and style
|
|
24
|
+
* <Asterisk size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // Used within a Button component
|
|
28
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
29
|
+
*
|
|
30
|
+
* <Button icon={Asterisk} size="md">
|
|
31
|
+
* Click me
|
|
32
|
+
* </Button>
|
|
33
|
+
*/
|
|
34
|
+
export const Asterisk = createIcon('Asterisk', _jsx(Svg, { width: 24, height: 24, fill: 'currentColor', viewBox: '0 0 16 16', children: _jsx(Path, { stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 1.3, d: 'M2 7.99h12m-9 4.974 6-9.948m0 10L5 3.067' }) }));
|
|
@@ -31,4 +31,4 @@ import createIcon from '../../Components/Icon/createIcon';
|
|
|
31
31
|
* Click me
|
|
32
32
|
* </Button>
|
|
33
33
|
*/
|
|
34
|
-
export const Bell = createIcon('Bell', _jsx(Svg, { width: 24, height: 24, fill: 'currentColor', viewBox: '0 0 16 16', children: _jsx(Path, { stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 1.3, d: 'M6
|
|
34
|
+
export const Bell = createIcon('Bell', _jsx(Svg, { width: 24, height: 24, fill: 'currentColor', viewBox: '0 0 16 16', children: _jsx(Path, { stroke: 'currentColor', strokeLinecap: 'round', strokeLinejoin: 'round', strokeWidth: 1.3, d: 'M6 11.427v.74c0 1.1.893 2 2 2 1.1 0 2-.9 2-2v-.727m2-2.273 1.133 1.133c.12.12.194.293.194.467v-.007c0 .367-.3.667-.667.667H3.327a.664.664 0 0 1-.667-.667.66.66 0 0 1 .193-.473l1.134-1.14V6.313c0-2.213 1.786-4 4-4 2.206 0 4 1.787 4 4z' }) }));
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import Svg from 'react-native-svg';
|
|
2
|
+
/**
|
|
3
|
+
* BellFill icon component for React Native.
|
|
4
|
+
*
|
|
5
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
6
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
7
|
+
* and additional size variants defined in the Icon component.
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
11
|
+
* @param {string} [color] - The color of the icon.
|
|
12
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* // Basic usage with default size (24px)
|
|
16
|
+
* import { BellFill } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
17
|
+
*
|
|
18
|
+
* <BellFill />
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // With custom size and style
|
|
22
|
+
* <BellFill size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // Used within a Button component
|
|
26
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
27
|
+
*
|
|
28
|
+
* <Button icon={BellFill} size="md">
|
|
29
|
+
* Click me
|
|
30
|
+
* </Button>
|
|
31
|
+
*/
|
|
32
|
+
export declare const BellFill: import("react").ForwardRefExoticComponent<Omit<import("../../Components/Icon").IconProps, "children"> & import("react").RefAttributes<Svg>>;
|
|
33
|
+
//# sourceMappingURL=BellFill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BellFill.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/BellFill.tsx"],"names":[],"mappings":"AAAA,OAAO,GAAa,MAAM,kBAAkB,CAAC;AAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,QAAQ,6IAQpB,CAAC"}
|