@ledgerhq/lumen-ui-rnative 0.1.11 → 0.1.13
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/module/i18n/locales/de.json +3 -0
- package/dist/module/i18n/locales/en.json +3 -0
- package/dist/module/i18n/locales/es.json +3 -0
- package/dist/module/i18n/locales/fr.json +3 -0
- package/dist/module/i18n/locales/ja.json +3 -0
- package/dist/module/i18n/locales/ko.json +3 -0
- package/dist/module/i18n/locales/pt.json +3 -0
- package/dist/module/i18n/locales/ru.json +3 -0
- package/dist/module/i18n/locales/th.json +3 -0
- package/dist/module/i18n/locales/tr.json +3 -0
- package/dist/module/i18n/locales/zh.json +3 -0
- package/dist/module/lib/Animations/Pulse/Pulse.js +1 -1
- package/dist/module/lib/Animations/Spin/Spin.js +1 -1
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js +21 -21
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js.map +1 -1
- package/dist/module/lib/Components/AmountInput/AmountInput.js +3 -3
- package/dist/module/lib/Components/BaseInput/BaseInput.js +1 -1
- package/dist/module/lib/Components/BottomSheet/BottomSheet.stories.js.map +1 -1
- package/dist/module/lib/Components/Card/Card.js +39 -29
- package/dist/module/lib/Components/Card/Card.js.map +1 -1
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js +22 -2
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js.map +1 -1
- package/dist/module/lib/Components/Link/Link.mdx +1 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.js +158 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.js.map +1 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.mdx +150 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.stories.js +135 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.stories.js.map +1 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.test.js +83 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.test.js.map +1 -0
- package/dist/module/lib/Components/MediaBanner/index.js +5 -0
- package/dist/module/lib/Components/MediaBanner/index.js.map +1 -0
- package/dist/module/lib/Components/MediaBanner/types.js +4 -0
- package/dist/module/lib/Components/MediaBanner/types.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.js +183 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.mdx +111 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.stories.js +199 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.stories.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.test.js +140 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.test.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/index.js +5 -0
- package/dist/module/lib/Components/MediaCard/index.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/types.js +4 -0
- package/dist/module/lib/Components/MediaCard/types.js.map +1 -0
- package/dist/module/lib/Components/PageIndicator/PageIndicator.js +2 -2
- package/dist/module/lib/Components/SegmentedControl/usePillLayout.js +1 -1
- package/dist/module/lib/Components/Stepper/Stepper.js +1 -1
- package/dist/module/lib/Components/Switch/BaseSwitch.js +1 -1
- package/dist/module/lib/Components/TabBar/TabBar.js +4 -4
- package/dist/module/lib/Components/ThemeProvider/ThemeProvider.test.js +22 -20
- package/dist/module/lib/Components/ThemeProvider/ThemeProvider.test.js.map +1 -1
- package/dist/module/lib/Components/TriggerButton/TriggerButton.js +197 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.js.map +1 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.mdx +44 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js +170 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js.map +1 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js +146 -0
- package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js.map +1 -0
- package/dist/module/lib/Components/TriggerButton/index.js +5 -0
- package/dist/module/lib/Components/TriggerButton/index.js.map +1 -0
- package/dist/module/lib/Components/TriggerButton/types.js +4 -0
- package/dist/module/lib/Components/TriggerButton/types.js.map +1 -0
- package/dist/module/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.stories.js.map +1 -1
- package/dist/module/lib/Components/index.js +3 -0
- package/dist/module/lib/Components/index.js.map +1 -1
- package/dist/module/lib/Symbols/Icons/NanoGen5.js +49 -0
- package/dist/module/lib/Symbols/Icons/NanoGen5.js.map +1 -0
- package/dist/module/lib/Symbols/index.js +1 -0
- package/dist/module/lib/Symbols/index.js.map +1 -1
- package/dist/typescript/src/lib/Components/Card/Card.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts +8 -0
- package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts +16 -0
- package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaBanner/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/MediaBanner/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts +42 -0
- package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts +32 -0
- package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaCard/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/MediaCard/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaCard/types.d.ts +38 -0
- package/dist/typescript/src/lib/Components/MediaCard/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts +26 -0
- package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts +38 -0
- package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/Symbols/Icons/NanoGen5.d.ts +35 -0
- package/dist/typescript/src/lib/Symbols/Icons/NanoGen5.d.ts.map +1 -0
- package/dist/typescript/src/lib/Symbols/index.d.ts +1 -0
- package/dist/typescript/src/lib/Symbols/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/i18n/locales/de.json +3 -0
- package/src/i18n/locales/en.json +3 -0
- package/src/i18n/locales/es.json +3 -0
- package/src/i18n/locales/fr.json +3 -0
- package/src/i18n/locales/ja.json +3 -0
- package/src/i18n/locales/ko.json +3 -0
- package/src/i18n/locales/pt.json +3 -0
- package/src/i18n/locales/ru.json +3 -0
- package/src/i18n/locales/th.json +3 -0
- package/src/i18n/locales/tr.json +3 -0
- package/src/i18n/locales/zh.json +3 -0
- package/src/lib/Components/AmountDisplay/AmountDisplay.tsx +20 -20
- package/src/lib/Components/BottomSheet/BottomSheet.stories.tsx +9 -9
- package/src/lib/Components/Card/Card.tsx +38 -33
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +26 -4
- package/src/lib/Components/InteractiveIcon/types.ts +8 -0
- package/src/lib/Components/Link/Link.mdx +1 -0
- package/src/lib/Components/MediaBanner/MediaBanner.mdx +150 -0
- package/src/lib/Components/MediaBanner/MediaBanner.stories.tsx +143 -0
- package/src/lib/Components/MediaBanner/MediaBanner.test.tsx +77 -0
- package/src/lib/Components/MediaBanner/MediaBanner.tsx +172 -0
- package/src/lib/Components/MediaBanner/index.ts +2 -0
- package/src/lib/Components/MediaBanner/types.ts +44 -0
- package/src/lib/Components/MediaCard/MediaCard.mdx +111 -0
- package/src/lib/Components/MediaCard/MediaCard.stories.tsx +190 -0
- package/src/lib/Components/MediaCard/MediaCard.test.tsx +125 -0
- package/src/lib/Components/MediaCard/MediaCard.tsx +203 -0
- package/src/lib/Components/MediaCard/index.ts +2 -0
- package/src/lib/Components/MediaCard/types.ts +39 -0
- package/src/lib/Components/ThemeProvider/ThemeProvider.test.tsx +16 -18
- package/src/lib/Components/TriggerButton/TriggerButton.mdx +44 -0
- package/src/lib/Components/TriggerButton/TriggerButton.stories.tsx +132 -0
- package/src/lib/Components/TriggerButton/TriggerButton.test.tsx +157 -0
- package/src/lib/Components/TriggerButton/TriggerButton.tsx +228 -0
- package/src/lib/Components/TriggerButton/index.ts +2 -0
- package/src/lib/Components/TriggerButton/types.ts +38 -0
- package/src/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.stories.tsx +1 -1
- package/src/lib/Components/index.ts +3 -0
- package/src/lib/Symbols/Icons/NanoGen5.tsx +44 -0
- package/src/lib/Symbols/index.ts +1 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Image, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { useCommonTranslation } from "../../../i18n/index.js";
|
|
6
|
+
import { useStyleSheet } from "../../../styles/index.js";
|
|
7
|
+
import { Close } from "../../Symbols/index.js";
|
|
8
|
+
import { InteractiveIcon } from "../InteractiveIcon/index.js";
|
|
9
|
+
import { LinearGradient, Pressable, Text } from "../Utility/index.js";
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
const CARD_HEIGHT = 164;
|
|
12
|
+
const useStyles = () => useStyleSheet(t => ({
|
|
13
|
+
root: {
|
|
14
|
+
position: 'relative',
|
|
15
|
+
width: t.sizes.full,
|
|
16
|
+
height: CARD_HEIGHT,
|
|
17
|
+
borderRadius: t.borderRadius.md,
|
|
18
|
+
overflow: 'hidden',
|
|
19
|
+
flexDirection: 'column',
|
|
20
|
+
alignItems: 'flex-start',
|
|
21
|
+
justifyContent: 'flex-end',
|
|
22
|
+
backgroundColor: t.colors.bg.muted
|
|
23
|
+
},
|
|
24
|
+
content: {
|
|
25
|
+
flexDirection: 'column',
|
|
26
|
+
alignItems: 'flex-start',
|
|
27
|
+
gap: t.spacings.s8,
|
|
28
|
+
width: t.sizes.full,
|
|
29
|
+
minWidth: 0,
|
|
30
|
+
padding: t.spacings.s12
|
|
31
|
+
},
|
|
32
|
+
title: {
|
|
33
|
+
...t.typographies.heading3SemiBold,
|
|
34
|
+
color: t.colors.text.white
|
|
35
|
+
},
|
|
36
|
+
closeButton: {
|
|
37
|
+
position: 'absolute',
|
|
38
|
+
top: t.spacings.s12,
|
|
39
|
+
right: t.spacings.s12
|
|
40
|
+
},
|
|
41
|
+
gradientOverlays: {
|
|
42
|
+
color: t.colors.text.black
|
|
43
|
+
},
|
|
44
|
+
pressedOverlay: {
|
|
45
|
+
backgroundColor: t.colors.bg.mutedTransparentPressed
|
|
46
|
+
}
|
|
47
|
+
}), []);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Title text for the card, styled with heading typography and white color.
|
|
51
|
+
*/
|
|
52
|
+
export const MediaCardTitle = ({
|
|
53
|
+
children,
|
|
54
|
+
lx = {},
|
|
55
|
+
style,
|
|
56
|
+
ref,
|
|
57
|
+
...props
|
|
58
|
+
}) => {
|
|
59
|
+
const styles = useStyles();
|
|
60
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
61
|
+
ref: ref,
|
|
62
|
+
lx: lx,
|
|
63
|
+
style: StyleSheet.flatten([styles.title, style]),
|
|
64
|
+
numberOfLines: 3,
|
|
65
|
+
ellipsizeMode: "tail",
|
|
66
|
+
...props,
|
|
67
|
+
children: children
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
MediaCardTitle.displayName = 'MediaCardTitle';
|
|
71
|
+
const GradientOverlays = () => {
|
|
72
|
+
const styles = useStyles();
|
|
73
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
74
|
+
children: [/*#__PURE__*/_jsx(LinearGradient, {
|
|
75
|
+
direction: "to-top",
|
|
76
|
+
stops: [{
|
|
77
|
+
color: styles.gradientOverlays.color,
|
|
78
|
+
opacity: 0.8,
|
|
79
|
+
offset: 0
|
|
80
|
+
}, {
|
|
81
|
+
color: styles.gradientOverlays.color,
|
|
82
|
+
opacity: 0,
|
|
83
|
+
offset: 0.75
|
|
84
|
+
}],
|
|
85
|
+
style: StyleSheet.absoluteFill,
|
|
86
|
+
pointerEvents: "none",
|
|
87
|
+
accessible: false
|
|
88
|
+
}), /*#__PURE__*/_jsx(LinearGradient, {
|
|
89
|
+
direction: 45,
|
|
90
|
+
stops: [{
|
|
91
|
+
color: styles.gradientOverlays.color,
|
|
92
|
+
opacity: 0,
|
|
93
|
+
offset: 0.6
|
|
94
|
+
}, {
|
|
95
|
+
color: styles.gradientOverlays.color,
|
|
96
|
+
opacity: 0.8
|
|
97
|
+
}],
|
|
98
|
+
style: StyleSheet.absoluteFill,
|
|
99
|
+
pointerEvents: "none",
|
|
100
|
+
accessible: false
|
|
101
|
+
})]
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* A media card component for displaying a full-bleed background image with
|
|
107
|
+
* composable content and a close button, using gradient overlays to ensure
|
|
108
|
+
* readability.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* import { MediaCard, MediaCardTitle } from '@ledgerhq/lumen-ui-rnative';
|
|
112
|
+
* import { Tag } from '@ledgerhq/lumen-ui-rnative';
|
|
113
|
+
*
|
|
114
|
+
* <MediaCard imageUrl="/image.jpg" onPress={() => {}} onClose={() => {}}>
|
|
115
|
+
* <Tag label="New" size="md" />
|
|
116
|
+
* <MediaCardTitle>Card title</MediaCardTitle>
|
|
117
|
+
* </MediaCard>
|
|
118
|
+
*
|
|
119
|
+
* // Without close button
|
|
120
|
+
* <MediaCard imageUrl="/image.jpg" onPress={() => {}}>
|
|
121
|
+
* <MediaCardTitle>Card title</MediaCardTitle>
|
|
122
|
+
* </MediaCard>
|
|
123
|
+
*/
|
|
124
|
+
export const MediaCard = ({
|
|
125
|
+
ref,
|
|
126
|
+
children,
|
|
127
|
+
imageUrl,
|
|
128
|
+
onPress,
|
|
129
|
+
onClose,
|
|
130
|
+
closeAccessibilityLabel,
|
|
131
|
+
lx = {},
|
|
132
|
+
style,
|
|
133
|
+
...pressableProps
|
|
134
|
+
}) => {
|
|
135
|
+
const {
|
|
136
|
+
t
|
|
137
|
+
} = useCommonTranslation();
|
|
138
|
+
const [imageLoadError, setImageLoadError] = useState(false);
|
|
139
|
+
const showImage = imageUrl && !imageLoadError;
|
|
140
|
+
const styles = useStyles();
|
|
141
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
142
|
+
ref: ref,
|
|
143
|
+
lx: lx,
|
|
144
|
+
style: StyleSheet.flatten([styles.root, style]),
|
|
145
|
+
accessibilityRole: onPress ? 'button' : undefined,
|
|
146
|
+
onPress: onPress,
|
|
147
|
+
...pressableProps,
|
|
148
|
+
children: ({
|
|
149
|
+
pressed
|
|
150
|
+
}) => /*#__PURE__*/_jsxs(_Fragment, {
|
|
151
|
+
children: [showImage && /*#__PURE__*/_jsx(Image, {
|
|
152
|
+
source: {
|
|
153
|
+
uri: imageUrl
|
|
154
|
+
},
|
|
155
|
+
style: [StyleSheet.absoluteFill, imageLoadError && {
|
|
156
|
+
opacity: 0
|
|
157
|
+
}],
|
|
158
|
+
accessible: false,
|
|
159
|
+
onError: () => setImageLoadError(true),
|
|
160
|
+
testID: "media-card-image"
|
|
161
|
+
}), /*#__PURE__*/_jsx(GradientOverlays, {}), /*#__PURE__*/_jsx(View, {
|
|
162
|
+
style: styles.content,
|
|
163
|
+
children: children
|
|
164
|
+
}), onClose && /*#__PURE__*/_jsx(InteractiveIcon, {
|
|
165
|
+
iconType: "stroked",
|
|
166
|
+
appearance: "white",
|
|
167
|
+
style: styles.closeButton,
|
|
168
|
+
onPress: onClose,
|
|
169
|
+
accessibilityLabel: closeAccessibilityLabel || t('common.closeAriaLabel'),
|
|
170
|
+
testID: "media-card-close-button",
|
|
171
|
+
children: /*#__PURE__*/_jsx(Close, {
|
|
172
|
+
size: 20
|
|
173
|
+
})
|
|
174
|
+
}), pressed && /*#__PURE__*/_jsx(View, {
|
|
175
|
+
style: [StyleSheet.absoluteFill, styles.pressedOverlay],
|
|
176
|
+
pointerEvents: "none",
|
|
177
|
+
accessible: false
|
|
178
|
+
})]
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
MediaCard.displayName = 'MediaCard';
|
|
183
|
+
//# sourceMappingURL=MediaCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","Image","StyleSheet","View","useCommonTranslation","useStyleSheet","Close","InteractiveIcon","LinearGradient","Pressable","Text","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CARD_HEIGHT","useStyles","t","root","position","width","sizes","full","height","borderRadius","md","overflow","flexDirection","alignItems","justifyContent","backgroundColor","colors","bg","muted","content","gap","spacings","s8","minWidth","padding","s12","title","typographies","heading3SemiBold","color","text","white","closeButton","top","right","gradientOverlays","black","pressedOverlay","mutedTransparentPressed","MediaCardTitle","children","lx","style","ref","props","styles","flatten","numberOfLines","ellipsizeMode","displayName","GradientOverlays","direction","stops","opacity","offset","absoluteFill","pointerEvents","accessible","MediaCard","imageUrl","onPress","onClose","closeAccessibilityLabel","pressableProps","imageLoadError","setImageLoadError","showImage","accessibilityRole","undefined","pressed","source","uri","onError","testID","iconType","appearance","accessibilityLabel","size"],"sourceRoot":"../../../../../src","sources":["lib/Components/MediaCard/MediaCard.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Meta, Canvas, Controls } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import * as MediaCardStories from './MediaCard.stories';
|
|
3
|
+
import { CustomTabs, Tab } from '../../../../.storybook/components';
|
|
4
|
+
import CommonRulesDoAndDont from '../../../../.storybook/components/DoVsDont/CommonRulesDoAndDont.mdx';
|
|
5
|
+
|
|
6
|
+
<Meta title='Communication/MediaCard' of={MediaCardStories} />
|
|
7
|
+
|
|
8
|
+
# MediaCard
|
|
9
|
+
|
|
10
|
+
<CustomTabs>
|
|
11
|
+
<Tab label="Overview">
|
|
12
|
+
|
|
13
|
+
## Introduction
|
|
14
|
+
|
|
15
|
+
MediaCard is a promotional card component that displays a full-bleed background image with gradient overlays for text readability. It uses a simplified compound pattern with `MediaCardTitle` for the text and free-form children for leading content (e.g. tags, icons).
|
|
16
|
+
|
|
17
|
+
> View in [Figma](https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=15160-2853).
|
|
18
|
+
|
|
19
|
+
## Anatomy
|
|
20
|
+
|
|
21
|
+
<Canvas of={MediaCardStories.Base} />
|
|
22
|
+
|
|
23
|
+
- **MediaCard**: Root pressable container with background image and gradient overlays
|
|
24
|
+
- **MediaCardTitle**: Styled title text (clamps at 3 lines)
|
|
25
|
+
- **Leading content**: Any element rendered before `MediaCardTitle` (tags, badges, icons) — no wrapper needed
|
|
26
|
+
- **Close button**: Rendered via the `onClose` prop (positioned absolute top-right) — only visible when `onClose` is provided
|
|
27
|
+
|
|
28
|
+
## Properties
|
|
29
|
+
|
|
30
|
+
<Canvas of={MediaCardStories.Base} />
|
|
31
|
+
<Controls of={MediaCardStories.Base} />
|
|
32
|
+
|
|
33
|
+
### Layout
|
|
34
|
+
|
|
35
|
+
The card fills its parent width by default.
|
|
36
|
+
|
|
37
|
+
<Canvas of={MediaCardStories.LayoutShowcase} />
|
|
38
|
+
|
|
39
|
+
### Compositions
|
|
40
|
+
|
|
41
|
+
Leading content is optional — just place any element before `MediaCardTitle` inside `MediaCard`.
|
|
42
|
+
|
|
43
|
+
<Canvas of={MediaCardStories.CompositionShowcase} />
|
|
44
|
+
|
|
45
|
+
## Accessibility
|
|
46
|
+
|
|
47
|
+
- The root element uses `accessibilityRole='button'` when `onPress` is provided
|
|
48
|
+
- The close button includes an `accessibilityLabel` (auto-translated via i18n) — only rendered when `onClose` is provided
|
|
49
|
+
- The background image is not accessible (`accessible={false}`) since it is decorative
|
|
50
|
+
- Components forward refs and spread props for accessibility support
|
|
51
|
+
|
|
52
|
+
</Tab>
|
|
53
|
+
<Tab label="Implementation">
|
|
54
|
+
|
|
55
|
+
## Setup
|
|
56
|
+
|
|
57
|
+
Install and set up the library with our [Setup Guide →](?path=/docs/getting-started-setup--docs).
|
|
58
|
+
|
|
59
|
+
## Basic Usage
|
|
60
|
+
|
|
61
|
+
Both `onPress` and `onClose` are optional. When `onClose` is omitted, the close button is hidden. When `onPress` is omitted, the card is non-interactive.
|
|
62
|
+
|
|
63
|
+
```tsx
|
|
64
|
+
import { MediaCard, MediaCardTitle, Tag } from '@ledgerhq/lumen-ui-rnative';
|
|
65
|
+
|
|
66
|
+
function MyComponent() {
|
|
67
|
+
return (
|
|
68
|
+
<MediaCard
|
|
69
|
+
imageUrl='https://example.com/promo.jpg'
|
|
70
|
+
onPress={() => console.log('pressed')}
|
|
71
|
+
onClose={() => console.log('closed')}
|
|
72
|
+
>
|
|
73
|
+
<Tag label='New' size='md' />
|
|
74
|
+
<MediaCardTitle>Card title</MediaCardTitle>
|
|
75
|
+
</MediaCard>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Without Close Button
|
|
81
|
+
|
|
82
|
+
Omit `onClose` to hide the close button — useful for non-dismissible promotions:
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
<MediaCard
|
|
86
|
+
imageUrl='https://example.com/promo.jpg'
|
|
87
|
+
onPress={() => console.log('pressed')}
|
|
88
|
+
>
|
|
89
|
+
<Tag label='New' size='md' />
|
|
90
|
+
<MediaCardTitle>Card title</MediaCardTitle>
|
|
91
|
+
</MediaCard>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Layout Adjustments with lx
|
|
95
|
+
|
|
96
|
+
Use the `lx` prop for layout adjustments like margins or positioning:
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
<MediaCard
|
|
100
|
+
imageUrl='https://example.com/promo.jpg'
|
|
101
|
+
onPress={() => console.log('pressed')}
|
|
102
|
+
lx={{ marginTop: 's16', marginBottom: 's8' }}
|
|
103
|
+
>
|
|
104
|
+
<MediaCardTitle>With margin</MediaCardTitle>
|
|
105
|
+
</MediaCard>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
<CommonRulesDoAndDont />
|
|
109
|
+
|
|
110
|
+
</Tab>
|
|
111
|
+
</CustomTabs>
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { CryptoIcon } from '@ledgerhq/crypto-icons';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { Button } from "../Button/index.js";
|
|
6
|
+
import { Tag } from "../Tag/index.js";
|
|
7
|
+
import { Box, Text } from "../Utility/index.js";
|
|
8
|
+
import { MediaCard, MediaCardTitle } from "./MediaCard.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const meta = {
|
|
11
|
+
component: MediaCard,
|
|
12
|
+
subcomponents: {
|
|
13
|
+
MediaCardTitle
|
|
14
|
+
},
|
|
15
|
+
title: 'Communication/MediaCard',
|
|
16
|
+
parameters: {
|
|
17
|
+
layout: 'centered',
|
|
18
|
+
backgrounds: {
|
|
19
|
+
default: 'light'
|
|
20
|
+
},
|
|
21
|
+
docs: {
|
|
22
|
+
source: {
|
|
23
|
+
language: 'tsx',
|
|
24
|
+
format: true,
|
|
25
|
+
type: 'code'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export default meta;
|
|
31
|
+
const EXAMPLE_SRC = 'https://ledger-wp-website-s3-prd.ledger.com/uploads/2026/03/hero_visual-1.webp';
|
|
32
|
+
const baseArgs = {
|
|
33
|
+
imageUrl: EXAMPLE_SRC,
|
|
34
|
+
onPress: () => ({}),
|
|
35
|
+
onClose: () => ({})
|
|
36
|
+
};
|
|
37
|
+
export const Base = {
|
|
38
|
+
args: baseArgs,
|
|
39
|
+
render: args => /*#__PURE__*/_jsx(Box, {
|
|
40
|
+
lx: {
|
|
41
|
+
width: 's320'
|
|
42
|
+
},
|
|
43
|
+
children: /*#__PURE__*/_jsxs(MediaCard, {
|
|
44
|
+
...args,
|
|
45
|
+
children: [/*#__PURE__*/_jsx(Tag, {
|
|
46
|
+
label: "Label",
|
|
47
|
+
size: "md"
|
|
48
|
+
}), /*#__PURE__*/_jsxs(MediaCardTitle, {
|
|
49
|
+
children: ["Black Friday sale.", /*#__PURE__*/_jsxs(Text, {
|
|
50
|
+
typography: "heading3SemiBold",
|
|
51
|
+
lx: {
|
|
52
|
+
color: 'active'
|
|
53
|
+
},
|
|
54
|
+
children: [' ', "3 days with no fees", ' ']
|
|
55
|
+
}), "on your transactions."]
|
|
56
|
+
})]
|
|
57
|
+
})
|
|
58
|
+
}),
|
|
59
|
+
parameters: {
|
|
60
|
+
docs: {
|
|
61
|
+
source: {
|
|
62
|
+
code: `
|
|
63
|
+
<MediaCard imageUrl="/promo.jpg" onPress={() => {}} onClose={() => {}}>
|
|
64
|
+
<Tag label='Label' size='md' />
|
|
65
|
+
<MediaCardTitle>
|
|
66
|
+
Black Friday sale.
|
|
67
|
+
<Text typography='heading3SemiBold' lx={{ color: 'active' }}>
|
|
68
|
+
{' '}
|
|
69
|
+
3 days with no fees{' '}
|
|
70
|
+
</Text>
|
|
71
|
+
on your transactions.
|
|
72
|
+
</MediaCardTitle>
|
|
73
|
+
</MediaCard>`
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export const LayoutShowcase = {
|
|
79
|
+
render: () => /*#__PURE__*/_jsx(Box, {
|
|
80
|
+
lx: {
|
|
81
|
+
flexDirection: 'column',
|
|
82
|
+
width: 's320',
|
|
83
|
+
gap: 's16',
|
|
84
|
+
padding: 's8'
|
|
85
|
+
},
|
|
86
|
+
children: /*#__PURE__*/_jsxs(MediaCard, {
|
|
87
|
+
...baseArgs,
|
|
88
|
+
children: [/*#__PURE__*/_jsx(Tag, {
|
|
89
|
+
label: "Label",
|
|
90
|
+
size: "md"
|
|
91
|
+
}), /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
92
|
+
children: "Full width card"
|
|
93
|
+
})]
|
|
94
|
+
})
|
|
95
|
+
}),
|
|
96
|
+
parameters: {
|
|
97
|
+
docs: {
|
|
98
|
+
source: {
|
|
99
|
+
code: `
|
|
100
|
+
<MediaCard imageUrl="/promo.jpg" onPress={() => {}} onClose={() => {}}>
|
|
101
|
+
<Tag label="Label" size="md" />
|
|
102
|
+
<MediaCardTitle>Full width card</MediaCardTitle>
|
|
103
|
+
</MediaCard>`
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
export const CompositionShowcase = {
|
|
109
|
+
render: () => /*#__PURE__*/_jsxs(Box, {
|
|
110
|
+
lx: {
|
|
111
|
+
flexDirection: 'column',
|
|
112
|
+
width: 's320',
|
|
113
|
+
gap: 's16',
|
|
114
|
+
padding: 's8'
|
|
115
|
+
},
|
|
116
|
+
children: [/*#__PURE__*/_jsx(MediaCard, {
|
|
117
|
+
...baseArgs,
|
|
118
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
119
|
+
children: "Title only"
|
|
120
|
+
})
|
|
121
|
+
}), /*#__PURE__*/_jsxs(MediaCard, {
|
|
122
|
+
...baseArgs,
|
|
123
|
+
children: [/*#__PURE__*/_jsx(Tag, {
|
|
124
|
+
label: "Promo",
|
|
125
|
+
size: "md"
|
|
126
|
+
}), /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
127
|
+
children: "With tag and title"
|
|
128
|
+
})]
|
|
129
|
+
}), /*#__PURE__*/_jsxs(MediaCard, {
|
|
130
|
+
...baseArgs,
|
|
131
|
+
children: [/*#__PURE__*/_jsx(CryptoIcon, {
|
|
132
|
+
ledgerId: "bitcoin",
|
|
133
|
+
ticker: "BTC",
|
|
134
|
+
size: "32px"
|
|
135
|
+
}), /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
136
|
+
children: "With crypto icon"
|
|
137
|
+
})]
|
|
138
|
+
})]
|
|
139
|
+
}),
|
|
140
|
+
parameters: {
|
|
141
|
+
docs: {
|
|
142
|
+
source: {
|
|
143
|
+
code: `
|
|
144
|
+
{/* Title only */}
|
|
145
|
+
<MediaCard imageUrl="/promo.jpg" onPress={() => {}} onClose={() => {}}>
|
|
146
|
+
<MediaCardTitle>Title only</MediaCardTitle>
|
|
147
|
+
</MediaCard>
|
|
148
|
+
|
|
149
|
+
{/* With tag */}
|
|
150
|
+
<MediaCard imageUrl="/promo.jpg" onPress={() => {}} onClose={() => {}}>
|
|
151
|
+
<Tag label="Promo" size="md" />
|
|
152
|
+
<MediaCardTitle>With tag and title</MediaCardTitle>
|
|
153
|
+
</MediaCard>
|
|
154
|
+
|
|
155
|
+
{/* With crypto icon */}
|
|
156
|
+
<MediaCard imageUrl="/promo.jpg" onPress={() => {}} onClose={() => {}}>
|
|
157
|
+
<CryptoIcon ledgerId="bitcoin" ticker="BTC" size="32px" />
|
|
158
|
+
<MediaCardTitle>With crypto icon</MediaCardTitle>
|
|
159
|
+
</MediaCard>`
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
export const WithClose = {
|
|
165
|
+
render: () => {
|
|
166
|
+
const [visible, setVisible] = useState(true);
|
|
167
|
+
if (!visible) {
|
|
168
|
+
return /*#__PURE__*/_jsx(Button, {
|
|
169
|
+
appearance: "transparent",
|
|
170
|
+
size: "sm",
|
|
171
|
+
onPress: () => setVisible(true),
|
|
172
|
+
children: "Show card again"
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
176
|
+
lx: {
|
|
177
|
+
width: 's320'
|
|
178
|
+
},
|
|
179
|
+
children: /*#__PURE__*/_jsxs(MediaCard, {
|
|
180
|
+
imageUrl: EXAMPLE_SRC,
|
|
181
|
+
onPress: () => ({}),
|
|
182
|
+
onClose: () => setVisible(false),
|
|
183
|
+
children: [/*#__PURE__*/_jsx(Tag, {
|
|
184
|
+
label: "Label",
|
|
185
|
+
size: "md"
|
|
186
|
+
}), /*#__PURE__*/_jsxs(MediaCardTitle, {
|
|
187
|
+
children: ["Black Friday sale.", /*#__PURE__*/_jsxs(Text, {
|
|
188
|
+
typography: "heading3SemiBold",
|
|
189
|
+
lx: {
|
|
190
|
+
color: 'active'
|
|
191
|
+
},
|
|
192
|
+
children: [' ', "3 days with no fees", ' ']
|
|
193
|
+
}), "on your transactions."]
|
|
194
|
+
})]
|
|
195
|
+
})
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
//# sourceMappingURL=MediaCard.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CryptoIcon","useState","Button","Tag","Box","Text","MediaCard","MediaCardTitle","jsx","_jsx","jsxs","_jsxs","meta","component","subcomponents","title","parameters","layout","backgrounds","default","docs","source","language","format","type","EXAMPLE_SRC","baseArgs","imageUrl","onPress","onClose","Base","args","render","lx","width","children","label","size","typography","color","code","LayoutShowcase","flexDirection","gap","padding","CompositionShowcase","ledgerId","ticker","WithClose","visible","setVisible","appearance"],"sourceRoot":"../../../../../src","sources":["lib/Components/MediaCard/MediaCard.stories.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { describe, it, expect, jest } from '@jest/globals';
|
|
4
|
+
import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
|
|
5
|
+
import { fireEvent, render } from '@testing-library/react-native';
|
|
6
|
+
import { ThemeProvider } from "../ThemeProvider/ThemeProvider.js";
|
|
7
|
+
import { MediaCard, MediaCardTitle } from "./MediaCard.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const TestWrapper = ({
|
|
10
|
+
children
|
|
11
|
+
}) => /*#__PURE__*/_jsx(ThemeProvider, {
|
|
12
|
+
themes: ledgerLiveThemes,
|
|
13
|
+
colorScheme: "dark",
|
|
14
|
+
locale: "en",
|
|
15
|
+
children: children
|
|
16
|
+
});
|
|
17
|
+
const makeProps = () => ({
|
|
18
|
+
imageUrl: 'https://example.com/image.jpg',
|
|
19
|
+
onPress: jest.fn(),
|
|
20
|
+
onClose: jest.fn()
|
|
21
|
+
});
|
|
22
|
+
describe('MediaCard', () => {
|
|
23
|
+
it('should render title', () => {
|
|
24
|
+
const {
|
|
25
|
+
getByText
|
|
26
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
27
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
28
|
+
...makeProps(),
|
|
29
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
30
|
+
children: "Title"
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
}));
|
|
34
|
+
getByText('Title');
|
|
35
|
+
});
|
|
36
|
+
it('should render leading content and title', () => {
|
|
37
|
+
const {
|
|
38
|
+
getByText
|
|
39
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
40
|
+
children: /*#__PURE__*/_jsxs(MediaCard, {
|
|
41
|
+
...makeProps(),
|
|
42
|
+
children: [/*#__PURE__*/_jsx(MediaCardTitle, {
|
|
43
|
+
children: "Tag"
|
|
44
|
+
}), /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
45
|
+
children: "Title"
|
|
46
|
+
})]
|
|
47
|
+
})
|
|
48
|
+
}));
|
|
49
|
+
getByText('Tag');
|
|
50
|
+
getByText('Title');
|
|
51
|
+
});
|
|
52
|
+
it('should fire onPress on press', () => {
|
|
53
|
+
const props = makeProps();
|
|
54
|
+
const {
|
|
55
|
+
getByTestId
|
|
56
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
57
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
58
|
+
...props,
|
|
59
|
+
testID: "media-card",
|
|
60
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
61
|
+
children: "Title"
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
}));
|
|
65
|
+
fireEvent.press(getByTestId('media-card'));
|
|
66
|
+
expect(props.onPress).toHaveBeenCalledTimes(1);
|
|
67
|
+
});
|
|
68
|
+
it('should render image when imageUrl is provided', () => {
|
|
69
|
+
const {
|
|
70
|
+
getByTestId
|
|
71
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
72
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
73
|
+
...makeProps(),
|
|
74
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
75
|
+
children: "Title"
|
|
76
|
+
})
|
|
77
|
+
})
|
|
78
|
+
}));
|
|
79
|
+
expect(getByTestId('media-card-image')).toBeTruthy();
|
|
80
|
+
});
|
|
81
|
+
it('should hide image on error', () => {
|
|
82
|
+
const {
|
|
83
|
+
getByTestId,
|
|
84
|
+
queryByTestId
|
|
85
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
86
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
87
|
+
...makeProps(),
|
|
88
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
89
|
+
children: "Title"
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
}));
|
|
93
|
+
const img = getByTestId('media-card-image');
|
|
94
|
+
fireEvent(img, 'onError');
|
|
95
|
+
expect(queryByTestId('media-card-image')).toBeNull();
|
|
96
|
+
});
|
|
97
|
+
it('should fire onClose on close button press', () => {
|
|
98
|
+
const props = makeProps();
|
|
99
|
+
const {
|
|
100
|
+
getByTestId
|
|
101
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
102
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
103
|
+
...props,
|
|
104
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
105
|
+
children: "Title"
|
|
106
|
+
})
|
|
107
|
+
})
|
|
108
|
+
}));
|
|
109
|
+
fireEvent.press(getByTestId('media-card-close-button'));
|
|
110
|
+
expect(props.onClose).toHaveBeenCalledTimes(1);
|
|
111
|
+
});
|
|
112
|
+
it('should not render close button when onClose is not provided', () => {
|
|
113
|
+
const {
|
|
114
|
+
queryByTestId
|
|
115
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
116
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
117
|
+
imageUrl: "https://example.com/image.jpg",
|
|
118
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
119
|
+
children: "Title"
|
|
120
|
+
})
|
|
121
|
+
})
|
|
122
|
+
}));
|
|
123
|
+
expect(queryByTestId('media-card-close-button')).toBeNull();
|
|
124
|
+
});
|
|
125
|
+
it('should not have button role when onPress is not provided', () => {
|
|
126
|
+
const {
|
|
127
|
+
getByTestId
|
|
128
|
+
} = render(/*#__PURE__*/_jsx(TestWrapper, {
|
|
129
|
+
children: /*#__PURE__*/_jsx(MediaCard, {
|
|
130
|
+
imageUrl: "https://example.com/image.jpg",
|
|
131
|
+
testID: "media-card",
|
|
132
|
+
children: /*#__PURE__*/_jsx(MediaCardTitle, {
|
|
133
|
+
children: "Title"
|
|
134
|
+
})
|
|
135
|
+
})
|
|
136
|
+
}));
|
|
137
|
+
expect(getByTestId('media-card').props.accessibilityRole).toBeUndefined();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=MediaCard.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","it","expect","jest","ledgerLiveThemes","fireEvent","render","ThemeProvider","MediaCard","MediaCardTitle","jsx","_jsx","jsxs","_jsxs","TestWrapper","children","themes","colorScheme","locale","makeProps","imageUrl","onPress","fn","onClose","getByText","props","getByTestId","testID","press","toHaveBeenCalledTimes","toBeTruthy","queryByTestId","img","toBeNull","accessibilityRole","toBeUndefined"],"sourceRoot":"../../../../../src","sources":["lib/Components/MediaCard/MediaCard.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MediaCard","MediaCardTitle"],"sourceRoot":"../../../../../src","sources":["lib/Components/MediaCard/index.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,cAAc,QAAQ,gBAAa;AACvD,cAAc,YAAS","ignoreList":[]}
|