@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.
- package/dist/module/i18n/I18nProvider.js.map +1 -1
- package/dist/module/i18n/i18n.js.map +1 -1
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.js.map +1 -1
- package/dist/module/lib/Components/BaseInput/BaseInput.js +1 -1
- package/dist/module/lib/Components/BaseInput/BaseInput.js.map +1 -1
- package/dist/module/lib/Components/BottomSheet/BottomSheet.js.map +1 -1
- package/dist/module/lib/Components/BottomSheet/BottomSheet.test.js.map +1 -1
- package/dist/module/lib/Components/Card/Card.js +1 -1
- package/dist/module/lib/Components/Card/Card.js.map +1 -1
- package/dist/module/lib/Components/Checkbox/BaseCheckbox.js.map +1 -1
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.js.map +1 -1
- package/dist/module/lib/Components/ListItem/ListItem.js +57 -27
- package/dist/module/lib/Components/ListItem/ListItem.js.map +1 -1
- package/dist/module/lib/Components/ListItem/ListItem.mdx +15 -7
- package/dist/module/lib/Components/ListItem/ListItem.stories.js +497 -283
- package/dist/module/lib/Components/ListItem/ListItem.stories.js.map +1 -1
- package/dist/module/lib/Components/ListItem/ListItem.test.js +153 -0
- package/dist/module/lib/Components/ListItem/ListItem.test.js.map +1 -0
- package/dist/module/lib/Components/{TriggerButton/TriggerButton.js → MediaButton/MediaButton.js} +13 -10
- package/dist/module/lib/Components/MediaButton/MediaButton.js.map +1 -0
- package/{src/lib/Components/TriggerButton/TriggerButton.mdx → dist/module/lib/Components/MediaButton/MediaButton.mdx} +10 -10
- package/dist/module/lib/Components/{TriggerButton/TriggerButton.stories.js → MediaButton/MediaButton.stories.js} +18 -18
- package/dist/module/lib/Components/MediaButton/MediaButton.stories.js.map +1 -0
- package/dist/module/lib/Components/{TriggerButton/TriggerButton.test.js → MediaButton/MediaButton.test.js} +14 -14
- package/dist/module/lib/Components/MediaButton/MediaButton.test.js.map +1 -0
- package/dist/module/lib/Components/MediaButton/index.js +5 -0
- package/dist/module/lib/Components/MediaButton/index.js.map +1 -0
- package/dist/module/lib/Components/MediaButton/types.js.map +1 -0
- package/dist/module/lib/Components/NavBar/NavBar.js.map +1 -1
- package/dist/module/lib/Components/OptionList/OptionList.figma.js +28 -0
- package/dist/module/lib/Components/OptionList/OptionList.figma.js.map +1 -0
- package/dist/module/lib/Components/OptionList/OptionList.js +452 -0
- package/dist/module/lib/Components/OptionList/OptionList.js.map +1 -0
- package/dist/module/lib/Components/OptionList/OptionList.mdx +304 -0
- package/dist/module/lib/Components/OptionList/OptionList.stories.js +735 -0
- package/dist/module/lib/Components/OptionList/OptionList.stories.js.map +1 -0
- package/dist/module/lib/Components/OptionList/OptionList.test.js +443 -0
- package/dist/module/lib/Components/OptionList/OptionList.test.js.map +1 -0
- package/dist/module/lib/Components/OptionList/index.js +5 -0
- package/dist/module/lib/Components/OptionList/index.js.map +1 -0
- package/dist/module/lib/Components/OptionList/types.js +4 -0
- package/dist/module/lib/Components/OptionList/types.js.map +1 -0
- package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.js +36 -0
- package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.js.map +1 -0
- package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.test.js +84 -0
- package/dist/module/lib/Components/OptionList/useOptionList/useOptionListItems.test.js.map +1 -0
- package/dist/module/lib/Components/SegmentedControl/usePillLayout.js.map +1 -1
- package/dist/module/lib/Components/Select/GlobalSelectContext.js.map +1 -1
- package/dist/module/lib/Components/Select/Select.js.map +1 -1
- package/dist/module/lib/Components/Slot/Slot.js.map +1 -1
- package/dist/module/lib/Components/Spinner/Spinner.js.map +1 -1
- package/dist/module/lib/Components/Spot/Spot.js.map +1 -1
- package/dist/module/lib/Components/TabBar/TabBar.js +4 -4
- package/dist/module/lib/Components/TabBar/TabBar.js.map +1 -1
- package/dist/module/lib/Components/Tooltip/GlobalTooltipContext.js.map +1 -1
- package/dist/module/lib/Components/Tooltip/Tooltip.js.map +1 -1
- package/dist/module/lib/Components/Utility/Gradient/LinearGradient/LinearGradient.test.js.map +1 -1
- package/dist/module/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.test.js.map +1 -1
- package/dist/module/lib/Components/Utility/Pressable/Pressable.test.js.map +1 -1
- package/dist/module/lib/Components/index.js +2 -1
- package/dist/module/lib/Components/index.js.map +1 -1
- package/dist/module/lib/utils/components/InjectStylesIntoChildren.js.map +1 -1
- package/dist/module/lib/utils/constants/constants.js.map +1 -1
- package/dist/module/lib/utils/react/extractTextFromChildren.js.map +1 -1
- package/dist/module/lib/utils/useControllableState/useControllableState.js.map +1 -1
- package/dist/module/styles/hooks/useStyleSheet.js.map +1 -1
- package/dist/module/styles/hooks/useStyleSheet.test.js.map +1 -1
- package/dist/module/styles/lx/createStyledPressable.test.js.map +1 -1
- package/dist/module/styles/lx/createStyledText.test.js.map +1 -1
- package/dist/module/styles/lx/createStyledView.js.map +1 -1
- package/dist/module/styles/lx/createStyledView.test.js.map +1 -1
- package/dist/module/styles/provider/LumenStyleSheetProvider.js.map +1 -1
- package/dist/module/styles/provider/LumenStyleSheetProvider.test.js.map +1 -1
- package/dist/module/utils/icon-template.js +0 -1
- package/dist/module/utils/icon-template.js.map +1 -1
- package/dist/typescript/src/i18n/I18nProvider.d.ts +1 -1
- package/dist/typescript/src/i18n/I18nProvider.d.ts.map +1 -1
- package/dist/typescript/src/i18n/i18n.d.ts +1 -1
- package/dist/typescript/src/i18n/i18n.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/Pulse/Pulse.d.ts +1 -1
- package/dist/typescript/src/lib/Animations/Pulse/Pulse.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/Pulse/types.d.ts +2 -2
- package/dist/typescript/src/lib/Animations/Pulse/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/Spin/Spin.d.ts +1 -1
- package/dist/typescript/src/lib/Animations/Spin/Spin.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/Spin/types.d.ts +2 -2
- package/dist/typescript/src/lib/Animations/Spin/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/types.d.ts +2 -2
- package/dist/typescript/src/lib/Animations/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/useTimingConfig.d.ts +1 -1
- package/dist/typescript/src/lib/Animations/useTimingConfig.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/AddressInput/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/AddressInput/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/AmountDisplay/AmountDisplay.d.ts +1 -1
- package/dist/typescript/src/lib/Components/AmountDisplay/AmountDisplay.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/AmountDisplay/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/AmountDisplay/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/AmountInput/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/AmountInput/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Avatar/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Avatar/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Banner/Banner.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Banner/Banner.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Banner/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Banner/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BaseInput/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/BaseInput/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/BottomSheet.d.ts +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/BottomSheetHeader.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/CustomBackdrop.d.ts +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/CustomBackdrop.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/CustomHandle.d.ts +2 -2
- package/dist/typescript/src/lib/Components/BottomSheet/CustomHandle.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/Scrollables.d.ts +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/Scrollables.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/BottomSheet/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/useBottomSheetRef.d.ts +1 -1
- package/dist/typescript/src/lib/Components/BottomSheet/useBottomSheetRef.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Button/Button.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Button/Button.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Button/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/Button/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Card/Card.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Card/Card.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Card/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Card/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts +1 -1
- package/dist/typescript/src/lib/Components/CardButton/CardButton.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/CardButton/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/CardButton/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Checkbox/BaseCheckbox.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Checkbox/BaseCheckbox.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Checkbox/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Checkbox/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ContentBanner/ContentBanner.d.ts +1 -1
- package/dist/typescript/src/lib/Components/ContentBanner/ContentBanner.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ContentBanner/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/ContentBanner/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Divider/Divider.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Divider/Divider.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Divider/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Divider/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts +3 -3
- package/dist/typescript/src/lib/Components/DotSymbol/DotSymbol.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/DotSymbol/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Icon/Icon.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Icon/Icon.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Icon/createIcon.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Icon/createIcon.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Icon/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/Icon/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/IconButton/IconButton.d.ts +1 -1
- package/dist/typescript/src/lib/Components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/IconButton/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/IconButton/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Label/Label.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Label/Label.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Label/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Label/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Link/Link.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Link/Link.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Link/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/Link/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts +9 -9
- package/dist/typescript/src/lib/Components/ListItem/ListItem.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ListItem/types.d.ts +12 -8
- package/dist/typescript/src/lib/Components/ListItem/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts +1 -1
- package/dist/typescript/src/lib/Components/MediaBanner/MediaBanner.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/MediaBanner/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaButton/MediaButton.d.ts +23 -0
- package/dist/typescript/src/lib/Components/MediaButton/MediaButton.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaButton/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/MediaButton/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/{TriggerButton → MediaButton}/types.d.ts +12 -7
- package/dist/typescript/src/lib/Components/MediaButton/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts +1 -1
- package/dist/typescript/src/lib/Components/MediaCard/MediaCard.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaCard/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/MediaCard/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts +1 -1
- package/dist/typescript/src/lib/Components/MediaImage/MediaImage.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/MediaImage/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/MediaImage/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/NavBar/CoinCapsule.d.ts +1 -1
- package/dist/typescript/src/lib/Components/NavBar/CoinCapsule.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts +1 -1
- package/dist/typescript/src/lib/Components/NavBar/NavBar.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/NavBar/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/NavBar/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/OptionList/OptionList.d.ts +12 -0
- package/dist/typescript/src/lib/Components/OptionList/OptionList.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts +2 -0
- package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/OptionList/index.d.ts +3 -0
- package/dist/typescript/src/lib/Components/OptionList/index.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/OptionList/types.d.ts +97 -0
- package/dist/typescript/src/lib/Components/OptionList/types.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/OptionList/useOptionList/useOptionListItems.d.ts +12 -0
- package/dist/typescript/src/lib/Components/OptionList/useOptionList/useOptionListItems.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/PageIndicator/PageIndicator.d.ts +1 -1
- package/dist/typescript/src/lib/Components/PageIndicator/PageIndicator.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/PageIndicator/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/PageIndicator/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/SearchInput/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/SearchInput/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/SegmentedControl/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/SegmentedControl/usePillLayout.d.ts +3 -2
- package/dist/typescript/src/lib/Components/SegmentedControl/usePillLayout.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Select/GlobalSelectContext.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Select/SelectContext.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Select/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/Select/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Skeleton/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Skeleton/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Slot/Slot.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Slot/Slot.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Spinner/Spinner.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Spinner/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Spinner/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Spot/Spot.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Spot/Spot.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Spot/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Spot/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Stepper/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Stepper/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Subheader/Subheader.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Subheader/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Subheader/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Switch/BaseSwitch.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Switch/BaseSwitch.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Switch/Switch.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Switch/Switch.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Switch/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Switch/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/TabBar/TabBar.d.ts +1 -1
- package/dist/typescript/src/lib/Components/TabBar/TabBar.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/TabBar/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/TabBar/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tag/Tag.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Tag/Tag.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tag/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Tag/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/TextInput/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/TextInput/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/typescript/src/lib/Components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/ThemeProvider/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/ThemeProvider/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tile/Tile.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Tile/Tile.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tile/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Tile/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts +1 -1
- package/dist/typescript/src/lib/Components/TileButton/TileButton.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/TileButton/types.d.ts +4 -4
- package/dist/typescript/src/lib/Components/TileButton/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tooltip/GlobalTooltipContext.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Tooltip/GlobalTooltipContext.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tooltip/TooltipContext.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Tooltip/TooltipContext.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Tooltip/types.d.ts +2 -2
- package/dist/typescript/src/lib/Components/Tooltip/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Utility/Box/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Utility/Box/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Utility/Gradient/LinearGradient/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Utility/Gradient/LinearGradient/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Utility/Gradient/RadialGradient/types.d.ts +3 -3
- package/dist/typescript/src/lib/Components/Utility/Gradient/RadialGradient/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Utility/Pressable/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Utility/Pressable/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Utility/Text/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Utility/Text/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Wrap/Wrap.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Wrap/Wrap.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Wrap/types.d.ts +1 -1
- package/dist/typescript/src/lib/Components/Wrap/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/index.d.ts +2 -1
- package/dist/typescript/src/lib/Components/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/types/index.d.ts +1 -1
- package/dist/typescript/src/lib/types/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/utils/components/InjectStylesIntoChildren.d.ts +2 -2
- package/dist/typescript/src/lib/utils/components/InjectStylesIntoChildren.d.ts.map +1 -1
- package/dist/typescript/src/lib/utils/constants/constants.d.ts.map +1 -1
- package/dist/typescript/src/lib/utils/react/extractTextFromChildren.d.ts +1 -1
- package/dist/typescript/src/lib/utils/react/extractTextFromChildren.d.ts.map +1 -1
- package/dist/typescript/src/lib/utils/useControllableState/useControllableState.d.ts +1 -1
- package/dist/typescript/src/lib/utils/useControllableState/useControllableState.d.ts.map +1 -1
- package/dist/typescript/src/styles/hooks/useStyleSheet.d.ts +1 -1
- package/dist/typescript/src/styles/hooks/useStyleSheet.d.ts.map +1 -1
- package/dist/typescript/src/styles/lx/areLxPropsEqual.d.ts +1 -1
- package/dist/typescript/src/styles/lx/areLxPropsEqual.d.ts.map +1 -1
- package/dist/typescript/src/styles/lx/createStyledPressable.d.ts +1 -1
- package/dist/typescript/src/styles/lx/createStyledPressable.d.ts.map +1 -1
- package/dist/typescript/src/styles/lx/createStyledText.d.ts +1 -1
- package/dist/typescript/src/styles/lx/createStyledText.d.ts.map +1 -1
- package/dist/typescript/src/styles/lx/createStyledView.d.ts +1 -1
- package/dist/typescript/src/styles/lx/createStyledView.d.ts.map +1 -1
- package/dist/typescript/src/styles/lx/resolveConfig.d.ts +1 -1
- package/dist/typescript/src/styles/lx/resolveConfig.d.ts.map +1 -1
- package/dist/typescript/src/styles/provider/LumenStyleSheetProvider.d.ts +1 -1
- package/dist/typescript/src/styles/provider/LumenStyleSheetProvider.d.ts.map +1 -1
- package/dist/typescript/src/styles/provider/types.d.ts +3 -3
- package/dist/typescript/src/styles/provider/types.d.ts.map +1 -1
- package/dist/typescript/src/styles/theme/createStylesheetTheme.d.ts +1 -1
- package/dist/typescript/src/styles/theme/createStylesheetTheme.d.ts.map +1 -1
- package/dist/typescript/src/styles/theme/resolvers/resolveFontWeights.d.ts +1 -1
- package/dist/typescript/src/styles/theme/resolvers/resolveFontWeights.d.ts.map +1 -1
- package/dist/typescript/src/styles/theme/resolvers/resolveNegativeSpacing.d.ts +2 -2
- package/dist/typescript/src/styles/theme/resolvers/resolveNegativeSpacing.d.ts.map +1 -1
- package/dist/typescript/src/styles/types/factories.types.d.ts +3 -3
- package/dist/typescript/src/styles/types/factories.types.d.ts.map +1 -1
- package/dist/typescript/src/styles/types/theme.types.d.ts +8 -7
- package/dist/typescript/src/styles/types/theme.types.d.ts.map +1 -1
- package/dist/typescript/src/utils/icon-template.d.ts +1 -1
- package/dist/typescript/src/utils/icon-template.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/i18n/I18nProvider.tsx +2 -1
- package/src/i18n/i18n.ts +2 -5
- package/src/lib/Animations/Pulse/Pulse.tsx +2 -2
- package/src/lib/Animations/Pulse/types.ts +2 -2
- package/src/lib/Animations/Spin/Spin.tsx +2 -2
- package/src/lib/Animations/Spin/types.ts +2 -2
- package/src/lib/Animations/types.ts +2 -2
- package/src/lib/Animations/useTimingConfig.ts +1 -1
- package/src/lib/Components/AddressInput/AddressInput.stories.tsx +1 -1
- package/src/lib/Components/AddressInput/types.ts +2 -2
- package/src/lib/Components/AmountDisplay/AmountDisplay.test.tsx +1 -1
- package/src/lib/Components/AmountDisplay/AmountDisplay.tsx +3 -3
- package/src/lib/Components/AmountDisplay/types.ts +2 -2
- package/src/lib/Components/AmountInput/types.ts +2 -2
- package/src/lib/Components/Avatar/Avatar.stories.tsx +1 -1
- package/src/lib/Components/Avatar/Avatar.tsx +1 -1
- package/src/lib/Components/Avatar/types.ts +1 -1
- package/src/lib/Components/Banner/Banner.tsx +3 -3
- package/src/lib/Components/Banner/types.ts +2 -2
- package/src/lib/Components/BaseInput/BaseInput.tsx +2 -1
- package/src/lib/Components/BaseInput/types.ts +5 -5
- package/src/lib/Components/BottomSheet/BottomSheet.test.tsx +2 -1
- package/src/lib/Components/BottomSheet/BottomSheet.tsx +3 -5
- package/src/lib/Components/BottomSheet/BottomSheetHeader.tsx +1 -1
- package/src/lib/Components/BottomSheet/CustomBackdrop.tsx +1 -1
- package/src/lib/Components/BottomSheet/CustomHandle.tsx +2 -2
- package/src/lib/Components/BottomSheet/Scrollables.tsx +2 -2
- package/src/lib/Components/BottomSheet/types.ts +4 -4
- package/src/lib/Components/BottomSheet/useBottomSheetRef.ts +1 -1
- package/src/lib/Components/Button/BaseButton.test.tsx +1 -1
- package/src/lib/Components/Button/BaseButton.tsx +3 -3
- package/src/lib/Components/Button/Button.tsx +1 -1
- package/src/lib/Components/Button/types.ts +4 -4
- package/src/lib/Components/Card/Card.test.tsx +1 -1
- package/src/lib/Components/Card/Card.tsx +5 -3
- package/src/lib/Components/Card/types.ts +3 -3
- package/src/lib/Components/CardButton/CardButton.tsx +1 -1
- package/src/lib/Components/CardButton/types.ts +3 -3
- package/src/lib/Components/Checkbox/BaseCheckbox.tsx +4 -8
- package/src/lib/Components/Checkbox/Checkbox.tsx +1 -1
- package/src/lib/Components/Checkbox/types.ts +1 -1
- package/src/lib/Components/ContentBanner/ContentBanner.tsx +1 -1
- package/src/lib/Components/ContentBanner/types.ts +1 -1
- package/src/lib/Components/Divider/Divider.tsx +1 -1
- package/src/lib/Components/Divider/types.ts +1 -1
- package/src/lib/Components/DotSymbol/DotSymbol.tsx +3 -3
- package/src/lib/Components/DotSymbol/types.ts +1 -1
- package/src/lib/Components/Icon/Icon.tsx +2 -2
- package/src/lib/Components/Icon/createIcon.ts +2 -2
- package/src/lib/Components/Icon/types.ts +4 -4
- package/src/lib/Components/IconButton/IconButton.tsx +1 -1
- package/src/lib/Components/IconButton/types.ts +1 -1
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +4 -3
- package/src/lib/Components/InteractiveIcon/types.ts +4 -4
- package/src/lib/Components/Label/Label.tsx +1 -1
- package/src/lib/Components/Label/types.ts +1 -1
- package/src/lib/Components/Link/Link.test.tsx +1 -1
- package/src/lib/Components/Link/Link.tsx +2 -2
- package/src/lib/Components/Link/types.ts +4 -4
- package/src/lib/Components/ListItem/ListItem.mdx +15 -7
- package/src/lib/Components/ListItem/ListItem.stories.tsx +354 -220
- package/src/lib/Components/ListItem/ListItem.test.tsx +152 -0
- package/src/lib/Components/ListItem/ListItem.tsx +64 -28
- package/src/lib/Components/ListItem/types.ts +12 -9
- package/src/lib/Components/MediaBanner/MediaBanner.tsx +1 -1
- package/src/lib/Components/MediaBanner/types.ts +2 -2
- package/{dist/module/lib/Components/TriggerButton/TriggerButton.mdx → src/lib/Components/MediaButton/MediaButton.mdx} +10 -10
- package/src/lib/Components/{TriggerButton/TriggerButton.stories.tsx → MediaButton/MediaButton.stories.tsx} +28 -28
- package/src/lib/Components/{TriggerButton/TriggerButton.test.tsx → MediaButton/MediaButton.test.tsx} +24 -23
- package/src/lib/Components/{TriggerButton/TriggerButton.tsx → MediaButton/MediaButton.tsx} +28 -22
- package/src/lib/Components/MediaButton/index.ts +2 -0
- package/src/lib/Components/{TriggerButton → MediaButton}/types.ts +12 -7
- package/src/lib/Components/MediaCard/MediaCard.tsx +1 -1
- package/src/lib/Components/MediaCard/types.ts +1 -1
- package/src/lib/Components/MediaImage/MediaImage.tsx +1 -1
- package/src/lib/Components/MediaImage/types.ts +1 -1
- package/src/lib/Components/NavBar/CoinCapsule.tsx +1 -1
- package/src/lib/Components/NavBar/NavBar.tsx +5 -3
- package/src/lib/Components/NavBar/types.ts +4 -4
- package/src/lib/Components/OptionList/OptionList.figma.tsx +37 -0
- package/src/lib/Components/OptionList/OptionList.mdx +304 -0
- package/src/lib/Components/OptionList/OptionList.stories.tsx +755 -0
- package/src/lib/Components/OptionList/OptionList.test.tsx +412 -0
- package/src/lib/Components/OptionList/OptionList.tsx +532 -0
- package/src/lib/Components/OptionList/index.ts +2 -0
- package/src/lib/Components/OptionList/types.ts +115 -0
- package/src/lib/Components/OptionList/useOptionList/useOptionListItems.test.ts +73 -0
- package/src/lib/Components/OptionList/useOptionList/useOptionListItems.ts +49 -0
- package/src/lib/Components/PageIndicator/PageIndicator.tsx +1 -1
- package/src/lib/Components/PageIndicator/types.ts +1 -1
- package/src/lib/Components/SearchInput/SearchInput.stories.tsx +1 -1
- package/src/lib/Components/SearchInput/types.ts +2 -2
- package/src/lib/Components/SegmentedControl/SegmentedControl.tsx +1 -1
- package/src/lib/Components/SegmentedControl/types.ts +4 -4
- package/src/lib/Components/SegmentedControl/usePillLayout.ts +2 -2
- package/src/lib/Components/Select/GlobalSelectContext.tsx +3 -2
- package/src/lib/Components/Select/Select.tsx +1 -1
- package/src/lib/Components/Select/SelectContext.tsx +2 -2
- package/src/lib/Components/Select/types.ts +4 -4
- package/src/lib/Components/Skeleton/Skeleton.stories.tsx +1 -1
- package/src/lib/Components/Skeleton/types.ts +1 -1
- package/src/lib/Components/Slot/Slot.tsx +4 -5
- package/src/lib/Components/Spinner/Spinner.stories.tsx +1 -1
- package/src/lib/Components/Spinner/Spinner.tsx +3 -2
- package/src/lib/Components/Spinner/types.ts +3 -3
- package/src/lib/Components/Spot/Spot.stories.tsx +2 -2
- package/src/lib/Components/Spot/Spot.tsx +6 -4
- package/src/lib/Components/Spot/types.ts +3 -3
- package/src/lib/Components/Stepper/Stepper.stories.tsx +1 -1
- package/src/lib/Components/Stepper/Stepper.tsx +1 -1
- package/src/lib/Components/Stepper/types.ts +1 -1
- package/src/lib/Components/Subheader/Subheader.tsx +1 -1
- package/src/lib/Components/Subheader/types.ts +3 -3
- package/src/lib/Components/Switch/BaseSwitch.tsx +2 -2
- package/src/lib/Components/Switch/Switch.tsx +1 -1
- package/src/lib/Components/Switch/types.ts +1 -1
- package/src/lib/Components/TabBar/TabBar.tsx +4 -9
- package/src/lib/Components/TabBar/types.ts +4 -4
- package/src/lib/Components/Tag/Tag.tsx +2 -2
- package/src/lib/Components/Tag/types.ts +3 -3
- package/src/lib/Components/TextInput/types.ts +2 -2
- package/src/lib/Components/ThemeProvider/ThemeProvider.tsx +1 -1
- package/src/lib/Components/ThemeProvider/types.ts +4 -4
- package/src/lib/Components/Tile/Tile.tsx +2 -2
- package/src/lib/Components/Tile/types.ts +2 -2
- package/src/lib/Components/TileButton/TileButton.test.tsx +1 -1
- package/src/lib/Components/TileButton/TileButton.tsx +3 -3
- package/src/lib/Components/TileButton/types.ts +4 -4
- package/src/lib/Components/Tooltip/GlobalTooltipContext.tsx +2 -1
- package/src/lib/Components/Tooltip/Tooltip.tsx +1 -1
- package/src/lib/Components/Tooltip/TooltipContext.tsx +1 -1
- package/src/lib/Components/Tooltip/types.ts +2 -2
- package/src/lib/Components/Utility/Box/types.ts +1 -1
- package/src/lib/Components/Utility/Gradient/LinearGradient/LinearGradient.test.tsx +2 -1
- package/src/lib/Components/Utility/Gradient/LinearGradient/types.ts +3 -3
- package/src/lib/Components/Utility/Gradient/RadialGradient/RadialGradient.test.tsx +2 -1
- package/src/lib/Components/Utility/Gradient/RadialGradient/types.ts +3 -3
- package/src/lib/Components/Utility/Pressable/Pressable.test.tsx +2 -1
- package/src/lib/Components/Utility/Pressable/types.ts +1 -1
- package/src/lib/Components/Utility/Text/Text.stories.tsx +1 -1
- package/src/lib/Components/Utility/Text/types.ts +1 -1
- package/src/lib/Components/Wrap/Wrap.tsx +1 -1
- package/src/lib/Components/Wrap/types.ts +1 -1
- package/src/lib/Components/index.ts +2 -1
- package/src/lib/types/index.ts +1 -1
- package/src/lib/utils/components/InjectStylesIntoChildren.tsx +3 -8
- package/src/lib/utils/constants/constants.ts +2 -4
- package/src/lib/utils/react/extractTextFromChildren.ts +2 -1
- package/src/lib/utils/useControllableState/useControllableState.ts +2 -1
- package/src/styles/hooks/useStyleSheet.test.tsx +2 -1
- package/src/styles/hooks/useStyleSheet.ts +2 -1
- package/src/styles/lx/areLxPropsEqual.ts +1 -1
- package/src/styles/lx/createStyledPressable.test.tsx +2 -2
- package/src/styles/lx/createStyledPressable.tsx +1 -1
- package/src/styles/lx/createStyledText.test.tsx +2 -1
- package/src/styles/lx/createStyledText.tsx +1 -1
- package/src/styles/lx/createStyledView.test.tsx +2 -1
- package/src/styles/lx/createStyledView.tsx +2 -1
- package/src/styles/lx/resolveConfig.ts +1 -1
- package/src/styles/provider/LumenStyleSheetProvider.test.tsx +2 -1
- package/src/styles/provider/LumenStyleSheetProvider.tsx +2 -4
- package/src/styles/provider/types.ts +3 -3
- package/src/styles/theme/createStylesheetTheme.ts +1 -1
- package/src/styles/theme/resolvers/resolveFontWeights.ts +1 -1
- package/src/styles/theme/resolvers/resolveNegativeSpacing.test.ts +1 -1
- package/src/styles/theme/resolvers/resolveNegativeSpacing.ts +2 -2
- package/src/styles/types/factories.types.ts +3 -3
- package/src/styles/types/theme.types.ts +10 -8
- package/src/utils/icon-template.ts +1 -2
- package/dist/module/lib/Components/TriggerButton/TriggerButton.js.map +0 -1
- package/dist/module/lib/Components/TriggerButton/TriggerButton.stories.js.map +0 -1
- package/dist/module/lib/Components/TriggerButton/TriggerButton.test.js.map +0 -1
- package/dist/module/lib/Components/TriggerButton/index.js +0 -5
- package/dist/module/lib/Components/TriggerButton/index.js.map +0 -1
- package/dist/module/lib/Components/TriggerButton/types.js.map +0 -1
- package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts +0 -23
- package/dist/typescript/src/lib/Components/TriggerButton/TriggerButton.d.ts.map +0 -1
- package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts +0 -3
- package/dist/typescript/src/lib/Components/TriggerButton/index.d.ts.map +0 -1
- package/dist/typescript/src/lib/Components/TriggerButton/types.d.ts.map +0 -1
- package/src/lib/Components/TriggerButton/index.ts +0 -2
- /package/dist/module/lib/Components/{TriggerButton → MediaButton}/types.js +0 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { Meta, Canvas } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import * as OptionListStories from './OptionList.stories';
|
|
3
|
+
import {
|
|
4
|
+
CustomTabs,
|
|
5
|
+
Tab,
|
|
6
|
+
DoVsDontRow,
|
|
7
|
+
DoBlockItem,
|
|
8
|
+
DontBlockItem,
|
|
9
|
+
} from '../../../../.storybook/components';
|
|
10
|
+
|
|
11
|
+
<Meta title='Selection/OptionList' of={OptionListStories} />
|
|
12
|
+
|
|
13
|
+
# OptionList
|
|
14
|
+
|
|
15
|
+
<CustomTabs>
|
|
16
|
+
<Tab label="Overview">
|
|
17
|
+
|
|
18
|
+
## Introduction
|
|
19
|
+
|
|
20
|
+
OptionList is a data-driven, composable selection list designed to be embedded inside a `BottomSheet`, a new screen, or any container. Unlike `Select`, it does not manage its own trigger or modal — consumers compose it within their own layout.
|
|
21
|
+
|
|
22
|
+
It handles **selection state**, **automatic grouping** (via a `group` field on items), and exposes a `renderItem` callback for full control over item rendering.
|
|
23
|
+
|
|
24
|
+
> View in [Figma](https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7/2.-Components-Library?node-id=15941-6709&m=dev).
|
|
25
|
+
|
|
26
|
+
## Anatomy
|
|
27
|
+
|
|
28
|
+
<Canvas of={OptionListStories.Base} />
|
|
29
|
+
|
|
30
|
+
- **OptionList**: Root component managing selection state and item processing
|
|
31
|
+
- **OptionListTrigger**: Input-style trigger with floating label and chevron — displays the selected value and opens a BottomSheet on press
|
|
32
|
+
- **OptionListContent**: Iterates items, renders group labels and separators automatically, calls `renderItem`
|
|
33
|
+
- **OptionListItem**: Pressable item with selection check mark
|
|
34
|
+
- **OptionListItemLeading**: Slot for leading visuals (icons, avatars)
|
|
35
|
+
- **OptionListItemContent**: Flex column for title + description
|
|
36
|
+
- **OptionListItemContentRow**: Horizontal row for placing elements side-by-side (e.g. title + tag)
|
|
37
|
+
- **OptionListItemText**: Styled title text
|
|
38
|
+
- **OptionListItemDescription**: Styled description text
|
|
39
|
+
|
|
40
|
+
## Properties
|
|
41
|
+
|
|
42
|
+
### Grouped items
|
|
43
|
+
|
|
44
|
+
Items with a `group` field are automatically grouped with labels and separators:
|
|
45
|
+
|
|
46
|
+
<Canvas of={OptionListStories.WithGroups} />
|
|
47
|
+
|
|
48
|
+
### Complex item layout
|
|
49
|
+
|
|
50
|
+
Use `OptionListItemContentRow` to place a `Tag` next to the title:
|
|
51
|
+
|
|
52
|
+
<Canvas of={OptionListStories.WithContentRow} />
|
|
53
|
+
|
|
54
|
+
### Disabled items
|
|
55
|
+
|
|
56
|
+
Individual items can be disabled:
|
|
57
|
+
|
|
58
|
+
<Canvas of={OptionListStories.WithDisabledItems} />
|
|
59
|
+
|
|
60
|
+
### Groups + complex layout
|
|
61
|
+
|
|
62
|
+
Combining grouping with rich item content:
|
|
63
|
+
|
|
64
|
+
<Canvas of={OptionListStories.GroupedWithContentRow} />
|
|
65
|
+
|
|
66
|
+
### Trigger showcase
|
|
67
|
+
|
|
68
|
+
OptionList can be opened from any trigger. `MediaButton` supports multiple appearances (`gray`, `transparent`, `no-background`), optional icons (`flat` / `rounded`), and disabled state:
|
|
69
|
+
|
|
70
|
+
<Canvas of={OptionListStories.TriggerShowcase} />
|
|
71
|
+
|
|
72
|
+
</Tab>
|
|
73
|
+
<Tab label="Implementation">
|
|
74
|
+
|
|
75
|
+
## Setup
|
|
76
|
+
|
|
77
|
+
Install and set up the library with our [Setup Guide →](?path=/docs/getting-started-setup--docs).
|
|
78
|
+
|
|
79
|
+
## Basic usage
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
import {
|
|
83
|
+
OptionList,
|
|
84
|
+
OptionListContent,
|
|
85
|
+
OptionListItem,
|
|
86
|
+
OptionListItemContent,
|
|
87
|
+
OptionListItemText,
|
|
88
|
+
} from '@ledgerhq/lumen-ui-rnative';
|
|
89
|
+
|
|
90
|
+
const items = [
|
|
91
|
+
{ value: 'a', label: 'Option A' },
|
|
92
|
+
{ value: 'b', label: 'Option B' },
|
|
93
|
+
];
|
|
94
|
+
|
|
95
|
+
function MyList() {
|
|
96
|
+
const [value, setValue] = useState<string | null>(null);
|
|
97
|
+
|
|
98
|
+
return (
|
|
99
|
+
<OptionList items={items} value={value} onValueChange={setValue}>
|
|
100
|
+
<OptionListContent
|
|
101
|
+
renderItem={(item) => (
|
|
102
|
+
<OptionListItem value={item.value}>
|
|
103
|
+
<OptionListItemContent>
|
|
104
|
+
<OptionListItemText>{item.label}</OptionListItemText>
|
|
105
|
+
</OptionListItemContent>
|
|
106
|
+
</OptionListItem>
|
|
107
|
+
)}
|
|
108
|
+
/>
|
|
109
|
+
</OptionList>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Inside a BottomSheet
|
|
115
|
+
|
|
116
|
+
Use `OptionListTrigger` as the input-style trigger — it provides a floating label that animates up when a value is selected, and a chevron indicator. Pass children only when a value is selected so the label stays centered when empty.
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
import {
|
|
120
|
+
OptionList, OptionListContent, OptionListItem,
|
|
121
|
+
OptionListItemContent, OptionListItemText, OptionListTrigger,
|
|
122
|
+
BottomSheet, BottomSheetHeader, BottomSheetView,
|
|
123
|
+
useBottomSheetRef, Text,
|
|
124
|
+
} from '@ledgerhq/lumen-ui-rnative';
|
|
125
|
+
|
|
126
|
+
function CurrencyPicker() {
|
|
127
|
+
const [value, setValue] = useState<string | null>(null);
|
|
128
|
+
const ref = useBottomSheetRef();
|
|
129
|
+
const selected = items.find((i) => i.value === value);
|
|
130
|
+
|
|
131
|
+
return (
|
|
132
|
+
<>
|
|
133
|
+
<OptionListTrigger
|
|
134
|
+
label='Currency'
|
|
135
|
+
onPress={() => ref.current?.present()}
|
|
136
|
+
>
|
|
137
|
+
{selected && <Text lx={{ color: 'base' }}>{selected.label}</Text>}
|
|
138
|
+
</OptionListTrigger>
|
|
139
|
+
<BottomSheet
|
|
140
|
+
ref={ref}
|
|
141
|
+
enableDynamicSizing
|
|
142
|
+
snapPoints={null}
|
|
143
|
+
onClose={() => ref.current?.dismiss()}
|
|
144
|
+
>
|
|
145
|
+
<BottomSheetView>
|
|
146
|
+
<BottomSheetHeader title='Pick a currency' />
|
|
147
|
+
<OptionList
|
|
148
|
+
items={items}
|
|
149
|
+
value={value}
|
|
150
|
+
onValueChange={(v) => { setValue(v); ref.current?.dismiss(); }}
|
|
151
|
+
>
|
|
152
|
+
<OptionListContent
|
|
153
|
+
renderItem={(item) => (
|
|
154
|
+
<OptionListItem value={item.value}>
|
|
155
|
+
<OptionListItemContent>
|
|
156
|
+
<OptionListItemText>{item.label}</OptionListItemText>
|
|
157
|
+
</OptionListItemContent>
|
|
158
|
+
</OptionListItem>
|
|
159
|
+
)}
|
|
160
|
+
/>
|
|
161
|
+
</OptionList>
|
|
162
|
+
</BottomSheetView>
|
|
163
|
+
</BottomSheet>
|
|
164
|
+
</>
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
## Grouping
|
|
170
|
+
|
|
171
|
+
Add a `group` field to items — labels and separators are rendered automatically:
|
|
172
|
+
|
|
173
|
+
```tsx
|
|
174
|
+
const items = [
|
|
175
|
+
{ value: 'btc', label: 'Bitcoin', group: 'Crypto' },
|
|
176
|
+
{ value: 'eth', label: 'Ethereum', group: 'Crypto' },
|
|
177
|
+
{ value: 'usd', label: 'US Dollar', group: 'Fiat' },
|
|
178
|
+
];
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Controlled vs uncontrolled
|
|
182
|
+
|
|
183
|
+
Use `value` + `onValueChange` (controlled) when OptionList is inside a BottomSheet — the sheet unmounts children on dismiss, so internal state is lost. Use `defaultValue` (uncontrolled) only when the component stays mounted (e.g. inline in a screen).
|
|
184
|
+
|
|
185
|
+
## Custom item layout with meta
|
|
186
|
+
|
|
187
|
+
Use `meta` for arbitrary data, and sub-components for layout:
|
|
188
|
+
|
|
189
|
+
```tsx
|
|
190
|
+
const items = [
|
|
191
|
+
{ value: 'eth', label: 'Ethereum', meta: { ticker: 'ETH', tag: 'ERC-20' } },
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
<OptionListContent
|
|
195
|
+
renderItem={(item) => {
|
|
196
|
+
const meta = item.meta as { ticker: string; tag: string };
|
|
197
|
+
return (
|
|
198
|
+
<OptionListItem value={item.value}>
|
|
199
|
+
<OptionListItemLeading>
|
|
200
|
+
<Spot appearance='icon' icon={Wallet} />
|
|
201
|
+
</OptionListItemLeading>
|
|
202
|
+
<OptionListItemContent>
|
|
203
|
+
<OptionListItemContentRow>
|
|
204
|
+
<OptionListItemText>{item.label}</OptionListItemText>
|
|
205
|
+
<Tag label={meta.tag} appearance='gray' size='sm' />
|
|
206
|
+
</OptionListItemContentRow>
|
|
207
|
+
<OptionListItemDescription>{meta.ticker}</OptionListItemDescription>
|
|
208
|
+
</OptionListItemContent>
|
|
209
|
+
</OptionListItem>
|
|
210
|
+
);
|
|
211
|
+
}}
|
|
212
|
+
/>
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## Do's and Don'ts
|
|
216
|
+
|
|
217
|
+
<div className='flex flex-col gap-24'>
|
|
218
|
+
|
|
219
|
+
<DoVsDontRow>
|
|
220
|
+
<DoBlockItem
|
|
221
|
+
title='Pass items as a flat array'
|
|
222
|
+
description='Use the group field for grouping — the component handles labels and separators automatically.'
|
|
223
|
+
>
|
|
224
|
+
|
|
225
|
+
{/* prettier-ignore */}
|
|
226
|
+
```tsx
|
|
227
|
+
<OptionList
|
|
228
|
+
items={[
|
|
229
|
+
{ value: 'a', label: 'A', group: 'Group 1' },
|
|
230
|
+
{ value: 'b', label: 'B', group: 'Group 2' },
|
|
231
|
+
]}
|
|
232
|
+
value={value}
|
|
233
|
+
onValueChange={setValue}
|
|
234
|
+
>
|
|
235
|
+
<OptionListContent renderItem={...} />
|
|
236
|
+
</OptionList>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
</DoBlockItem>
|
|
240
|
+
<DontBlockItem
|
|
241
|
+
title="Don't manually render group labels or separators"
|
|
242
|
+
description='OptionListContent handles group rendering internally based on item data.'
|
|
243
|
+
>
|
|
244
|
+
|
|
245
|
+
{/* prettier-ignore */}
|
|
246
|
+
```tsx
|
|
247
|
+
<OptionList
|
|
248
|
+
items={items}
|
|
249
|
+
value={value}
|
|
250
|
+
onValueChange={setValue}
|
|
251
|
+
>
|
|
252
|
+
<Text>Group 1</Text>
|
|
253
|
+
<OptionListContent renderItem={...} />
|
|
254
|
+
<Divider />
|
|
255
|
+
<Text>Group 2</Text>
|
|
256
|
+
<OptionListContent renderItem={...} />
|
|
257
|
+
</OptionList>
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
</DontBlockItem>
|
|
261
|
+
</DoVsDontRow>
|
|
262
|
+
|
|
263
|
+
<DoVsDontRow>
|
|
264
|
+
<DoBlockItem
|
|
265
|
+
title='Compose OptionList inside your own container'
|
|
266
|
+
description='OptionList is display-only — wrap it in a BottomSheet, screen, or any layout.'
|
|
267
|
+
>
|
|
268
|
+
|
|
269
|
+
{/* prettier-ignore */}
|
|
270
|
+
```tsx
|
|
271
|
+
<BottomSheet ref={ref}>
|
|
272
|
+
<BottomSheetView>
|
|
273
|
+
<OptionList items={items} value={value} onValueChange={setValue}>
|
|
274
|
+
<OptionListContent renderItem={...} />
|
|
275
|
+
</OptionList>
|
|
276
|
+
</BottomSheetView>
|
|
277
|
+
</BottomSheet>
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
</DoBlockItem>
|
|
281
|
+
<DontBlockItem
|
|
282
|
+
title="Don't expect OptionList to manage the BottomSheet"
|
|
283
|
+
description='Use OptionListTrigger to open the sheet yourself — OptionList only handles selection state, not the container.'
|
|
284
|
+
>
|
|
285
|
+
|
|
286
|
+
{/* prettier-ignore */}
|
|
287
|
+
```tsx
|
|
288
|
+
<OptionList
|
|
289
|
+
items={items}
|
|
290
|
+
value={value}
|
|
291
|
+
onValueChange={setValue}
|
|
292
|
+
trigger={<Button>Open</Button>}
|
|
293
|
+
>
|
|
294
|
+
<OptionListContent renderItem={...} />
|
|
295
|
+
</OptionList>
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
</DontBlockItem>
|
|
299
|
+
</DoVsDontRow>
|
|
300
|
+
|
|
301
|
+
</div>
|
|
302
|
+
|
|
303
|
+
</Tab>
|
|
304
|
+
</CustomTabs>
|