@ledgerhq/react-ui 0.7.2 → 0.7.5-monorepo.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/{assets → lib/assets}/fonts/HMAlphaMono-Medium.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-Bold.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-ExtraBold.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-ExtraLight-BETA.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-Light-BETA.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-Medium.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-Regular.woff2 +0 -0
- package/{assets → lib/assets}/fonts/Inter-SemiBold.woff2 +0 -0
- package/{assets → lib/assets}/fonts.d.ts +0 -0
- package/{assets → lib/assets}/fonts.js +0 -0
- package/{assets → lib/assets}/icons.d.ts +0 -0
- package/{assets → lib/assets}/icons.js +0 -0
- package/{assets → lib/assets}/images/images.d.ts +0 -0
- package/{assets → lib/assets}/images/sampleSlide.png +0 -0
- package/{assets → lib/assets}/index.d.ts +0 -0
- package/{assets → lib/assets}/index.js +0 -0
- package/{assets → lib/assets}/logos/LedgerLiveAltRegular.d.ts +1 -0
- package/{assets → lib/assets}/logos/LedgerLiveAltRegular.js +0 -0
- package/{assets → lib/assets}/logos/LedgerLiveRegular.d.ts +1 -0
- package/{assets → lib/assets}/logos/LedgerLiveRegular.js +0 -0
- package/{assets → lib/assets}/logos/index.d.ts +0 -0
- package/{assets → lib/assets}/logos/index.js +0 -0
- package/lib/cjs/assets/fonts/HMAlphaMono-Medium.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-Bold.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-ExtraBold.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-ExtraLight-BETA.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-Light-BETA.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-Medium.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-Regular.woff2 +0 -0
- package/lib/cjs/assets/fonts/Inter-SemiBold.woff2 +0 -0
- package/lib/cjs/assets/fonts.js +27 -0
- package/lib/cjs/assets/fonts.js.map +7 -0
- package/lib/cjs/assets/icons.js +21 -0
- package/lib/cjs/assets/icons.js.map +7 -0
- package/lib/cjs/assets/images/images.d.js +1 -0
- package/lib/cjs/assets/images/images.d.js.map +7 -0
- package/lib/cjs/assets/images/images.d.ts +1 -0
- package/lib/cjs/assets/images/sampleSlide.png +0 -0
- package/lib/cjs/assets/index.js +30 -0
- package/lib/cjs/assets/index.js.map +7 -0
- package/lib/cjs/assets/logos/LedgerLiveAltRegular.js +45 -0
- package/lib/cjs/assets/logos/LedgerLiveAltRegular.js.map +7 -0
- package/lib/cjs/assets/logos/LedgerLiveRegular.js +45 -0
- package/lib/cjs/assets/logos/LedgerLiveRegular.js.map +7 -0
- package/lib/cjs/assets/logos/index.js +30 -0
- package/lib/cjs/assets/logos/index.js.map +7 -0
- package/lib/cjs/components/Chart/Chart.stories.js +138 -0
- package/lib/cjs/components/Chart/Chart.stories.js.map +7 -0
- package/lib/cjs/components/Chart/index.js +131 -0
- package/lib/cjs/components/Chart/index.js.map +7 -0
- package/lib/cjs/components/Chart/types.js +4 -0
- package/lib/cjs/components/Chart/types.js.map +7 -0
- package/lib/cjs/components/Chart/utils.js +29 -0
- package/lib/cjs/components/Chart/utils.js.map +7 -0
- package/lib/cjs/components/Table/Columns.js +83 -0
- package/lib/cjs/components/Table/Columns.js.map +7 -0
- package/lib/cjs/components/Table/Table.stories.js +491 -0
- package/lib/cjs/components/Table/Table.stories.js.map +7 -0
- package/lib/cjs/components/Table/index.js +110 -0
- package/lib/cjs/components/Table/index.js.map +7 -0
- package/lib/cjs/components/Table/stories.helper.js +253 -0
- package/lib/cjs/components/Table/stories.helper.js.map +7 -0
- package/lib/cjs/components/Tag/Tag.stories.js +114 -0
- package/lib/cjs/components/Tag/Tag.stories.js.map +7 -0
- package/lib/cjs/components/Tag/index.js +118 -0
- package/lib/cjs/components/Tag/index.js.map +7 -0
- package/lib/cjs/components/animations/GlitchText/GlitchText.stories.js +56 -0
- package/lib/cjs/components/animations/GlitchText/GlitchText.stories.js.map +7 -0
- package/lib/cjs/components/animations/GlitchText/index.js +64 -0
- package/lib/cjs/components/animations/GlitchText/index.js.map +7 -0
- package/lib/cjs/components/asorted/Divider/Divider.stories.js +56 -0
- package/lib/cjs/components/asorted/Divider/Divider.stories.js.map +7 -0
- package/lib/cjs/components/asorted/Divider/index.js +41 -0
- package/lib/cjs/components/asorted/Divider/index.js.map +7 -0
- package/lib/cjs/components/asorted/Icon/BoxedIcon.js +104 -0
- package/lib/cjs/components/asorted/Icon/BoxedIcon.js.map +7 -0
- package/lib/cjs/components/asorted/Icon/BoxedIcon.stories.js +129 -0
- package/lib/cjs/components/asorted/Icon/BoxedIcon.stories.js.map +7 -0
- package/lib/cjs/components/asorted/Icon/Icon.js +53 -0
- package/lib/cjs/components/asorted/Icon/Icon.js.map +7 -0
- package/lib/cjs/components/asorted/Icon/Icons.stories.js +145 -0
- package/lib/cjs/components/asorted/Icon/Icons.stories.js.map +7 -0
- package/lib/cjs/components/asorted/Icon/index.js +32 -0
- package/lib/cjs/components/asorted/Icon/index.js.map +7 -0
- package/lib/cjs/components/asorted/Text/Text.stories.js +109 -0
- package/lib/cjs/components/asorted/Text/Text.stories.js.map +7 -0
- package/lib/cjs/components/asorted/Text/index.js +50 -0
- package/lib/cjs/components/asorted/Text/index.js.map +7 -0
- package/lib/cjs/components/asorted/Text/styles.js +149 -0
- package/lib/cjs/components/asorted/Text/styles.js.map +7 -0
- package/lib/cjs/components/asorted/index.js +34 -0
- package/lib/cjs/components/asorted/index.js.map +7 -0
- package/lib/cjs/components/cards/Carousel/Carousel.stories.js +103 -0
- package/lib/cjs/components/cards/Carousel/Carousel.stories.js.map +7 -0
- package/lib/cjs/components/cards/Carousel/Slide.js +59 -0
- package/lib/cjs/components/cards/Carousel/Slide.js.map +7 -0
- package/lib/cjs/components/cards/Carousel/index.js +207 -0
- package/lib/cjs/components/cards/Carousel/index.js.map +7 -0
- package/lib/cjs/components/cards/index.js +28 -0
- package/lib/cjs/components/cards/index.js.map +7 -0
- package/lib/cjs/components/cta/Button/Button.stories.js +151 -0
- package/lib/cjs/components/cta/Button/Button.stories.js.map +7 -0
- package/lib/cjs/components/cta/Button/index.js +262 -0
- package/lib/cjs/components/cta/Button/index.js.map +7 -0
- package/lib/cjs/components/cta/Link/Link.stories.js +89 -0
- package/lib/cjs/components/cta/Link/Link.stories.js.map +7 -0
- package/lib/cjs/components/cta/Link/getLinkStyle.js +33 -0
- package/lib/cjs/components/cta/Link/getLinkStyle.js.map +7 -0
- package/lib/cjs/components/cta/Link/index.js +100 -0
- package/lib/cjs/components/cta/Link/index.js.map +7 -0
- package/lib/cjs/components/cta/Toggle/Toggle.stories.js +57 -0
- package/lib/cjs/components/cta/Toggle/Toggle.stories.js.map +7 -0
- package/lib/cjs/components/cta/Toggle/index.js +43 -0
- package/lib/cjs/components/cta/Toggle/index.js.map +7 -0
- package/lib/cjs/components/cta/getCtaStyle.js +22 -0
- package/lib/cjs/components/cta/getCtaStyle.js.map +7 -0
- package/lib/cjs/components/cta/index.js +32 -0
- package/lib/cjs/components/cta/index.js.map +7 -0
- package/lib/cjs/components/form/BaseInput/Input.stories.js +113 -0
- package/lib/cjs/components/form/BaseInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/BaseInput/index.js +202 -0
- package/lib/cjs/components/form/BaseInput/index.js.map +7 -0
- package/lib/cjs/components/form/Checkbox/Checkbox.js +129 -0
- package/lib/cjs/components/form/Checkbox/Checkbox.js.map +7 -0
- package/lib/cjs/components/form/Checkbox/Checkbox.stories.js +93 -0
- package/lib/cjs/components/form/Checkbox/Checkbox.stories.js.map +7 -0
- package/lib/cjs/components/form/Checkbox/index.js +28 -0
- package/lib/cjs/components/form/Checkbox/index.js.map +7 -0
- package/lib/cjs/components/form/Dropdown/Dropdown.stories.js +60 -0
- package/lib/cjs/components/form/Dropdown/Dropdown.stories.js.map +7 -0
- package/lib/cjs/components/form/Dropdown/index.js +104 -0
- package/lib/cjs/components/form/Dropdown/index.js.map +7 -0
- package/lib/cjs/components/form/DropdownGeneric/DropdownGeneric.stories.js +135 -0
- package/lib/cjs/components/form/DropdownGeneric/DropdownGeneric.stories.js.map +7 -0
- package/lib/cjs/components/form/DropdownGeneric/index.js +161 -0
- package/lib/cjs/components/form/DropdownGeneric/index.js.map +7 -0
- package/lib/cjs/components/form/LegendInput/Input.stories.js +56 -0
- package/lib/cjs/components/form/LegendInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/LegendInput/index.js +49 -0
- package/lib/cjs/components/form/LegendInput/index.js.map +7 -0
- package/lib/cjs/components/form/NumberInput/Input.stories.js +79 -0
- package/lib/cjs/components/form/NumberInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/NumberInput/index.js +91 -0
- package/lib/cjs/components/form/NumberInput/index.js.map +7 -0
- package/lib/cjs/components/form/QrCodeInput/Input.stories.js +52 -0
- package/lib/cjs/components/form/QrCodeInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/QrCodeInput/index.js +70 -0
- package/lib/cjs/components/form/QrCodeInput/index.js.map +7 -0
- package/lib/cjs/components/form/QuantityInput/Input.stories.js +81 -0
- package/lib/cjs/components/form/QuantityInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/QuantityInput/index.js +83 -0
- package/lib/cjs/components/form/QuantityInput/index.js.map +7 -0
- package/lib/cjs/components/form/Radio/Radio.stories.js +154 -0
- package/lib/cjs/components/form/Radio/Radio.stories.js.map +7 -0
- package/lib/cjs/components/form/Radio/RadioElement.js +214 -0
- package/lib/cjs/components/form/Radio/RadioElement.js.map +7 -0
- package/lib/cjs/components/form/Radio/RadioElement.stories.js +76 -0
- package/lib/cjs/components/form/Radio/RadioElement.stories.js.map +7 -0
- package/lib/cjs/components/form/Radio/RadioListElement.js +95 -0
- package/lib/cjs/components/form/Radio/RadioListElement.js.map +7 -0
- package/lib/cjs/components/form/Radio/RadioListElement.stories.js +52 -0
- package/lib/cjs/components/form/Radio/RadioListElement.stories.js.map +7 -0
- package/lib/cjs/components/form/Radio/index.js +54 -0
- package/lib/cjs/components/form/Radio/index.js.map +7 -0
- package/lib/cjs/components/form/SearchInput/Input.stories.js +52 -0
- package/lib/cjs/components/form/SearchInput/Input.stories.js.map +7 -0
- package/lib/cjs/components/form/SearchInput/index.js +42 -0
- package/lib/cjs/components/form/SearchInput/index.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/Control.js +55 -0
- package/lib/cjs/components/form/SelectInput/Control.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/DropdownIndicator.js +54 -0
- package/lib/cjs/components/form/SelectInput/DropdownIndicator.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/IndicatorsContainer.js +38 -0
- package/lib/cjs/components/form/SelectInput/IndicatorsContainer.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/MenuList.js +50 -0
- package/lib/cjs/components/form/SelectInput/MenuList.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/Option.js +97 -0
- package/lib/cjs/components/form/SelectInput/Option.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/Select.stories.js +529 -0
- package/lib/cjs/components/form/SelectInput/Select.stories.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/ValueContainer.js +48 -0
- package/lib/cjs/components/form/SelectInput/ValueContainer.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/VirtualMenuList.js +75 -0
- package/lib/cjs/components/form/SelectInput/VirtualMenuList.js.map +7 -0
- package/lib/cjs/components/form/SelectInput/index.js +115 -0
- package/lib/cjs/components/form/SelectInput/index.js.map +7 -0
- package/lib/cjs/components/form/SplitInput/SplitInput.stories.js +191 -0
- package/lib/cjs/components/form/SplitInput/SplitInput.stories.js.map +7 -0
- package/lib/cjs/components/form/SplitInput/index.js +91 -0
- package/lib/cjs/components/form/SplitInput/index.js.map +7 -0
- package/lib/cjs/components/form/Switch/Switch.js +163 -0
- package/lib/cjs/components/form/Switch/Switch.js.map +7 -0
- package/lib/cjs/components/form/Switch/Switch.stories.js +91 -0
- package/lib/cjs/components/form/Switch/Switch.stories.js.map +7 -0
- package/lib/cjs/components/form/Switch/index.js +28 -0
- package/lib/cjs/components/form/Switch/index.js.map +7 -0
- package/lib/cjs/components/form/index.js +52 -0
- package/lib/cjs/components/form/index.js.map +7 -0
- package/lib/cjs/components/helpers.js +12 -0
- package/lib/cjs/components/helpers.js.map +7 -0
- package/lib/cjs/components/index.js +42 -0
- package/lib/cjs/components/index.js.map +7 -0
- package/lib/cjs/components/layout/Box/Box.stories.js +73 -0
- package/lib/cjs/components/layout/Box/Box.stories.js.map +7 -0
- package/lib/cjs/components/layout/Box/index.js +30 -0
- package/lib/cjs/components/layout/Box/index.js.map +7 -0
- package/lib/cjs/components/layout/Drawer/Drawer.stories.js +111 -0
- package/lib/cjs/components/layout/Drawer/Drawer.stories.js.map +7 -0
- package/lib/cjs/components/layout/Drawer/index.js +185 -0
- package/lib/cjs/components/layout/Drawer/index.js.map +7 -0
- package/lib/cjs/components/layout/Flex/Flex.stories.js +328 -0
- package/lib/cjs/components/layout/Flex/Flex.stories.js.map +7 -0
- package/lib/cjs/components/layout/Flex/index.js +30 -0
- package/lib/cjs/components/layout/Flex/index.js.map +7 -0
- package/lib/cjs/components/layout/Grid/Grid.stories.js +254 -0
- package/lib/cjs/components/layout/Grid/Grid.stories.js.map +7 -0
- package/lib/cjs/components/layout/Grid/index.js +44 -0
- package/lib/cjs/components/layout/Grid/index.js.map +7 -0
- package/lib/cjs/components/layout/Popin/Popin.stories.js +205 -0
- package/lib/cjs/components/layout/Popin/Popin.stories.js.map +7 -0
- package/lib/cjs/components/layout/Popin/index.js +129 -0
- package/lib/cjs/components/layout/Popin/index.js.map +7 -0
- package/lib/cjs/components/layout/Side/Provider.js +68 -0
- package/lib/cjs/components/layout/Side/Provider.js.map +7 -0
- package/lib/cjs/components/layout/Side/Side.stories.js +119 -0
- package/lib/cjs/components/layout/Side/Side.stories.js.map +7 -0
- package/lib/cjs/components/layout/Side/index.js +85 -0
- package/lib/cjs/components/layout/Side/index.js.map +7 -0
- package/lib/cjs/components/layout/index.js +38 -0
- package/lib/cjs/components/layout/index.js.map +7 -0
- package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js +86 -0
- package/lib/cjs/components/loaders/InfiniteLoader/InfiniteLoader.stories.js.map +7 -0
- package/lib/cjs/components/loaders/InfiniteLoader/index.js +111 -0
- package/lib/cjs/components/loaders/InfiniteLoader/index.js.map +7 -0
- package/lib/cjs/components/loaders/ProgressLoader/ProgressLoader.stories.js +90 -0
- package/lib/cjs/components/loaders/ProgressLoader/ProgressLoader.stories.js.map +7 -0
- package/lib/cjs/components/loaders/ProgressLoader/index.js +107 -0
- package/lib/cjs/components/loaders/ProgressLoader/index.js.map +7 -0
- package/lib/cjs/components/loaders/index.js +30 -0
- package/lib/cjs/components/loaders/index.js.map +7 -0
- package/lib/cjs/components/message/Alert/Alert.stories.js +83 -0
- package/lib/cjs/components/message/Alert/Alert.stories.js.map +7 -0
- package/lib/cjs/components/message/Alert/index.js +103 -0
- package/lib/cjs/components/message/Alert/index.js.map +7 -0
- package/lib/cjs/components/message/Log/Brackets.js +75 -0
- package/lib/cjs/components/message/Log/Brackets.js.map +7 -0
- package/lib/cjs/components/message/Log/Log.stories.js +45 -0
- package/lib/cjs/components/message/Log/Log.stories.js.map +7 -0
- package/lib/cjs/components/message/Log/index.js +64 -0
- package/lib/cjs/components/message/Log/index.js.map +7 -0
- package/lib/cjs/components/message/Notification/Badge.js +68 -0
- package/lib/cjs/components/message/Notification/Badge.js.map +7 -0
- package/lib/cjs/components/message/Notification/Badge.stories.js +68 -0
- package/lib/cjs/components/message/Notification/Badge.stories.js.map +7 -0
- package/lib/cjs/components/message/Notification/Notification.stories.js +113 -0
- package/lib/cjs/components/message/Notification/Notification.stories.js.map +7 -0
- package/lib/cjs/components/message/Notification/index.js +80 -0
- package/lib/cjs/components/message/Notification/index.js.map +7 -0
- package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js +87 -0
- package/lib/cjs/components/message/StatusNotification/StatusNotification.stories.js.map +7 -0
- package/lib/cjs/components/message/StatusNotification/index.js +54 -0
- package/lib/cjs/components/message/StatusNotification/index.js.map +7 -0
- package/lib/cjs/components/message/Tip/Tip.stories.js +52 -0
- package/lib/cjs/components/message/Tip/Tip.stories.js.map +7 -0
- package/lib/cjs/components/message/Tip/index.js +83 -0
- package/lib/cjs/components/message/Tip/index.js.map +7 -0
- package/lib/cjs/components/message/Tooltip/Tooltip.stories.js +112 -0
- package/lib/cjs/components/message/Tooltip/Tooltip.stories.js.map +7 -0
- package/lib/cjs/components/message/Tooltip/index.js +65 -0
- package/lib/cjs/components/message/Tooltip/index.js.map +7 -0
- package/lib/cjs/components/message/Tooltip/styles.js +117 -0
- package/lib/cjs/components/message/Tooltip/styles.js.map +7 -0
- package/lib/cjs/components/message/index.js +40 -0
- package/lib/cjs/components/message/index.js.map +7 -0
- package/lib/cjs/components/navigation/Aside/Aside.stories.js +88 -0
- package/lib/cjs/components/navigation/Aside/Aside.stories.js.map +7 -0
- package/lib/cjs/components/navigation/Aside/index.js +48 -0
- package/lib/cjs/components/navigation/Aside/index.js.map +7 -0
- package/lib/cjs/components/navigation/Aside/stories.helper.js +14 -0
- package/lib/cjs/components/navigation/Aside/stories.helper.js.map +7 -0
- package/lib/cjs/components/navigation/Breadcrumb/Breadcrumb.stories.js +140 -0
- package/lib/cjs/components/navigation/Breadcrumb/Breadcrumb.stories.js.map +7 -0
- package/lib/cjs/components/navigation/Breadcrumb/index.js +95 -0
- package/lib/cjs/components/navigation/Breadcrumb/index.js.map +7 -0
- package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js +381 -0
- package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js.map +7 -0
- package/lib/cjs/components/navigation/FlowStepper/index.js +109 -0
- package/lib/cjs/components/navigation/FlowStepper/index.js.map +7 -0
- package/lib/cjs/components/navigation/Header/Header.stories.js +71 -0
- package/lib/cjs/components/navigation/Header/Header.stories.js.map +7 -0
- package/lib/cjs/components/navigation/Header/index.js +37 -0
- package/lib/cjs/components/navigation/Header/index.js.map +7 -0
- package/lib/cjs/components/navigation/index.js +37 -0
- package/lib/cjs/components/navigation/index.js.map +7 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.js +91 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.js.map +7 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.stories.js +79 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/Onboarding.stories.js.map +7 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/index.js +28 -0
- package/lib/cjs/components/navigation/progress/ProgressBar/index.js.map +7 -0
- package/lib/cjs/components/navigation/progress/Stepper/Item.stories.js +45 -0
- package/lib/cjs/components/navigation/progress/Stepper/Item.stories.js.map +7 -0
- package/lib/cjs/components/navigation/progress/Stepper/ProgressSteps.stories.js +60 -0
- package/lib/cjs/components/navigation/progress/Stepper/ProgressSteps.stories.js.map +7 -0
- package/lib/cjs/components/navigation/progress/Stepper/index.js +189 -0
- package/lib/cjs/components/navigation/progress/Stepper/index.js.map +7 -0
- package/lib/cjs/components/navigation/progress/index.js +30 -0
- package/lib/cjs/components/navigation/progress/index.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Item/Item.js +144 -0
- package/lib/cjs/components/navigation/sideBar/Item/Item.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Item/Item.stories.js +111 -0
- package/lib/cjs/components/navigation/sideBar/Item/Item.stories.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Item/index.js +28 -0
- package/lib/cjs/components/navigation/sideBar/Item/index.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Logo/Logo.js +55 -0
- package/lib/cjs/components/navigation/sideBar/Logo/Logo.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Logo/index.js +28 -0
- package/lib/cjs/components/navigation/sideBar/Logo/index.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.js +96 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js +118 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/index.js +28 -0
- package/lib/cjs/components/navigation/sideBar/SideBar/index.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Toggle/Toggle.js +62 -0
- package/lib/cjs/components/navigation/sideBar/Toggle/Toggle.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/Toggle/index.js +28 -0
- package/lib/cjs/components/navigation/sideBar/Toggle/index.js.map +7 -0
- package/lib/cjs/components/navigation/sideBar/index.js +29 -0
- package/lib/cjs/components/navigation/sideBar/index.js.map +7 -0
- package/lib/cjs/components/styled.js +44 -0
- package/lib/cjs/components/styled.js.map +7 -0
- package/lib/cjs/components/styled.stories.js +71 -0
- package/lib/cjs/components/styled.stories.js.map +7 -0
- package/lib/cjs/components/tabs/Bar/Bar.stories.js +72 -0
- package/lib/cjs/components/tabs/Bar/Bar.stories.js.map +7 -0
- package/lib/cjs/components/tabs/Bar/index.js +58 -0
- package/lib/cjs/components/tabs/Bar/index.js.map +7 -0
- package/lib/cjs/components/tabs/Chip/Chip.stories.js +72 -0
- package/lib/cjs/components/tabs/Chip/Chip.stories.js.map +7 -0
- package/lib/cjs/components/tabs/Chip/index.js +56 -0
- package/lib/cjs/components/tabs/Chip/index.js.map +7 -0
- package/lib/cjs/components/tabs/Pill/Pill.stories.js +70 -0
- package/lib/cjs/components/tabs/Pill/Pill.stories.js.map +7 -0
- package/lib/cjs/components/tabs/Pill/index.js +85 -0
- package/lib/cjs/components/tabs/Pill/index.js.map +7 -0
- package/lib/cjs/components/tabs/Tabs/Tabs.stories.js +121 -0
- package/lib/cjs/components/tabs/Tabs/Tabs.stories.js.map +7 -0
- package/lib/cjs/components/tabs/Tabs/index.js +150 -0
- package/lib/cjs/components/tabs/Tabs/index.js.map +7 -0
- package/lib/cjs/components/tabs/index.js +34 -0
- package/lib/cjs/components/tabs/index.js.map +7 -0
- package/lib/cjs/components/transitions/TransitionInOut.js +64 -0
- package/lib/cjs/components/transitions/TransitionInOut.js.map +7 -0
- package/lib/cjs/components/transitions/TransitionScale.js +62 -0
- package/lib/cjs/components/transitions/TransitionScale.js.map +7 -0
- package/lib/cjs/components/transitions/TransitionSlide.js +91 -0
- package/lib/cjs/components/transitions/TransitionSlide.js.map +7 -0
- package/lib/cjs/components/transitions/index.js +32 -0
- package/lib/cjs/components/transitions/index.js.map +7 -0
- package/lib/cjs/index.js +31 -0
- package/lib/cjs/index.js.map +7 -0
- package/lib/cjs/styles/InvertTheme.js +46 -0
- package/lib/cjs/styles/InvertTheme.js.map +7 -0
- package/lib/cjs/styles/Spacing.stories.js +75 -0
- package/lib/cjs/styles/Spacing.stories.js.map +7 -0
- package/lib/cjs/styles/StyleProvider.js +53 -0
- package/lib/cjs/styles/StyleProvider.js.map +7 -0
- package/lib/cjs/styles/global.js +65 -0
- package/lib/cjs/styles/global.js.map +7 -0
- package/lib/cjs/styles/helpers.js +47 -0
- package/lib/cjs/styles/helpers.js.map +7 -0
- package/lib/cjs/styles/index.js +35 -0
- package/lib/cjs/styles/index.js.map +7 -0
- package/lib/cjs/styles/palettes/colors.stories.js +81 -0
- package/lib/cjs/styles/palettes/colors.stories.js.map +7 -0
- package/lib/cjs/styles/styled/fontFamily.js +35 -0
- package/lib/cjs/styles/styled/fontFamily.js.map +7 -0
- package/lib/cjs/styles/system/gaps.js +33 -0
- package/lib/cjs/styles/system/gaps.js.map +7 -0
- package/lib/cjs/styles/theme.js +263 -0
- package/lib/cjs/styles/theme.js.map +7 -0
- package/{components → lib/components}/Chart/index.d.ts +1 -0
- package/{components → lib/components}/Chart/index.js +0 -1
- package/{components → lib/components}/Chart/types.d.ts +0 -0
- package/{components → lib/components}/Chart/types.js +0 -0
- package/{components → lib/components}/Chart/utils.d.ts +0 -0
- package/{components → lib/components}/Chart/utils.js +0 -0
- package/{components → lib/components}/Table/Columns.d.ts +0 -0
- package/{components → lib/components}/Table/Columns.js +0 -0
- package/{components → lib/components}/Table/index.d.ts +6 -6
- package/{components → lib/components}/Table/index.js +1 -1
- package/{components → lib/components}/Table/stories.helper.d.ts +0 -0
- package/{components → lib/components}/Table/stories.helper.js +0 -0
- package/{components → lib/components}/Tag/index.d.ts +0 -0
- package/{components → lib/components}/Tag/index.js +0 -0
- package/{components → lib/components}/animations/GlitchText/index.d.ts +1 -0
- package/{components → lib/components}/animations/GlitchText/index.js +3 -1
- package/{components → lib/components}/asorted/Divider/index.d.ts +1 -0
- package/{components → lib/components}/asorted/Divider/index.js +0 -0
- package/{components → lib/components}/asorted/Icon/BoxedIcon.d.ts +0 -0
- package/{components → lib/components}/asorted/Icon/BoxedIcon.js +0 -0
- package/{components → lib/components}/asorted/Icon/Icon.d.ts +1 -0
- package/{components → lib/components}/asorted/Icon/Icon.js +0 -0
- package/{components → lib/components}/asorted/Icon/index.d.ts +0 -0
- package/{components → lib/components}/asorted/Icon/index.js +0 -0
- package/{components → lib/components}/asorted/Text/index.d.ts +0 -0
- package/{components → lib/components}/asorted/Text/index.js +0 -0
- package/{components → lib/components}/asorted/Text/styles.d.ts +0 -0
- package/{components → lib/components}/asorted/Text/styles.js +16 -16
- package/{components → lib/components}/asorted/index.d.ts +0 -0
- package/{components → lib/components}/asorted/index.js +0 -0
- package/{components → lib/components}/cards/Carousel/Slide.d.ts +0 -0
- package/{components → lib/components}/cards/Carousel/Slide.js +0 -0
- package/{components → lib/components}/cards/Carousel/index.d.ts +0 -0
- package/{components → lib/components}/cards/Carousel/index.js +0 -0
- package/{components → lib/components}/cards/index.d.ts +0 -0
- package/{components → lib/components}/cards/index.js +0 -0
- package/{components → lib/components}/cta/Button/index.d.ts +1 -1
- package/{components → lib/components}/cta/Button/index.js +2 -2
- package/{components → lib/components}/cta/Link/getLinkStyle.d.ts +0 -0
- package/{components → lib/components}/cta/Link/getLinkStyle.js +0 -0
- package/{components → lib/components}/cta/Link/index.d.ts +2 -2
- package/{components → lib/components}/cta/Link/index.js +0 -0
- package/{components → lib/components}/cta/Toggle/index.d.ts +1 -0
- package/{components → lib/components}/cta/Toggle/index.js +0 -0
- package/{components → lib/components}/cta/getCtaStyle.d.ts +0 -0
- package/{components → lib/components}/cta/getCtaStyle.js +0 -0
- package/{components → lib/components}/cta/index.d.ts +0 -0
- package/{components → lib/components}/cta/index.js +0 -0
- package/{components → lib/components}/form/BaseInput/index.d.ts +10 -7
- package/{components → lib/components}/form/BaseInput/index.js +12 -1
- package/{components → lib/components}/form/Checkbox/Checkbox.d.ts +0 -0
- package/{components → lib/components}/form/Checkbox/Checkbox.js +0 -0
- package/{components → lib/components}/form/Checkbox/index.d.ts +0 -0
- package/{components → lib/components}/form/Checkbox/index.js +0 -0
- package/{components → lib/components}/form/Dropdown/index.d.ts +1 -0
- package/{components → lib/components}/form/Dropdown/index.js +0 -0
- package/{components → lib/components}/form/DropdownGeneric/index.d.ts +0 -0
- package/{components → lib/components}/form/DropdownGeneric/index.js +0 -0
- package/{components → lib/components}/form/LegendInput/index.d.ts +4 -3
- package/{components → lib/components}/form/LegendInput/index.js +0 -0
- package/{components → lib/components}/form/NumberInput/index.d.ts +4 -3
- package/{components → lib/components}/form/NumberInput/index.js +0 -0
- package/{components → lib/components}/form/QrCodeInput/index.d.ts +4 -3
- package/{components → lib/components}/form/QrCodeInput/index.js +0 -0
- package/{components → lib/components}/form/QuantityInput/index.d.ts +4 -3
- package/{components → lib/components}/form/QuantityInput/index.js +0 -0
- package/{components → lib/components}/form/Radio/RadioElement.d.ts +0 -0
- package/{components → lib/components}/form/Radio/RadioElement.js +0 -0
- package/{components → lib/components}/form/Radio/RadioListElement.d.ts +0 -0
- package/{components → lib/components}/form/Radio/RadioListElement.js +0 -0
- package/{components → lib/components}/form/Radio/index.d.ts +0 -0
- package/{components → lib/components}/form/Radio/index.js +0 -0
- package/{components → lib/components}/form/SearchInput/index.d.ts +4 -3
- package/{components → lib/components}/form/SearchInput/index.js +0 -0
- package/{components → lib/components}/form/SelectInput/Control.d.ts +1 -0
- package/{components → lib/components}/form/SelectInput/Control.js +0 -0
- package/{components → lib/components}/form/SelectInput/DropdownIndicator.d.ts +1 -0
- package/{components → lib/components}/form/SelectInput/DropdownIndicator.js +0 -0
- package/{components → lib/components}/form/SelectInput/IndicatorsContainer.d.ts +1 -0
- package/{components → lib/components}/form/SelectInput/IndicatorsContainer.js +0 -0
- package/{components → lib/components}/form/SelectInput/MenuList.d.ts +1 -0
- package/{components → lib/components}/form/SelectInput/MenuList.js +0 -0
- package/{components → lib/components}/form/SelectInput/Option.d.ts +0 -0
- package/{components → lib/components}/form/SelectInput/Option.js +0 -0
- package/{components → lib/components}/form/SelectInput/ValueContainer.d.ts +0 -0
- package/{components → lib/components}/form/SelectInput/ValueContainer.js +0 -0
- package/{components → lib/components}/form/SelectInput/VirtualMenuList.d.ts +0 -0
- package/{components → lib/components}/form/SelectInput/VirtualMenuList.js +0 -0
- package/{components → lib/components}/form/SelectInput/index.d.ts +0 -0
- package/{components → lib/components}/form/SelectInput/index.js +0 -0
- package/{components → lib/components}/form/SplitInput/index.d.ts +0 -0
- package/{components → lib/components}/form/SplitInput/index.js +0 -0
- package/{components → lib/components}/form/Switch/Switch.d.ts +0 -0
- package/{components → lib/components}/form/Switch/Switch.js +0 -0
- package/{components → lib/components}/form/Switch/index.d.ts +0 -0
- package/{components → lib/components}/form/Switch/index.js +0 -0
- package/{components → lib/components}/form/index.d.ts +0 -0
- package/{components → lib/components}/form/index.js +0 -0
- package/{components → lib/components}/helpers.d.ts +0 -0
- package/{components → lib/components}/helpers.js +0 -0
- package/{components → lib/components}/index.d.ts +0 -0
- package/{components → lib/components}/index.js +0 -0
- package/{components → lib/components}/layout/Box/index.d.ts +1 -1
- package/{components → lib/components}/layout/Box/index.js +0 -0
- package/{components → lib/components}/layout/Drawer/index.d.ts +0 -0
- package/{components → lib/components}/layout/Drawer/index.js +0 -0
- package/lib/components/layout/Flex/index.d.ts +8 -0
- package/{components → lib/components}/layout/Flex/index.js +0 -0
- package/{components → lib/components}/layout/Grid/index.d.ts +0 -0
- package/{components → lib/components}/layout/Grid/index.js +0 -0
- package/{components → lib/components}/layout/Popin/index.d.ts +4 -4
- package/{components → lib/components}/layout/Popin/index.js +0 -0
- package/{components → lib/components}/layout/Side/Provider.d.ts +0 -0
- package/{components → lib/components}/layout/Side/Provider.js +0 -0
- package/{components → lib/components}/layout/Side/index.d.ts +1 -0
- package/{components → lib/components}/layout/Side/index.js +2 -0
- package/{components → lib/components}/layout/index.d.ts +0 -0
- package/{components → lib/components}/layout/index.js +0 -0
- package/{components → lib/components}/loaders/InfiniteLoader/index.d.ts +1 -1
- package/{components → lib/components}/loaders/InfiniteLoader/index.js +0 -0
- package/{components → lib/components}/loaders/ProgressLoader/index.d.ts +1 -0
- package/{components → lib/components}/loaders/ProgressLoader/index.js +0 -0
- package/{components → lib/components}/loaders/index.d.ts +0 -0
- package/{components → lib/components}/loaders/index.js +0 -0
- package/{components → lib/components}/message/Alert/index.d.ts +1 -0
- package/{components → lib/components}/message/Alert/index.js +0 -0
- package/{components → lib/components}/message/Log/Brackets.d.ts +0 -0
- package/{components → lib/components}/message/Log/Brackets.js +0 -0
- package/{components → lib/components}/message/Log/index.d.ts +0 -0
- package/{components → lib/components}/message/Log/index.js +0 -0
- package/{components → lib/components}/message/Notification/Badge.d.ts +0 -0
- package/{components → lib/components}/message/Notification/Badge.js +0 -0
- package/{components → lib/components}/message/Notification/index.d.ts +0 -0
- package/{components → lib/components}/message/Notification/index.js +0 -0
- package/{components → lib/components}/message/StatusNotification/index.d.ts +0 -0
- package/{components → lib/components}/message/StatusNotification/index.js +0 -0
- package/{components → lib/components}/message/Tip/index.d.ts +1 -0
- package/{components → lib/components}/message/Tip/index.js +0 -0
- package/{components → lib/components}/message/Tooltip/index.d.ts +1 -0
- package/{components → lib/components}/message/Tooltip/index.js +0 -0
- package/{components → lib/components}/message/Tooltip/styles.d.ts +0 -0
- package/{components → lib/components}/message/Tooltip/styles.js +0 -0
- package/{components → lib/components}/message/index.d.ts +0 -0
- package/{components → lib/components}/message/index.js +0 -0
- package/lib/components/navigation/Aside/index.d.ts +15 -0
- package/{components → lib/components}/navigation/Aside/index.js +0 -0
- package/{components → lib/components}/navigation/Aside/stories.helper.d.ts +0 -0
- package/{components → lib/components}/navigation/Aside/stories.helper.js +0 -0
- package/{components → lib/components}/navigation/Breadcrumb/index.d.ts +0 -0
- package/{components → lib/components}/navigation/Breadcrumb/index.js +0 -0
- package/lib/components/navigation/FlowStepper/index.d.ts +136 -0
- package/lib/components/navigation/FlowStepper/index.js +84 -0
- package/{components → lib/components}/navigation/Header/index.d.ts +0 -0
- package/{components → lib/components}/navigation/Header/index.js +0 -0
- package/{components → lib/components}/navigation/index.d.ts +0 -0
- package/{components → lib/components}/navigation/index.js +0 -0
- package/{components → lib/components}/navigation/progress/ProgressBar/Onboarding.d.ts +1 -0
- package/{components → lib/components}/navigation/progress/ProgressBar/Onboarding.js +0 -0
- package/{components → lib/components}/navigation/progress/ProgressBar/index.d.ts +0 -0
- package/{components → lib/components}/navigation/progress/ProgressBar/index.js +0 -0
- package/{components → lib/components}/navigation/progress/Stepper/index.d.ts +1 -1
- package/{components → lib/components}/navigation/progress/Stepper/index.js +0 -0
- package/{components → lib/components}/navigation/progress/index.d.ts +0 -0
- package/{components → lib/components}/navigation/progress/index.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Item/Item.d.ts +1 -0
- package/{components → lib/components}/navigation/sideBar/Item/Item.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Item/index.d.ts +0 -0
- package/{components → lib/components}/navigation/sideBar/Item/index.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Logo/Logo.d.ts +1 -0
- package/{components → lib/components}/navigation/sideBar/Logo/Logo.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Logo/index.d.ts +0 -0
- package/{components → lib/components}/navigation/sideBar/Logo/index.js +0 -0
- package/{components → lib/components}/navigation/sideBar/SideBar/SideBar.d.ts +1 -0
- package/{components → lib/components}/navigation/sideBar/SideBar/SideBar.js +0 -0
- package/{components → lib/components}/navigation/sideBar/SideBar/index.d.ts +0 -0
- package/{components → lib/components}/navigation/sideBar/SideBar/index.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Toggle/Toggle.d.ts +1 -0
- package/{components → lib/components}/navigation/sideBar/Toggle/Toggle.js +0 -0
- package/{components → lib/components}/navigation/sideBar/Toggle/index.d.ts +0 -0
- package/{components → lib/components}/navigation/sideBar/Toggle/index.js +0 -0
- package/{components → lib/components}/navigation/sideBar/index.d.ts +0 -0
- package/{components → lib/components}/navigation/sideBar/index.js +0 -0
- package/{components → lib/components}/styled.d.ts +0 -0
- package/{components → lib/components}/styled.js +4 -1
- package/{components → lib/components}/tabs/Bar/index.d.ts +0 -0
- package/{components → lib/components}/tabs/Bar/index.js +0 -0
- package/{components → lib/components}/tabs/Chip/index.d.ts +0 -0
- package/{components → lib/components}/tabs/Chip/index.js +0 -0
- package/{components → lib/components}/tabs/Pill/index.d.ts +0 -0
- package/{components → lib/components}/tabs/Pill/index.js +0 -0
- package/{components → lib/components}/tabs/Tabs/index.d.ts +0 -0
- package/{components → lib/components}/tabs/Tabs/index.js +0 -0
- package/{components → lib/components}/tabs/index.d.ts +0 -0
- package/{components → lib/components}/tabs/index.js +0 -0
- package/{components → lib/components}/transitions/TransitionInOut.d.ts +0 -0
- package/{components → lib/components}/transitions/TransitionInOut.js +0 -0
- package/{components → lib/components}/transitions/TransitionScale.d.ts +0 -0
- package/{components → lib/components}/transitions/TransitionScale.js +0 -0
- package/{components → lib/components}/transitions/TransitionSlide.d.ts +0 -0
- package/{components → lib/components}/transitions/TransitionSlide.js +0 -0
- package/{components → lib/components}/transitions/index.d.ts +0 -0
- package/{components → lib/components}/transitions/index.js +0 -0
- package/{index.d.ts → lib/index.d.ts} +0 -0
- package/{index.js → lib/index.js} +0 -0
- package/{styles → lib/styles}/InvertTheme.d.ts +0 -0
- package/{styles → lib/styles}/InvertTheme.js +0 -0
- package/{styles → lib/styles}/StyleProvider.d.ts +0 -0
- package/{styles → lib/styles}/StyleProvider.js +0 -0
- package/{styles → lib/styles}/global.d.ts +0 -0
- package/{styles → lib/styles}/global.js +0 -0
- package/{styles → lib/styles}/helpers.d.ts +0 -0
- package/{styles → lib/styles}/helpers.js +0 -0
- package/{styles → lib/styles}/index.d.ts +0 -0
- package/{styles → lib/styles}/index.js +0 -0
- package/{styles → lib/styles}/styled/fontFamily.d.ts +0 -0
- package/{styles → lib/styles}/styled/fontFamily.js +0 -0
- package/{styles → lib/styles}/system/gaps.d.ts +0 -0
- package/{styles → lib/styles}/system/gaps.js +0 -0
- package/{styles → lib/styles}/theme.d.ts +0 -0
- package/{styles → lib/styles}/theme.js +0 -0
- package/package.json +63 -15
- package/components/layout/Flex/index.d.ts +0 -8
- package/components/navigation/Aside/index.d.ts +0 -15
- package/components/navigation/FlowStepper/index.d.ts +0 -77
- package/components/navigation/FlowStepper/index.js +0 -35
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
__markAsModule(target);
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, module2, desc) => {
|
|
14
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(module2))
|
|
16
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return target;
|
|
20
|
+
};
|
|
21
|
+
var __toModule = (module2) => {
|
|
22
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
23
|
+
};
|
|
24
|
+
__export(exports, {
|
|
25
|
+
CustomRows: () => CustomRows,
|
|
26
|
+
Default: () => Default,
|
|
27
|
+
Nested: () => Nested,
|
|
28
|
+
Styled: () => Styled,
|
|
29
|
+
default: () => Table_stories_default
|
|
30
|
+
});
|
|
31
|
+
var import_react = __toModule(require("react"));
|
|
32
|
+
var import_styled_components = __toModule(require("styled-components"));
|
|
33
|
+
var import_Button = __toModule(require("../cta/Button"));
|
|
34
|
+
var import_Flex = __toModule(require("../layout/Flex"));
|
|
35
|
+
var import_Text = __toModule(require("../asorted/Text"));
|
|
36
|
+
var import_index = __toModule(require("./index"));
|
|
37
|
+
var import_stories = __toModule(require("./stories.helper"));
|
|
38
|
+
const description = `
|
|
39
|
+
### A flexible table component.
|
|
40
|
+
|
|
41
|
+
Define columns and pass some data to the component that will render it appropriately.
|
|
42
|
+
|
|
43
|
+
## Usage
|
|
44
|
+
|
|
45
|
+
\`\`\`js
|
|
46
|
+
|
|
47
|
+
import { Table } from "@ledgerhq/react-ui"
|
|
48
|
+
|
|
49
|
+
\`\`\`
|
|
50
|
+
|
|
51
|
+
### Define columns
|
|
52
|
+
|
|
53
|
+
To use the Table component the first thing to do is to define an array of columns.
|
|
54
|
+
|
|
55
|
+
A column is an object that specifies:
|
|
56
|
+
|
|
57
|
+
- how cells are rendered
|
|
58
|
+
- how the header is rendered
|
|
59
|
+
- the cells layout
|
|
60
|
+
|
|
61
|
+
<details>
|
|
62
|
+
<summary>Column object shape</summary>
|
|
63
|
+
\`\`\`ts
|
|
64
|
+
// Note for typescript users, these types are importable from "@ledgerhq/react-ui/components/Table/Columns"
|
|
65
|
+
// <T> is the type the data that will be rendered by the table.
|
|
66
|
+
|
|
67
|
+
interface Column<T> {
|
|
68
|
+
/**
|
|
69
|
+
* A function called to render each cell of the column.
|
|
70
|
+
*/
|
|
71
|
+
render: (props: CellProps<T>) => React.ReactNode;
|
|
72
|
+
/**
|
|
73
|
+
* A valid grid template [value](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns#values).
|
|
74
|
+
* This layout is applied to every cell of the column.
|
|
75
|
+
* Default to "min-content" - the largest minimal content contribution of the grid item.
|
|
76
|
+
*/
|
|
77
|
+
layout?: string;
|
|
78
|
+
/**
|
|
79
|
+
* A function called to render the header cell.
|
|
80
|
+
* If omitted the rendered header element will be an empty div.
|
|
81
|
+
*/
|
|
82
|
+
header?: () => React.ReactNode;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface CellProps<T> {
|
|
86
|
+
/**
|
|
87
|
+
* The cell element.
|
|
88
|
+
*/
|
|
89
|
+
elt: T;
|
|
90
|
+
/**
|
|
91
|
+
* The row index.
|
|
92
|
+
*/
|
|
93
|
+
rowIndex: number;
|
|
94
|
+
/**
|
|
95
|
+
* The column index.
|
|
96
|
+
*/
|
|
97
|
+
columnIndex: number;
|
|
98
|
+
}
|
|
99
|
+
\`\`\`
|
|
100
|
+
</details>
|
|
101
|
+
|
|
102
|
+
You can either define custom columns or reuse predefined ones that take care of the style
|
|
103
|
+
and the layout and match the global look and feel.
|
|
104
|
+
|
|
105
|
+
<details>
|
|
106
|
+
<summary>Predefined columns</summary>
|
|
107
|
+
\`\`\`tsx
|
|
108
|
+
Table.Columns.text(args: {
|
|
109
|
+
/**
|
|
110
|
+
* An optional title.
|
|
111
|
+
*/
|
|
112
|
+
title?: (elt: T) => React.ReactNode;
|
|
113
|
+
/**
|
|
114
|
+
* An optional subtitle.
|
|
115
|
+
*/
|
|
116
|
+
subtitle?: (elt: T) => React.ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* An optional render function to display the column header.
|
|
119
|
+
*/
|
|
120
|
+
header?: () => React.ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* The grid column layout, by default "auto".
|
|
123
|
+
*/
|
|
124
|
+
layout?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Optional extra props passed to the title <Text /> wrapper.
|
|
127
|
+
*/
|
|
128
|
+
titleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;
|
|
129
|
+
/**
|
|
130
|
+
* Optional extra props passed to the subtitle <Text /> wrapper.
|
|
131
|
+
*/
|
|
132
|
+
subtitleProps?: (elt: T) => Partial<React.ComponentProps<typeof Text>>;
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
Table.Columns.icon(args: {
|
|
136
|
+
/**
|
|
137
|
+
* An object containing the unerlying <Text /> wrapper props as well as
|
|
138
|
+
* the "name" and "weight" props of the unerlying <Icon />.
|
|
139
|
+
*/
|
|
140
|
+
props: (elt: T) => Pick<IconProps, "name" | "weight"> & TextProps;
|
|
141
|
+
/**
|
|
142
|
+
* An optional render function to display the column header.
|
|
143
|
+
*/
|
|
144
|
+
header?: () => React.ReactNode;
|
|
145
|
+
/**
|
|
146
|
+
* The grid column layout, by default "min-content".
|
|
147
|
+
*/
|
|
148
|
+
layout?: string;
|
|
149
|
+
})
|
|
150
|
+
\`\`\`
|
|
151
|
+
</details>
|
|
152
|
+
|
|
153
|
+
\`\`\`tsx
|
|
154
|
+
const columns = [
|
|
155
|
+
// Custom column. (layout is optional)
|
|
156
|
+
{
|
|
157
|
+
layout: "64px",
|
|
158
|
+
render: ({ elt }) => <div>elt.value</div>
|
|
159
|
+
},
|
|
160
|
+
// Predefined columns.
|
|
161
|
+
Table.Columns.text({
|
|
162
|
+
layout: "2fr",
|
|
163
|
+
title: (elt) => elt.name,
|
|
164
|
+
subtitle: (elt) => elt.currency.name,
|
|
165
|
+
}),
|
|
166
|
+
Table.Columns.icon({
|
|
167
|
+
props: (elt) => ({
|
|
168
|
+
name: elt.synchronized ? "CircledCheck" : "Clock",
|
|
169
|
+
color: elt.synchronized ? "success.c100" : "neutral.c80",
|
|
170
|
+
}),
|
|
171
|
+
}),
|
|
172
|
+
]
|
|
173
|
+
\`\`\`
|
|
174
|
+
|
|
175
|
+
### Minimal Working Example
|
|
176
|
+
|
|
177
|
+
\`\`\`tsx
|
|
178
|
+
// An array of 12 items - each mapped to a row in the table.
|
|
179
|
+
const data = new Array(12).fill(0).map((_, idx) => ({
|
|
180
|
+
value: idx,
|
|
181
|
+
}));
|
|
182
|
+
|
|
183
|
+
// We have 4 columns here.
|
|
184
|
+
const NB_OF_COLUMNS = 4;
|
|
185
|
+
const columns: Column<typeof data[0]>[] = Array(NB_OF_COLUMNS)
|
|
186
|
+
.fill(0)
|
|
187
|
+
.map((_, idx) => ({
|
|
188
|
+
// The header will be a letter based on the column (A / B / C / D).
|
|
189
|
+
// 65 is the char code for the letter 'A'.
|
|
190
|
+
header: () => <Text variant="h5">{String.fromCharCode(65 + idx)}</Text>,
|
|
191
|
+
// Each cell will contain an incremental number as well as the cell position.
|
|
192
|
+
render: ({ elt, rowIndex, columnIndex }) => (
|
|
193
|
+
<Flex alignItems="baseline">
|
|
194
|
+
<Text mr={4}>{elt.value * NB_OF_COLUMNS + columnIndex}</Text>
|
|
195
|
+
<Text variant="extraSmall">
|
|
196
|
+
({rowIndex} / {columnIndex})
|
|
197
|
+
</Text>
|
|
198
|
+
</Flex>
|
|
199
|
+
),
|
|
200
|
+
}));
|
|
201
|
+
|
|
202
|
+
function MinimalExample(args) {
|
|
203
|
+
return <Table {...args} data={data} columns={columns} />;
|
|
204
|
+
};
|
|
205
|
+
\`\`\`
|
|
206
|
+
`;
|
|
207
|
+
const data = new Array(12).fill(0).map((_, idx) => ({
|
|
208
|
+
value: idx
|
|
209
|
+
}));
|
|
210
|
+
const NB_OF_COLUMNS = 4;
|
|
211
|
+
const columns = Array(NB_OF_COLUMNS).fill(0).map((_, idx) => ({
|
|
212
|
+
header: () => /* @__PURE__ */ import_react.default.createElement(import_Text.default, {
|
|
213
|
+
variant: "h5"
|
|
214
|
+
}, String.fromCharCode(65 + idx)),
|
|
215
|
+
render: ({ elt, rowIndex, columnIndex }) => /* @__PURE__ */ import_react.default.createElement(import_Flex.default, {
|
|
216
|
+
alignItems: "baseline"
|
|
217
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Text.default, {
|
|
218
|
+
mr: 4
|
|
219
|
+
}, elt.value * NB_OF_COLUMNS + columnIndex), /* @__PURE__ */ import_react.default.createElement(import_Text.default, {
|
|
220
|
+
variant: "extraSmall"
|
|
221
|
+
}, "(", rowIndex, " / ", columnIndex, ")"))
|
|
222
|
+
}));
|
|
223
|
+
const Default = (args) => {
|
|
224
|
+
return /* @__PURE__ */ import_react.default.createElement(import_index.default, {
|
|
225
|
+
...args,
|
|
226
|
+
data,
|
|
227
|
+
columns
|
|
228
|
+
});
|
|
229
|
+
};
|
|
230
|
+
const styledExampleDescription = `
|
|
231
|
+
A more advanced example that applies some styles to the table and uses predefined columns.
|
|
232
|
+
|
|
233
|
+
Additional props passed to the Table are applied to the outer container which is
|
|
234
|
+
an instance of the \`Grid\` component.
|
|
235
|
+
|
|
236
|
+
In this example we are taking advantage of that by using the \`p\`, \`gridRowGap\`, \`gridColumnGap\`,
|
|
237
|
+
\`borderRadius\` and \`backgroundColor\` props to style the table container.
|
|
238
|
+
`;
|
|
239
|
+
const Styled = (args) => {
|
|
240
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_index.default, {
|
|
241
|
+
...args,
|
|
242
|
+
data: import_stories.balance.data,
|
|
243
|
+
columns: import_stories.balance.columns,
|
|
244
|
+
p: 8,
|
|
245
|
+
gridRowGap: 8,
|
|
246
|
+
gridColumnGap: 6,
|
|
247
|
+
borderRadius: 8,
|
|
248
|
+
backgroundColor: "neutral.c20"
|
|
249
|
+
}));
|
|
250
|
+
};
|
|
251
|
+
Styled.parameters = {
|
|
252
|
+
docs: {
|
|
253
|
+
description: {
|
|
254
|
+
story: styledExampleDescription
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
const nestedExampleDescription = `
|
|
259
|
+
A complex example that takes in entry nested data and conditonally adds a custom additional row to the table.
|
|
260
|
+
|
|
261
|
+
The data has the following shape:
|
|
262
|
+
|
|
263
|
+
\`\`\`ts
|
|
264
|
+
type Account = {
|
|
265
|
+
name: string;
|
|
266
|
+
currency: { name: string; abbrev: string };
|
|
267
|
+
synchronized: boolean;
|
|
268
|
+
amount: number;
|
|
269
|
+
evolution: number;
|
|
270
|
+
starred: boolean;
|
|
271
|
+
// The interesting thing is that an account can contain sub-accounts
|
|
272
|
+
subAccounts?: Account[];
|
|
273
|
+
};
|
|
274
|
+
\`\`\`
|
|
275
|
+
|
|
276
|
+
The table used in this example adds an extra row containing a nested table when an account contains sub-accounts.
|
|
277
|
+
|
|
278
|
+
In order to achieve that the \`extraRender\` prop is used and set to a function that will render the extra row.
|
|
279
|
+
|
|
280
|
+
You can use the \`ExtraRowContainer\` wrapper as the row container if you want the extra content to span the entire row.
|
|
281
|
+
Otherwise be careful not to disturb the grid layout order.
|
|
282
|
+
|
|
283
|
+
\`\`\`tsx
|
|
284
|
+
<Table
|
|
285
|
+
/* ... */
|
|
286
|
+
extraRender={(account) =>
|
|
287
|
+
// If there are sub accounts\u2026
|
|
288
|
+
account.subAccounts &&
|
|
289
|
+
account.subAccounts.length > 0 && (
|
|
290
|
+
// \u2026render the extra row.
|
|
291
|
+
// ExtraRowContainer is a component that will span to the whole row.
|
|
292
|
+
<Table.ExtraRowContainer>{/* stuff */}</Table.ExtraRowContainer>
|
|
293
|
+
)
|
|
294
|
+
}
|
|
295
|
+
/>
|
|
296
|
+
\`\`\`
|
|
297
|
+
|
|
298
|
+
`;
|
|
299
|
+
function SubAccounts({
|
|
300
|
+
account,
|
|
301
|
+
columns: columns2
|
|
302
|
+
}) {
|
|
303
|
+
const theme = (0, import_styled_components.useTheme)();
|
|
304
|
+
const [expanded, setExpanded] = (0, import_react.useState)(false);
|
|
305
|
+
const { subAccounts } = account;
|
|
306
|
+
if (!subAccounts)
|
|
307
|
+
return null;
|
|
308
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, expanded && /* @__PURE__ */ import_react.default.createElement(import_index.Rows, {
|
|
309
|
+
data: subAccounts,
|
|
310
|
+
columns: columns2,
|
|
311
|
+
render: ({ columnIndex, children }) => columnIndex === 0 ? /* @__PURE__ */ import_react.default.createElement(import_Flex.default, {
|
|
312
|
+
alignItems: "center",
|
|
313
|
+
justifyContent: "flex-end"
|
|
314
|
+
}, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
315
|
+
style: {
|
|
316
|
+
width: "1px",
|
|
317
|
+
height: "2em",
|
|
318
|
+
marginRight: `${theme.space[6]}px`,
|
|
319
|
+
borderLeft: `1px solid ${theme.colors.neutral.c40}`
|
|
320
|
+
}
|
|
321
|
+
}), children) : children
|
|
322
|
+
}), /* @__PURE__ */ import_react.default.createElement(import_index.default.ExtraRowContainer, null, /* @__PURE__ */ import_react.default.createElement(import_Flex.default, {
|
|
323
|
+
justifyContent: "center",
|
|
324
|
+
mt: -8
|
|
325
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Button.default.Expand, {
|
|
326
|
+
onToggle: setExpanded
|
|
327
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Text.default, {
|
|
328
|
+
variant: "paragraph"
|
|
329
|
+
}, expanded ? "Hide" : "Show", " tokens (", subAccounts.length, ")")))));
|
|
330
|
+
}
|
|
331
|
+
function Nested(args) {
|
|
332
|
+
return /* @__PURE__ */ import_react.default.createElement(import_index.default, {
|
|
333
|
+
...args,
|
|
334
|
+
data: import_stories.accounts.data,
|
|
335
|
+
columns: import_stories.accounts.columns,
|
|
336
|
+
gridRowGap: 8,
|
|
337
|
+
gridColumnGap: 6,
|
|
338
|
+
p: 8,
|
|
339
|
+
borderRadius: 8,
|
|
340
|
+
backgroundColor: "neutral.c20",
|
|
341
|
+
extraRender: (account) => account.subAccounts && account.subAccounts.length > 0 && /* @__PURE__ */ import_react.default.createElement(SubAccounts, {
|
|
342
|
+
account,
|
|
343
|
+
columns: import_stories.accounts.columns
|
|
344
|
+
})
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
Nested.parameters = {
|
|
348
|
+
docs: {
|
|
349
|
+
description: {
|
|
350
|
+
story: nestedExampleDescription
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
const customRowExampleDescription = `
|
|
355
|
+
This example showcases how to styles rows, wrap them inside custom containers and add event handlers.
|
|
356
|
+
|
|
357
|
+
#### Row containers and event handlers
|
|
358
|
+
|
|
359
|
+
The \`renderRow\` prop is a render function that allows to customize the jsx output for each row of the table.
|
|
360
|
+
|
|
361
|
+
Note 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
|
|
362
|
+
in order to preserve the table grid layout order.
|
|
363
|
+
|
|
364
|
+
\`\`\`tsx
|
|
365
|
+
const renderRow = React.useCallback(
|
|
366
|
+
(rowIndex, children) => (
|
|
367
|
+
// RowContainer is a convenience component having "display: contents" hardcoded.
|
|
368
|
+
// You can pass any event handler here.
|
|
369
|
+
<Table.RowContainer onClick={() => alert(rowIndex)}>
|
|
370
|
+
{children}
|
|
371
|
+
</Table.RowContainer>
|
|
372
|
+
),
|
|
373
|
+
[],
|
|
374
|
+
);
|
|
375
|
+
|
|
376
|
+
<Table
|
|
377
|
+
/* ... */
|
|
378
|
+
renderRow={renderRow}
|
|
379
|
+
/>
|
|
380
|
+
\`\`\`
|
|
381
|
+
|
|
382
|
+
#### Styling
|
|
383
|
+
|
|
384
|
+
Styling the container itself will not work.
|
|
385
|
+
Since it has the \`display: contents\` rule the element will not produce a content box.
|
|
386
|
+
|
|
387
|
+
One working solution is to style the children instead.
|
|
388
|
+
|
|
389
|
+
\`\`\`ts
|
|
390
|
+
const CustomRowContainer = styled(Table.RowContainer).attrs(
|
|
391
|
+
({ onClick }) => ({
|
|
392
|
+
onClick,
|
|
393
|
+
}),
|
|
394
|
+
)\`
|
|
395
|
+
& > * {
|
|
396
|
+
padding-left: \${(p) => p.theme.space[5]}px;
|
|
397
|
+
padding-right: \${(p) => p.theme.space[5]}px;
|
|
398
|
+
padding-top: \${(p) => p.theme.space[5]}px;
|
|
399
|
+
padding-bottom: \${(p) => p.theme.space[5]}px;
|
|
400
|
+
|
|
401
|
+
&:first-child {
|
|
402
|
+
padding-left: \${(p) => p.theme.space[8]}px;
|
|
403
|
+
}
|
|
404
|
+
&:last-child {
|
|
405
|
+
padding-right: \${(p) => p.theme.space[8]}px;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
&:hover > * {
|
|
410
|
+
transition: background-color 0.2s;
|
|
411
|
+
cursor: pointer;
|
|
412
|
+
background-color: \${(p) =>
|
|
413
|
+
p.rowIndex % 2 === 0
|
|
414
|
+
? p.theme.colors.neutral.c30
|
|
415
|
+
: p.theme.colors.primary.c20};
|
|
416
|
+
}
|
|
417
|
+
\`;
|
|
418
|
+
\`\`\`
|
|
419
|
+
`;
|
|
420
|
+
const CustomRowContainer = (0, import_styled_components.default)(import_index.default.RowContainer).attrs(({ onClick }) => ({
|
|
421
|
+
onClick
|
|
422
|
+
}))`
|
|
423
|
+
& > * {
|
|
424
|
+
padding-left: ${(p) => p.theme.space[5]}px;
|
|
425
|
+
padding-right: ${(p) => p.theme.space[5]}px;
|
|
426
|
+
padding-top: ${(p) => p.theme.space[5]}px;
|
|
427
|
+
padding-bottom: ${(p) => p.theme.space[5]}px;
|
|
428
|
+
|
|
429
|
+
&:first-child {
|
|
430
|
+
padding-left: ${(p) => p.theme.space[8]}px;
|
|
431
|
+
}
|
|
432
|
+
&:last-child {
|
|
433
|
+
padding-right: ${(p) => p.theme.space[8]}px;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
&:hover > * {
|
|
438
|
+
transition: background-color 0.2s;
|
|
439
|
+
cursor: pointer;
|
|
440
|
+
background-color: ${(p) => p.rowIndex % 2 === 0 ? p.theme.colors.neutral.c30 : p.theme.colors.primary.c20};
|
|
441
|
+
}
|
|
442
|
+
`;
|
|
443
|
+
const CustomRows = (args) => {
|
|
444
|
+
const [selectedRowIndex, setSelectedRowIndex] = (0, import_react.useState)(null);
|
|
445
|
+
const renderRow = (0, import_react.useCallback)((rowIndex, children) => /* @__PURE__ */ import_react.default.createElement(CustomRowContainer, {
|
|
446
|
+
rowIndex,
|
|
447
|
+
onClick: () => setSelectedRowIndex(rowIndex)
|
|
448
|
+
}, children), []);
|
|
449
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Flex.default, {
|
|
450
|
+
mb: 8
|
|
451
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_Text.default, {
|
|
452
|
+
variant: "h5"
|
|
453
|
+
}, "Selected index: ", selectedRowIndex ?? "none")), /* @__PURE__ */ import_react.default.createElement(import_index.default, {
|
|
454
|
+
...args,
|
|
455
|
+
data: import_stories.balance.data,
|
|
456
|
+
columns: import_stories.balance.columns,
|
|
457
|
+
renderRow,
|
|
458
|
+
borderRadius: 8,
|
|
459
|
+
justifyItems: "stretch",
|
|
460
|
+
alignItems: "stretch",
|
|
461
|
+
border: "1px solid",
|
|
462
|
+
borderColor: "neutral.c50",
|
|
463
|
+
overflow: "hidden",
|
|
464
|
+
withHeaders: false
|
|
465
|
+
}));
|
|
466
|
+
};
|
|
467
|
+
CustomRows.parameters = {
|
|
468
|
+
docs: {
|
|
469
|
+
description: {
|
|
470
|
+
story: customRowExampleDescription
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
var Table_stories_default = {
|
|
475
|
+
title: "Tables/Table",
|
|
476
|
+
component: import_index.default,
|
|
477
|
+
argTypes: {
|
|
478
|
+
withHeaders: { type: "boolean", defaultValue: false },
|
|
479
|
+
data: { control: false },
|
|
480
|
+
columns: { control: false },
|
|
481
|
+
rows: { table: { disable: true } }
|
|
482
|
+
},
|
|
483
|
+
parameters: {
|
|
484
|
+
docs: {
|
|
485
|
+
description: {
|
|
486
|
+
component: description
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
};
|
|
491
|
+
//# sourceMappingURL=Table.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
__markAsModule(target);
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, module2, desc) => {
|
|
14
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(module2))
|
|
16
|
+
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
17
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return target;
|
|
20
|
+
};
|
|
21
|
+
var __toModule = (module2) => {
|
|
22
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
23
|
+
};
|
|
24
|
+
__export(exports, {
|
|
25
|
+
ExtraRowContainer: () => ExtraRowContainer,
|
|
26
|
+
RowContainer: () => RowContainer,
|
|
27
|
+
Rows: () => Rows,
|
|
28
|
+
Table: () => Table,
|
|
29
|
+
default: () => Table_default
|
|
30
|
+
});
|
|
31
|
+
var import_react = __toModule(require("react"));
|
|
32
|
+
var import_styled_components = __toModule(require("styled-components"));
|
|
33
|
+
var import_styled_system = __toModule(require("styled-system"));
|
|
34
|
+
var import_Grid = __toModule(require("../layout/Grid"));
|
|
35
|
+
var import_Flex = __toModule(require("../layout/Flex"));
|
|
36
|
+
var Columns = __toModule(require("./Columns"));
|
|
37
|
+
const Container = (0, import_styled_components.default)(import_Grid.default)`
|
|
38
|
+
${import_styled_system.border}
|
|
39
|
+
`;
|
|
40
|
+
const ExtraRowContainer = import_styled_components.default.div.attrs({ gridColumn: "1 / -1" })`
|
|
41
|
+
${import_styled_system.gridColumn}
|
|
42
|
+
`;
|
|
43
|
+
const RowContainer = (0, import_styled_components.default)(import_Flex.default)`
|
|
44
|
+
display: contents;
|
|
45
|
+
`;
|
|
46
|
+
function RowsComponent({
|
|
47
|
+
data,
|
|
48
|
+
columns,
|
|
49
|
+
render,
|
|
50
|
+
extraRender,
|
|
51
|
+
renderRow
|
|
52
|
+
}) {
|
|
53
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, {
|
|
54
|
+
key: "row-component"
|
|
55
|
+
}, data.map((elt, rowIndex) => {
|
|
56
|
+
const row = /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, columns.map((column, columnIndex) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, {
|
|
57
|
+
key: `row-component-column-${rowIndex}${columnIndex}`
|
|
58
|
+
}, render ? render({
|
|
59
|
+
column,
|
|
60
|
+
rowIndex,
|
|
61
|
+
columnIndex,
|
|
62
|
+
children: column.render({ elt, rowIndex, columnIndex })
|
|
63
|
+
}) : column.render({ elt, rowIndex, columnIndex }))), extraRender && extraRender(elt, rowIndex) || null);
|
|
64
|
+
if (renderRow) {
|
|
65
|
+
return renderRow(rowIndex, row);
|
|
66
|
+
} else {
|
|
67
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, {
|
|
68
|
+
key: `row-component-row-${rowIndex}`
|
|
69
|
+
}, row);
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
const Rows = (0, import_react.memo)(RowsComponent);
|
|
74
|
+
function Table({
|
|
75
|
+
data,
|
|
76
|
+
columns,
|
|
77
|
+
withHeaders,
|
|
78
|
+
extraRender,
|
|
79
|
+
renderRow,
|
|
80
|
+
...containerProps
|
|
81
|
+
}) {
|
|
82
|
+
const gridTemplateColumns = (0, import_react.useMemo)(() => columns.reduce((acc, col) => `${acc} ${col.layout || "auto"}`, ""), [columns]);
|
|
83
|
+
const headers = (0, import_react.useMemo)(() => withHeaders ? columns.reduce((acc, col, index) => [
|
|
84
|
+
...acc,
|
|
85
|
+
/* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, {
|
|
86
|
+
key: `header-col-${index}`
|
|
87
|
+
}, col.header ? col.header() : /* @__PURE__ */ import_react.default.createElement("div", null))
|
|
88
|
+
], []) : null, [withHeaders, columns]);
|
|
89
|
+
return /* @__PURE__ */ import_react.default.createElement(Container, {
|
|
90
|
+
gridTemplateColumns,
|
|
91
|
+
gridAutoRows: "auto",
|
|
92
|
+
columns: "none",
|
|
93
|
+
alignItems: "center",
|
|
94
|
+
...containerProps
|
|
95
|
+
}, headers, /* @__PURE__ */ import_react.default.createElement(Rows, {
|
|
96
|
+
data,
|
|
97
|
+
columns,
|
|
98
|
+
extraRender,
|
|
99
|
+
renderRow
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
Table.Columns = Columns;
|
|
103
|
+
Table.ExtraRowContainer = ExtraRowContainer;
|
|
104
|
+
Table.RowContainer = RowContainer;
|
|
105
|
+
const memoTable = (0, import_react.memo)(Table);
|
|
106
|
+
memoTable.Columns = Columns;
|
|
107
|
+
memoTable.RowContainer = RowContainer;
|
|
108
|
+
memoTable.ExtraRowContainer = ExtraRowContainer;
|
|
109
|
+
var Table_default = memoTable;
|
|
110
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/Table/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { memo, useMemo } from \"react\";\nimport styled from \"styled-components\";\nimport { border, BorderProps, gridColumn, GridColumnProps } from \"styled-system\";\nimport Grid, { Props as GridProps } from \"../layout/Grid\";\nimport Flex from \"../layout/Flex\";\nimport * as Columns from \"./Columns\";\nimport type { Column } from \"./Columns\";\nimport { BaseStyledProps } from \"../styled\";\nexport type { Column };\n\nexport interface ContainerExtraProps extends BorderProps, BaseStyledProps {}\nexport interface ContainerProps extends ContainerExtraProps, GridProps {}\nconst Container = styled(Grid)<ContainerExtraProps>`\n ${border}\n`;\n\nexport const ExtraRowContainer = styled.div.attrs({ gridColumn: \"1 / -1\" })<GridColumnProps>`\n ${gridColumn}\n`;\n\nexport type RowContainerProps = { rowIndex: number };\nexport const RowContainer = styled(Flex)<RowContainerProps>`\n display: contents;\n`;\n\ninterface CommonProps<T> {\n /** Table data */\n data: T[];\n /** Columns used to render table cells and headers. */\n columns: Column<T>[];\n /**\n * An optional rendering function that will get called after each row render.\n * Can be used to display additional rows and columns dynamically.\n */\n extraRender?: (elt: T, index: number) => React.ReactNode;\n /**\n * A render function that can be used to wrap each row of the table inside an custom element.\n */\n renderRow?: (rowIndex: number, children: React.ReactNode) => React.ReactNode;\n}\n\nexport interface Props<T> extends CommonProps<T>, Omit<ContainerProps, \"columns\" | \"color\"> {\n /**\n * Renders headers if set to true.\n */\n withHeaders?: boolean;\n}\n\nexport interface RowProps<T> extends CommonProps<T> {\n render?: (args: {\n column: Column<T>;\n rowIndex: number;\n columnIndex: number;\n children: React.ReactNode;\n }) => React.ReactNode;\n}\n\nfunction RowsComponent<T>({\n data,\n columns,\n render,\n extraRender,\n renderRow,\n}: RowProps<T>): JSX.Element {\n return (\n <React.Fragment key=\"row-component\">\n {data.map((elt, rowIndex) => {\n const row = (\n <>\n {columns.map((column, columnIndex) => (\n <React.Fragment key={`row-component-column-${rowIndex}${columnIndex}`}>\n {render\n ? render({\n column,\n rowIndex,\n columnIndex,\n children: column.render({ elt, rowIndex, columnIndex }),\n })\n : column.render({ elt, rowIndex, columnIndex })}\n </React.Fragment>\n ))}\n {(extraRender && extraRender(elt, rowIndex)) || null}\n </>\n );\n\n if (renderRow) {\n return renderRow(rowIndex, row);\n } else {\n return <React.Fragment key={`row-component-row-${rowIndex}`}>{row}</React.Fragment>;\n }\n })}\n </React.Fragment>\n );\n}\nexport const Rows = memo(RowsComponent) as typeof RowsComponent;\n\nexport function Table<T>({\n data,\n columns,\n withHeaders,\n extraRender,\n renderRow,\n ...containerProps\n}: Props<T>): JSX.Element {\n const gridTemplateColumns = useMemo(\n () => columns.reduce<string>((acc, col) => `${acc} ${col.layout || \"auto\"}`, \"\"),\n [columns],\n );\n\n const headers = useMemo(\n () =>\n withHeaders\n ? columns.reduce<React.ReactNode[]>(\n (acc, col, index) => [\n ...acc,\n <React.Fragment key={`header-col-${index}`}>\n {col.header ? col.header() : <div />}\n </React.Fragment>,\n ],\n [],\n )\n : null,\n [withHeaders, columns],\n );\n\n return (\n <Container\n gridTemplateColumns={gridTemplateColumns}\n gridAutoRows=\"auto\"\n columns=\"none\"\n alignItems=\"center\"\n {...containerProps}\n >\n {headers}\n <Rows data={data} columns={columns} extraRender={extraRender} renderRow={renderRow} />\n </Container>\n );\n}\nTable.Columns = Columns;\nTable.ExtraRowContainer = ExtraRowContainer;\nTable.RowContainer = RowContainer;\n\nconst memoTable = memo(Table) as unknown as typeof Table;\nmemoTable.Columns = Columns;\nmemoTable.RowContainer = RowContainer;\nmemoTable.ExtraRowContainer = ExtraRowContainer;\n\nexport default memoTable;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqC;AACrC,+BAAmB;AACnB,2BAAiE;AACjE,kBAAyC;AACzC,kBAAiB;AACjB,cAAyB;AAOzB,MAAM,YAAY,sCAAO;AAAA,IACrB;AAAA;AAGG,MAAM,oBAAoB,iCAAO,IAAI,MAAM,EAAE,YAAY;AAAA,IAC5D;AAAA;AAIG,MAAM,eAAe,sCAAO;AAAA;AAAA;AAoCnC,uBAA0B;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,GAC2B;AAC3B,SACE,mDAAC,qBAAM,UAAP;AAAA,IAAgB,KAAI;AAAA,KACjB,KAAK,IAAI,CAAC,KAAK,aAAa;AAC3B,UAAM,MACJ,wFACG,QAAQ,IAAI,CAAC,QAAQ,gBACpB,mDAAC,qBAAM,UAAP;AAAA,MAAgB,KAAK,wBAAwB,WAAW;AAAA,OACrD,SACG,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,OAAO,OAAO,EAAE,KAAK,UAAU;AAAA,SAE3C,OAAO,OAAO,EAAE,KAAK,UAAU,kBAGrC,eAAe,YAAY,KAAK,aAAc;AAIpD,QAAI,WAAW;AACb,aAAO,UAAU,UAAU;AAAA,WACtB;AACL,aAAO,mDAAC,qBAAM,UAAP;AAAA,QAAgB,KAAK,qBAAqB;AAAA,SAAa;AAAA;AAAA;AAAA;AAMjE,MAAM,OAAO,uBAAK;AAElB,eAAkB;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AAAA,GACqB;AACxB,QAAM,sBAAsB,0BAC1B,MAAM,QAAQ,OAAe,CAAC,KAAK,QAAQ,GAAG,OAAO,IAAI,UAAU,UAAU,KAC7E,CAAC;AAGH,QAAM,UAAU,0BACd,MACE,cACI,QAAQ,OACN,CAAC,KAAK,KAAK,UAAU;AAAA,IACnB,GAAG;AAAA,IACH,mDAAC,qBAAM,UAAP;AAAA,MAAgB,KAAK,cAAc;AAAA,OAChC,IAAI,SAAS,IAAI,WAAW,mDAAC,OAAD;AAAA,KAGjC,MAEF,MACN,CAAC,aAAa;AAGhB,SACE,mDAAC,WAAD;AAAA,IACE;AAAA,IACA,cAAa;AAAA,IACb,SAAQ;AAAA,IACR,YAAW;AAAA,OACP;AAAA,KAEH,SACD,mDAAC,MAAD;AAAA,IAAM;AAAA,IAAY;AAAA,IAAkB;AAAA,IAA0B;AAAA;AAAA;AAIpE,MAAM,UAAU;AAChB,MAAM,oBAAoB;AAC1B,MAAM,eAAe;AAErB,MAAM,YAAY,uBAAK;AACvB,UAAU,UAAU;AACpB,UAAU,eAAe;AACzB,UAAU,oBAAoB;AAE9B,IAAO,gBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|