@ledgerhq/lumen-ui-rnative 0.1.31 → 0.1.33

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 (69) hide show
  1. package/dist/module/lib/Components/AddressInput/AddressInput.mdx +10 -12
  2. package/dist/module/lib/Components/AddressInput/AddressInput.stories.js +2 -1
  3. package/dist/module/lib/Components/AddressInput/AddressInput.stories.js.map +1 -1
  4. package/dist/module/lib/Components/AmountInput/AmountInput.mdx +3 -3
  5. package/dist/module/lib/Components/BaseInput/BaseInput.js +60 -32
  6. package/dist/module/lib/Components/BaseInput/BaseInput.js.map +1 -1
  7. package/dist/module/lib/Components/DotCount/DotCount.stories.js +9 -18
  8. package/dist/module/lib/Components/DotCount/DotCount.stories.js.map +1 -1
  9. package/dist/module/lib/Components/DotIndicator/DotIndicator.stories.js +3 -5
  10. package/dist/module/lib/Components/DotIndicator/DotIndicator.stories.js.map +1 -1
  11. package/dist/module/lib/Components/MediaImage/MediaImage.test.js +7 -3
  12. package/dist/module/lib/Components/MediaImage/MediaImage.test.js.map +1 -1
  13. package/dist/module/lib/Components/SearchInput/SearchInput.mdx +4 -10
  14. package/dist/module/lib/Components/SearchInput/SearchInput.stories.js +2 -1
  15. package/dist/module/lib/Components/SearchInput/SearchInput.stories.js.map +1 -1
  16. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.js +2 -1
  17. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.js.map +1 -1
  18. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.mdx +34 -4
  19. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.stories.js +32 -7
  20. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.stories.js.map +1 -1
  21. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.test.js +26 -0
  22. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.test.js.map +1 -1
  23. package/dist/module/lib/Components/TextInput/TextInput.js +4 -3
  24. package/dist/module/lib/Components/TextInput/TextInput.js.map +1 -1
  25. package/dist/module/lib/Components/TextInput/TextInput.mdx +8 -10
  26. package/dist/module/lib/Components/TextInput/TextInput.stories.js +40 -1
  27. package/dist/module/lib/Components/TextInput/TextInput.stories.js.map +1 -1
  28. package/dist/module/lib/Components/TextInput/TextInput.test.js +76 -0
  29. package/dist/module/lib/Components/TextInput/TextInput.test.js.map +1 -0
  30. package/dist/module/lib/Symbols/Icons/Lightbulb.js +50 -0
  31. package/dist/module/lib/Symbols/Icons/Lightbulb.js.map +1 -0
  32. package/dist/module/lib/Symbols/index.js +1 -0
  33. package/dist/module/lib/Symbols/index.js.map +1 -1
  34. package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts +1 -1
  35. package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
  36. package/dist/typescript/src/lib/Components/BaseInput/types.d.ts +9 -2
  37. package/dist/typescript/src/lib/Components/BaseInput/types.d.ts.map +1 -1
  38. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControl.d.ts +1 -1
  39. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  40. package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts +4 -0
  41. package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts.map +1 -1
  42. package/dist/typescript/src/lib/Components/TextInput/TextInput.d.ts +4 -3
  43. package/dist/typescript/src/lib/Components/TextInput/TextInput.d.ts.map +1 -1
  44. package/dist/typescript/src/lib/Symbols/Icons/Lightbulb.d.ts +35 -0
  45. package/dist/typescript/src/lib/Symbols/Icons/Lightbulb.d.ts.map +1 -0
  46. package/dist/typescript/src/lib/Symbols/index.d.ts +1 -0
  47. package/dist/typescript/src/lib/Symbols/index.d.ts.map +1 -1
  48. package/package.json +2 -2
  49. package/src/lib/Components/AddressInput/AddressInput.mdx +10 -12
  50. package/src/lib/Components/AddressInput/AddressInput.stories.tsx +2 -1
  51. package/src/lib/Components/AmountInput/AmountInput.mdx +3 -3
  52. package/src/lib/Components/BaseInput/BaseInput.tsx +61 -29
  53. package/src/lib/Components/BaseInput/types.ts +10 -2
  54. package/src/lib/Components/DotCount/DotCount.stories.tsx +12 -10
  55. package/src/lib/Components/DotIndicator/DotIndicator.stories.tsx +1 -3
  56. package/src/lib/Components/MediaImage/MediaImage.test.tsx +7 -3
  57. package/src/lib/Components/SearchInput/SearchInput.mdx +4 -10
  58. package/src/lib/Components/SearchInput/SearchInput.stories.tsx +2 -1
  59. package/src/lib/Components/SegmentedControl/SegmentedControl.mdx +34 -4
  60. package/src/lib/Components/SegmentedControl/SegmentedControl.stories.tsx +34 -6
  61. package/src/lib/Components/SegmentedControl/SegmentedControl.test.tsx +27 -0
  62. package/src/lib/Components/SegmentedControl/SegmentedControl.tsx +2 -0
  63. package/src/lib/Components/SegmentedControl/types.ts +4 -0
  64. package/src/lib/Components/TextInput/TextInput.mdx +8 -10
  65. package/src/lib/Components/TextInput/TextInput.stories.tsx +41 -1
  66. package/src/lib/Components/TextInput/TextInput.test.tsx +90 -0
  67. package/src/lib/Components/TextInput/TextInput.tsx +4 -3
  68. package/src/lib/Symbols/Icons/Lightbulb.tsx +45 -0
  69. package/src/lib/Symbols/index.ts +1 -0
