@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,755 @@
1
+ import { CryptoIcon } from '@ledgerhq/crypto-icons';
2
+ import type { Meta, StoryObj } from '@storybook/react-native-web-vite';
3
+ import { useState } from 'react';
4
+ import { Settings } from '../../Symbols';
5
+ import { BottomSheet } from '../BottomSheet';
6
+ import { BottomSheetHeader } from '../BottomSheet/BottomSheetHeader';
7
+ import {
8
+ BottomSheetScrollView,
9
+ BottomSheetView,
10
+ } from '../BottomSheet/Scrollables';
11
+ import { useBottomSheetRef } from '../BottomSheet/useBottomSheetRef';
12
+ import { MediaButton } from '../MediaButton';
13
+ import { Spot } from '../Spot';
14
+ import { Tag } from '../Tag/Tag';
15
+ import { Box, Text } from '../Utility';
16
+ import {
17
+ OptionList,
18
+ OptionListContent,
19
+ OptionListEmptyState,
20
+ OptionListItem,
21
+ OptionListItemLeading,
22
+ OptionListItemContent,
23
+ OptionListItemDescription,
24
+ OptionListItemContentRow,
25
+ OptionListTrigger,
26
+ OptionListItemText,
27
+ } from './OptionList';
28
+ import type { OptionListItemData } from './types';
29
+
30
+ const meta = {
31
+ component: OptionList,
32
+ title: 'Selection/OptionList',
33
+ subcomponents: {
34
+ OptionListContent,
35
+ OptionListItem,
36
+ OptionListItemLeading,
37
+ OptionListItemContent,
38
+ OptionListItemText,
39
+ OptionListItemDescription,
40
+ OptionListItemContentRow,
41
+ OptionListTrigger,
42
+ },
43
+ decorators: [
44
+ (Story) => (
45
+ <div>
46
+ <Box
47
+ lx={{
48
+ flex: 1,
49
+ padding: 's24',
50
+ alignItems: 'flex-start',
51
+ width: 's320',
52
+ height: 's480',
53
+ }}
54
+ >
55
+ <Story />
56
+ </Box>
57
+ </div>
58
+ ),
59
+ ],
60
+ parameters: {
61
+ layout: 'fullscreen',
62
+ docs: {
63
+ source: {
64
+ language: 'tsx',
65
+ format: true,
66
+ type: 'code',
67
+ },
68
+ },
69
+ },
70
+ } satisfies Meta<typeof OptionList>;
71
+
72
+ export default meta;
73
+ type Story = StoryObj<typeof OptionList>;
74
+
75
+ const CURRENCIES: OptionListItemData[] = [
76
+ {
77
+ value: 'btc',
78
+ label: 'Bitcoin',
79
+ meta: { ticker: 'BTC', ledgerId: 'bitcoin' },
80
+ },
81
+ {
82
+ value: 'eth',
83
+ label: 'Ethereum',
84
+ meta: { ticker: 'ETH', ledgerId: 'ethereum' },
85
+ },
86
+ {
87
+ value: 'sol',
88
+ label: 'Solana',
89
+ meta: { ticker: 'SOL', ledgerId: 'solana' },
90
+ },
91
+ {
92
+ value: 'dot',
93
+ label: 'Polkadot',
94
+ meta: { ticker: 'DOT', ledgerId: 'polkadot' },
95
+ },
96
+ ];
97
+
98
+ export const Base: Story = {
99
+ render: () => {
100
+ const [value, setValue] = useState<string | null>(null);
101
+ const bottomSheetRef = useBottomSheetRef();
102
+ const selected = CURRENCIES.find((c) => c.value === value);
103
+
104
+ return (
105
+ <>
106
+ <OptionListTrigger
107
+ label='Currency'
108
+ onPress={() => bottomSheetRef.current?.present()}
109
+ >
110
+ {selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
111
+ </OptionListTrigger>
112
+ <BottomSheet
113
+ ref={bottomSheetRef}
114
+ enableDynamicSizing
115
+ snapPoints={null}
116
+ onClose={() => bottomSheetRef.current?.dismiss()}
117
+ >
118
+ <BottomSheetView>
119
+ <BottomSheetHeader title='Select currency' />
120
+ <OptionList
121
+ items={CURRENCIES}
122
+ value={value}
123
+ onValueChange={(v) => {
124
+ setValue(v);
125
+ bottomSheetRef.current?.dismiss();
126
+ }}
127
+ >
128
+ <OptionListContent
129
+ renderItem={(item) => {
130
+ const ticker = (item.meta as { ticker: string }).ticker;
131
+ return (
132
+ <OptionListItem value={item.value}>
133
+ <OptionListItemLeading>
134
+ <CryptoIcon
135
+ ledgerId={item.meta?.ledgerId ?? ''}
136
+ ticker={ticker}
137
+ size='32px'
138
+ />
139
+ </OptionListItemLeading>
140
+ <OptionListItemContent>
141
+ <OptionListItemText>{item.label}</OptionListItemText>
142
+ <OptionListItemDescription>
143
+ {ticker}
144
+ </OptionListItemDescription>
145
+ </OptionListItemContent>
146
+ </OptionListItem>
147
+ );
148
+ }}
149
+ />
150
+ </OptionList>
151
+ </BottomSheetView>
152
+ </BottomSheet>
153
+ </>
154
+ );
155
+ },
156
+ };
157
+
158
+ const FOODS: OptionListItemData[] = [
159
+ { value: 'apple', label: 'Apple', group: 'Fruits' },
160
+ { value: 'banana', label: 'Banana', group: 'Fruits' },
161
+ { value: 'orange', label: 'Orange', group: 'Fruits' },
162
+ { value: 'carrot', label: 'Carrot', group: 'Vegetables' },
163
+ { value: 'broccoli', label: 'Broccoli', group: 'Vegetables' },
164
+ { value: 'spinach', label: 'Spinach', group: 'Vegetables' },
165
+ ];
166
+
167
+ export const WithGroups: Story = {
168
+ render: () => {
169
+ const [value, setValue] = useState<string | null>(null);
170
+ const bottomSheetRef = useBottomSheetRef();
171
+ const selected = FOODS.find((f) => f.value === value);
172
+
173
+ return (
174
+ <>
175
+ <OptionListTrigger
176
+ label='Food'
177
+ onPress={() => bottomSheetRef.current?.present()}
178
+ >
179
+ {selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
180
+ </OptionListTrigger>
181
+ <BottomSheet
182
+ ref={bottomSheetRef}
183
+ enableDynamicSizing
184
+ snapPoints={null}
185
+ onClose={() => bottomSheetRef.current?.dismiss()}
186
+ >
187
+ <BottomSheetScrollView>
188
+ <BottomSheetHeader title='Pick a food' />
189
+ <OptionList
190
+ items={FOODS}
191
+ value={value}
192
+ onValueChange={(v) => {
193
+ setValue(v);
194
+ bottomSheetRef.current?.dismiss();
195
+ }}
196
+ >
197
+ <OptionListContent
198
+ renderItem={(item) => (
199
+ <OptionListItem value={item.value}>
200
+ <OptionListItemContent>
201
+ <OptionListItemText>{item.label}</OptionListItemText>
202
+ </OptionListItemContent>
203
+ </OptionListItem>
204
+ )}
205
+ />
206
+ </OptionList>
207
+ </BottomSheetScrollView>
208
+ </BottomSheet>
209
+ </>
210
+ );
211
+ },
212
+ };
213
+
214
+ const NETWORKS: OptionListItemData[] = [
215
+ {
216
+ value: 'ethereum',
217
+ label: 'Ethereum',
218
+ meta: { ticker: 'ETH', ledgerId: 'ethereum', tag: 'ERC-20' },
219
+ },
220
+ {
221
+ value: 'polygon',
222
+ label: 'Polygon',
223
+ meta: { ticker: 'MATIC', ledgerId: 'polygon', tag: 'Layer 2' },
224
+ },
225
+ {
226
+ value: 'arbitrum',
227
+ label: 'Arbitrum',
228
+ meta: { ticker: 'ARB', ledgerId: 'arbitrum', tag: 'Layer 2' },
229
+ },
230
+ {
231
+ value: 'optimism',
232
+ label: 'Optimism',
233
+ meta: { ticker: 'OP', ledgerId: 'optimism', tag: 'Layer 2' },
234
+ },
235
+ ];
236
+
237
+ export const WithContentRow: Story = {
238
+ render: () => {
239
+ const [value, setValue] = useState<string | null>(null);
240
+ const bottomSheetRef = useBottomSheetRef();
241
+ const selected = NETWORKS.find((n) => n.value === value);
242
+
243
+ return (
244
+ <>
245
+ <OptionListTrigger
246
+ label='Network'
247
+ onPress={() => bottomSheetRef.current?.present()}
248
+ >
249
+ {selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
250
+ </OptionListTrigger>
251
+ <BottomSheet
252
+ ref={bottomSheetRef}
253
+ enableDynamicSizing
254
+ snapPoints={null}
255
+ onClose={() => bottomSheetRef.current?.dismiss()}
256
+ >
257
+ <BottomSheetView>
258
+ <BottomSheetHeader title='Select network' />
259
+ <OptionList
260
+ items={NETWORKS}
261
+ value={value}
262
+ onValueChange={(v) => {
263
+ setValue(v);
264
+ bottomSheetRef.current?.dismiss();
265
+ }}
266
+ >
267
+ <OptionListContent
268
+ renderItem={(item) => {
269
+ const meta = item.meta as {
270
+ ticker: string;
271
+ ledgerId: string;
272
+ tag: string;
273
+ };
274
+ return (
275
+ <OptionListItem value={item.value}>
276
+ <OptionListItemLeading>
277
+ <CryptoIcon
278
+ ledgerId={meta.ledgerId}
279
+ ticker={meta.ticker}
280
+ size='32px'
281
+ />
282
+ </OptionListItemLeading>
283
+ <OptionListItemContent>
284
+ <OptionListItemContentRow>
285
+ <OptionListItemText>{item.label}</OptionListItemText>
286
+ <Tag label={meta.tag} appearance='gray' size='sm' />
287
+ </OptionListItemContentRow>
288
+ <OptionListItemDescription>
289
+ {meta.ticker}
290
+ </OptionListItemDescription>
291
+ </OptionListItemContent>
292
+ </OptionListItem>
293
+ );
294
+ }}
295
+ />
296
+ </OptionList>
297
+ </BottomSheetView>
298
+ </BottomSheet>
299
+ </>
300
+ );
301
+ },
302
+ };
303
+
304
+ const ACCOUNTS: OptionListItemData[] = [
305
+ {
306
+ value: 'savings',
307
+ label: 'Savings Account',
308
+ description: 'High-yield savings',
309
+ },
310
+ {
311
+ value: 'checking',
312
+ label: 'Checking Account',
313
+ description: 'Primary checking',
314
+ disabled: true,
315
+ },
316
+ { value: 'investment', label: 'Investment Account' },
317
+ {
318
+ value: 'retirement',
319
+ label: 'Retirement Fund',
320
+ description: 'Long-term growth',
321
+ disabled: true,
322
+ },
323
+ ];
324
+
325
+ export const WithDisabledItems: Story = {
326
+ render: () => {
327
+ const [value, setValue] = useState<string | null>(null);
328
+ const bottomSheetRef = useBottomSheetRef();
329
+ const selected = ACCOUNTS.find((a) => a.value === value);
330
+
331
+ return (
332
+ <>
333
+ <OptionListTrigger
334
+ label='Account'
335
+ onPress={() => bottomSheetRef.current?.present()}
336
+ >
337
+ {selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
338
+ </OptionListTrigger>
339
+ <BottomSheet
340
+ ref={bottomSheetRef}
341
+ enableDynamicSizing
342
+ snapPoints={null}
343
+ onClose={() => bottomSheetRef.current?.dismiss()}
344
+ >
345
+ <BottomSheetView>
346
+ <BottomSheetHeader title='Select account' />
347
+ <OptionList
348
+ items={ACCOUNTS}
349
+ value={value}
350
+ onValueChange={(v) => {
351
+ setValue(v);
352
+ bottomSheetRef.current?.dismiss();
353
+ }}
354
+ >
355
+ <OptionListContent
356
+ renderItem={(item) => (
357
+ <OptionListItem value={item.value} disabled={item.disabled}>
358
+ <OptionListItemLeading>
359
+ <Spot appearance='icon' icon={Settings} />
360
+ </OptionListItemLeading>
361
+ <OptionListItemContent>
362
+ <OptionListItemText>{item.label}</OptionListItemText>
363
+ {item.description && (
364
+ <OptionListItemDescription>
365
+ {item.description}
366
+ </OptionListItemDescription>
367
+ )}
368
+ </OptionListItemContent>
369
+ </OptionListItem>
370
+ )}
371
+ />
372
+ </OptionList>
373
+ </BottomSheetView>
374
+ </BottomSheet>
375
+ </>
376
+ );
377
+ },
378
+ };
379
+
380
+ const GROUPED_NETWORKS: OptionListItemData[] = [
381
+ {
382
+ value: 'eth-main',
383
+ label: 'Ethereum',
384
+ group: 'Layer 1',
385
+ meta: { ticker: 'ETH', ledgerId: 'ethereum', tag: 'Mainnet' },
386
+ },
387
+ {
388
+ value: 'btc-main',
389
+ label: 'Bitcoin',
390
+ group: 'Layer 1',
391
+ meta: { ticker: 'BTC', ledgerId: 'bitcoin', tag: 'Mainnet' },
392
+ },
393
+ {
394
+ value: 'polygon',
395
+ label: 'Polygon',
396
+ group: 'Layer 2',
397
+ meta: { ticker: 'MATIC', ledgerId: 'polygon', tag: 'Rollup' },
398
+ },
399
+ {
400
+ value: 'arbitrum',
401
+ label: 'Arbitrum',
402
+ group: 'Layer 2',
403
+ meta: { ticker: 'ARB', ledgerId: 'arbitrum', tag: 'Rollup' },
404
+ },
405
+ {
406
+ value: 'optimism',
407
+ label: 'Optimism',
408
+ group: 'Layer 2',
409
+ meta: { ticker: 'OP', ledgerId: 'optimism', tag: 'Rollup' },
410
+ },
411
+ ];
412
+
413
+ export const GroupedWithContentRow: Story = {
414
+ render: () => {
415
+ const [value, setValue] = useState<string | null>(null);
416
+ const bottomSheetRef = useBottomSheetRef();
417
+ const selected = GROUPED_NETWORKS.find((n) => n.value === value);
418
+
419
+ return (
420
+ <>
421
+ <OptionListTrigger
422
+ label='Network'
423
+ onPress={() => bottomSheetRef.current?.present()}
424
+ >
425
+ {selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
426
+ </OptionListTrigger>
427
+ <BottomSheet
428
+ ref={bottomSheetRef}
429
+ enableDynamicSizing
430
+ snapPoints={null}
431
+ onClose={() => bottomSheetRef.current?.dismiss()}
432
+ >
433
+ <BottomSheetScrollView>
434
+ <BottomSheetHeader title='Select network' />
435
+ <OptionList
436
+ items={GROUPED_NETWORKS}
437
+ value={value}
438
+ onValueChange={(v) => {
439
+ setValue(v);
440
+ bottomSheetRef.current?.dismiss();
441
+ }}
442
+ >
443
+ <OptionListContent
444
+ renderItem={(item) => {
445
+ const meta = item.meta as {
446
+ ticker: string;
447
+ ledgerId: string;
448
+ tag: string;
449
+ };
450
+ return (
451
+ <OptionListItem value={item.value}>
452
+ <OptionListItemLeading>
453
+ <CryptoIcon
454
+ ledgerId={meta.ledgerId}
455
+ ticker={meta.ticker}
456
+ size='32px'
457
+ />
458
+ </OptionListItemLeading>
459
+ <OptionListItemContent>
460
+ <OptionListItemContentRow>
461
+ <OptionListItemText>{item.label}</OptionListItemText>
462
+ <Tag label={meta.tag} appearance='gray' size='sm' />
463
+ </OptionListItemContentRow>
464
+ <OptionListItemDescription>
465
+ {meta.ticker}
466
+ </OptionListItemDescription>
467
+ </OptionListItemContent>
468
+ </OptionListItem>
469
+ );
470
+ }}
471
+ />
472
+ </OptionList>
473
+ </BottomSheetScrollView>
474
+ </BottomSheet>
475
+ </>
476
+ );
477
+ },
478
+ };
479
+
480
+ export const EmptyState: Story = {
481
+ render: () => {
482
+ const bottomSheetRef = useBottomSheetRef();
483
+
484
+ return (
485
+ <>
486
+ <OptionListTrigger
487
+ label='Currency'
488
+ onPress={() => bottomSheetRef.current?.present()}
489
+ />
490
+ <BottomSheet
491
+ ref={bottomSheetRef}
492
+ enableDynamicSizing
493
+ snapPoints={null}
494
+ onClose={() => bottomSheetRef.current?.dismiss()}
495
+ >
496
+ <BottomSheetView>
497
+ <BottomSheetHeader title='Select currency' />
498
+ <OptionList items={[]} value={null}>
499
+ <OptionListContent
500
+ renderItem={(item) => (
501
+ <OptionListItem value={item.value}>
502
+ <OptionListItemContent>
503
+ <OptionListItemText>{item.label}</OptionListItemText>
504
+ </OptionListItemContent>
505
+ </OptionListItem>
506
+ )}
507
+ />
508
+ <OptionListEmptyState
509
+ title='No options available'
510
+ description='There are no items to display'
511
+ />
512
+ </OptionList>
513
+ </BottomSheetView>
514
+ </BottomSheet>
515
+ </>
516
+ );
517
+ },
518
+ };
519
+
520
+ const SIMPLE_OPTIONS: OptionListItemData[] = [
521
+ { value: 'all', label: 'All accounts' },
522
+ { value: 'savings', label: 'Savings' },
523
+ { value: 'checking', label: 'Checking' },
524
+ ];
525
+
526
+ const SETTINGS_OPTIONS: OptionListItemData[] = [
527
+ { value: 'general', label: 'General' },
528
+ { value: 'security', label: 'Security' },
529
+ { value: 'notifications', label: 'Notifications' },
530
+ ];
531
+
532
+ const appearances = ['gray', 'transparent', 'no-background'] as const;
533
+
534
+ const SimpleOptionListSheet = ({
535
+ sheetRef,
536
+ items,
537
+ title,
538
+ value,
539
+ onValueChange,
540
+ }: {
541
+ sheetRef: ReturnType<typeof useBottomSheetRef>;
542
+ items: OptionListItemData[];
543
+ title: string;
544
+ value: string | null;
545
+ onValueChange: (v: string | null) => void;
546
+ }) => (
547
+ <BottomSheet
548
+ ref={sheetRef}
549
+ enableDynamicSizing
550
+ snapPoints={null}
551
+ onClose={() => sheetRef.current?.dismiss()}
552
+ >
553
+ <BottomSheetView>
554
+ <BottomSheetHeader title={title} />
555
+ <OptionList
556
+ items={items}
557
+ value={value}
558
+ onValueChange={(v) => {
559
+ onValueChange(v);
560
+ sheetRef.current?.dismiss();
561
+ }}
562
+ >
563
+ <OptionListContent
564
+ renderItem={(item) => (
565
+ <OptionListItem value={item.value}>
566
+ <OptionListItemContent>
567
+ <OptionListItemText>{item.label}</OptionListItemText>
568
+ </OptionListItemContent>
569
+ </OptionListItem>
570
+ )}
571
+ />
572
+ </OptionList>
573
+ </BottomSheetView>
574
+ </BottomSheet>
575
+ );
576
+
577
+ export const TriggerShowcase: Story = {
578
+ render: () => {
579
+ const [buttonValue, setButtonValue] = useState<string | null>(null);
580
+ const [iconValue, setIconValue] = useState<string | null>(null);
581
+ const [cryptoValue, setCryptoValue] = useState<string | null>(null);
582
+ const [appearanceValues, setAppearanceValues] = useState<
583
+ Record<string, string | null>
584
+ >({});
585
+ const buttonRef = useBottomSheetRef();
586
+ const iconRef = useBottomSheetRef();
587
+ const cryptoRef = useBottomSheetRef();
588
+ const appearanceRefs = {
589
+ gray: useBottomSheetRef(),
590
+ transparent: useBottomSheetRef(),
591
+ 'no-background': useBottomSheetRef(),
592
+ };
593
+
594
+ const selectedButton = SIMPLE_OPTIONS.find((o) => o.value === buttonValue);
595
+ const selectedIcon = SETTINGS_OPTIONS.find((o) => o.value === iconValue);
596
+ const selectedCrypto = CURRENCIES.find((c) => c.value === cryptoValue);
597
+
598
+ return (
599
+ <Box lx={{ gap: 's16', alignItems: 'flex-start' }}>
600
+ <MediaButton
601
+ appearance='gray'
602
+ onPress={() => buttonRef.current?.present()}
603
+ >
604
+ {selectedButton?.label ?? 'All accounts'}
605
+ </MediaButton>
606
+
607
+ <MediaButton appearance='gray' disabled>
608
+ Disabled
609
+ </MediaButton>
610
+
611
+ <MediaButton
612
+ appearance='gray'
613
+ onPress={() => iconRef.current?.present()}
614
+ icon={<Settings size={20} />}
615
+ iconType='flat'
616
+ >
617
+ {selectedIcon?.label ?? 'Settings'}
618
+ </MediaButton>
619
+
620
+ <MediaButton
621
+ appearance='gray'
622
+ onPress={() => cryptoRef.current?.present()}
623
+ icon={
624
+ selectedCrypto?.meta ? (
625
+ <CryptoIcon
626
+ ledgerId={selectedCrypto.meta.ledgerId}
627
+ ticker={selectedCrypto.meta.ticker}
628
+ size='32px'
629
+ />
630
+ ) : undefined
631
+ }
632
+ iconType='rounded'
633
+ >
634
+ {selectedCrypto?.label ?? 'Network'}
635
+ </MediaButton>
636
+
637
+ <Box lx={{ flexDirection: 'row', gap: 's16' }}>
638
+ {appearances.map((appearance) => {
639
+ const selected = SIMPLE_OPTIONS.find(
640
+ (o) => o.value === appearanceValues[appearance],
641
+ );
642
+ return (
643
+ <MediaButton
644
+ key={appearance}
645
+ appearance={appearance}
646
+ onPress={() => appearanceRefs[appearance].current?.present()}
647
+ >
648
+ {selected?.label ?? appearance}
649
+ </MediaButton>
650
+ );
651
+ })}
652
+ </Box>
653
+
654
+ <SimpleOptionListSheet
655
+ sheetRef={buttonRef}
656
+ items={SIMPLE_OPTIONS}
657
+ title='All accounts'
658
+ value={buttonValue}
659
+ onValueChange={setButtonValue}
660
+ />
661
+ <SimpleOptionListSheet
662
+ sheetRef={iconRef}
663
+ items={SETTINGS_OPTIONS}
664
+ title='Settings'
665
+ value={iconValue}
666
+ onValueChange={setIconValue}
667
+ />
668
+ <BottomSheet
669
+ ref={cryptoRef}
670
+ enableDynamicSizing
671
+ snapPoints={null}
672
+ onClose={() => cryptoRef.current?.dismiss()}
673
+ >
674
+ <BottomSheetView>
675
+ <BottomSheetHeader title='Select network' />
676
+ <OptionList
677
+ items={CURRENCIES}
678
+ value={cryptoValue}
679
+ onValueChange={(v) => {
680
+ setCryptoValue(v);
681
+ cryptoRef.current?.dismiss();
682
+ }}
683
+ >
684
+ <OptionListContent
685
+ renderItem={(item) => {
686
+ const ticker = (item.meta as { ticker: string }).ticker;
687
+ return (
688
+ <OptionListItem value={item.value}>
689
+ <OptionListItemLeading>
690
+ <CryptoIcon
691
+ ledgerId={item.meta?.ledgerId ?? ''}
692
+ ticker={ticker}
693
+ size='32px'
694
+ />
695
+ </OptionListItemLeading>
696
+ <OptionListItemContent>
697
+ <OptionListItemText>{item.label}</OptionListItemText>
698
+ <OptionListItemDescription>
699
+ {ticker}
700
+ </OptionListItemDescription>
701
+ </OptionListItemContent>
702
+ </OptionListItem>
703
+ );
704
+ }}
705
+ />
706
+ </OptionList>
707
+ </BottomSheetView>
708
+ </BottomSheet>
709
+ {appearances.map((appearance) => (
710
+ <SimpleOptionListSheet
711
+ key={appearance}
712
+ sheetRef={appearanceRefs[appearance]}
713
+ items={SIMPLE_OPTIONS}
714
+ title={appearance}
715
+ value={appearanceValues[appearance] ?? null}
716
+ onValueChange={(v) =>
717
+ setAppearanceValues((prev) => ({ ...prev, [appearance]: v }))
718
+ }
719
+ />
720
+ ))}
721
+ </Box>
722
+ );
723
+ },
724
+ };
725
+
726
+ export const WithDefaultValue: Story = {
727
+ render: () => (
728
+ <Box lx={{ width: 's320' }}>
729
+ <OptionList items={CURRENCIES} defaultValue='eth'>
730
+ <OptionListContent
731
+ renderItem={(item) => {
732
+ const meta = item.meta as { ticker: string; ledgerId: string };
733
+ return (
734
+ <OptionListItem value={item.value}>
735
+ <OptionListItemLeading>
736
+ <CryptoIcon
737
+ ledgerId={meta.ledgerId}
738
+ ticker={meta.ticker}
739
+ size='32px'
740
+ />
741
+ </OptionListItemLeading>
742
+ <OptionListItemContent>
743
+ <OptionListItemText>{item.label}</OptionListItemText>
744
+ <OptionListItemDescription>
745
+ {meta.ticker}
746
+ </OptionListItemDescription>
747
+ </OptionListItemContent>
748
+ </OptionListItem>
749
+ );
750
+ }}
751
+ />
752
+ </OptionList>
753
+ </Box>
754
+ ),
755
+ };