@conveyorhq/arrow-ds 2.0.0-beta.6 → 2.0.0-beta.7
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/package.json +28 -21
- package/public/components/Accordion/Accordion.d.ts +29 -17
- package/public/components/Accordion/Accordion.js +78 -56
- package/public/components/Accordion/context.d.ts +12 -0
- package/public/components/Accordion/context.js +30 -0
- package/public/components/Accordion/index.d.ts +1 -0
- package/public/components/Accordion/index.js +1 -0
- package/public/components/Accordion/types.d.ts +17 -0
- package/public/components/Accordion/types.js +2 -0
- package/public/components/Avatar/Avatar.d.ts +1 -1
- package/public/components/Avatar/AvatarGroup.d.ts +1 -1
- package/public/components/Avatar/AvatarGroup.js +11 -1
- package/public/components/Button/Button.d.ts +3 -2
- package/public/components/Button/Button.js +3 -0
- package/public/components/CloseButton/CloseButton.d.ts +1 -2
- package/public/components/ConveyorLogo/ConveyorLogo.js +1 -1
- package/public/components/Divider/Divider.d.ts +1 -9
- package/public/components/Divider/Divider.js +13 -24
- package/public/components/Drawer/Drawer.js +11 -9
- package/public/components/Flex/Flex.js +3 -4
- package/public/components/Grid/Grid.d.ts +2 -2
- package/public/components/Grid/Grid.js +9 -3
- package/public/components/Icon/Icon.d.ts +14 -0
- package/public/components/Icon/Icon.js +32 -2
- package/public/components/Icon/svg/ArrowToBottom.d.ts +2 -0
- package/public/components/Icon/svg/ArrowToBottom.js +14 -0
- package/public/components/Icon/svg/CommentAltCheck.d.ts +2 -0
- package/public/components/Icon/svg/CommentAltCheck.js +13 -0
- package/public/components/Icon/svg/index.d.ts +2 -0
- package/public/components/Icon/svg/index.js +2 -0
- package/public/components/Input/Input.d.ts +3 -2
- package/public/components/Input/Input.js +7 -6
- package/public/components/Loading/Loading.d.ts +3 -2
- package/public/components/Loading/Loading.js +4 -7
- package/public/components/Markdown/Markdown.d.ts +1 -1
- package/public/components/Markdown/Markdown.js +3 -3
- package/public/components/MarkdownEditor/MarkdownEditor.js +1 -2
- package/public/components/MarkdownEditor/MarkdownHelp.js +4 -7
- package/public/components/MenuRenderer/MenuRenderer.js +7 -4
- package/public/components/Modal/Modal.d.ts +6 -0
- package/public/components/Modal/Modal.js +29 -19
- package/public/components/Modal/context.d.ts +6 -0
- package/public/components/Modal/context.js +15 -0
- package/public/components/Modal/index.d.ts +1 -0
- package/public/components/Modal/index.js +1 -0
- package/public/components/OptionButton/OptionButton.d.ts +28 -1
- package/public/components/OptionButton/OptionButton.js +58 -11
- package/public/components/OptionButton/context.d.ts +11 -0
- package/public/components/OptionButton/context.js +16 -0
- package/public/components/Overlay/Overlay.js +2 -2
- package/public/components/Paragraph/Paragraph.js +3 -7
- package/public/components/Reference/Reference.d.ts +2 -2
- package/public/components/Select/Select.d.ts +1 -0
- package/public/components/Select/Select.js +12 -7
- package/public/components/Snackbar/Snackbar.d.ts +14 -22
- package/public/components/Snackbar/Snackbar.js +28 -85
- package/public/components/Snackbar/SnackbarProvider.d.ts +2 -0
- package/public/components/Snackbar/SnackbarProvider.js +21 -0
- package/public/components/Snackbar/constants.d.ts +2 -0
- package/public/components/Snackbar/constants.js +5 -0
- package/public/components/Snackbar/context.d.ts +4 -0
- package/public/components/Snackbar/context.js +17 -0
- package/public/components/Snackbar/helpers.d.ts +3 -0
- package/public/components/Snackbar/helpers.js +31 -0
- package/public/components/Snackbar/hooks.d.ts +2 -0
- package/public/components/Snackbar/hooks.js +47 -0
- package/public/components/Snackbar/index.d.ts +6 -0
- package/public/components/Snackbar/index.js +6 -0
- package/public/components/Snackbar/types.d.ts +43 -0
- package/public/components/Snackbar/types.js +2 -0
- package/public/components/SpeechBubble/SpeechBubble.d.ts +1 -0
- package/public/components/SpeechBubble/SpeechBubble.js +9 -2
- package/public/components/Table/Table.d.ts +5 -2
- package/public/components/Table/Table.js +11 -4
- package/public/components/Table/TableCell.d.ts +1 -0
- package/public/components/Table/TableCell.js +4 -2
- package/public/components/Table/TableHeaderCell.d.ts +2 -1
- package/public/components/Table/TableHeaderCell.js +24 -7
- package/public/components/Table/index.d.ts +3 -0
- package/public/components/Tag/Tag.d.ts +2 -2
- package/public/components/Toast/Toast.d.ts +3 -3
- package/public/components/Toast/Toast.js +6 -2
- package/public/css/styles.css +2550 -30950
- package/public/css/styles.min.css +1 -1
- package/public/css/styles.min.css.map +1 -1
- package/public/index.d.ts +0 -15
- package/public/index.js +0 -15
- package/public/storybook-components/ComponentHeading.js +3 -5
- package/public/storybook-components/ComponentStatus.d.ts +1 -0
- package/public/storybook-components/ComponentStatus.js +4 -0
- package/public/storybook-components/index.d.ts +1 -1
- package/public/storybook-components/index.js +1 -1
- package/public/style-dictionary/dist/tokens.css +377 -0
- package/public/style-dictionary/dist/tokens.d.ts +427 -0
- package/public/style-dictionary/dist/tokens.js +427 -0
- package/public/style-dictionary/dist/tokens.module.js +427 -0
- package/public/style-dictionary/src/border-radius.js +11 -0
- package/public/style-dictionary/src/border-width.js +10 -0
- package/public/style-dictionary/src/color.js +97 -0
- package/public/style-dictionary/src/font-size.js +15 -0
- package/public/style-dictionary/src/font-weight.js +7 -0
- package/public/style-dictionary/src/height.js +13 -0
- package/public/style-dictionary/src/leading.js +8 -0
- package/public/style-dictionary/src/screen-width.js +8 -0
- package/public/style-dictionary/src/shadow.js +19 -0
- package/public/style-dictionary/src/spacing.js +69 -0
- package/public/style-dictionary/src/tracking.js +7 -0
- package/public/style-dictionary/src/type.js +34 -0
- package/public/style-dictionary/src/width.js +32 -0
- package/public/style-dictionary/src/z-index.js +21 -0
- package/public/style-dictionary/tailwind.config.js +87 -0
- package/public/tokens/box-shadow.d.ts +1 -0
- package/public/tokens/box-shadow.js +1 -0
- package/public/tokens/font-family.js +1 -1
- package/public/tokens/height.d.ts +65 -43
- package/public/tokens/height.js +3 -44
- package/public/tokens/index.d.ts +526 -173
- package/public/tokens/index.js +1 -1
- package/public/tokens/margin.d.ts +129 -47
- package/public/tokens/margin.js +3 -47
- package/public/tokens/padding.d.ts +65 -24
- package/public/tokens/padding.js +2 -24
- package/public/tokens/sizing-scale.d.ts +133 -0
- package/public/tokens/sizing-scale.js +136 -0
- package/public/tokens/width.d.ts +197 -63
- package/public/tokens/width.js +6 -63
- package/public/types/index.d.ts +14 -2
- package/public/types/index.js +2 -4
- package/src/components/Accordion/Accordion.story.mdx +232 -22
- package/src/components/Accordion/Accordion.tsx +228 -117
- package/src/components/Accordion/context.ts +60 -0
- package/src/components/Accordion/index.css +0 -5
- package/src/components/Accordion/index.ts +1 -0
- package/src/components/Accordion/types.ts +55 -0
- package/src/components/Avatar/Avatar.story.mdx +60 -0
- package/src/components/Avatar/AvatarGroup.tsx +11 -9
- package/src/components/Avatar/index.css +8 -0
- package/src/components/Button/Button.story.mdx +116 -1
- package/src/components/Button/Button.tsx +10 -4
- package/src/components/Button/product.css +12 -0
- package/src/components/Card/Card.story.mdx +11 -36
- package/src/components/CloseButton/CloseButton.tsx +1 -1
- package/src/components/ConveyorLogo/ConveyorLogo.tsx +1 -0
- package/src/components/Divider/Divider.tsx +26 -40
- package/src/components/Divider/index.css +16 -0
- package/src/components/Drawer/Drawer.story.mdx +68 -70
- package/src/components/Drawer/Drawer.tsx +10 -9
- package/src/components/Drawer/index.css +26 -1
- package/src/components/Flex/Flex.story.mdx +130 -0
- package/src/components/Flex/Flex.tsx +7 -6
- package/src/components/Flex/index.css +3 -0
- package/src/components/Frame/Frame.story.mdx +7 -2
- package/src/components/Grid/Grid.story.mdx +205 -3
- package/src/components/Grid/Grid.tsx +44 -5
- package/src/components/Grid/index.css +3 -0
- package/src/components/Icon/Icon.tsx +60 -5
- package/src/components/Icon/svg/ArrowToBottom.tsx +17 -0
- package/src/components/Icon/svg/CommentAltCheck.tsx +13 -0
- package/src/components/Icon/svg/index.ts +2 -0
- package/src/components/Input/Input.story.mdx +199 -13
- package/src/components/Input/Input.tsx +39 -6
- package/src/components/Input/brand.css +7 -7
- package/src/components/Input/index.css +30 -0
- package/src/components/Input/product.css +12 -48
- package/src/components/Loading/Loading.story.mdx +16 -9
- package/src/components/Loading/Loading.tsx +17 -8
- package/src/components/Loading/index.css +1 -67
- package/src/components/Markdown/Markdown.story.mdx +67 -0
- package/src/components/Markdown/Markdown.tsx +3 -2
- package/src/components/MarkdownEditor/MarkdownEditor.tsx +2 -3
- package/src/components/MarkdownEditor/MarkdownHelp.tsx +7 -10
- package/src/components/MarkdownEditor/index.css +5 -1
- package/src/components/MenuRenderer/MenuRenderer.tsx +9 -7
- package/src/components/Modal/Modal.story.mdx +26 -0
- package/src/components/Modal/Modal.tsx +60 -42
- package/src/components/Modal/context.ts +20 -0
- package/src/components/Modal/index.ts +1 -0
- package/src/components/OptionButton/OptionButton.story.mdx +119 -20
- package/src/components/OptionButton/OptionButton.tsx +211 -23
- package/src/components/OptionButton/context.ts +22 -0
- package/src/components/OptionButton/index.css +1 -2
- package/src/components/Overlay/Overlay.tsx +2 -3
- package/src/components/Overlay/index.css +1 -0
- package/src/components/Paragraph/Paragraph.story.mdx +16 -2
- package/src/components/Paragraph/Paragraph.tsx +5 -13
- package/src/components/Paragraph/index.css +6 -0
- package/src/components/Popover/index.css +5 -6
- package/src/components/Reference/Reference.tsx +2 -2
- package/src/components/Select/Select.story.mdx +23 -10
- package/src/components/Select/Select.tsx +31 -6
- package/src/components/Snackbar/Snackbar.story.mdx +96 -9
- package/src/components/Snackbar/Snackbar.tsx +56 -145
- package/src/components/Snackbar/SnackbarProvider.tsx +31 -0
- package/src/components/Snackbar/constants.ts +2 -0
- package/src/components/Snackbar/context.ts +20 -0
- package/src/components/Snackbar/helpers.tsx +52 -0
- package/src/components/Snackbar/hooks.ts +57 -0
- package/src/components/Snackbar/index.ts +6 -0
- package/src/components/Snackbar/types.ts +180 -0
- package/src/components/SpeechBubble/SpeechBubble.story.mdx +76 -0
- package/src/components/SpeechBubble/SpeechBubble.tsx +22 -1
- package/src/components/SpeechBubble/index.css +7 -4
- package/src/components/Table/Table.story.mdx +243 -0
- package/src/components/Table/Table.tsx +36 -1
- package/src/components/Table/TableCell.tsx +24 -1
- package/src/components/Table/TableHeaderCell.tsx +64 -11
- package/src/components/Table/index.css +138 -10
- package/src/components/Table/index.ts +3 -0
- package/src/components/Tag/Tag.tsx +2 -2
- package/src/components/Toast/Toast.story.mdx +1 -1
- package/src/components/Toast/Toast.tsx +14 -10
- package/src/components/Toast/index.css +4 -2
- package/src/components/Toggle/index.css +2 -3
- package/src/css/base.css +6 -561
- package/src/css/components.css +4 -9
- package/src/css/fonts.css +13 -10
- package/src/css/styles.css +0 -1
- package/src/css/utilities/animations.css +13 -0
- package/src/docs/Typography.story.mdx +12 -9
- package/src/index.ts +0 -15
- package/src/storybook-components/ComponentHeading.tsx +4 -19
- package/src/storybook-components/ComponentStatus.tsx +4 -0
- package/src/storybook-components/index.tsx +1 -1
- package/src/tokens/box-shadow.ts +1 -0
- package/src/tokens/font-family.ts +1 -1
- package/src/tokens/height.ts +3 -44
- package/src/tokens/index.ts +2 -2
- package/src/tokens/margin.ts +4 -47
- package/src/tokens/padding.ts +3 -24
- package/src/tokens/sizing-scale.ts +134 -0
- package/src/tokens/width.ts +7 -63
- package/src/types/index.ts +34 -5
- package/public/components/Absolute/Absolute.d.ts +0 -2
- package/public/components/Absolute/Absolute.js +0 -14
- package/public/components/Absolute/index.d.ts +0 -1
- package/public/components/Absolute/index.js +0 -5
- package/public/components/Appbar/Appbar.d.ts +0 -40
- package/public/components/Appbar/Appbar.js +0 -29
- package/public/components/Appbar/AppbarLogo.d.ts +0 -2
- package/public/components/Appbar/AppbarLogo.js +0 -19
- package/public/components/Appbar/AppbarTabs.d.ts +0 -10
- package/public/components/Appbar/AppbarTabs.js +0 -42
- package/public/components/Appbar/AppbarUser.d.ts +0 -26
- package/public/components/Appbar/AppbarUser.js +0 -60
- package/public/components/Appbar/config.d.ts +0 -7
- package/public/components/Appbar/config.js +0 -13
- package/public/components/Appbar/index.d.ts +0 -1
- package/public/components/Appbar/index.js +0 -13
- package/public/components/ArrowButton/ArrowButton.d.ts +0 -9
- package/public/components/ArrowButton/ArrowButton.js +0 -22
- package/public/components/ArrowButton/index.d.ts +0 -1
- package/public/components/ArrowButton/index.js +0 -13
- package/public/components/ArrowLink/ArrowLink.d.ts +0 -9
- package/public/components/ArrowLink/ArrowLink.js +0 -21
- package/public/components/ArrowLink/index.d.ts +0 -1
- package/public/components/ArrowLink/index.js +0 -13
- package/public/components/Aside/Aside.d.ts +0 -14
- package/public/components/Aside/Aside.js +0 -28
- package/public/components/Aside/index.d.ts +0 -1
- package/public/components/Aside/index.js +0 -13
- package/public/components/Fixed/Fixed.d.ts +0 -2
- package/public/components/Fixed/Fixed.js +0 -14
- package/public/components/Fixed/Fixed.story.d.ts +0 -1
- package/public/components/Fixed/Fixed.story.js +0 -12
- package/public/components/Fixed/index.d.ts +0 -1
- package/public/components/Fixed/index.js +0 -5
- package/public/components/Flex/Flex.story.d.ts +0 -1
- package/public/components/Flex/Flex.story.js +0 -12
- package/public/components/IntegrationLogo/IntegrationLogo.d.ts +0 -10
- package/public/components/IntegrationLogo/IntegrationLogo.js +0 -33
- package/public/components/IntegrationLogo/IntegrationLogoSvg.d.ts +0 -9
- package/public/components/IntegrationLogo/IntegrationLogoSvg.js +0 -52
- package/public/components/IntegrationLogo/index.d.ts +0 -1
- package/public/components/IntegrationLogo/index.js +0 -13
- package/public/components/IntegrationLogo/svg/addigy.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/addigy.js +0 -17
- package/public/components/IntegrationLogo/svg/aws.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/aws.js +0 -22
- package/public/components/IntegrationLogo/svg/bamboohr.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/bamboohr.js +0 -18
- package/public/components/IntegrationLogo/svg/bitbucket.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/bitbucket.js +0 -18
- package/public/components/IntegrationLogo/svg/conveyor.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/conveyor.js +0 -20
- package/public/components/IntegrationLogo/svg/default.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/default.js +0 -13
- package/public/components/IntegrationLogo/svg/deploy.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/deploy.js +0 -17
- package/public/components/IntegrationLogo/svg/events-api.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/events-api.js +0 -26
- package/public/components/IntegrationLogo/svg/gcp.d.ts +0 -3
- package/public/components/IntegrationLogo/svg/gcp.js +0 -15
- package/public/components/IntegrationLogo/svg/github.d.ts +0 -3
- package/public/components/IntegrationLogo/svg/github.js +0 -12
- package/public/components/IntegrationLogo/svg/gitlab.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/gitlab.js +0 -19
- package/public/components/IntegrationLogo/svg/gsuite.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/gsuite.js +0 -15
- package/public/components/IntegrationLogo/svg/index.d.ts +0 -21
- package/public/components/IntegrationLogo/svg/index.js +0 -54
- package/public/components/IntegrationLogo/svg/jamf.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/jamf.js +0 -20
- package/public/components/IntegrationLogo/svg/jira.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/jira.js +0 -21
- package/public/components/IntegrationLogo/svg/jumpcloud.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/jumpcloud.js +0 -28
- package/public/components/IntegrationLogo/svg/okta.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/okta.js +0 -16
- package/public/components/IntegrationLogo/svg/onelogin.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/onelogin.js +0 -18
- package/public/components/IntegrationLogo/svg/salesforce.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/salesforce.js +0 -20
- package/public/components/IntegrationLogo/svg/slack.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/slack.js +0 -19
- package/public/components/IntegrationLogo/svg/wrapper.d.ts +0 -11
- package/public/components/IntegrationLogo/svg/wrapper.js +0 -13
- package/public/components/IntegrationLogo/svg/zoom.d.ts +0 -2
- package/public/components/IntegrationLogo/svg/zoom.js +0 -23
- package/public/components/Meta/Meta.d.ts +0 -6
- package/public/components/Meta/Meta.js +0 -21
- package/public/components/Meta/Meta.story.d.ts +0 -1
- package/public/components/Meta/Meta.story.js +0 -39
- package/public/components/Meta/index.d.ts +0 -1
- package/public/components/Meta/index.js +0 -5
- package/public/components/PropertyDiff/PropertyDiff.d.ts +0 -7
- package/public/components/PropertyDiff/PropertyDiff.js +0 -22
- package/public/components/PropertyDiff/index.d.ts +0 -1
- package/public/components/PropertyDiff/index.js +0 -13
- package/public/components/Relative/Relative.d.ts +0 -2
- package/public/components/Relative/Relative.js +0 -14
- package/public/components/Relative/Relative.story.d.ts +0 -1
- package/public/components/Relative/Relative.story.js +0 -12
- package/public/components/Relative/index.d.ts +0 -1
- package/public/components/Relative/index.js +0 -5
- package/public/components/SpeechBubble/SpeechBubble.story.d.ts +0 -1
- package/public/components/SpeechBubble/SpeechBubble.story.js +0 -19
- package/public/components/StatusLabel/StatusLabel.d.ts +0 -16
- package/public/components/StatusLabel/StatusLabel.js +0 -40
- package/public/components/StatusLabel/index.d.ts +0 -1
- package/public/components/StatusLabel/index.js +0 -13
- package/public/components/StatusPanel/StatusPanel.d.ts +0 -11
- package/public/components/StatusPanel/StatusPanel.js +0 -24
- package/public/components/StatusPanel/index.d.ts +0 -1
- package/public/components/StatusPanel/index.js +0 -13
- package/public/components/Sticky/Sticky.d.ts +0 -2
- package/public/components/Sticky/Sticky.js +0 -14
- package/public/components/Sticky/Sticky.story.d.ts +0 -1
- package/public/components/Sticky/Sticky.story.js +0 -12
- package/public/components/Sticky/index.d.ts +0 -1
- package/public/components/Sticky/index.js +0 -5
- package/public/components/TopBar/TopBar.d.ts +0 -14
- package/public/components/TopBar/TopBar.js +0 -24
- package/public/components/TopBar/TopBarBreadcrumbs.d.ts +0 -10
- package/public/components/TopBar/TopBarBreadcrumbs.js +0 -34
- package/public/components/TopBar/TopBarSubNav.d.ts +0 -2
- package/public/components/TopBar/TopBarSubNav.js +0 -16
- package/public/components/TopBar/TopBarSubNavItem.d.ts +0 -5
- package/public/components/TopBar/TopBarSubNavItem.js +0 -17
- package/public/components/TopBar/index.d.ts +0 -1
- package/public/components/TopBar/index.js +0 -13
- package/public/components/VendorLogo/VendorLogo.d.ts +0 -20
- package/public/components/VendorLogo/VendorLogo.js +0 -57
- package/public/components/VendorLogo/index.d.ts +0 -1
- package/public/components/VendorLogo/index.js +0 -13
- package/public/storybook-components/TailwindPropertyClasses.d.ts +0 -9
- package/public/storybook-components/TailwindPropertyClasses.js +0 -194
- package/public/tailwind.config.d.ts +0 -1
- package/public/tailwind.config.js +0 -4
- package/public/tokens/_tailwind-config.d.ts +0 -810
- package/public/tokens/_tailwind-config.js +0 -50
- package/src/components/Absolute/Absolute.story.mdx +0 -26
- package/src/components/Absolute/Absolute.tsx +0 -9
- package/src/components/Absolute/index.ts +0 -1
- package/src/components/Appbar/Appbar.story.mdx +0 -118
- package/src/components/Appbar/Appbar.tsx +0 -64
- package/src/components/Appbar/AppbarLogo.tsx +0 -29
- package/src/components/Appbar/AppbarTabs.tsx +0 -47
- package/src/components/Appbar/AppbarUser.tsx +0 -144
- package/src/components/Appbar/config.ts +0 -12
- package/src/components/Appbar/index.css +0 -203
- package/src/components/Appbar/index.ts +0 -1
- package/src/components/ArrowButton/ArrowButton.story.mdx +0 -110
- package/src/components/ArrowButton/ArrowButton.tsx +0 -54
- package/src/components/ArrowButton/index.css +0 -42
- package/src/components/ArrowButton/index.ts +0 -1
- package/src/components/ArrowLink/ArrowLink.story.mdx +0 -65
- package/src/components/ArrowLink/ArrowLink.tsx +0 -42
- package/src/components/ArrowLink/index.ts +0 -1
- package/src/components/Aside/Aside.story.mdx +0 -65
- package/src/components/Aside/Aside.tsx +0 -59
- package/src/components/Aside/index.css +0 -11
- package/src/components/Aside/index.ts +0 -1
- package/src/components/Fixed/Fixed.md +0 -16
- package/src/components/Fixed/Fixed.story.tsx +0 -12
- package/src/components/Fixed/Fixed.tsx +0 -9
- package/src/components/Fixed/index.ts +0 -1
- package/src/components/Flex/Flex.md +0 -14
- package/src/components/Flex/Flex.story.tsx +0 -12
- package/src/components/IntegrationLogo/IntegrationLogo.story.mdx +0 -159
- package/src/components/IntegrationLogo/IntegrationLogo.tsx +0 -54
- package/src/components/IntegrationLogo/IntegrationLogoSvg.tsx +0 -79
- package/src/components/IntegrationLogo/index.ts +0 -1
- package/src/components/IntegrationLogo/svg/addigy.tsx +0 -23
- package/src/components/IntegrationLogo/svg/aws.tsx +0 -52
- package/src/components/IntegrationLogo/svg/bamboohr.tsx +0 -34
- package/src/components/IntegrationLogo/svg/bitbucket.tsx +0 -37
- package/src/components/IntegrationLogo/svg/conveyor.tsx +0 -41
- package/src/components/IntegrationLogo/svg/default.tsx +0 -11
- package/src/components/IntegrationLogo/svg/deploy.tsx +0 -29
- package/src/components/IntegrationLogo/svg/events-api.tsx +0 -75
- package/src/components/IntegrationLogo/svg/gcp.tsx +0 -26
- package/src/components/IntegrationLogo/svg/github.tsx +0 -14
- package/src/components/IntegrationLogo/svg/gitlab.tsx +0 -40
- package/src/components/IntegrationLogo/svg/gsuite.tsx +0 -24
- package/src/components/IntegrationLogo/svg/index.ts +0 -21
- package/src/components/IntegrationLogo/svg/jamf.tsx +0 -36
- package/src/components/IntegrationLogo/svg/jira.tsx +0 -44
- package/src/components/IntegrationLogo/svg/jumpcloud.tsx +0 -86
- package/src/components/IntegrationLogo/svg/okta.tsx +0 -28
- package/src/components/IntegrationLogo/svg/onelogin.tsx +0 -34
- package/src/components/IntegrationLogo/svg/salesforce.tsx +0 -39
- package/src/components/IntegrationLogo/svg/slack.tsx +0 -40
- package/src/components/IntegrationLogo/svg/wrapper.tsx +0 -35
- package/src/components/IntegrationLogo/svg/zoom.tsx +0 -51
- package/src/components/Meta/Meta.md +0 -14
- package/src/components/Meta/Meta.story.tsx +0 -24
- package/src/components/Meta/Meta.tsx +0 -26
- package/src/components/Meta/index.ts +0 -1
- package/src/components/PropertyDiff/PropertDiff.story.mdx +0 -46
- package/src/components/PropertyDiff/PropertyDiff.tsx +0 -48
- package/src/components/PropertyDiff/index.css +0 -33
- package/src/components/PropertyDiff/index.ts +0 -1
- package/src/components/Relative/Relative.md +0 -16
- package/src/components/Relative/Relative.story.tsx +0 -12
- package/src/components/Relative/Relative.tsx +0 -9
- package/src/components/Relative/index.ts +0 -1
- package/src/components/SpeechBubble/SpeechBubble.md +0 -14
- package/src/components/SpeechBubble/SpeechBubble.story.tsx +0 -26
- package/src/components/StatusLabel/StatusLabel.story.mdx +0 -316
- package/src/components/StatusLabel/StatusLabel.tsx +0 -112
- package/src/components/StatusLabel/index.css +0 -23
- package/src/components/StatusLabel/index.ts +0 -1
- package/src/components/StatusPanel/StatusPanel.story.mdx +0 -109
- package/src/components/StatusPanel/StatusPanel.tsx +0 -51
- package/src/components/StatusPanel/index.css +0 -52
- package/src/components/StatusPanel/index.ts +0 -1
- package/src/components/Sticky/Sticky.md +0 -16
- package/src/components/Sticky/Sticky.story.tsx +0 -12
- package/src/components/Sticky/Sticky.tsx +0 -9
- package/src/components/Sticky/index.ts +0 -1
- package/src/components/TopBar/TopBar.story.mdx +0 -154
- package/src/components/TopBar/TopBar.tsx +0 -40
- package/src/components/TopBar/TopBarBreadcrumbs.tsx +0 -79
- package/src/components/TopBar/TopBarSubNav.tsx +0 -19
- package/src/components/TopBar/TopBarSubNavItem.tsx +0 -21
- package/src/components/TopBar/index.css +0 -102
- package/src/components/TopBar/index.ts +0 -1
- package/src/components/VendorLogo/VendorLogo.story.mdx +0 -209
- package/src/components/VendorLogo/VendorLogo.tsx +0 -110
- package/src/components/VendorLogo/index.css +0 -46
- package/src/components/VendorLogo/index.ts +0 -1
- package/src/docs/TailwindClasses.story.mdx +0 -15
- package/src/docs/brand-components/BrandButton.story.mdx +0 -103
- package/src/docs/brand-components/BrandCheckbox.story.mdx +0 -63
- package/src/docs/brand-components/BrandFormGroup.story.mdx +0 -76
- package/src/docs/brand-components/BrandInput.story.mdx +0 -41
- package/src/docs/brand-components/BrandRadio.story.mdx +0 -45
- package/src/docs/brand-components/BrandTextArea.story.mdx +0 -41
- package/src/storybook-components/TailwindPropertyClasses.tsx +0 -285
- package/src/tailwind.config.ts +0 -6
- package/src/tokens/_tailwind-config.ts +0 -69
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Action,
|
|
3
|
+
RequiredToasterProps,
|
|
4
|
+
ToasterPositionOptions,
|
|
5
|
+
} from "../../types";
|
|
6
|
+
import { BoxProps } from "../Box";
|
|
7
|
+
import { IconType } from "../Icon";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Redefines RequiredToasterProps for Snackbar’s instance
|
|
11
|
+
*/
|
|
12
|
+
export type SnackbarToasterProps = RequiredToasterProps;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The positioning options are a subset that are supported by Toaster; addtional
|
|
16
|
+
* options may be added as needed
|
|
17
|
+
*/
|
|
18
|
+
type SnackbarPosition = Extract<
|
|
19
|
+
ToasterPositionOptions,
|
|
20
|
+
"bottom-left" | "bottom-right"
|
|
21
|
+
>;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Props that are shared between all implementations of the Snackbar
|
|
25
|
+
*/
|
|
26
|
+
type SnackbarSharedProps = {
|
|
27
|
+
/**
|
|
28
|
+
* Position of the snackbar in relation to the browser window
|
|
29
|
+
*/
|
|
30
|
+
position?: SnackbarPosition;
|
|
31
|
+
/**
|
|
32
|
+
* The amount of time (in milliseconds) the snackbar appears on-screen. If
|
|
33
|
+
* undefined, then the Snackbar will stay on-screen indefinitely. An undefined
|
|
34
|
+
* duration would be used in cases when the Snackbar is used as a loading
|
|
35
|
+
* message (e.g., an in progress API call).
|
|
36
|
+
*/
|
|
37
|
+
duration?: number | null;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Defines the type for a custom Snackbar component
|
|
42
|
+
*/
|
|
43
|
+
type SnackbarWithComponentProps = {
|
|
44
|
+
/**
|
|
45
|
+
* Component to render as the Snackbar
|
|
46
|
+
*/
|
|
47
|
+
component: React.ReactNode;
|
|
48
|
+
message?: never;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Defines the type for the default Snackbar which requires a message string
|
|
53
|
+
*/
|
|
54
|
+
type SnackbarWithMessageProps = {
|
|
55
|
+
/**
|
|
56
|
+
* The message shown in the Snackbar; ideally short and succinct
|
|
57
|
+
*/
|
|
58
|
+
message: React.ReactNode;
|
|
59
|
+
component?: never;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Defines the type which determines if a Snackbar is visible
|
|
64
|
+
*/
|
|
65
|
+
type SnackbarIsVisibleProp = {
|
|
66
|
+
isVisible: boolean;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Additional props for the Snackbar component
|
|
71
|
+
*/
|
|
72
|
+
type SnackbarOtherProps = {
|
|
73
|
+
/**
|
|
74
|
+
* Adds an action next to the message
|
|
75
|
+
*/
|
|
76
|
+
action?: Action;
|
|
77
|
+
/**
|
|
78
|
+
* When a loading icon is detected, it will automatically spin.
|
|
79
|
+
*
|
|
80
|
+
* Sizing is handled automatically, too.
|
|
81
|
+
*/
|
|
82
|
+
icon?: IconType;
|
|
83
|
+
/**
|
|
84
|
+
* Prevent the close button from rendering. Useful in cases when the Snackbar
|
|
85
|
+
* is used as a loading message (e.g., an in progress API call).
|
|
86
|
+
*/
|
|
87
|
+
disableClose?: boolean;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Snackbar component props
|
|
92
|
+
*/
|
|
93
|
+
export type SnackbarProps = Omit<SnackbarWithMessageProps, "component"> &
|
|
94
|
+
SnackbarOtherProps &
|
|
95
|
+
SnackbarSharedProps &
|
|
96
|
+
BoxProps;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Snackbar.Root component props
|
|
100
|
+
*/
|
|
101
|
+
export type SnackbarRootProps = BoxProps;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Snackbar.Icon component props
|
|
105
|
+
*/
|
|
106
|
+
export type SnackbarIconProps = Pick<SnackbarOtherProps, "icon">;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Snackbar.Text component props
|
|
110
|
+
*/
|
|
111
|
+
export type SnackbarTextProps = { children: React.ReactNode };
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Snackbar state props
|
|
115
|
+
*/
|
|
116
|
+
export type SnackbarStateProps = Pick<SnackbarToasterProps, "id"> &
|
|
117
|
+
Pick<SnackbarSharedProps, "position">;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Snackbar context props
|
|
121
|
+
*/
|
|
122
|
+
export type SnackbarContextProps = SnackbarToasterProps & SnackbarSharedProps;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Snackbar provider props
|
|
126
|
+
*/
|
|
127
|
+
export type SnackbarProviderProps = SnackbarToasterProps &
|
|
128
|
+
SnackbarSharedProps &
|
|
129
|
+
Omit<SnackbarWithComponentProps, "message">;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Defines the type for showing a Snackbar using the default component, which
|
|
133
|
+
* requires a message and includes optional other props
|
|
134
|
+
*/
|
|
135
|
+
type ShowSnackbarWithMessageProps = SnackbarWithMessageProps &
|
|
136
|
+
SnackbarOtherProps &
|
|
137
|
+
SnackbarSharedProps &
|
|
138
|
+
BoxProps;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Defines the type for showing a Snackbar with a custom component
|
|
142
|
+
*/
|
|
143
|
+
type ShowSnackbarWithComponentProps = SnackbarWithComponentProps &
|
|
144
|
+
SnackbarSharedProps;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Defines the type for the showSnackbar helper
|
|
148
|
+
*/
|
|
149
|
+
export type ShowSnackbarProps =
|
|
150
|
+
| ShowSnackbarWithMessageProps
|
|
151
|
+
| ShowSnackbarWithComponentProps;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Redefines SnackbarStateProps for the hideSnackbar helper
|
|
155
|
+
*/
|
|
156
|
+
export type HideSnackbarProps = SnackbarStateProps;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Defines the type for the hook to show a Snackbar using the default component,
|
|
160
|
+
* which requires a message and includes optional other props
|
|
161
|
+
*/
|
|
162
|
+
type SnackbarWithMessageHookProps = SnackbarWithMessageProps &
|
|
163
|
+
SnackbarOtherProps &
|
|
164
|
+
SnackbarSharedProps &
|
|
165
|
+
SnackbarIsVisibleProp &
|
|
166
|
+
BoxProps;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Defines the type for the hook to showi a Snackbar with a custom component
|
|
170
|
+
*/
|
|
171
|
+
type SnackbarWithComponentHookProps = SnackbarWithComponentProps &
|
|
172
|
+
SnackbarSharedProps &
|
|
173
|
+
SnackbarIsVisibleProp;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Defines the type for the useSnackbar hook
|
|
177
|
+
*/
|
|
178
|
+
export type SnackbarHookProps =
|
|
179
|
+
| SnackbarWithMessageHookProps
|
|
180
|
+
| SnackbarWithComponentHookProps;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Meta,
|
|
3
|
+
Preview,
|
|
4
|
+
Props,
|
|
5
|
+
Story,
|
|
6
|
+
SourceState,
|
|
7
|
+
} from "@storybook/addon-docs/blocks";
|
|
8
|
+
import { Stack, ORIENTATION } from "../..";
|
|
9
|
+
import { ComponentHeading } from "../../storybook-components";
|
|
10
|
+
import { SpeechBubble } from "./SpeechBubble";
|
|
11
|
+
|
|
12
|
+
export const placementOptions = [
|
|
13
|
+
"top-start",
|
|
14
|
+
"top-end",
|
|
15
|
+
"bottom-start",
|
|
16
|
+
"bottom-end",
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
<Meta title="Components/Data/Speech Bubble" component={SpeechBubble} />
|
|
20
|
+
|
|
21
|
+
<ComponentHeading
|
|
22
|
+
componentName="Speech Bubble"
|
|
23
|
+
description=""
|
|
24
|
+
sourcePath="src/components/SpeechBubble/SpeechBubble.tsx"
|
|
25
|
+
/>
|
|
26
|
+
|
|
27
|
+
Displays text in a box styled to look like a speech bubble. Ideally used for
|
|
28
|
+
comments or quotes. It should not be used for general text.
|
|
29
|
+
|
|
30
|
+
```jsx
|
|
31
|
+
import { SpeechBubble } from "@conveyorhq/arrow-ds";
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
<Preview withSource={SourceState.OPEN}>
|
|
35
|
+
<Story name="SpeechBubble">
|
|
36
|
+
<SpeechBubble>This is the SpeechBubble component</SpeechBubble>
|
|
37
|
+
</Story>
|
|
38
|
+
</Preview>
|
|
39
|
+
|
|
40
|
+
## Props
|
|
41
|
+
|
|
42
|
+
<Props of={SpeechBubble} />
|
|
43
|
+
|
|
44
|
+
## Demos
|
|
45
|
+
|
|
46
|
+
### Setting the placement of the arrow
|
|
47
|
+
|
|
48
|
+
Each speech bubble can have its arrow positioned on one of the corners. If
|
|
49
|
+
placement is not set explicitly, then the arrow will be positioned top-left.
|
|
50
|
+
|
|
51
|
+
<Preview withSource={SourceState.OPEN}>
|
|
52
|
+
<Story name="SpeechBubble placement">
|
|
53
|
+
<Stack className="w-full" orientation={ORIENTATION.VERTICAL} spacing={8}>
|
|
54
|
+
{placementOptions.map((placement) => (
|
|
55
|
+
<SpeechBubble placement={placement} key={placement}>
|
|
56
|
+
Placement: {placement}
|
|
57
|
+
</SpeechBubble>
|
|
58
|
+
))}
|
|
59
|
+
</Stack>
|
|
60
|
+
</Story>
|
|
61
|
+
</Preview>
|
|
62
|
+
|
|
63
|
+
### Using custom styles
|
|
64
|
+
|
|
65
|
+
An example to show how the styles of the speech bubble can be changed.
|
|
66
|
+
|
|
67
|
+
<Preview withSource={SourceState.OPEN}>
|
|
68
|
+
<Story name="SpeechBubble styles">
|
|
69
|
+
<SpeechBubble
|
|
70
|
+
className="w-56 bg-caution p-4 text-h4 text-black"
|
|
71
|
+
placement="top-start"
|
|
72
|
+
>
|
|
73
|
+
Styles are different
|
|
74
|
+
</SpeechBubble>
|
|
75
|
+
</Story>
|
|
76
|
+
</Preview>
|
|
@@ -12,20 +12,41 @@ export type SpeechBubblePlacement =
|
|
|
12
12
|
| "bottom-end";
|
|
13
13
|
|
|
14
14
|
export interface SpeechBubbleProps extends BoxProps {
|
|
15
|
+
/**
|
|
16
|
+
* data-placement attribute is deprecated, use placement instead
|
|
17
|
+
*/
|
|
15
18
|
"data-placement"?: SpeechBubblePlacement;
|
|
19
|
+
/**
|
|
20
|
+
* Tell the speech bubble where to place the arrow
|
|
21
|
+
*/
|
|
22
|
+
placement?: SpeechBubblePlacement;
|
|
16
23
|
}
|
|
17
24
|
|
|
18
25
|
export const SpeechBubble = (props: SpeechBubbleProps) => {
|
|
19
26
|
const {
|
|
20
27
|
"data-placement": dataPlacement = "top-start",
|
|
28
|
+
placement,
|
|
21
29
|
className,
|
|
22
30
|
...rest
|
|
23
31
|
} = props;
|
|
24
32
|
|
|
33
|
+
const ref = React.useRef<HTMLDivElement>(null);
|
|
34
|
+
|
|
35
|
+
React.useLayoutEffect(() => {
|
|
36
|
+
if (ref.current) {
|
|
37
|
+
const style = window.getComputedStyle(ref.current);
|
|
38
|
+
ref.current.style.setProperty(
|
|
39
|
+
"--ads-speech-bubble-bg",
|
|
40
|
+
style.backgroundColor,
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}, [ref]);
|
|
44
|
+
|
|
25
45
|
return (
|
|
26
46
|
<Box
|
|
47
|
+
ref={ref}
|
|
27
48
|
className={classNames(bem(cn), className)}
|
|
28
|
-
data-placement={dataPlacement}
|
|
49
|
+
data-placement={placement || dataPlacement}
|
|
29
50
|
{...rest}
|
|
30
51
|
/>
|
|
31
52
|
);
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
.ads-SpeechBubble {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
--ads-speech-bubble-bg: theme("colors.gray.200");
|
|
3
|
+
|
|
4
|
+
@apply rounded
|
|
4
5
|
p-2
|
|
5
6
|
text-gray-700
|
|
6
7
|
text-h5
|
|
7
8
|
relative;
|
|
9
|
+
|
|
10
|
+
background-color: var(--ads-speech-bubble-bg);
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
.ads-SpeechBubble::after {
|
|
@@ -16,12 +19,12 @@
|
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
.ads-SpeechBubble[data-placement*="top"]::after {
|
|
19
|
-
border-bottom: 8px solid
|
|
22
|
+
border-bottom: 8px solid var(--ads-speech-bubble-bg);
|
|
20
23
|
top: -8px;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
.ads-SpeechBubble[data-placement*="bottom"]::after {
|
|
24
|
-
border-top: 8px solid
|
|
27
|
+
border-top: 8px solid var(--ads-speech-bubble-bg);
|
|
25
28
|
bottom: -8px;
|
|
26
29
|
}
|
|
27
30
|
|
|
@@ -6,6 +6,8 @@ import { SORT_DIRECTION } from "./TableContext";
|
|
|
6
6
|
import { Box } from "../Box";
|
|
7
7
|
import { Checkbox } from "../Checkbox";
|
|
8
8
|
import { ScrollPane } from "../ScrollPane";
|
|
9
|
+
import { STATUS_VARIANT } from "../../types";
|
|
10
|
+
import { Banner } from "../Banner";
|
|
9
11
|
import { Button, BUTTON_VARIANT } from "../Button";
|
|
10
12
|
import { ICON_TYPE } from "../Icon";
|
|
11
13
|
|
|
@@ -545,6 +547,123 @@ This example shows how to include a sticky checkbox column to use when batch act
|
|
|
545
547
|
</Story>
|
|
546
548
|
</Preview>
|
|
547
549
|
|
|
550
|
+
### Space Rows
|
|
551
|
+
|
|
552
|
+
<Preview>
|
|
553
|
+
<Story name="Space Rows">
|
|
554
|
+
{() => {
|
|
555
|
+
const useBatchSelect = (data) => {
|
|
556
|
+
const [selectedItems, setSelectedItems] = React.useState(new Set());
|
|
557
|
+
const clearAll = () => {
|
|
558
|
+
setSelectedItems(new Set());
|
|
559
|
+
};
|
|
560
|
+
const selectAll = () => {
|
|
561
|
+
if (data.length === selectedItems.size) {
|
|
562
|
+
setSelectedItems(new Set());
|
|
563
|
+
} else {
|
|
564
|
+
setSelectedItems(new Set(data.map((d) => d.id)));
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
const onSelect = (...args) => {
|
|
568
|
+
const newSet = new Set(selectedItems);
|
|
569
|
+
args.forEach((id) => {
|
|
570
|
+
if (selectedItems.has(id)) {
|
|
571
|
+
newSet.delete(id);
|
|
572
|
+
} else {
|
|
573
|
+
newSet.add(id);
|
|
574
|
+
}
|
|
575
|
+
});
|
|
576
|
+
setSelectedItems(newSet);
|
|
577
|
+
};
|
|
578
|
+
return {
|
|
579
|
+
selectedItems,
|
|
580
|
+
clearAll,
|
|
581
|
+
selectAll,
|
|
582
|
+
onSelect,
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
const data = "abcdefgh".split("").map((id) => ({ id }));
|
|
586
|
+
const { selectedItems, onSelect, clearAll, selectAll } = useBatchSelect(
|
|
587
|
+
data,
|
|
588
|
+
);
|
|
589
|
+
const totalItems = data.length;
|
|
590
|
+
const Row = ({ id, selected }) => {
|
|
591
|
+
return (
|
|
592
|
+
<Table.Row selected={selected}>
|
|
593
|
+
<Table.Cell>
|
|
594
|
+
<Checkbox onClick={() => onSelect(id)} checked={selected} />
|
|
595
|
+
</Table.Cell>
|
|
596
|
+
<Table.Cell>I am Fixed!</Table.Cell>
|
|
597
|
+
<Table.Cell>unfixed data</Table.Cell>
|
|
598
|
+
<Table.Cell>unfixed data</Table.Cell>
|
|
599
|
+
<Table.Cell>unfixed data</Table.Cell>
|
|
600
|
+
<Table.Cell>unfixed data</Table.Cell>
|
|
601
|
+
<Table.Cell>unfixed data</Table.Cell>
|
|
602
|
+
</Table.Row>
|
|
603
|
+
);
|
|
604
|
+
};
|
|
605
|
+
return (
|
|
606
|
+
<Box className="h-64 bg-gray-100 p-5">
|
|
607
|
+
<ScrollPane>
|
|
608
|
+
<Table hasBatchActions spaceRows affixHeader>
|
|
609
|
+
<Table.Head>
|
|
610
|
+
<Table.Row>
|
|
611
|
+
<Table.HeaderCell
|
|
612
|
+
sortable={false}
|
|
613
|
+
shrinkToContent
|
|
614
|
+
removeVerticalPadding
|
|
615
|
+
>
|
|
616
|
+
<Checkbox
|
|
617
|
+
onClick={() => {
|
|
618
|
+
if (selectedItems === totalItems) {
|
|
619
|
+
clearAll();
|
|
620
|
+
} else {
|
|
621
|
+
selectAll();
|
|
622
|
+
}
|
|
623
|
+
}}
|
|
624
|
+
checked={selectedItems.size === totalItems}
|
|
625
|
+
/>
|
|
626
|
+
</Table.HeaderCell>
|
|
627
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
628
|
+
#1 Fixed 125px
|
|
629
|
+
</Table.HeaderCell>
|
|
630
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
631
|
+
#2
|
|
632
|
+
</Table.HeaderCell>
|
|
633
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
634
|
+
#3
|
|
635
|
+
</Table.HeaderCell>
|
|
636
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
637
|
+
#4
|
|
638
|
+
</Table.HeaderCell>
|
|
639
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
640
|
+
#5
|
|
641
|
+
</Table.HeaderCell>
|
|
642
|
+
<Table.HeaderCell sortable={false} minColumnWidth="125px">
|
|
643
|
+
#6
|
|
644
|
+
</Table.HeaderCell>
|
|
645
|
+
</Table.Row>
|
|
646
|
+
</Table.Head>
|
|
647
|
+
<Table.Body>
|
|
648
|
+
{data.map((item) => {
|
|
649
|
+
return (
|
|
650
|
+
<Row
|
|
651
|
+
id={item.id}
|
|
652
|
+
key={item.id}
|
|
653
|
+
selected={selectedItems.has(item.id)}
|
|
654
|
+
onSelect={onSelect}
|
|
655
|
+
/>
|
|
656
|
+
);
|
|
657
|
+
})}
|
|
658
|
+
</Table.Body>
|
|
659
|
+
</Table>
|
|
660
|
+
</ScrollPane>
|
|
661
|
+
</Box>
|
|
662
|
+
);
|
|
663
|
+
}}
|
|
664
|
+
</Story>
|
|
665
|
+
</Preview>
|
|
666
|
+
|
|
548
667
|
### With column widths
|
|
549
668
|
|
|
550
669
|
<Preview>
|
|
@@ -818,3 +937,127 @@ For the table to scroll, it must be wrapped with a ScrollPane.
|
|
|
818
937
|
</Table>
|
|
819
938
|
</Story>
|
|
820
939
|
</Preview>
|
|
940
|
+
|
|
941
|
+
### With aligned headers
|
|
942
|
+
|
|
943
|
+
The header cells can be aligned left, center or right.
|
|
944
|
+
|
|
945
|
+
<Preview>
|
|
946
|
+
<Story name="Table with aligned headers">
|
|
947
|
+
<Table outerBorder>
|
|
948
|
+
<Table.Head>
|
|
949
|
+
<Table.Row>
|
|
950
|
+
<Table.HeaderCell align="left" sortable={false}>
|
|
951
|
+
ID
|
|
952
|
+
</Table.HeaderCell>
|
|
953
|
+
<Table.HeaderCell align="center" sortable={false}>
|
|
954
|
+
Name
|
|
955
|
+
</Table.HeaderCell>
|
|
956
|
+
<Table.HeaderCell align="right" sortable={false}>
|
|
957
|
+
Email
|
|
958
|
+
</Table.HeaderCell>
|
|
959
|
+
</Table.Row>
|
|
960
|
+
</Table.Head>
|
|
961
|
+
<Table.Body>
|
|
962
|
+
<Table.Row>
|
|
963
|
+
<Table.Cell align="left">1</Table.Cell>
|
|
964
|
+
<Table.Cell align="center">Wendy George</Table.Cell>
|
|
965
|
+
<Table.Cell align="right">wendy.george@healthco.com</Table.Cell>
|
|
966
|
+
</Table.Row>
|
|
967
|
+
<Table.Row>
|
|
968
|
+
<Table.Cell align="left">2</Table.Cell>
|
|
969
|
+
<Table.Cell align="center">Joe Smith</Table.Cell>
|
|
970
|
+
<Table.Cell align="right">joe.smith@healthco.com</Table.Cell>
|
|
971
|
+
</Table.Row>
|
|
972
|
+
</Table.Body>
|
|
973
|
+
</Table>
|
|
974
|
+
</Story>
|
|
975
|
+
</Preview>
|
|
976
|
+
|
|
977
|
+
### Using grid column sizing
|
|
978
|
+
|
|
979
|
+
<Banner title="Experimental Feature" variant={STATUS_VARIANT.WARNING}>
|
|
980
|
+
This feature is experimental and may cause layout issues when used in
|
|
981
|
+
production.
|
|
982
|
+
</Banner>
|
|
983
|
+
|
|
984
|
+
This feature uses
|
|
985
|
+
[CSS grid layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout)
|
|
986
|
+
to create a consistent column layout. It’s completely opt-in and the current
|
|
987
|
+
HTML table layout is still the default.
|
|
988
|
+
|
|
989
|
+
To use grid sizing, set `enableGridSizing` to true and pass an array or string
|
|
990
|
+
of grid columns to `gridSizing`. The value of `gridSizing` can be any valid
|
|
991
|
+
value for the CSS `grid-template-columns`
|
|
992
|
+
[property](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns).
|
|
993
|
+
|
|
994
|
+
The benefit is that when the table is sorted or filtered, the column widths will
|
|
995
|
+
not shift around like they currently do with the default HTML table layout.
|
|
996
|
+
|
|
997
|
+
<Preview>
|
|
998
|
+
<Story name="Table grid sizing">
|
|
999
|
+
{() => {
|
|
1000
|
+
const rowData = [
|
|
1001
|
+
{
|
|
1002
|
+
id: "1",
|
|
1003
|
+
name: "Wendy George",
|
|
1004
|
+
email: "wendy.george@healthco.com",
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
id: "2",
|
|
1008
|
+
name: "Joe Smith",
|
|
1009
|
+
email: "joe.smith@healthco.com",
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
id: "3",
|
|
1013
|
+
name: "Hannah Williams",
|
|
1014
|
+
email: "hannah.williams@healthco.com",
|
|
1015
|
+
},
|
|
1016
|
+
];
|
|
1017
|
+
return (
|
|
1018
|
+
<Table
|
|
1019
|
+
enableGridSizing
|
|
1020
|
+
gridSizing={[
|
|
1021
|
+
"1fr",
|
|
1022
|
+
"1.25fr",
|
|
1023
|
+
"2fr",
|
|
1024
|
+
"1fr",
|
|
1025
|
+
".75fr",
|
|
1026
|
+
"1fr",
|
|
1027
|
+
"1fr",
|
|
1028
|
+
"1fr",
|
|
1029
|
+
]}
|
|
1030
|
+
>
|
|
1031
|
+
<Table.Head>
|
|
1032
|
+
<Table.Row>
|
|
1033
|
+
<Table.HeaderCell>ID</Table.HeaderCell>
|
|
1034
|
+
<Table.HeaderCell>Name</Table.HeaderCell>
|
|
1035
|
+
<Table.HeaderCell>Email</Table.HeaderCell>
|
|
1036
|
+
<Table.HeaderCell>Extra 1</Table.HeaderCell>
|
|
1037
|
+
<Table.HeaderCell>Extra 2</Table.HeaderCell>
|
|
1038
|
+
<Table.HeaderCell>Extra 3</Table.HeaderCell>
|
|
1039
|
+
<Table.HeaderCell>Extra 4</Table.HeaderCell>
|
|
1040
|
+
<Table.HeaderCell>Extra 5</Table.HeaderCell>
|
|
1041
|
+
</Table.Row>
|
|
1042
|
+
</Table.Head>
|
|
1043
|
+
<Table.Body>
|
|
1044
|
+
{rowData.map((row) => {
|
|
1045
|
+
return (
|
|
1046
|
+
<Table.Row key={row.id}>
|
|
1047
|
+
<Table.Cell>{row.id}</Table.Cell>
|
|
1048
|
+
<Table.Cell>{row.name}</Table.Cell>
|
|
1049
|
+
<Table.Cell>{row.email}</Table.Cell>
|
|
1050
|
+
<Table.Cell>#1</Table.Cell>
|
|
1051
|
+
<Table.Cell>#2</Table.Cell>
|
|
1052
|
+
<Table.Cell>#3</Table.Cell>
|
|
1053
|
+
<Table.Cell>#4</Table.Cell>
|
|
1054
|
+
<Table.Cell>#5</Table.Cell>
|
|
1055
|
+
</Table.Row>
|
|
1056
|
+
);
|
|
1057
|
+
})}
|
|
1058
|
+
</Table.Body>
|
|
1059
|
+
</Table>
|
|
1060
|
+
);
|
|
1061
|
+
}}
|
|
1062
|
+
</Story>
|
|
1063
|
+
</Preview>
|
|
@@ -61,6 +61,21 @@ interface TableProps extends React.HTMLProps<HTMLTableElement> {
|
|
|
61
61
|
* Does the table have batch / bulk actions?
|
|
62
62
|
*/
|
|
63
63
|
hasBatchActions?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Add more space (margin) between each row
|
|
66
|
+
*/
|
|
67
|
+
spaceRows?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Experimental; enable grid layout for the table and utilize grid column
|
|
70
|
+
* sizing
|
|
71
|
+
*/
|
|
72
|
+
enableGridSizing?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Experimental; set the grid columns when `enableGridSizing` is true. The
|
|
75
|
+
* values here should ahere to the CSS `grid-template-columns`
|
|
76
|
+
* [property](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns)
|
|
77
|
+
*/
|
|
78
|
+
gridSizing?: string | string[];
|
|
64
79
|
}
|
|
65
80
|
|
|
66
81
|
const Table = ({
|
|
@@ -77,11 +92,16 @@ const Table = ({
|
|
|
77
92
|
enableHorizontalScroll = false, // Deprecated
|
|
78
93
|
stickyColumn = false,
|
|
79
94
|
hasBatchActions = false,
|
|
95
|
+
spaceRows = false,
|
|
96
|
+
style,
|
|
97
|
+
enableGridSizing = false,
|
|
98
|
+
gridSizing,
|
|
80
99
|
...rest
|
|
81
100
|
}: TableProps) => {
|
|
82
101
|
const wrapperClasses = classNames(
|
|
83
102
|
bem(wrapperCn),
|
|
84
103
|
enableHorizontalScroll && bem(wrapperCn, { m: "enable-hscroll" }),
|
|
104
|
+
spaceRows && bem(wrapperCn, { m: "space-rows" }),
|
|
85
105
|
);
|
|
86
106
|
|
|
87
107
|
const classes = classNames(
|
|
@@ -92,6 +112,8 @@ const Table = ({
|
|
|
92
112
|
noResults && bem(cn, { m: "no-results" }),
|
|
93
113
|
stickyColumn && bem(cn, { m: "sticky-column" }),
|
|
94
114
|
hasBatchActions && bem(cn, { m: "batch-actions" }),
|
|
115
|
+
spaceRows && bem(cn, { m: "space-rows" }),
|
|
116
|
+
enableGridSizing && gridSizing && bem(cn, { m: "grid-sizing" }),
|
|
95
117
|
className,
|
|
96
118
|
);
|
|
97
119
|
|
|
@@ -109,7 +131,20 @@ const Table = ({
|
|
|
109
131
|
}}
|
|
110
132
|
>
|
|
111
133
|
<div className={wrapperClasses}>
|
|
112
|
-
<table
|
|
134
|
+
<table
|
|
135
|
+
className={classes}
|
|
136
|
+
style={
|
|
137
|
+
enableGridSizing && gridSizing
|
|
138
|
+
? {
|
|
139
|
+
gridTemplateColumns: Array.isArray(gridSizing)
|
|
140
|
+
? gridSizing.join(" ")
|
|
141
|
+
: gridSizing,
|
|
142
|
+
...style,
|
|
143
|
+
}
|
|
144
|
+
: style
|
|
145
|
+
}
|
|
146
|
+
{...rest}
|
|
147
|
+
>
|
|
113
148
|
{children}
|
|
114
149
|
</table>
|
|
115
150
|
</div>
|