@ledgerhq/lumen-ui-rnative 0.1.10 → 0.1.12

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 (233) hide show
  1. package/dist/module/i18n/locales/de.json +3 -0
  2. package/dist/module/i18n/locales/en.json +3 -0
  3. package/dist/module/i18n/locales/es.json +3 -0
  4. package/dist/module/i18n/locales/fr.json +3 -0
  5. package/dist/module/i18n/locales/ja.json +3 -0
  6. package/dist/module/i18n/locales/ko.json +3 -0
  7. package/dist/module/i18n/locales/pt.json +3 -0
  8. package/dist/module/i18n/locales/ru.json +3 -0
  9. package/dist/module/i18n/locales/th.json +3 -0
  10. package/dist/module/i18n/locales/tr.json +3 -0
  11. package/dist/module/i18n/locales/zh.json +3 -0
  12. package/dist/module/lib/Animations/Pulse/Pulse.js +1 -1
  13. package/dist/module/lib/Animations/Spin/Spin.js +1 -1
  14. package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js +21 -21
  15. package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js.map +1 -1
  16. package/dist/module/lib/Components/AmountInput/AmountInput.js +19 -13
  17. package/dist/module/lib/Components/AmountInput/AmountInput.js.map +1 -1
  18. package/dist/module/lib/Components/BaseInput/BaseInput.js +16 -9
  19. package/dist/module/lib/Components/BaseInput/BaseInput.js.map +1 -1
  20. package/dist/module/lib/Components/BottomSheet/BottomSheet.stories.js.map +1 -1
  21. package/dist/module/lib/Components/Button/BaseButton.js +8 -1
  22. package/dist/module/lib/Components/Button/BaseButton.js.map +1 -1
  23. package/dist/module/lib/Components/Card/Card.js +20 -14
  24. package/dist/module/lib/Components/Card/Card.js.map +1 -1
  25. package/dist/module/lib/Components/CardButton/CardButton.js +8 -1
  26. package/dist/module/lib/Components/CardButton/CardButton.js.map +1 -1
  27. package/dist/module/lib/Components/Checkbox/Checkbox.js +8 -1
  28. package/dist/module/lib/Components/Checkbox/Checkbox.js.map +1 -1
  29. package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js +32 -5
  30. package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js.map +1 -1
  31. package/dist/module/lib/Components/Label/Label.js +9 -2
  32. package/dist/module/lib/Components/Label/Label.js.map +1 -1
  33. package/dist/module/lib/Components/Link/Link.mdx +1 -0
  34. package/dist/module/lib/Components/ListItem/ListItem.js +14 -19
  35. package/dist/module/lib/Components/ListItem/ListItem.js.map +1 -1
  36. package/dist/module/lib/Components/MediaCard/MediaCard.js +183 -0
  37. package/dist/module/lib/Components/MediaCard/MediaCard.js.map +1 -0
  38. package/dist/module/lib/Components/MediaCard/MediaCard.mdx +111 -0
  39. package/dist/module/lib/Components/MediaCard/MediaCard.stories.js +199 -0
  40. package/dist/module/lib/Components/MediaCard/MediaCard.stories.js.map +1 -0
  41. package/dist/module/lib/Components/MediaCard/MediaCard.test.js +140 -0
  42. package/dist/module/lib/Components/MediaCard/MediaCard.test.js.map +1 -0
  43. package/dist/module/lib/Components/MediaCard/index.js +5 -0
  44. package/dist/module/lib/Components/MediaCard/index.js.map +1 -0
  45. package/dist/module/lib/Components/MediaCard/types.js +4 -0
  46. package/dist/module/lib/Components/MediaCard/types.js.map +1 -0
  47. package/dist/module/lib/Components/PageIndicator/PageIndicator.js +2 -2
  48. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.js +8 -1
  49. package/dist/module/lib/Components/SegmentedControl/SegmentedControl.js.map +1 -1
  50. package/dist/module/lib/Components/SegmentedControl/usePillLayout.js +1 -1
  51. package/dist/module/lib/Components/Select/Select.js +8 -1
  52. package/dist/module/lib/Components/Select/Select.js.map +1 -1
  53. package/dist/module/lib/Components/Spot/Spot.js +4 -4
  54. package/dist/module/lib/Components/Spot/Spot.js.map +1 -1
  55. package/dist/module/lib/Components/Stepper/Stepper.js +10 -4
  56. package/dist/module/lib/Components/Stepper/Stepper.js.map +1 -1
  57. package/dist/module/lib/Components/Subheader/Subheader.js +1 -34
  58. package/dist/module/lib/Components/Subheader/Subheader.js.map +1 -1
  59. package/dist/module/lib/Components/Subheader/Subheader.mdx +26 -61
  60. package/dist/module/lib/Components/Subheader/Subheader.stories.js +23 -12
  61. package/dist/module/lib/Components/Subheader/Subheader.stories.js.map +1 -1
  62. package/dist/module/lib/Components/Subheader/Subheader.test.js +2 -26
  63. package/dist/module/lib/Components/Subheader/Subheader.test.js.map +1 -1
  64. package/dist/module/lib/Components/Subheader/index.js +1 -1
  65. package/dist/module/lib/Components/Subheader/index.js.map +1 -1
  66. package/dist/module/lib/Components/Switch/BaseSwitch.js +1 -1
  67. package/dist/module/lib/Components/Switch/Switch.js +8 -1
  68. package/dist/module/lib/Components/Switch/Switch.js.map +1 -1
  69. package/dist/module/lib/Components/TabBar/TabBar.js +8 -7
  70. package/dist/module/lib/Components/TabBar/TabBar.js.map +1 -1
  71. package/dist/module/lib/Components/Tag/Tag.js +9 -2
  72. package/dist/module/lib/Components/Tag/Tag.js.map +1 -1
  73. package/dist/module/lib/Components/ThemeProvider/ThemeProvider.test.js +22 -20
  74. package/dist/module/lib/Components/ThemeProvider/ThemeProvider.test.js.map +1 -1
  75. package/dist/module/lib/Components/Tile/Tile.js +27 -48
  76. package/dist/module/lib/Components/Tile/Tile.js.map +1 -1
  77. package/dist/module/lib/Components/Tile/Tile.mdx +34 -26
  78. package/dist/module/lib/Components/Tile/Tile.stories.js +31 -28
  79. package/dist/module/lib/Components/Tile/Tile.stories.js.map +1 -1
  80. package/dist/module/lib/Components/Tile/Tile.test.js +33 -188
  81. package/dist/module/lib/Components/Tile/Tile.test.js.map +1 -1
  82. package/dist/module/lib/Components/Tile/index.js +1 -1
  83. package/dist/module/lib/Components/Tile/index.js.map +1 -1
  84. package/dist/module/lib/Components/TileButton/TileButton.js +8 -2
  85. package/dist/module/lib/Components/TileButton/TileButton.js.map +1 -1
  86. package/dist/module/lib/Components/TriggerButton/TriggerButton.js +197 -0
  87. package/dist/module/lib/Components/TriggerButton/TriggerButton.js.map +1 -0
  88. package/dist/module/lib/Components/TriggerButton/TriggerButton.mdx +44 -0
  89. package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js +170 -0
  90. package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js.map +1 -0
  91. package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js +146 -0
  92. package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js.map +1 -0
  93. package/dist/module/lib/Components/TriggerButton/index.js +5 -0
  94. package/dist/module/lib/Components/TriggerButton/index.js.map +1 -0
  95. package/dist/module/lib/Components/TriggerButton/types.js +4 -0
  96. package/dist/module/lib/Components/TriggerButton/types.js.map +1 -0
  97. package/dist/module/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.stories.js.map +1 -1
  98. package/dist/module/lib/Components/index.js +2 -0
  99. package/dist/module/lib/Components/index.js.map +1 -1
  100. package/dist/module/lib/Symbols/Icons/NanoGen5.js +49 -0
  101. package/dist/module/lib/Symbols/Icons/NanoGen5.js.map +1 -0
  102. package/dist/module/lib/Symbols/index.js +1 -0
  103. package/dist/module/lib/Symbols/index.js.map +1 -1
  104. package/dist/typescript/src/lib/Components/AmountInput/AmountInput.d.ts +1 -1
  105. package/dist/typescript/src/lib/Components/AmountInput/AmountInput.d.ts.map +1 -1
  106. package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts +1 -1
  107. package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
  108. package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts +1 -1
  109. package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
  110. package/dist/typescript/src/lib/Components/Card/Card.d.ts.map +1 -1
  111. package/dist/typescript/src/lib/Components/Card/types.d.ts +1 -3
  112. package/dist/typescript/src/lib/Components/Card/types.d.ts.map +1 -1
  113. package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts +1 -1
  114. package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts.map +1 -1
  115. package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts +1 -1
  116. package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts.map +1 -1
  117. package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +1 -1
  118. package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
  119. package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts +14 -1
  120. package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
  121. package/dist/typescript/src/lib/Components/Label/Label.d.ts +1 -1
  122. package/dist/typescript/src/lib/Components/Label/Label.d.ts.map +1 -1
  123. package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts +1 -1
  124. package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts.map +1 -1
  125. package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts +32 -0
  126. package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts.map +1 -0
  127. package/dist/typescript/src/lib/Components/MediaCard/index.d.ts +3 -0
  128. package/dist/typescript/src/lib/Components/MediaCard/index.d.ts.map +1 -0
  129. package/dist/typescript/src/lib/Components/MediaCard/types.d.ts +38 -0
  130. package/dist/typescript/src/lib/Components/MediaCard/types.d.ts.map +1 -0
  131. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControl.d.ts +1 -1
  132. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  133. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControlContext.d.ts +1 -1
  134. package/dist/typescript/src/lib/Components/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
  135. package/dist/typescript/src/lib/Components/Select/Select.d.ts +1 -1
  136. package/dist/typescript/src/lib/Components/Select/Select.d.ts.map +1 -1
  137. package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts +1 -1
  138. package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts.map +1 -1
  139. package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts +2 -7
  140. package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts.map +1 -1
  141. package/dist/typescript/src/lib/Components/Subheader/index.d.ts +1 -1
  142. package/dist/typescript/src/lib/Components/Subheader/index.d.ts.map +1 -1
  143. package/dist/typescript/src/lib/Components/Subheader/types.d.ts +1 -11
  144. package/dist/typescript/src/lib/Components/Subheader/types.d.ts.map +1 -1
  145. package/dist/typescript/src/lib/Components/Switch/Switch.d.ts +1 -1
  146. package/dist/typescript/src/lib/Components/Switch/Switch.d.ts.map +1 -1
  147. package/dist/typescript/src/lib/Components/TabBar/TabBar.d.ts.map +1 -1
  148. package/dist/typescript/src/lib/Components/Tag/Tag.d.ts +1 -1
  149. package/dist/typescript/src/lib/Components/Tag/Tag.d.ts.map +1 -1
  150. package/dist/typescript/src/lib/Components/Tile/Tile.d.ts +17 -23
  151. package/dist/typescript/src/lib/Components/Tile/Tile.d.ts.map +1 -1
  152. package/dist/typescript/src/lib/Components/Tile/index.d.ts +1 -1
  153. package/dist/typescript/src/lib/Components/Tile/index.d.ts.map +1 -1
  154. package/dist/typescript/src/lib/Components/Tile/types.d.ts +0 -9
  155. package/dist/typescript/src/lib/Components/Tile/types.d.ts.map +1 -1
  156. package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts +1 -1
  157. package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts.map +1 -1
  158. package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts +26 -0
  159. package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts.map +1 -0
  160. package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts +3 -0
  161. package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts.map +1 -0
  162. package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts +38 -0
  163. package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts.map +1 -0
  164. package/dist/typescript/src/lib/Components/index.d.ts +2 -0
  165. package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
  166. package/dist/typescript/src/lib/Symbols/Icons/NanoGen5.d.ts +35 -0
  167. package/dist/typescript/src/lib/Symbols/Icons/NanoGen5.d.ts.map +1 -0
  168. package/dist/typescript/src/lib/Symbols/index.d.ts +1 -0
  169. package/dist/typescript/src/lib/Symbols/index.d.ts.map +1 -1
  170. package/package.json +4 -4
  171. package/src/i18n/locales/de.json +3 -0
  172. package/src/i18n/locales/en.json +3 -0
  173. package/src/i18n/locales/es.json +3 -0
  174. package/src/i18n/locales/fr.json +3 -0
  175. package/src/i18n/locales/ja.json +3 -0
  176. package/src/i18n/locales/ko.json +3 -0
  177. package/src/i18n/locales/pt.json +3 -0
  178. package/src/i18n/locales/ru.json +3 -0
  179. package/src/i18n/locales/th.json +3 -0
  180. package/src/i18n/locales/tr.json +3 -0
  181. package/src/i18n/locales/zh.json +3 -0
  182. package/src/lib/Components/AmountDisplay/AmountDisplay.tsx +20 -20
  183. package/src/lib/Components/AmountInput/AmountInput.tsx +15 -7
  184. package/src/lib/Components/BaseInput/BaseInput.tsx +12 -7
  185. package/src/lib/Components/BottomSheet/BottomSheet.stories.tsx +9 -9
  186. package/src/lib/Components/Button/BaseButton.tsx +6 -1
  187. package/src/lib/Components/Card/Card.tsx +16 -16
  188. package/src/lib/Components/Card/types.ts +1 -4
  189. package/src/lib/Components/CardButton/CardButton.tsx +7 -1
  190. package/src/lib/Components/Checkbox/Checkbox.tsx +7 -1
  191. package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +34 -7
  192. package/src/lib/Components/InteractiveIcon/types.ts +14 -1
  193. package/src/lib/Components/Label/Label.tsx +7 -2
  194. package/src/lib/Components/Link/Link.mdx +1 -0
  195. package/src/lib/Components/ListItem/ListItem.tsx +15 -12
  196. package/src/lib/Components/MediaCard/MediaCard.mdx +111 -0
  197. package/src/lib/Components/MediaCard/MediaCard.stories.tsx +190 -0
  198. package/src/lib/Components/MediaCard/MediaCard.test.tsx +125 -0
  199. package/src/lib/Components/MediaCard/MediaCard.tsx +203 -0
  200. package/src/lib/Components/MediaCard/index.ts +2 -0
  201. package/src/lib/Components/MediaCard/types.ts +39 -0
  202. package/src/lib/Components/SegmentedControl/SegmentedControl.tsx +6 -1
  203. package/src/lib/Components/SegmentedControl/SegmentedControlContext.tsx +1 -1
  204. package/src/lib/Components/Select/Select.tsx +6 -1
  205. package/src/lib/Components/Spot/Spot.tsx +4 -4
  206. package/src/lib/Components/Stepper/Stepper.tsx +9 -2
  207. package/src/lib/Components/Subheader/Subheader.mdx +26 -61
  208. package/src/lib/Components/Subheader/Subheader.stories.tsx +16 -10
  209. package/src/lib/Components/Subheader/Subheader.test.tsx +0 -22
  210. package/src/lib/Components/Subheader/Subheader.tsx +1 -42
  211. package/src/lib/Components/Subheader/index.ts +0 -1
  212. package/src/lib/Components/Subheader/types.ts +1 -16
  213. package/src/lib/Components/Switch/Switch.tsx +6 -1
  214. package/src/lib/Components/TabBar/TabBar.tsx +5 -2
  215. package/src/lib/Components/Tag/Tag.tsx +7 -2
  216. package/src/lib/Components/ThemeProvider/ThemeProvider.test.tsx +16 -18
  217. package/src/lib/Components/Tile/Tile.mdx +34 -26
  218. package/src/lib/Components/Tile/Tile.stories.tsx +26 -26
  219. package/src/lib/Components/Tile/Tile.test.tsx +17 -137
  220. package/src/lib/Components/Tile/Tile.tsx +28 -40
  221. package/src/lib/Components/Tile/index.ts +0 -1
  222. package/src/lib/Components/Tile/types.ts +0 -11
  223. package/src/lib/Components/TileButton/TileButton.tsx +9 -2
  224. package/src/lib/Components/TriggerButton/TriggerButton.mdx +44 -0
  225. package/src/lib/Components/TriggerButton/TriggerButton.stories.tsx +132 -0
  226. package/src/lib/Components/TriggerButton/TriggerButton.test.tsx +157 -0
  227. package/src/lib/Components/TriggerButton/TriggerButton.tsx +228 -0
  228. package/src/lib/Components/TriggerButton/index.ts +2 -0
  229. package/src/lib/Components/TriggerButton/types.ts +38 -0
  230. package/src/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.stories.tsx +1 -1
  231. package/src/lib/Components/index.ts +2 -0
  232. package/src/lib/Symbols/Icons/NanoGen5.tsx +44 -0
  233. package/src/lib/Symbols/index.ts +1 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
 