@@ -67,17 +67,10 @@ Alternatively, use `editable={false}` to prevent editing without applying the mu
67
67
 
68
68
  ### Error State
69
69
 
70
- The search component supports error handling through `errorMessage` which displays an error message below the input with error styling including a red border and text color.
70
+ The search component supports error handling through `helperText` and `status` (`'error'` \| `'success'`), which show copy below the input with matching border and text styling.
71
71
 
72
72
  <Canvas of={SearchInputStories.WithError} />
73
73
 
74
- The error message will be automatically:
75
-
76
- - Connected to the input
77
- - Displayed with a warning icon
78
- - Styled in the error color
79
- - Announced by screen readers
80
-
81
74
  ## Controlled vs Uncontrolled
82
75
 
83
76
  The SearchInput component supports both controlled and uncontrolled usage.
@@ -232,13 +225,14 @@ function MyComponent() {
232
225
  placeholder='Search products'
233
226
  value={query}
234
227
  onChangeText={handleSearch}
235
- errorMessage={error}
228
+ helperText={error || undefined}
229
+ status={error ? 'error' : undefined}
236
230
  />
237
231
  );
238
232
  }
239
233
  ```
240
234
 
241
- > **Note:** Error messages are optional. Use `errorMessage` to display an error message below the search input.
235
+ > **Note:** Helper text is optional. Use `helperText` with `status="error"` to show validation feedback below the search input.
242
236
 
243
237
  ### With Custom Styling
244
238
 
@@ -73,7 +73,8 @@ export const WithError = {
73
73
  }),
74
74
  args: {
75
75
  placeholder: 'Search products',
76
- errorMessage: 'Search term is invalid',
76
+ helperText: 'Search term is invalid',
77
+ status: 'error',
77
78
  editable: true,
78
79
  hideClearButton: false
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useState","View","SearchInput","jsx","_jsx","meta","component","title","args","appearance","parameters","docs","source","language","format","type","SearchInputStory","query","setQuery","initialValue","style","flex","minHeight","alignItems","justifyContent","padding","children","width","maxWidth","value","onChangeText","onClear","Base","render","placeholder","editable","hideClearButton","WithContent","WithError","errorMessage","DisabledSearchInput","disabled","WithHiddenClearButton","WithClearCallback","alert"],"sourceRoot":"../../../../../src","sources":["lib/Components/SearchInput/SearchInput.stories.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","View","SearchInput","jsx","_jsx","meta","component","title","args","appearance","parameters","docs","source","language","format","type","SearchInputStory","query","setQuery","initialValue","style","flex","minHeight","alignItems","justifyContent","padding","children","width","maxWidth","value","onChangeText","onClear","Base","render","placeholder","editable","hideClearButton","WithContent","WithError","helperText","status","DisabledSearchInput","disabled","WithHiddenClearButton","WithClearCallback","alert"],"sourceRoot":"../../../../../src","sources":["lib/Components/SearchInput/SearchInput.stories.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ export function SegmentedControlButton({
11
11
  value,
12
12
  children,
13
13
  icon: Icon,
14
+ trailingContent,
14
15
  onPress,
15
16
  ...props
16
17
  }) {
@@ -71,7 +72,7 @@ export function SegmentedControlButton({
71
72
  style: styles.label,
72
73
  numberOfLines: 1,
73
74
  children: children
74
- })]
75
+ }), trailingContent]
75
76
  })
76
77
  });
77
78
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useDisabledContext","Animated","useStyleSheet","Box","Pressable","Text","SegmentedControlContextProvider","useSegmentedControlContext","usePillLayout","useSegmentedControlSelectedIndex","jsx","_jsx","jsxs","_jsxs","SegmentedControlButton","value","children","icon","Icon","onPress","props","selectedValue","onSelectedChange","disabled","tabLayout","registerButtonLayout","selected","styles","useButtonStyles","handlePress","handleLayout","e","x","width","nativeEvent","layout","onLayout","accessibilityState","style","button","content","iconWrap","size","color","textColor","typography","lx","label","numberOfLines","t","flex","undefined","flexDirection","alignItems","justifyContent","paddingHorizontal","spacings","s16","paddingVertical","s8","borderRadius","full","zIndex","gap","textAlign","includeFontPadding","flexShrink","SegmentedControl","accessibilityLabel","disabledProp","appearance","consumerName","mergeWith","useRootStyles","Boolean","selectedIndex","animatedPillStyle","accessibilityRole","container","View","pill","pointerEvents","position","alignSelf","md","backgroundColor","colors","bg","surface","top","left","sm","baseTransparentPressed","mutedTransparent"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDisabledContext","Animated","useStyleSheet","Box","Pressable","Text","SegmentedControlContextProvider","useSegmentedControlContext","usePillLayout","useSegmentedControlSelectedIndex","jsx","_jsx","jsxs","_jsxs","SegmentedControlButton","value","children","icon","Icon","trailingContent","onPress","props","selectedValue","onSelectedChange","disabled","tabLayout","registerButtonLayout","selected","styles","useButtonStyles","handlePress","handleLayout","e","x","width","nativeEvent","layout","onLayout","accessibilityState","style","button","content","iconWrap","size","color","textColor","typography","lx","label","numberOfLines","t","flex","undefined","flexDirection","alignItems","justifyContent","paddingHorizontal","spacings","s16","paddingVertical","s8","borderRadius","full","zIndex","gap","textAlign","includeFontPadding","flexShrink","SegmentedControl","accessibilityLabel","disabledProp","appearance","consumerName","mergeWith","useRootStyles","Boolean","selectedIndex","animatedPillStyle","accessibilityRole","container","View","pill","pointerEvents","position","alignSelf","md","backgroundColor","colors","bg","surface","top","left","sm","baseTransparentPressed","mutedTransparent"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.tsx"],"mappings":"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","ignoreList":[]}
@@ -25,6 +25,7 @@ SegmentedControl is a tab bar–style component for switching between mutually e
25
25
  - **Segments**: Individual options the user can select.
26
26
  - **Selected state**: The active segment (sliding pill + semi-bold label).
27
27
  - **Optional icon**: Icon to the left of the label (from Symbols).
28
+ - **Optional trailing content**: Any node (e.g. `DotCount`) rendered to the right of the label.
28
29
  - **Appearance**: Use `appearance="background"` (default) for a surface background, or `appearance="no-background"` for a transparent container.
29
30
 
30
31
  ## Properties
@@ -40,6 +41,12 @@ You can use segments with text only (Base), or add an icon to each button (WithI
40
41
 
41
42
  <Canvas of={SegmentedControlStories.WithIcons} />
42
43
 
44
+ ### With trailing content
45
+
46
+ Use `trailingContent` to render content (e.g. `DotCount`) to the right of the label.
47
+
48
+ <Canvas of={SegmentedControlStories.WithTrailingContent} />
49
+
43
50
  ## Responsive Layout
44
51
 
45
52
  SegmentedControl lays out segments in a horizontal row with equal width per segment. The sliding pill animates to the selected segment.
@@ -80,6 +87,33 @@ export default function Example() {
80
87
  }
81
88
  ```
