@ledgerhq/lumen-ui-rnative 0.1.22 → 0.1.24

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 (522) hide show
  1. package/dist/module/i18n/I18nProvider.js.map +1 -1
  2. package/dist/module/i18n/i18n.js.map +1 -1
  3. package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js.map +1 -1
  4. package/dist/module/lib/Components/BaseInput/BaseInput.js +1 -1
  5. package/dist/module/lib/Components/BaseInput/BaseInput.js.map +1 -1
  6. package/dist/module/lib/Components/BottomSheet/BottomSheet.js.map +1 -1
  7. package/dist/module/lib/Components/BottomSheet/BottomSheet.test.js.map +1 -1
  8. package/dist/module/lib/Components/Card/Card.js +1 -1
  9. package/dist/module/lib/Components/Card/Card.js.map +1 -1
  10. package/dist/module/lib/Components/Checkbox/BaseCheckbox.js.map +1 -1
  11. package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js.map +1 -1
  12. package/dist/module/lib/Components/ListItem/ListItem.js +57 -27
  13. package/dist/module/lib/Components/ListItem/ListItem.js.map +1 -1
  14. package/dist/module/lib/Components/ListItem/ListItem.mdx +15 -7
  15. package/dist/module/lib/Components/ListItem/ListItem.stories.js +497 -283
  16. package/dist/module/lib/Components/ListItem/ListItem.stories.js.map +1 -1
  17. package/dist/module/lib/Components/ListItem/ListItem.test.js +153 -0
  18. package/dist/module/lib/Components/ListItem/ListItem.test.js.map +1 -0
  19. package/dist/module/lib/Components/{TriggerButton/TriggerButton.js → MediaButton/MediaButton.js} +13 -10
  20. package/dist/module/lib/Components/MediaButton/MediaButton.js.map +1 -0
  21. package/{src/lib/Components/TriggerButton/TriggerButton.mdx → dist/module/lib/Components/MediaButton/MediaButton.mdx} +10 -10
  22. package/dist/module/lib/Components/{TriggerButton/TriggerButton.stories.js → MediaButton/MediaButton.stories.js} +18 -18
  23. package/dist/module/lib/Components/MediaButton/MediaButton.stories.js.map +1 -0
  24. package/dist/module/lib/Components/{TriggerButton/TriggerButton.test.js → MediaButton/MediaButton.test.js} +14 -14
  25. package/dist/module/lib/Components/MediaButton/MediaButton.test.js.map +1 -0
  26. package/dist/module/lib/Components/MediaButton/index.js +5 -0
  27. package/dist/module/lib/Components/MediaButton/index.js.map +1 -0
  28. package/dist/module/lib/Components/MediaButton/types.js.map +1 -0
  29. package/dist/module/lib/Components/NavBar/NavBar.js.map +1 -1
  30. package/dist/module/lib/Components/OptionList/OptionList.figma.js +28 -0
  31. package/dist/module/lib/Components/OptionList/OptionList.figma.js.map +1 -0
  32. package/dist/module/lib/Components/OptionList/OptionList.js +452 -0
  33. package/dist/module/lib/Components/OptionList/OptionList.js.map +1 -0
  34. package/dist/module/lib/Components/OptionList/OptionList.mdx +304 -0
  35. package/dist/module/lib/Components/OptionList/OptionList.stories.js +735 -0
  36. package/dist/module/lib/Components/OptionList/OptionList.stories.js.map +1 -0
  37. package/dist/module/lib/Components/OptionList/OptionList.test.js +443 -0
  38. package/dist/module/lib/Components/OptionList/OptionList.test.js.map +1 -0
  39. package/dist/module/lib/Components/OptionList/index.js +5 -0
  40. package/dist/module/lib/Components/OptionList/index.js.map +1 -0
  41. package/dist/module/lib/Components/OptionList/types.js +4 -0
  42. package/dist/module/lib/Components/OptionList/types.js.map +1 -0
  43. package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.js +36 -0
  44. package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.js.map +1 -0
  45. package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.test.js +84 -0
  46. package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.test.js.map +1 -0
  47. package/dist/module/lib/Components/SegmentedControl/usePillLayout.js.map +1 -1
  48. package/dist/module/lib/Components/Select/GlobalSelectContext.js.map +1 -1
  49. package/dist/module/lib/Components/Select/Select.js.map +1 -1
  50. package/dist/module/lib/Components/Slot/Slot.js.map +1 -1
  51. package/dist/module/lib/Components/Spinner/Spinner.js.map +1 -1
  52. package/dist/module/lib/Components/Spot/Spot.js.map +1 -1
  53. package/dist/module/lib/Components/TabBar/TabBar.js +4 -4
  54. package/dist/module/lib/Components/TabBar/TabBar.js.map +1 -1
  55. package/dist/module/lib/Components/Tooltip/GlobalTooltipContext.js.map +1 -1
  56. package/dist/module/lib/Components/Tooltip/Tooltip.js.map +1 -1
  57. package/dist/module/lib/Components/Utility/Gradient/LinearGradient/LinearGradient.test.js.map +1 -1
  58. package/dist/module/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.test.js.map +1 -1
  59. package/dist/module/lib/Components/Utility/Pressable/Pressable.test.js.map +1 -1
  60. package/dist/module/lib/Components/index.js +2 -1
  61. package/dist/module/lib/Components/index.js.map +1 -1
  62. package/dist/module/lib/utils/components/InjectStylesIntoChildren.js.map +1 -1
  63. package/dist/module/lib/utils/constants/constants.js.map +1 -1
  64. package/dist/module/lib/utils/react/extractTextFromChildren.js.map +1 -1
  65. package/dist/module/lib/utils/useControllableState/useControllableState.js.map +1 -1
  66. package/dist/module/styles/hooks/useStyleSheet.js.map +1 -1
  67. package/dist/module/styles/hooks/useStyleSheet.test.js.map +1 -1
  68. package/dist/module/styles/lx/createStyledPressable.test.js.map +1 -1
  69. package/dist/module/styles/lx/createStyledText.test.js.map +1 -1
  70. package/dist/module/styles/lx/createStyledView.js.map +1 -1
  71. package/dist/module/styles/lx/createStyledView.test.js.map +1 -1
  72. package/dist/module/styles/provider/LumenStyleSheetProvider.js.map +1 -1
  73. package/dist/module/styles/provider/LumenStyleSheetProvider.test.js.map +1 -1
  74. package/dist/module/utils/icon-template.js +0 -1
  75. package/dist/module/utils/icon-template.js.map +1 -1
  76. package/dist/typescript/src/i18n/I18nProvider.d.ts +1 -1
  77. package/dist/typescript/src/i18n/I18nProvider.d.ts.map +1 -1
  78. package/dist/typescript/src/i18n/i18n.d.ts +1 -1
  79. package/dist/typescript/src/i18n/i18n.d.ts.map +1 -1
  80. package/dist/typescript/src/lib/Animations/Pulse/Pulse.d.ts +1 -1
  81. package/dist/typescript/src/lib/Animations/Pulse/Pulse.d.ts.map +1 -1
  82. package/dist/typescript/src/lib/Animations/Pulse/types.d.ts +2 -2
  83. package/dist/typescript/src/lib/Animations/Pulse/types.d.ts.map +1 -1
  84. package/dist/typescript/src/lib/Animations/Spin/Spin.d.ts +1 -1
  85. package/dist/typescript/src/lib/Animations/Spin/Spin.d.ts.map +1 -1
  86. package/dist/typescript/src/lib/Animations/Spin/types.d.ts +2 -2
  87. package/dist/typescript/src/lib/Animations/Spin/types.d.ts.map +1 -1
  88. package/dist/typescript/src/lib/Animations/types.d.ts +2 -2
  89. package/dist/typescript/src/lib/Animations/types.d.ts.map +1 -1
  90. package/dist/typescript/src/lib/Animations/useTimingConfig.d.ts +1 -1
  91. package/dist/typescript/src/lib/Animations/useTimingConfig.d.ts.map +1 -1
  92. package/dist/typescript/src/lib/Components/AddressInput/types.d.ts +2 -2
  93. package/dist/typescript/src/lib/Components/AddressInput/types.d.ts.map +1 -1
  94. package/dist/typescript/src/lib/Components/AmountDisplay/AmountDisplay.d.ts +1 -1
  95. package/dist/typescript/src/lib/Components/AmountDisplay/AmountDisplay.d.ts.map +1 -1
  96. package/dist/typescript/src/lib/Components/AmountDisplay/types.d.ts +2 -2
  97. package/dist/typescript/src/lib/Components/AmountDisplay/types.d.ts.map +1 -1
  98. package/dist/typescript/src/lib/Components/AmountInput/types.d.ts +2 -2
  99. package/dist/typescript/src/lib/Components/AmountInput/types.d.ts.map +1 -1
  100. package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts +1 -1
  101. package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts.map +1 -1
  102. package/dist/typescript/src/lib/Components/Avatar/types.d.ts +1 -1
  103. package/dist/typescript/src/lib/Components/Avatar/types.d.ts.map +1 -1
  104. package/dist/typescript/src/lib/Components/Banner/Banner.d.ts +1 -1
  105. package/dist/typescript/src/lib/Components/Banner/Banner.d.ts.map +1 -1
  106. package/dist/typescript/src/lib/Components/Banner/types.d.ts +2 -2
  107. package/dist/typescript/src/lib/Components/Banner/types.d.ts.map +1 -1
  108. package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
  109. package/dist/typescript/src/lib/Components/BaseInput/types.d.ts +2 -2
  110. package/dist/typescript/src/lib/Components/BaseInput/types.d.ts.map +1 -1
  111. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheet.d.ts +1 -1
  112. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheet.d.ts.map +1 -1
  113. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts +1 -1
  114. package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts.map +1 -1
  115. package/dist/typescript/src/lib/Components/BottomSheet/CustomBackdrop.d.ts +1 -1
  116. package/dist/typescript/src/lib/Components/BottomSheet/CustomBackdrop.d.ts.map +1 -1
  117. package/dist/typescript/src/lib/Components/BottomSheet/CustomHandle.d.ts +2 -2
  118. package/dist/typescript/src/lib/Components/BottomSheet/CustomHandle.d.ts.map +1 -1
  119. package/dist/typescript/src/lib/Components/BottomSheet/Scrollables.d.ts +1 -1
  120. package/dist/typescript/src/lib/Components/BottomSheet/Scrollables.d.ts.map +1 -1
  121. package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts +4 -4
  122. package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts.map +1 -1
  123. package/dist/typescript/src/lib/Components/BottomSheet/useBottomSheetRef.d.ts +1 -1
  124. package/dist/typescript/src/lib/Components/BottomSheet/useBottomSheetRef.d.ts.map +1 -1
  125. package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts +1 -1
  126. package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
  127. package/dist/typescript/src/lib/Components/Button/Button.d.ts +1 -1
  128. package/dist/typescript/src/lib/Components/Button/Button.d.ts.map +1 -1
  129. package/dist/typescript/src/lib/Components/Button/types.d.ts +4 -4
  130. package/dist/typescript/src/lib/Components/Button/types.d.ts.map +1 -1
  131. package/dist/typescript/src/lib/Components/Card/Card.d.ts +2 -2
  132. package/dist/typescript/src/lib/Components/Card/Card.d.ts.map +1 -1
  133. package/dist/typescript/src/lib/Components/Card/types.d.ts +3 -3
  134. package/dist/typescript/src/lib/Components/Card/types.d.ts.map +1 -1
  135. package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts +1 -1
  136. package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts.map +1 -1
  137. package/dist/typescript/src/lib/Components/CardButton/types.d.ts +3 -3
  138. package/dist/typescript/src/lib/Components/CardButton/types.d.ts.map +1 -1
  139. package/dist/typescript/src/lib/Components/Checkbox/BaseCheckbox.d.ts +2 -2
  140. package/dist/typescript/src/lib/Components/Checkbox/BaseCheckbox.d.ts.map +1 -1
  141. package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts +1 -1
  142. package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts.map +1 -1
  143. package/dist/typescript/src/lib/Components/Checkbox/types.d.ts +1 -1
  144. package/dist/typescript/src/lib/Components/Checkbox/types.d.ts.map +1 -1
  145. package/dist/typescript/src/lib/Components/ContentBanner/ContentBanner.d.ts +1 -1
  146. package/dist/typescript/src/lib/Components/ContentBanner/ContentBanner.d.ts.map +1 -1
  147. package/dist/typescript/src/lib/Components/ContentBanner/types.d.ts +1 -1
  148. package/dist/typescript/src/lib/Components/ContentBanner/types.d.ts.map +1 -1
  149. package/dist/typescript/src/lib/Components/Divider/Divider.d.ts +1 -1
  150. package/dist/typescript/src/lib/Components/Divider/Divider.d.ts.map +1 -1
  151. package/dist/typescript/src/lib/Components/Divider/types.d.ts +1 -1
  152. package/dist/typescript/src/lib/Components/Divider/types.d.ts.map +1 -1
  153. package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts +3 -3
  154. package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts.map +1 -1
  155. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts +1 -1
  156. package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts.map +1 -1
  157. package/dist/typescript/src/lib/Components/Icon/Icon.d.ts +1 -1
  158. package/dist/typescript/src/lib/Components/Icon/Icon.d.ts.map +1 -1
  159. package/dist/typescript/src/lib/Components/Icon/createIcon.d.ts +2 -2
  160. package/dist/typescript/src/lib/Components/Icon/createIcon.d.ts.map +1 -1
  161. package/dist/typescript/src/lib/Components/Icon/types.d.ts +4 -4
  162. package/dist/typescript/src/lib/Components/Icon/types.d.ts.map +1 -1
  163. package/dist/typescript/src/lib/Components/IconButton/IconButton.d.ts +1 -1
  164. package/dist/typescript/src/lib/Components/IconButton/IconButton.d.ts.map +1 -1
  165. package/dist/typescript/src/lib/Components/IconButton/types.d.ts +1 -1
  166. package/dist/typescript/src/lib/Components/IconButton/types.d.ts.map +1 -1
  167. package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +1 -1
  168. package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
  169. package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts +4 -4
  170. package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
  171. package/dist/typescript/src/lib/Components/Label/Label.d.ts +1 -1
  172. package/dist/typescript/src/lib/Components/Label/Label.d.ts.map +1 -1
  173. package/dist/typescript/src/lib/Components/Label/types.d.ts +1 -1
  174. package/dist/typescript/src/lib/Components/Label/types.d.ts.map +1 -1
  175. package/dist/typescript/src/lib/Components/Link/Link.d.ts +1 -1
  176. package/dist/typescript/src/lib/Components/Link/Link.d.ts.map +1 -1
  177. package/dist/typescript/src/lib/Components/Link/types.d.ts +4 -4
  178. package/dist/typescript/src/lib/Components/Link/types.d.ts.map +1 -1
  179. package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts +9 -9
  180. package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts.map +1 -1
  181. package/dist/typescript/src/lib/Components/ListItem/types.d.ts +12 -8
  182. package/dist/typescript/src/lib/Components/ListItem/types.d.ts.map +1 -1
  183. package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts +1 -1
  184. package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts.map +1 -1
  185. package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts +2 -2
  186. package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts.map +1 -1
  187. package/dist/typescript/src/lib/Components/MediaButton/MediaButton.d.ts +23 -0
  188. package/dist/typescript/src/lib/Components/MediaButton/MediaButton.d.ts.map +1 -0
  189. package/dist/typescript/src/lib/Components/MediaButton/index.d.ts +3 -0
  190. package/dist/typescript/src/lib/Components/MediaButton/index.d.ts.map +1 -0
  191. package/dist/typescript/src/lib/Components/{TriggerButton → MediaButton}/types.d.ts +12 -7
  192. package/dist/typescript/src/lib/Components/MediaButton/types.d.ts.map +1 -0
  193. package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts +1 -1
  194. package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts.map +1 -1
  195. package/dist/typescript/src/lib/Components/MediaCard/types.d.ts +1 -1
  196. package/dist/typescript/src/lib/Components/MediaCard/types.d.ts.map +1 -1
  197. package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts +1 -1
  198. package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts.map +1 -1
  199. package/dist/typescript/src/lib/Components/MediaImage/types.d.ts +1 -1
  200. package/dist/typescript/src/lib/Components/MediaImage/types.d.ts.map +1 -1
  201. package/dist/typescript/src/lib/Components/NavBar/CoinCapsule.d.ts +1 -1
  202. package/dist/typescript/src/lib/Components/NavBar/CoinCapsule.d.ts.map +1 -1
  203. package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts +1 -1
  204. package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts.map +1 -1
  205. package/dist/typescript/src/lib/Components/NavBar/types.d.ts +4 -4
  206. package/dist/typescript/src/lib/Components/NavBar/types.d.ts.map +1 -1
  207. package/dist/typescript/src/lib/Components/OptionList/OptionList.d.ts +12 -0
  208. package/dist/typescript/src/lib/Components/OptionList/OptionList.d.ts.map +1 -0
  209. package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts +2 -0
  210. package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts.map +1 -0
  211. package/dist/typescript/src/lib/Components/OptionList/index.d.ts +3 -0
  212. package/dist/typescript/src/lib/Components/OptionList/index.d.ts.map +1 -0
  213. package/dist/typescript/src/lib/Components/OptionList/types.d.ts +97 -0
  214. package/dist/typescript/src/lib/Components/OptionList/types.d.ts.map +1 -0
  215. package/dist/typescript/src/lib/Components/OptionList/useOptionList/useOptionListItems.d.ts +12 -0
  216. package/dist/typescript/src/lib/Components/OptionList/useOptionList/useOptionListItems.d.ts.map +1 -0
  217. package/dist/typescript/src/lib/Components/PageIndicator/PageIndicator.d.ts +1 -1
  218. package/dist/typescript/src/lib/Components/PageIndicator/PageIndicator.d.ts.map +1 -1
  219. package/dist/typescript/src/lib/Components/PageIndicator/types.d.ts +1 -1
  220. package/dist/typescript/src/lib/Components/PageIndicator/types.d.ts.map +1 -1
  221. package/dist/typescript/src/lib/Components/SearchInput/types.d.ts +2 -2
  222. package/dist/typescript/src/lib/Components/SearchInput/types.d.ts.map +1 -1
  223. package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts +4 -4
  224. package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts.map +1 -1
  225. package/dist/typescript/src/lib/Components/SegmentedControl/usePillLayout.d.ts +3 -2
  226. package/dist/typescript/src/lib/Components/SegmentedControl/usePillLayout.d.ts.map +1 -1
  227. package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts +2 -2
  228. package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts.map +1 -1
  229. package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts +2 -2
  230. package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts.map +1 -1
  231. package/dist/typescript/src/lib/Components/Select/types.d.ts +4 -4
  232. package/dist/typescript/src/lib/Components/Select/types.d.ts.map +1 -1
  233. package/dist/typescript/src/lib/Components/Skeleton/types.d.ts +1 -1
  234. package/dist/typescript/src/lib/Components/Skeleton/types.d.ts.map +1 -1
  235. package/dist/typescript/src/lib/Components/Slot/Slot.d.ts +2 -2
  236. package/dist/typescript/src/lib/Components/Slot/Slot.d.ts.map +1 -1
  237. package/dist/typescript/src/lib/Components/Spinner/Spinner.d.ts +1 -1
  238. package/dist/typescript/src/lib/Components/Spinner/Spinner.d.ts.map +1 -1
  239. package/dist/typescript/src/lib/Components/Spinner/types.d.ts +3 -3
  240. package/dist/typescript/src/lib/Components/Spinner/types.d.ts.map +1 -1
  241. package/dist/typescript/src/lib/Components/Spot/Spot.d.ts +1 -1
  242. package/dist/typescript/src/lib/Components/Spot/Spot.d.ts.map +1 -1
  243. package/dist/typescript/src/lib/Components/Spot/types.d.ts +3 -3
  244. package/dist/typescript/src/lib/Components/Spot/types.d.ts.map +1 -1
  245. package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts +1 -1
  246. package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts.map +1 -1
  247. package/dist/typescript/src/lib/Components/Stepper/types.d.ts +1 -1
  248. package/dist/typescript/src/lib/Components/Stepper/types.d.ts.map +1 -1
  249. package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts +1 -1
  250. package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts.map +1 -1
  251. package/dist/typescript/src/lib/Components/Subheader/types.d.ts +3 -3
  252. package/dist/typescript/src/lib/Components/Subheader/types.d.ts.map +1 -1
  253. package/dist/typescript/src/lib/Components/Switch/BaseSwitch.d.ts +2 -2
  254. package/dist/typescript/src/lib/Components/Switch/BaseSwitch.d.ts.map +1 -1
  255. package/dist/typescript/src/lib/Components/Switch/Switch.d.ts +1 -1
  256. package/dist/typescript/src/lib/Components/Switch/Switch.d.ts.map +1 -1
  257. package/dist/typescript/src/lib/Components/Switch/types.d.ts +1 -1
  258. package/dist/typescript/src/lib/Components/Switch/types.d.ts.map +1 -1
  259. package/dist/typescript/src/lib/Components/TabBar/TabBar.d.ts +1 -1
  260. package/dist/typescript/src/lib/Components/TabBar/TabBar.d.ts.map +1 -1
  261. package/dist/typescript/src/lib/Components/TabBar/types.d.ts +4 -4
  262. package/dist/typescript/src/lib/Components/TabBar/types.d.ts.map +1 -1
  263. package/dist/typescript/src/lib/Components/Tag/Tag.d.ts +1 -1
  264. package/dist/typescript/src/lib/Components/Tag/Tag.d.ts.map +1 -1
  265. package/dist/typescript/src/lib/Components/Tag/types.d.ts +3 -3
  266. package/dist/typescript/src/lib/Components/Tag/types.d.ts.map +1 -1
  267. package/dist/typescript/src/lib/Components/TextInput/types.d.ts +2 -2
  268. package/dist/typescript/src/lib/Components/TextInput/types.d.ts.map +1 -1
  269. package/dist/typescript/src/lib/Components/ThemeProvider/ThemeProvider.d.ts +1 -1
  270. package/dist/typescript/src/lib/Components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  271. package/dist/typescript/src/lib/Components/ThemeProvider/types.d.ts +4 -4
  272. package/dist/typescript/src/lib/Components/ThemeProvider/types.d.ts.map +1 -1
  273. package/dist/typescript/src/lib/Components/Tile/Tile.d.ts +1 -1
  274. package/dist/typescript/src/lib/Components/Tile/Tile.d.ts.map +1 -1
  275. package/dist/typescript/src/lib/Components/Tile/types.d.ts +2 -2
  276. package/dist/typescript/src/lib/Components/Tile/types.d.ts.map +1 -1
  277. package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts +1 -1
  278. package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts.map +1 -1
  279. package/dist/typescript/src/lib/Components/TileButton/types.d.ts +4 -4
  280. package/dist/typescript/src/lib/Components/TileButton/types.d.ts.map +1 -1
  281. package/dist/typescript/src/lib/Components/Tooltip/GlobalTooltipContext.d.ts +1 -1
  282. package/dist/typescript/src/lib/Components/Tooltip/GlobalTooltipContext.d.ts.map +1 -1
  283. package/dist/typescript/src/lib/Components/Tooltip/TooltipContext.d.ts +1 -1
  284. package/dist/typescript/src/lib/Components/Tooltip/TooltipContext.d.ts.map +1 -1
  285. package/dist/typescript/src/lib/Components/Tooltip/types.d.ts +2 -2
  286. package/dist/typescript/src/lib/Components/Tooltip/types.d.ts.map +1 -1
  287. package/dist/typescript/src/lib/Components/Utility/Box/types.d.ts +1 -1
  288. package/dist/typescript/src/lib/Components/Utility/Box/types.d.ts.map +1 -1
  289. package/dist/typescript/src/lib/Components/Utility/Gradient/LinearGradient/types.d.ts +3 -3
  290. package/dist/typescript/src/lib/Components/Utility/Gradient/LinearGradient/types.d.ts.map +1 -1
  291. package/dist/typescript/src/lib/Components/Utility/Gradient/RadialGradient/types.d.ts +3 -3
  292. package/dist/typescript/src/lib/Components/Utility/Gradient/RadialGradient/types.d.ts.map +1 -1
  293. package/dist/typescript/src/lib/Components/Utility/Pressable/types.d.ts +1 -1
  294. package/dist/typescript/src/lib/Components/Utility/Pressable/types.d.ts.map +1 -1
  295. package/dist/typescript/src/lib/Components/Utility/Text/types.d.ts +1 -1
  296. package/dist/typescript/src/lib/Components/Utility/Text/types.d.ts.map +1 -1
  297. package/dist/typescript/src/lib/Components/Wrap/Wrap.d.ts +1 -1
  298. package/dist/typescript/src/lib/Components/Wrap/Wrap.d.ts.map +1 -1
  299. package/dist/typescript/src/lib/Components/Wrap/types.d.ts +1 -1
  300. package/dist/typescript/src/lib/Components/Wrap/types.d.ts.map +1 -1
  301. package/dist/typescript/src/lib/Components/index.d.ts +2 -1
  302. package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
  303. package/dist/typescript/src/lib/types/index.d.ts +1 -1
  304. package/dist/typescript/src/lib/types/index.d.ts.map +1 -1
  305. package/dist/typescript/src/lib/utils/components/InjectStylesIntoChildren.d.ts +2 -2
  306. package/dist/typescript/src/lib/utils/components/InjectStylesIntoChildren.d.ts.map +1 -1
  307. package/dist/typescript/src/lib/utils/constants/constants.d.ts.map +1 -1
  308. package/dist/typescript/src/lib/utils/react/extractTextFromChildren.d.ts +1 -1
  309. package/dist/typescript/src/lib/utils/react/extractTextFromChildren.d.ts.map +1 -1
  310. package/dist/typescript/src/lib/utils/useControllableState/useControllableState.d.ts +1 -1
  311. package/dist/typescript/src/lib/utils/useControllableState/useControllableState.d.ts.map +1 -1
  312. package/dist/typescript/src/styles/hooks/useStyleSheet.d.ts +1 -1
  313. package/dist/typescript/src/styles/hooks/useStyleSheet.d.ts.map +1 -1
  314. package/dist/typescript/src/styles/lx/areLxPropsEqual.d.ts +1 -1
  315. package/dist/typescript/src/styles/lx/areLxPropsEqual.d.ts.map +1 -1
  316. package/dist/typescript/src/styles/lx/createStyledPressable.d.ts +1 -1
  317. package/dist/typescript/src/styles/lx/createStyledPressable.d.ts.map +1 -1
  318. package/dist/typescript/src/styles/lx/createStyledText.d.ts +1 -1
  319. package/dist/typescript/src/styles/lx/createStyledText.d.ts.map +1 -1
  320. package/dist/typescript/src/styles/lx/createStyledView.d.ts +1 -1
  321. package/dist/typescript/src/styles/lx/createStyledView.d.ts.map +1 -1
  322. package/dist/typescript/src/styles/lx/resolveConfig.d.ts +1 -1
  323. package/dist/typescript/src/styles/lx/resolveConfig.d.ts.map +1 -1
  324. package/dist/typescript/src/styles/provider/LumenStyleSheetProvider.d.ts +1 -1
  325. package/dist/typescript/src/styles/provider/LumenStyleSheetProvider.d.ts.map +1 -1
  326. package/dist/typescript/src/styles/provider/types.d.ts +3 -3
  327. package/dist/typescript/src/styles/provider/types.d.ts.map +1 -1
  328. package/dist/typescript/src/styles/theme/createStylesheetTheme.d.ts +1 -1
  329. package/dist/typescript/src/styles/theme/createStylesheetTheme.d.ts.map +1 -1
  330. package/dist/typescript/src/styles/theme/resolvers/resolveFontWeights.d.ts +1 -1
  331. package/dist/typescript/src/styles/theme/resolvers/resolveFontWeights.d.ts.map +1 -1
  332. package/dist/typescript/src/styles/theme/resolvers/resolveNegativeSpacing.d.ts +2 -2
  333. package/dist/typescript/src/styles/theme/resolvers/resolveNegativeSpacing.d.ts.map +1 -1
  334. package/dist/typescript/src/styles/types/factories.types.d.ts +3 -3
  335. package/dist/typescript/src/styles/types/factories.types.d.ts.map +1 -1
  336. package/dist/typescript/src/styles/types/theme.types.d.ts +8 -7
  337. package/dist/typescript/src/styles/types/theme.types.d.ts.map +1 -1
  338. package/dist/typescript/src/utils/icon-template.d.ts +1 -1
  339. package/dist/typescript/src/utils/icon-template.d.ts.map +1 -1
  340. package/package.json +2 -2
  341. package/src/i18n/I18nProvider.tsx +2 -1
  342. package/src/i18n/i18n.ts +2 -5
  343. package/src/lib/Animations/Pulse/Pulse.tsx +2 -2
  344. package/src/lib/Animations/Pulse/types.ts +2 -2
  345. package/src/lib/Animations/Spin/Spin.tsx +2 -2
  346. package/src/lib/Animations/Spin/types.ts +2 -2
  347. package/src/lib/Animations/types.ts +2 -2
  348. package/src/lib/Animations/useTimingConfig.ts +1 -1
  349. package/src/lib/Components/AddressInput/AddressInput.stories.tsx +1 -1
  350. package/src/lib/Components/AddressInput/types.ts +2 -2
  351. package/src/lib/Components/AmountDisplay/AmountDisplay.test.tsx +1 -1
  352. package/src/lib/Components/AmountDisplay/AmountDisplay.tsx +3 -3
  353. package/src/lib/Components/AmountDisplay/types.ts +2 -2
  354. package/src/lib/Components/AmountInput/types.ts +2 -2
  355. package/src/lib/Components/Avatar/Avatar.stories.tsx +1 -1
  356. package/src/lib/Components/Avatar/Avatar.tsx +1 -1
  357. package/src/lib/Components/Avatar/types.ts +1 -1
  358. package/src/lib/Components/Banner/Banner.tsx +3 -3
  359. package/src/lib/Components/Banner/types.ts +2 -2
  360. package/src/lib/Components/BaseInput/BaseInput.tsx +2 -1
  361. package/src/lib/Components/BaseInput/types.ts +5 -5
  362. package/src/lib/Components/BottomSheet/BottomSheet.test.tsx +2 -1
  363. package/src/lib/Components/BottomSheet/BottomSheet.tsx +3 -5
  364. package/src/lib/Components/BottomSheet/BottomSheetHeader.tsx +1 -1
  365. package/src/lib/Components/BottomSheet/CustomBackdrop.tsx +1 -1
  366. package/src/lib/Components/BottomSheet/CustomHandle.tsx +2 -2
  367. package/src/lib/Components/BottomSheet/Scrollables.tsx +2 -2
  368. package/src/lib/Components/BottomSheet/types.ts +4 -4
  369. package/src/lib/Components/BottomSheet/useBottomSheetRef.ts +1 -1
  370. package/src/lib/Components/Button/BaseButton.test.tsx +1 -1
  371. package/src/lib/Components/Button/BaseButton.tsx +3 -3
  372. package/src/lib/Components/Button/Button.tsx +1 -1
  373. package/src/lib/Components/Button/types.ts +4 -4
  374. package/src/lib/Components/Card/Card.test.tsx +1 -1
  375. package/src/lib/Components/Card/Card.tsx +5 -3
  376. package/src/lib/Components/Card/types.ts +3 -3
  377. package/src/lib/Components/CardButton/CardButton.tsx +1 -1
  378. package/src/lib/Components/CardButton/types.ts +3 -3
  379. package/src/lib/Components/Checkbox/BaseCheckbox.tsx +4 -8
  380. package/src/lib/Components/Checkbox/Checkbox.tsx +1 -1
  381. package/src/lib/Components/Checkbox/types.ts +1 -1
  382. package/src/lib/Components/ContentBanner/ContentBanner.tsx +1 -1
  383. package/src/lib/Components/ContentBanner/types.ts +1 -1
  384. package/src/lib/Components/Divider/Divider.tsx +1 -1
  385. package/src/lib/Components/Divider/types.ts +1 -1
  386. package/src/lib/Components/DotSymbol/DotSymbol.tsx +3 -3
  387. package/src/lib/Components/DotSymbol/types.ts +1 -1
  388. package/src/lib/Components/Icon/Icon.tsx +2 -2
  389. package/src/lib/Components/Icon/createIcon.ts +2 -2
  390. package/src/lib/Components/Icon/types.ts +4 -4
  391. package/src/lib/Components/IconButton/IconButton.tsx +1 -1
  392. package/src/lib/Components/IconButton/types.ts +1 -1
  393. package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +4 -3
  394. package/src/lib/Components/InteractiveIcon/types.ts +4 -4
  395. package/src/lib/Components/Label/Label.tsx +1 -1
  396. package/src/lib/Components/Label/types.ts +1 -1
  397. package/src/lib/Components/Link/Link.test.tsx +1 -1
  398. package/src/lib/Components/Link/Link.tsx +2 -2
  399. package/src/lib/Components/Link/types.ts +4 -4
  400. package/src/lib/Components/ListItem/ListItem.mdx +15 -7
  401. package/src/lib/Components/ListItem/ListItem.stories.tsx +354 -220
  402. package/src/lib/Components/ListItem/ListItem.test.tsx +152 -0
  403. package/src/lib/Components/ListItem/ListItem.tsx +64 -28
  404. package/src/lib/Components/ListItem/types.ts +12 -9
  405. package/src/lib/Components/MediaBanner/MediaBanner.tsx +1 -1
  406. package/src/lib/Components/MediaBanner/types.ts +2 -2
  407. package/{dist/module/lib/Components/TriggerButton/TriggerButton.mdx → src/lib/Components/MediaButton/MediaButton.mdx} +10 -10
  408. package/src/lib/Components/{TriggerButton/TriggerButton.stories.tsx → MediaButton/MediaButton.stories.tsx} +28 -28
  409. package/src/lib/Components/{TriggerButton/TriggerButton.test.tsx → MediaButton/MediaButton.test.tsx} +24 -23
  410. package/src/lib/Components/{TriggerButton/TriggerButton.tsx → MediaButton/MediaButton.tsx} +28 -22
  411. package/src/lib/Components/MediaButton/index.ts +2 -0
  412. package/src/lib/Components/{TriggerButton → MediaButton}/types.ts +12 -7
  413. package/src/lib/Components/MediaCard/MediaCard.tsx +1 -1
  414. package/src/lib/Components/MediaCard/types.ts +1 -1
  415. package/src/lib/Components/MediaImage/MediaImage.tsx +1 -1
  416. package/src/lib/Components/MediaImage/types.ts +1 -1
  417. package/src/lib/Components/NavBar/CoinCapsule.tsx +1 -1
  418. package/src/lib/Components/NavBar/NavBar.tsx +5 -3
  419. package/src/lib/Components/NavBar/types.ts +4 -4
  420. package/src/lib/Components/OptionList/OptionList.figma.tsx +37 -0
  421. package/src/lib/Components/OptionList/OptionList.mdx +304 -0
  422. package/src/lib/Components/OptionList/OptionList.stories.tsx +755 -0
  423. package/src/lib/Components/OptionList/OptionList.test.tsx +412 -0
  424. package/src/lib/Components/OptionList/OptionList.tsx +532 -0
  425. package/src/lib/Components/OptionList/index.ts +2 -0
  426. package/src/lib/Components/OptionList/types.ts +115 -0
  427. package/src/lib/Components/OptionList/useOptionList/useOptionListItems.test.ts +73 -0
  428. package/src/lib/Components/OptionList/useOptionList/useOptionListItems.ts +49 -0
  429. package/src/lib/Components/PageIndicator/PageIndicator.tsx +1 -1
  430. package/src/lib/Components/PageIndicator/types.ts +1 -1
  431. package/src/lib/Components/SearchInput/SearchInput.stories.tsx +1 -1
  432. package/src/lib/Components/SearchInput/types.ts +2 -2
  433. package/src/lib/Components/SegmentedControl/SegmentedControl.tsx +1 -1
  434. package/src/lib/Components/SegmentedControl/types.ts +4 -4
  435. package/src/lib/Components/SegmentedControl/usePillLayout.ts +2 -2
  436. package/src/lib/Components/Select/GlobalSelectContext.tsx +3 -2
  437. package/src/lib/Components/Select/Select.tsx +1 -1
  438. package/src/lib/Components/Select/SelectContext.tsx +2 -2
  439. package/src/lib/Components/Select/types.ts +4 -4
  440. package/src/lib/Components/Skeleton/Skeleton.stories.tsx +1 -1
  441. package/src/lib/Components/Skeleton/types.ts +1 -1
  442. package/src/lib/Components/Slot/Slot.tsx +4 -5
  443. package/src/lib/Components/Spinner/Spinner.stories.tsx +1 -1
  444. package/src/lib/Components/Spinner/Spinner.tsx +3 -2
  445. package/src/lib/Components/Spinner/types.ts +3 -3
  446. package/src/lib/Components/Spot/Spot.stories.tsx +2 -2
  447. package/src/lib/Components/Spot/Spot.tsx +6 -4
  448. package/src/lib/Components/Spot/types.ts +3 -3
  449. package/src/lib/Components/Stepper/Stepper.stories.tsx +1 -1
  450. package/src/lib/Components/Stepper/Stepper.tsx +1 -1
  451. package/src/lib/Components/Stepper/types.ts +1 -1
  452. package/src/lib/Components/Subheader/Subheader.tsx +1 -1
  453. package/src/lib/Components/Subheader/types.ts +3 -3
  454. package/src/lib/Components/Switch/BaseSwitch.tsx +2 -2
  455. package/src/lib/Components/Switch/Switch.tsx +1 -1
  456. package/src/lib/Components/Switch/types.ts +1 -1
  457. package/src/lib/Components/TabBar/TabBar.tsx +4 -9
  458. package/src/lib/Components/TabBar/types.ts +4 -4
  459. package/src/lib/Components/Tag/Tag.tsx +2 -2
  460. package/src/lib/Components/Tag/types.ts +3 -3
  461. package/src/lib/Components/TextInput/types.ts +2 -2
  462. package/src/lib/Components/ThemeProvider/ThemeProvider.tsx +1 -1
  463. package/src/lib/Components/ThemeProvider/types.ts +4 -4
  464. package/src/lib/Components/Tile/Tile.tsx +2 -2
  465. package/src/lib/Components/Tile/types.ts +2 -2
  466. package/src/lib/Components/TileButton/TileButton.test.tsx +1 -1
  467. package/src/lib/Components/TileButton/TileButton.tsx +3 -3
  468. package/src/lib/Components/TileButton/types.ts +4 -4
  469. package/src/lib/Components/Tooltip/GlobalTooltipContext.tsx +2 -1
  470. package/src/lib/Components/Tooltip/Tooltip.tsx +1 -1
  471. package/src/lib/Components/Tooltip/TooltipContext.tsx +1 -1
  472. package/src/lib/Components/Tooltip/types.ts +2 -2
  473. package/src/lib/Components/Utility/Box/types.ts +1 -1
  474. package/src/lib/Components/Utility/Gradient/LinearGradient/LinearGradient.test.tsx +2 -1
  475. package/src/lib/Components/Utility/Gradient/LinearGradient/types.ts +3 -3
  476. package/src/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.test.tsx +2 -1
  477. package/src/lib/Components/Utility/Gradient/RadialGradient/types.ts +3 -3
  478. package/src/lib/Components/Utility/Pressable/Pressable.test.tsx +2 -1
  479. package/src/lib/Components/Utility/Pressable/types.ts +1 -1
  480. package/src/lib/Components/Utility/Text/Text.stories.tsx +1 -1
  481. package/src/lib/Components/Utility/Text/types.ts +1 -1
  482. package/src/lib/Components/Wrap/Wrap.tsx +1 -1
  483. package/src/lib/Components/Wrap/types.ts +1 -1
  484. package/src/lib/Components/index.ts +2 -1
  485. package/src/lib/types/index.ts +1 -1
  486. package/src/lib/utils/components/InjectStylesIntoChildren.tsx +3 -8
  487. package/src/lib/utils/constants/constants.ts +2 -4
  488. package/src/lib/utils/react/extractTextFromChildren.ts +2 -1
  489. package/src/lib/utils/useControllableState/useControllableState.ts +2 -1
  490. package/src/styles/hooks/useStyleSheet.test.tsx +2 -1
  491. package/src/styles/hooks/useStyleSheet.ts +2 -1
  492. package/src/styles/lx/areLxPropsEqual.ts +1 -1
  493. package/src/styles/lx/createStyledPressable.test.tsx +2 -2
  494. package/src/styles/lx/createStyledPressable.tsx +1 -1
  495. package/src/styles/lx/createStyledText.test.tsx +2 -1
  496. package/src/styles/lx/createStyledText.tsx +1 -1
  497. package/src/styles/lx/createStyledView.test.tsx +2 -1
  498. package/src/styles/lx/createStyledView.tsx +2 -1
  499. package/src/styles/lx/resolveConfig.ts +1 -1
  500. package/src/styles/provider/LumenStyleSheetProvider.test.tsx +2 -1
  501. package/src/styles/provider/LumenStyleSheetProvider.tsx +2 -4
  502. package/src/styles/provider/types.ts +3 -3
  503. package/src/styles/theme/createStylesheetTheme.ts +1 -1
  504. package/src/styles/theme/resolvers/resolveFontWeights.ts +1 -1
  505. package/src/styles/theme/resolvers/resolveNegativeSpacing.test.ts +1 -1
  506. package/src/styles/theme/resolvers/resolveNegativeSpacing.ts +2 -2
  507. package/src/styles/types/factories.types.ts +3 -3
  508. package/src/styles/types/theme.types.ts +10 -8
  509. package/src/utils/icon-template.ts +1 -2
  510. package/dist/module/lib/Components/TriggerButton/TriggerButton.js.map +0 -1
  511. package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js.map +0 -1
  512. package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js.map +0 -1
  513. package/dist/module/lib/Components/TriggerButton/index.js +0 -5
  514. package/dist/module/lib/Components/TriggerButton/index.js.map +0 -1
  515. package/dist/module/lib/Components/TriggerButton/types.js.map +0 -1
  516. package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts +0 -23
  517. package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts.map +0 -1
  518. package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts +0 -3
  519. package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts.map +0 -1
  520. package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts.map +0 -1
  521. package/src/lib/Components/TriggerButton/index.ts +0 -2
  522. /package/dist/module/lib/Components/{TriggerButton → MediaButton}/types.js +0 -0
