@ledgerhq/lumen-ui-rnative 0.0.47 → 0.0.49

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 (54) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/lib/Components/Divider/Divider.d.ts +25 -0
  3. package/dist/src/lib/Components/Divider/Divider.d.ts.map +1 -0
  4. package/dist/src/lib/Components/Divider/Divider.js +40 -0
  5. package/dist/src/lib/Components/Divider/Divider.stories.d.ts +9 -0
  6. package/dist/src/lib/Components/Divider/Divider.stories.d.ts.map +1 -0
  7. package/dist/src/lib/Components/Divider/Divider.stories.js +51 -0
  8. package/dist/src/lib/Components/Divider/index.d.ts +3 -0
  9. package/dist/src/lib/Components/Divider/index.d.ts.map +1 -0
  10. package/dist/src/lib/Components/Divider/index.js +1 -0
  11. package/dist/src/lib/Components/Divider/types.d.ts +9 -0
  12. package/dist/src/lib/Components/Divider/types.d.ts.map +1 -0
  13. package/dist/src/lib/Components/Divider/types.js +1 -0
  14. package/dist/src/lib/Components/ListItem/ListItem.d.ts.map +1 -1
  15. package/dist/src/lib/Components/ListItem/ListItem.js +9 -3
  16. package/dist/src/lib/Components/Select/GlobalSelectBottomSheet.d.ts.map +1 -1
  17. package/dist/src/lib/Components/Select/GlobalSelectBottomSheet.js +2 -7
  18. package/dist/src/lib/Components/Select/Select.d.ts.map +1 -1
  19. package/dist/src/lib/Components/Select/Select.js +4 -10
  20. package/dist/src/lib/Components/Select/types.d.ts.map +1 -1
  21. package/dist/src/lib/Components/Tile/Tile.d.ts +84 -19
  22. package/dist/src/lib/Components/Tile/Tile.d.ts.map +1 -1
  23. package/dist/src/lib/Components/Tile/Tile.figma.js +8 -18
  24. package/dist/src/lib/Components/Tile/Tile.js +160 -59
  25. package/dist/src/lib/Components/Tile/Tile.stories.d.ts +2 -2
  26. package/dist/src/lib/Components/Tile/Tile.stories.d.ts.map +1 -1
  27. package/dist/src/lib/Components/Tile/Tile.stories.js +36 -81
  28. package/dist/src/lib/Components/Tile/index.d.ts +1 -1
  29. package/dist/src/lib/Components/Tile/index.d.ts.map +1 -1
  30. package/dist/src/lib/Components/Tile/index.js +1 -1
  31. package/dist/src/lib/Components/Tile/types.d.ts +29 -19
  32. package/dist/src/lib/Components/Tile/types.d.ts.map +1 -1
  33. package/dist/src/lib/Components/index.d.ts +1 -0
  34. package/dist/src/lib/Components/index.d.ts.map +1 -1
  35. package/dist/src/lib/Components/index.js +1 -0
  36. package/package.json +3 -3
  37. package/src/lib/Components/Divider/Divider.mdx +151 -0
  38. package/src/lib/Components/Divider/Divider.stories.tsx +140 -0
  39. package/src/lib/Components/Divider/Divider.test.tsx +92 -0
  40. package/src/lib/Components/Divider/Divider.tsx +52 -0
  41. package/src/lib/Components/Divider/index.ts +2 -0
  42. package/src/lib/Components/Divider/types.ts +9 -0
  43. package/src/lib/Components/ListItem/ListItem.tsx +10 -3
  44. package/src/lib/Components/Select/GlobalSelectBottomSheet.tsx +5 -7
  45. package/src/lib/Components/Select/Select.tsx +4 -18
  46. package/src/lib/Components/Select/types.ts +1 -3
  47. package/src/lib/Components/Tile/Tile.figma.tsx +24 -23
  48. package/src/lib/Components/Tile/Tile.mdx +128 -35
  49. package/src/lib/Components/Tile/Tile.stories.tsx +173 -146
  50. package/src/lib/Components/Tile/Tile.test.tsx +193 -221
  51. package/src/lib/Components/Tile/Tile.tsx +270 -123
  52. package/src/lib/Components/Tile/index.ts +7 -1
  53. package/src/lib/Components/Tile/types.ts +38 -19
  54. package/src/lib/Components/index.ts +1 -0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/lumen-ui-rnative",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "license": "Apache-2.0",
