@ledgerhq/lumen-ui-rnative 0.1.19 → 0.1.21

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 (120) hide show
  1. package/dist/module/lib/Components/AmountInput/AmountInput.js +2 -0
  2. package/dist/module/lib/Components/AmountInput/AmountInput.js.map +1 -1
  3. package/dist/module/lib/Components/Banner/Banner.js +13 -7
  4. package/dist/module/lib/Components/Banner/Banner.js.map +1 -1
  5. package/dist/module/lib/Components/BaseInput/BaseInput.js +7 -6
  6. package/dist/module/lib/Components/BaseInput/BaseInput.js.map +1 -1
  7. package/dist/module/lib/Components/BottomSheet/BottomSheet.mdx +4 -4
  8. package/dist/module/lib/Components/BottomSheet/BottomSheet.stories.js +10 -10
  9. package/dist/module/lib/Components/BottomSheet/BottomSheet.stories.js.map +1 -1
  10. package/dist/module/lib/Components/BottomSheet/BottomSheetHeader.js +12 -12
  11. package/dist/module/lib/Components/BottomSheet/BottomSheetHeader.js.map +1 -1
  12. package/dist/module/lib/Components/Button/BaseButton.js +3 -1
  13. package/dist/module/lib/Components/Button/BaseButton.js.map +1 -1
  14. package/dist/module/lib/Components/Card/Card.js +3 -1
  15. package/dist/module/lib/Components/Card/Card.js.map +1 -1
  16. package/dist/module/lib/Components/DotSymbol/DotSymbol.js +141 -0
  17. package/dist/module/lib/Components/DotSymbol/DotSymbol.js.map +1 -0
  18. package/dist/module/lib/Components/DotSymbol/DotSymbol.mdx +54 -0
  19. package/dist/module/lib/Components/DotSymbol/DotSymbol.stories.js +301 -0
  20. package/dist/module/lib/Components/DotSymbol/DotSymbol.stories.js.map +1 -0
  21. package/dist/module/lib/Components/DotSymbol/DotSymbol.test.js +134 -0
  22. package/dist/module/lib/Components/DotSymbol/DotSymbol.test.js.map +1 -0
  23. package/dist/module/lib/Components/DotSymbol/index.js +5 -0
  24. package/dist/module/lib/Components/DotSymbol/index.js.map +1 -0
  25. package/dist/module/lib/Components/DotSymbol/types.js +4 -0
  26. package/dist/module/lib/Components/DotSymbol/types.js.map +1 -0
  27. package/dist/module/lib/Components/ListItem/ListItem.js +2 -2
  28. package/dist/module/lib/Components/ListItem/ListItem.js.map +1 -1
  29. package/dist/module/lib/Components/MediaBanner/MediaBanner.js +1 -1
  30. package/dist/module/lib/Components/MediaBanner/MediaBanner.js.map +1 -1
  31. package/dist/module/lib/Components/MediaCard/MediaCard.js +1 -1
  32. package/dist/module/lib/Components/MediaCard/MediaCard.js.map +1 -1
  33. package/dist/module/lib/Components/MediaImage/MediaImage.js +1 -11
  34. package/dist/module/lib/Components/MediaImage/MediaImage.js.map +1 -1
  35. package/dist/module/lib/Components/MediaImage/index.js +1 -1
  36. package/dist/module/lib/Components/MediaImage/index.js.map +1 -1
  37. package/dist/module/lib/Components/NavBar/NavBar.js +27 -25
  38. package/dist/module/lib/Components/NavBar/NavBar.js.map +1 -1
  39. package/dist/module/lib/Components/NavBar/NavBar.mdx +7 -7
  40. package/dist/module/lib/Components/NavBar/NavBar.stories.js +6 -6
  41. package/dist/module/lib/Components/NavBar/NavBar.stories.js.map +1 -1
  42. package/dist/module/lib/Components/NavBar/NavBar.test.js +24 -24
  43. package/dist/module/lib/Components/NavBar/NavBar.test.js.map +1 -1
  44. package/dist/module/lib/Components/Select/GlobalSelectBottomSheet.js +1 -1
  45. package/dist/module/lib/Components/Select/GlobalSelectBottomSheet.js.map +1 -1
  46. package/dist/module/lib/Components/Select/Select.stories.js +1 -0
  47. package/dist/module/lib/Components/Select/Select.stories.js.map +1 -1
  48. package/dist/module/lib/Components/Spot/Spot.js +1 -0
  49. package/dist/module/lib/Components/Spot/Spot.js.map +1 -1
  50. package/dist/module/lib/Components/Stepper/Stepper.js +3 -0
  51. package/dist/module/lib/Components/Stepper/Stepper.js.map +1 -1
  52. package/dist/module/lib/Components/TabBar/TabBar.js +2 -2
  53. package/dist/module/lib/Components/TabBar/TabBar.js.map +1 -1
  54. package/dist/module/lib/Components/Tag/Tag.js +0 -2
  55. package/dist/module/lib/Components/Tag/Tag.js.map +1 -1
  56. package/dist/module/lib/Components/Tooltip/GlobalTooltipBottomSheet.js +1 -1
  57. package/dist/module/lib/Components/Tooltip/GlobalTooltipBottomSheet.js.map +1 -1
  58. package/dist/module/lib/Components/index.js +1 -0
  59. package/dist/module/lib/Components/index.js.map +1 -1
  60. package/dist/typescript/src/lib/Components/AmountInput/AmountInput.d.ts.map +1 -1
  61. package/dist/typescript/src/lib/Components/Banner/Banner.d.ts.map +1 -1
  62. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts +1 -1
  63. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts.map +1 -1
  64. package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts +3 -2
  65. package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts.map +1 -1
  66. package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
  67. package/dist/typescript/src/lib/Components/Card/Card.d.ts.map +1 -1
  68. package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts +21 -0
  69. package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts.map +1 -0
  70. package/dist/typescript/src/lib/Components/DotSymbol/index.d.ts +3 -0
  71. package/dist/typescript/src/lib/Components/DotSymbol/index.d.ts.map +1 -0
  72. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts +34 -0
  73. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts.map +1 -0
  74. package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts +1 -2
  75. package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts.map +1 -1
  76. package/dist/typescript/src/lib/Components/MediaImage/index.d.ts +1 -1
  77. package/dist/typescript/src/lib/Components/MediaImage/index.d.ts.map +1 -1
  78. package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts +1 -1
  79. package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts.map +1 -1
  80. package/dist/typescript/src/lib/Components/NavBar/types.d.ts +3 -3
  81. package/dist/typescript/src/lib/Components/NavBar/types.d.ts.map +1 -1
  82. package/dist/typescript/src/lib/Components/Spot/Spot.d.ts.map +1 -1
  83. package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts.map +1 -1
  84. package/dist/typescript/src/lib/Components/Tag/Tag.d.ts.map +1 -1
  85. package/dist/typescript/src/lib/Components/index.d.ts +1 -0
  86. package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/src/lib/Components/AmountInput/AmountInput.tsx +8 -2
  89. package/src/lib/Components/Banner/Banner.tsx +10 -4
  90. package/src/lib/Components/BaseInput/BaseInput.tsx +4 -3
  91. package/src/lib/Components/BottomSheet/BottomSheet.mdx +4 -4
  92. package/src/lib/Components/BottomSheet/BottomSheet.stories.tsx +10 -10
  93. package/src/lib/Components/BottomSheet/BottomSheetHeader.tsx +14 -14
  94. package/src/lib/Components/BottomSheet/types.ts +3 -2
  95. package/src/lib/Components/Button/BaseButton.tsx +4 -1
  96. package/src/lib/Components/Card/Card.tsx +2 -0
  97. package/src/lib/Components/DotSymbol/DotSymbol.mdx +54 -0
  98. package/src/lib/Components/DotSymbol/DotSymbol.stories.tsx +191 -0
  99. package/src/lib/Components/DotSymbol/DotSymbol.test.tsx +119 -0
  100. package/src/lib/Components/DotSymbol/DotSymbol.tsx +161 -0
  101. package/src/lib/Components/DotSymbol/index.ts +2 -0
  102. package/src/lib/Components/DotSymbol/types.ts +40 -0
  103. package/src/lib/Components/ListItem/ListItem.tsx +4 -4
  104. package/src/lib/Components/MediaBanner/MediaBanner.tsx +1 -1
  105. package/src/lib/Components/MediaCard/MediaCard.tsx +1 -1
  106. package/src/lib/Components/MediaImage/MediaImage.tsx +6 -17
  107. package/src/lib/Components/MediaImage/index.ts +1 -1
  108. package/src/lib/Components/NavBar/NavBar.mdx +7 -7
  109. package/src/lib/Components/NavBar/NavBar.stories.tsx +6 -6
  110. package/src/lib/Components/NavBar/NavBar.test.tsx +25 -25
  111. package/src/lib/Components/NavBar/NavBar.tsx +31 -29
  112. package/src/lib/Components/NavBar/types.ts +3 -4
  113. package/src/lib/Components/Select/GlobalSelectBottomSheet.tsx +1 -1
  114. package/src/lib/Components/Select/Select.stories.tsx +1 -0
  115. package/src/lib/Components/Spot/Spot.tsx +5 -1
  116. package/src/lib/Components/Stepper/Stepper.tsx +15 -3
  117. package/src/lib/Components/TabBar/TabBar.tsx +2 -2
  118. package/src/lib/Components/Tag/Tag.tsx +1 -3
  119. package/src/lib/Components/Tooltip/GlobalTooltipBottomSheet.tsx +1 -1
  120. package/src/lib/Components/index.ts +1 -0