@@ -0,0 +1,152 @@
1
+ import { describe, it, expect, jest } from '@jest/globals';
2
+ import { ledgerLiveThemes } from '@ledgerhq/lumen-design-core';
3
+ import { render, fireEvent, screen } from '@testing-library/react-native';
4
+ import { Text as RNText } from 'react-native';
5
+
6
+ import { ThemeProvider } from '../ThemeProvider/ThemeProvider';
7
+ import {
8
+ ListItem,
9
+ ListItemLeading,
10
+ ListItemContent,
11
+ ListItemContentRow,
12
+ ListItemTitle,
13
+ ListItemDescription,
14
+ ListItemTrailing,
15
+ } from './ListItem';
16
+ import type { ListItemProps } from './types';
17
+
18
+ const TestWrapper = ({ children }: { children: React.ReactNode }) => (
19
+ <ThemeProvider themes={ledgerLiveThemes} colorScheme='dark' locale='en'>
20
+ {children}
21
+ </ThemeProvider>
22
+ );
23
+
24
+ const renderListItem = (props: Partial<ListItemProps> = {}) =>
25
+ render(
26
+ <TestWrapper>
27
+ <ListItem testID='list-item' {...props}>
28
+ <ListItemLeading testID='leading'>
29
+ <ListItemContent>
30
+ <ListItemTitle>Title</ListItemTitle>
31
+ <ListItemDescription>Description</ListItemDescription>
32
+ </ListItemContent>
33
+ </ListItemLeading>
34
+ <ListItemTrailing testID='trailing'>
35
+ <RNText>Trailing</RNText>
36
+ </ListItemTrailing>
37
+ </ListItem>
38
+ </TestWrapper>,
39
+ );
40
+
41
+ describe('ListItem', () => {
42
+ it('renders all sub-components', () => {
43
+ renderListItem();
44
+
45
+ expect(screen.getByText('Title')).toBeTruthy();
46
+ expect(screen.getByText('Description')).toBeTruthy();
47
+ expect(screen.getByText('Trailing')).toBeTruthy();
48
+ });
49
+
50
+ it('forwards testID', () => {
51
+ renderListItem();
52
+
53
+ expect(screen.getByTestId('list-item')).toBeTruthy();
54
+ expect(screen.getByTestId('leading')).toBeTruthy();
55
+ expect(screen.getByTestId('trailing')).toBeTruthy();
56
+ });
57
+
58
+ describe('density', () => {
59
+ it('defaults to expanded height', () => {
60
+ renderListItem();
61
+ const inner = screen.getByTestId('list-item-content');
62
+ expect(inner.props.style).toEqual(
63
+ expect.objectContaining({ height: 64 }),
64
+ );
65
+ });
66
+
67
+ it('applies expanded height explicitly', () => {
68
+ renderListItem({ density: 'expanded' });
69
+ const inner = screen.getByTestId('list-item-content');
70
+ expect(inner.props.style).toEqual(
71
+ expect.objectContaining({ height: 64 }),
72
+ );
73
+ });
74
+
75
+ it('applies compact height', () => {
76
+ renderListItem({ density: 'compact' });
77
+ const inner = screen.getByTestId('list-item-content');
78
+ expect(inner.props.style).toEqual(
79
+ expect.objectContaining({ height: 40 }),
80
+ );
81
+ });
82
+ });
83
+
84
+ describe('onPress', () => {
85
+ it('triggers onPress on press', () => {
86
+ const onPress = jest.fn();
87
+ renderListItem({ onPress });
88
+
89
+ fireEvent.press(screen.getByTestId('list-item'));
90
+ expect(onPress).toHaveBeenCalledTimes(1);
91
+ });
92
+ });
93
+
94
+ describe('onLongPress', () => {
95
+ it('triggers onLongPress on long press', () => {
96
+ const onLongPress = jest.fn();
97
+ renderListItem({ onLongPress });
98
+
99
+ fireEvent(screen.getByTestId('list-item'), 'longPress');
100
+ expect(onLongPress).toHaveBeenCalledTimes(1);
101
+ });
102
+
103
+ it('does not trigger onLongPress when disabled', () => {
104
+ const onLongPress = jest.fn();
105
+ renderListItem({ onLongPress, disabled: true });
106
+
107
+ fireEvent(screen.getByTestId('list-item'), 'longPress');
108
+ expect(onLongPress).not.toHaveBeenCalled();
109
+ });
110
+ });
111
+
112
+ describe('disabled', () => {
113
+ it('sets disabled accessibility state', () => {
114
+ renderListItem({ disabled: true });
115
+ const item = screen.getByTestId('list-item');
116
+ expect(item.props.accessibilityState?.disabled).toBe(true);
117
+ });
118
+
119
+ it('does not trigger onPress when disabled', () => {
120
+ const onPress = jest.fn();
121
+ renderListItem({ onPress, disabled: true });
122
+
123
+ fireEvent.press(screen.getByTestId('list-item'));
124
+ expect(onPress).not.toHaveBeenCalled();
125
+ });
126
+ });
127
+
128
+ describe('ListItemContentRow', () => {
129
+ it('renders title alongside additional content in a row', () => {
130
+ render(
131
+ <TestWrapper>
132
+ <ListItem>
133
+ <ListItemLeading>
134
+ <ListItemContent>
135
+ <ListItemContentRow testID='content-row'>
136
+ <ListItemTitle>Bitcoin</ListItemTitle>
137
+ <RNText>Tag</RNText>
138
+ </ListItemContentRow>
139
+ <ListItemDescription>BTC</ListItemDescription>
140
+ </ListItemContent>
141
+ </ListItemLeading>
142
+ </ListItem>
143
+ </TestWrapper>,
144
+ );
145
+
146
+ expect(screen.getByTestId('content-row')).toBeTruthy();
147
+ expect(screen.getByText('Bitcoin')).toBeTruthy();
148
+ expect(screen.getByText('Tag')).toBeTruthy();
149
+ expect(screen.getByText('BTC')).toBeTruthy();
150
+ });
151
+ });
152
+ });
@@ -1,13 +1,15 @@
1
1
  import {
2
2
  createSafeContext,
3
+ type Density,
3
4
  DisabledProvider,
4
5
  useDisabledContext,
5
6
  } from '@ledgerhq/lumen-utils-shared';