5
5
  "keywords": [
6
6
  "react-native",
@@ -27,13 +27,13 @@
27
27
  "./styles": "./src/styles/index.ts"
28
28
  },
29
29
  "dependencies": {
30
- "@ledgerhq/lumen-utils-shared": "0.0.12",
30
+ "@ledgerhq/lumen-utils-shared": "0.0.14",
31
31
  "i18next": "^23.7.0",
32
32
  "react-i18next": "^14.0.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "@gorhom/bottom-sheet": "^5.0.0",
36
- "@ledgerhq/lumen-design-core": "*",
36
+ "@ledgerhq/lumen-design-core": "0.0.38",
37
37
  "react": "~18.3.1",
38
38
  "react-native": "~0.77.3",
39
39
  "react-native-reanimated": "^3.0.0",
@@ -0,0 +1,25 @@
1
+ import { View } from 'react-native';
2
+ /**
3
+ * A simple divider component for separating content sections.
4
+ *
5
+ * The Divider renders a horizontal or vertical line to create visual separation
6
+ * between content areas. It uses design system tokens for consistent styling.
7
+ *
8
+ * @see {@link https://ldls.vercel.app/?path=/docs/layout-divider--docs Storybook}
9
+ *
10
+ * @example
11
+ * // Horizontal divider (default)
12
+ * <Divider />
13
+ *
14
+ * @example
15
+ * // Vertical divider
16
+ * <Divider orientation="vertical" />
17
+ *
18
+ * @example
19
+ * // With custom styling using lx props
20
+ * <Divider lx={{ marginVertical: 's16' }} />
21
+ */
22
+ export declare const Divider: import("react").ForwardRefExoticComponent<{
23
+ orientation?: "horizontal" | "vertical";
24
+ } & Omit<import("../../../styles").StyledViewProps, "children"> & import("react").RefAttributes<View>>;
25
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/Divider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,OAAO;;sGAwBnB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { Box } from '../Utility';
4
+ /**
5
+ * A simple divider component for separating content sections.
6
+ *
7
+ * The Divider renders a horizontal or vertical line to create visual separation
8
+ * between content areas. It uses design system tokens for consistent styling.
9
+ *
10
+ * @see {@link https://ldls.vercel.app/?path=/docs/layout-divider--docs Storybook}
11
+ *
12
+ * @example
13
+ * // Horizontal divider (default)
14
+ * <Divider />
15
+ *
16
+ * @example
17
+ * // Vertical divider
18
+ * <Divider orientation="vertical" />
19
+ *
20
+ * @example
21
+ * // With custom styling using lx props
22
+ * <Divider lx={{ marginVertical: 's16' }} />
23
+ */
24
+ export const Divider = forwardRef(({ lx = {}, orientation = 'horizontal', ...props }, ref) => {
25
+ return (_jsx(Box, { ref: ref, accessibilityRole: 'none', lx: {
26
+ ...(orientation === 'horizontal'
27
+ ? {
28
+ alignSelf: 'stretch',
29
+ borderTopWidth: 's1',
30
+ borderTopColor: 'mutedSubtle',
31
+ }
32
+ : {
33
+ alignSelf: 'stretch',
34
+ borderLeftWidth: 's1',
35
+ borderLeftColor: 'mutedSubtle',
36
+ }),
37
+ ...lx,
38
+ }, ...props }));
39
+ });
40
+ Divider.displayName = 'Divider';
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-native-web-vite';
2
+ import { Divider } from './Divider';
3
+ declare const meta: Meta<typeof Divider>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Divider>;
6
+ export declare const Base: Story;
7
+ export declare const OrientationShowcase: Story;
8
+ export declare const InList: Story;
9
+ //# sourceMappingURL=Divider.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/Divider.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAM9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KAwBlB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAkCjC,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KA6DpB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '../Utility/Box';
3
+ import { Text } from '../Utility/Text';
4
+ import { Divider } from './Divider';
5
+ const meta = {
6
+ component: Divider,
7
+ title: 'Layout/Divider',
8
+ parameters: {
9
+ actions: { disable: true },
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Base = {
14
+ args: {
15
+ orientation: 'horizontal',
16
+ },
17
+ render: (args) => {
18
+ const isVertical = args.orientation === 'vertical';
19
+ return (_jsxs(Box, { lx: isVertical
20
+ ? { flexDirection: 'row', alignItems: 'center', gap: 's16' }
21
+ : { width: 'full', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: isVertical ? 'Left content' : 'Content above' }), _jsx(Divider, { ...args, lx: isVertical ? { height: 's48' } : undefined }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: isVertical ? 'Right content' : 'Content below' })] }));
22
+ },
23
+ };
24
+ export const OrientationShowcase = {
25
+ render: () => (_jsxs(Box, { lx: { gap: 's32' }, children: [_jsxs(Box, { lx: { gap: 's8' }, children: [_jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "Horizontal (default)" }), _jsxs(Box, { lx: { width: 'full', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Content above" }), _jsx(Divider, { orientation: 'horizontal' }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Content below" })] })] }), _jsxs(Box, { lx: { gap: 's8' }, children: [_jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "Vertical" }), _jsxs(Box, { lx: { flexDirection: 'row', alignItems: 'center', gap: 's16' }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Left content" }), _jsx(Divider, { orientation: 'vertical', lx: { height: 's48' } }), _jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Right content" })] })] })] })),
26
+ };
27
+ export const InList = {
28
+ render: () => (_jsxs(Box, { lx: {
29
+ width: 'full',
30
+ maxWidth: 's400',
31
+ backgroundColor: 'canvas',
32
+ borderRadius: 'lg',
33
+ borderWidth: 's1',
34
+ borderColor: 'muted',
35
+ }, children: [_jsxs(Box, { lx: {
36
+ flexDirection: 'row',
37
+ justifyContent: 'space-between',
38
+ alignItems: 'center',
39
+ padding: 's16',
40
+ }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 1" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$100" })] }), _jsx(Divider, {}), _jsxs(Box, { lx: {
41
+ flexDirection: 'row',
42
+ justifyContent: 'space-between',
43
+ alignItems: 'center',
44
+ padding: 's16',
45
+ }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 2" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$200" })] }), _jsx(Divider, {}), _jsxs(Box, { lx: {
46
+ flexDirection: 'row',
47
+ justifyContent: 'space-between',
48
+ alignItems: 'center',
49
+ padding: 's16',
50
+ }, children: [_jsx(Text, { typography: 'body2', lx: { color: 'base' }, children: "Item 3" }), _jsx(Text, { typography: 'body3', lx: { color: 'muted' }, children: "$300" })] })] })),
51
+ };
@@ -0,0 +1,3 @@
1
+ export { Divider } from './Divider';
2
+ export type { DividerProps } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export { Divider } from './Divider';
@@ -0,0 +1,9 @@
1
+ import { BoxProps } from '../Utility';
2
+ export type DividerProps = {
3
+ /**
4
+ * The orientation of the divider
5
+ * @default 'horizontal'
6
+ */
7
+ orientation?: 'horizontal' | 'vertical';
8
+ } & Omit<BoxProps, 'children'>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Divider/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;;;;8GAqBnB,CAAC;AAsBH;;;GAGG;AACH,eAAO,MAAM,eAAe;;4FA0B3B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,eAAe;;4FAyB3B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,aAAa;;4FAiEzB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;4FAkE9B,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;4FA0B5B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;YAAW,iBAAiB;;CAOpD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;qDAMtB,iBAAiB;;CAqBnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;mHA8C5B,CAAC"}
1
+ {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/ListItem/ListItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EAIL,iBAAiB,EAGjB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAkCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ;;;;8GAqBnB,CAAC;AAsBH;;;GAGG;AACH,eAAO,MAAM,eAAe;;4FA0B3B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,eAAe;;4FA8B3B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,aAAa;;4FAiEzB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;4FAkE9B,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;4FA0B5B,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;YAAW,iBAAiB;;CAOpD,CAAC;AAIF;;;GAGG;AACH,eAAO,MAAM,YAAY;qDAMtB,iBAAiB;;CAuBnB,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;mHA8C5B,CAAC"}
@@ -96,14 +96,18 @@ ListItemLeading.displayName = 'ListItemLeading';
96
96
  * Container for the text content (title and description) within the leading area.
97
97
  */
98
98
  export const ListItemContent = React.forwardRef(({ children, lx = {}, style, ...viewProps }, ref) => {
99
+ const { isInTrailing } = useListItemTrailingContext({
100
+ consumerName: 'ListItemContent',
101
+ contextRequired: false,
102
+ });
99
103
  const styles = useStyleSheet((t) => ({
100
104
  content: {
101
- flex: 1,
105
+ flex: isInTrailing ? 0 : 1,
102
106
  minWidth: 0,
103
107
  flexDirection: 'column',
104
108
  gap: t.spacings.s4,
105
109
  },
106
- }), []);
110
+ }), [isInTrailing]);
107
111
  return (_jsx(Box, { ref: ref, lx: lx, style: StyleSheet.flatten([styles.content, style]), ...viewProps, children: children }));