3
- export { Tile, TileSpot, TileContent, TileTitle, TileDescription, TileTrailingContent } from "./Tile.js";
3
+ export { Tile, TileContent, TileTitle, TileDescription, TileTrailingContent } from "./Tile.js";
4
4
  export * from "./types.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Tile","TileSpot","TileContent","TileTitle","TileDescription","TileTrailingContent"],"sourceRoot":"../../../../../src","sources":["lib/Components/Tile/index.ts"],"mappings":";;AAAA,SACEA,IAAI,EACJC,QAAQ,EACRC,WAAW,EACXC,SAAS,EACTC,eAAe,EACfC,mBAAmB,QACd,WAAQ;AACf,cAAc,YAAS","ignoreList":[]}
1
+ {"version":3,"names":["Tile","TileContent","TileTitle","TileDescription","TileTrailingContent"],"sourceRoot":"../../../../../src","sources":["lib/Components/Tile/index.ts"],"mappings":";;AAAA,SACEA,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,eAAe,EACfC,mBAAmB,QACd,WAAQ;AACf,cAAc,YAAS","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { isTextChildren } from '@ledgerhq/lumen-utils-shared';
3
+ import { isTextChildren, useDisabledContext } from '@ledgerhq/lumen-utils-shared';
4
4
  import { StyleSheet, View } from 'react-native';
5
5
  import { useStyleSheet } from "../../../styles/index.js";
6
6
  import { Pressable, Text } from "../Utility/index.js";
@@ -66,11 +66,17 @@ export const TileButton = ({
66
66
  style,
67
67
  icon: IconProp,
68
68
  children,
69
- disabled = false,
69
+ disabled: disabledProp = false,
70
70
  isFull = false,
71
71
  numberOfLines = 2,
72
72
  ...props
73
73
  }) => {
74
+ const disabled = useDisabledContext({
75
+ consumerName: 'TileButton',
76
+ mergeWith: {
77
+ disabled: disabledProp
78
+ }
79
+ });
74
80
  const rootStyles = useRootStyles({
75
81
  isFull
76
82
  });
@@ -1 +1 @@
1
- {"version":3,"names":["isTextChildren","StyleSheet","View","useStyleSheet","Pressable","Text","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","useRootStyles","isFull","t","root","width","sizes","full","useStyles","disabled","pressed","container","flatten","flexDirection","alignItems","justifyContent","gap","spacings","s8","padding","s12","borderRadius","md","backgroundColor","colors","bg","surface","surfacePressed","label","typographies","body2SemiBold","textAlign","color","text","base","icon","flexShrink","TileButton","lx","style","IconProp","children","numberOfLines","props","rootStyles","accessibilityRole","accessibilityState","TileButtonContent","styles","testID","size","displayName"],"sourceRoot":"../../../../../src","sources":["lib/Components/TileButton/TileButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isTextChildren","useDisabledContext","StyleSheet","View","useStyleSheet","Pressable","Text","jsx","_jsx","jsxs","_jsxs","ICON_SIZE","useRootStyles","isFull","t","root","width","sizes","full","useStyles","disabled","pressed","container","flatten","flexDirection","alignItems","justifyContent","gap","spacings","s8","padding","s12","borderRadius","md","backgroundColor","colors","bg","surface","surfacePressed","label","typographies","body2SemiBold","textAlign","color","text","base","icon","flexShrink","TileButton","lx","style","IconProp","children","disabledProp","numberOfLines","props","consumerName","mergeWith","rootStyles","accessibilityRole","accessibilityState","TileButtonContent","styles","testID","size","displayName"],"sourceRoot":"../../../../../src","sources":["lib/Components/TileButton/TileButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+ import { useStyleSheet } from "../../../styles/index.js";
5
+ import { ChevronDown } from "../../Symbols/index.js";
6
+ import { Pressable } from "../Utility/index.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const useStyles = ({
9
+ appearance,
10
+ size,
11
+ disabled,
12
+ pressed,
13
+ iconType
14
+ }) => {
15
+ return useStyleSheet(t => {
16
+ const bgColors = {
17
+ gray: t.colors.bg.muted,
18
+ transparent: t.colors.bg.mutedTransparent,
19
+ 'no-background': 'transparent'
20
+ };
21
+ const pressedBgColors = {
22
+ gray: t.colors.bg.mutedPressed,
23
+ transparent: t.colors.bg.mutedTransparentPressed,
24
+ 'no-background': t.colors.bg.baseTransparentPressed
25
+ };
26
+ const textColor = disabled ? t.colors.text.disabled : t.colors.text.base;
27
+ const paddingMap = {
28
+ md: {
29
+ flat: {
30
+ paddingTop: t.spacings.s12,
31
+ paddingBottom: t.spacings.s12,
32
+ paddingLeft: t.spacings.s16,
33
+ paddingRight: t.spacings.s16
34
+ },
35
+ rounded: {
36
+ paddingTop: t.spacings.s8,
37
+ paddingBottom: t.spacings.s8,
38
+ paddingLeft: t.spacings.s8,
39
+ paddingRight: t.spacings.s16
40
+ },
41
+ none: {
42
+ paddingTop: t.spacings.s14,
43
+ paddingBottom: t.spacings.s14,
44
+ paddingLeft: t.spacings.s16,
45
+ paddingRight: t.spacings.s16
46
+ }
47
+ },
48
+ sm: {
49
+ flat: {
50
+ paddingTop: t.spacings.s10,
51
+ paddingBottom: t.spacings.s10,
52
+ paddingLeft: t.spacings.s12,
53
+ paddingRight: t.spacings.s12
54
+ },
55
+ rounded: {
56
+ paddingTop: t.spacings.s8,
57
+ paddingBottom: t.spacings.s8,
58
+ paddingLeft: t.spacings.s8,
59
+ paddingRight: t.spacings.s10
60
+ },
61
+ none: {
62
+ paddingTop: t.spacings.s10,
63
+ paddingBottom: t.spacings.s10,
64
+ paddingLeft: t.spacings.s12,
65
+ paddingRight: t.spacings.s12
66
+ }
67
+ }
68
+ };
69
+ return {
70
+ container: StyleSheet.flatten([{
71
+ flexDirection: 'row',
72
+ alignItems: 'center',
73
+ borderRadius: t.borderRadius.full,
74
+ backgroundColor: bgColors[appearance],
75
+ gap: t.spacings.s8
76
+ }, paddingMap[size][iconType], pressed && {
77
+ backgroundColor: pressedBgColors[appearance]
78
+ }, disabled && {
79
+ backgroundColor: t.colors.bg.disabled
80
+ }, appearance === 'no-background' && disabled && {
81
+ backgroundColor: 'transparent'
82
+ }]),
83
+ label: StyleSheet.flatten([t.typographies.body2SemiBold, {
84
+ color: textColor,
85
+ textAlign: 'left'
86
+ }]),
87
+ labelWrapper: {
88
+ flexDirection: 'row',
89
+ alignItems: 'center',
90
+ gap: t.spacings.s2
91
+ },
92
+ icon: {
93
+ flexShrink: 0
94
+ },
95
+ chevron: {
96
+ flexShrink: 0,
97
+ color: textColor
98
+ }
99
+ };
100
+ }, [appearance, size, disabled, pressed, iconType]);
101
+ };
102
+
103
+ /**
104
+ * Trigger button for select/dropdown components. Displays a label with an optional
105
+ * leading icon and a trailing chevron indicator.
106
+ *
107
+ * This component is intended to be used exclusively as the trigger inside a Select or
108
+ * dropdown pattern. It should not be used as a standalone action button — use `Button`
109
+ * or `IconButton` instead.
110
+ *
111
+ * @see {@link https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7/2.-Components-Library?node-id=6389-45680 Figma}
112
+ *
113
+ * @example
114
+ * import { TriggerButton } from '@ledgerhq/lumen-ui-rnative';
115
+ * import { Settings } from '@ledgerhq/lumen-ui-rnative/symbols';
116
+ *
117
+ * <TriggerButton icon={<Settings size={20} />} iconType="flat">
118
+ * Network
119
+ * </TriggerButton>
120
+ *
121
+ * <TriggerButton>All accounts</TriggerButton>
122
+ */
123
+ export const TriggerButton = ({
124
+ lx,
125
+ style,
126
+ appearance = 'gray',
127
+ size = 'md',
128
+ disabled = false,
129
+ icon,
130
+ iconType = 'flat',
131
+ children: label,
132
+ ref,
133
+ ...props
134
+ }) => {
135
+ const effectiveIconType = icon ? iconType : 'none';
136
+ return /*#__PURE__*/_jsx(Pressable, {
137
+ ref: ref,
138
+ lx: lx,
139
+ style: style,
140
+ disabled: disabled,
141
+ accessibilityRole: "button",
142
+ accessibilityState: {
143
+ disabled
144
+ },
145
+ ...props,
146
+ children: ({
147
+ pressed
148
+ }) => /*#__PURE__*/_jsx(TriggerButtonContent, {
149
+ appearance: appearance,
150
+ size: size,
151
+ disabled: disabled,
152
+ pressed: pressed,
153
+ iconType: effectiveIconType,
154
+ icon: icon,
155
+ children: label
156
+ })
157
+ });
158
+ };
159
+ const TriggerButtonContent = ({
160
+ appearance,
161
+ size,
162
+ disabled,
163
+ pressed,
164
+ iconType,
165
+ icon,
166
+ children
167
+ }) => {
168
+ const styles = useStyles({
169
+ appearance,
170
+ size,
171
+ disabled,
172
+ pressed,
173
+ iconType
174
+ });
175
+ return /*#__PURE__*/_jsxs(View, {
176
+ style: styles.container,
177
+ testID: "button-trigger-content",
178
+ children: [icon && /*#__PURE__*/_jsx(View, {
179
+ style: styles.icon,
180
+ children: icon
181
+ }), /*#__PURE__*/_jsxs(View, {
182
+ style: styles.labelWrapper,
183
+ children: [/*#__PURE__*/_jsx(Text, {
184
+ style: styles.label,
185
+ numberOfLines: 1,
186
+ ellipsizeMode: "tail",
187
+ children: children
188
+ }), /*#__PURE__*/_jsx(ChevronDown, {
189
+ size: 20,
190
+ style: styles.chevron,
191
+ testID: "button-trigger-chevron"
192
+ })]
193
+ })]
194
+ });
195
+ };
196
+ TriggerButton.displayName = 'TriggerButton';
197
+ //# sourceMappingURL=TriggerButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","useStyleSheet","ChevronDown","Pressable","jsx","_jsx","jsxs","_jsxs","useStyles","appearance","size","disabled","pressed","iconType","t","bgColors","gray","colors","bg","muted","transparent","mutedTransparent","pressedBgColors","mutedPressed","mutedTransparentPressed","baseTransparentPressed","textColor","text","base","paddingMap","md","flat","paddingTop","spacings","s12","paddingBottom","paddingLeft","s16","paddingRight","rounded","s8","none","s14","sm","s10","container","flatten","flexDirection","alignItems","borderRadius","full","backgroundColor","gap","label","typographies","body2SemiBold","color","textAlign","labelWrapper","s2","icon","flexShrink","chevron","TriggerButton","lx","style","children","ref","props","effectiveIconType","accessibilityRole","accessibilityState","TriggerButtonContent","styles","testID","numberOfLines","ellipsizeMode","displayName"],"sourceRoot":"../../../../../src","sources":["lib/Components/TriggerButton/TriggerButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ import { CustomTabs, Tab } from '../../../../.storybook/components';
2
+ import { Meta, Canvas, Controls } from '@storybook/addon-docs/blocks';
3
+ import * as TriggerButtonStories from './TriggerButton.stories';
4
+
5
+ <Meta title='Action/TriggerButton' of={TriggerButtonStories} />
6
+
7
+ <CustomTabs>
8
+ <Tab label="Overview ">
9
+
10
+ # TriggerButton
11
+
12
+ ## Introduction
13
+
14
+ A specialized trigger button designed exclusively for select and dropdown patterns. It displays a label with an optional leading icon and a permanent trailing chevron indicator.
15
+
16
+ > View in [Figma](https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7/2.-Components-Library?node-id=6389-45680&m=dev).
17
+
18
+ > **Important**: This component should only be used as a trigger inside a Select or dropdown. For standalone actions, use [Button](/docs/action-button--docs) or [IconButton](/docs/action-iconbutton--docs) instead.
19
+
20
+ ## Properties
21
+
22
+ <Canvas of={TriggerButtonStories.Base} />
23
+ <Controls of={TriggerButtonStories.Base} />
24
+
25
+ ## Appearance
26
+
27
+ Three appearances are available: `gray` (default), `transparent`, and `no-background`.
28
+
29
+ <Canvas of={TriggerButtonStories.AppearanceShowcase} />
30
+
31
+ ## Sizes
32
+
33
+ <Canvas of={TriggerButtonStories.SizeShowcase} />
34
+
35
+ ## Icon Types
36
+
37
+ The `iconType` prop controls the padding scheme based on the leading icon's shape:
38
+
39
+ - **`flat`**: Standard padding for interface icons (line icons without background).
40
+ - **`rounded`**: Tighter left padding for circular icons with their own background (e.g., crypto icons).
41
+
42
+ <Canvas of={TriggerButtonStories.IconTypeShowcase} />
43
+ </Tab>
44
+ </CustomTabs>
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ import { CryptoIcon } from '@ledgerhq/crypto-icons';
4
+ import { Settings, Star } from "../../Symbols/index.js";
5
+ import { Box } from "../Utility/index.js";
6
+ import { TriggerButton } from "./TriggerButton.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const meta = {
9
+ component: TriggerButton,
10
+ title: 'Action/TriggerButton',
11
+ parameters: {
12
+ layout: 'centered',
13
+ docs: {
14
+ source: {
15
+ language: 'tsx',
16
+ format: true,
17
+ type: 'code'
18
+ }
19
+ }
20
+ }
21
+ };
22
+ export default meta;
23
+ export const Base = {
24
+ args: {
25
+ children: 'All accounts',
26
+ appearance: 'gray'
27
+ },
28
+ render: args => /*#__PURE__*/_jsx(TriggerButton, {
29
+ ...args
30
+ }),
31
+ parameters: {
32
+ docs: {
33
+ source: {
34
+ code: `
35
+ <TriggerButton appearance="gray">
36
+ All accounts
37
+ </TriggerButton>
38
+ `
39
+ }
40
+ }
41
+ }
42
+ };
43
+ export const SizeShowcase = {
44
+ render: () => /*#__PURE__*/_jsxs(Box, {
45
+ lx: {
46
+ flexDirection: 'row',
47
+ alignItems: 'center',
48
+ gap: 's16'
49
+ },
50
+ children: [/*#__PURE__*/_jsx(TriggerButton, {
51
+ size: "sm",
52
+ icon: /*#__PURE__*/_jsx(Star, {
53
+ size: 20
54
+ }),
55
+ iconType: "flat",
56
+ children: "Small"
57
+ }), /*#__PURE__*/_jsx(TriggerButton, {
58
+ size: "md",
59
+ icon: /*#__PURE__*/_jsx(Star, {
60
+ size: 20
61
+ }),
62
+ iconType: "flat",
63
+ children: "Medium"
64
+ })]
65
+ })
66
+ };
67
+ export const IconTypeShowcase = {
68
+ render: () => /*#__PURE__*/_jsxs(Box, {
69
+ lx: {
70
+ flexDirection: 'column',
71
+ gap: 's16'
72
+ },
73
+ children: [/*#__PURE__*/_jsxs(Box, {
74
+ lx: {
75
+ flexDirection: 'row',
76
+ alignItems: 'center',
77
+ gap: 's16'
78
+ },
79
+ children: [/*#__PURE__*/_jsx(TriggerButton, {
80
+ icon: /*#__PURE__*/_jsx(Settings, {
81
+ size: 20
82
+ }),
83
+ iconType: "flat",
84
+ appearance: "gray",
85
+ children: "Flat icon (md)"
86
+ }), /*#__PURE__*/_jsx(TriggerButton, {
87
+ icon: /*#__PURE__*/_jsx(CryptoIcon, {
88
+ ledgerId: "bitcoin",
89
+ ticker: "BTC",
90
+ size: "32px"
91
+ }),
92
+ iconType: "rounded",
93
+ appearance: "gray",
94
+ children: "Rounded icon (md)"
95
+ }), /*#__PURE__*/_jsx(TriggerButton, {
96
+ appearance: "gray",
97
+ children: "No icon (md)"
98
+ })]
99
+ }), /*#__PURE__*/_jsxs(Box, {
100
+ lx: {
101
+ flexDirection: 'row',
102
+ alignItems: 'center',
103
+ gap: 's16'
104
+ },
105
+ children: [/*#__PURE__*/_jsx(TriggerButton, {
106
+ icon: /*#__PURE__*/_jsx(Settings, {
107
+ size: 20
108
+ }),
109
+ iconType: "flat",
110
+ appearance: "gray",
111
+ size: "sm",
112
+ children: "Flat icon (sm)"
113
+ }), /*#__PURE__*/_jsx(TriggerButton, {
114
+ icon: /*#__PURE__*/_jsx(CryptoIcon, {
115
+ ledgerId: "bitcoin",
116
+ ticker: "BTC",
117
+ size: "24px"
118
+ }),
119
+ iconType: "rounded",
120
+ appearance: "gray",
121
+ size: "sm",
122
+ children: "Rounded icon (sm)"
123
+ }), /*#__PURE__*/_jsx(TriggerButton, {
124
+ appearance: "gray",
125
+ size: "sm",
126
+ children: "No icon (sm)"
127
+ })]
128
+ })]
129
+ })
130
+ };
131
+ export const AppearanceShowcase = {
132
+ render: () => {
133
+ const appearances = ['gray', 'transparent', 'no-background'];
134
+ return /*#__PURE__*/_jsx(Box, {
135
+ lx: {
136
+ flexDirection: 'column',
137
+ gap: 's16',
138
+ padding: 's16'
139
+ },
140
+ children: appearances.map(appearance => /*#__PURE__*/_jsxs(Box, {
141
+ lx: {
142
+ flexDirection: 'row',
143
+ alignItems: 'center',
144
+ gap: 's16'
145
+ },
146
+ children: [/*#__PURE__*/_jsx(TriggerButton, {
147
+ appearance: appearance,
148
+ children: appearance
149
+ }), /*#__PURE__*/_jsx(TriggerButton, {
150
+ appearance: appearance,
151
+ icon: /*#__PURE__*/_jsx(Settings, {
152
+ size: 20
153
+ }),
154
+ iconType: "flat",
155
+ children: appearance
156
+ }), /*#__PURE__*/_jsx(TriggerButton, {
157
+ appearance: appearance,
158
+ icon: /*#__PURE__*/_jsx(CryptoIcon, {
159
+ ledgerId: "bitcoin",
160
+ ticker: "BTC",
161
+ size: "32px"
162
+ }),
163
+ iconType: "rounded",
164
+ children: appearance
165
+ })]
166
+ }, appearance))
167
+ });
168
+ }
169
+ };
170
+ //# sourceMappingURL=TriggerButton.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CryptoIcon","Settings","Star","Box","TriggerButton","jsx","_jsx","jsxs","_jsxs","meta","component","title","parameters","layout","docs","source","language","format","type","Base","args","children","appearance","render","code","SizeShowcase","lx","flexDirection","alignItems","gap","size","icon","iconType","IconTypeShowcase","ledgerId","ticker","AppearanceShowcase","appearances","padding","map"],"sourceRoot":"../../../../../src","sources":["lib/Components/TriggerButton/TriggerButton.stories.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ import { describe, it, expect, jest } from '@jest/globals';
4
+ import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
5
+ import { render, screen, fireEvent } from '@testing-library/react-native';
6
+ import React, { createRef } from 'react';
7
+ import { View } from 'react-native';
8
+ import { Settings } from "../../Symbols/index.js";
9
+ import { ThemeProvider } from "../ThemeProvider/ThemeProvider.js";
10
+ import { TriggerButton } from "./TriggerButton.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ const renderWithProvider = component => {
13
+ return render(/*#__PURE__*/_jsx(ThemeProvider, {
14
+ themes: ledgerLiveThemes,
15
+ colorScheme: "dark",
16
+ locale: "en",
17
+ children: component
18
+ }));
19
+ };
20
+ describe('TriggerButton', () => {
21
+ describe('Rendering', () => {
22
+ it('should render with label text and correct accessibility role', () => {
23
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
24
+ testID: "trigger",
25
+ children: "All accounts"
26
+ }));
27
+ const trigger = screen.getByTestId('trigger');
28
+ expect(trigger).toBeTruthy();
29
+ expect(screen.getByText('All accounts')).toBeTruthy();
30
+ expect(trigger.props.accessibilityRole).toBe('button');
31
+ });
32
+ it('should always render a chevron icon', () => {
33
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
34
+ testID: "trigger",
35
+ children: "Label"
36
+ }));
37
+ expect(screen.getByTestId('button-trigger-chevron')).toBeTruthy();
38
+ });
39
+ it.each(['gray', 'transparent', 'no-background'])('should render without errors for appearance "%s"', appearance => {
40
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
41
+ testID: "trigger",
42
+ appearance: appearance,
43
+ children: "Label"
44
+ }));
45
+ expect(screen.getByTestId('trigger')).toBeTruthy();
46
+ });
47
+ it.each(['sm', 'md'])('should render without errors for size "%s"', size => {
48
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
49
+ testID: "trigger",
50
+ size: size,
51
+ children: "Label"
52
+ }));
53
+ expect(screen.getByTestId('trigger')).toBeTruthy();
54
+ });
55
+ });
56
+ describe('Icons', () => {
57
+ it('should render with a flat interface icon', () => {
58
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
59
+ testID: "trigger",
60
+ icon: /*#__PURE__*/_jsx(Settings, {
61
+ size: 20,
62
+ testID: "icon"
63
+ }),
64
+ iconType: "flat",
65
+ children: "Network"
66
+ }));
67
+ expect(screen.getByTestId('icon')).toBeTruthy();
68
+ expect(screen.getByText('Network')).toBeTruthy();
69
+ });
70
+ it('should render with a rounded icon', () => {
71
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
72
+ testID: "trigger",
73
+ icon: /*#__PURE__*/_jsx(View, {
74
+ testID: "crypto-icon"
75
+ }),
76
+ iconType: "rounded",
77
+ children: "Bitcoin"
78
+ }));
79
+ expect(screen.getByTestId('crypto-icon')).toBeTruthy();
80
+ expect(screen.getByText('Bitcoin')).toBeTruthy();
81
+ });
82
+ });
83
+ describe('States', () => {
84
+ it('should be disabled when disabled prop is true', () => {
85
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
86
+ testID: "trigger",
87
+ disabled: true,
88
+ children: "Label"
89
+ }));
90
+ const trigger = screen.getByTestId('trigger');
91
+ expect(trigger.props.accessibilityState.disabled).toBe(true);
92
+ });
93
+ });
94
+ describe('Interactions', () => {
95
+ it('should call onPress when pressed', () => {
96
+ const handlePress = jest.fn();
97
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
98
+ testID: "trigger",
99
+ onPress: handlePress,
100
+ children: "Press me"
101
+ }));
102
+ fireEvent.press(screen.getByTestId('trigger'));
103
+ expect(handlePress).toHaveBeenCalledTimes(1);
104
+ });
105
+ it('should not call onPress when disabled', () => {
106
+ const handlePress = jest.fn();
107
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
108
+ testID: "trigger",
109
+ onPress: handlePress,
110
+ disabled: true,
111
+ children: "Disabled"
112
+ }));
113
+ fireEvent.press(screen.getByTestId('trigger'));
114
+ expect(handlePress).not.toHaveBeenCalled();
115
+ });
116
+ });
117
+ describe('Ref Forwarding', () => {
118
+ it('should forward ref', () => {
119
+ const ref = /*#__PURE__*/createRef();
120
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
121
+ ref: ref,
122
+ testID: "trigger",
123
+ children: "Label"
124
+ }));
125
+ expect(ref.current).toBeTruthy();
126
+ });
127
+ });
128
+ describe('Styling', () => {
129
+ it('should apply custom style and lx props', () => {
130
+ const customStyle = {
131
+ marginTop: 16
132
+ };
133
+ renderWithProvider(/*#__PURE__*/_jsx(TriggerButton, {
134
+ testID: "trigger",
135
+ style: customStyle,
136
+ lx: {
137
+ padding: 's8'
138
+ },
139
+ children: "Styled"
140
+ }));
141
+ const trigger = screen.getByTestId('trigger');
142
+ expect(trigger.props.style).toBeDefined();
143
+ });
144
+ });
145
+ });
146
+ //# sourceMappingURL=TriggerButton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","it","expect","jest","ledgerLiveThemes","render","screen","fireEvent","React","createRef","View","Settings","ThemeProvider","TriggerButton","jsx","_jsx","renderWithProvider","component","themes","colorScheme","locale","children","testID","trigger","getByTestId","toBeTruthy","getByText","props","accessibilityRole","toBe","each","appearance","size","icon","iconType","disabled","accessibilityState","handlePress","fn","onPress","press","toHaveBeenCalledTimes","not","toHaveBeenCalled","ref","current","customStyle","marginTop","style","lx","padding","toBeDefined"],"sourceRoot":"../../../../../src","sources":["lib/Components/TriggerButton/TriggerButton.test.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { TriggerButton } from "./TriggerButton.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TriggerButton"],"sourceRoot":"../../../../../src","sources":["lib/Components/TriggerButton/index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB;AAC/C,cAAc,YAAS","ignoreList":[]}