6
- import { ElementRef, ReactNode, Ref } from 'react';
7
+ import type { ElementRef, ReactNode, Ref } from 'react';
8
+ import type { ViewStyle } from 'react-native';
7
9
  import { StyleSheet, View } from 'react-native';
8
10
  import { useStyleSheet } from '../../../styles';
9
11
  import { Box, Pressable, Text } from '../Utility';
10
- import {
12
+ import type {
11
13
  ListItemContentProps,
12
14
  ListItemContentRowProps,
13
15
  ListItemDescriptionProps,
@@ -22,27 +24,32 @@ const [ListItemTrailingProvider, useListItemTrailingContext] =
22
24
  isInTrailing: false,
23
25
  });
24
26
 
25
- const useRootStyles = ({ pressed }: { pressed: boolean }) => {
27
+ const useRootStyles = ({
28
+ pressed,
29
+ density,
30
+ }: {
31
+ pressed: boolean;
32
+ density: Density;
33
+ }) => {
26
34
  return useStyleSheet(
27
35
  (t) => ({
28
36
  container: StyleSheet.flatten([
29
37
  {
30
38
  flexDirection: 'row',
31
39
  alignItems: 'center',
32
- height: t.sizes.s64,
40
+ height: density === 'compact' ? t.sizes.s40 : t.sizes.s64,
33
41
  width: t.sizes.full,
34
42
  gap: t.spacings.s16,
35
43
  borderRadius: t.borderRadius.md,
36
44
  backgroundColor: 'transparent',
37
45
  paddingHorizontal: t.spacings.s8,
38
- paddingVertical: t.spacings.s12,
39
46
  },
40
47
  pressed && {
41
48
  backgroundColor: t.colors.bg.baseTransparentPressed,
42
49
  },
43
50
  ]),
44
51
  }),
45
- [pressed],
52
+ [pressed, density],
46
53
  );
47
54
  };
48
55
 
@@ -86,29 +93,56 @@ export const ListItem = ({
86
93
  lx = {},
87
94
  style,
88
95
  disabled: disabledProp = false,
96
+ density = 'expanded',
97
+ onPress,
98
+ onLongPress,
89
99
  ref,
90
- ...pressableProps
100
+ ...props
91
101
  }: ListItemProps) => {
92
102
  const disabled = useDisabledContext({
93
103
  consumerName: 'ListItem',
94
104
  mergeWith: { disabled: disabledProp },
95
105
  });
96
106
 
107
+ const isInteractive = !!onPress || !!onLongPress;
108
+
109
+ if (isInteractive) {
110
+ return (
111
+ <DisabledProvider value={{ disabled }}>
112
+ <Pressable
113
+ ref={ref}
114
+ lx={lx}
115
+ style={style as ViewStyle}
116
+ disabled={disabled}
117
+ onPress={onPress}
118
+ onLongPress={onLongPress}
119
+ accessibilityRole='button'
120
+ accessibilityState={{ disabled }}
121
+ {...props}
122
+ >
123
+ {({ pressed }) => (
124
+ <ListItemInner pressed={pressed} density={density}>
125
+ {children}
126
+ </ListItemInner>
127
+ )}
128
+ </Pressable>
129
+ </DisabledProvider>
130
+ );
131
+ }
132
+
97
133
  return (
98
134
  <DisabledProvider value={{ disabled }}>
99
- <Pressable
135
+ <Box
100
136
  ref={ref}
101
137
  lx={lx}
102
138
  style={style}
103
- disabled={disabled}
104
- accessibilityRole='button'
105
139
  accessibilityState={{ disabled }}
106
- {...pressableProps}
140
+ {...props}
107
141
  >
108
- {({ pressed }) => (
109
- <ListItemInner pressed={pressed}>{children}</ListItemInner>
110
- )}
111
- </Pressable>
142
+ <ListItemInner pressed={false} density={density}>
143
+ {children}
144
+ </ListItemInner>
145
+ </Box>
112
146
  </DisabledProvider>
113
147
  );
114
148
  };
@@ -118,12 +152,14 @@ export const ListItem = ({
118
152
  */
119
153
  const ListItemInner = ({
120
154
  pressed,
155
+ density,
121
156
  children,
122
157
  }: {
123
158
  pressed: boolean;
159
+ density: Density;
124
160
  children: ReactNode;
125
161
  }) => {
126
- const styles = useRootStyles({ pressed });
162
+ const styles = useRootStyles({ pressed, density });
127
163
  return (
128
164
  <View style={styles.container} testID='list-item-content'>
129
165
  {children}
@@ -140,7 +176,7 @@ export const ListItemLeading = ({
140
176
  lx = {},
141
177
  style,
142
178
  ref,
143
- ...viewProps
179
+ ...props
144
180
  }: ListItemLeadingProps & { ref?: Ref<View> }) => {
145
181
  const styles = useStyleSheet(
146
182
  (t) => ({
@@ -160,7 +196,7 @@ export const ListItemLeading = ({
160
196
  ref={ref}
161
197
  lx={lx}
162
198
  style={StyleSheet.flatten([styles.leading, style])}
163
- {...viewProps}
199
+ {...props}
164
200
  >
165
201
  {children}
166
202
  </Box>
@@ -175,7 +211,7 @@ export const ListItemContent = ({
175
211
  lx = {},
176
212
  style,
177
213
  ref,
178
- ...viewProps
214
+ ...props
179
215
  }: ListItemContentProps & { ref?: Ref<View> }) => {
180
216
  const { isInTrailing } = useListItemTrailingContext({
181
217
  consumerName: 'ListItemContent',
@@ -199,7 +235,7 @@ export const ListItemContent = ({
199
235
  ref={ref}
200
236
  lx={lx}
201
237
  style={StyleSheet.flatten([styles.content, style])}
202
- {...viewProps}
238
+ {...props}
203
239
  >
204
240
  {children}
205
241
  </Box>
@@ -215,7 +251,7 @@ export const ListItemContentRow = ({
215
251
  lx = {},
216
252
  style,
217
253
  ref,
218
- ...viewProps
254
+ ...props
219
255
  }: ListItemContentRowProps & { ref?: Ref<View> }) => {
220
256
  const styles = useStyleSheet(
221
257
  (t) => ({
@@ -234,7 +270,7 @@ export const ListItemContentRow = ({
234
270
  ref={ref}
235
271
  lx={lx}
236
272
  style={StyleSheet.flatten([styles.row, style])}
237
- {...viewProps}
273
+ {...props}
238
274
  >
239
275
  {children}
240
276
  </Box>
@@ -249,7 +285,7 @@ export const ListItemTitle = ({
249
285
  lx = {},
250
286
  style,
251
287
  ref,
252
- ...textProps
288
+ ...props
253
289
  }: ListItemTitleProps & { ref?: Ref<ElementRef<typeof Text>> }) => {
254
290
  const disabled = useDisabledContext({
255
291
  consumerName: 'ListItemTitle',
@@ -283,7 +319,7 @@ export const ListItemTitle = ({
283
319
  numberOfLines={1}
284
320
  ellipsizeMode='tail'
285
321
  allowFontScaling={false}
286
- {...textProps}
322
+ {...props}
287
323
  >
288
324
  {children}
289
325
  </Text>
@@ -299,7 +335,7 @@ export const ListItemDescription = ({
299
335
  lx = {},
300
336
  style,
301
337
  ref,
302
- ...textProps
338
+ ...props
303
339
  }: ListItemDescriptionProps & { ref?: Ref<ElementRef<typeof Text>> }) => {
304
340
  const disabled = useDisabledContext({
305
341
  consumerName: 'ListItemDescription',
@@ -333,7 +369,7 @@ export const ListItemDescription = ({
333
369
  numberOfLines={1}
334
370
  ellipsizeMode='tail'
335
371
  allowFontScaling={false}
336
- {...textProps}
372
+ {...props}
337
373
  >
338
374
  {children}
339
375
  </Text>
@@ -349,7 +385,7 @@ export const ListItemTrailing = ({
349
385
  lx = {},
350
386
  style,
351
387
  ref,
352
- ...viewProps
388
+ ...props
353
389
  }: ListItemTrailingProps & { ref?: Ref<View> }) => {
354
390
  const styles = useStyleSheet(
355
391
  () => ({
@@ -367,7 +403,7 @@ export const ListItemTrailing = ({
367
403
  ref={ref}
368
404
  lx={lx}
369
405
  style={StyleSheet.flatten([styles.trailing, style])}
370
- {...viewProps}
406
+ {...props}
371
407
  >
372
408
  {children}
373
409
  </Box>
@@ -1,16 +1,10 @@
1
- import {
1
+ import type { Density } from '@ledgerhq/lumen-utils-shared';
2
+ import type {
2
3
  StyledPressableProps,
3
4
  StyledTextProps,
4
5
  StyledViewProps,
5
6
  } from '../../../styles';
6
7
 
7
- /**
8
- * Context value for passing state to sub-components
9
- */
10
- export type ListItemContextValue = {
11
- disabled?: boolean;
12
- };
13
-
14
8
  /**
15
9
  * Props for the ListItem root component
16
10
  */
@@ -19,6 +13,11 @@ export type ListItemProps = {
19
13
  * The content of the list item (ListItemLeading, ListItemTrailing)
20
14
  */
21
15
  children: React.ReactNode;
16
+ /**
17
+ * The density of the list item.
18
+ * @default 'expanded'
19
+ */
20
+ density?: Density;
22
21
  /**
23
22
  * Whether the list item is disabled.
24
23
  */
@@ -27,7 +26,11 @@ export type ListItemProps = {
27
26
  * Callback function when the list item is pressed.
28
27
  */
29
28
  onPress?: StyledPressableProps['onPress'];
30
- } & Omit<StyledPressableProps, 'disabled' | 'children'>;
29
+ /**
30
+ * Callback function when the list item is long pressed.
31
+ */
32
+ onLongPress?: StyledPressableProps['onLongPress'];
33
+ } & Omit<StyledViewProps, 'disabled' | 'children'>;
31
34
 
32
35
  /**
33
36
  * Props for the ListItemLeading component
@@ -5,7 +5,7 @@ import { useStyleSheet, useTheme } from '../../../styles';
5
5
  import { Close } from '../../Symbols';
6
6
  import { InteractiveIcon } from '../InteractiveIcon';
7
7
  import { Box, LinearGradient, Pressable, Text } from '../Utility';
8
- import {
8
+ import type {
9
9
  MediaBannerDescriptionProps,
10
10
  MediaBannerProps,
11
11
  MediaBannerTitleProps,
@@ -1,5 +1,5 @@
1
- import { ReactNode } from 'react';
2
- import { StyledPressableProps, StyledTextProps } from '../../../styles';
1
+ import type { ReactNode } from 'react';
2
+ import type { StyledPressableProps, StyledTextProps } from '../../../styles';
3
3
 
4
4
  /**
5
5
  * Props for the MediaBanner root component.
@@ -1,17 +1,17 @@
1
1
  import { CustomTabs, Tab } from '../../../../.storybook/components';
2
2
  import { Meta, Canvas, Controls } from '@storybook/addon-docs/blocks';
3
- import * as TriggerButtonStories from './TriggerButton.stories';
3
+ import * as MediaButtonStories from './MediaButton.stories';
4
4
 
5
- <Meta title='Action/TriggerButton' of={TriggerButtonStories} />
5
+ <Meta title='Action/MediaButton' of={MediaButtonStories} />
6
6
 
7
7
  <CustomTabs>
8
8
  <Tab label="Overview ">
9
9
 
10
- # TriggerButton
10
+ # MediaButton
11
11
 
12
12
  ## Introduction
13
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.
14
+ A specialized media button designed exclusively for select and dropdown patterns. It displays a label with an optional leading icon and a permanent trailing chevron indicator.
15
15
 
16
16
  > View in [Figma](https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7/2.-Components-Library?node-id=6389-45680&m=dev).
17
17
 
@@ -19,18 +19,18 @@ A specialized trigger button designed exclusively for select and dropdown patter
19
19
 
20
20
  ## Properties
21
21
 
22
- <Canvas of={TriggerButtonStories.Base} />
23
- <Controls of={TriggerButtonStories.Base} />
22
+ <Canvas of={MediaButtonStories.Base} />
23
+ <Controls of={MediaButtonStories.Base} />
24
24
 
25
25
  ## Appearance
26
26
 
27
27
  Three appearances are available: `gray` (default), `transparent`, and `no-background`.
28
28
 
29
- <Canvas of={TriggerButtonStories.AppearanceShowcase} />
29
+ <Canvas of={MediaButtonStories.AppearanceShowcase} />
30
30
 
31
31
  ## Sizes
32
32
 
33
- <Canvas of={TriggerButtonStories.SizeShowcase} />
33
+ <Canvas of={MediaButtonStories.SizeShowcase} />
34
34
 
35
35
  ## Icon Types
36
36
 
@@ -39,6 +39,6 @@ The `iconType` prop controls the padding scheme based on the leading icon's shap
39
39
  - **`flat`**: Standard padding for interface icons (line icons without background).
40
40
  - **`rounded`**: Tighter left padding for circular icons with their own background (e.g., crypto icons).
41
41
 
42
- <Canvas of={TriggerButtonStories.IconTypeShowcase} />
42
+ <Canvas of={MediaButtonStories.IconTypeShowcase} />
43
43
  </Tab>
44
- </CustomTabs>
44
+ </CustomTabs>
@@ -2,11 +2,11 @@ import { CryptoIcon } from '@ledgerhq/crypto-icons';
2
2
  import type { Meta, StoryObj } from '@storybook/react-native-web-vite';
3
3
  import { Settings, Star } from '../../Symbols';
4
4
  import { Box } from '../Utility';
5
- import { TriggerButton } from './TriggerButton';
5
+ import { MediaButton } from './MediaButton';
6
6
 
7
- const meta: Meta<typeof TriggerButton> = {
8
- component: TriggerButton,
9
- title: 'Action/TriggerButton',
7
+ const meta: Meta<typeof MediaButton> = {
8
+ component: MediaButton,
9
+ title: 'Action/MediaButton',
10
10
  parameters: {
11
11
  layout: 'centered',
12
12
  docs: {
@@ -20,21 +20,21 @@ const meta: Meta<typeof TriggerButton> = {
20
20
  };
21
21
 
22
22
  export default meta;
23
- type Story = StoryObj<typeof TriggerButton>;
23
+ type Story = StoryObj<typeof MediaButton>;
24
24
 
25
25
  export const Base: Story = {
26
26
  args: {
27
27
  children: 'All accounts',
28
28
  appearance: 'gray',
29
29
  },
30
- render: (args) => <TriggerButton {...args} />,
30
+ render: (args) => <MediaButton {...args} />,
31
31
  parameters: {
32
32
  docs: {
33
33
  source: {
34
34
  code: `
35
- <TriggerButton appearance="gray">
35
+ <MediaButton appearance="gray">
36
36
  All accounts
37
- </TriggerButton>
37
+ </MediaButton>
38
38
  `,
39
39
  },
40
40
  },
@@ -44,12 +44,12 @@ export const Base: Story = {
44
44
  export const SizeShowcase: Story = {
45
45
  render: () => (
46
46
  <Box lx={{ flexDirection: 'row', alignItems: 'center', gap: 's16' }}>
47
- <TriggerButton size='sm' icon={<Star size={20} />} iconType='flat'>
47
+ <MediaButton size='sm' icon={<Star size={20} />} iconType='flat'>
48
48
  Small
49
- </TriggerButton>
50
- <TriggerButton size='md' icon={<Star size={20} />} iconType='flat'>
49
+ </MediaButton>
50
+ <MediaButton size='md' icon={<Star size={20} />} iconType='flat'>
51
51
  Medium
52
- </TriggerButton>
52
+ </MediaButton>
53
53
  </Box>
54
54
  ),
55
55
  };
@@ -58,42 +58,42 @@ export const IconTypeShowcase: Story = {
58
58
  render: () => (
59
59
  <Box lx={{ flexDirection: 'column', gap: 's16' }}>
60
60
  <Box lx={{ flexDirection: 'row', alignItems: 'center', gap: 's16' }}>
61
- <TriggerButton
61
+ <MediaButton
62
62
  icon={<Settings size={20} />}
63
63
  iconType='flat'
64
64
  appearance='gray'
65
65
  >
66
66
  Flat icon (md)
67
- </TriggerButton>
68
- <TriggerButton
67
+ </MediaButton>
68
+ <MediaButton
69
69
  icon={<CryptoIcon ledgerId='bitcoin' ticker='BTC' size='32px' />}
70
70
  iconType='rounded'
71
71
  appearance='gray'
72
72
  >
73
73
  Rounded icon (md)
74
- </TriggerButton>
75
- <TriggerButton appearance='gray'>No icon (md)</TriggerButton>
74
+ </MediaButton>
75
+ <MediaButton appearance='gray'>No icon (md)</MediaButton>
76
76
  </Box>
77
77
  <Box lx={{ flexDirection: 'row', alignItems: 'center', gap: 's16' }}>
78
- <TriggerButton
78
+ <MediaButton
79
79
  icon={<Settings size={20} />}
80
80
  iconType='flat'
81
81
  appearance='gray'
82
82
  size='sm'
83
83
  >
84
84
  Flat icon (sm)
85
- </TriggerButton>
86
- <TriggerButton
85
+ </MediaButton>
86
+ <MediaButton
87
87
  icon={<CryptoIcon ledgerId='bitcoin' ticker='BTC' size='24px' />}
88
88
  iconType='rounded'
89
89
  appearance='gray'
90
90
  size='sm'
91
91
  >
92
92
  Rounded icon (sm)
93
- </TriggerButton>
94
- <TriggerButton appearance='gray' size='sm'>
93
+ </MediaButton>
94
+ <MediaButton appearance='gray' size='sm'>
95
95
  No icon (sm)
96
- </TriggerButton>
96
+ </MediaButton>
97
97
  </Box>
98
98
  </Box>
99
99
  ),
@@ -109,21 +109,21 @@ export const AppearanceShowcase: Story = {
109
109
  key={appearance}
110
110
  lx={{ flexDirection: 'row', alignItems: 'center', gap: 's16' }}
111
111
  >
112
- <TriggerButton appearance={appearance}>{appearance}</TriggerButton>
113
- <TriggerButton
112
+ <MediaButton appearance={appearance}>{appearance}</MediaButton>
113
+ <MediaButton
114
114
  appearance={appearance}
115
115
  icon={<Settings size={20} />}
116
116
  iconType='flat'
117
117
  >
118
118
  {appearance}
119
- </TriggerButton>
120
- <TriggerButton
119
+ </MediaButton>
120
+ <MediaButton
121
121
  appearance={appearance}
122
122
  icon={<CryptoIcon ledgerId='bitcoin' ticker='BTC' size='32px' />}
123
123
  iconType='rounded'
124
124
  >
125
125
  {appearance}
126
- </TriggerButton>
126
+ </MediaButton>
127
127
  </Box>
128
128
  ))}
129
129
  </Box>