import { DraggableListRoot, DraggableListItem, DraggableListField } from './components'; /** * DraggableList * ============================================================ * A drag-and-drop list component for reordering items. * Built with React Aria Components for accessibility and keyboard navigation. * * Features: * - Drag-and-drop reordering with visual feedback * - Keyboard navigation support * - Controlled and uncontrolled modes * - Accessible drag-and-drop interactions * - Customizable item rendering * * **Important:** You must provide either an `aria-label` or `aria-labelledby` * prop for accessibility. The drag-and-drop functionality will not work properly * without an accessible label. * * @example * ```tsx * * {(item) => ( * * {item.content} * * )} * * ``` * * @see https://react-spectrum.adobe.com/react-aria/dnd.html */ export declare const DraggableList: { /** * # DraggableList.Root * * The root component that provides context and drag-and-drop functionality. * Manages the state of draggable items and handles reordering logic. * * This component must wrap all DraggableList.Item components and provides * the drag-and-drop context and reordering callbacks. * * Note: If your items have `key` and `label` properties, you can omit the children * prop and the component will render the items automatically. * * @example * ```tsx * // With custom children * * {(item) => ( * * {item.content} * * )} * * * // Without children (items must have key and label) * * ``` */ Root: { ({ children, ref, items, getKey, onUpdateItems, removableItems, renderEmptyState: renderEmptyStateFromProps, ...restProps }: import('./draggable-list.types').DraggableListRootProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DraggableList.Item * * An individual draggable item within the list. * Handles drag interactions and provides visual feedback during dragging. * * This component represents a single item in the draggable list and supports * drag handles, drag previews, and reordering interactions. * * @example * ```tsx * * {(item) => ( * *
{item.title}
*
{item.description}
*
* )} *
* ``` */ Item: { ({ children, id, onRemoveItem, textValue: textValueFromProps, ...restProps }: import('./draggable-list.types').DraggableListItemProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DraggableList.Field * * A standalone form field component for DraggableList that integrates with form libraries. * Provides label, error handling, and hint text support for draggable lists. * * This component is configured entirely through props and does not accept children. * All draggable list configuration is passed via the `items` prop and related properties. * * @example * ```tsx * * ``` */ Field: { ({ label, description, error, infoBox, isRequired, isInvalid, isDisabled, isReadOnly, id, items, ...restProps }: import('./draggable-list.types').DraggableListFieldProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; }; export { DraggableListRoot as _DraggableListRoot, DraggableListItem as _DraggableListItem, DraggableListField as _DraggableListField, };