Import
import { Pill } from '@contentful/f36-components';// orimport { Pill } from '@contentful/f36-pill';
Examples
Using with draggable and close option
Using the Pill component with custom dragHandleComponent
Integration with drag and drop libraries
See the Dnd kit integration page for examples using the pill component with drag and drop.
Props (API reference)
Open in StorybookName | Type | Default |
---|---|---|
label required | string Text that will be shown on the pill | |
className | string CSS class to be appended to the root element | |
css | string number false true ComponentSelector Keyframes SerializedStyles ArrayInterpolation<undefined> ObjectInterpolation<undefined> (theme: any) => Interpolation<undefined> | |
dragHandleComponent | string number false true {} ReactElement<any, string | JSXElementConstructor<any>> ReactNodeArray ReactPortal Custom component to be used as handler for the drag functionality. | |
isDraggable | false true Mark the pill as draggable. Drag icon is rendered when this property is set. | |
onClose | () => void Function that handles when the close icon is clicked. Close icon visibility depends on if this property is set. | |
onDrag | () => void Function that handles when the pill is dragged. Drag icon is rendered when this property is set. | |
testId | string A [data-test-id] attribute used for testing purposes | |
variant | "idle" "active" "deleted" Determines style variation of Pill component | idle |
Content guidelines
- Be sure the pill text is clear and concise
- Use Pill to represent data like contact details or tagging
- It can be used for web content that needs to be labeled, categorized, or organized using keywords that describe them.
Accessibility
- Label value is passed in the component as a title in the span element, like follows
title={label}
. - The default drag component has a
aria-label="Drag handler"
, custom drag handle components should also include anaria-label
, as shown on the example