@ledgerhq/lumen-ui-rnative 0.1.48 → 0.1.49
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/locales/de.json +1 -3
- package/dist/module/i18n/locales/en.json +1 -3
- package/dist/module/i18n/locales/es.json +1 -3
- package/dist/module/i18n/locales/fr.json +1 -3
- package/dist/module/i18n/locales/ja.json +1 -3
- package/dist/module/i18n/locales/ko.json +1 -3
- package/dist/module/i18n/locales/pt.json +1 -3
- package/dist/module/i18n/locales/ru.json +1 -3
- package/dist/module/i18n/locales/th.json +1 -3
- package/dist/module/i18n/locales/tr.json +1 -3
- package/dist/module/i18n/locales/zh.json +1 -3
- package/dist/module/lib/Animations/Pulse/Pulse.js +3 -3
- package/dist/module/lib/Animations/Pulse/Pulse.js.map +1 -1
- package/dist/module/lib/Animations/Pulse/Pulse.mdx +0 -1
- package/dist/module/lib/Animations/Spin/Spin.js +3 -3
- package/dist/module/lib/Animations/Spin/Spin.js.map +1 -1
- package/dist/module/lib/Animations/Spin/Spin.mdx +0 -1
- package/dist/module/lib/Components/AddressInput/AddressInput.figma.js +36 -0
- package/dist/module/lib/Components/AddressInput/AddressInput.figma.js.map +1 -0
- package/dist/module/lib/Components/AddressInput/AddressInput.mdx +0 -183
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.figma.js +31 -0
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.figma.js.map +1 -0
- package/dist/module/lib/Components/AmountDisplay/AmountDisplay.mdx +0 -90
- package/dist/module/lib/Components/AmountInput/AmountInput.figma.js +70 -0
- package/dist/module/lib/Components/AmountInput/AmountInput.figma.js.map +1 -0
- package/dist/module/lib/Components/AmountInput/AmountInput.mdx +0 -190
- package/dist/module/lib/Components/Avatar/Avatar.figma.js +15 -12
- package/dist/module/lib/Components/Avatar/Avatar.figma.js.map +1 -1
- package/dist/module/lib/Components/Avatar/Avatar.js +4 -27
- package/dist/module/lib/Components/Avatar/Avatar.js.map +1 -1
- package/dist/module/lib/Components/Avatar/Avatar.mdx +53 -69
- package/dist/module/lib/Components/Avatar/Avatar.stories.js +27 -33
- package/dist/module/lib/Components/Avatar/Avatar.stories.js.map +1 -1
- package/dist/module/lib/Components/Avatar/Avatar.test.js +21 -39
- package/dist/module/lib/Components/Avatar/Avatar.test.js.map +1 -1
- package/dist/module/lib/Components/Banner/Banner.figma.js +107 -0
- package/dist/module/lib/Components/Banner/Banner.figma.js.map +1 -0
- package/dist/module/lib/Components/Banner/Banner.mdx +0 -86
- package/dist/module/lib/Components/BottomSheet/BottomSheet.figma.js +49 -0
- package/dist/module/lib/Components/BottomSheet/BottomSheet.figma.js.map +1 -0
- package/dist/module/lib/Components/BottomSheet/BottomSheet.mdx +0 -119
- package/dist/module/lib/Components/Button/Button.figma.js +45 -0
- package/dist/module/lib/Components/Button/Button.figma.js.map +1 -0
- package/dist/module/lib/Components/Button/Button.mdx +25 -224
- package/dist/module/lib/Components/Button/Button.stories.js +4 -36
- package/dist/module/lib/Components/Button/Button.stories.js.map +1 -1
- package/dist/module/lib/Components/Card/Card.figma.js +143 -0
- package/dist/module/lib/Components/Card/Card.figma.js.map +1 -0
- package/dist/module/lib/Components/Card/Card.mdx +0 -160
- package/dist/module/lib/Components/CardButton/CardButton.figma.js +38 -0
- package/dist/module/lib/Components/CardButton/CardButton.figma.js.map +1 -0
- package/dist/module/lib/Components/CardButton/CardButton.mdx +0 -48
- package/dist/module/lib/Components/Checkbox/Checkbox.figma.js +48 -0
- package/dist/module/lib/Components/Checkbox/Checkbox.figma.js.map +1 -0
- package/dist/module/lib/Components/Checkbox/Checkbox.mdx +0 -73
- package/dist/module/lib/Components/ContentBanner/ContentBanner.figma.js +91 -0
- package/dist/module/lib/Components/ContentBanner/ContentBanner.figma.js.map +1 -0
- package/dist/module/lib/Components/ContentBanner/ContentBanner.mdx +0 -2
- package/dist/module/lib/Components/CryptoIcon/CryptoIcon.figma.js +17 -0
- package/dist/module/lib/Components/CryptoIcon/CryptoIcon.figma.js.map +1 -0
- package/dist/module/lib/Components/DescriptionItem/DescriptionItem.figma.js +29 -0
- package/dist/module/lib/Components/DescriptionItem/DescriptionItem.figma.js.map +1 -0
- package/dist/module/lib/Components/Divider/Divider.figma.js +10 -0
- package/dist/module/lib/Components/Divider/Divider.figma.js.map +1 -0
- package/dist/module/lib/Components/Divider/Divider.mdx +0 -2
- package/dist/module/lib/Components/DotCount/DotCount.figma.js +29 -0
- package/dist/module/lib/Components/DotCount/DotCount.figma.js.map +1 -0
- package/dist/module/lib/Components/DotIndicator/DotIndicator.figma.js +29 -0
- package/dist/module/lib/Components/DotIndicator/DotIndicator.figma.js.map +1 -0
- package/dist/module/lib/Components/DotIndicator/DotIndicator.stories.js +6 -3
- package/dist/module/lib/Components/DotIndicator/DotIndicator.stories.js.map +1 -1
- package/dist/module/lib/Components/DotIndicator/getDotIndicatorProps.js +17 -0
- package/dist/module/lib/Components/DotIndicator/getDotIndicatorProps.js.map +1 -0
- package/dist/module/lib/Components/DotIndicator/getDotIndicatorProps.test.js +17 -0
- package/dist/module/lib/Components/DotIndicator/getDotIndicatorProps.test.js.map +1 -0
- package/dist/module/lib/Components/DotIndicator/index.js +1 -0
- package/dist/module/lib/Components/DotIndicator/index.js.map +1 -1
- package/dist/module/lib/Components/Icon/Icon.figma.js +1840 -0
- package/dist/module/lib/Components/Icon/Icon.figma.js.map +1 -0
- package/dist/module/lib/Components/Icon/Icon.mdx +0 -62
- package/dist/module/lib/Components/IconButton/IconButton.figma.js +42 -0
- package/dist/module/lib/Components/IconButton/IconButton.figma.js.map +1 -0
- package/dist/module/lib/Components/IconButton/IconButton.mdx +0 -68
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.figma.js +51 -0
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.figma.js.map +1 -0
- package/dist/module/lib/Components/InteractiveIcon/InteractiveIcon.mdx +0 -107
- package/dist/module/lib/Components/Link/Link.figma.js +41 -0
- package/dist/module/lib/Components/Link/Link.figma.js.map +1 -0
- package/dist/module/lib/Components/Link/Link.mdx +0 -102
- package/dist/module/lib/Components/ListItem/ListItem.figma.js +416 -0
- package/dist/module/lib/Components/ListItem/ListItem.figma.js.map +1 -0
- package/dist/module/lib/Components/ListItem/ListItem.mdx +0 -129
- package/dist/module/lib/Components/MediaBanner/MediaBanner.figma.js +25 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.figma.js.map +1 -0
- package/dist/module/lib/Components/MediaBanner/MediaBanner.mdx +0 -3
- package/dist/module/lib/Components/MediaButton/MediaButton.figma.js +72 -0
- package/dist/module/lib/Components/MediaButton/MediaButton.figma.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.figma.js +28 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.figma.js.map +1 -0
- package/dist/module/lib/Components/MediaCard/MediaCard.mdx +0 -2
- package/dist/module/lib/Components/MediaImage/MediaImage.mdx +0 -1
- package/dist/module/lib/Components/MediaTag/MediaTag.figma.js +100 -0
- package/dist/module/lib/Components/MediaTag/MediaTag.figma.js.map +1 -0
- package/dist/module/lib/Components/MediaTag/MediaTag.mdx +0 -2
- package/dist/module/lib/Components/NavBar/NavBar.figma.js +79 -0
- package/dist/module/lib/Components/NavBar/NavBar.figma.js.map +1 -0
- package/dist/module/lib/Components/NavBar/NavBar.mdx +0 -2
- package/dist/module/lib/Components/OptionList/OptionList.mdx +0 -90
- package/dist/module/lib/Components/PageIndicator/PageIndicator.figma.js +13 -0
- package/dist/module/lib/Components/PageIndicator/PageIndicator.figma.js.map +1 -0
- package/dist/module/lib/Components/PageIndicator/PageIndicator.mdx +0 -2
- package/dist/module/lib/Components/SearchInput/SearchInput.figma.js +31 -0
- package/dist/module/lib/Components/SearchInput/SearchInput.figma.js.map +1 -0
- package/dist/module/lib/Components/SearchInput/SearchInput.mdx +0 -199
- package/dist/module/lib/Components/SegmentedControl/SegmentedControl.figma.js +35 -0
- package/dist/module/lib/Components/SegmentedControl/SegmentedControl.figma.js.map +1 -0
- package/dist/module/lib/Components/SegmentedControl/SegmentedControl.mdx +0 -1
- package/dist/module/lib/Components/Skeleton/Skeleton.figma.js +18 -0
- package/dist/module/lib/Components/Skeleton/Skeleton.figma.js.map +1 -0
- package/dist/module/lib/Components/Skeleton/Skeleton.mdx +0 -71
- package/dist/module/lib/Components/Spinner/Spinner.figma.js +13 -0
- package/dist/module/lib/Components/Spinner/Spinner.figma.js.map +1 -0
- package/dist/module/lib/Components/Spinner/Spinner.mdx +0 -100
- package/dist/module/lib/Components/Spot/Spot.figma.js +37 -0
- package/dist/module/lib/Components/Spot/Spot.figma.js.map +1 -0
- package/dist/module/lib/Components/Spot/Spot.mdx +0 -94
- package/dist/module/lib/Components/Stepper/Stepper.figma.js +13 -0
- package/dist/module/lib/Components/Stepper/Stepper.figma.js.map +1 -0
- package/dist/module/lib/Components/Stepper/Stepper.mdx +0 -67
- package/dist/module/lib/Components/Subheader/Subheader.figma.js +67 -0
- package/dist/module/lib/Components/Subheader/Subheader.figma.js.map +1 -0
- package/dist/module/lib/Components/Subheader/Subheader.mdx +0 -116
- package/dist/module/lib/Components/Switch/Switch.figma.js +58 -0
- package/dist/module/lib/Components/Switch/Switch.figma.js.map +1 -0
- package/dist/module/lib/Components/Switch/Switch.mdx +0 -39
- package/dist/module/lib/Components/TabBar/TabBar.figma.js +98 -0
- package/dist/module/lib/Components/TabBar/TabBar.figma.js.map +1 -0
- package/dist/module/lib/Components/TabBar/TabBar.mdx +0 -5
- package/dist/module/lib/Components/Tag/Tag.figma.js +41 -0
- package/dist/module/lib/Components/Tag/Tag.figma.js.map +1 -0
- package/dist/module/lib/Components/Tag/Tag.mdx +0 -2
- package/dist/module/lib/Components/TextInput/TextInput.figma.js +37 -0
- package/dist/module/lib/Components/TextInput/TextInput.figma.js.map +1 -0
- package/dist/module/lib/Components/TextInput/TextInput.mdx +0 -178
- package/dist/module/lib/Components/Tile/Tile.figma.js +111 -0
- package/dist/module/lib/Components/Tile/Tile.figma.js.map +1 -0
- package/dist/module/lib/Components/Tile/Tile.mdx +0 -53
- package/dist/module/lib/Components/TileButton/TileButton.figma.js +23 -0
- package/dist/module/lib/Components/TileButton/TileButton.figma.js.map +1 -0
- package/dist/module/lib/Components/TileButton/TileButton.mdx +0 -40
- package/dist/module/lib/Components/Tooltip/Tooltip.figma.js +26 -0
- package/dist/module/lib/Components/Tooltip/Tooltip.figma.js.map +1 -0
- package/dist/module/lib/Components/Tooltip/Tooltip.mdx +0 -183
- package/dist/module/lib/Components/Trend/Trend.figma.js +29 -0
- package/dist/module/lib/Components/Trend/Trend.figma.js.map +1 -0
- package/dist/module/lib/Components/Trend/Trend.mdx +0 -2
- package/dist/module/lib/Components/Utility/Text/Text.mdx +0 -1
- package/dist/module/lib/Symbols/Icons/ChevronAscending.js +1 -1
- package/dist/module/lib/Symbols/Icons/ChevronDescending.js +1 -1
- package/dist/module/lib/Symbols/Icons/Contact.js +50 -0
- package/dist/module/lib/Symbols/Icons/Contact.js.map +1 -0
- package/dist/module/lib/Symbols/index.js +1 -0
- package/dist/module/lib/Symbols/index.js.map +1 -1
- package/dist/typescript/src/lib/Animations/Pulse/Pulse.d.ts.map +1 -1
- package/dist/typescript/src/lib/Animations/Spin/Spin.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts +1 -4
- package/dist/typescript/src/lib/Components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/Avatar/types.d.ts +0 -6
- package/dist/typescript/src/lib/Components/Avatar/types.d.ts.map +1 -1
- package/dist/typescript/src/lib/Components/DotIndicator/getDotIndicatorProps.d.ts +24 -0
- package/dist/typescript/src/lib/Components/DotIndicator/getDotIndicatorProps.d.ts.map +1 -0
- package/dist/typescript/src/lib/Components/DotIndicator/index.d.ts +1 -0
- package/dist/typescript/src/lib/Components/DotIndicator/index.d.ts.map +1 -1
- package/dist/typescript/src/lib/Symbols/Icons/Contact.d.ts +35 -0
- package/dist/typescript/src/lib/Symbols/Icons/Contact.d.ts.map +1 -0
- package/dist/typescript/src/lib/Symbols/index.d.ts +1 -0
- package/dist/typescript/src/lib/Symbols/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/i18n/locales/de.json +1 -3
- package/src/i18n/locales/en.json +1 -3
- package/src/i18n/locales/es.json +1 -3
- package/src/i18n/locales/fr.json +1 -3
- package/src/i18n/locales/ja.json +1 -3
- package/src/i18n/locales/ko.json +1 -3
- package/src/i18n/locales/pt.json +1 -3
- package/src/i18n/locales/ru.json +1 -3
- package/src/i18n/locales/th.json +1 -3
- package/src/i18n/locales/tr.json +1 -3
- package/src/i18n/locales/zh.json +1 -3
- package/src/lib/Animations/Pulse/Pulse.mdx +0 -1
- package/src/lib/Animations/Pulse/Pulse.tsx +8 -1
- package/src/lib/Animations/Spin/Spin.mdx +0 -1
- package/src/lib/Animations/Spin/Spin.tsx +8 -1
- package/src/lib/Components/AddressInput/AddressInput.figma.tsx +39 -0
- package/src/lib/Components/AddressInput/AddressInput.mdx +0 -183
- package/src/lib/Components/AmountDisplay/AmountDisplay.figma.tsx +37 -0
- package/src/lib/Components/AmountDisplay/AmountDisplay.mdx +0 -90
- package/src/lib/Components/AmountInput/AmountInput.figma.tsx +78 -0
- package/src/lib/Components/AmountInput/AmountInput.mdx +0 -190
- package/src/lib/Components/Avatar/Avatar.figma.tsx +24 -14
- package/src/lib/Components/Avatar/Avatar.mdx +53 -69
- package/src/lib/Components/Avatar/Avatar.stories.tsx +16 -50
- package/src/lib/Components/Avatar/Avatar.test.tsx +12 -32
- package/src/lib/Components/Avatar/Avatar.tsx +4 -34
- package/src/lib/Components/Avatar/types.ts +0 -6
- package/src/lib/Components/Banner/Banner.figma.tsx +115 -0
- package/src/lib/Components/Banner/Banner.mdx +0 -86
- package/src/lib/Components/BottomSheet/BottomSheet.figma.tsx +52 -0
- package/src/lib/Components/BottomSheet/BottomSheet.mdx +0 -119
- package/src/lib/Components/Button/Button.figma.tsx +57 -0
- package/src/lib/Components/Button/Button.mdx +25 -224
- package/src/lib/Components/Button/Button.stories.tsx +3 -35
- package/src/lib/Components/Card/Card.figma.tsx +149 -0
- package/src/lib/Components/Card/Card.mdx +0 -160
- package/src/lib/Components/CardButton/CardButton.figma.tsx +49 -0
- package/src/lib/Components/CardButton/CardButton.mdx +0 -48
- package/src/lib/Components/Checkbox/Checkbox.figma.tsx +54 -0
- package/src/lib/Components/Checkbox/Checkbox.mdx +0 -73
- package/src/lib/Components/ContentBanner/ContentBanner.figma.tsx +108 -0
- package/src/lib/Components/ContentBanner/ContentBanner.mdx +0 -2
- package/src/lib/Components/CryptoIcon/CryptoIcon.figma.tsx +20 -0
- package/src/lib/Components/DescriptionItem/DescriptionItem.figma.tsx +36 -0
- package/src/lib/Components/Divider/Divider.figma.tsx +11 -0
- package/src/lib/Components/Divider/Divider.mdx +0 -2
- package/src/lib/Components/DotCount/DotCount.figma.tsx +32 -0
- package/src/lib/Components/DotIndicator/DotIndicator.figma.tsx +32 -0
- package/src/lib/Components/DotIndicator/DotIndicator.stories.tsx +4 -1
- package/src/lib/Components/DotIndicator/getDotIndicatorProps.test.ts +15 -0
- package/src/lib/Components/DotIndicator/getDotIndicatorProps.ts +10 -0
- package/src/lib/Components/DotIndicator/index.ts +1 -0
- package/src/lib/Components/Icon/Icon.figma.tsx +3085 -0
- package/src/lib/Components/Icon/Icon.mdx +0 -62
- package/src/lib/Components/IconButton/IconButton.figma.tsx +53 -0
- package/src/lib/Components/IconButton/IconButton.mdx +0 -68
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.tsx +52 -0
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.mdx +0 -107
- package/src/lib/Components/Link/Link.figma.tsx +53 -0
- package/src/lib/Components/Link/Link.mdx +0 -102
- package/src/lib/Components/ListItem/ListItem.figma.tsx +431 -0
- package/src/lib/Components/ListItem/ListItem.mdx +0 -129
- package/src/lib/Components/MediaBanner/MediaBanner.figma.tsx +32 -0
- package/src/lib/Components/MediaBanner/MediaBanner.mdx +0 -3
- package/src/lib/Components/MediaButton/MediaButton.figma.tsx +60 -0
- package/src/lib/Components/MediaCard/MediaCard.figma.tsx +27 -0
- package/src/lib/Components/MediaCard/MediaCard.mdx +0 -2
- package/src/lib/Components/MediaImage/MediaImage.mdx +0 -1
- package/src/lib/Components/MediaTag/MediaTag.figma.tsx +116 -0
- package/src/lib/Components/MediaTag/MediaTag.mdx +0 -2
- package/src/lib/Components/NavBar/NavBar.figma.tsx +84 -0
- package/src/lib/Components/NavBar/NavBar.mdx +0 -2
- package/src/lib/Components/OptionList/OptionList.mdx +0 -90
- package/src/lib/Components/PageIndicator/PageIndicator.figma.tsx +11 -0
- package/src/lib/Components/PageIndicator/PageIndicator.mdx +0 -2
- package/src/lib/Components/SearchInput/SearchInput.figma.tsx +34 -0
- package/src/lib/Components/SearchInput/SearchInput.mdx +0 -199
- package/src/lib/Components/SegmentedControl/SegmentedControl.figma.tsx +34 -0
- package/src/lib/Components/SegmentedControl/SegmentedControl.mdx +0 -1
- package/src/lib/Components/Skeleton/Skeleton.figma.tsx +17 -0
- package/src/lib/Components/Skeleton/Skeleton.mdx +0 -71
- package/src/lib/Components/Spinner/Spinner.figma.tsx +12 -0
- package/src/lib/Components/Spinner/Spinner.mdx +0 -100
- package/src/lib/Components/Spot/Spot.figma.tsx +50 -0
- package/src/lib/Components/Spot/Spot.mdx +0 -94
- package/src/lib/Components/Stepper/Stepper.figma.tsx +11 -0
- package/src/lib/Components/Stepper/Stepper.mdx +0 -67
- package/src/lib/Components/Subheader/Subheader.figma.tsx +72 -0
- package/src/lib/Components/Subheader/Subheader.mdx +0 -116
- package/src/lib/Components/Switch/Switch.figma.tsx +66 -0
- package/src/lib/Components/Switch/Switch.mdx +0 -39
- package/src/lib/Components/TabBar/TabBar.figma.tsx +70 -0
- package/src/lib/Components/TabBar/TabBar.mdx +0 -5
- package/src/lib/Components/Tag/Tag.figma.tsx +52 -0
- package/src/lib/Components/Tag/Tag.mdx +0 -2
- package/src/lib/Components/TextInput/TextInput.figma.tsx +40 -0
- package/src/lib/Components/TextInput/TextInput.mdx +0 -178
- package/src/lib/Components/Tile/Tile.figma.tsx +113 -0
- package/src/lib/Components/Tile/Tile.mdx +0 -53
- package/src/lib/Components/TileButton/TileButton.figma.tsx +35 -0
- package/src/lib/Components/TileButton/TileButton.mdx +0 -40
- package/src/lib/Components/Tooltip/Tooltip.figma.tsx +30 -0
- package/src/lib/Components/Tooltip/Tooltip.mdx +0 -183
- package/src/lib/Components/Trend/Trend.figma.tsx +28 -0
- package/src/lib/Components/Trend/Trend.mdx +0 -2
- package/src/lib/Components/Utility/Text/Text.mdx +0 -1
- package/src/lib/Symbols/Icons/ChevronAscending.tsx +1 -1
- package/src/lib/Symbols/Icons/ChevronDescending.tsx +1 -1
- package/src/lib/Symbols/Icons/Contact.tsx +45 -0
- package/src/lib/Symbols/index.ts +1 -0
- package/dist/typescript/src/lib/Components/Avatar/Avatar.figma.d.ts +0 -2
- package/dist/typescript/src/lib/Components/Avatar/Avatar.figma.d.ts.map +0 -1
- package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts +0 -2
- package/dist/typescript/src/lib/Components/OptionList/OptionList.figma.d.ts.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { Image, StyleSheet } from 'react-native';
|
|
3
3
|
import { useCommonTranslation } from '../../../i18n';
|
|
4
4
|
import { useStyleSheet } from '../../../styles';
|
|
5
5
|
import { User } from '../../Symbols';
|
|
6
|
-
import { DotIndicator } from '../DotIndicator';
|
|
7
6
|
import { Box } from '../Utility';
|
|
8
7
|
import type { AvatarProps } from './types';
|
|
9
8
|
|
|
@@ -17,13 +16,6 @@ const fallbackSizes = {
|
|
|
17
16
|
xl: 40,
|
|
18
17
|
} as const;
|
|
19
18
|
|
|
20
|
-
const dotSizeMap: Partial<
|
|
21
|
-
Record<Size, NonNullable<React.ComponentProps<typeof DotIndicator>['size']>>
|
|
22
|
-
> = {
|
|
23
|
-
sm: 'lg',
|
|
24
|
-
md: 'xl',
|
|
25
|
-
};
|
|
26
|
-
|
|
27
19
|
const useStyles = ({
|
|
28
20
|
appearance,
|
|
29
21
|
size,
|
|
@@ -80,9 +72,6 @@ const useStyles = ({
|
|
|
80
72
|
* import { Avatar } from '@ledgerhq/lumen-ui-rnative';
|
|
81
73
|
*
|
|
82
74
|
* <Avatar src="https://example.com/photo.jpg" size="md" />
|
|
83
|
-
*
|
|
84
|
-
* // With notification indicator
|
|
85
|
-
* <Avatar src="https://example.com/photo.jpg" showNotification />
|
|
86
75
|
*/
|
|
87
76
|
export const Avatar = ({
|
|
88
77
|
lx,
|
|
@@ -91,8 +80,6 @@ export const Avatar = ({
|
|
|
91
80
|
alt = 'avatar',
|
|
92
81
|
appearance = 'transparent',
|
|
93
82
|
size = 'md',
|
|
94
|
-
showNotification: showNotificationProp = false,
|
|
95
|
-
testID,
|
|
96
83
|
ref,
|
|
97
84
|
...props
|
|
98
85
|
}: AvatarProps) => {
|
|
@@ -101,15 +88,7 @@ export const Avatar = ({
|
|
|
101
88
|
const shouldFallback = !src || error;
|
|
102
89
|
const styles = useStyles({ appearance, size });
|
|
103
90
|
|
|
104
|
-
const resolvedAlt = alt || t('components.avatar.
|
|
105
|
-
|
|
106
|
-
// dot indicator is not visible on larger sizes, regardless of the `showNotification` prop
|
|
107
|
-
const showNotification =
|
|
108
|
-
showNotificationProp && (size === 'sm' || size === 'md');
|
|
109
|
-
|
|
110
|
-
const accessibilityLabel = showNotification
|
|
111
|
-
? `${resolvedAlt}, ${t('components.avatar.notificationAriaLabel')}`
|
|
112
|
-
: resolvedAlt;
|
|
91
|
+
const resolvedAlt = alt || t('components.avatar.defaultAriaLabel');
|
|
113
92
|
|
|
114
93
|
useEffect(() => {
|
|
115
94
|
setError(false);
|
|
@@ -121,8 +100,7 @@ export const Avatar = ({
|
|
|
121
100
|
lx={lx}
|
|
122
101
|
style={StyleSheet.flatten([styles.root, style])}
|
|
123
102
|
accessibilityRole='image'
|
|
124
|
-
accessibilityLabel={
|
|
125
|
-
testID={showNotification ? undefined : testID}
|
|
103
|
+
accessibilityLabel={resolvedAlt}
|
|
126
104
|
{...props}
|
|
127
105
|
>
|
|
128
106
|
{shouldFallback ? (
|
|
@@ -143,13 +121,5 @@ export const Avatar = ({
|
|
|
143
121
|
</Box>
|
|
144
122
|
);
|
|
145
123
|
|
|
146
|
-
if (showNotification) {
|
|
147
|
-
return (
|
|
148
|
-
<DotIndicator size={dotSizeMap[size]} appearance='red' testID={testID}>
|
|
149
|
-
{avatarContent}
|
|
150
|
-
</DotIndicator>
|
|
151
|
-
);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
124
|
return avatarContent;
|
|
155
125
|
};
|
|
@@ -23,10 +23,4 @@ export type AvatarProps = {
|
|
|
23
23
|
* @default md
|
|
24
24
|
*/
|
|
25
25
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
26
|
-
/**
|
|
27
|
-
* Whether to show the notifications indicator.
|
|
28
|
-
* @optional
|
|
29
|
-
* @default false
|
|
30
|
-
*/
|
|
31
|
-
showNotification?: boolean;
|
|
32
26
|
} & Omit<StyledViewProps, 'children'>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import figma from '@figma/code-connect';
|
|
2
|
+
import { Button } from '../Button';
|
|
3
|
+
import { Banner } from './Banner';
|
|
4
|
+
|
|
5
|
+
figma.connect(
|
|
6
|
+
Banner,
|
|
7
|
+
'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=129%3A201',
|
|
8
|
+
{
|
|
9
|
+
imports: [
|
|
10
|
+
"import { Banner } from '@ledgerhq/lumen-ui-rnative'",
|
|
11
|
+
"import { Button } from '@ledgerhq/lumen-ui-rnative'",
|
|
12
|
+
],
|
|
13
|
+
variant: { 'show-close': true },
|
|
14
|
+
props: {
|
|
15
|
+
appearance: figma.enum('appearance', {
|
|
16
|
+
info: 'info',
|
|
17
|
+
success: 'success',
|
|
18
|
+
warning: 'warning',
|
|
19
|
+
error: 'error',
|
|
20
|
+
}),
|
|
21
|
+
title: figma.boolean('show-title', {
|
|
22
|
+
true: figma.string('title'),
|
|
23
|
+
false: undefined,
|
|
24
|
+
}),
|
|
25
|
+
description: figma.boolean('show-description', {
|
|
26
|
+
true: figma.string('description'),
|
|
27
|
+
false: undefined,
|
|
28
|
+
}),
|
|
29
|
+
primaryAction: figma.boolean('show-actions', {
|
|
30
|
+
true: (
|
|
31
|
+
<Button appearance='transparent' size='sm' onPress={() => {}}>
|
|
32
|
+
Primary Action
|
|
33
|
+
</Button>
|
|
34
|
+
),
|
|
35
|
+
false: undefined,
|
|
36
|
+
}),
|
|
37
|
+
secondaryAction: figma.boolean('show-actions', {
|
|
38
|
+
true: figma.boolean('show-secondary-action', {
|
|
39
|
+
true: (
|
|
40
|
+
<Button appearance='no-background' size='sm' onPress={() => {}}>
|
|
41
|
+
Secondary Action
|
|
42
|
+
</Button>
|
|
43
|
+
),
|
|
44
|
+
}),
|
|
45
|
+
false: undefined,
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
example: (props) => (
|
|
49
|
+
<Banner
|
|
50
|
+
appearance={props.appearance}
|
|
51
|
+
title={props.title}
|
|
52
|
+
description={props.description}
|
|
53
|
+
primaryAction={props.primaryAction}
|
|
54
|
+
secondaryAction={props.secondaryAction}
|
|
55
|
+
onClose={() => {}}
|
|
56
|
+
closeAriaLabel='Close Banner'
|
|
57
|
+
/>
|
|
58
|
+
),
|
|
59
|
+
},
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
figma.connect(
|
|
63
|
+
Banner,
|
|
64
|
+
'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=129%3A201',
|
|
65
|
+
{
|
|
66
|
+
imports: [
|
|
67
|
+
"import { Banner } from '@ledgerhq/lumen-ui-rnative'",
|
|
68
|
+
"import { Button } from '@ledgerhq/lumen-ui-rnative'",
|
|
69
|
+
],
|
|
70
|
+
variant: { 'show-close': false },
|
|
71
|
+
props: {
|
|
72
|
+
appearance: figma.enum('appearance', {
|
|
73
|
+
info: 'info',
|
|
74
|
+
success: 'success',
|
|
75
|
+
warning: 'warning',
|
|
76
|
+
error: 'error',
|
|
77
|
+
}),
|
|
78
|
+
title: figma.boolean('show-title', {
|
|
79
|
+
true: figma.string('title'),
|
|
80
|
+
false: undefined,
|
|
81
|
+
}),
|
|
82
|
+
description: figma.boolean('show-description', {
|
|
83
|
+
true: figma.string('description'),
|
|
84
|
+
false: undefined,
|
|
85
|
+
}),
|
|
86
|
+
primaryAction: figma.boolean('show-actions', {
|
|
87
|
+
true: (
|
|
88
|
+
<Button appearance='transparent' size='sm' onPress={() => {}}>
|
|
89
|
+
Primary Action
|
|
90
|
+
</Button>
|
|
91
|
+
),
|
|
92
|
+
false: undefined,
|
|
93
|
+
}),
|
|
94
|
+
secondaryAction: figma.boolean('show-actions', {
|
|
95
|
+
true: figma.boolean('show-secondary-action', {
|
|
96
|
+
true: (
|
|
97
|
+
<Button appearance='no-background' size='sm' onPress={() => {}}>
|
|
98
|
+
Secondary Action
|
|
99
|
+
</Button>
|
|
100
|
+
),
|
|
101
|
+
}),
|
|
102
|
+
false: undefined,
|
|
103
|
+
}),
|
|
104
|
+
},
|
|
105
|
+
example: (props) => (
|
|
106
|
+
<Banner
|
|
107
|
+
appearance={props.appearance}
|
|
108
|
+
title={props.title}
|
|
109
|
+
description={props.description}
|
|
110
|
+
primaryAction={props.primaryAction}
|
|
111
|
+
secondaryAction={props.secondaryAction}
|
|
112
|
+
/>
|
|
113
|
+
),
|
|
114
|
+
},
|
|
115
|
+
);
|
|
@@ -3,8 +3,6 @@ import * as BannerStories from './Banner.stories';
|
|
|
3
3
|
import { Banner } from './Banner';
|
|
4
4
|
import { Box } from '../Utility';
|
|
5
5
|
import { CustomTabs, Tab } from '../../../../.storybook/components';
|
|
6
|
-
import { DoVsDontRow, DoBlockItem, DontBlockItem } from '../../../../.storybook/components/DoVsDont';
|
|
7
|
-
import CommonRulesDoAndDont from '../../../../.storybook/components/DoVsDont/CommonRulesDoAndDont.mdx';
|
|
8
6
|
|
|
9
7
|
<Meta title='Core/Banner' of={BannerStories} />
|
|
10
8
|
|
|
@@ -349,90 +347,6 @@ Use the `lx` prop for layout adjustments like margins or positioning:
|
|
|
349
347
|
/>
|
|
350
348
|
```
|
|
351
349
|
|
|
352
|
-
## Do's and Don'ts
|
|
353
|
-
|
|
354
|
-
The following guidelines ensure consistent usage of the Banner component and maintain design system principles.
|
|
355
|
-
|
|
356
|
-
<Box lx={{ flexDirection: 'column', gap: 's16' }}>
|
|
357
|
-
|
|
358
|
-
<DoVsDontRow>
|
|
359
|
-
<DoBlockItem
|
|
360
|
-
title='Use lx for layout adjustments only'
|
|
361
|
-
description='Use the lx prop for margins, positioning, and other layout adjustments'
|
|
362
|
-
>
|
|
363
|
-
|
|
364
|
-
{/* prettier-ignore */}
|
|
365
|
-
```tsx
|
|
366
|
-
<Banner
|
|
367
|
-
title='System Notice'
|
|
368
|
-
description='Maintenance scheduled for tonight'
|
|
369
|
-
lx={{ marginTop: 's16' }}
|
|
370
|
-
appearance='warning'
|
|
371
|
-
/>
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
</DoBlockItem>
|
|
375
|
-
<DontBlockItem
|
|
376
|
-
title="Don't use lx for appearance changes"
|
|
377
|
-
description='Avoid using lx to modify colors, padding, or other core appearance styles'
|
|
378
|
-
>
|
|
379
|
-
|
|
380
|
-
{/* prettier-ignore */}
|
|
381
|
-
```tsx
|
|
382
|
-
<Banner
|
|
383
|
-
title='System Notice'
|
|
384
|
-
description='Maintenance scheduled for tonight'
|
|
385
|
-
lx={{ backgroundColor: 'accent', padding: 's24' }}
|
|
386
|
-
appearance='warning'
|
|
387
|
-
/>
|
|
388
|
-
```
|
|
389
|
-
|
|
390
|
-
</DontBlockItem>
|
|
391
|
-
|
|
392
|
-
</DoVsDontRow>
|
|
393
|
-
|
|
394
|
-
<DoVsDontRow>
|
|
395
|
-
<DoBlockItem
|
|
396
|
-
title='Pass complete Button components with proper styling'
|
|
397
|
-
description='Always provide fully styled Button components with appearance and size props for actions'
|
|
398
|
-
>
|
|
399
|
-
|
|
400
|
-
{/* prettier-ignore */}
|
|
401
|
-
```tsx
|
|
402
|
-
<Banner
|
|
403
|
-
title='Confirm Action'
|
|
404
|
-
description='This action cannot be undone'
|
|
405
|
-
primaryAction={
|
|
406
|
-
<Button appearance='transparent' size='sm' onPress={handleConfirm}>
|
|
407
|
-
Confirm
|
|
408
|
-
</Button>
|
|
409
|
-
}
|
|
410
|
-
appearance='warning'
|
|
411
|
-
/>
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
</DoBlockItem>
|
|
415
|
-
<DontBlockItem
|
|
416
|
-
title="Don't pass incomplete or unstyled buttons"
|
|
417
|
-
description='Avoid passing Button components without proper appearance and size props'
|
|
418
|
-
>
|
|
419
|
-
|
|
420
|
-
{/* prettier-ignore */}
|
|
421
|
-
```tsx
|
|
422
|
-
<Banner
|
|
423
|
-
title='Broken Action'
|
|
424
|
-
description="This won't work properly"
|
|
425
|
-
primaryAction={<Button onPress={handleSubmit}>Submit</Button>}
|
|
426
|
-
appearance='warning'
|
|
427
|
-
/>
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
</DontBlockItem>
|
|
431
|
-
|
|
432
|
-
</DoVsDontRow>
|
|
433
|
-
|
|
434
|
-
<CommonRulesDoAndDont />
|
|
435
|
-
</Box>
|
|
436
350
|
|
|
437
351
|
</Tab>
|
|
438
352
|
</CustomTabs>
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import figma from '@figma/code-connect';
|
|
2
|
+
import { Button } from '../Button';
|
|
3
|
+
import { BottomSheet } from './BottomSheet';
|
|
4
|
+
import { BottomSheetHeader } from './BottomSheetHeader';
|
|
5
|
+
import { BottomSheetView } from './Scrollables';
|
|
6
|
+
|
|
7
|
+
figma.connect(
|
|
8
|
+
BottomSheet,
|
|
9
|
+
'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=118-1734',
|
|
10
|
+
{
|
|
11
|
+
imports: [
|
|
12
|
+
"import { BottomSheet, BottomSheetHeader, BottomSheetView, useBottomSheetRef } from '@ledgerhq/lumen-ui-rnative'",
|
|
13
|
+
"import { Button } from '@ledgerhq/lumen-ui-rnative'",
|
|
14
|
+
],
|
|
15
|
+
props: {
|
|
16
|
+
header: figma.nestedProps('.bottom-sheet-header', {
|
|
17
|
+
density: figma.enum('density', {
|
|
18
|
+
compact: 'compact',
|
|
19
|
+
expanded: 'expanded',
|
|
20
|
+
}),
|
|
21
|
+
title: figma.boolean('show-title', {
|
|
22
|
+
true: figma.string('title'),
|
|
23
|
+
false: undefined,
|
|
24
|
+
}),
|
|
25
|
+
description: figma.boolean('show-description', {
|
|
26
|
+
true: figma.string('description'),
|
|
27
|
+
false: undefined,
|
|
28
|
+
}),
|
|
29
|
+
onBack: figma.boolean('show-back-icon', {
|
|
30
|
+
true: () => {},
|
|
31
|
+
false: undefined,
|
|
32
|
+
}),
|
|
33
|
+
}),
|
|
34
|
+
},
|
|
35
|
+
example: (props) => {
|
|
36
|
+
return (
|
|
37
|
+
<BottomSheet onBack={props.header.onBack}>
|
|
38
|
+
<BottomSheetHeader
|
|
39
|
+
density={props.header.density}
|
|
40
|
+
title={props.header.title}
|
|
41
|
+
description={props.header.description}
|
|
42
|
+
/>
|
|
43
|
+
<BottomSheetView>
|
|
44
|
+
<Button appearance='base' isFull onPress={() => {}}>
|
|
45
|
+
Confirm
|
|
46
|
+
</Button>
|
|
47
|
+
</BottomSheetView>
|
|
48
|
+
</BottomSheet>
|
|
49
|
+
);
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
);
|
|
@@ -2,8 +2,6 @@ import { Meta, Story, Canvas, Controls } from '@storybook/addon-docs/blocks';
|
|
|
2
2
|
import * as BottomSheetStories from './BottomSheet.stories';
|
|
3
3
|
import { BottomSheet } from './BottomSheet';
|
|
4
4
|
import { CustomTabs, Tab } from '../../../../.storybook/components';
|
|
5
|
-
import { DoVsDontRow, DoBlockItem, DontBlockItem } from '../../../../.storybook/components/DoVsDont';
|
|
6
|
-
import CommonRulesDoAndDont from '../../../../.storybook/components/DoVsDont/CommonRulesDoAndDont.mdx';
|
|
7
5
|
import { Box } from '../Utility';
|
|
8
6
|
|
|
9
7
|
<Meta title='Core/BottomSheet' of={BottomSheetStories} />
|
|
@@ -275,123 +273,6 @@ import {
|
|
|
275
273
|
- **SectionList**: Not compatible with react-native-web. See [Gorhom documentation](https://gorhom.dev/react-native-bottom-sheet/components/bottomsheetsectionlist).
|
|
276
274
|
- **FlashList**: Requires `@shopify/flash-list` package. See [Gorhom docs](https://gorhom.dev/react-native-bottom-sheet/components/bottomsheetflashlist)
|
|
277
275
|
|
|
278
|
-
## Do's and Don'ts
|
|
279
|
-
|
|
280
|
-
<Box lx={{ flexDirection: 'column', gap: 's24' }}>
|
|
281
|
-
<DoVsDontRow>
|
|
282
|
-
<DoBlockItem
|
|
283
|
-
title='Use specialized scrollable components'
|
|
284
|
-
description='Always use BottomSheet-specific components for scrollable content'
|
|
285
|
-
>
|
|
286
|
-
|
|
287
|
-
{/* prettier-ignore */}
|
|
288
|
-
```tsx
|
|
289
|
-
<BottomSheet ref={bottomSheetRef} snapPoints='full'>
|
|
290
|
-
<BottomSheetScrollView>
|
|
291
|
-
<BottomSheetHeader title='Title' density='compact' />
|
|
292
|
-
<Text typography='body2' lx={{ color: 'base' }}>Content</Text>
|
|
293
|
-
</BottomSheetScrollView>
|
|
294
|
-
</BottomSheet>
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
</DoBlockItem>
|
|
298
|
-
<DontBlockItem
|
|
299
|
-
title="Don't use regular React Native components"
|
|
300
|
-
description='Avoid using regular ScrollView, FlatList, etc. - they will not work properly'
|
|
301
|
-
>
|
|
302
|
-
|
|
303
|
-
{/* prettier-ignore */}
|
|
304
|
-
```tsx
|
|
305
|
-
<BottomSheet ref={bottomSheetRef} snapPoints='full'>
|
|
306
|
-
<ScrollView>
|
|
307
|
-
<BottomSheetHeader title='Title' density='compact' />
|
|
308
|
-
<Text typography='body2' lx={{ color: 'base' }}>Content</Text>
|
|
309
|
-
</ScrollView>
|
|
310
|
-
</BottomSheet>
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
</DontBlockItem>
|
|
314
|
-
|
|
315
|
-
</DoVsDontRow>
|
|
316
|
-
|
|
317
|
-
<DoVsDontRow>
|
|
318
|
-
<DoBlockItem
|
|
319
|
-
title='Use useBottomSheetRef with optional chaining'
|
|
320
|
-
description='Use the provided hook and always use optional chaining to call methods safely'
|
|
321
|
-
>
|
|
322
|
-
|
|
323
|
-
{/* prettier-ignore */}
|
|
324
|
-
```tsx
|
|
325
|
-
const bottomSheetRef = useBottomSheetRef();
|
|
326
|
-
|
|
327
|
-
bottomSheetRef.current?.present();
|
|
328
|
-
bottomSheetRef.current?.dismiss();
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
</DoBlockItem>
|
|
332
|
-
<DontBlockItem
|
|
333
|
-
title="Don't call methods without optional chaining"
|
|
334
|
-
description='Calling methods without optional chaining may crash if ref is not yet mounted'
|
|
335
|
-
>
|
|
336
|
-
|
|
337
|
-
{/* prettier-ignore */}
|
|
338
|
-
```tsx
|
|
339
|
-
const bottomSheetRef = useBottomSheetRef();
|
|
340
|
-
|
|
341
|
-
bottomSheetRef.current.present();
|
|
342
|
-
bottomSheetRef.current.dismiss();
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
</DontBlockItem>
|
|
346
|
-
|
|
347
|
-
</DoVsDontRow>
|
|
348
|
-
|
|
349
|
-
<DoVsDontRow>
|
|
350
|
-
<DoBlockItem
|
|
351
|
-
title='Disable both props for non-dismissible sheets'
|
|
352
|
-
description='For critical flows, disable both close button and pan-down gesture'
|
|
353
|
-
>
|
|
354
|
-
|
|
355
|
-
{/* prettier-ignore */}
|
|
356
|
-
```tsx
|
|
357
|
-
<BottomSheet
|
|
358
|
-
ref={bottomSheetRef}
|
|
359
|
-
snapPoints='full'
|
|
360
|
-
hideCloseButton
|
|
361
|
-
enablePanDownToClose={false}
|
|
362
|
-
backdropPressBehavior='none'
|
|
363
|
-
>
|
|
364
|
-
<BottomSheetView>
|
|
365
|
-
<Text typography='body2' lx={{ color: 'base' }}>Critical content</Text>
|
|
366
|
-
</BottomSheetView>
|
|
367
|
-
</BottomSheet>
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
</DoBlockItem>
|
|
371
|
-
<DontBlockItem
|
|
372
|
-
title="Don't disable only one dismissal method"
|
|
373
|
-
description='Partially blocking dismissal creates confusing UX - disable all methods or none'
|
|
374
|
-
>
|
|
375
|
-
|
|
376
|
-
{/* prettier-ignore */}
|
|
377
|
-
```tsx
|
|
378
|
-
<BottomSheet
|
|
379
|
-
ref={bottomSheetRef}
|
|
380
|
-
snapPoints='full'
|
|
381
|
-
hideCloseButton
|
|
382
|
-
>
|
|
383
|
-
<BottomSheetView>
|
|
384
|
-
<Text typography='body2' lx={{ color: 'base' }}>Critical content</Text>
|
|
385
|
-
</BottomSheetView>
|
|
386
|
-
</BottomSheet>
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
</DontBlockItem>
|
|
390
|
-
|
|
391
|
-
</DoVsDontRow>
|
|
392
|
-
|
|
393
|
-
<CommonRulesDoAndDont />
|
|
394
|
-
</Box>
|
|
395
276
|
|
|
396
277
|
## Learn More
|
|
397
278
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import figma from '@figma/code-connect';
|
|
2
|
+
import { Placeholder } from '../../Symbols';
|
|
3
|
+
import { Button } from './Button';
|
|
4
|
+
import type { ButtonProps } from './types';
|
|
5
|
+
|
|
6
|
+
figma.connect(
|
|
7
|
+
Button,
|
|
8
|
+
'https://www.figma.com/design/JxaLVMTWirCpU0rsbZ30k7?node-id=9%3A28',
|
|
9
|
+
{
|
|
10
|
+
imports: [
|
|
11
|
+
"import { Button } from '@ledgerhq/lumen-ui-rnative'",
|
|
12
|
+
"import { Placeholder } from '@ledgerhq/lumen-ui-rnative/symbols'",
|
|
13
|
+
],
|
|
14
|
+
props: {
|
|
15
|
+
disabled: figma.enum('state', {
|
|
16
|
+
disabled: true,
|
|
17
|
+
}),
|
|
18
|
+
loading: figma.enum('state', {
|
|
19
|
+
loading: true,
|
|
20
|
+
}),
|
|
21
|
+
appearance: figma.enum('appearance', {
|
|
22
|
+
base: 'base',
|
|
23
|
+
gray: 'gray',
|
|
24
|
+
accent: 'accent',
|
|
25
|
+
transparent: 'transparent',
|
|
26
|
+
'no-background': 'no-background',
|
|
27
|
+
red: 'red',
|
|
28
|
+
}),
|
|
29
|
+
size: figma.enum('size', {
|
|
30
|
+
sm: 'sm',
|
|
31
|
+
md: 'md',
|
|
32
|
+
lg: 'lg',
|
|
33
|
+
}),
|
|
34
|
+
children: figma.string('label'),
|
|
35
|
+
icon: figma.enum('content', {
|
|
36
|
+
'icon-text': Placeholder,
|
|
37
|
+
text: undefined,
|
|
38
|
+
}),
|
|
39
|
+
},
|
|
40
|
+
example: (
|
|
41
|
+
props: Omit<ButtonProps, 'icon'> & {
|
|
42
|
+
icon?: any;
|
|
43
|
+
},
|
|
44
|
+
) => (
|
|
45
|
+
<Button
|
|
46
|
+
disabled={props.disabled}
|
|
47
|
+
loading={props.loading}
|
|
48
|
+
appearance={props.appearance}
|
|
49
|
+
size={props.size}
|
|
50
|
+
icon={props.icon}
|
|
51
|
+
onPress={() => {}}
|
|
52
|
+
>
|
|
53
|
+
{props.children}
|
|
54
|
+
</Button>
|
|
55
|
+
),
|
|
56
|
+
},
|
|
57
|
+
);
|