82
89
 
90
+ ## With trailing content
91
+
92
+ Pass any node via `trailingContent` to render it to the right of the label. Use it for badges like `DotCount` to surface counts per segment.
93
+
94
+ ```tsx
95
+ import { SegmentedControl, SegmentedControlButton, DotCount } from '@ledgerhq/lumen-ui-rnative';
96
+
97
+ function Example() {
98
+ const [state, setState] = React.useState('tokens');
99
+ return (
100
+ <SegmentedControl
101
+ selectedValue={state}
102
+ onSelectedChange={setState}
103
+ accessibilityLabel='Asset section'
104
+ >
105
+ <SegmentedControlButton value='tokens' trailingContent={<DotCount value={3} />}>
106
+ Tokens
107
+ </SegmentedControlButton>
108
+ <SegmentedControlButton value='nfts' trailingContent={<DotCount value={12} />}>
109
+ NFTs
110
+ </SegmentedControlButton>
111
+ <SegmentedControlButton value='activity'>Activity</SegmentedControlButton>
112
+ </SegmentedControl>
113
+ );
114
+ }
115
+ ```
116
+
83
117
  ## With icons
84
118
 
85
119
  Pass an icon from symbols to each button for a left-positioned icon. Use icons on all segments or none for consistency.
@@ -113,9 +147,5 @@ function Example() {
113
147
  }