@@ -1,4 +1,4 @@
1
- import { createSafeContext } from '@ledgerhq/lumen-utils-shared';
1
+ import { createSafeContext, Density } from '@ledgerhq/lumen-utils-shared';
2
2
  import { Children, isValidElement, ReactNode } from 'react';
3
3
  import { StyleSheet } from 'react-native';
4
4
  import { useCommonTranslation } from '../../../i18n';
@@ -8,7 +8,6 @@ import { IconButton } from '../IconButton';
8
8
  import { Box, Text } from '../Utility';
9
9
  import { CoinCapsule } from './CoinCapsule';
10
10
  import {
11
- NavBarAppearance,
12
11
  NavBarBackButtonProps,
13
12
  NavBarCoinCapsuleProps,
14
13
  NavBarContentProps,
@@ -25,7 +24,7 @@ type Slots = {
25
24
  };
26
25
 
27
26
  const [NavBarProvider, useNavBarContext] = createSafeContext<{
28
- appearance: NavBarAppearance;
27
+ density: Density;
29
28
  }>('NavBar');
30
29
 
31
30
  function extractSlots(children: ReactNode): Slots {
@@ -64,11 +63,11 @@ export function NavBarContent({
64
63
  style,
65
64
  ...props
66
65
  }: NavBarContentProps) {
67
- const { appearance } = useNavBarContext({
66
+ const { density } = useNavBarContext({
68
67
  consumerName: 'NavBarContent',
69
68
  contextRequired: true,
70
69
  });
71
- const styles = useStyles({ appearance });
70
+ const styles = useStyles({ density });
72
71
 
73
72
  return (
74
73
  <Box style={[styles.content, style]} {...props}>
@@ -80,15 +79,15 @@ export function NavBarContent({
80
79
  NavBarContent.displayName = 'NavBarContent';
81
80
 
82
81
  export function NavBarTitle({ children, style, ...props }: NavBarTitleProps) {
83
- const { appearance } = useNavBarContext({
82
+ const { density } = useNavBarContext({
84
83
  consumerName: 'NavBarTitle',
85
84
  contextRequired: true,
86
85
  });
87
- const styles = useStyles({ appearance });
86
+ const styles = useStyles({ density });
88
87
 
89
88
  return (
90
89
  <Text
91
- numberOfLines={appearance === 'compact' ? 1 : 2}
90
+ numberOfLines={density === 'compact' ? 1 : 2}
92
91
  style={[styles.title, style]}
93
92
  {...props}
94
93
  >
@@ -102,15 +101,15 @@ export function NavBarDescription({
102
101
  style,
103
102
  ...props
104
103
  }: NavBarDescriptionProps) {
105
- const { appearance } = useNavBarContext({
104
+ const { density } = useNavBarContext({
106
105
  consumerName: 'NavBarDescription',
107
106
  contextRequired: true,
108
107
  });
109
- const styles = useStyles({ appearance });
108
+ const styles = useStyles({ density });
110
109
 
111
110
  return (
112
111
  <Text
113
- numberOfLines={appearance === 'compact' ? 1 : 3}
112
+ numberOfLines={density === 'compact' ? 1 : 3}
114
113
  style={[styles.description, style]}
115
114
  {...props}
116
115
  >
@@ -193,14 +192,14 @@ NavBarTrailing.displayName = 'NavBarTrailing';
193
192
  /**
194
193
  * NavBar component for top navigation
195
194
  */
196
- export function NavBar({ appearance, children, ...props }: NavBarProps) {
197
- const styles = useStyles({ appearance });
195
+ export function NavBar({ density, children, ...props }: NavBarProps) {
196
+ const styles = useStyles({ density });
198
197
  const slots = extractSlots(children);
199
198
 
200
199
  return (
201
- <NavBarProvider value={{ appearance }}>
200
+ <NavBarProvider value={{ density }}>
202
201
  <Box style={styles.container} {...props}>
203
- {appearance === 'expanded' ? (
202
+ {density === 'expanded' ? (
204
203
  <>
205
204
  <Box style={styles.topRow}>
206
205
  <Box style={styles.backButtonContainer}>{slots.backButton}</Box>
@@ -225,10 +224,10 @@ export function NavBar({ appearance, children, ...props }: NavBarProps) {
225
224
  }
226
225
 
227
226
  type StyleParams = {
228
- appearance: NavBarAppearance;
227
+ density: Density;
229
228
  };
230
229
 
231
- const useStyles = ({ appearance }: StyleParams) => {
230
+ const useStyles = ({ density }: StyleParams) => {
232
231
  return useStyleSheet(
233
232
  (t) => {
234
233
  return {
@@ -244,7 +243,7 @@ const useStyles = ({ appearance }: StyleParams) => {
244
243
  paddingVertical: t.spacings.s8,
245
244
  },
246
245
  {
247
- ...(appearance === 'expanded' && {
246
+ ...(density === 'expanded' && {
248
247
  alignItems: 'flex-start',
249
248
  flexDirection: 'column',
250
249
  }),
@@ -261,7 +260,7 @@ const useStyles = ({ appearance }: StyleParams) => {
261
260
  paddingVertical: t.spacings.s8,
262
261
  },
263
262
  {
264
- ...(appearance === 'compact' && {
263
+ ...(density === 'compact' && {
265
264
  position: 'absolute',
266
265
  left: t.spacings.s4,
267
266
  zIndex: 1,
@@ -274,28 +273,31 @@ const useStyles = ({ appearance }: StyleParams) => {
274
273
  flexShrink: 0,
275
274
  },
276
275
  {
277
- ...(appearance === 'compact' && {
276
+ ...(density === 'compact' && {
278
277
  position: 'absolute',
279
278
  right: t.spacings.s4,
280
279
  zIndex: 1,
281
280
  }),
282
281
  },
283
282
  {
284
- ...(appearance === 'expanded' && {
283
+ ...(density === 'expanded' && {
285
284
  marginLeft: 'auto',
286
285
  }),
287
286
  },
288
287
  ]),
289
288
  contentContainer: StyleSheet.flatten([
290
289
  {
291
- ...(appearance === 'compact' && {
290
+ flex: 1,
291
+ },
292
+ {
293
+ ...(density === 'compact' && {
292
294
  paddingHorizontal: t.spacings.s48,
293
295
  alignItems: 'center',
294
296
  justifyContent: 'center',
295
297
  }),
296
298
  },
297
299
  {
298
- ...(appearance === 'expanded' && {
300
+ ...(density === 'expanded' && {
299
301
  paddingHorizontal: t.spacings.s12,
300
302
  paddingBottom: t.spacings.s12,
301
303
  width: '100%',
@@ -307,31 +309,31 @@ const useStyles = ({ appearance }: StyleParams) => {
307
309
  flexDirection: 'column',
308
310
  },
309
311
  {
310
- ...(appearance === 'compact' && {
312
+ ...(density === 'compact' && {
311
313
  alignItems: 'center',
312
314
  justifyContent: 'center',
313
315
  }),
314
316
  },
315
317
  {
316
- ...(appearance === 'expanded' && {
318
+ ...(density === 'expanded' && {
317
319
  gap: t.spacings.s8,
318
320
  }),
319
321
  },
320
322
  ]),
321
323
  title: {
322
- ...(appearance === 'expanded'
324
+ ...(density === 'expanded'
323
325
  ? t.typographies.heading3SemiBold
324
326
  : t.typographies.heading4SemiBold),
325
327
  color: t.colors.text.base,
326
- textAlign: appearance === 'expanded' ? 'left' : 'center',
328
+ textAlign: density === 'expanded' ? 'left' : 'center',
327
329
  },
328
330
  description: {
329
331
  ...t.typographies.body2,
330
332
  color: t.colors.text.muted,
331
- textAlign: appearance === 'expanded' ? 'left' : 'center',
333
+ textAlign: density === 'expanded' ? 'left' : 'center',
332
334
  },
333
335
  };
334
336
  },
335
- [appearance],
337
+ [density],
336
338
  );
337
339
  };
@@ -1,16 +1,15 @@
1
+ import { Density } from '@ledgerhq/lumen-utils-shared';
1
2
  import { ReactElement, ReactNode } from 'react';
2
3
  import { StyledViewProps } from '../../../styles';
3
4
  import { IconButtonProps } from '../IconButton';
4
5
 
5
- export type NavBarAppearance = 'compact' | 'expanded';
6
-
7
6
  export type NavBarProps = {
8
7
  /**
9
- * Controls the appearance/layout of the NavBar.
8
+ * Controls the density/layout of the NavBar.
10
9
  * - 'compact': Content displayed vertically, centered with standard spacing
11
10
  * - 'expanded': Content displayed vertically, left-aligned with increased spacing
12
11
  */
13
- appearance: NavBarAppearance;
12
+ density: Density;
14
13
  } & StyledViewProps;
15
14
 
16
15
  export type NavBarBackButtonProps = {
@@ -121,7 +121,7 @@ export const GlobalSelectBottomSheet: React.FC = () => {
121
121
  {currentSelect.label && (
122
122
  <BottomSheetHeader
123
123
  title={currentSelect.label}
124
- appearance='compact'
124
+ density='compact'
125
125
  />
126
126
  )}
127
127
  <Box lx={{ gap: 's4' }}>
@@ -16,6 +16,7 @@ import {
16
16
 
17
17
  const meta: Meta<typeof Select> = {
18
18
  component: Select,
19
+ tags: ['deprecated'],
19
20
  subcomponents: {
20
21
  SelectTrigger,
21
22
  SelectValue,
@@ -151,7 +151,11 @@ export const Spot = (props: SpotProps) => {
151
151
  return <Icon size={calculatedIconSize} style={styles.icon} />;
152
152
  }
153
153
  case 'number': {
154
- return <Text style={styles.numberText}>{props.number}</Text>;
154
+ return (
155
+ <Text style={styles.numberText} allowFontScaling={false}>
156
+ {props.number}
157
+ </Text>
158
+ );
155
159
  }
156
160
  case 'bluetooth':
157
161
  return (
@@ -168,15 +168,27 @@ export const Stepper = ({
168
168
  }}
169
169
  >
170
170
  {label ? (
171
- <Text typography='body2SemiBold' lx={{ color: 'base' }}>
171
+ <Text
172
+ typography='body2SemiBold'
173
+ lx={{ color: 'base' }}
174
+ maxFontSizeMultiplier={1.4}
175
+ >
172
176
  {label}
173
177
  </Text>
174
178
  ) : (
175
179
  <>
176
- <Text typography='body1SemiBold' lx={{ color: 'base' }}>
180
+ <Text
181
+ typography='body1SemiBold'
182
+ lx={{ color: 'base' }}
183
+ maxFontSizeMultiplier={1.4}
184
+ >
177
185
  {Math.min(Math.max(currentStep, 0), totalSteps)}
178
186
  </Text>
179
- <Text typography='body2SemiBold' lx={{ color: 'muted' }}>
187
+ <Text
188
+ typography='body2SemiBold'
189
+ lx={{ color: 'muted' }}
190
+ maxFontSizeMultiplier={1.4}
191
+ >
180
192
  /{totalSteps}
181
193
  </Text>
182
194
  </>
@@ -299,7 +299,7 @@ const useStyles = () =>
299
299
  useStyleSheet(
300
300
  (t) => ({
301
301
  container: {
302
- height: TAB_BAR_HEIGHT,
302
+ minHeight: TAB_BAR_HEIGHT,
303
303
  flexDirection: 'row',
304
304
  justifyContent: 'center',
305
305
  padding: t.spacings.s4,
@@ -310,7 +310,7 @@ const useStyles = () =>
310
310
  },
311
311
  blur: {
312
312
  ...StyleSheet.absoluteFillObject,
313
- height: TAB_BAR_HEIGHT + t.sizes.s16,
313
+ bottom: -t.sizes.s16,
314
314
  zIndex: -1,
315
315
  },
316
316
  fallbackBackground: {
@@ -39,15 +39,13 @@ const useStyles = ({
39
39
 
40
40
  const sizeStyles: Record<
41
41
  Size,
42
- { height: number; paddingHorizontal: number; paddingVertical: number }
42
+ { paddingHorizontal: number; paddingVertical: number }
43
43
  > = {
44
44
  md: {
45
- height: t.sizes.s24,
46
45
  paddingHorizontal: t.spacings.s8,
47
46
  paddingVertical: t.spacings.s4,
48
47
  },
49
48
  sm: {
50
- height: t.sizes.s20,
51
49
  paddingHorizontal: t.spacings.s4,
52
50
  paddingVertical: t.spacings.s2,
53
51
  },
@@ -63,7 +63,7 @@ export const GlobalTooltipBottomSheet: React.FC = () => {
63
63
  {(currentTooltip?.title || currentTooltip?.content) && (
64
64
  <BottomSheetHeader
65
65
  title={currentTooltip.title}
66
- appearance='expanded'
66
+ density='expanded'
67
67
  description={currentTooltip.content}
68
68
  />
69
69
  )}
@@ -11,6 +11,7 @@ export * from './CardButton';
11
11
  export * from './ContentBanner';
12
12
  export * from './Checkbox';
13
13
  export * from './Divider';
14
+ export * from './DotSymbol';
14
15
  export * from './Icon';
15
16
  export * from './IconButton';
16
17
  export * from './InteractiveIcon';