@ledgerhq/react-ui 0.13.0 → 0.14.0-next.0
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/lib/assets/cryptoIcons.js +1 -0
- package/lib/assets/cryptoIcons.js.map +1 -0
- package/lib/assets/fonts.js +1 -0
- package/lib/assets/fonts.js.map +1 -0
- package/lib/assets/icons.js +1 -0
- package/lib/assets/icons.js.map +1 -0
- package/lib/assets/index.js +1 -0
- package/lib/assets/index.js.map +1 -0
- package/lib/assets/logos/LedgerLiveAltRegular.js +1 -0
- package/lib/assets/logos/LedgerLiveAltRegular.js.map +1 -0
- package/lib/assets/logos/LedgerLiveRegular.js +1 -0
- package/lib/assets/logos/LedgerLiveRegular.js.map +1 -0
- package/lib/assets/logos/index.js +1 -0
- package/lib/assets/logos/index.js.map +1 -0
- package/lib/cjs/components/Table/Table.stories.js +1 -1
- package/lib/cjs/components/Table/Table.stories.js.map +1 -1
- package/lib/cjs/components/Table/stories.helper.js +3 -3
- package/lib/cjs/components/Table/stories.helper.js.map +2 -2
- package/lib/cjs/components/asorted/Divider/index.js +13 -10
- package/lib/cjs/components/asorted/Divider/index.js.map +3 -3
- package/lib/cjs/components/cta/Button/index.js +6 -6
- package/lib/cjs/components/cta/Button/index.js.map +2 -2
- package/lib/cjs/components/form/BaseInput/index.js +5 -5
- package/lib/cjs/components/form/BaseInput/index.js.map +2 -2
- package/lib/cjs/components/form/Checkbox/Checkbox.js +2 -2
- package/lib/cjs/components/form/Checkbox/Checkbox.js.map +1 -1
- package/lib/cjs/components/form/DropdownGeneric/DropdownGeneric.stories.js +2 -2
- package/lib/cjs/components/form/DropdownGeneric/DropdownGeneric.stories.js.map +2 -2
- package/lib/cjs/components/form/Radio/RadioElement.js +8 -8
- package/lib/cjs/components/form/Radio/RadioElement.js.map +2 -2
- package/lib/cjs/components/form/SelectInput/index.js +1 -1
- package/lib/cjs/components/form/SelectInput/index.js.map +1 -1
- package/lib/cjs/components/form/SplitInput/index.js +1 -1
- package/lib/cjs/components/form/SplitInput/index.js.map +1 -1
- package/lib/cjs/components/layout/Drawer/index.js +1 -1
- package/lib/cjs/components/layout/Drawer/index.js.map +2 -2
- package/lib/cjs/components/layout/List/VerticalTimeline/TimelineIndicator.js +31 -26
- package/lib/cjs/components/layout/List/VerticalTimeline/TimelineIndicator.js.map +2 -2
- package/lib/cjs/components/layout/List/VerticalTimeline/TimelineItem.js +18 -19
- package/lib/cjs/components/layout/List/VerticalTimeline/TimelineItem.js.map +2 -2
- package/lib/cjs/components/layout/List/VerticalTimeline/VerticalTimeline.stories.js +97 -44
- package/lib/cjs/components/layout/List/VerticalTimeline/VerticalTimeline.stories.js.map +3 -3
- package/lib/cjs/components/layout/List/VerticalTimeline/index.js +10 -4
- package/lib/cjs/components/layout/List/VerticalTimeline/index.js.map +3 -3
- package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js +1 -1
- package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js.map +1 -1
- package/lib/cjs/components/message/Alert/Alert.stories.js +3 -5
- package/lib/cjs/components/message/Alert/Alert.stories.js.map +3 -3
- package/lib/cjs/components/message/Alert/index.js +48 -23
- package/lib/cjs/components/message/Alert/index.js.map +3 -3
- package/lib/cjs/components/message/ContinueOnDevice/ContinueOnDevice.stories.js +88 -0
- package/lib/cjs/components/message/ContinueOnDevice/ContinueOnDevice.stories.js.map +7 -0
- package/lib/cjs/components/message/ContinueOnDevice/index.js +52 -0
- package/lib/cjs/components/message/ContinueOnDevice/index.js.map +7 -0
- package/lib/cjs/components/message/Notification/Badge.js +1 -1
- package/lib/cjs/components/message/Notification/Badge.js.map +1 -1
- package/lib/cjs/components/message/Notification/Badge.stories.js +1 -1
- package/lib/cjs/components/message/Notification/Badge.stories.js.map +1 -1
- package/lib/cjs/components/message/Notification/Notification.stories.js +1 -1
- package/lib/cjs/components/message/Notification/Notification.stories.js.map +1 -1
- package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js +1 -1
- package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js.map +2 -2
- package/lib/cjs/components/message/Tip/index.js +3 -3
- package/lib/cjs/components/message/Tip/index.js.map +1 -1
- package/lib/cjs/components/message/index.js +2 -0
- package/lib/cjs/components/message/index.js.map +2 -2
- package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js +2 -2
- package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js.map +2 -2
- package/lib/cjs/components/navigation/progress/Stepper/index.js +2 -2
- package/lib/cjs/components/navigation/progress/Stepper/index.js.map +2 -2
- package/lib/cjs/styles/StyleProvider.js +1 -0
- package/lib/cjs/styles/StyleProvider.js.map +2 -2
- package/lib/cjs/styles/override.js +2 -0
- package/lib/cjs/styles/override.js.map +7 -0
- package/lib/cjs/styles/theme.js.map +2 -2
- package/lib/components/Chart/index.js +1 -0
- package/lib/components/Chart/index.js.map +1 -0
- package/lib/components/Chart/types.js +1 -0
- package/lib/components/Chart/types.js.map +1 -0
- package/lib/components/Chart/utils.js +1 -0
- package/lib/components/Chart/utils.js.map +1 -0
- package/lib/components/Table/Columns.js +1 -0
- package/lib/components/Table/Columns.js.map +1 -0
- package/lib/components/Table/index.d.ts +2 -2
- package/lib/components/Table/index.js +1 -0
- package/lib/components/Table/index.js.map +1 -0
- package/lib/components/Table/stories.helper.js +4 -3
- package/lib/components/Table/stories.helper.js.map +1 -0
- package/lib/components/Tag/index.js +1 -0
- package/lib/components/Tag/index.js.map +1 -0
- package/lib/components/animations/GlitchText/index.js +1 -0
- package/lib/components/animations/GlitchText/index.js.map +1 -0
- package/lib/components/asorted/Divider/index.d.ts +6 -5
- package/lib/components/asorted/Divider/index.js +17 -10
- package/lib/components/asorted/Divider/index.js.map +1 -0
- package/lib/components/asorted/Icon/BoxedIcon.js +1 -0
- package/lib/components/asorted/Icon/BoxedIcon.js.map +1 -0
- package/lib/components/asorted/Icon/CryptoIcon.js +1 -0
- package/lib/components/asorted/Icon/CryptoIcon.js.map +1 -0
- package/lib/components/asorted/Icon/Icon.js +1 -0
- package/lib/components/asorted/Icon/Icon.js.map +1 -0
- package/lib/components/asorted/Icon/ProviderIcon.js +1 -0
- package/lib/components/asorted/Icon/ProviderIcon.js.map +1 -0
- package/lib/components/asorted/Icon/index.js +1 -0
- package/lib/components/asorted/Icon/index.js.map +1 -0
- package/lib/components/asorted/Text/index.js +1 -0
- package/lib/components/asorted/Text/index.js.map +1 -0
- package/lib/components/asorted/Text/styles.js +1 -0
- package/lib/components/asorted/Text/styles.js.map +1 -0
- package/lib/components/asorted/index.js +1 -0
- package/lib/components/asorted/index.js.map +1 -0
- package/lib/components/cards/Carousel/Slide.js +1 -0
- package/lib/components/cards/Carousel/Slide.js.map +1 -0
- package/lib/components/cards/Carousel/index.js +1 -0
- package/lib/components/cards/Carousel/index.js.map +1 -0
- package/lib/components/cards/index.js +1 -0
- package/lib/components/cards/index.js.map +1 -0
- package/lib/components/cta/Button/index.d.ts +1 -1
- package/lib/components/cta/Button/index.js +7 -6
- package/lib/components/cta/Button/index.js.map +1 -0
- package/lib/components/cta/Link/getLinkStyle.js +1 -0
- package/lib/components/cta/Link/getLinkStyle.js.map +1 -0
- package/lib/components/cta/Link/index.d.ts +1 -1
- package/lib/components/cta/Link/index.js +1 -0
- package/lib/components/cta/Link/index.js.map +1 -0
- package/lib/components/cta/Toggle/index.js +1 -0
- package/lib/components/cta/Toggle/index.js.map +1 -0
- package/lib/components/cta/getCtaStyle.js +1 -0
- package/lib/components/cta/getCtaStyle.js.map +1 -0
- package/lib/components/cta/index.js +1 -0
- package/lib/components/cta/index.js.map +1 -0
- package/lib/components/form/BaseInput/index.d.ts +2 -2
- package/lib/components/form/BaseInput/index.js +6 -5
- package/lib/components/form/BaseInput/index.js.map +1 -0
- package/lib/components/form/Checkbox/Checkbox.js +3 -2
- package/lib/components/form/Checkbox/Checkbox.js.map +1 -0
- package/lib/components/form/Checkbox/index.js +1 -0
- package/lib/components/form/Checkbox/index.js.map +1 -0
- package/lib/components/form/Dropdown/index.js +1 -0
- package/lib/components/form/Dropdown/index.js.map +1 -0
- package/lib/components/form/DropdownGeneric/index.js +1 -0
- package/lib/components/form/DropdownGeneric/index.js.map +1 -0
- package/lib/components/form/LegendInput/index.js +1 -0
- package/lib/components/form/LegendInput/index.js.map +1 -0
- package/lib/components/form/NumberInput/index.js +1 -0
- package/lib/components/form/NumberInput/index.js.map +1 -0
- package/lib/components/form/QrCodeInput/index.js +1 -0
- package/lib/components/form/QrCodeInput/index.js.map +1 -0
- package/lib/components/form/QuantityInput/index.js +1 -0
- package/lib/components/form/QuantityInput/index.js.map +1 -0
- package/lib/components/form/Radio/RadioElement.js +9 -8
- package/lib/components/form/Radio/RadioElement.js.map +1 -0
- package/lib/components/form/Radio/RadioListElement.js +1 -0
- package/lib/components/form/Radio/RadioListElement.js.map +1 -0
- package/lib/components/form/Radio/index.js +1 -0
- package/lib/components/form/Radio/index.js.map +1 -0
- package/lib/components/form/SearchInput/index.js +1 -0
- package/lib/components/form/SearchInput/index.js.map +1 -0
- package/lib/components/form/SelectInput/Control.js +1 -0
- package/lib/components/form/SelectInput/Control.js.map +1 -0
- package/lib/components/form/SelectInput/DropdownIndicator.js +1 -0
- package/lib/components/form/SelectInput/DropdownIndicator.js.map +1 -0
- package/lib/components/form/SelectInput/IndicatorsContainer.js +1 -0
- package/lib/components/form/SelectInput/IndicatorsContainer.js.map +1 -0
- package/lib/components/form/SelectInput/MenuList.js +1 -0
- package/lib/components/form/SelectInput/MenuList.js.map +1 -0
- package/lib/components/form/SelectInput/Option.js +1 -0
- package/lib/components/form/SelectInput/Option.js.map +1 -0
- package/lib/components/form/SelectInput/ValueContainer.js +1 -0
- package/lib/components/form/SelectInput/ValueContainer.js.map +1 -0
- package/lib/components/form/SelectInput/VirtualMenuList.js +1 -0
- package/lib/components/form/SelectInput/VirtualMenuList.js.map +1 -0
- package/lib/components/form/SelectInput/index.js +2 -1
- package/lib/components/form/SelectInput/index.js.map +1 -0
- package/lib/components/form/SplitInput/index.js +2 -1
- package/lib/components/form/SplitInput/index.js.map +1 -0
- package/lib/components/form/Switch/Switch.js +1 -0
- package/lib/components/form/Switch/Switch.js.map +1 -0
- package/lib/components/form/Switch/index.js +1 -0
- package/lib/components/form/Switch/index.js.map +1 -0
- package/lib/components/form/index.js +1 -0
- package/lib/components/form/index.js.map +1 -0
- package/lib/components/helpers.js +1 -0
- package/lib/components/helpers.js.map +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/layout/Box/index.js +1 -0
- package/lib/components/layout/Box/index.js.map +1 -0
- package/lib/components/layout/Drawer/index.js +2 -1
- package/lib/components/layout/Drawer/index.js.map +1 -0
- package/lib/components/layout/Flex/index.d.ts +1 -1
- package/lib/components/layout/Flex/index.js +1 -0
- package/lib/components/layout/Flex/index.js.map +1 -0
- package/lib/components/layout/Grid/index.js +1 -0
- package/lib/components/layout/Grid/index.js.map +1 -0
- package/lib/components/layout/List/VerticalTimeline/TimelineIndicator.d.ts +7 -2
- package/lib/components/layout/List/VerticalTimeline/TimelineIndicator.js +34 -28
- package/lib/components/layout/List/VerticalTimeline/TimelineIndicator.js.map +1 -0
- package/lib/components/layout/List/VerticalTimeline/TimelineItem.d.ts +5 -2
- package/lib/components/layout/List/VerticalTimeline/TimelineItem.js +21 -24
- package/lib/components/layout/List/VerticalTimeline/TimelineItem.js.map +1 -0
- package/lib/components/layout/List/VerticalTimeline/index.d.ts +9 -2
- package/lib/components/layout/List/VerticalTimeline/index.js +8 -2
- package/lib/components/layout/List/VerticalTimeline/index.js.map +1 -0
- package/lib/components/layout/Popin/index.d.ts +2 -2
- package/lib/components/layout/Popin/index.js +1 -0
- package/lib/components/layout/Popin/index.js.map +1 -0
- package/lib/components/layout/Side/Provider.js +1 -0
- package/lib/components/layout/Side/Provider.js.map +1 -0
- package/lib/components/layout/Side/index.js +1 -0
- package/lib/components/layout/Side/index.js.map +1 -0
- package/lib/components/layout/index.js +1 -0
- package/lib/components/layout/index.js.map +1 -0
- package/lib/components/loaders/InfiniteLoader/index.js +1 -0
- package/lib/components/loaders/InfiniteLoader/index.js.map +1 -0
- package/lib/components/loaders/ProgressLoader/index.js +1 -0
- package/lib/components/loaders/ProgressLoader/index.js.map +1 -0
- package/lib/components/loaders/index.js +1 -0
- package/lib/components/loaders/index.js.map +1 -0
- package/lib/components/message/Alert/index.d.ts +16 -4
- package/lib/components/message/Alert/index.js +51 -24
- package/lib/components/message/Alert/index.js.map +1 -0
- package/lib/components/message/ContinueOnDevice/index.d.ts +11 -0
- package/lib/components/message/ContinueOnDevice/index.js +12 -0
- package/lib/components/message/ContinueOnDevice/index.js.map +1 -0
- package/lib/components/message/Log/Brackets.js +1 -0
- package/lib/components/message/Log/Brackets.js.map +1 -0
- package/lib/components/message/Log/index.js +1 -0
- package/lib/components/message/Log/index.js.map +1 -0
- package/lib/components/message/Notification/Badge.js +2 -1
- package/lib/components/message/Notification/Badge.js.map +1 -0
- package/lib/components/message/Notification/index.js +1 -0
- package/lib/components/message/Notification/index.js.map +1 -0
- package/lib/components/message/StatusNotification/index.js +1 -0
- package/lib/components/message/StatusNotification/index.js.map +1 -0
- package/lib/components/message/Tip/index.js +4 -3
- package/lib/components/message/Tip/index.js.map +1 -0
- package/lib/components/message/Tooltip/index.js +1 -0
- package/lib/components/message/Tooltip/index.js.map +1 -0
- package/lib/components/message/Tooltip/styles.js +1 -0
- package/lib/components/message/Tooltip/styles.js.map +1 -0
- package/lib/components/message/index.d.ts +1 -0
- package/lib/components/message/index.js +2 -0
- package/lib/components/message/index.js.map +1 -0
- package/lib/components/navigation/Aside/index.d.ts +1 -1
- package/lib/components/navigation/Aside/index.js +1 -0
- package/lib/components/navigation/Aside/index.js.map +1 -0
- package/lib/components/navigation/Aside/stories.helper.js +1 -0
- package/lib/components/navigation/Aside/stories.helper.js.map +1 -0
- package/lib/components/navigation/Breadcrumb/index.js +1 -0
- package/lib/components/navigation/Breadcrumb/index.js.map +1 -0
- package/lib/components/navigation/FlowStepper/index.js +1 -0
- package/lib/components/navigation/FlowStepper/index.js.map +1 -0
- package/lib/components/navigation/Header/index.js +1 -0
- package/lib/components/navigation/Header/index.js.map +1 -0
- package/lib/components/navigation/index.js +1 -0
- package/lib/components/navigation/index.js.map +1 -0
- package/lib/components/navigation/progress/ProgressBar/Onboarding.js +1 -0
- package/lib/components/navigation/progress/ProgressBar/Onboarding.js.map +1 -0
- package/lib/components/navigation/progress/ProgressBar/index.js +1 -0
- package/lib/components/navigation/progress/ProgressBar/index.js.map +1 -0
- package/lib/components/navigation/progress/Stepper/index.js +3 -2
- package/lib/components/navigation/progress/Stepper/index.js.map +1 -0
- package/lib/components/navigation/progress/index.js +1 -0
- package/lib/components/navigation/progress/index.js.map +1 -0
- package/lib/components/navigation/sideBar/Item/Item.js +1 -0
- package/lib/components/navigation/sideBar/Item/Item.js.map +1 -0
- package/lib/components/navigation/sideBar/Item/index.js +1 -0
- package/lib/components/navigation/sideBar/Item/index.js.map +1 -0
- package/lib/components/navigation/sideBar/Logo/Logo.js +1 -0
- package/lib/components/navigation/sideBar/Logo/Logo.js.map +1 -0
- package/lib/components/navigation/sideBar/Logo/index.js +1 -0
- package/lib/components/navigation/sideBar/Logo/index.js.map +1 -0
- package/lib/components/navigation/sideBar/SideBar/SideBar.js +1 -0
- package/lib/components/navigation/sideBar/SideBar/SideBar.js.map +1 -0
- package/lib/components/navigation/sideBar/SideBar/index.js +1 -0
- package/lib/components/navigation/sideBar/SideBar/index.js.map +1 -0
- package/lib/components/navigation/sideBar/Toggle/Toggle.js +1 -0
- package/lib/components/navigation/sideBar/Toggle/Toggle.js.map +1 -0
- package/lib/components/navigation/sideBar/Toggle/index.js +1 -0
- package/lib/components/navigation/sideBar/Toggle/index.js.map +1 -0
- package/lib/components/navigation/sideBar/index.js +1 -0
- package/lib/components/navigation/sideBar/index.js.map +1 -0
- package/lib/components/styled.js +1 -0
- package/lib/components/styled.js.map +1 -0
- package/lib/components/tabs/Bar/index.js +1 -0
- package/lib/components/tabs/Bar/index.js.map +1 -0
- package/lib/components/tabs/Chip/index.js +1 -0
- package/lib/components/tabs/Chip/index.js.map +1 -0
- package/lib/components/tabs/Pill/index.js +1 -0
- package/lib/components/tabs/Pill/index.js.map +1 -0
- package/lib/components/tabs/Tabs/index.js +1 -0
- package/lib/components/tabs/Tabs/index.js.map +1 -0
- package/lib/components/tabs/index.js +1 -0
- package/lib/components/tabs/index.js.map +1 -0
- package/lib/components/transitions/TransitionInOut.js +1 -0
- package/lib/components/transitions/TransitionInOut.js.map +1 -0
- package/lib/components/transitions/TransitionScale.js +1 -0
- package/lib/components/transitions/TransitionScale.js.map +1 -0
- package/lib/components/transitions/TransitionSlide.js +1 -0
- package/lib/components/transitions/TransitionSlide.js.map +1 -0
- package/lib/components/transitions/index.js +1 -0
- package/lib/components/transitions/index.js.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -0
- package/lib/styles/InvertTheme.js +1 -0
- package/lib/styles/InvertTheme.js.map +1 -0
- package/lib/styles/StyleProvider.d.ts +1 -0
- package/lib/styles/StyleProvider.js +2 -0
- package/lib/styles/StyleProvider.js.map +1 -0
- package/lib/styles/global.js +1 -0
- package/lib/styles/global.js.map +1 -0
- package/lib/styles/helpers.js +1 -0
- package/lib/styles/helpers.js.map +1 -0
- package/lib/styles/index.js +1 -0
- package/lib/styles/index.js.map +1 -0
- package/lib/styles/override.d.ts +9 -0
- package/lib/styles/override.js +2 -0
- package/lib/styles/override.js.map +1 -0
- package/lib/styles/styled/fontFamily.js +1 -0
- package/lib/styles/styled/fontFamily.js.map +1 -0
- package/lib/styles/system/gaps.js +1 -0
- package/lib/styles/system/gaps.js.map +1 -0
- package/lib/styles/theme.d.ts +49 -55
- package/lib/styles/theme.js +1 -0
- package/lib/styles/theme.js.map +1 -0
- package/package.json +4 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cryptoIcons.js","sourceRoot":"","sources":["../../src/assets/cryptoIcons.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
package/lib/assets/fonts.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/assets/fonts.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,0BAA0B,CAAC;AAClC,OAAO,+BAA+B,CAAC;AACvC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,gCAAgC,CAAC;AACxC,OAAO,4BAA4B,CAAC;AACpC,OAAO,6BAA6B,CAAC;AACrC,OAAO,8BAA8B,CAAC"}
|
package/lib/assets/icons.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/assets/icons.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
package/lib/assets/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"yBAAuB,0BAA0B;oBAArC,KAAK;+BACY,iCAAiC;0BAAlD,WAAW;yBACA,SAAS;oBAApB,KAAK"}
|
|
@@ -4,3 +4,4 @@ function LedgerLiveAltRegular({ width = 38, height = 32, color = "currentColor",
|
|
|
4
4
|
React.createElement("path", { d: "M0.620148 22.9137V32H14.4471V29.9849H2.63476V22.9137H0.620148ZM35.3653 22.9137V29.9849H23.553V31.9995H37.3799V22.9137H35.3653ZM14.4671 9.08631V22.9132H23.553V21.0961H16.4817V9.08631H14.4671ZM0.620148 0V9.08631H2.63476V2.01461H14.4471V0H0.620148ZM23.553 0V2.01461H35.3653V9.08631H37.3799V0H23.553Z", fill: color })));
|
|
5
5
|
}
|
|
6
6
|
export default LedgerLiveAltRegular;
|
|
7
|
+
//# sourceMappingURL=LedgerLiveAltRegular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LedgerLiveAltRegular.js","sourceRoot":"","sources":["../../../src/assets/logos/LedgerLiveAltRegular.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,SAAS,oBAAoB,CAAC,EAC5B,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,cAAc,GAChB;IACN,OAAO,CACL,6BACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,0SAA0S,EAC5S,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -4,3 +4,4 @@ function LedgerLiveRegular({ width = 155, height = 32, color = "currentColor", }
|
|
|
4
4
|
React.createElement("path", { d: "M141.239 29.9849V32H154.998V22.9137H152.993V29.9849H141.239ZM141.239 0V2.01461H152.993V9.08631H154.998V0H141.239ZM134.598 16.8689H140.652V15.0522H134.598V10.9035H141.242V9.08679H132.593V22.9137H141.537V21.097H134.598V16.8689ZM126.362 22.9137L130.333 9.08631H128.287L125.123 20.6615H124.848L121.821 9.08631H119.718L123.571 22.9137H126.362ZM117.557 9.08631H108.909V10.8643H112.231V21.1357H108.909V22.9137H117.557V21.1357H114.236V10.8643H117.557V9.08631ZM99.4157 9.08631H97.4105V22.9137H106.452V21.097H99.4157V9.08631ZM93.1838 16.9875H86.109V18.8042H93.1852L93.1838 16.9875ZM75.3969 15.5853V10.9035H78.5404C80.0736 10.9035 80.624 11.4174 80.624 12.8196V13.6495C80.624 15.0914 80.0931 15.5853 78.5404 15.5853H75.3969ZM80.3895 16.4147C81.8242 16.0394 82.8266 14.6937 82.8266 13.0964C82.8266 12.0886 82.4336 11.1803 81.6849 10.4493C80.7415 9.54096 79.4833 9.08631 77.852 9.08631H73.4279V22.9137H75.3935V17.402H78.343C79.8562 17.402 80.4656 18.034 80.4656 19.614V22.9127H82.4707V19.931C82.4707 17.7581 81.9593 16.9282 80.3871 16.6911L80.3895 16.4147ZM63.8408 16.8689H69.8948V15.0522H63.8408V10.9035H70.4846V9.08679H61.8362V22.9137H70.7796V21.097H63.8408V16.8689ZM57.2565 17.5999V18.5493C57.2565 20.5443 56.5291 21.1964 54.7009 21.1964H54.2685C52.4408 21.1964 51.5569 20.6036 51.5569 17.858V14.1429C51.5569 11.3777 52.4808 10.805 54.3085 10.805H54.7014C56.4901 10.805 57.0605 11.4767 57.08 13.3331H59.2421C59.0456 10.608 57.237 8.88695 54.5249 8.88695C53.2077 8.88695 52.1073 9.30192 51.2815 10.0917C50.0446 11.2572 49.3553 13.2327 49.3553 15.9979C49.3553 18.6646 49.9452 20.64 51.163 21.8648C51.9889 22.6747 53.1287 23.1078 54.249 23.1078C55.4283 23.1078 56.5096 22.6335 57.06 21.6066H57.335V22.9103H59.1427V15.7827H53.8147V17.5994L57.2565 17.5999ZM39.9195 10.9035H42.0603C44.0849 10.9035 45.1857 11.4174 45.1857 14.1826V17.816C45.1857 20.5812 44.0849 21.0946 42.0603 21.0946H39.9195V10.9035ZM42.2391 22.9137C45.9935 22.9137 47.3887 20.0491 47.3887 15.9998C47.3887 11.8912 45.895 9.08631 42.1996 9.08631H37.9544V22.9137H42.2391ZM28.4605 16.8689H34.5145V15.0522H28.4605V10.9035H35.1044V9.08679H26.4559V22.9137H35.3993V21.097H28.4605V16.8689ZM15.7832 9.08631H13.7786V22.9137H22.82V21.097H15.7832V9.08631ZM0 22.9137V32H13.7586V29.9849H2.00466V22.9137H0ZM0 0V9.08631H2.00466V2.01461H13.7586V0H0Z", fill: color })));
|
|
5
5
|
}
|
|
6
6
|
export default LedgerLiveRegular;
|
|
7
|
+
//# sourceMappingURL=LedgerLiveRegular.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LedgerLiveRegular.js","sourceRoot":"","sources":["../../../src/assets/logos/LedgerLiveRegular.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,SAAS,iBAAiB,CAAC,EACzB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,cAAc,GAChB;IACN,OAAO,CACL,6BACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,YAAY,EACpB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;QAElC,8BACE,CAAC,EAAC,8uEAA8uE,EAChvE,IAAI,EAAE,KAAK,GACX,CACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/assets/logos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -173,7 +173,7 @@ const columns = [
|
|
|
173
173
|
Table.Columns.icon({
|
|
174
174
|
props: (elt) => ({
|
|
175
175
|
name: elt.synchronized ? "CircledCheck" : "Clock",
|
|
176
|
-
color: elt.synchronized ? "success.
|
|
176
|
+
color: elt.synchronized ? "success.c50" : "neutral.c80",
|
|
177
177
|
}),
|
|
178
178
|
}),
|
|
179
179
|
]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/Table/Table.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useState, useCallback } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport Button from \"../cta/Button\";\nimport Flex from \"../layout/Flex\";\nimport Text from \"../asorted/Text\";\nimport Table, { RowContainerProps, Rows, Column, Props } from \"./index\";\nimport { balance, BalanceElement, accounts, Account } from \"./stories.helper\";\nimport { StoryTemplate } from \"../helpers\";\n\nconst description = `\n### A flexible table component.\n\nDefine columns and pass some data to the component that will render it appropriately.\n\n## Usage\n\n\\`\\`\\`js\n\nimport { Table } from \"@ledgerhq/react-ui\"\n\n\\`\\`\\`\n\n### Define columns\n\nTo use the Table component the first thing to do is to define an array of columns.\n\nA column is an object that specifies:\n\n- how cells are rendered\n- how the header is rendered\n- the cells layout\n\n<details>\n<summary>Column object shape</summary>\n\\`\\`\\`ts\n// Note for typescript users, these types are importable from \"@ledgerhq/react-ui/components/Table/Columns\"\n// <T> is the type the data that will be rendered by the table.\n\ninterface Column<T> {\n /**\n * A function called to render each cell of the column.\n */\n render: (props: CellProps<T>) => React.ReactNode;\n /**\n * A valid grid template [value](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns#values).\n * This layout is applied to every cell of the column.\n * Default to \"min-content\" - the largest minimal content contribution of the grid item.\n */\n layout?: string;\n /**\n * A function called to render the header cell.\n * If omitted the rendered header element will be an empty div.\n */\n header?: () => React.ReactNode;\n}\n\ninterface CellProps<T> {\n /**\n * The cell element.\n */\n elt: T;\n /**\n * The row index.\n */\n rowIndex: number;\n /**\n * The column index.\n */\n columnIndex: number;\n}\n\\`\\`\\`\n</details>\n\nYou can either define custom columns or reuse predefined ones that take care of the style\nand the layout and match the global look and feel.\n\n<details>\n<summary>Predefined columns</summary>\n\\`\\`\\`tsx\nTable.Columns.text(args: {\n /**\n * An optional title.\n */\n title?: (elt: T) => React.ReactNode;\n /**\n * An optional subtitle.\n */\n subtitle?: (elt: T) => React.ReactNode;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"auto\".\n */\n layout?: string;\n /**\n * Optional extra props passed to the title <Text /> wrapper.\n */\n titleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n /**\n * Optional extra props passed to the subtitle <Text /> wrapper.\n */\n subtitleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n})\n\nTable.Columns.icon(args: {\n /**\n * An object containing the unerlying <Text /> wrapper props as well as\n * the \"name\" and \"weight\" props of the unerlying <Icon />.\n */\n props: (elt: T) => Pick<IconProps, \"name\" | \"weight\"> & TextProps;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"min-content\".\n */\n layout?: string;\n})\n\\`\\`\\`\n</details>\n\n\\`\\`\\`tsx\nconst columns = [\n // Custom column. (layout is optional)\n {\n layout: \"64px\",\n render: ({ elt }) => <div>elt.value</div>\n },\n // Predefined columns.\n Table.Columns.text({\n layout: \"2fr\",\n title: (elt) => elt.name,\n subtitle: (elt) => elt.currency.name,\n }),\n Table.Columns.icon({\n props: (elt) => ({\n name: elt.synchronized ? \"CircledCheck\" : \"Clock\",\n color: elt.synchronized ? \"success.c100\" : \"neutral.c80\",\n }),\n }),\n]\n\\`\\`\\`\n\n### Minimal Working Example\n\n\\`\\`\\`tsx\n// An array of 12 items - each mapped to a row in the table.\nconst data = new Array(12).fill(0).map((_, idx) => ({\n value: idx,\n}));\n\n// We have 4 columns here.\nconst NB_OF_COLUMNS = 4;\nconst columns: Column<typeof data[0]>[] = Array(NB_OF_COLUMNS)\n .fill(0)\n .map((_, idx) => ({\n // The header will be a letter based on the column (A / B / C / D).\n // 65 is the char code for the letter 'A'.\n header: () => <Text variant=\"h5\">{String.fromCharCode(65 + idx)}</Text>,\n // Each cell will contain an incremental number as well as the cell position.\n render: ({ elt, rowIndex, columnIndex }) => (\n <Flex alignItems=\"baseline\">\n <Text mr={4}>{elt.value * NB_OF_COLUMNS + columnIndex}</Text>\n <Text variant=\"extraSmall\">\n ({rowIndex} / {columnIndex})\n </Text>\n </Flex>\n ),\n }));\n\nfunction MinimalExample(args) {\n return <Table {...args} data={data} columns={columns} />;\n};\n\\`\\`\\`\n`;\n\n/* Default minimal example */\n\n// An array of 12 items - each mapped to a row in the table.\nconst data = new Array(12).fill(0).map((_, idx) => ({\n value: idx,\n}));\n\n// We have 4 columns here.\nconst NB_OF_COLUMNS = 4;\nconst columns: Column<typeof data[0]>[] = Array(NB_OF_COLUMNS)\n .fill(0)\n .map((_, idx) => ({\n // The header will be a letter based on the column (A / B / C / D).\n // 65 is the char code for the letter 'A'.\n header: () => <Text variant=\"h5\">{String.fromCharCode(65 + idx)}</Text>,\n // Each cell will contain an incremental number as well as the cell position.\n render: ({ elt, rowIndex, columnIndex }) => (\n <Flex alignItems=\"baseline\">\n <Text mr={4}>{elt.value * NB_OF_COLUMNS + columnIndex}</Text>\n <Text variant=\"extraSmall\">\n ({rowIndex} / {columnIndex})\n </Text>\n </Flex>\n ),\n }));\n\nexport const Default: StoryTemplate<Props<typeof data[0]>> = (args) => {\n return <Table {...args} data={data} columns={columns} />;\n};\n\n/* Styled example */\n\nconst styledExampleDescription = `\nA more advanced example that applies some styles to the table and uses predefined columns.\n\nAdditional props passed to the Table are applied to the outer container which is\nan instance of the \\`Grid\\` component.\n\nIn this example we are taking advantage of that by using the \\`p\\`, \\`gridRowGap\\`, \\`gridColumnGap\\`,\n\\`borderRadius\\` and \\`backgroundColor\\` props to style the table container.\n`;\n\nexport const Styled: StoryTemplate<Props<BalanceElement>> = (args) => {\n return (\n <>\n <Table\n {...args}\n data={balance.data}\n columns={balance.columns}\n p={8}\n gridRowGap={8}\n gridColumnGap={6}\n borderRadius={8}\n backgroundColor=\"neutral.c20\"\n />\n </>\n );\n};\n\nStyled.parameters = {\n docs: {\n description: {\n story: styledExampleDescription,\n },\n },\n};\n\n/* Nested example */\n\nconst nestedExampleDescription = `\nA complex example that takes in entry nested data and conditonally adds a custom additional row to the table.\n\nThe data has the following shape:\n\n\\`\\`\\`ts\ntype Account = {\n name: string;\n currency: { name: string; abbrev: string };\n synchronized: boolean;\n amount: number;\n evolution: number;\n starred: boolean;\n // The interesting thing is that an account can contain sub-accounts\n subAccounts?: Account[];\n};\n\\`\\`\\`\n\nThe table used in this example adds an extra row containing a nested table when an account contains sub-accounts.\n\nIn order to achieve that the \\`extraRender\\` prop is used and set to a function that will render the extra row.\n\nYou can use the \\`ExtraRowContainer\\` wrapper as the row container if you want the extra content to span the entire row.\nOtherwise be careful not to disturb the grid layout order.\n\n\\`\\`\\`tsx\n<Table\n /* ... */\n extraRender={(account) =>\n // If there are sub accounts\u2026\n account.subAccounts &&\n account.subAccounts.length > 0 && (\n // \u2026render the extra row.\n // ExtraRowContainer is a component that will span to the whole row.\n <Table.ExtraRowContainer>{/* stuff */}</Table.ExtraRowContainer>\n )\n }\n/>\n\\`\\`\\`\n\n`;\n\nfunction SubAccounts({\n account,\n columns,\n}: {\n account: Account;\n columns: Column<Account>[];\n}): JSX.Element | null {\n const theme = useTheme();\n const [expanded, setExpanded] = useState(false);\n const { subAccounts } = account;\n if (!subAccounts) return null;\n\n return (\n <>\n {expanded && (\n <Rows\n data={subAccounts}\n columns={columns}\n render={({ columnIndex, children }) =>\n columnIndex === 0 ? (\n <Flex alignItems=\"center\" justifyContent=\"flex-end\">\n <div\n style={{\n width: \"1px\",\n height: \"2em\",\n marginRight: `${theme.space[6]}px`,\n borderLeft: `1px solid ${theme.colors.neutral.c40}`,\n }}\n />\n {children}\n </Flex>\n ) : (\n children\n )\n }\n />\n )}\n <Table.ExtraRowContainer>\n <Flex justifyContent=\"center\" mt={-8}>\n <Button.Expand onToggle={setExpanded}>\n <Text variant={\"paragraph\"}>\n {expanded ? \"Hide\" : \"Show\"} tokens ({subAccounts.length})\n </Text>\n </Button.Expand>\n </Flex>\n </Table.ExtraRowContainer>\n </>\n );\n}\n\nexport function Nested(args: Props<Account>): JSX.Element {\n return (\n <Table\n {...args}\n data={accounts.data}\n columns={accounts.columns}\n gridRowGap={8}\n gridColumnGap={6}\n p={8}\n borderRadius={8}\n backgroundColor=\"neutral.c20\"\n extraRender={(account) =>\n account.subAccounts &&\n account.subAccounts.length > 0 && (\n <SubAccounts account={account} columns={accounts.columns} />\n )\n }\n />\n );\n}\n\nNested.parameters = {\n docs: {\n description: {\n story: nestedExampleDescription,\n },\n },\n};\n\n/* Custom row example */\n\nconst customRowExampleDescription = `\nThis example showcases how to styles rows, wrap them inside custom containers and add event handlers.\n\n#### Row containers and event handlers\n\nThe \\`renderRow\\` prop is a render function that allows to customize the jsx output for each row of the table.\n\nNote that the container should have the [\\`display: contents\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout#grid_and_display_contents) css rule\nin order to preserve the table grid layout order.\n\n\\`\\`\\`tsx\nconst renderRow = React.useCallback(\n (rowIndex, children) => (\n // RowContainer is a convenience component having \"display: contents\" hardcoded.\n // You can pass any event handler here.\n <Table.RowContainer onClick={() => alert(rowIndex)}>\n {children}\n </Table.RowContainer>\n ),\n [],\n);\n\n<Table\n /* ... */\n renderRow={renderRow}\n/>\n\\`\\`\\`\n\n#### Styling\n\nStyling the container itself will not work.\nSince it has the \\`display: contents\\` rule the element will not produce a content box.\n\nOne working solution is to style the children instead.\n\n\\`\\`\\`ts\nconst CustomRowContainer = styled(Table.RowContainer).attrs(\n ({ onClick }) => ({\n onClick,\n }),\n)\\`\n & > * {\n padding-left: \\${(p) => p.theme.space[5]}px;\n padding-right: \\${(p) => p.theme.space[5]}px;\n padding-top: \\${(p) => p.theme.space[5]}px;\n padding-bottom: \\${(p) => p.theme.space[5]}px;\n\n &:first-child {\n padding-left: \\${(p) => p.theme.space[8]}px;\n }\n &:last-child {\n padding-right: \\${(p) => p.theme.space[8]}px;\n }\n }\n\n &:hover > * {\n transition: background-color 0.2s;\n cursor: pointer;\n background-color: \\${(p) =>\n p.rowIndex % 2 === 0\n ? p.theme.colors.neutral.c30\n : p.theme.colors.primary.c20};\n }\n\\`;\n\\`\\`\\`\n`;\n\nconst CustomRowContainer = styled(Table.RowContainer).attrs<{ onClick: () => void }>(\n ({ onClick }) => ({\n onClick,\n }),\n)<RowContainerProps>`\n & > * {\n padding-left: ${(p) => p.theme.space[5]}px;\n padding-right: ${(p) => p.theme.space[5]}px;\n padding-top: ${(p) => p.theme.space[5]}px;\n padding-bottom: ${(p) => p.theme.space[5]}px;\n\n &:first-child {\n padding-left: ${(p) => p.theme.space[8]}px;\n }\n &:last-child {\n padding-right: ${(p) => p.theme.space[8]}px;\n }\n }\n\n &:hover > * {\n transition: background-color 0.2s;\n cursor: pointer;\n background-color: ${(p) =>\n p.rowIndex % 2 === 0 ? p.theme.colors.neutral.c30 : p.theme.colors.primary.c20};\n }\n`;\n\nexport const CustomRows: StoryTemplate<Props<BalanceElement>> = (args) => {\n const [selectedRowIndex, setSelectedRowIndex] = useState(null);\n\n const renderRow = useCallback(\n (rowIndex, children) => (\n <CustomRowContainer rowIndex={rowIndex} onClick={() => setSelectedRowIndex(rowIndex)}>\n {children}\n </CustomRowContainer>\n ),\n [],\n );\n\n return (\n <>\n <Flex mb={8}>\n <Text variant=\"h5\">Selected index: {selectedRowIndex ?? \"none\"}</Text>\n </Flex>\n <Table\n {...args}\n data={balance.data}\n columns={balance.columns}\n renderRow={renderRow}\n borderRadius={8}\n justifyItems=\"stretch\"\n alignItems=\"stretch\"\n border=\"1px solid\"\n borderColor=\"neutral.c50\"\n overflow=\"hidden\"\n withHeaders={false}\n />\n </>\n );\n};\n\nCustomRows.parameters = {\n docs: {\n description: {\n story: customRowExampleDescription,\n },\n },\n};\n\n/* Export */\n\nexport default {\n title: \"Tables/Table\",\n component: Table,\n argTypes: {\n withHeaders: { type: \"boolean\", defaultValue: false },\n data: { control: false },\n columns: { control: false },\n rows: { table: { disable: true } },\n },\n parameters: {\n docs: {\n description: {\n component: description,\n },\n },\n },\n};\n"],
|
|
4
|
+
"sourcesContent": ["import React, { useState, useCallback } from \"react\";\nimport styled, { useTheme } from \"styled-components\";\n\nimport Button from \"../cta/Button\";\nimport Flex from \"../layout/Flex\";\nimport Text from \"../asorted/Text\";\nimport Table, { RowContainerProps, Rows, Column, Props } from \"./index\";\nimport { balance, BalanceElement, accounts, Account } from \"./stories.helper\";\nimport { StoryTemplate } from \"../helpers\";\n\nconst description = `\n### A flexible table component.\n\nDefine columns and pass some data to the component that will render it appropriately.\n\n## Usage\n\n\\`\\`\\`js\n\nimport { Table } from \"@ledgerhq/react-ui\"\n\n\\`\\`\\`\n\n### Define columns\n\nTo use the Table component the first thing to do is to define an array of columns.\n\nA column is an object that specifies:\n\n- how cells are rendered\n- how the header is rendered\n- the cells layout\n\n<details>\n<summary>Column object shape</summary>\n\\`\\`\\`ts\n// Note for typescript users, these types are importable from \"@ledgerhq/react-ui/components/Table/Columns\"\n// <T> is the type the data that will be rendered by the table.\n\ninterface Column<T> {\n /**\n * A function called to render each cell of the column.\n */\n render: (props: CellProps<T>) => React.ReactNode;\n /**\n * A valid grid template [value](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns#values).\n * This layout is applied to every cell of the column.\n * Default to \"min-content\" - the largest minimal content contribution of the grid item.\n */\n layout?: string;\n /**\n * A function called to render the header cell.\n * If omitted the rendered header element will be an empty div.\n */\n header?: () => React.ReactNode;\n}\n\ninterface CellProps<T> {\n /**\n * The cell element.\n */\n elt: T;\n /**\n * The row index.\n */\n rowIndex: number;\n /**\n * The column index.\n */\n columnIndex: number;\n}\n\\`\\`\\`\n</details>\n\nYou can either define custom columns or reuse predefined ones that take care of the style\nand the layout and match the global look and feel.\n\n<details>\n<summary>Predefined columns</summary>\n\\`\\`\\`tsx\nTable.Columns.text(args: {\n /**\n * An optional title.\n */\n title?: (elt: T) => React.ReactNode;\n /**\n * An optional subtitle.\n */\n subtitle?: (elt: T) => React.ReactNode;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"auto\".\n */\n layout?: string;\n /**\n * Optional extra props passed to the title <Text /> wrapper.\n */\n titleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n /**\n * Optional extra props passed to the subtitle <Text /> wrapper.\n */\n subtitleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;\n})\n\nTable.Columns.icon(args: {\n /**\n * An object containing the unerlying <Text /> wrapper props as well as\n * the \"name\" and \"weight\" props of the unerlying <Icon />.\n */\n props: (elt: T) => Pick<IconProps, \"name\" | \"weight\"> & TextProps;\n /**\n * An optional render function to display the column header.\n */\n header?: () => React.ReactNode;\n /**\n * The grid column layout, by default \"min-content\".\n */\n layout?: string;\n})\n\\`\\`\\`\n</details>\n\n\\`\\`\\`tsx\nconst columns = [\n // Custom column. (layout is optional)\n {\n layout: \"64px\",\n render: ({ elt }) => <div>elt.value</div>\n },\n // Predefined columns.\n Table.Columns.text({\n layout: \"2fr\",\n title: (elt) => elt.name,\n subtitle: (elt) => elt.currency.name,\n }),\n Table.Columns.icon({\n props: (elt) => ({\n name: elt.synchronized ? \"CircledCheck\" : \"Clock\",\n color: elt.synchronized ? \"success.c50\" : \"neutral.c80\",\n }),\n }),\n]\n\\`\\`\\`\n\n### Minimal Working Example\n\n\\`\\`\\`tsx\n// An array of 12 items - each mapped to a row in the table.\nconst data = new Array(12).fill(0).map((_, idx) => ({\n value: idx,\n}));\n\n// We have 4 columns here.\nconst NB_OF_COLUMNS = 4;\nconst columns: Column<typeof data[0]>[] = Array(NB_OF_COLUMNS)\n .fill(0)\n .map((_, idx) => ({\n // The header will be a letter based on the column (A / B / C / D).\n // 65 is the char code for the letter 'A'.\n header: () => <Text variant=\"h5\">{String.fromCharCode(65 + idx)}</Text>,\n // Each cell will contain an incremental number as well as the cell position.\n render: ({ elt, rowIndex, columnIndex }) => (\n <Flex alignItems=\"baseline\">\n <Text mr={4}>{elt.value * NB_OF_COLUMNS + columnIndex}</Text>\n <Text variant=\"extraSmall\">\n ({rowIndex} / {columnIndex})\n </Text>\n </Flex>\n ),\n }));\n\nfunction MinimalExample(args) {\n return <Table {...args} data={data} columns={columns} />;\n};\n\\`\\`\\`\n`;\n\n/* Default minimal example */\n\n// An array of 12 items - each mapped to a row in the table.\nconst data = new Array(12).fill(0).map((_, idx) => ({\n value: idx,\n}));\n\n// We have 4 columns here.\nconst NB_OF_COLUMNS = 4;\nconst columns: Column<typeof data[0]>[] = Array(NB_OF_COLUMNS)\n .fill(0)\n .map((_, idx) => ({\n // The header will be a letter based on the column (A / B / C / D).\n // 65 is the char code for the letter 'A'.\n header: () => <Text variant=\"h5\">{String.fromCharCode(65 + idx)}</Text>,\n // Each cell will contain an incremental number as well as the cell position.\n render: ({ elt, rowIndex, columnIndex }) => (\n <Flex alignItems=\"baseline\">\n <Text mr={4}>{elt.value * NB_OF_COLUMNS + columnIndex}</Text>\n <Text variant=\"extraSmall\">\n ({rowIndex} / {columnIndex})\n </Text>\n </Flex>\n ),\n }));\n\nexport const Default: StoryTemplate<Props<typeof data[0]>> = (args) => {\n return <Table {...args} data={data} columns={columns} />;\n};\n\n/* Styled example */\n\nconst styledExampleDescription = `\nA more advanced example that applies some styles to the table and uses predefined columns.\n\nAdditional props passed to the Table are applied to the outer container which is\nan instance of the \\`Grid\\` component.\n\nIn this example we are taking advantage of that by using the \\`p\\`, \\`gridRowGap\\`, \\`gridColumnGap\\`,\n\\`borderRadius\\` and \\`backgroundColor\\` props to style the table container.\n`;\n\nexport const Styled: StoryTemplate<Props<BalanceElement>> = (args) => {\n return (\n <>\n <Table\n {...args}\n data={balance.data}\n columns={balance.columns}\n p={8}\n gridRowGap={8}\n gridColumnGap={6}\n borderRadius={8}\n backgroundColor=\"neutral.c20\"\n />\n </>\n );\n};\n\nStyled.parameters = {\n docs: {\n description: {\n story: styledExampleDescription,\n },\n },\n};\n\n/* Nested example */\n\nconst nestedExampleDescription = `\nA complex example that takes in entry nested data and conditonally adds a custom additional row to the table.\n\nThe data has the following shape:\n\n\\`\\`\\`ts\ntype Account = {\n name: string;\n currency: { name: string; abbrev: string };\n synchronized: boolean;\n amount: number;\n evolution: number;\n starred: boolean;\n // The interesting thing is that an account can contain sub-accounts\n subAccounts?: Account[];\n};\n\\`\\`\\`\n\nThe table used in this example adds an extra row containing a nested table when an account contains sub-accounts.\n\nIn order to achieve that the \\`extraRender\\` prop is used and set to a function that will render the extra row.\n\nYou can use the \\`ExtraRowContainer\\` wrapper as the row container if you want the extra content to span the entire row.\nOtherwise be careful not to disturb the grid layout order.\n\n\\`\\`\\`tsx\n<Table\n /* ... */\n extraRender={(account) =>\n // If there are sub accounts\u2026\n account.subAccounts &&\n account.subAccounts.length > 0 && (\n // \u2026render the extra row.\n // ExtraRowContainer is a component that will span to the whole row.\n <Table.ExtraRowContainer>{/* stuff */}</Table.ExtraRowContainer>\n )\n }\n/>\n\\`\\`\\`\n\n`;\n\nfunction SubAccounts({\n account,\n columns,\n}: {\n account: Account;\n columns: Column<Account>[];\n}): JSX.Element | null {\n const theme = useTheme();\n const [expanded, setExpanded] = useState(false);\n const { subAccounts } = account;\n if (!subAccounts) return null;\n\n return (\n <>\n {expanded && (\n <Rows\n data={subAccounts}\n columns={columns}\n render={({ columnIndex, children }) =>\n columnIndex === 0 ? (\n <Flex alignItems=\"center\" justifyContent=\"flex-end\">\n <div\n style={{\n width: \"1px\",\n height: \"2em\",\n marginRight: `${theme.space[6]}px`,\n borderLeft: `1px solid ${theme.colors.neutral.c40}`,\n }}\n />\n {children}\n </Flex>\n ) : (\n children\n )\n }\n />\n )}\n <Table.ExtraRowContainer>\n <Flex justifyContent=\"center\" mt={-8}>\n <Button.Expand onToggle={setExpanded}>\n <Text variant={\"paragraph\"}>\n {expanded ? \"Hide\" : \"Show\"} tokens ({subAccounts.length})\n </Text>\n </Button.Expand>\n </Flex>\n </Table.ExtraRowContainer>\n </>\n );\n}\n\nexport function Nested(args: Props<Account>): JSX.Element {\n return (\n <Table\n {...args}\n data={accounts.data}\n columns={accounts.columns}\n gridRowGap={8}\n gridColumnGap={6}\n p={8}\n borderRadius={8}\n backgroundColor=\"neutral.c20\"\n extraRender={(account) =>\n account.subAccounts &&\n account.subAccounts.length > 0 && (\n <SubAccounts account={account} columns={accounts.columns} />\n )\n }\n />\n );\n}\n\nNested.parameters = {\n docs: {\n description: {\n story: nestedExampleDescription,\n },\n },\n};\n\n/* Custom row example */\n\nconst customRowExampleDescription = `\nThis example showcases how to styles rows, wrap them inside custom containers and add event handlers.\n\n#### Row containers and event handlers\n\nThe \\`renderRow\\` prop is a render function that allows to customize the jsx output for each row of the table.\n\nNote that the container should have the [\\`display: contents\\`](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout#grid_and_display_contents) css rule\nin order to preserve the table grid layout order.\n\n\\`\\`\\`tsx\nconst renderRow = React.useCallback(\n (rowIndex, children) => (\n // RowContainer is a convenience component having \"display: contents\" hardcoded.\n // You can pass any event handler here.\n <Table.RowContainer onClick={() => alert(rowIndex)}>\n {children}\n </Table.RowContainer>\n ),\n [],\n);\n\n<Table\n /* ... */\n renderRow={renderRow}\n/>\n\\`\\`\\`\n\n#### Styling\n\nStyling the container itself will not work.\nSince it has the \\`display: contents\\` rule the element will not produce a content box.\n\nOne working solution is to style the children instead.\n\n\\`\\`\\`ts\nconst CustomRowContainer = styled(Table.RowContainer).attrs(\n ({ onClick }) => ({\n onClick,\n }),\n)\\`\n & > * {\n padding-left: \\${(p) => p.theme.space[5]}px;\n padding-right: \\${(p) => p.theme.space[5]}px;\n padding-top: \\${(p) => p.theme.space[5]}px;\n padding-bottom: \\${(p) => p.theme.space[5]}px;\n\n &:first-child {\n padding-left: \\${(p) => p.theme.space[8]}px;\n }\n &:last-child {\n padding-right: \\${(p) => p.theme.space[8]}px;\n }\n }\n\n &:hover > * {\n transition: background-color 0.2s;\n cursor: pointer;\n background-color: \\${(p) =>\n p.rowIndex % 2 === 0\n ? p.theme.colors.neutral.c30\n : p.theme.colors.primary.c20};\n }\n\\`;\n\\`\\`\\`\n`;\n\nconst CustomRowContainer = styled(Table.RowContainer).attrs<{ onClick: () => void }>(\n ({ onClick }) => ({\n onClick,\n }),\n)<RowContainerProps>`\n & > * {\n padding-left: ${(p) => p.theme.space[5]}px;\n padding-right: ${(p) => p.theme.space[5]}px;\n padding-top: ${(p) => p.theme.space[5]}px;\n padding-bottom: ${(p) => p.theme.space[5]}px;\n\n &:first-child {\n padding-left: ${(p) => p.theme.space[8]}px;\n }\n &:last-child {\n padding-right: ${(p) => p.theme.space[8]}px;\n }\n }\n\n &:hover > * {\n transition: background-color 0.2s;\n cursor: pointer;\n background-color: ${(p) =>\n p.rowIndex % 2 === 0 ? p.theme.colors.neutral.c30 : p.theme.colors.primary.c20};\n }\n`;\n\nexport const CustomRows: StoryTemplate<Props<BalanceElement>> = (args) => {\n const [selectedRowIndex, setSelectedRowIndex] = useState(null);\n\n const renderRow = useCallback(\n (rowIndex, children) => (\n <CustomRowContainer rowIndex={rowIndex} onClick={() => setSelectedRowIndex(rowIndex)}>\n {children}\n </CustomRowContainer>\n ),\n [],\n );\n\n return (\n <>\n <Flex mb={8}>\n <Text variant=\"h5\">Selected index: {selectedRowIndex ?? \"none\"}</Text>\n </Flex>\n <Table\n {...args}\n data={balance.data}\n columns={balance.columns}\n renderRow={renderRow}\n borderRadius={8}\n justifyItems=\"stretch\"\n alignItems=\"stretch\"\n border=\"1px solid\"\n borderColor=\"neutral.c50\"\n overflow=\"hidden\"\n withHeaders={false}\n />\n </>\n );\n};\n\nCustomRows.parameters = {\n docs: {\n description: {\n story: customRowExampleDescription,\n },\n },\n};\n\n/* Export */\n\nexport default {\n title: \"Tables/Table\",\n component: Table,\n argTypes: {\n withHeaders: { type: \"boolean\", defaultValue: false },\n data: { control: false },\n columns: { control: false },\n rows: { table: { disable: true } },\n },\n parameters: {\n docs: {\n description: {\n component: description,\n },\n },\n },\n};\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["React", "Text", "Flex", "Table", "columns", "Button", "styled"]
|
|
7
7
|
}
|
|
@@ -105,7 +105,7 @@ const balance = {
|
|
|
105
105
|
header: () => /* @__PURE__ */ import_react.default.createElement(Header, null, "Evolution"),
|
|
106
106
|
subtitle: (elt) => (elt.evolution > 0 ? "+" : "") + elt.evolution,
|
|
107
107
|
subtitleProps: (elt) => ({
|
|
108
|
-
color: elt.evolution < 0 ? "error.
|
|
108
|
+
color: elt.evolution < 0 ? "error.c50" : "success.c50"
|
|
109
109
|
})
|
|
110
110
|
}),
|
|
111
111
|
Columns.icon({
|
|
@@ -191,7 +191,7 @@ const accounts = {
|
|
|
191
191
|
Columns.icon({
|
|
192
192
|
props: (elt) => ({
|
|
193
193
|
name: elt.synchronized ? "CircledCheck" : "Clock",
|
|
194
|
-
color: elt.synchronized ? "success.
|
|
194
|
+
color: elt.synchronized ? "success.c50" : "neutral.c80"
|
|
195
195
|
})
|
|
196
196
|
}),
|
|
197
197
|
Columns.text({
|
|
@@ -206,7 +206,7 @@ const accounts = {
|
|
|
206
206
|
layout: "1fr",
|
|
207
207
|
subtitle: (elt) => (elt.evolution > 0 ? "+" : "") + elt.evolution,
|
|
208
208
|
subtitleProps: (elt) => ({
|
|
209
|
-
color: elt.evolution < 0 ? "error.
|
|
209
|
+
color: elt.evolution < 0 ? "error.c50" : "success.c50"
|
|
210
210
|
})
|
|
211
211
|
}),
|
|
212
212
|
Columns.icon({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/Table/stories.helper.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport { useTheme } from \"styled-components\";\nimport Text from \"../asorted/Text\";\nimport Table, { Column } from \"./index\";\nimport { CellProps } from \"./Columns\";\nconst { Columns } = Table;\n\nfunction Header({ children }: { children: React.ReactNode }) {\n const theme = useTheme();\n return (\n <Text\n fontWeight=\"semiBold\"\n variant={\"paragraph\"}\n style={{ borderBottom: `1px solid ${theme.colors.neutral.c40}` }}\n mx={-4}\n px={4}\n pb={8}\n >\n {children}\n </Text>\n );\n}\n\nexport type BalanceElement = {\n currency: string;\n amount: number;\n counterValue: number;\n address: string;\n evolution: number;\n starred: boolean;\n};\n\nexport const balance: { data: BalanceElement[]; columns: Column<BalanceElement>[] } = {\n data: [\n {\n currency: \"Ethereum Classic\",\n amount: 128.26484,\n counterValue: 53.29,\n address: \"0x32Be343B94f860124dC4fEe278FDCBD38C102D88\",\n evolution: 0.1,\n starred: false,\n },\n {\n currency: \"Ethereum\",\n amount: 1.23,\n counterValue: 3029.29,\n address: \"0xa910f92acdaf488fa6ef02174fb86208ad7722ba\",\n evolution: 3.0,\n starred: true,\n },\n {\n currency: \"Bitcoin\",\n amount: 0.003,\n counterValue: 1920.23,\n address: \"1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX\",\n evolution: -2.1,\n starred: true,\n },\n {\n currency: \"Dai\",\n amount: 128,\n counterValue: 128,\n address: \"0x380389E04f7671AB849baF10bd89C75C3bf99cbB\",\n evolution: 0.2,\n starred: false,\n },\n ],\n columns: [\n Columns.text({\n header: () => <Header>Currency</Header>,\n title: (elt) => elt.currency,\n }),\n Columns.text({\n header: () => <Header>Amount</Header>,\n title: (elt) => elt.amount,\n subtitle: (elt) => elt.counterValue,\n }),\n Columns.text({\n header: () => <Header>Address</Header>,\n subtitle: (elt) => elt.address,\n }),\n Columns.text({\n header: () => <Header>Evolution</Header>,\n subtitle: (elt) => (elt.evolution > 0 ? \"+\" : \"\") + elt.evolution,\n subtitleProps: (elt) => ({\n color: elt.evolution < 0 ? \"error.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAyB;AACzB,kBAAiB;AACjB,mBAA8B;AAE9B,MAAM,EAAE,QAAQ,IAAI,aAAAA;AAEpB,SAAS,OAAO,EAAE,SAAS,GAAkC;AAC3D,QAAM,YAAQ,mCAAS;AACvB,SACE,6BAAAC,QAAA;AAAA,IAAC,YAAAC;AAAA,IAAA;AAAA,MACC,YAAW;AAAA,MACX,SAAS;AAAA,MACT,OAAO,EAAE,cAAc,aAAa,MAAM,OAAO,QAAQ,MAAM;AAAA,MAC/D,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA;AAAA,IAEH;AAAA,EACH;AAEJ;AAWO,MAAM,UAAyE;AAAA,EACpF,MAAM;AAAA,IACJ;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,QAAQ,KAAK;AAAA,MACX,QAAQ,MAAM,6BAAAD,QAAA,cAAC,cAAO,UAAQ;AAAA,MAC9B,OAAO,CAAC,QAAQ,IAAI;AAAA,IACtB,CAAC;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,QAAQ,MAAM,6BAAAA,QAAA,cAAC,cAAO,QAAM;AAAA,MAC5B,OAAO,CAAC,QAAQ,IAAI;AAAA,MACpB,UAAU,CAAC,QAAQ,IAAI;AAAA,IACzB,CAAC;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,QAAQ,MAAM,6BAAAA,QAAA,cAAC,cAAO,SAAO;AAAA,MAC7B,UAAU,CAAC,QAAQ,IAAI;AAAA,IACzB,CAAC;AAAA,IACD,QAAQ,KAAK;AAAA,MACX,QAAQ,MAAM,6BAAAA,QAAA,cAAC,cAAO,WAAS;AAAA,MAC/B,UAAU,CAAC,SAAS,IAAI,YAAY,IAAI,MAAM,MAAM,IAAI;AAAA,MACxD,eAAe,CAAC,SAAS;AAAA,QACvB,OAAO,IAAI,YAAY,IAAI,
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport { useTheme } from \"styled-components\";\nimport Text from \"../asorted/Text\";\nimport Table, { Column } from \"./index\";\nimport { CellProps } from \"./Columns\";\nconst { Columns } = Table;\n\nfunction Header({ children }: { children: React.ReactNode }) {\n const theme = useTheme();\n return (\n <Text\n fontWeight=\"semiBold\"\n variant={\"paragraph\"}\n style={{ borderBottom: `1px solid ${theme.colors.neutral.c40}` }}\n mx={-4}\n px={4}\n pb={8}\n >\n {children}\n </Text>\n );\n}\n\nexport type BalanceElement = {\n currency: string;\n amount: number;\n counterValue: number;\n address: string;\n evolution: number;\n starred: boolean;\n};\n\nexport const balance: { data: BalanceElement[]; columns: Column<BalanceElement>[] } = {\n data: [\n {\n currency: \"Ethereum Classic\",\n amount: 128.26484,\n counterValue: 53.29,\n address: \"0x32Be343B94f860124dC4fEe278FDCBD38C102D88\",\n evolution: 0.1,\n starred: false,\n },\n {\n currency: \"Ethereum\",\n amount: 1.23,\n counterValue: 3029.29,\n address: \"0xa910f92acdaf488fa6ef02174fb86208ad7722ba\",\n evolution: 3.0,\n starred: true,\n },\n {\n currency: \"Bitcoin\",\n amount: 0.003,\n counterValue: 1920.23,\n address: \"1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX\",\n evolution: -2.1,\n starred: true,\n },\n {\n currency: \"Dai\",\n amount: 128,\n counterValue: 128,\n address: \"0x380389E04f7671AB849baF10bd89C75C3bf99cbB\",\n evolution: 0.2,\n starred: false,\n },\n ],\n columns: [\n Columns.text({\n header: () => <Header>Currency</Header>,\n title: (elt) => elt.currency,\n }),\n Columns.text({\n header: () => <Header>Amount</Header>,\n title: (elt) => elt.amount,\n subtitle: (elt) => elt.counterValue,\n }),\n Columns.text({\n header: () => <Header>Address</Header>,\n subtitle: (elt) => elt.address,\n }),\n Columns.text({\n header: () => <Header>Evolution</Header>,\n subtitle: (elt) => (elt.evolution > 0 ? \"+\" : \"\") + elt.evolution,\n subtitleProps: (elt) => ({\n color: elt.evolution < 0 ? \"error.c50\" : \"success.c50\",\n }),\n }),\n Columns.icon({\n header: () => <Header> </Header>,\n props: (elt) => ({\n name: \"StarSolid\",\n color: elt.starred ? \"neutral.c100\" : \"neutral.c70\",\n }),\n }),\n ],\n};\n\nexport type Account = {\n name: string;\n currency: { name: string; abbrev: string };\n synchronized: boolean;\n amount: number;\n evolution: number;\n starred: boolean;\n subAccounts?: Account[];\n};\n\nexport const accounts: { data: Account[]; columns: Column<Account>[] } = {\n data: [\n {\n name: \"Bitcoin 1\",\n currency: { name: \"Bitcoin\", abbrev: \"BTC\" },\n synchronized: false,\n amount: 0.304,\n evolution: 1.3,\n starred: false,\n },\n {\n name: \"Bitcoin 2\",\n currency: { name: \"Bitcoin\", abbrev: \"BTC\" },\n synchronized: true,\n amount: 0.409,\n evolution: 1.1,\n starred: false,\n },\n {\n name: \"Bitcoin 3\",\n currency: { name: \"Bitcoin\", abbrev: \"BTC\" },\n synchronized: true,\n amount: 2.304,\n evolution: -1.3,\n starred: true,\n },\n {\n name: \"Ethereum 1\",\n currency: { name: \"Ethereum\", abbrev: \"ETH\" },\n synchronized: true,\n amount: 1.23,\n evolution: 4,\n starred: true,\n subAccounts: [\n {\n name: \"Tether\",\n currency: { name: \"Tether\", abbrev: \"USDT\" },\n synchronized: false,\n amount: 0.304,\n evolution: 1.3,\n starred: false,\n },\n {\n name: \"Tether 2\",\n currency: { name: \"Tether\", abbrev: \"USDT\" },\n synchronized: false,\n amount: 0.904,\n evolution: 8.3,\n starred: true,\n },\n ],\n },\n {\n name: \"Ethereum 2\",\n currency: { name: \"Ethereum\", abbrev: \"ETH\" },\n synchronized: false,\n amount: 0.23,\n evolution: -3,\n starred: false,\n },\n ],\n columns: [\n {\n layout: \"64px\",\n render: ({ elt }: CellProps<Account>): JSX.Element =>\n elt.currency.abbrev === \"BTC\" ? svgBtc : elt.currency.abbrev === \"ETH\" ? svgEth : svgUsdt,\n },\n Columns.text({\n layout: \"2fr\",\n title: (elt) => elt.name,\n subtitle: (elt) => elt.currency.name,\n }),\n Columns.icon({\n props: (elt) => ({\n name: elt.synchronized ? \"CircledCheck\" : \"Clock\",\n color: elt.synchronized ? \"success.c50\" : \"neutral.c80\",\n }),\n }),\n Columns.text({\n layout: \"1fr\",\n subtitle: (elt) => elt.currency.abbrev,\n }),\n Columns.text({\n layout: \"1fr\",\n title: (elt) => elt.amount,\n }),\n Columns.text({\n layout: \"1fr\",\n subtitle: (elt) => (elt.evolution > 0 ? \"+\" : \"\") + elt.evolution,\n subtitleProps: (elt) => ({\n color: elt.evolution < 0 ? \"error.c50\" : \"success.c50\",\n }),\n }),\n Columns.icon({\n props: (elt) => ({\n name: \"StarSolid\",\n color: elt.starred ? \"neutral.c100\" : \"neutral.c70\",\n }),\n }),\n ],\n};\n\nconst svgBtc = (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z\"\n fill=\"#F7931A\"\n />\n <path\n d=\"M21.8917 14.3672C22.154 12.616 20.8198 11.6745 18.9968 11.0462L19.5883 8.67348L18.1446 8.31423L17.5682 10.6243C17.1889 10.529 16.7995 10.4405 16.4111 10.3519L16.9917 8.02683L15.548 7.66675L14.9565 10.0386C14.6424 9.96678 14.3333 9.8966 14.0342 9.82141L14.0358 9.81389L12.0441 9.31679L11.6598 10.8591C11.6598 10.8591 12.7317 11.1047 12.7091 11.1197C13.2939 11.2659 13.3992 11.6527 13.3817 11.9602L12.7083 14.6629C12.7484 14.6729 12.8002 14.688 12.8587 14.7105L12.7058 14.6729L11.7617 18.4593C11.6899 18.6364 11.5086 18.9029 11.0992 18.8018C11.1142 18.8227 10.0498 18.5403 10.0498 18.5403L9.33301 20.1929L11.2128 20.6616C11.562 20.7493 11.9046 20.8412 12.2413 20.9272L11.6439 23.3267L13.0867 23.6859L13.6783 21.3132C14.0726 21.4193 14.4552 21.5179 14.8295 21.6115L14.2397 23.9742L15.6834 24.3334L16.2807 21.939C18.7437 22.4052 20.5951 22.2172 21.3745 19.9898C22.0028 18.1969 21.3436 17.1618 20.0478 16.4876C20.9919 16.2704 21.7021 15.6496 21.8917 14.3672ZM18.5916 18.994C18.1463 20.7877 15.1261 19.8177 14.147 19.5746L14.9406 16.3957C15.9198 16.6405 19.0586 17.1242 18.5916 18.994ZM19.0386 14.3413C18.6317 15.9729 16.1186 15.1433 15.3041 14.9403L16.0226 12.0579C16.8371 12.261 19.463 12.6394 19.0386 14.3413Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nconst svgEth = (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z\"\n fill=\"#0EBDCD\"\n />\n <path\n d=\"M21.2066 15.5834L15.9992 7.66669L10.7916 15.5834L15.9992 18.6067L21.2066 15.5834Z\"\n fill=\"white\"\n />\n <path\n d=\"M15.9992 24.3333L21.21 17.1241L15.9992 20.147L10.7916 17.1241L15.9992 24.3333Z\"\n fill=\"white\"\n />\n </svg>\n);\n\nconst svgUsdt = (\n <svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M0 16C0 7.16344 7.16344 0 16 0C24.8366 0 32 7.16344 32 16C32 24.8366 24.8366 32 16 32C7.16344 32 0 24.8366 0 16Z\"\n fill=\"#00A478\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.7205 16.6265V16.6246C17.6175 16.6321 17.0863 16.6639 15.9013 16.6639C14.9551 16.6639 14.289 16.6358 14.0548 16.6246V16.6274C10.4125 16.4672 7.69393 15.833 7.69393 15.0742C7.69393 14.3163 10.4125 13.6821 14.0548 13.5191V15.996C14.2928 16.0128 14.9748 16.0531 15.9172 16.0531C17.0479 16.0531 17.6147 16.0063 17.7205 15.9969V13.521C21.3553 13.683 24.0674 14.3172 24.0674 15.0742C24.0674 15.833 21.3553 16.4653 17.7205 16.6265ZM17.7205 13.2633V11.0469H22.7924V7.66687H8.98297V11.0469H14.0548V13.2624C9.93289 13.4516 6.83301 14.2685 6.83301 15.2465C6.83301 16.2246 9.93289 17.0405 14.0548 17.2307V24.3335H17.7205V17.2288C21.8359 17.0396 24.9283 16.2236 24.9283 15.2465C24.9283 14.2695 21.8359 13.4535 17.7205 13.2633Z\"\n fill=\"white\"\n />\n </svg>\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Table", "React", "Text"]
|
|
7
7
|
}
|
|
@@ -33,14 +33,17 @@ __export(Divider_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(Divider_exports);
|
|
34
34
|
var import_react = __toESM(require("react"));
|
|
35
35
|
var import_styled_components = __toESM(require("styled-components"));
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
var import_Flex = __toESM(require("../../layout/Flex"));
|
|
37
|
+
var import_Text = __toESM(require("../../asorted/Text"));
|
|
38
|
+
const DividerBase = (0, import_styled_components.default)(import_Flex.default).attrs((p) => ({
|
|
39
|
+
my: p.my || 0,
|
|
40
|
+
height: 1,
|
|
41
|
+
backgroundColor: "neutral.c40"
|
|
42
|
+
}))``;
|
|
43
|
+
const Divider = (props) => {
|
|
44
|
+
if (!props.text)
|
|
45
|
+
return /* @__PURE__ */ import_react.default.createElement(DividerBase, { ...props });
|
|
46
|
+
return /* @__PURE__ */ import_react.default.createElement(import_Flex.default, { ...props, flexDirection: "row", alignItems: "center" }, /* @__PURE__ */ import_react.default.createElement(DividerBase, { my: 6, flex: 1 }), /* @__PURE__ */ import_react.default.createElement(import_Text.default, { variant: "bodyLineHeight", color: "neutral.c60", mx: 6 }, props.text), /* @__PURE__ */ import_react.default.createElement(DividerBase, { my: 6, flex: 1 }));
|
|
47
|
+
};
|
|
48
|
+
var Divider_default = Divider;
|
|
46
49
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/asorted/Divider/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\n\nconst
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;
|
|
6
|
-
"names": ["styled", "React"]
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport Flex, { FlexBoxProps } from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\n\nconst DividerBase = styled(Flex).attrs<FlexBoxProps>((p: FlexBoxProps) => ({\n my: p.my || 0,\n height: 1,\n backgroundColor: \"neutral.c40\",\n}))``;\n\nexport type Props = FlexBoxProps & { text?: string };\n\nconst Divider: React.FC<Props> = (props) => {\n if (!props.text) return <DividerBase {...props} />;\n return (\n <Flex {...props} flexDirection=\"row\" alignItems=\"center\">\n <DividerBase my={6} flex={1} />\n <Text variant=\"bodyLineHeight\" color=\"neutral.c60\" mx={6}>\n {props.text}\n </Text>\n <DividerBase my={6} flex={1} />\n </Flex>\n );\n};\n\nexport default Divider;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAAmC;AACnC,kBAAiB;AAEjB,MAAM,kBAAc,yBAAAA,SAAO,YAAAC,OAAI,EAAE,MAAoB,CAAC,OAAqB;AAAA,EACzE,IAAI,EAAE,MAAM;AAAA,EACZ,QAAQ;AAAA,EACR,iBAAiB;AACnB,EAAE;AAIF,MAAM,UAA2B,CAAC,UAAU;AAC1C,MAAI,CAAC,MAAM;AAAM,WAAO,6BAAAC,QAAA,cAAC,eAAa,GAAG,OAAO;AAChD,SACE,6BAAAA,QAAA,cAAC,YAAAD,SAAA,EAAM,GAAG,OAAO,eAAc,OAAM,YAAW,YAC9C,6BAAAC,QAAA,cAAC,eAAY,IAAI,GAAG,MAAM,GAAG,GAC7B,6BAAAA,QAAA,cAAC,YAAAC,SAAA,EAAK,SAAQ,kBAAiB,OAAM,eAAc,IAAI,KACpD,MAAM,IACT,GACA,6BAAAD,QAAA,cAAC,eAAY,IAAI,GAAG,MAAM,GAAG,CAC/B;AAEJ;AAEA,IAAO,kBAAQ;",
|
|
6
|
+
"names": ["styled", "Flex", "React", "Text"]
|
|
7
7
|
}
|
|
@@ -86,21 +86,21 @@ const getVariantColors = (p) => ({
|
|
|
86
86
|
`,
|
|
87
87
|
error: {
|
|
88
88
|
outline: `
|
|
89
|
-
border-color: ${p.theme.colors.error.
|
|
90
|
-
color: ${p.theme.colors.error.
|
|
89
|
+
border-color: ${p.theme.colors.error.c50};
|
|
90
|
+
color: ${p.theme.colors.error.c50};
|
|
91
91
|
background-color: transparent;
|
|
92
92
|
&:hover {
|
|
93
|
-
background-color: ${(0, import_helpers.rgba)(p.theme.colors.error.
|
|
93
|
+
background-color: ${(0, import_helpers.rgba)(p.theme.colors.error.c50, 0.02)};
|
|
94
94
|
}
|
|
95
95
|
&:active {
|
|
96
|
-
background-color: ${(0, import_helpers.rgba)(p.theme.colors.error.
|
|
96
|
+
background-color: ${(0, import_helpers.rgba)(p.theme.colors.error.c50, 0.05)};
|
|
97
97
|
}
|
|
98
98
|
`,
|
|
99
99
|
filled: `
|
|
100
100
|
color: ${p.theme.colors.neutral.c00};
|
|
101
|
-
background-color: ${p.theme.colors.error.
|
|
101
|
+
background-color: ${p.theme.colors.error.c50};
|
|
102
102
|
&:hover {
|
|
103
|
-
background-color: ${p.theme.colors.error.
|
|
103
|
+
background-color: ${p.theme.colors.error.c40};
|
|
104
104
|
}
|
|
105
105
|
`
|
|
106
106
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/cta/Button/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useState, useMemo } from \"react\";\nimport styled, { css, StyledProps } from \"styled-components\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport { fontSize, border, BordersProps, compose } from \"styled-system\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { fontSizes } from \"../../../styles/theme\";\nimport { rgba } from \"../../../styles/helpers\";\nimport ChevronBottom from \"@ledgerhq/icons-ui/react/ChevronBottomMedium\";\n\nexport type ButtonVariants = \"main\" | \"shade\" | \"error\" | \"color\" | \"neutral\";\nexport type IconPosition = \"right\" | \"left\";\ninterface BaseProps extends BaseStyledProps, BordersProps {\n ff?: string;\n color?: string;\n backgroundColor?: string;\n size?: \"small\" | \"medium\" | \"large\";\n fontSize?: number;\n variant?: ButtonVariants;\n outline?: boolean;\n iconPosition?: IconPosition;\n iconButton?: boolean;\n disabled?: boolean;\n whiteSpace?: string;\n}\n\nexport interface ButtonProps extends BaseProps, React.RefAttributes<HTMLButtonElement> {\n Icon?: React.ComponentType<{ size: number; color?: string }>;\n children?: React.ReactNode;\n onClick?: (event: React.SyntheticEvent<HTMLButtonElement>) => void;\n iconSize?: number;\n style?: React.CSSProperties;\n}\nconst IconContainer = styled.div<{\n iconPosition: IconPosition;\n}>`\n display: inline-block;\n ${(p) => `${p.iconPosition === \"left\" ? \"margin-right\" : \"margin-left\"}: ${p.theme.space[4]}px;`}\n padding-top: 0.2em;\n`;\n\nconst getVariantColors = (p: StyledProps<BaseProps>) => ({\n main: {\n outline: `\n border-color: ${p.theme.colors.neutral.c100};\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover, &:focus {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.03)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.neutral.c100};\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c90};\n }\n `,\n },\n shade: `\n border-color: ${p.theme.colors.neutral.c40};\n color: ${p.theme.colors.neutral.c100};\n &:focus {\n border-color: ${p.theme.colors.primary.c80};\n }\n\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c20};\n }\n\n &:active {\n background-color: ${p.theme.colors.neutral.c30};\n }\n `,\n error: {\n outline: `\n border-color: ${p.theme.colors.error.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC;AACzC,+BAAyC;AACzC,oBAA4C;AAC5C,2BAAwD;AACxD,wBAAuB;AACvB,mBAA0B;AAC1B,qBAAqB;AACrB,iCAA0B;AAyB1B,MAAM,gBAAgB,yBAAAA,QAAO;AAAA;AAAA,IAIzB,CAAC,MAAM,GAAG,EAAE,iBAAiB,SAAS,iBAAiB,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA;AAI5F,MAAM,mBAAmB,CAAC,OAA+B;AAAA,EACvD,MAAM;AAAA,IACJ,SAAS;AAAA,wBACW,EAAE,MAAM,OAAO,QAAQ;AAAA,iBAC9B,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,kCAGV,qBAAK,EAAE,MAAM,OAAO,QAAQ,MAAM,IAAI;AAAA;AAAA;AAAA,kCAGtC,qBAAK,EAAE,MAAM,OAAO,QAAQ,MAAM,IAAI;AAAA;AAAA;AAAA,IAGhE,QAAQ;AAAA,iBACK,EAAE,MAAM,OAAO,QAAQ;AAAA,4BACZ,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA,8BAErB,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,EAGnD;AAAA,EACA,OAAO;AAAA,sBACa,EAAE,MAAM,OAAO,QAAQ;AAAA,eAC9B,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA,wBAEd,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,4BAInB,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,4BAIvB,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,EAGjD,OAAO;AAAA,IACL,SAAS;AAAA,sBACS,EAAE,MAAM,OAAO,MAAM;AAAA,eAC5B,EAAE,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA,gCAGR,qBAAK,EAAE,MAAM,OAAO,MAAM,
|
|
4
|
+
"sourcesContent": ["import React, { useState, useMemo } from \"react\";\nimport styled, { css, StyledProps } from \"styled-components\";\nimport baseStyled, { BaseStyledProps } from \"../../styled\";\nimport { fontSize, border, BordersProps, compose } from \"styled-system\";\nimport fontFamily from \"../../../styles/styled/fontFamily\";\nimport { fontSizes } from \"../../../styles/theme\";\nimport { rgba } from \"../../../styles/helpers\";\nimport ChevronBottom from \"@ledgerhq/icons-ui/react/ChevronBottomMedium\";\n\nexport type ButtonVariants = \"main\" | \"shade\" | \"error\" | \"color\" | \"neutral\";\nexport type IconPosition = \"right\" | \"left\";\ninterface BaseProps extends BaseStyledProps, BordersProps {\n ff?: string;\n color?: string;\n backgroundColor?: string;\n size?: \"small\" | \"medium\" | \"large\";\n fontSize?: number;\n variant?: ButtonVariants;\n outline?: boolean;\n iconPosition?: IconPosition;\n iconButton?: boolean;\n disabled?: boolean;\n whiteSpace?: string;\n}\n\nexport interface ButtonProps extends BaseProps, React.RefAttributes<HTMLButtonElement> {\n Icon?: React.ComponentType<{ size: number; color?: string }>;\n children?: React.ReactNode;\n onClick?: (event: React.SyntheticEvent<HTMLButtonElement>) => void;\n iconSize?: number;\n style?: React.CSSProperties;\n}\nconst IconContainer = styled.div<{\n iconPosition: IconPosition;\n}>`\n display: inline-block;\n ${(p) => `${p.iconPosition === \"left\" ? \"margin-right\" : \"margin-left\"}: ${p.theme.space[4]}px;`}\n padding-top: 0.2em;\n`;\n\nconst getVariantColors = (p: StyledProps<BaseProps>) => ({\n main: {\n outline: `\n border-color: ${p.theme.colors.neutral.c100};\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover, &:focus {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.03)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.neutral.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.neutral.c100};\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c90};\n }\n `,\n },\n shade: `\n border-color: ${p.theme.colors.neutral.c40};\n color: ${p.theme.colors.neutral.c100};\n &:focus {\n border-color: ${p.theme.colors.primary.c80};\n }\n\n &:hover, &:focus {\n background-color: ${p.theme.colors.neutral.c20};\n }\n\n &:active {\n background-color: ${p.theme.colors.neutral.c30};\n }\n `,\n error: {\n outline: `\n border-color: ${p.theme.colors.error.c50};\n color: ${p.theme.colors.error.c50};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.error.c50, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.error.c50, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.error.c50};\n &:hover {\n background-color: ${p.theme.colors.error.c40};\n }\n `,\n },\n neutral: `\n color: ${p.theme.colors.neutral.c100};\n background-color: ${p.theme.colors.neutral.c30};\n &:hover {\n background-color: ${p.theme.colors.neutral.c40};\n }\n `,\n color: {\n outline: `\n border-color: ${p.theme.colors.primary.c80};\n color: ${p.theme.colors.primary.c80};\n background-color: transparent;\n &:hover {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.02)};\n }\n &:active {\n background-color: ${rgba(p.theme.colors.primary.c100, 0.05)};\n }\n `,\n filled: `\n color: ${p.theme.colors.neutral.c00};\n background-color: ${p.theme.colors.primary.c80};\n &:hover {\n background-color: ${p.theme.colors.primary.c70};\n }\n `,\n },\n disabled: {\n outline: `\n border-color: ${p.theme.colors.neutral.c50};\n color: ${p.theme.colors.neutral.c50};\n background-color: transparent;\n `,\n filled: `\n color: ${p.theme.colors.neutral.c50};\n background-color: ${p.theme.colors.neutral.c30};\n `,\n },\n default: `\n color: ${p.theme.colors.neutral.c100};\n background-color: transparent;\n &:hover {\n text-decoration: underline;\n }\n `,\n});\n\nexport const ButtonUnstyled = baseStyled.button`\n all: unset;\n cursor: pointer;\n\n &:disabled {\n cursor: default;\n }\n`;\n\nexport const Base = baseStyled.button.attrs((p: BaseProps) => ({\n fontFamily: \"Inter\",\n fontSize: p.fontSize ?? 4,\n}))<BaseProps>`\n background-color: transparent;\n border-color: transparent;\n border-radius: ${(p) => p.theme.space[13]}px;\n border-style: solid;\n border-width: ${(p) => (p.outline || p.variant === \"shade\" ? 1 : 0)}px;\n font-weight: 600;\n ${compose(fontFamily, fontSize, border)};\n line-height: ${(p) => p.theme.fontSizes[p.fontSize]}px;\n text-align: center;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n ${(p) => buttonSizeStyle[p.size || \"medium\"]}\n text-overflow: ellipsis;\n white-space: ${(p) => (p.whiteSpace ? p.whiteSpace : \"nowrap\")};\n max-width: 100%;\n position: relative;\n cursor: ${(p) => (p.disabled ? \"default\" : \"pointer\")};\n &:active {\n box-shadow: 0 0 0 4px ${(p) => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n &:focus, &:hover {\n box-shadow: 0 0 0 2px ${(p) => rgba(p.theme.colors.primary.c60, 0.4)};\n }\n\n ${(p) => {\n const variants = getVariantColors(p);\n if (p.disabled) {\n return p.outline || p.variant === \"shade\"\n ? variants.disabled.outline\n : variants.disabled.filled;\n }\n\n const variant: ButtonVariants | \"default\" =\n p.variant ?? (\"default\" as ButtonVariants | \"default\");\n switch (variant) {\n case \"main\":\n return p.outline ? variants.main.outline : variants.main.filled;\n case \"shade\":\n return variants.shade;\n\n case \"error\":\n return p.outline ? variants.error.outline : variants.error.filled;\n\n case \"color\":\n return p.outline ? variants.color.outline : variants.color.filled;\n\n case \"neutral\":\n return variants.neutral;\n\n case \"default\":\n default:\n return variants.default;\n }\n }}\n ${(p) =>\n p.iconButton\n ? css`\n width: ${p.theme.space[12]}px;\n padding: 0;\n ${IconContainer} {\n margin: 0;\n }\n `\n : \"\"}\n ${(p) => p.theme.transition([\"background-color\", \"color\", \"border-color\", \"box-shadow\"], \"0.2s\")}\n`;\n\nconst ContentContainer = styled.div``;\n\nconst Button = (\n { Icon, iconPosition = \"right\", iconSize = 16, children, onClick, ...props }: ButtonProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement => {\n const iconNodeSize = iconSize || fontSizes[props.fontSize ?? 4];\n const IconNode = useMemo(() => Icon && <Icon size={iconNodeSize} />, [iconNodeSize, Icon]);\n\n return (\n <Base {...props} ref={ref} iconButton={!(Icon == null) && !children} onClick={onClick}>\n {iconPosition === \"right\" ? <ContentContainer>{children}</ContentContainer> : null}\n {IconNode && <IconContainer iconPosition={iconPosition}>{IconNode}</IconContainer>}\n {iconPosition === \"left\" ? <ContentContainer>{children}</ContentContainer> : null}\n </Base>\n );\n};\nconst ButtonWithRef = React.forwardRef(Button) as unknown as typeof Button;\n\nexport type ButtonExpandProps = React.PropsWithChildren<\n ButtonProps & {\n onToggle?: (arg0: boolean) => void;\n }\n>;\n\nconst StyledButtonExpand = styled(ButtonWithRef).attrs((props) => ({\n Icon: props.Icon != null || ChevronBottom,\n iconPosition: props.iconPosition || \"right\",\n}))<{ expanded: boolean }>`\n ${IconContainer} {\n transition: transform 0.25s;\n ${(p) => (p.expanded ? \"transform: rotate(180deg)\" : \"\")}\n }\n`;\nexport function ButtonExpand(\n { onToggle, onClick, ...props }: ButtonExpandProps,\n ref?: React.ForwardedRef<HTMLButtonElement>,\n): React.ReactElement {\n const [expanded, setExpanded] = useState(false);\n return (\n <StyledButtonExpand\n {...props}\n ref={ref}\n expanded={expanded}\n onClick={(event: React.SyntheticEvent<HTMLButtonElement>) => {\n setExpanded((expanded) => !expanded);\n onToggle != null && onToggle(!expanded);\n onClick != null && onClick(event);\n }}\n />\n );\n}\n\nexport const buttonSizeStyle: {\n [index: string]: {\n padding: string;\n height: string;\n };\n} = {\n small: {\n padding: \"0 20px\",\n height: \"32px\",\n },\n medium: {\n padding: \"0 24px\",\n height: \"40px\",\n },\n large: {\n padding: \"0 28px\",\n height: \"48px\",\n },\n};\n\nButton.Unstyled = ButtonUnstyled;\nButton.Expand = React.forwardRef(ButtonExpand);\nButtonWithRef.Unstyled = Button.Unstyled;\nButtonWithRef.Expand = Button.Expand;\nexport default ButtonWithRef;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["styled", "baseStyled", "fontFamily", "React", "ChevronBottom", "expanded"]
|
|
7
7
|
}
|
|
@@ -61,11 +61,11 @@ const InputContainer = import_styled_components.default.div`
|
|
|
61
61
|
`};
|
|
62
62
|
|
|
63
63
|
${(p) => p.error && !p.disabled && import_styled_components.css`
|
|
64
|
-
border: 1px solid ${p.theme.colors.error.
|
|
64
|
+
border: 1px solid ${p.theme.colors.error.c50};
|
|
65
65
|
`};
|
|
66
66
|
|
|
67
67
|
${(p) => !p.error && p.warning && !p.disabled && import_styled_components.css`
|
|
68
|
-
border: 1px solid ${p.theme.colors.warning.
|
|
68
|
+
border: 1px solid ${p.theme.colors.warning.c40};
|
|
69
69
|
`};
|
|
70
70
|
|
|
71
71
|
${(p) => !p.error && !p.warning && !p.disabled && import_styled_components.css`
|
|
@@ -86,7 +86,7 @@ const BaseInput = import_styled_components.default.input.attrs({
|
|
|
86
86
|
height: 100%;
|
|
87
87
|
width: 100%;
|
|
88
88
|
border: 0;
|
|
89
|
-
caret-color: ${(p) => p.error ? p.theme.colors.error.
|
|
89
|
+
caret-color: ${(p) => p.error ? p.theme.colors.error.c50 : p.theme.colors.primary.c80};
|
|
90
90
|
background: none;
|
|
91
91
|
outline: none;
|
|
92
92
|
cursor: ${(p) => p.disabled ? "not-allowed" : "text"};
|
|
@@ -115,11 +115,11 @@ const BaseInput = import_styled_components.default.input.attrs({
|
|
|
115
115
|
${import_styled_system.typography}
|
|
116
116
|
`;
|
|
117
117
|
const InputErrorContainer = (0, import_styled_components.default)(import_Text.default)`
|
|
118
|
-
color: ${(p) => p.theme.colors.error.
|
|
118
|
+
color: ${(p) => p.theme.colors.error.c50};
|
|
119
119
|
margin-left: 12px;
|
|
120
120
|
`;
|
|
121
121
|
const InputWarningContainer = (0, import_styled_components.default)(import_Text.default)`
|
|
122
|
-
color: ${(p) => p.theme.colors.warning.
|
|
122
|
+
color: ${(p) => p.theme.colors.warning.c40};
|
|
123
123
|
margin-left: 12px;
|
|
124
124
|
`;
|
|
125
125
|
const InputInfoContainer = (0, import_styled_components.default)(import_Text.default)`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/form/BaseInput/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import styled, { css } from \"styled-components\";\nimport { typography, TypographyProps } from \"styled-system\";\nimport React, { InputHTMLAttributes, useState, useMemo, useCallback } from \"react\";\nimport CircledCrossSolidMedium from \"@ledgerhq/icons-ui/react/CircledCrossSolidMedium\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { ButtonUnstyled } from \"../../cta/Button\";\n\ntype ValueType = HTMLInputElement[\"value\"];\n\nexport type CommonProps = InputHTMLAttributes<HTMLInputElement> &\n TypographyProps & {\n disabled?: boolean;\n error?: string;\n warning?: string;\n info?: string;\n };\n\nexport type InputProps<T = ValueType> = Omit<CommonProps, \"value\" | \"onChange\"> & {\n value: T;\n onChange?: (value: T) => void;\n onChangeEvent?: InputHTMLAttributes<HTMLInputElement>[\"onChange\"];\n renderLeft?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n renderRight?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n unwrapped?: boolean;\n containerProps?: InputContainerProps;\n clearable?: boolean;\n /**\n * A function can be provided to serialize a value of any type to a string.\n *\n * This can be useful to wrap the `<BaseInput />` component (which expects a string)\n * and create higher-level components that will automatically perform the input/output\n * conversion to other types.\n *\n * *A serializer function should always be used in conjunction with a deserializer function.*\n */\n serialize?: (value: T) => ValueType;\n /**\n * A deserializer can be provided to convert the html input value from a string to any other type.\n *\n * *A deserializer function should always be used in conjunction with a serializer function.*\n */\n deserialize?: (value: ValueType) => T;\n};\n\nexport type InputContainerProps = React.ComponentProps<typeof InputContainer>;\nexport const InputContainer = styled.div<Partial<CommonProps> & { focus?: boolean }>`\n display: flex;\n height: 48px;\n border: ${(p) => `1px solid ${p.theme.colors.neutral.c40}`};\n border-radius: 24px;\n transition: all 0.2s ease;\n color: ${(p) => p.theme.colors.neutral.c100};\n\n ${(p) =>\n p.focus &&\n !p.error &&\n !p.warning &&\n css`\n border: 1px solid ${p.theme.colors.primary.c80};\n box-shadow: 0 0 0 4px ${rgba(p.theme.colors.primary.c60, 0.4)};\n `};\n\n ${(p) =>\n p.error &&\n !p.disabled &&\n css`\n border: 1px solid ${p.theme.colors.error.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAA4B;AAC5B,2BAA4C;AAC5C,mBAA2E;AAC3E,qCAAoC;AACpC,kBAAoB;AACpB,kBAAiB;AACjB,qBAAqB;AACrB,oBAA+B;AAwCxB,MAAM,iBAAiB,yBAAAA,QAAO;AAAA;AAAA;AAAA,YAGzB,CAAC,MAAM,aAAa,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,WAG5C,CAAC,MAAM,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA,IAErC,CAAC,MACD,EAAE,SACF,CAAC,EAAE,SACH,CAAC,EAAE,WACH;AAAA,0BACsB,EAAE,MAAM,OAAO,QAAQ;AAAA,kCACnB,qBAAK,EAAE,MAAM,OAAO,QAAQ,KAAK,GAAG;AAAA;AAAA;AAAA,IAG9D,CAAC,MACD,EAAE,SACF,CAAC,EAAE,YACH;AAAA,0BACsB,EAAE,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA,IAG3C,CAAC,MACD,CAAC,EAAE,SACH,EAAE,WACF,CAAC,EAAE,YACH;AAAA,0BACsB,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,IAG7C,CAAC,MACD,CAAC,EAAE,SACH,CAAC,EAAE,WACH,CAAC,EAAE,YACH;AAAA;AAAA,kBAEc,CAAC,EAAE,YAAY,aAAa,EAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,IAIjE,CAAC,MACD,EAAE,YACF;AAAA,eACW,EAAE,MAAM,OAAO,QAAQ;AAAA,oBAClB,CAACC,OAAMA,GAAE,MAAM,OAAO,QAAQ;AAAA;AAAA;AAI3C,MAAM,YAAY,yBAAAD,QAAO,MAAM,MAEpC;AAAA,EACA,UAAU;AAAA,EACV,YAAY;AACd,CAAC;AAAA;AAAA;AAAA;AAAA,iBAIgB,CAAC,MAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,MAAM,
|
|
4
|
+
"sourcesContent": ["import styled, { css } from \"styled-components\";\nimport { typography, TypographyProps } from \"styled-system\";\nimport React, { InputHTMLAttributes, useState, useMemo, useCallback } from \"react\";\nimport CircledCrossSolidMedium from \"@ledgerhq/icons-ui/react/CircledCrossSolidMedium\";\nimport FlexBox from \"../../layout/Flex\";\nimport Text from \"../../asorted/Text\";\nimport { rgba } from \"../../../styles/helpers\";\nimport { ButtonUnstyled } from \"../../cta/Button\";\n\ntype ValueType = HTMLInputElement[\"value\"];\n\nexport type CommonProps = InputHTMLAttributes<HTMLInputElement> &\n TypographyProps & {\n disabled?: boolean;\n error?: string;\n warning?: string;\n info?: string;\n };\n\nexport type InputProps<T = ValueType> = Omit<CommonProps, \"value\" | \"onChange\"> & {\n value: T;\n onChange?: (value: T) => void;\n onChangeEvent?: InputHTMLAttributes<HTMLInputElement>[\"onChange\"];\n renderLeft?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n renderRight?: ((props: InputProps<T>) => React.ReactNode) | React.ReactNode;\n unwrapped?: boolean;\n containerProps?: InputContainerProps;\n clearable?: boolean;\n /**\n * A function can be provided to serialize a value of any type to a string.\n *\n * This can be useful to wrap the `<BaseInput />` component (which expects a string)\n * and create higher-level components that will automatically perform the input/output\n * conversion to other types.\n *\n * *A serializer function should always be used in conjunction with a deserializer function.*\n */\n serialize?: (value: T) => ValueType;\n /**\n * A deserializer can be provided to convert the html input value from a string to any other type.\n *\n * *A deserializer function should always be used in conjunction with a serializer function.*\n */\n deserialize?: (value: ValueType) => T;\n};\n\nexport type InputContainerProps = React.ComponentProps<typeof InputContainer>;\nexport const InputContainer = styled.div<Partial<CommonProps> & { focus?: boolean }>`\n display: flex;\n height: 48px;\n border: ${(p) => `1px solid ${p.theme.colors.neutral.c40}`};\n border-radius: 24px;\n transition: all 0.2s ease;\n color: ${(p) => p.theme.colors.neutral.c100};\n\n ${(p) =>\n p.focus &&\n !p.error &&\n !p.warning &&\n css`\n border: 1px solid ${p.theme.colors.primary.c80};\n box-shadow: 0 0 0 4px ${rgba(p.theme.colors.primary.c60, 0.4)};\n `};\n\n ${(p) =>\n p.error &&\n !p.disabled &&\n css`\n border: 1px solid ${p.theme.colors.error.c50};\n `};\n\n ${(p) =>\n !p.error &&\n p.warning &&\n !p.disabled &&\n css`\n border: 1px solid ${p.theme.colors.warning.c40};\n `};\n\n ${(p) =>\n !p.error &&\n !p.warning &&\n !p.disabled &&\n css`\n &:hover {\n border: ${!p.disabled && `1px solid ${p.theme.colors.primary.c80}`};\n }\n `};\n\n ${(p) =>\n p.disabled &&\n css`\n color: ${p.theme.colors.neutral.c60};\n background: ${(p) => p.theme.colors.neutral.c20};\n `};\n`;\n\nexport const BaseInput = styled.input.attrs<\n Partial<CommonProps> & { focus?: boolean } & TypographyProps\n>({\n fontSize: \"paragraph\",\n fontWeight: \"medium\",\n})<Partial<CommonProps> & { focus?: boolean } & TypographyProps>`\n height: 100%;\n width: 100%;\n border: 0;\n caret-color: ${(p) => (p.error ? p.theme.colors.error.c50 : p.theme.colors.primary.c80)};\n background: none;\n outline: none;\n cursor: ${(p) => (p.disabled ? \"not-allowed\" : \"text\")};\n flex-shrink: 1;\n padding-left: 20px;\n padding-right: 20px;\n &::placeholder {\n color: ${(p) => (p.disabled ? p.theme.colors.neutral.c50 : p.theme.colors.neutral.c70)};\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n\n /* Hide type=number arrow for Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n ::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n /* Hide type=number arrow for Firefox */\n &[type=\"number\"] {\n -moz-appearance: textfield;\n }\n /* stylelint-enable property-no-vendor-prefix */\n\n ${typography}\n`;\n\nexport const InputErrorContainer = styled(Text)`\n color: ${(p) => p.theme.colors.error.c50};\n margin-left: 12px;\n`;\nexport const InputWarningContainer = styled(Text)`\n color: ${(p) => p.theme.colors.warning.c40};\n margin-left: 12px;\n`;\nexport const InputInfoContainer = styled(Text)`\n color: ${(p) => p.theme.colors.neutral.c60};\n margin-left: 12px;\n`;\n\nexport const InputRenderLeftContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pl: \"16px\",\n}))``;\n\nexport const InputRenderRightContainer = styled(FlexBox).attrs(() => ({\n alignItems: \"center\",\n pr: \"16px\",\n}))``;\n\nexport const ClearableButtonUnstyled = styled(ButtonUnstyled)`\n display: flex;\n`;\n\n// Yes, this is dirty. If you can figure out a better way please change the code :).\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst IDENTITY = (_: any): any => _;\n\nfunction Input<T = ValueType>(\n props: InputProps<T>,\n ref?: React.ForwardedRef<HTMLInputElement>,\n): JSX.Element {\n const {\n value,\n disabled,\n error,\n warning,\n info,\n onChange,\n onChangeEvent,\n renderLeft,\n renderRight,\n unwrapped,\n containerProps,\n serialize = IDENTITY,\n deserialize = IDENTITY,\n clearable,\n ...htmlInputProps\n } = props;\n const [focus, setFocus] = useState(false);\n const inputValue = useMemo(() => serialize(value), [serialize, value]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange && onChange(deserialize(e.target.value));\n onChangeEvent && onChangeEvent(e);\n },\n [onChange, onChangeEvent, deserialize],\n );\n\n const handleClear = useCallback(() => {\n onChange && onChange(deserialize(\"\"));\n }, [onChange, deserialize]);\n\n const inner = (\n <>\n {typeof renderLeft === \"function\" ? renderLeft(props) : renderLeft}\n <BaseInput\n ref={ref}\n {...htmlInputProps}\n disabled={disabled}\n error={error}\n warning={warning}\n info={info}\n onChange={handleChange}\n value={inputValue}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(true);\n htmlInputProps.onFocus && htmlInputProps.onFocus(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n setFocus(false);\n htmlInputProps.onBlur && htmlInputProps.onBlur(event);\n }}\n />\n {clearable && inputValue && (\n <FlexBox alignItems={\"center\"} mr={7}>\n <ClearableButtonUnstyled onClick={handleClear}>\n <CircledCrossSolidMedium size={18} color={\"neutral.c50\"} />\n </ClearableButtonUnstyled>\n </FlexBox>\n )}\n {typeof renderRight === \"function\" ? renderRight(props) : renderRight}\n </>\n );\n\n if (unwrapped) {\n return (\n <FlexBox alignItems=\"stretch\" style={{ height: \"100%\" }}>\n {inner}\n </FlexBox>\n );\n }\n\n return (\n <div>\n <InputContainer\n disabled={disabled}\n focus={focus}\n error={error}\n warning={warning}\n {...containerProps}\n >\n {inner}\n </InputContainer>\n {(error || warning || info) && !disabled && (\n <FlexBox flexDirection=\"column\" rowGap={2} mt={2}>\n {error ? (\n <InputErrorContainer variant=\"small\">{error}</InputErrorContainer>\n ) : warning ? (\n <InputWarningContainer variant=\"small\">{warning}</InputWarningContainer>\n ) : info ? (\n <InputInfoContainer variant=\"small\">{info}</InputInfoContainer>\n ) : null}\n </FlexBox>\n )}\n </div>\n );\n}\n\nexport default React.forwardRef(Input) as <T>(\n props: InputProps<T> & { ref?: React.ForwardedRef<HTMLInputElement> },\n) => ReturnType<typeof Input>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["styled", "p", "Text", "FlexBox", "React", "CircledCrossSolidMedium"]
|
|
7
7
|
}
|
|
@@ -101,11 +101,11 @@ const Container = import_styled_components.default.div`
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
&[data-variant="success"] {
|
|
104
|
-
--ll-checkbox-color: ${(props) => props.theme.colors.success.
|
|
104
|
+
--ll-checkbox-color: ${(props) => props.theme.colors.success.c50};
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
&[data-variant="error"] {
|
|
108
|
-
--ll-checkbox-color: ${(props) => props.theme.colors.error.
|
|
108
|
+
--ll-checkbox-color: ${(props) => props.theme.colors.error.c50};
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
&[data-disabled="true"] {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/form/Checkbox/Checkbox.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport CheckAloneMedium from \"@ledgerhq/icons-ui/react/CheckAloneMedium\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\n\nconst Icon = () =>\n React.cloneElement(CheckAloneMedium({ size: 13, color: \"currentColor\" }), {\n // the xmlns attribute is required to properly display the checkbox\n xmlns: \"http://www.w3.org/2000/svg\",\n });\nconst CheckMarkIcon = encodeURIComponent(renderToStaticMarkup(<Icon />));\n\nconst Input = styled.input`\n background-color: transparent;\n\n border-radius: ${(p) => `${p.theme.radii[1]}px`};\n position: relative;\n\n min-width: ${(p) => p.theme.space[7]}px;\n height: ${(p) => p.theme.space[7]}px;\n appearance: none;\n border: 1px solid ${(props) => props.theme.colors.neutral.c90};\n box-shadow: none;\n\n &:checked {\n background-color: currentColor;\n border-color: currentColor;\n }\n\n &:checked::after {\n content: \" \";\n width: ${(p) => p.theme.space[7]}px;\n height: ${(p) => p.theme.space[7]}px;\n display: inline-block;\n color: ${(props) => props.theme.colors.neutral.c00};\n\n background-image: url(\"data:image/svg+xml,${CheckMarkIcon}\");\n background-position: center;\n background-repeat: no-repeat;\n\n /* Trick to center the check mark by taking into account the border */\n position: absolute;\n top: -1px;\n left: -1px;\n }\n`;\n\nconst Label = styled(Text).attrs({ type: \"body\", fontWeight: \"500\" })`\n color: ${(props) => props.theme.colors.neutral.c80};\n\n /* Version when the input is checked */\n ${Input}:checked + & {\n color: currentColor;\n }\n\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Container = styled.div`\n --ll-checkbox-color: unset;\n color: var(--ll-checkbox-color, ${(props) => props.theme.colors.primary.c90});\n\n display: inline-flex;\n column-gap: ${(p) => p.theme.space[5]}px;\n align-items: center;\n cursor: pointer;\n\n &[data-variant=\"default\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.primary.c90};\n }\n\n &[data-variant=\"success\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.success.
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport Text from \"../../asorted/Text\";\nimport CheckAloneMedium from \"@ledgerhq/icons-ui/react/CheckAloneMedium\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\n\nconst Icon = () =>\n React.cloneElement(CheckAloneMedium({ size: 13, color: \"currentColor\" }), {\n // the xmlns attribute is required to properly display the checkbox\n xmlns: \"http://www.w3.org/2000/svg\",\n });\nconst CheckMarkIcon = encodeURIComponent(renderToStaticMarkup(<Icon />));\n\nconst Input = styled.input`\n background-color: transparent;\n\n border-radius: ${(p) => `${p.theme.radii[1]}px`};\n position: relative;\n\n min-width: ${(p) => p.theme.space[7]}px;\n height: ${(p) => p.theme.space[7]}px;\n appearance: none;\n border: 1px solid ${(props) => props.theme.colors.neutral.c90};\n box-shadow: none;\n\n &:checked {\n background-color: currentColor;\n border-color: currentColor;\n }\n\n &:checked::after {\n content: \" \";\n width: ${(p) => p.theme.space[7]}px;\n height: ${(p) => p.theme.space[7]}px;\n display: inline-block;\n color: ${(props) => props.theme.colors.neutral.c00};\n\n background-image: url(\"data:image/svg+xml,${CheckMarkIcon}\");\n background-position: center;\n background-repeat: no-repeat;\n\n /* Trick to center the check mark by taking into account the border */\n position: absolute;\n top: -1px;\n left: -1px;\n }\n`;\n\nconst Label = styled(Text).attrs({ type: \"body\", fontWeight: \"500\" })`\n color: ${(props) => props.theme.colors.neutral.c80};\n\n /* Version when the input is checked */\n ${Input}:checked + & {\n color: currentColor;\n }\n\n &:first-letter {\n text-transform: uppercase;\n }\n`;\n\nconst Container = styled.div`\n --ll-checkbox-color: unset;\n color: var(--ll-checkbox-color, ${(props) => props.theme.colors.primary.c90});\n\n display: inline-flex;\n column-gap: ${(p) => p.theme.space[5]}px;\n align-items: center;\n cursor: pointer;\n\n &[data-variant=\"default\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.primary.c90};\n }\n\n &[data-variant=\"success\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.success.c50};\n }\n\n &[data-variant=\"error\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.error.c50};\n }\n\n &[data-disabled=\"true\"] {\n --ll-checkbox-color: ${(props) => props.theme.colors.neutral.c80};\n cursor: unset;\n }\n`;\n\nexport type CheckboxProps = {\n isDisabled?: boolean;\n isChecked: boolean;\n variant?: \"default\" | \"success\" | \"error\";\n label?: React.ReactNode;\n name: string;\n onChange: (value: boolean) => void;\n};\n\nconst Checkbox = ({\n isDisabled = false,\n variant = \"default\",\n label,\n isChecked,\n name,\n onChange,\n}: CheckboxProps): JSX.Element => (\n <Container data-variant={variant} data-disabled={isDisabled} onClick={() => onChange(!isChecked)}>\n <Input type=\"checkbox\" name={name} id={name} checked={isChecked} disabled={isDisabled} />\n {label ? (\n <Label as=\"label\" htmlFor={name}>\n {label}\n </Label>\n ) : null}\n </Container>\n);\n\nexport default Checkbox;\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAAiB;AACjB,8BAA6B;AAC7B,oBAAqC;AAErC,MAAM,OAAO,MACX,aAAAA,QAAM,iBAAa,wBAAAC,SAAiB,EAAE,MAAM,IAAI,OAAO,eAAe,CAAC,GAAG;AAAA;AAAA,EAExE,OAAO;AACT,CAAC;AACH,MAAM,gBAAgB,uBAAmB,oCAAqB,6BAAAD,QAAA,cAAC,UAAK,CAAE,CAAC;AAEvE,MAAM,QAAQ,yBAAAE,QAAO;AAAA;AAAA;AAAA,mBAGF,CAAC,MAAM,GAAG,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA,eAG7B,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;AAAA,YACzB,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA,sBAEZ,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAU/C,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;AAAA,cACrB,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA,aAEvB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,gDAEH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWhD,MAAM,YAAQ,yBAAAA,SAAO,YAAAC,OAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,YAAY,MAAM,CAAC;AAAA,WACzD,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,IAG7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASJ,MAAM,YAAY,yBAAAD,QAAO;AAAA;AAAA,oCAEW,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA,gBAG1D,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,2BAKX,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,2BAItC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAAA,2BAItC,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA,2BAIpC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAcjE,MAAM,WAAW,CAAC;AAAA,EAChB,aAAa;AAAA,EACb,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,6BAAAF,QAAA,cAAC,aAAU,gBAAc,SAAS,iBAAe,YAAY,SAAS,MAAM,SAAS,CAAC,SAAS,KAC7F,6BAAAA,QAAA,cAAC,SAAM,MAAK,YAAW,MAAY,IAAI,MAAM,SAAS,WAAW,UAAU,YAAY,GACtF,QACC,6BAAAA,QAAA,cAAC,SAAM,IAAG,SAAQ,SAAS,QACxB,KACH,IACE,IACN;AAGF,IAAO,mBAAQ;",
|
|
6
6
|
"names": ["React", "CheckAloneMedium", "styled", "Text"]
|
|
7
7
|
}
|