108
112
  });
109
113
  ListItemContent.displayName = 'ListItemContent';
@@ -232,7 +236,9 @@ export const ListItemIcon = ({ icon: Icon, color, lx = {}, style, ...viewProps }
232
236
  contextRequired: true,
233
237
  });
234
238
  return (_jsx(Box, { lx: lx, style: StyleSheet.flatten([{ flexShrink: 0 }, style]), ...viewProps, children: _jsx(Icon, { size: 24, style: {
235
- color: disabled ? theme.colors.text.disabled : (color ?? undefined),
239
+ color: disabled
240
+ ? theme.colors.text.disabled
241
+ : (color ?? theme.colors.text.base),
236
242
  } }) }));
237
243
  };
238
244
  ListItemIcon.displayName = 'ListItemIcon';
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalSelectBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/GlobalSelectBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AA0DtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAyG3C,CAAC"}
1
+ {"version":3,"file":"GlobalSelectBottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/GlobalSelectBottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAqDtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EA4G3C,CAAC"}
@@ -4,6 +4,7 @@ import { Pressable } from 'react-native';
4
4
  import { useStyleSheet } from '../../../styles';
5
5
  import { Check } from '../../Symbols';
6
6
  import { BottomSheet, BottomSheetHeader, BottomSheetView, useBottomSheetRef, } from '../BottomSheet';
