@ledgerhq/lumen-ui-rnative 0.0.76 → 0.0.78
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 +2 -2
- package/dist/src/lib/Components/ContentBanner/ContentBanner.d.ts +48 -0
- package/dist/src/lib/Components/ContentBanner/ContentBanner.d.ts.map +1 -0
- package/dist/src/lib/Components/ContentBanner/ContentBanner.js +108 -0
- package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.d.ts +11 -0
- package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.js +91 -0
- package/dist/src/lib/Components/ContentBanner/index.d.ts +3 -0
- package/dist/src/lib/Components/ContentBanner/index.d.ts.map +1 -0
- package/dist/src/lib/Components/ContentBanner/index.js +2 -0
- package/dist/src/lib/Components/ContentBanner/types.d.ts +47 -0
- package/dist/src/lib/Components/ContentBanner/types.d.ts.map +1 -0
- package/dist/src/lib/Components/ContentBanner/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/Csv.d.ts +35 -0
- package/dist/src/lib/Symbols/Icons/Csv.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/Csv.js +34 -0
- package/dist/src/lib/Symbols/Icons/Invoice.d.ts +35 -0
- package/dist/src/lib/Symbols/Icons/Invoice.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/Invoice.js +34 -0
- package/dist/src/lib/Symbols/Icons/Mailbox.d.ts +35 -0
- package/dist/src/lib/Symbols/Icons/Mailbox.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/Mailbox.js +34 -0
- package/dist/src/lib/Symbols/Icons/PenEditWriting.d.ts +35 -0
- package/dist/src/lib/Symbols/Icons/PenEditWriting.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/PenEditWriting.js +34 -0
- package/dist/src/lib/Symbols/Icons/Unlink.d.ts +35 -0
- package/dist/src/lib/Symbols/Icons/Unlink.d.ts.map +1 -0
- package/dist/src/lib/Symbols/Icons/Unlink.js +34 -0
- package/dist/src/lib/Symbols/index.d.ts +5 -0
- package/dist/src/lib/Symbols/index.d.ts.map +1 -1
- package/dist/src/lib/Symbols/index.js +5 -0
- package/package.json +2 -2
- package/src/lib/Components/ContentBanner/ContentBanner.mdx +246 -0
- package/src/lib/Components/ContentBanner/ContentBanner.stories.tsx +226 -0
- package/src/lib/Components/ContentBanner/ContentBanner.test.tsx +133 -0
- package/src/lib/Components/ContentBanner/ContentBanner.tsx +226 -0
- package/src/lib/Components/ContentBanner/index.ts +2 -0
- package/src/lib/Components/ContentBanner/types.ts +50 -0
- package/src/lib/Components/index.ts +1 -0
- package/src/lib/Symbols/Icons/Csv.tsx +49 -0
- package/src/lib/Symbols/Icons/Invoice.tsx +45 -0
- package/src/lib/Symbols/Icons/Mailbox.tsx +45 -0
- package/src/lib/Symbols/Icons/PenEditWriting.tsx +45 -0
- package/src/lib/Symbols/Icons/Unlink.tsx +45 -0
- package/src/lib/Symbols/index.ts +5 -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.77",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@types/react": "^19.0.0",
|
|
39
39
|
"@gorhom/bottom-sheet": "^5.0.0",
|
|
40
|
-
"@ledgerhq/lumen-design-core": "0.0.
|
|
40
|
+
"@ledgerhq/lumen-design-core": "0.0.54",
|
|
41
41
|
"react": "^19.0.0",
|
|
42
42
|
"react-native": "~0.79.7",
|
|
43
43
|
"react-native-reanimated": "^3.0.0",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ContentBannerContentProps, ContentBannerDescriptionProps, ContentBannerProps, ContentBannerTitleProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Container for the text content (title and description) within the content banner.
|
|
4
|
+
*/
|
|
5
|
+
export declare const ContentBannerContent: {
|
|
6
|
+
({ children, lx, style, ref, ...viewProps }: ContentBannerContentProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* The main title of the content banner.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ContentBannerTitle: {
|
|
13
|
+
({ children, lx, style, ref, ...textProps }: ContentBannerTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Optional description text below the title.
|
|
18
|
+
*/
|
|
19
|
+
export declare const ContentBannerDescription: {
|
|
20
|
+
({ children, lx, style, ref, ...textProps }: ContentBannerDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
displayName: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* A content banner component for displaying a composable banner with an optional
|
|
25
|
+
* leading visual, title, description, and close button.
|
|
26
|
+
*
|
|
27
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/communication-contentbanner-overview--docs Storybook}
|
|
28
|
+
*
|
|
29
|
+
* @warning The `lx` prop should only be used for layout adjustments like margins or positioning.
|
|
30
|
+
* Do not use it to modify the banner's core appearance (colors, padding, etc).
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* import { ContentBanner, ContentBannerContent, ContentBannerTitle, ContentBannerDescription, Spot } from '@ledgerhq/lumen-ui-rnative';
|
|
34
|
+
* import { Wallet } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
35
|
+
*
|
|
36
|
+
* <ContentBanner onClose={() => {}}>
|
|
37
|
+
* <Spot appearance="icon" icon={Wallet} size={48} />
|
|
38
|
+
* <ContentBannerContent>
|
|
39
|
+
* <ContentBannerTitle>Title</ContentBannerTitle>
|
|
40
|
+
* <ContentBannerDescription>Description text</ContentBannerDescription>
|
|
41
|
+
* </ContentBannerContent>
|
|
42
|
+
* </ContentBanner>
|
|
43
|
+
*/
|
|
44
|
+
export declare const ContentBanner: {
|
|
45
|
+
({ children, lx, style, onClose, closeAccessibilityLabel, ref, ...viewProps }: ContentBannerProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
displayName: string;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=ContentBanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentBanner.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ContentBanner/ContentBanner.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,oBAAoB;iDAM9B,yBAAyB;;CAuB3B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,kBAAkB;iDAM5B,uBAAuB;;CAgCzB,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,wBAAwB;iDAMlC,6BAA6B;;CAgC/B,CAAC;AAIF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa;mFAQvB,kBAAkB;;CAsDpB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isTextChildren } from '@ledgerhq/lumen-utils-shared';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { useCommonTranslation } from '../../../i18n';
|
|
5
|
+
import { useStyleSheet } from '../../../styles';
|
|
6
|
+
import { Close } from '../../Symbols';
|
|
7
|
+
import { InteractiveIcon } from '../InteractiveIcon';
|
|
8
|
+
import { Box, Text } from '../Utility';
|
|
9
|
+
/**
|
|
10
|
+
* Container for the text content (title and description) within the content banner.
|
|
11
|
+
*/
|
|
12
|
+
export const ContentBannerContent = ({ children, lx = {}, style, ref, ...viewProps }) => {
|
|
13
|
+
const styles = useStyleSheet((t) => ({
|
|
14
|
+
content: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
minWidth: 0,
|
|
17
|
+
flexDirection: 'column',
|
|
18
|
+
gap: t.spacings.s4,
|
|
19
|
+
},
|
|
20
|
+
}), []);
|
|
21
|
+
return (_jsx(Box, { ref: ref, lx: lx, style: StyleSheet.flatten([styles.content, style]), ...viewProps, children: children }));
|
|
22
|
+
};
|
|
23
|
+
ContentBannerContent.displayName = 'ContentBannerContent';
|
|
24
|
+
/**
|
|
25
|
+
* The main title of the content banner.
|
|
26
|
+
*/
|
|
27
|
+
export const ContentBannerTitle = ({ children, lx = {}, style, ref, ...textProps }) => {
|
|
28
|
+
const styles = useStyleSheet((t) => ({
|
|
29
|
+
title: StyleSheet.flatten([
|
|
30
|
+
t.typographies.body2SemiBold,
|
|
31
|
+
{
|
|
32
|
+
color: t.colors.text.base,
|
|
33
|
+
},
|
|
34
|
+
]),
|
|
35
|
+
}), []);
|
|
36
|
+
if (isTextChildren(children)) {
|
|
37
|
+
return (_jsx(Text, { ref: ref, lx: lx, style: StyleSheet.flatten([styles.title, style]), numberOfLines: 1, ellipsizeMode: 'tail', children: children }));
|
|
38
|
+
}
|
|
39
|
+
return (_jsx(Box, { lx: lx, style: StyleSheet.flatten([style]), ...textProps, children: children }));
|
|
40
|
+
};
|
|
41
|
+
ContentBannerTitle.displayName = 'ContentBannerTitle';
|
|
42
|
+
/**
|
|
43
|
+
* Optional description text below the title.
|
|
44
|
+
*/
|
|
45
|
+
export const ContentBannerDescription = ({ children, lx = {}, style, ref, ...textProps }) => {
|
|
46
|
+
const styles = useStyleSheet((t) => ({
|
|
47
|
+
description: StyleSheet.flatten([
|
|
48
|
+
t.typographies.body3,
|
|
49
|
+
{
|
|
50
|
+
color: t.colors.text.muted,
|
|
51
|
+
},
|
|
52
|
+
]),
|
|
53
|
+
}), []);
|
|
54
|
+
if (isTextChildren(children)) {
|
|
55
|
+
return (_jsx(Text, { ref: ref, lx: lx, style: StyleSheet.flatten([styles.description, style]), numberOfLines: 2, ellipsizeMode: 'tail', children: children }));
|
|
56
|
+
}
|
|
57
|
+
return (_jsx(Box, { lx: lx, style: StyleSheet.flatten([style]), ...textProps, children: children }));
|
|
58
|
+
};
|
|
59
|
+
ContentBannerDescription.displayName = 'ContentBannerDescription';
|
|
60
|
+
/**
|
|
61
|
+
* A content banner component for displaying a composable banner with an optional
|
|
62
|
+
* leading visual, title, description, and close button.
|
|
63
|
+
*
|
|
64
|
+
* @see {@link https://ldls.vercel.app/?path=/docs/communication-contentbanner-overview--docs Storybook}
|
|
65
|
+
*
|
|
66
|
+
* @warning The `lx` prop should only be used for layout adjustments like margins or positioning.
|
|
67
|
+
* Do not use it to modify the banner's core appearance (colors, padding, etc).
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* import { ContentBanner, ContentBannerContent, ContentBannerTitle, ContentBannerDescription, Spot } from '@ledgerhq/lumen-ui-rnative';
|
|
71
|
+
* import { Wallet } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
72
|
+
*
|
|
73
|
+
* <ContentBanner onClose={() => {}}>
|
|
74
|
+
* <Spot appearance="icon" icon={Wallet} size={48} />
|
|
75
|
+
* <ContentBannerContent>
|
|
76
|
+
* <ContentBannerTitle>Title</ContentBannerTitle>
|
|
77
|
+
* <ContentBannerDescription>Description text</ContentBannerDescription>
|
|
78
|
+
* </ContentBannerContent>
|
|
79
|
+
* </ContentBanner>
|
|
80
|
+
*/
|
|
81
|
+
export const ContentBanner = ({ children, lx = {}, style, onClose, closeAccessibilityLabel, ref, ...viewProps }) => {
|
|
82
|
+
const { t } = useCommonTranslation();
|
|
83
|
+
const styles = useStyleSheet((t) => ({
|
|
84
|
+
root: {
|
|
85
|
+
flexDirection: 'row',
|
|
86
|
+
width: t.sizes.full,
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
gap: t.spacings.s12,
|
|
89
|
+
borderRadius: t.borderRadius.md,
|
|
90
|
+
padding: t.spacings.s12,
|
|
91
|
+
backgroundColor: t.colors.bg.surface,
|
|
92
|
+
},
|
|
93
|
+
rootWithClose: {
|
|
94
|
+
paddingRight: t.spacings.s48,
|
|
95
|
+
},
|
|
96
|
+
closeButton: {
|
|
97
|
+
position: 'absolute',
|
|
98
|
+
top: t.spacings.s8,
|
|
99
|
+
right: t.spacings.s8,
|
|
100
|
+
},
|
|
101
|
+
}), []);
|
|
102
|
+
return (_jsxs(Box, { ref: ref, lx: lx, style: StyleSheet.flatten([
|
|
103
|
+
styles.root,
|
|
104
|
+
onClose && styles.rootWithClose,
|
|
105
|
+
style,
|
|
106
|
+
]), ...viewProps, children: [children, onClose && (_jsx(View, { style: styles.closeButton, children: _jsx(InteractiveIcon, { iconType: 'stroked', testID: 'content-banner-close-button', onPress: () => onClose(), accessibilityLabel: closeAccessibilityLabel || t('components.banner.closeAriaLabel'), children: _jsx(Close, { size: 16 }) }) }))] }));
|
|
107
|
+
};
|
|
108
|
+
ContentBanner.displayName = 'ContentBanner';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-native-web-vite';
|
|
2
|
+
import { ContentBanner } from './ContentBanner';
|
|
3
|
+
declare const meta: Meta<typeof ContentBanner>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof ContentBanner>;
|
|
6
|
+
export declare const Base: Story;
|
|
7
|
+
export declare const WithClose: Story;
|
|
8
|
+
export declare const ContentVariationsShowcase: Story;
|
|
9
|
+
export declare const WithStepper: Story;
|
|
10
|
+
export declare const ResponsiveLayout: Story;
|
|
11
|
+
//# sourceMappingURL=ContentBanner.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentBanner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ContentBanner/ContentBanner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOvE,OAAO,EACL,aAAa,EAId,MAAM,iBAAiB,CAAC;AAEzB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CA6BpC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,aAAa,CAAC,CAAC;AAE5C,eAAO,MAAM,IAAI,EAAE,KAkClB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAiCvB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAoDvC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAczB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAoC9B,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Settings, Wallet } from '../../Symbols';
|
|
4
|
+
import { Button } from '../Button';
|
|
5
|
+
import { Spot } from '../Spot';
|
|
6
|
+
import { Stepper } from '../Stepper';
|
|
7
|
+
import { Box, Text } from '../Utility';
|
|
8
|
+
import { ContentBanner, ContentBannerContent, ContentBannerDescription, ContentBannerTitle, } from './ContentBanner';
|
|
9
|
+
const meta = {
|
|
10
|
+
component: ContentBanner,
|
|
11
|
+
title: 'Communication/ContentBanner',
|
|
12
|
+
parameters: {
|
|
13
|
+
docs: {
|
|
14
|
+
source: {
|
|
15
|
+
language: 'tsx',
|
|
16
|
+
format: true,
|
|
17
|
+
type: 'code',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
argTypes: {
|
|
22
|
+
onClose: {
|
|
23
|
+
control: 'select',
|
|
24
|
+
description: 'Close action callback',
|
|
25
|
+
options: ['With Close', 'None'],
|
|
26
|
+
mapping: {
|
|
27
|
+
'With Close': () => {
|
|
28
|
+
console.log('Close clicked');
|
|
29
|
+
},
|
|
30
|
+
None: undefined,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
closeAccessibilityLabel: {
|
|
34
|
+
control: 'text',
|
|
35
|
+
description: 'Accessibility label for the close button',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
export default meta;
|
|
40
|
+
export const Base = {
|
|
41
|
+
args: {
|
|
42
|
+
closeAccessibilityLabel: 'Close content banner',
|
|
43
|
+
},
|
|
44
|
+
render: (args) => (_jsx(Box, { lx: { maxWidth: 's400' }, children: _jsxs(ContentBanner, { ...args, children: [_jsx(Spot, { appearance: 'icon', icon: Settings, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Content Banner" }), _jsx(ContentBannerDescription, { children: "This is a description for the content banner." })] })] }) })),
|
|
45
|
+
parameters: {
|
|
46
|
+
docs: {
|
|
47
|
+
source: {
|
|
48
|
+
code: `
|
|
49
|
+
<ContentBanner>
|
|
50
|
+
<Spot appearance="icon" icon={Settings} size={48} />
|
|
51
|
+
<ContentBannerContent>
|
|
52
|
+
<ContentBannerTitle>Content Banner</ContentBannerTitle>
|
|
53
|
+
<ContentBannerDescription>
|
|
54
|
+
This is a description for the content banner.
|
|
55
|
+
</ContentBannerDescription>
|
|
56
|
+
</ContentBannerContent>
|
|
57
|
+
</ContentBanner>
|
|
58
|
+
`,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
export const WithClose = {
|
|
64
|
+
render: () => {
|
|
65
|
+
const [visible, setVisible] = React.useState(true);
|
|
66
|
+
if (!visible) {
|
|
67
|
+
return (_jsx(Button, { appearance: 'transparent', size: 'sm', onPress: () => setVisible(true), children: "Show banner again" }));
|
|
68
|
+
}
|
|
69
|
+
return (_jsx(Box, { lx: { maxWidth: 's400' }, children: _jsxs(ContentBanner, { onClose: () => setVisible(false), closeAccessibilityLabel: 'Close content banner', children: [_jsx(Spot, { appearance: 'icon', icon: Settings, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Dismissible Banner" }), _jsx(ContentBannerDescription, { children: "Press the close button to dismiss this banner." })] })] }) }));
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
export const ContentVariationsShowcase = {
|
|
73
|
+
render: () => (_jsxs(Box, { lx: {
|
|
74
|
+
flexDirection: 'column',
|
|
75
|
+
maxWidth: 's400',
|
|
76
|
+
gap: 's16',
|
|
77
|
+
padding: 's8',
|
|
78
|
+
}, children: [_jsxs(ContentBanner, { children: [_jsx(Spot, { appearance: 'icon', icon: Settings, size: 48 }), _jsx(ContentBannerContent, { children: _jsx(ContentBannerTitle, { children: "Title Only" }) })] }), _jsxs(ContentBanner, { children: [_jsx(Spot, { appearance: 'icon', icon: Wallet, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Title with Description" }), _jsx(ContentBannerDescription, { children: "This is a description for the content banner." })] })] }), _jsxs(ContentBanner, { onClose: () => console.log('close'), children: [_jsx(Spot, { appearance: 'icon', icon: Wallet, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "With Close Button" }), _jsx(ContentBannerDescription, { children: "A content banner with a leading icon and close button." })] })] }), _jsxs(ContentBanner, { onClose: () => console.log('close'), children: [_jsx(Spot, { appearance: 'icon', icon: Settings, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Longer Title That Demonstrates Clamping Behavior With a Long Description" }), _jsx(ContentBannerDescription, { children: "This is a longer description that demonstrates how the content banner handles overflow. It should be clamped at two lines." })] })] })] })),
|
|
79
|
+
};
|
|
80
|
+
export const WithStepper = {
|
|
81
|
+
render: () => (_jsx(Box, { lx: { maxWidth: 's400' }, children: _jsxs(ContentBanner, { onClose: () => console.log('close'), children: [_jsx(Stepper, { currentStep: 2, totalSteps: 4 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Setup your wallet" }), _jsx(ContentBannerDescription, { children: "Complete all steps to secure your wallet." })] })] }) })),
|
|
82
|
+
};
|
|
83
|
+
export const ResponsiveLayout = {
|
|
84
|
+
render: () => (_jsxs(Box, { lx: {
|
|
85
|
+
width: 's400',
|
|
86
|
+
flexDirection: 'column',
|
|
87
|
+
gap: 's16',
|
|
88
|
+
backgroundColor: 'mutedPressed',
|
|
89
|
+
padding: 's16',
|
|
90
|
+
}, children: [_jsx(Text, { typography: 'body4SemiBold', lx: { color: 'muted' }, children: "Container with a fixed width" }), _jsxs(ContentBanner, { children: [_jsx(Spot, { appearance: 'icon', icon: Settings, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Short Title" }), _jsx(ContentBannerDescription, { children: "Short description" })] })] }), _jsxs(ContentBanner, { onClose: () => console.log('close'), children: [_jsx(Spot, { appearance: 'icon', icon: Wallet, size: 48 }), _jsxs(ContentBannerContent, { children: [_jsx(ContentBannerTitle, { children: "Longer Title That Might Overflow When Container is Smaller" }), _jsx(ContentBannerDescription, { children: "This is a longer description that demonstrates how the content banner handles longer content within its constraints. It should be clamped at two lines with an ellipsis." })] })] })] })),
|
|
91
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ContentBanner/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyledTextProps, StyledViewProps } from '../../../styles';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the ContentBanner root component
|
|
5
|
+
*/
|
|
6
|
+
export type ContentBannerProps = {
|
|
7
|
+
/**
|
|
8
|
+
* The content of the content banner (ContentBannerContent, ContentBannerTitle, ContentBannerDescription, or any leading element)
|
|
9
|
+
*/
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Optional close action.
|
|
13
|
+
*/
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Optional accessibility label for the close button.
|
|
17
|
+
*/
|
|
18
|
+
closeAccessibilityLabel?: string;
|
|
19
|
+
} & Omit<StyledViewProps, 'children'>;
|
|
20
|
+
/**
|
|
21
|
+
* Props for the ContentBannerContent component
|
|
22
|
+
*/
|
|
23
|
+
export type ContentBannerContentProps = {
|
|
24
|
+
/**
|
|
25
|
+
* The content (ContentBannerTitle, ContentBannerDescription)
|
|
26
|
+
*/
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
} & Omit<StyledViewProps, 'children'>;
|
|
29
|
+
/**
|
|
30
|
+
* Props for the ContentBannerTitle component
|
|
31
|
+
*/
|
|
32
|
+
export type ContentBannerTitleProps = {
|
|
33
|
+
/**
|
|
34
|
+
* The title text or custom content
|
|
35
|
+
*/
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
} & Omit<StyledTextProps, 'children'>;
|
|
38
|
+
/**
|
|
39
|
+
* Props for the ContentBannerDescription component
|
|
40
|
+
*/
|
|
41
|
+
export type ContentBannerDescriptionProps = {
|
|
42
|
+
/**
|
|
43
|
+
* The description text or custom content
|
|
44
|
+
*/
|
|
45
|
+
children: React.ReactNode;
|
|
46
|
+
} & Omit<StyledTextProps, 'children'>;
|
|
47
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ContentBanner/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,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,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,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,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,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,cAAc,CAAC;AAC7B,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,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,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,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Csv icon component for React Native.
|
|
3
|
+
*
|
|
4
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
5
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
6
|
+
* and additional size variants defined in the Icon component.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
10
|
+
* @param {string} [color] - The color of the icon.
|
|
11
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage with default size (24px)
|
|
15
|
+
* import { Csv } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
16
|
+
*
|
|
17
|
+
* <Csv />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // With custom size and style
|
|
21
|
+
* <Csv size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Used within a Button component
|
|
25
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
26
|
+
*
|
|
27
|
+
* <Button icon={Csv} size="md">
|
|
28
|
+
* Click me
|
|
29
|
+
* </Button>
|
|
30
|
+
*/
|
|
31
|
+
export declare const Csv: {
|
|
32
|
+
(props: Omit<import("../../Components").IconProps, "children">): import("react").FunctionComponentElement<import("../../Components").IconProps>;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=Csv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Csv.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/Csv.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,GAAG;;;CAef,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Svg, { Path } from 'react-native-svg';
|
|
3
|
+
import createIcon from '../../Components/Icon/createIcon';
|
|
4
|
+
/**
|
|
5
|
+
* Csv 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 { Csv } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
19
|
+
*
|
|
20
|
+
* <Csv />
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // With custom size and style
|
|
24
|
+
* <Csv 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={Csv} size="md">
|
|
31
|
+
* Click me
|
|
32
|
+
* </Button>
|
|
33
|
+
*/
|
|
34
|
+
export const Csv = createIcon('Csv', _jsxs(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: 'M10.333 14h1a2 2 0 0 0 2-2V5.673a2 2 0 0 0-.585-1.414l-1.673-1.673A2 2 0 0 0 9.66 2H4.667a2 2 0 0 0-2 2v4.667m10.666-3H11a1.333 1.333 0 0 1-1.333-1.334V2M8 6v3.333m0 0L9.333 8M8 9.333 6.667 8' }), _jsx(Path, { fill: 'currentColor', d: 'M1.86 13.656a.467.467 0 0 1 .641.156.13.13 0 0 0 .043.044q.015.01.04.01h.426a.08.08 0 0 0 .079-.078.08.08 0 0 0-.062-.078l-.728-.183a1.012 1.012 0 0 1 .247-1.994h.426c.39 0 .704.217.878.502a.467.467 0 0 1-.797.486.13.13 0 0 0-.042-.044.1.1 0 0 0-.039-.01h-.426a.079.079 0 0 0-.02.155l.73.183A1.012 1.012 0 0 1 3.01 14.8h-.426c-.391 0-.705-.217-.879-.503a.467.467 0 0 1 .156-.64m2.34.01v-1c0-.625.507-1.133 1.133-1.133H6a.467.467 0 0 1 0 .934h-.667a.2.2 0 0 0-.2.2v1c0 .11.09.2.2.2H6a.467.467 0 0 1 0 .933h-.667A1.134 1.134 0 0 1 4.2 13.667m5.01-2.115c.248.07.392.327.323.575l-.656 2.334a.47.47 0 0 1-.45.34H7.99a.47.47 0 0 1-.45-.34l-.656-2.334a.467.467 0 0 1 .899-.252l.425 1.514.426-1.514a.467.467 0 0 1 .576-.323' })] }));
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Invoice icon component for React Native.
|
|
3
|
+
*
|
|
4
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
5
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
6
|
+
* and additional size variants defined in the Icon component.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
10
|
+
* @param {string} [color] - The color of the icon.
|
|
11
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage with default size (24px)
|
|
15
|
+
* import { Invoice } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
16
|
+
*
|
|
17
|
+
* <Invoice />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // With custom size and style
|
|
21
|
+
* <Invoice size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Used within a Button component
|
|
25
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
26
|
+
*
|
|
27
|
+
* <Button icon={Invoice} size="md">
|
|
28
|
+
* Click me
|
|
29
|
+
* </Button>
|
|
30
|
+
*/
|
|
31
|
+
export declare const Invoice: {
|
|
32
|
+
(props: Omit<import("../../Components").IconProps, "children">): import("react").FunctionComponentElement<import("../../Components").IconProps>;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=Invoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Invoice.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/Invoice.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,OAAO;;;CAWnB,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
|
+
* Invoice 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 { Invoice } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
19
|
+
*
|
|
20
|
+
* <Invoice />
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // With custom size and style
|
|
24
|
+
* <Invoice 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={Invoice} size="md">
|
|
31
|
+
* Click me
|
|
32
|
+
* </Button>
|
|
33
|
+
*/
|
|
34
|
+
export const Invoice = createIcon('Invoice', _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: 'M10.667 6H5.333m5.334 2H5.333m3.334 2H5.333m7.633 3.597-.66.332a.67.67 0 0 1-.595.002l-1.048-.518-1.027.516a.67.67 0 0 1-.597 0L8 13.413l-1.04.518a.67.67 0 0 1-.596-.001l-1.027-.517-1.048.519a.67.67 0 0 1-.595-.002l-.66-.332a.67.67 0 0 1-.367-.595V2.998c0-.252.142-.482.367-.595l.66-.332a.67.67 0 0 1 .595-.002l1.048.518 1.027-.516a.67.67 0 0 1 .597 0L8 2.587l1.04-.518a.67.67 0 0 1 .596.001l1.027.516 1.048-.518a.67.67 0 0 1 .595.002l.66.332a.67.67 0 0 1 .367.595v10.004a.67.67 0 0 1-.367.595' }) }));
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mailbox icon component for React Native.
|
|
3
|
+
*
|
|
4
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
5
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
6
|
+
* and additional size variants defined in the Icon component.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
10
|
+
* @param {string} [color] - The color of the icon.
|
|
11
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage with default size (24px)
|
|
15
|
+
* import { Mailbox } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
16
|
+
*
|
|
17
|
+
* <Mailbox />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // With custom size and style
|
|
21
|
+
* <Mailbox size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Used within a Button component
|
|
25
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
26
|
+
*
|
|
27
|
+
* <Button icon={Mailbox} size="md">
|
|
28
|
+
* Click me
|
|
29
|
+
* </Button>
|
|
30
|
+
*/
|
|
31
|
+
export declare const Mailbox: {
|
|
32
|
+
(props: Omit<import("../../Components").IconProps, "children">): import("react").FunctionComponentElement<import("../../Components").IconProps>;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=Mailbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mailbox.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/Mailbox.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,OAAO;;;CAWnB,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
|
+
* Mailbox 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 { Mailbox } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
19
|
+
*
|
|
20
|
+
* <Mailbox />
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // With custom size and style
|
|
24
|
+
* <Mailbox 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={Mailbox} size="md">
|
|
31
|
+
* Click me
|
|
32
|
+
* </Button>
|
|
33
|
+
*/
|
|
34
|
+
export const Mailbox = createIcon('Mailbox', _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: 'M9.038 4.332 7.74 5.628l-.778-.778m-.964 2.817h4.002M3.33 9.334V3.33c0-.736.598-1.333 1.334-1.333h6.67c.736 0 1.334.597 1.334 1.333v6.003M1.998 12.669v-2.335a1 1 0 0 1 1-1H4.25a1 1 0 0 1 .707.293l.651.65c.25.25.589.39.942.39h2.897c.354 0 .693-.14.944-.39l.553-.553c.25-.25.588-.39.942-.39h1.115a1 1 0 0 1 1 1v2.335c0 .736-.597 1.333-1.333 1.333H3.33a1.334 1.334 0 0 1-1.333-1.333' }) }));
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PenEditWriting icon component for React Native.
|
|
3
|
+
*
|
|
4
|
+
* This icon component is automatically generated from SVG files and uses the createIcon utility
|
|
5
|
+
* to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
|
|
6
|
+
* and additional size variants defined in the Icon component.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
|
|
10
|
+
* @param {string} [color] - The color of the icon.
|
|
11
|
+
* @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Basic usage with default size (24px)
|
|
15
|
+
* import { PenEditWriting } from '@ledgerhq/lumen-ui-rnative/symbols';
|
|
16
|
+
*
|
|
17
|
+
* <PenEditWriting />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // With custom size and style
|
|
21
|
+
* <PenEditWriting size={40} color="warning" lx={{ marginTop: 's4' }} />
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* // Used within a Button component
|
|
25
|
+
* import { Button } from '@ledgerhq/lumen-ui-rnative';
|
|
26
|
+
*
|
|
27
|
+
* <Button icon={PenEditWriting} size="md">
|
|
28
|
+
* Click me
|
|
29
|
+
* </Button>
|
|
30
|
+
*/
|
|
31
|
+
export declare const PenEditWriting: {
|
|
32
|
+
(props: Omit<import("../../Components").IconProps, "children">): import("react").FunctionComponentElement<import("../../Components").IconProps>;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=PenEditWriting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PenEditWriting.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Symbols/Icons/PenEditWriting.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,cAAc;;;CAW1B,CAAC"}
|