DragHandle is a new component to make it easier when creating draggable elements. it contains the styling for focus, hover and dragging states. This component only needs to be used if you're creating a custom component with drag, some of our components already have this implemented, for example Card.
Import
import { DragHandle } from '@contentful/f36-components';// orimport { DragHandle } from '@contentful/f36-drag-handle';
Examples
The DragHandle can be styled based on the props you pass to it:
Base:
Active:
Focused:
Hovered:
Card example
Props (API reference)
Open in Storybook- Name
label(required)
DescriptionLabel rendered in DragHandle - not visible on screen as its purpose is for screen readers only
string - Name
className
DescriptionCSS class to be appended to the root element
string - Name
isActive
DescriptionApplies styling for when the component is actively being dragged by the user
falsetrue - Name
isFocused
DescriptionApplies focus styling
falsetrue - Name
isHovered
DescriptionApplies hover styling
falsetrue - Name
testId
DescriptionA [data-test-id] attribute used for testing purposes
Defaultstringcf-ui-drag-handle - Name
type
DescriptionSet type button for div element
string
Accessibility
- You should pass a relevant label to DragHandle for screen readers, the label is not rendered.