114
148
  ```
115
149
 
116
- <Box lx={{ flexDirection: 'column', gap: 's24' }}>
117
- <CommonRulesDoAndDont />
118
- </Box>
119
-
120
150
  </Tab>
121
151
  </CustomTabs>
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { useState } from 'react';
4
- import { Coins, Nft, TransferHorizontal, Settings } from "../../Symbols/index.js";
4
+ import { Coins, Nft, TransferHorizontal } from "../../Symbols/index.js";
5
+ import { DotCount } from "../DotCount/index.js";
5
6
  import { Box } from "../Utility/index.js";
6
7
  import { SegmentedControl, SegmentedControlButton } from "./SegmentedControl.js";
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -71,13 +72,9 @@ export const WithIcons = {
71
72
  icon: Nft,
72
73
  children: "NFTs"
73
74
  }), /*#__PURE__*/_jsx(SegmentedControlButton, {
74
- value: "activity",
75
+ value: "trade",
75
76
  icon: TransferHorizontal,
76
- children: "Activity"
77
- }), /*#__PURE__*/_jsx(SegmentedControlButton, {
78
- value: "settings",
79
- icon: Settings,
80
- children: "Settings"
77
+ children: "Trade"
81
78
  })]
82
79
  });
83
80
  }
@@ -152,4 +149,32 @@ export const Disabled = {
152
149
  })]
153
150
  })
154
151
  };
152
+ export const WithTrailingContent = {
153
+ args: {},
154
+ render: args => {
155
+ const [state, setState] = useState('tokens');
156
+ return /*#__PURE__*/_jsxs(SegmentedControl, {
157
+ ...args,
158
+ selectedValue: state,
159
+ onSelectedChange: setState,
160
+ accessibilityLabel: "Asset section",
161
+ children: [/*#__PURE__*/_jsx(SegmentedControlButton, {
162
+ value: "tokens",
163
+ trailingContent: /*#__PURE__*/_jsx(DotCount, {
164
+ value: 3
165
+ }),
166
+ children: "Tokens"
167
+ }), /*#__PURE__*/_jsx(SegmentedControlButton, {
168
+ value: "nfts",
169
+ trailingContent: /*#__PURE__*/_jsx(DotCount, {
170
+ value: 12
171
+ }),
172
+ children: "NFTs"
173
+ }), /*#__PURE__*/_jsx(SegmentedControlButton, {
174
+ value: "trade",
175
+ children: "Trade"
176
+ })]
177
+ });
178
+ }
179
+ };
155
180
  //# sourceMappingURL=SegmentedControl.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","Coins","Nft","TransferHorizontal","Settings","Box","SegmentedControl","SegmentedControlButton","jsx","_jsx","jsxs","_jsxs","meta","title","component","subcomponents","parameters","layout","backgrounds","default","decorators","Story","lx","width","flexDirection","justifyContent","children","args","appearance","tabLayout","Base","render","state","setState","selectedValue","onSelectedChange","accessibilityLabel","value","WithIcons","icon","TabLayoutShowcase","fitState","setFitState","fixedState","setFixedState","gap","style","Disabled","disabled"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.stories.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","Coins","Nft","TransferHorizontal","DotCount","Box","SegmentedControl","SegmentedControlButton","jsx","_jsx","jsxs","_jsxs","meta","title","component","subcomponents","parameters","layout","backgrounds","default","decorators","Story","lx","width","flexDirection","justifyContent","children","args","appearance","tabLayout","Base","render","state","setState","selectedValue","onSelectedChange","accessibilityLabel","value","WithIcons","icon","TabLayoutShowcase","fitState","setFitState","fixedState","setFixedState","gap","style","Disabled","disabled","WithTrailingContent","trailingContent"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.stories.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import { describe, it, expect, jest } from '@jest/globals';
4
4
  import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
5
5
  import { render, fireEvent } from '@testing-library/react-native';
6
+ import { DotCount } from "../DotCount/index.js";
6
7
  import { ThemeProvider } from "../ThemeProvider/ThemeProvider.js";
7
8
  import { SegmentedControl, SegmentedControlButton } from "./SegmentedControl.js";
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -58,5 +59,30 @@ describe('SegmentedControl', () => {
58
59
  fireEvent.press(getByText('Receive'));
59
60
  expect(onSelectedChange).toHaveBeenCalledWith('receive');
60
61
  });
62
+ it('renders trailingContent inside segment buttons', () => {
63
+ const {
64
+ getByLabelText
65
+ } = render(/*#__PURE__*/_jsx(TestWrapper, {
66
+ children: /*#__PURE__*/_jsxs(SegmentedControl, {
67
+ selectedValue: "tokens",
68
+ onSelectedChange: () => {
69
+ /* empty */
70
+ },
71
+ accessibilityLabel: "Asset section",
72
+ children: [/*#__PURE__*/_jsx(SegmentedControlButton, {
73
+ value: "tokens",
74
+ trailingContent: /*#__PURE__*/_jsx(DotCount, {
75
+ value: 3,
76
+ accessibilityLabel: "3 tokens"
77
+ }),
78
+ children: "Tokens"
79
+ }), /*#__PURE__*/_jsx(SegmentedControlButton, {
80
+ value: "nfts",
81
+ children: "NFTs"
82
+ })]
83
+ })
84
+ }));
85
+ expect(getByLabelText('3 tokens')).toBeTruthy();
86
+ });
61
87
  });
62
88
  //# sourceMappingURL=SegmentedControl.test.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","it","expect","jest","ledgerLiveThemes","render","fireEvent","ThemeProvider","SegmentedControl","SegmentedControlButton","jsx","_jsx","jsxs","_jsxs","TestWrapper","children","themes","colorScheme","locale","getByText","selectedValue","onSelectedChange","accessibilityLabel","value","toBeTruthy","fn","press","toHaveBeenCalledWith"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.test.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,EAAE,EAAEC,MAAM,EAAEC,IAAI,QAAQ,eAAe;AAC1D,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,aAAa,QAAQ,mCAAgC;AAC9D,SAASC,gBAAgB,EAAEC,sBAAsB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE9E,MAAMC,WAAW,GAAGA,CAAC;EAAEC;AAAwC,CAAC,kBAC9DJ,IAAA,CAACJ,aAAa;EAACS,MAAM,EAAEZ,gBAAiB;EAACa,WAAW,EAAC,MAAM;EAACC,MAAM,EAAC,IAAI;EAAAH,QAAA,EACpEA;AAAQ,CACI,CAChB;AAEDf,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EACjCC,EAAE,CAAC,8BAA8B,EAAE,MAAM;IACvC,MAAM;MAAEkB;IAAU,CAAC,GAAGd,MAAM,cAC1BM,IAAA,CAACG,WAAW;MAAAC,QAAA,eACVF,KAAA,CAACL,gBAAgB;QACfY,aAAa,EAAC,MAAM;QACpBC,gBAAgB,EAAEA,CAAA,KAAM;UACtB;QAAA,CACA;QACFC,kBAAkB,EAAC,kBAAkB;QAAAP,QAAA,gBAErCJ,IAAA,CAACF,sBAAsB;UAACc,KAAK,EAAC,MAAM;UAAAR,QAAA,EAAC;QAAI,CAAwB,CAAC,eAClEJ,IAAA,CAACF,sBAAsB;UAACc,KAAK,EAAC,SAAS;UAAAR,QAAA,EAAC;QAExC,CAAwB,CAAC;MAAA,CACT;IAAC,CACR,CACf,CAAC;IACDb,MAAM,CAACiB,SAAS,CAAC,MAAM,CAAC,CAAC,CAACK,UAAU,CAAC,CAAC;IACtCtB,MAAM,CAACiB,SAAS,CAAC,SAAS,CAAC,CAAC,CAACK,UAAU,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEFvB,EAAE,CAAC,qEAAqE,EAAE,MAAM;IAC9E,MAAMoB,gBAAgB,GAAGlB,IAAI,CAACsB,EAAE,CAAC,CAAC;IAClC,MAAM;MAAEN;IAAU,CAAC,GAAGd,MAAM,cAC1BM,IAAA,CAACG,WAAW;MAAAC,QAAA,eACVF,KAAA,CAACL,gBAAgB;QACfY,aAAa,EAAC,MAAM;QACpBC,gBAAgB,EAAEA,gBAAiB;QACnCC,kBAAkB,EAAC,kBAAkB;QAAAP,QAAA,gBAErCJ,IAAA,CAACF,sBAAsB;UAACc,KAAK,EAAC,MAAM;UAAAR,QAAA,EAAC;QAAI,CAAwB,CAAC,eAClEJ,IAAA,CAACF,sBAAsB;UAACc,KAAK,EAAC,SAAS;UAAAR,QAAA,EAAC;QAExC,CAAwB,CAAC;MAAA,CACT;IAAC,CACR,CACf,CAAC;IAEDT,SAAS,CAACoB,KAAK,CAACP,SAAS,CAAC,SAAS,CAAC,CAAC;IAErCjB,MAAM,CAACmB,gBAAgB,CAAC,CAACM,oBAAoB,CAAC,SAAS,CAAC;EAC1D,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["describe","it","expect","jest","ledgerLiveThemes","render","fireEvent","DotCount","ThemeProvider","SegmentedControl","SegmentedControlButton","jsx","_jsx","jsxs","_jsxs","TestWrapper","children","themes","colorScheme","locale","getByText","selectedValue","onSelectedChange","accessibilityLabel","value","toBeTruthy","fn","press","toHaveBeenCalledWith","getByLabelText","trailingContent"],"sourceRoot":"../../../../../src","sources":["lib/Components/SegmentedControl/SegmentedControl.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
9
9
  * - **Automatic clear button** appears when input has content
10
10
  * - **Floating label** with smooth animations
11
11
  * - **Suffix elements** for icons, buttons, or custom content
12
- * - **Error state styling** with errorMessage support
12
+ * - **Helper text** with optional `status` (`error` | `success`) for border and helper feedback styling
13
13
  * - **Container-based spacing** with padding and gap for clean layout
14
14
  * - **Flexible styling** via style props
15
15
  * - **React Native TextInput** with proper mobile behavior
@@ -29,12 +29,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
29
29
  * // Basic input with automatic clear button
30
30
  * <TextInput label="Title" value={title} onChangeText={setTitle} />
31
31
  *
32
- * // Input with error state
32
+ * // Input with error helper
33
33
  * <TextInput
34
34
  * label="Email"
35
35
  * value={email}
36
36
  * onChangeText={setEmail}
37
- * errorMessage="Please enter a valid email address"
37
+ * helperText="Please enter a valid email address"
38
+ * status="error"
38
39
  * />
39
40
  *
40
41
  * // Input with suffix element
@@ -1 +1 @@
1
- {"version":3,"names":["BaseInput","jsx","_jsx","TextInput","props"],"sourceRoot":"../../../../../src","sources":["lib/Components/TextInput/TextInput.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,uBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAIC,KAAqB,IAAK;EAClD,oBAAOF,IAAA,CAACF,SAAS;IAAA,GAAKI;EAAK,CAAG,CAAC;AACjC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BaseInput","jsx","_jsx","TextInput","props"],"sourceRoot":"../../../../../src","sources":["lib/Components/TextInput/TextInput.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,uBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,GAAIC,KAAqB,IAAK;EAClD,oBAAOF,IAAA,CAACF,SAAS;IAAA,GAAKI;EAAK,CAAG,CAAC;AACjC,CAAC","ignoreList":[]}
@@ -34,6 +34,10 @@ The label text automatically floats above the input when content is entered, pro
34
34
 
35
35
  <Canvas of={TextInputStories.WithContent} />
36
36
 
37
+ ### Label and placeholder
38
+
39
+ <Canvas of={TextInputStories.WithLabelAndPlaceholder} />
40
+
37
41
  ### Clear Button
38
42
 
39
43
  A clear button (×) appears **automatically** when input has content.
@@ -54,17 +58,10 @@ Use `onClear` to extend the default clear behavior with custom logic.
54
58
 
55
59
  ### Error State
56
60
 
57
- The input supports error handling through `errorMessage` which displays an error message below the input with error styling including a red border and text color.
61
+ The input supports error handling through `helperText` and `status` (`'error'` \| `'success'`), which show copy below the input with matching border and text styling.
58
62
 
59
63
  <Canvas of={TextInputStories.WithError} />
60
64
 
61
- The error message will be automatically:
62
-
63
- - Connected to the input
64
- - Displayed with a warning icon
65
- - Styled in the error color
66
- - Announced by screen readers
67
-
68
65
  ### Disabled State
69
66
 
70
67
  The input can be fully disabled using the `disabled` prop, which prevents interaction and applies a muted visual style.
@@ -221,13 +218,14 @@ function MyComponent() {
221
218
  label='Username'
222
219
  value={value}
223
220
  onChangeText={handleChange}
224
- errorMessage={error}
221
+ helperText={error || undefined}
222
+ status={error ? 'error' : undefined}
225
223
  />
226
224
  );
227
225
  }
228
226
  ```
