@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.
Files changed (48) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/lib/Components/ContentBanner/ContentBanner.d.ts +48 -0
  3. package/dist/src/lib/Components/ContentBanner/ContentBanner.d.ts.map +1 -0
  4. package/dist/src/lib/Components/ContentBanner/ContentBanner.js +108 -0
  5. package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.d.ts +11 -0
  6. package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.d.ts.map +1 -0
  7. package/dist/src/lib/Components/ContentBanner/ContentBanner.stories.js +91 -0
  8. package/dist/src/lib/Components/ContentBanner/index.d.ts +3 -0
  9. package/dist/src/lib/Components/ContentBanner/index.d.ts.map +1 -0
  10. package/dist/src/lib/Components/ContentBanner/index.js +2 -0
  11. package/dist/src/lib/Components/ContentBanner/types.d.ts +47 -0
  12. package/dist/src/lib/Components/ContentBanner/types.d.ts.map +1 -0
  13. package/dist/src/lib/Components/ContentBanner/types.js +1 -0
  14. package/dist/src/lib/Components/index.d.ts +1 -0
  15. package/dist/src/lib/Components/index.d.ts.map +1 -1
  16. package/dist/src/lib/Components/index.js +1 -0
  17. package/dist/src/lib/Symbols/Icons/Csv.d.ts +35 -0
  18. package/dist/src/lib/Symbols/Icons/Csv.d.ts.map +1 -0
  19. package/dist/src/lib/Symbols/Icons/Csv.js +34 -0
  20. package/dist/src/lib/Symbols/Icons/Invoice.d.ts +35 -0
  21. package/dist/src/lib/Symbols/Icons/Invoice.d.ts.map +1 -0
  22. package/dist/src/lib/Symbols/Icons/Invoice.js +34 -0
  23. package/dist/src/lib/Symbols/Icons/Mailbox.d.ts +35 -0
  24. package/dist/src/lib/Symbols/Icons/Mailbox.d.ts.map +1 -0
  25. package/dist/src/lib/Symbols/Icons/Mailbox.js +34 -0
  26. package/dist/src/lib/Symbols/Icons/PenEditWriting.d.ts +35 -0
  27. package/dist/src/lib/Symbols/Icons/PenEditWriting.d.ts.map +1 -0
  28. package/dist/src/lib/Symbols/Icons/PenEditWriting.js +34 -0
  29. package/dist/src/lib/Symbols/Icons/Unlink.d.ts +35 -0
  30. package/dist/src/lib/Symbols/Icons/Unlink.d.ts.map +1 -0
  31. package/dist/src/lib/Symbols/Icons/Unlink.js +34 -0
  32. package/dist/src/lib/Symbols/index.d.ts +5 -0
  33. package/dist/src/lib/Symbols/index.d.ts.map +1 -1
  34. package/dist/src/lib/Symbols/index.js +5 -0
  35. package/package.json +2 -2
  36. package/src/lib/Components/ContentBanner/ContentBanner.mdx +246 -0
  37. package/src/lib/Components/ContentBanner/ContentBanner.stories.tsx +226 -0
  38. package/src/lib/Components/ContentBanner/ContentBanner.test.tsx +133 -0
  39. package/src/lib/Components/ContentBanner/ContentBanner.tsx +226 -0
  40. package/src/lib/Components/ContentBanner/index.ts +2 -0
  41. package/src/lib/Components/ContentBanner/types.ts +50 -0
  42. package/src/lib/Components/index.ts +1 -0
  43. package/src/lib/Symbols/Icons/Csv.tsx +49 -0
  44. package/src/lib/Symbols/Icons/Invoice.tsx +45 -0
  45. package/src/lib/Symbols/Icons/Mailbox.tsx +45 -0
  46. package/src/lib/Symbols/Icons/PenEditWriting.tsx +45 -0
  47. package/src/lib/Symbols/Icons/Unlink.tsx +45 -0
  48. 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.75",
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.53",
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,3 @@
1
+ export * from './ContentBanner';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from './ContentBanner';
2
+ export * from './types';
@@ -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 {};
@@ -6,6 +6,7 @@ export * from './Banner';
6
6
  export * from './BottomSheet';
7
7
  export * from './Button';
8
8
  export * from './CardButton';
9
+ export * from './ContentBanner';
9
10
  export * from './Checkbox';
10
11
  export * from './Divider';
11
12
  export * from './Icon';
@@ -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"}
@@ -6,6 +6,7 @@ export * from './Banner';
6
6
  export * from './BottomSheet';
7
7
  export * from './Button';
8
8
  export * from './CardButton';
9
+ export * from './ContentBanner';
9
10
  export * from './Checkbox';
10
11
  export * from './Divider';
11
12
  export * from './Icon';
@@ -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"}