@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
|
@@ -69,3 +69,70 @@ information systems is completed.
|
|
|
69
69
|
}}
|
|
70
70
|
</Story>
|
|
71
71
|
</Preview>
|
|
72
|
+
|
|
73
|
+
### Passing in custom renderers
|
|
74
|
+
|
|
75
|
+
This example shows how you can use the `renderers` prop provided by react-markdown
|
|
76
|
+
to render links to open in a new window. Keep in mind that this will make all
|
|
77
|
+
anchor links open in a new window.
|
|
78
|
+
|
|
79
|
+
<Preview withSource={SourceState.OPEN}>
|
|
80
|
+
<Story name="Markdown renderers">
|
|
81
|
+
{() => {
|
|
82
|
+
const content = `
|
|
83
|
+
# Hello and welcome
|
|
84
|
+
Go to our website at [Conveyor.com](https://www.conveyor.com/). This link will
|
|
85
|
+
open in a **new window**. There you will find information about us
|
|
86
|
+
and our company.
|
|
87
|
+
`;
|
|
88
|
+
return (
|
|
89
|
+
<Markdown
|
|
90
|
+
renderers={{
|
|
91
|
+
link: (props) => (
|
|
92
|
+
<a href={props.href} target="_blank" rel="noopener noreferrer">
|
|
93
|
+
{props.children}
|
|
94
|
+
</a>
|
|
95
|
+
),
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
{content}
|
|
99
|
+
</Markdown>
|
|
100
|
+
);
|
|
101
|
+
}}
|
|
102
|
+
</Story>
|
|
103
|
+
</Preview>
|
|
104
|
+
|
|
105
|
+
### Passing in custom renderers along with rendering plain text
|
|
106
|
+
|
|
107
|
+
When the `renderPlainText` prop is set to true, the component sets some custom
|
|
108
|
+
renderers internally to strip out headings, emphasized and strong text. This
|
|
109
|
+
example demonstrates how both sets of renders are merged into one object and
|
|
110
|
+
then passed onto react-markdown. Plain text is renderered along with custom
|
|
111
|
+
anchor links.
|
|
112
|
+
|
|
113
|
+
<Preview withSource={SourceState.OPEN}>
|
|
114
|
+
<Story name="Markdown renderers with renderPlainText">
|
|
115
|
+
{() => {
|
|
116
|
+
const content = `
|
|
117
|
+
# Hello and welcome to plain text
|
|
118
|
+
Go to our website at [Conveyor.com](https://www.conveyor.com/). This link will
|
|
119
|
+
open in a **new window**. There you will find information about us
|
|
120
|
+
and our company.
|
|
121
|
+
`;
|
|
122
|
+
return (
|
|
123
|
+
<Markdown
|
|
124
|
+
renderPlainText
|
|
125
|
+
renderers={{
|
|
126
|
+
link: (props) => (
|
|
127
|
+
<a href={props.href} target="_blank" rel="noopener noreferrer">
|
|
128
|
+
{props.children}
|
|
129
|
+
</a>
|
|
130
|
+
),
|
|
131
|
+
}}
|
|
132
|
+
>
|
|
133
|
+
{content}
|
|
134
|
+
</Markdown>
|
|
135
|
+
);
|
|
136
|
+
}}
|
|
137
|
+
</Story>
|
|
138
|
+
</Preview>
|
|
@@ -26,9 +26,10 @@ export const Markdown = ({
|
|
|
26
26
|
escapeHtml = true,
|
|
27
27
|
skipHtml = false,
|
|
28
28
|
renderPlainText = false,
|
|
29
|
+
renderers,
|
|
29
30
|
...rest
|
|
30
31
|
}: MarkdownProps) => {
|
|
31
|
-
const
|
|
32
|
+
const plainTextRenderers = renderPlainText
|
|
32
33
|
? {
|
|
33
34
|
heading: TextRenderer(),
|
|
34
35
|
strong: TextRenderer("span"),
|
|
@@ -42,7 +43,7 @@ export const Markdown = ({
|
|
|
42
43
|
source={children}
|
|
43
44
|
escapeHtml={escapeHtml}
|
|
44
45
|
skipHtml={skipHtml}
|
|
45
|
-
renderers={renderers}
|
|
46
|
+
renderers={{ ...plainTextRenderers, ...renderers }}
|
|
46
47
|
{...rest}
|
|
47
48
|
/>
|
|
48
49
|
);
|
|
@@ -9,7 +9,6 @@ import { useDisclosure } from "../../hooks";
|
|
|
9
9
|
import { JUSTIFY } from "../../types";
|
|
10
10
|
import { Box } from "../Box";
|
|
11
11
|
import { Flex } from "../Flex";
|
|
12
|
-
import { Fixed } from "../Fixed";
|
|
13
12
|
import { Link } from "../Link";
|
|
14
13
|
import { Markdown } from "../Markdown";
|
|
15
14
|
import { Portal } from "../Portal";
|
|
@@ -99,7 +98,7 @@ export const MarkdownEditor = (props: MarkdownEditorProps) => {
|
|
|
99
98
|
<Portal>
|
|
100
99
|
<FocusLock returnFocus>
|
|
101
100
|
<RemoveScroll>
|
|
102
|
-
<
|
|
101
|
+
<Flex className={classNames(bem(cn), showBackdrop && "bg-screen")}>
|
|
103
102
|
<Flex className={bem(cn, { e: "popover" })}>
|
|
104
103
|
<Box className="w-1/2">
|
|
105
104
|
<CodeMirror
|
|
@@ -161,7 +160,7 @@ export const MarkdownEditor = (props: MarkdownEditorProps) => {
|
|
|
161
160
|
</Flex>
|
|
162
161
|
)}
|
|
163
162
|
</Flex>
|
|
164
|
-
</
|
|
163
|
+
</Flex>
|
|
165
164
|
</RemoveScroll>
|
|
166
165
|
</FocusLock>
|
|
167
166
|
</Portal>
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { bem } from "../../utilities/bem";
|
|
3
3
|
import { Box } from "../Box";
|
|
4
|
-
import { Fixed } from "../Fixed";
|
|
5
4
|
import { Heading } from "../Heading";
|
|
6
5
|
import { Paragraph } from "../Paragraph";
|
|
7
|
-
import { Relative } from "../Relative";
|
|
8
|
-
import { Absolute } from "../Absolute";
|
|
9
6
|
import { CloseButton } from "../CloseButton";
|
|
10
7
|
|
|
11
8
|
const cn = "MarkdownHelp";
|
|
@@ -41,14 +38,14 @@ export const MarkdownHelp = ({
|
|
|
41
38
|
onClose: () => void;
|
|
42
39
|
}) => {
|
|
43
40
|
return isOpen ? (
|
|
44
|
-
<
|
|
45
|
-
<
|
|
46
|
-
<
|
|
41
|
+
<Box className={bem(cn)}>
|
|
42
|
+
<Box className={bem(cn, { e: "panel" })}>
|
|
43
|
+
<Box className={bem(cn, { e: "header" })}>
|
|
47
44
|
<CloseButton
|
|
48
45
|
className={bem(cn, { e: "closeButton" })}
|
|
49
46
|
onClick={onClose}
|
|
50
47
|
/>
|
|
51
|
-
</
|
|
48
|
+
</Box>
|
|
52
49
|
|
|
53
50
|
<Box className={bem(cn, { e: "scrollBox" })}>
|
|
54
51
|
<Heading.H2 className="text-gray-400">Markdown help</Heading.H2>
|
|
@@ -128,8 +125,8 @@ export const MarkdownHelp = ({
|
|
|
128
125
|
]}
|
|
129
126
|
</CodeExamples>
|
|
130
127
|
</Box>
|
|
131
|
-
</
|
|
132
|
-
<
|
|
133
|
-
</
|
|
128
|
+
</Box>
|
|
129
|
+
<Box className={bem(cn, { e: "cover" })} onClick={onClose} />
|
|
130
|
+
</Box>
|
|
134
131
|
) : null;
|
|
135
132
|
};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
@apply top-0
|
|
8
8
|
left-0
|
|
9
9
|
z-modal
|
|
10
|
-
|
|
10
|
+
fixed
|
|
11
11
|
items-center
|
|
12
12
|
justify-center
|
|
13
13
|
w-screen
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
justify-center
|
|
65
65
|
top-0
|
|
66
66
|
left-0
|
|
67
|
+
fixed
|
|
67
68
|
z-toast
|
|
68
69
|
w-screen
|
|
69
70
|
h-screen;
|
|
@@ -72,6 +73,7 @@
|
|
|
72
73
|
.ads-MarkdownHelp-panel {
|
|
73
74
|
@apply bg-gray-900
|
|
74
75
|
rounded
|
|
76
|
+
fixed
|
|
75
77
|
z-default
|
|
76
78
|
w-full
|
|
77
79
|
max-w-lg;
|
|
@@ -81,6 +83,7 @@
|
|
|
81
83
|
|
|
82
84
|
.ads-MarkdownHelp-header {
|
|
83
85
|
@apply h-10
|
|
86
|
+
relative
|
|
84
87
|
w-full;
|
|
85
88
|
}
|
|
86
89
|
|
|
@@ -102,6 +105,7 @@
|
|
|
102
105
|
.ads-MarkdownHelp-cover {
|
|
103
106
|
@apply top-0
|
|
104
107
|
left-0
|
|
108
|
+
absolute
|
|
105
109
|
w-full
|
|
106
110
|
h-full;
|
|
107
111
|
}
|
|
@@ -8,7 +8,7 @@ import React, {
|
|
|
8
8
|
import { useId } from "@reach/auto-id";
|
|
9
9
|
import FocusLock from "react-focus-lock";
|
|
10
10
|
import { usePopper } from "react-popper";
|
|
11
|
-
import { animated, useTransition } from "react-spring";
|
|
11
|
+
import { animated, useTransition } from "@react-spring/web";
|
|
12
12
|
import { easeCubicInOut } from "d3-ease";
|
|
13
13
|
import { useDisclosure, useKeyPress, useOutsideClick } from "../../hooks";
|
|
14
14
|
import { KEY_CODE, PopperPlacement } from "../../types";
|
|
@@ -207,7 +207,7 @@ export const MenuRenderer = ({
|
|
|
207
207
|
|
|
208
208
|
const PortalComponent = hasPortal ? Portal : Fragment;
|
|
209
209
|
|
|
210
|
-
const transitions = useTransition(isOpen,
|
|
210
|
+
const transitions = useTransition(isOpen, {
|
|
211
211
|
from: TRANSITION_START,
|
|
212
212
|
enter: TRANSITION_END,
|
|
213
213
|
leave: TRANSITION_START,
|
|
@@ -220,10 +220,10 @@ export const MenuRenderer = ({
|
|
|
220
220
|
return (
|
|
221
221
|
<Box className={className} ref={menuElement} {...rest}>
|
|
222
222
|
<Box ref={setReferenceElement}>{trigger(triggerProps, triggerState)}</Box>
|
|
223
|
-
{transitions
|
|
224
|
-
({
|
|
223
|
+
{transitions(
|
|
224
|
+
({ opacity, transform }, item) =>
|
|
225
225
|
item && (
|
|
226
|
-
<PortalComponent
|
|
226
|
+
<PortalComponent>
|
|
227
227
|
<MenuContext.Provider value={context}>
|
|
228
228
|
<Box
|
|
229
229
|
className={hasPortal ? "z-toast" : "z-menu"}
|
|
@@ -233,8 +233,10 @@ export const MenuRenderer = ({
|
|
|
233
233
|
>
|
|
234
234
|
<FocusLock autoFocus={autoFocus}>
|
|
235
235
|
<animated.div
|
|
236
|
-
|
|
237
|
-
|
|
236
|
+
style={{
|
|
237
|
+
opacity,
|
|
238
|
+
transform,
|
|
239
|
+
}}
|
|
238
240
|
ref={menuListElement}
|
|
239
241
|
>
|
|
240
242
|
{typeof children === "function"
|
|
@@ -1004,3 +1004,29 @@ Show a table in a modal. Set Modal.Body padding to false.
|
|
|
1004
1004
|
}}
|
|
1005
1005
|
</Story>
|
|
1006
1006
|
</Preview>
|
|
1007
|
+
|
|
1008
|
+
### Without a header
|
|
1009
|
+
|
|
1010
|
+
Hide the header to create a custom layout.
|
|
1011
|
+
|
|
1012
|
+
<Preview>
|
|
1013
|
+
<Story name="Without a header">
|
|
1014
|
+
{() => {
|
|
1015
|
+
const { isOpen, onOpen, onClose } = useDisclosure();
|
|
1016
|
+
return (
|
|
1017
|
+
<Fragment>
|
|
1018
|
+
<Button onClick={onOpen}>Show Modal without a header</Button>
|
|
1019
|
+
<Modal isOpen={isOpen} onClose={onClose} noHeader>
|
|
1020
|
+
<Box className="p-10 relative">
|
|
1021
|
+
<Modal.CloseButton className="absolute top-0 right-0" />
|
|
1022
|
+
<Box>
|
|
1023
|
+
I am not using any of the modal subcomponents. I am a custom
|
|
1024
|
+
layout.
|
|
1025
|
+
</Box>
|
|
1026
|
+
</Box>
|
|
1027
|
+
</Modal>
|
|
1028
|
+
</Fragment>
|
|
1029
|
+
);
|
|
1030
|
+
}}
|
|
1031
|
+
</Story>
|
|
1032
|
+
</Preview>
|
|
@@ -3,12 +3,13 @@ import classNames from "classnames";
|
|
|
3
3
|
import RoModal, { ModalProps as RoModalProps } from "react-overlays/Modal";
|
|
4
4
|
import { Box, BoxProps } from "../Box";
|
|
5
5
|
import { Flex } from "../Flex";
|
|
6
|
-
import { CloseButton } from "../CloseButton";
|
|
6
|
+
import { CloseButton, CloseButtonProps } from "../CloseButton";
|
|
7
7
|
import { Stack, StackProps } from "../Stack";
|
|
8
8
|
import { bem } from "../../utilities/bem";
|
|
9
9
|
import { Tab } from "../Tab";
|
|
10
10
|
import { Heading } from "../Heading";
|
|
11
11
|
import { Overlay } from "../Overlay";
|
|
12
|
+
import { ModalContext, useModalContext } from "./context";
|
|
12
13
|
|
|
13
14
|
const cn = "Modal";
|
|
14
15
|
|
|
@@ -93,6 +94,12 @@ export interface ModalProps extends RoModalProps {
|
|
|
93
94
|
* Whether or not to show the backdrop overlay between the modal and the content it covers.
|
|
94
95
|
*/
|
|
95
96
|
disableBackdrop?: boolean;
|
|
97
|
+
/*
|
|
98
|
+
* When true, the prop prevents the header from rendering and the
|
|
99
|
+
* following props will be ignored: `title`, `secondaryTitle`,
|
|
100
|
+
* `hideCloseButton`. Use when you want a custom layout.
|
|
101
|
+
*/
|
|
102
|
+
noHeader?: boolean;
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
export interface ModalBodyProps extends BoxProps {
|
|
@@ -124,7 +131,7 @@ export interface ModalFooterMultiStepProps extends BoxProps {
|
|
|
124
131
|
rightButtonLabel?: string;
|
|
125
132
|
}
|
|
126
133
|
|
|
127
|
-
const ModalHeader = (props: BoxProps) => {
|
|
134
|
+
export const ModalHeader = (props: BoxProps) => {
|
|
128
135
|
const { className, ...rest } = props;
|
|
129
136
|
return (
|
|
130
137
|
<Flex
|
|
@@ -213,6 +220,17 @@ export const ModalFooterMultiStep = ({
|
|
|
213
220
|
);
|
|
214
221
|
};
|
|
215
222
|
|
|
223
|
+
export const ModalCloseButton = ({ className, ...rest }: CloseButtonProps) => {
|
|
224
|
+
const { onClose } = useModalContext();
|
|
225
|
+
return (
|
|
226
|
+
<CloseButton
|
|
227
|
+
className={classNames(bem(cn, { e: "close" }), className)}
|
|
228
|
+
onClick={onClose}
|
|
229
|
+
{...rest}
|
|
230
|
+
/>
|
|
231
|
+
);
|
|
232
|
+
};
|
|
233
|
+
|
|
216
234
|
export const Modal = (props: ModalProps) => {
|
|
217
235
|
const {
|
|
218
236
|
title,
|
|
@@ -227,6 +245,7 @@ export const Modal = (props: ModalProps) => {
|
|
|
227
245
|
size = MODAL_SIZE.DEFAULT,
|
|
228
246
|
center = false,
|
|
229
247
|
disableBackdrop = false,
|
|
248
|
+
noHeader = false,
|
|
230
249
|
className,
|
|
231
250
|
style,
|
|
232
251
|
...rest
|
|
@@ -235,57 +254,56 @@ export const Modal = (props: ModalProps) => {
|
|
|
235
254
|
const showHeader = title || secondaryTitle || !hideCloseButton;
|
|
236
255
|
|
|
237
256
|
return (
|
|
238
|
-
<
|
|
239
|
-
|
|
240
|
-
bem(`${cn}Container`),
|
|
241
|
-
enableOutsideClick && "pointer-events-none",
|
|
242
|
-
])}
|
|
243
|
-
show={isOpen}
|
|
244
|
-
onHide={onClose}
|
|
245
|
-
autoFocus={autoFocus}
|
|
246
|
-
keyboard={!disableEscClose}
|
|
247
|
-
renderBackdrop={disableBackdrop ? undefined : (p) => <Overlay {...p} />}
|
|
248
|
-
{...rest}
|
|
249
|
-
>
|
|
250
|
-
<Box
|
|
257
|
+
<ModalContext.Provider value={{ onClose }}>
|
|
258
|
+
<RoModal
|
|
251
259
|
className={classNames([
|
|
252
|
-
bem(cn),
|
|
253
|
-
|
|
254
|
-
center && bem(cn, { m: "center" }),
|
|
255
|
-
enableOutsideClick && "pointer-events-auto",
|
|
256
|
-
className,
|
|
260
|
+
bem(`${cn}Container`),
|
|
261
|
+
enableOutsideClick && "pointer-events-none",
|
|
257
262
|
])}
|
|
258
|
-
|
|
263
|
+
show={isOpen}
|
|
264
|
+
onHide={onClose}
|
|
265
|
+
autoFocus={autoFocus}
|
|
266
|
+
keyboard={!disableEscClose}
|
|
267
|
+
renderBackdrop={disableBackdrop ? undefined : (p) => <Overlay {...p} />}
|
|
268
|
+
{...rest}
|
|
259
269
|
>
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
<Box
|
|
271
|
+
className={classNames([
|
|
272
|
+
bem(cn),
|
|
273
|
+
bem(cn, { m: size }),
|
|
274
|
+
center && bem(cn, { m: "center" }),
|
|
275
|
+
enableOutsideClick && "pointer-events-auto",
|
|
276
|
+
className,
|
|
277
|
+
])}
|
|
278
|
+
style={style}
|
|
279
|
+
>
|
|
280
|
+
{!noHeader && showHeader && (
|
|
281
|
+
<ModalHeader>
|
|
282
|
+
{title && <Heading.H2>{title}</Heading.H2>}
|
|
263
283
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
284
|
+
<Stack className="flex-shrink-0" spacing={5}>
|
|
285
|
+
{secondaryTitle && (
|
|
286
|
+
<Heading.H5 className="text-gray-600">
|
|
287
|
+
{secondaryTitle}
|
|
288
|
+
</Heading.H5>
|
|
289
|
+
)}
|
|
270
290
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
/>
|
|
276
|
-
)}
|
|
277
|
-
</Stack>
|
|
278
|
-
</ModalHeader>
|
|
279
|
-
)}
|
|
291
|
+
{!hideCloseButton && <ModalCloseButton />}
|
|
292
|
+
</Stack>
|
|
293
|
+
</ModalHeader>
|
|
294
|
+
)}
|
|
280
295
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
296
|
+
{children}
|
|
297
|
+
</Box>
|
|
298
|
+
</RoModal>
|
|
299
|
+
</ModalContext.Provider>
|
|
284
300
|
);
|
|
285
301
|
};
|
|
286
302
|
|
|
287
303
|
Modal.Root = Modal;
|
|
288
304
|
Modal.Tabs = ModalTabs;
|
|
305
|
+
Modal.Header = ModalHeader;
|
|
289
306
|
Modal.Body = ModalBody;
|
|
290
307
|
Modal.Footer = ModalFooter;
|
|
291
308
|
Modal.FooterMultiStep = ModalFooterMultiStep;
|
|
309
|
+
Modal.CloseButton = ModalCloseButton;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Context, createContext, useContext } from "react";
|
|
2
|
+
import { DisclosureProps } from "../../types";
|
|
3
|
+
|
|
4
|
+
type ModalContextType = Partial<DisclosureProps>;
|
|
5
|
+
|
|
6
|
+
const defaultContext: ModalContextType = {
|
|
7
|
+
onClose: () => {},
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const ModalContext: Context<ModalContextType> = createContext<ModalContextType>(
|
|
11
|
+
defaultContext,
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
export function useModalContext() {
|
|
15
|
+
const context = useContext<typeof defaultContext>(ModalContext) || {
|
|
16
|
+
...defaultContext,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
return context;
|
|
20
|
+
}
|
|
@@ -4,6 +4,8 @@ import { Box } from "../Box";
|
|
|
4
4
|
import { Button, BUTTON_SIZE } from "../Button";
|
|
5
5
|
import { Modal } from "../Modal";
|
|
6
6
|
import { Stack } from "../Stack";
|
|
7
|
+
import { Flex } from "../Flex";
|
|
8
|
+
import { Icon, ICON_TYPE } from "../Icon";
|
|
7
9
|
import { useDisclosure } from "../../hooks";
|
|
8
10
|
import { JUSTIFY } from "../../types";
|
|
9
11
|
|
|
@@ -28,38 +30,140 @@ import { OptionButton } from "@conveyorhq/arrow-ds";
|
|
|
28
30
|
|
|
29
31
|
## Props
|
|
30
32
|
|
|
31
|
-
|
|
33
|
+
### OptionButton
|
|
34
|
+
|
|
35
|
+
Extends `React.HTMLProps<HTMLInputElement>`
|
|
32
36
|
|
|
33
37
|
<Props of={OptionButton} />
|
|
34
38
|
|
|
39
|
+
### OptionButton.Group
|
|
40
|
+
|
|
41
|
+
Extends `StackProps`
|
|
42
|
+
|
|
43
|
+
<Props of={OptionButton.Group} />
|
|
44
|
+
|
|
45
|
+
### OptionButton.Root
|
|
46
|
+
|
|
47
|
+
Extends `React.HTMLProps<HTMLLabelElement>`
|
|
48
|
+
|
|
49
|
+
### OptionButton.Content
|
|
50
|
+
|
|
51
|
+
Extends `BoxProps`
|
|
52
|
+
|
|
53
|
+
### OptionButton.Heading
|
|
54
|
+
|
|
55
|
+
Extends `TextProps`
|
|
56
|
+
|
|
57
|
+
### OptionButton.Description
|
|
58
|
+
|
|
59
|
+
Extends `TextProps`
|
|
60
|
+
|
|
61
|
+
### OptionButton.Input
|
|
62
|
+
|
|
63
|
+
Extends `React.HTMLProps<HTMLInputElement>`
|
|
64
|
+
|
|
65
|
+
### OptionButton.Backdrop
|
|
66
|
+
|
|
67
|
+
Extends `BoxProps`
|
|
68
|
+
|
|
69
|
+
### OptionButton.SelectedIcon
|
|
70
|
+
|
|
71
|
+
Extends `BoxProps`
|
|
72
|
+
|
|
73
|
+
## Component tree
|
|
74
|
+
|
|
75
|
+
Each piece of the `OptionButton` component can be used individually to create a component with a custom layout.
|
|
76
|
+
|
|
77
|
+
The component tree is as follows:
|
|
78
|
+
|
|
79
|
+
```jsx
|
|
80
|
+
<OptionButton.Root>
|
|
81
|
+
<OptionButton.Content>
|
|
82
|
+
<OptionButton.Heading />
|
|
83
|
+
<OptionButton.Description />
|
|
84
|
+
</OptionButton.Content>
|
|
85
|
+
<OptionButton.Input />
|
|
86
|
+
<OptionButton.Backdrop />
|
|
87
|
+
<OptionButton.SelectedIcon />
|
|
88
|
+
</OptionButton.Root>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
When building a custom implementation, the following components are considered optional, which means they are not necessary for the overall structure of the component. They are also the components you’re likely to disregard if you’re building a custom layout.
|
|
92
|
+
|
|
93
|
+
- `OptionButton.Heading`
|
|
94
|
+
- `OptionButton.Description`
|
|
95
|
+
- `OptionButton.SelectedIcon`
|
|
96
|
+
|
|
35
97
|
## Demos
|
|
36
98
|
|
|
37
|
-
###
|
|
99
|
+
### Building a custom implementation
|
|
38
100
|
|
|
39
|
-
|
|
101
|
+
This example shows how you can create a list of custom checkboxes.
|
|
40
102
|
|
|
41
103
|
<Preview>
|
|
42
|
-
<Story name="
|
|
43
|
-
<
|
|
104
|
+
<Story name="Custom implementation">
|
|
105
|
+
<OptionButton.Group name="iconTypes" type="checkbox" spacing={4}>
|
|
106
|
+
<OptionButton.Root className="rounded p-3">
|
|
107
|
+
<OptionButton.Content>
|
|
108
|
+
<Flex className="items-center gap-x-2">
|
|
109
|
+
<Icon icon={ICON_TYPE.CALCULATOR} />
|
|
110
|
+
<Text className="font-medium">Calculator icon</Text>
|
|
111
|
+
</Flex>
|
|
112
|
+
</OptionButton.Content>
|
|
113
|
+
<OptionButton.Input value="calculator" />
|
|
114
|
+
<OptionButton.Backdrop className="bg-white border border-border rounded" />
|
|
115
|
+
</OptionButton.Root>
|
|
116
|
+
<OptionButton.Root className="rounded p-3">
|
|
117
|
+
<OptionButton.Content>
|
|
118
|
+
<Flex className="items-center gap-x-2">
|
|
119
|
+
<Icon icon={ICON_TYPE.ENVELOPE} />
|
|
120
|
+
<Text className="font-medium">Envelope icon</Text>
|
|
121
|
+
</Flex>
|
|
122
|
+
</OptionButton.Content>
|
|
123
|
+
<OptionButton.Input value="envelope" />
|
|
124
|
+
<OptionButton.Backdrop className="bg-white border border-border rounded" />
|
|
125
|
+
</OptionButton.Root>
|
|
126
|
+
<OptionButton.Root className="rounded p-3">
|
|
127
|
+
<OptionButton.Content>
|
|
128
|
+
<Flex className="items-center gap-x-2">
|
|
129
|
+
<Icon icon={ICON_TYPE.PAPERCLIP} />
|
|
130
|
+
<Text className="font-medium">Paperclip icon</Text>
|
|
131
|
+
</Flex>
|
|
132
|
+
</OptionButton.Content>
|
|
133
|
+
<OptionButton.Input value="paperclip" />
|
|
134
|
+
<OptionButton.Backdrop className="bg-white border border-border rounded" />
|
|
135
|
+
</OptionButton.Root>
|
|
136
|
+
</OptionButton.Group>
|
|
137
|
+
</Story>
|
|
138
|
+
</Preview>
|
|
139
|
+
|
|
140
|
+
### Within Group
|
|
141
|
+
|
|
142
|
+
The main use case for the option button is to display multiple within a group. Make sure each option button has a unique `value` but shares the same `name`.
|
|
143
|
+
|
|
144
|
+
The `name` prop can be added to `OptionButton.Group` and it will be passed onto each input.
|
|
145
|
+
|
|
146
|
+
This example renders each `OptionButton` as a radio button (default), but they can also be made checkboxes by passing `type="checkbox"` to the group or each `OptionButton`.
|
|
147
|
+
|
|
148
|
+
<Preview>
|
|
149
|
+
<Story name="Within Group">
|
|
150
|
+
<OptionButton.Group name="template" type="radio" spacing={4}>
|
|
44
151
|
<OptionButton
|
|
45
152
|
heading="Manual"
|
|
46
153
|
description="Don’t create any tickets for me, I’ll make them myself."
|
|
47
|
-
name="template"
|
|
48
154
|
value="manual"
|
|
49
155
|
/>
|
|
50
156
|
<OptionButton
|
|
51
157
|
heading="Basic Recurring"
|
|
52
158
|
description="Create tickets based on a single recurring schedule, without an asset type."
|
|
53
|
-
name="template"
|
|
54
159
|
value="basic"
|
|
55
160
|
/>
|
|
56
161
|
<OptionButton
|
|
57
162
|
heading="Asset Based"
|
|
58
163
|
description="Set a default, then create individual recurring or event-based schedules for any asset."
|
|
59
|
-
name="template"
|
|
60
164
|
value="asset"
|
|
61
165
|
/>
|
|
62
|
-
</
|
|
166
|
+
</OptionButton.Group>
|
|
63
167
|
</Story>
|
|
64
168
|
</Preview>
|
|
65
169
|
|
|
@@ -78,26 +182,27 @@ The main use case for the option button is to display multiple within a [`Stack`
|
|
|
78
182
|
onClose={onClose}
|
|
79
183
|
>
|
|
80
184
|
<Modal.Body>
|
|
81
|
-
<
|
|
185
|
+
<OptionButton.Group
|
|
186
|
+
name="template-modal"
|
|
187
|
+
type="radio"
|
|
188
|
+
spacing={4}
|
|
189
|
+
>
|
|
82
190
|
<OptionButton
|
|
83
191
|
heading="Manual"
|
|
84
192
|
description="Don’t create any tickets for me, I’ll make them myself."
|
|
85
|
-
name="template"
|
|
86
193
|
value="manual"
|
|
87
194
|
/>
|
|
88
195
|
<OptionButton
|
|
89
196
|
heading="Basic Recurring"
|
|
90
197
|
description="Create tickets based on a single recurring schedule, without an asset type."
|
|
91
|
-
name="template"
|
|
92
198
|
value="basic"
|
|
93
199
|
/>
|
|
94
200
|
<OptionButton
|
|
95
201
|
heading="Asset Based"
|
|
96
202
|
description="Set a default, then create individual recurring or event-based schedules for any asset."
|
|
97
|
-
name="template"
|
|
98
203
|
value="asset"
|
|
99
204
|
/>
|
|
100
|
-
</
|
|
205
|
+
</OptionButton.Group>
|
|
101
206
|
</Modal.Body>
|
|
102
207
|
<Modal.Footer>
|
|
103
208
|
<Stack justify={JUSTIFY.END}>
|
|
@@ -110,9 +215,3 @@ The main use case for the option button is to display multiple within a [`Stack`
|
|
|
110
215
|
}}
|
|
111
216
|
</Story>
|
|
112
217
|
</Preview>
|
|
113
|
-
|
|
114
|
-
## All Props
|
|
115
|
-
|
|
116
|
-
Any valid attribute of `React.HTMLProps<HTMLInputElement>` is available to the option button component.
|
|
117
|
-
|
|
118
|
-
<Props of={OptionButton} />
|