229
227
 
230
- > **Note:** Error messages are optional. Use `errorMessage` to display an error message below the input.
228
+ > **Note:** Helper text is optional. Use `helperText` with `status="error"` to show validation feedback below the input.
231
229
 
232
230
  ### With Custom Styling
233
231
 
@@ -65,6 +65,18 @@ export const WithContent = {
65
65
  keyboardType: 'default'
66
66
  }
67
67
  };
68
+ export const WithLabelAndPlaceholder = {
69
+ render: args => /*#__PURE__*/_jsx(TextInputStory, {
70
+ ...args
71
+ }),
72
+ args: {
73
+ label: 'Phone',
74
+ placeholder: '+1 (555) 000-0000',
75
+ editable: true,
76
+ hideClearButton: false,
77
+ keyboardType: 'phone-pad'
78
+ }
79
+ };
68
80
  export const WithError = {
69
81
  render: args => /*#__PURE__*/_jsx(TextInputStory, {
70
82
  ...args,
@@ -72,7 +84,34 @@ export const WithError = {
72
84
  }),
73
85
  args: {
74
86
  label: 'Username',
75
- errorMessage: 'Username must be at least 3 characters',
87
+ helperText: 'Username must be at least 3 characters',
88
+ status: 'error',
89
+ editable: true,
90
+ hideClearButton: false,
91
+ keyboardType: 'default'
92
+ }
93
+ };
94
+ export const WithSuccess = {
95
+ render: args => /*#__PURE__*/_jsx(TextInputStory, {
96
+ ...args,
97
+ initialValue: "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb27"
98
+ }),
99
+ args: {
100
+ label: 'Address',
101
+ helperText: 'Address verified',
102
+ status: 'success',
103
+ editable: true,
104
+ hideClearButton: false,
105
+ keyboardType: 'default'
106
+ }
107
+ };
108
+ export const WithNeutralHint = {
109
+ render: args => /*#__PURE__*/_jsx(TextInputStory, {
110
+ ...args
111
+ }),
112
+ args: {
113
+ label: 'Address',
114
+ helperText: 'Enter your ETH address',
76
115
  editable: true,
77
116
  hideClearButton: false,
78
117
  keyboardType: 'default'
@@ -1 +1 @@
1
- {"version":3,"names":["useState","View","TextInput","jsx","_jsx","meta","component","title","parameters","docs","source","language","format","type","TextInputStory","args","value","setValue","initialValue","style","flex","minHeight","alignItems","justifyContent","padding","children","width","maxWidth","onChangeText","onClear","Base","render","label","editable","hideClearButton","keyboardType","WithContent","WithError","errorMessage","DisabledTextInput","disabled","WithHiddenClearButton","WithClearCallback","alert","EmailKeyboard","PhoneKeyboard"],"sourceRoot":"../../../../../src","sources":["lib/Components/TextInput/TextInput.stories.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","View","TextInput","jsx","_jsx","meta","component","title","parameters","docs","source","language","format","type","TextInputStory","args","value","setValue","initialValue","style","flex","minHeight","alignItems","justifyContent","padding","children","width","maxWidth","onChangeText","onClear","Base","render","label","editable","hideClearButton","keyboardType","WithContent","WithLabelAndPlaceholder","placeholder","WithError","helperText","status","WithSuccess","WithNeutralHint","DisabledTextInput","disabled","WithHiddenClearButton","WithClearCallback","alert","EmailKeyboard","PhoneKeyboard"],"sourceRoot":"../../../../../src","sources":["lib/Components/TextInput/TextInput.stories.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ import { describe, expect, it } from '@jest/globals';
4
+ import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
5
+ import { render, screen } from '@testing-library/react-native';
6
+ import { CheckmarkCircleFill } from "../../Symbols/Icons/CheckmarkCircleFill.js";
7
+ import { DeleteCircleFill } from "../../Symbols/Icons/DeleteCircleFill.js";
8
+ import { ThemeProvider } from "../ThemeProvider/ThemeProvider.js";
9
+ import { TextInput } from "./TextInput.js";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const {
12
+ colors
13
+ } = ledgerLiveThemes.dark;
14
+ const renderWithProvider = component => {
15
+ return render(/*#__PURE__*/_jsx(ThemeProvider, {
16
+ themes: ledgerLiveThemes,
17
+ colorScheme: "dark",
18
+ locale: "en",
19
+ children: component
20
+ }));
21
+ };
22
+ describe('TextInput', () => {
23
+ describe('Placeholder and label (BaseInput parity with web)', () => {
24
+ it('uses the provided placeholder when label and placeholder are both set', async () => {
25
+ await renderWithProvider(/*#__PURE__*/_jsx(TextInput, {
26
+ label: "Username",
27
+ placeholder: "jane.doe",
28
+ value: "",
29
+ onChangeText: () => {}
30
+ }));
31
+ expect(screen.getByPlaceholderText('jane.doe')).toBeTruthy();
32
+ });
33
+ });
34
+ describe('Helper text', () => {
35
+ it('renders neutral helper text without feedback icons', () => {
36
+ renderWithProvider(/*#__PURE__*/_jsx(TextInput, {
37
+ label: "Address",
38
+ helperText: "Enter your ETH address"
39
+ }));
40
+ const helperText = screen.getByText('Enter your ETH address');
41
+ expect(helperText).toBeTruthy();
42
+ expect(helperText.props.style).toEqual(expect.objectContaining({
43
+ color: colors.text.muted
44
+ }));
45
+ expect(screen.UNSAFE_queryByType(DeleteCircleFill)).toBeNull();
46
+ expect(screen.UNSAFE_queryByType(CheckmarkCircleFill)).toBeNull();
47
+ });
48
+ it('renders error helper text with an error icon', () => {
49
+ renderWithProvider(/*#__PURE__*/_jsx(TextInput, {
50
+ label: "Address",
51
+ helperText: "Invalid address format",
52
+ status: "error"
53
+ }));
54
+ const helperText = screen.getByText('Invalid address format');
55
+ expect(helperText.props.style).toEqual(expect.objectContaining({
56
+ color: colors.text.error
57
+ }));
58
+ expect(screen.UNSAFE_getByType(DeleteCircleFill)).toBeTruthy();
59
+ expect(screen.UNSAFE_queryByType(CheckmarkCircleFill)).toBeNull();
60
+ });
61
+ it('renders success helper text with a success icon', () => {
62
+ renderWithProvider(/*#__PURE__*/_jsx(TextInput, {
63
+ label: "Address",
64
+ helperText: "Address verified",
65
+ status: "success"
66
+ }));
67
+ const helperText = screen.getByText('Address verified');
68
+ expect(helperText.props.style).toEqual(expect.objectContaining({
69
+ color: colors.text.success
70
+ }));
71
+ expect(screen.UNSAFE_getByType(CheckmarkCircleFill)).toBeTruthy();
72
+ expect(screen.UNSAFE_queryByType(DeleteCircleFill)).toBeNull();
73
+ });
74
+ });
75
+ });
76
+ //# sourceMappingURL=TextInput.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","ledgerLiveThemes","render","screen","CheckmarkCircleFill","DeleteCircleFill","ThemeProvider","TextInput","jsx","_jsx","colors","dark","renderWithProvider","component","themes","colorScheme","locale","children","label","placeholder","value","onChangeText","getByPlaceholderText","toBeTruthy","helperText","getByText","props","style","toEqual","objectContaining","color","text","muted","UNSAFE_queryByType","toBeNull","status","error","UNSAFE_getByType","success"],"sourceRoot":"../../../../../src","sources":["lib/Components/TextInput/TextInput.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ import Svg, { Path } from 'react-native-svg';
4
+ import createIcon from "../../Components/Icon/createIcon.js";
5
+
6
+ /**
7
+ * Lightbulb icon component for React Native.
8
+ *
9
+ * This icon component is automatically generated from SVG files and uses the createIcon utility
10
+ * to create a consistent icon interface. It supports all standard SVG props (from react-native-svg)
11
+ * and additional size variants defined in the Icon component.
12
+ *
13
+ * @component
14
+ * @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
15
+ * @param {string} [color] - The color of the icon.
16
+ * @param {SVGProps} [...props] - All standard SVG element props (from react-native-svg).
17
+ *
18
+ * @example
19
+ * // Basic usage with default size (24px)
20
+ * import { Lightbulb } from '@ledgerhq/lumen-ui-rnative/symbols';
21
+ *
22
+ * <Lightbulb />
23
+ *
24
+ * @example
25
+ * // With custom size and style
26
+ * <Lightbulb size={40} color="warning" lx={{ marginTop: 's4' }} />
27
+ *
28
+ * @example
29
+ * // Used within a Button component
30
+ * import { Button } from '@ledgerhq/lumen-ui-rnative';
31
+ *
32
+ * <Button icon={Lightbulb} size="md">
33
+ * Click me
34
+ * </Button>
35
+ */
36
+ import { jsx as _jsx } from "react/jsx-runtime";
37
+ export const Lightbulb = createIcon('Lightbulb', /*#__PURE__*/_jsx(Svg, {
38
+ width: 24,
39
+ height: 24,
40
+ fill: "currentColor",
41
+ viewBox: "0 0 24 24",
42
+ children: /*#__PURE__*/_jsx(Path, {
43
+ stroke: "currentColor",
44
+ strokeLinecap: "round",
45
+ strokeLinejoin: "round",
46
+ strokeWidth: 1.5,
47
+ d: "M15 15.19H9M20 5l1.19-1.19M4 15l-1.19 1.19M5 4 3.81 2.81M20 15l1.19 1.19M21 10h1.69M1.31 10H3m6 8h5.87m-6.33-3.104c-1.78-1.26-2.85-3.45-2.47-5.86.4-2.607 2.57-4.688 5.2-4.995a5.996 5.996 0 0 1 6.725 5.95c0 2.02-1.01 3.81-2.55 4.898-.28.19-.46.49-.46.83v2.76a2.5 2.5 0 0 1-2.5 2.5h-1c-1.39 0-2.5-1.12-2.5-2.5v-2.763c0-.35-.19-.65-.46-.85z"
48
+ })
49
+ }));
50
+ //# sourceMappingURL=Lightbulb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Svg","Path","createIcon","jsx","_jsx","Lightbulb","width","height","fill","viewBox","children","stroke","strokeLinecap","strokeLinejoin","strokeWidth","d"],"sourceRoot":"../../../../../src","sources":["lib/Symbols/Icons/Lightbulb.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,OAAOC,UAAU,MAAM,qCAAkC;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7BA,SAAAC,GAAA,IAAAC,IAAA;AA8BA,OAAO,MAAMC,SAAS,GAAGH,UAAU,CACjC,WAAW,eACXE,IAAA,CAACJ,GAAG;EAACM,KAAK,EAAE,EAAG;EAACC,MAAM,EAAE,EAAG;EAACC,IAAI,EAAC,cAAc;EAACC,OAAO,EAAC,WAAW;EAAAC,QAAA,eACjEN,IAAA,CAACH,IAAI;IACHU,MAAM,EAAC,cAAc;IACrBC,aAAa,EAAC,OAAO;IACrBC,cAAc,EAAC,OAAO;IACtBC,WAAW,EAAE,GAAI;IACjBC,CAAC,EAAC;EAAmV,CACtV;AAAC,CACC,CACP,CAAC","ignoreList":[]}
@@ -141,6 +141,7 @@ export { LedgerLogo } from "./Icons/LedgerLogo.js";
141
141
  export { Legal } from "./Icons/Legal.js";
142
142
  export { LifeRing } from "./Icons/LifeRing.js";
143
143
  export { LifeRingFill } from "./Icons/LifeRingFill.js";
144
+ export { Lightbulb } from "./Icons/Lightbulb.js";
144
145
  export { Link } from "./Icons/Link.js";
145
146
  export { Linkedin } from "./Icons/Linkedin.js";
146
147
  export { Linux } from "./Icons/Linux.js";