7
+ import { Divider } from '../Divider';
7
8
  import { Box, Text } from '../Utility';
8
9
  import { useGlobalSelectSafeContext } from './GlobalSelectContext';
9
10
  const useStyles = () => {
@@ -11,12 +12,6 @@ const useStyles = () => {
11
12
  bottomSheetView: {
12
13
  paddingHorizontal: t.spacings.s8,
13
14
  },
14
- separator: {
15
- marginVertical: t.spacings.s4,
16
- marginHorizontal: t.spacings.s8,
17
- height: 1,
18
- backgroundColor: t.colors.bg.muted,
19
- },
20
15
  groupLabel: {
21
16
  marginBottom: t.spacings.s4,
22
17
  paddingHorizontal: t.spacings.s8,
@@ -97,7 +92,7 @@ export const GlobalSelectBottomSheet = () => {
97
92
  }, [currentSelect, hideSelectRef]);
98
93
  return (_jsx(BottomSheet, { ref: bottomSheetRef, snapPoints: null, backdropPressBehavior: 'close', onClose: handleClose, maxDynamicContentSize: 'fullWithOffset', enableDynamicSizing: true, enablePanDownToClose: true, children: _jsx(BottomSheetView, { style: styles.bottomSheetView, children: currentSelect && (_jsxs(_Fragment, { children: [currentSelect.label && (_jsx(BottomSheetHeader, { title: currentSelect.label, appearance: 'compact' })), _jsx(Box, { lx: { gap: 's4' }, children: currentSelect.items.map((item, index) => {
99
94
  if (item.type === 'separator') {
100
- return (_jsx(Box, { style: styles.separator }, `separator-${index}`));
95
+ return (_jsx(Divider, { lx: { marginVertical: 's4', marginHorizontal: 's8' } }, `separator-${index}`));
101
96
  }
102
97
  if (item.type === 'group-label') {
103
98
  return (_jsx(Text, { style: styles.groupLabel, children: item.label }, `label-${index}`));
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2EtD,CAAC;AAmFF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAgC/B,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2BlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuBxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkB1D,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AASvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA2EtD,CAAC;AAmFF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAgC/B,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqBlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2BlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuBxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAI1D,CAAC"}
@@ -297,15 +297,9 @@ export const SelectItemText = ({ children, lx, style, ...props }) => {
297
297
  return (_jsx(Text, { lx: lx, style: [styles.text, style], ...props, children: children }));
298
298
  };
299
299
  SelectItemText.displayName = 'SelectItemText';
300
- export const SelectSeparator = ({ lx, style, ...props }) => {
301
- const styles = useStyleSheet((t) => ({
302
- separator: {
303
- marginHorizontal: t.spacings.s8,
304
- marginVertical: t.spacings.s4,
305
- height: t.sizes.s1,
306
- backgroundColor: t.colors.border.mutedSubtle,
307
- },
308
- }), []);
309
- return _jsx(Box, { lx: lx, style: [styles.separator, style], ...props });
300
+ export const SelectSeparator = () => {
301
+ // This component doesn't render anything - it's used for structure
302
+ // The actual separators are rendered in GlobalSelectBottomSheet
303
+ return null;
310
304
  };
311
305
  SelectSeparator.displayName = 'SelectSeparator';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/types.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,102 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { View } from 'react-native';
3
+ import { TileContentProps, TileDescriptionProps, TileSpotProps, TileTitleProps } from './types';
3
4
  /**
4
- * A tile list item component that displays a spot icon at the top, title and optional description,
5
- * and optional trailing content at the bottom. It functions as a pressable component with active states,
6
- * and supports long press actions.
5
+ * A flexible tile component that uses a composite pattern for maximum customization.
6
+ * Displays content in a vertical layout with support for spots, text, and custom content.
7
7
  *
8
- * @see {@link https://ldls.vercel.app/?path=/docs/components-Tile-overview--docs Storybook}
9
- * @see {@link https://ldls.vercel.app/?path=/docs/components-Tile-implementation--docs#dos-and-donts Guidelines}
8
+ * @see {@link https://ldls.vercel.app/?path=/docs/react-native_containment-tile--docs Storybook}
9
+ * @see {@link https://ldls.vercel.app/?path=/docs/react-native_containment-tile--docs#dos-and-donts Guidelines}
10
10
  *
11
11
  * @warning The `lx` prop should only be used for layout adjustments like margins or positioning.
12
12
  * Do not use it to modify the tile's core appearance (colors, padding, etc). Use the `appearance` prop instead.
13
13
  *
14
14
  * @example
15
- * // Basic tile item
16
- * import { Tile, Spot } from '@ledgerhq/lumen-ui-rnative';
15
+ * // Basic tile with spot and content
16
+ * import { Tile, TileSpot, TileContent, TileTitle, TileDescription } from '@ledgerhq/lumen-ui-rnative';
17
17
  * import { Wallet } from '@ledgerhq/lumen-ui-rnative/symbols';
18
18
  *
19
- * <Tile
20
- * title="Ethereum"
21
- * description="ETH"
22
- * leadingContent={<Spot appearance="coin" icon={Wallet} />}
23
- * onPress={() => console.log('Pressed!')}
24
- * onLongPress={() => console.log('Long pressed!')}
25
- * />
19
+ * <Tile appearance="card" onPress={() => console.log('Pressed!')}>
20
+ * <TileSpot appearance="icon" icon={Wallet} />
21
+ * <TileContent>
22
+ * <TileTitle>My Wallet</TileTitle>
23
+ * <TileDescription>Description</TileDescription>
24
+ * </TileContent>
25
+ * </Tile>
26
+ *
27
+ * @example
28
+ * // With custom content and long press
29
+ * import { Tile, TileSpot, TileContent, TileTitle, Tag } from '@ledgerhq/lumen-ui-rnative';
30
+ * import { Bitcoin } from '@ledgerhq/lumen-ui-rnative/symbols';
31
+ *
32
+ * <Tile appearance="card" onLongPress={() => console.log('Long pressed')}>
33
+ * <TileSpot appearance="icon" icon={Bitcoin} />
34
+ * <TileContent>
35
+ * <TileTitle>Bitcoin</TileTitle>
36
+ * </TileContent>
37
+ * <Tag label="Active" />
38
+ * </Tile>
26
39
  */
27
40
  export declare const Tile: React.ForwardRefExoticComponent<{
28
- leadingContent: React.ReactNode;
29
- title: string;
30
- description?: string;
31
- trailingContent?: React.ReactNode;
32
41
  appearance?: "no-background" | "card";
33
42
  disabled?: boolean;
34
43
  onPress?: import("../../../styles").StyledPressableProps["onPress"];
35
44
  onLongPress?: import("../../../styles").StyledPressableProps["onLongPress"];
45
+ children: ReactNode;
36
46
  } & Omit<import("../../../styles").StyledPressableProps, "disabled" | "onPress" | "onLongPress"> & React.RefAttributes<View>>;
47
+ /**
48
+ * A spot adapter for use within Tile. Automatically inherits the disabled state from the parent Tile.
49
+ * Always renders at a fixed size of 48.
50
+ *
51
+ * @example
52
+ * <Tile>
53
+ * <TileSpot appearance="icon" icon={Settings} />
54
+ * </Tile>
55
+ */
56
+ export declare const TileSpot: {
57
+ (props: TileSpotProps): import("react/jsx-runtime").JSX.Element;
58
+ displayName: string;
59
+ };
60
+ /**
61
+ * A container for grouping TileTitle and TileDescription with consistent spacing.
62
+ * Use this to wrap text content within a Tile.
63
+ *
64
+ * @example
65
+ * <Tile>
66
+ * <TileContent>
67
+ * <TileTitle>My Title</TileTitle>
68
+ * <TileDescription>My Description</TileDescription>
69
+ * </TileContent>
70
+ * </Tile>
71
+ */
72
+ export declare const TileContent: {
73
+ ({ children, lx, style }: TileContentProps): import("react/jsx-runtime").JSX.Element;
74
+ displayName: string;
75
+ };
76
+ /**
77
+ * The primary text label for a Tile. Automatically inherits the disabled state from the parent Tile.
78
+ * Text will truncate with ellipsis if it exceeds the available width.
79
+ * If children is a string, it will be automatically wrapped in a Text component.
80
+ */
81
+ export declare const TileTitle: {
82
+ ({ children, lx, style }: TileTitleProps): import("react/jsx-runtime").JSX.Element;
83
+ displayName: string;
84
+ };
85
+ /**
86
+ * The secondary text label for a Tile. Automatically inherits the disabled state from the parent Tile.
87
+ * Text will truncate with ellipsis if it exceeds the available width.
88
+ * If children is a string, it will be automatically wrapped in a Text component.
89
+ *
90
+ * @example
91
+ * <Tile>
92
+ * <TileContent>
93
+ * <TileTitle>My Title</TileTitle>
94
+ * <TileDescription>My Description</TileDescription>
95
+ * </TileContent>
96
+ * </Tile>
97
+ */
98
+ export declare const TileDescription: {
99
+ ({ children, lx, style, }: TileDescriptionProps): import("react/jsx-runtime").JSX.Element;
100
+ displayName: string;
101
+ };
37
102
  //# sourceMappingURL=Tile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAc,IAAI,EAAQ,MAAM,cAAc,CAAC;AAgItD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,IAAI;;;;;;;;;6HAuChB,CAAC"}
1
+ {"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAc,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAIhD,OAAO,EACL,gBAAgB,EAEhB,oBAAoB,EAEpB,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AAoDjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,IAAI;;;;;;6HAoChB,CAAC;AAkBF;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ;YAAW,aAAa;;CAM5C,CAAC;AAgBF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;8BAA6B,gBAAgB;;CAWpE,CAAC;AAwBF;;;;GAIG;AACH,eAAO,MAAM,SAAS;8BAA6B,cAAc;;CA6BhE,CAAC;AAwBF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe;+BAIzB,oBAAoB;;CA6BtB,CAAC"}
@@ -1,27 +1,19 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import figma from '@figma/code-connect';
3
3
  import { Settings } from '../../Symbols';
4
- import { Spot } from '../Spot';
5
- import { Tile } from './Tile';
6
- /**
7
- * -- This file was auto-generated by Code Connect --
8
- * `props` includes a mapping from your code props to Figma properties.
9
- * You should check this is correct, and update the `example` function
10
- * to return the code example you'd like to see in Figma
11
- */
4
+ import { Tile, TileSpot, TileContent, TileTitle, TileDescription, } from './Tile';
12
5
  figma.connect(Tile, 'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=5783-1328', {
13
- imports: ["import { Tile } from '@ledgerhq/lumen-ui-react'"],
6
+ imports: [
7
+ "import { Tile, TileSpot, TileContent, TileTitle, TileDescription } from '@ledgerhq/lumen-ui-rnative'",
8
+ ],
14
9
  props: {
15
10
  title: figma.string('title'),
16
11
  description: figma.boolean('show-description', {
17
12
  true: figma.string('description'),
18
13
  false: undefined,
19
14
  }),
20
- leadingContent: _jsx(Spot, { appearance: 'icon', icon: Settings }),
21
- trailingContent: figma.boolean('show-tag', {
22
- true: figma.instance('tag'),
23
- false: undefined,
24
- }),
15
+ showTag: figma.boolean('show-tag'),
16
+ tag: figma.instance('tag'),
25
17
  disabled: figma.enum('state', {
26
18
  disabled: true,
27
19
  }),
@@ -32,7 +24,5 @@ figma.connect(Tile, 'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id
32
24
  url: 'https://ldls.vercel.app/?path=/docs/components-Tile-overview--docs',
33
25
  },
34
26
  ],
35
- example: (props) => (_jsx(Tile, { title: props.title, description: props.description, leadingContent: props.leadingContent, trailingContent: props.trailingContent, disabled: props.disabled, onPress: () => {
36
- console.log('Tile pressed');
37
- } })),
27
+ example: (props) => (_jsxs(Tile, { disabled: props.disabled, onPress: () => console.log('Tile pressed'), onLongPress: () => console.log('Long press - secondary action'), children: [_jsx(TileSpot, { appearance: 'icon', icon: Settings }), _jsxs(TileContent, { children: [_jsx(TileTitle, { children: props.title }), props.description && (_jsx(TileDescription, { children: props.description }))] }), props.showTag && props.tag] })),
38
28
  });