import { ToolbarOverflowTypes, ToolbarSize } from './types'; import { ComponentPropsWithoutRef, ReactElement } from 'react'; import { LayoutUtilProps } from '../../types'; /** * Props for the Toolbar component * @extends ComponentPropsWithoutRef<"div"> * @extends LayoutUtilProps */ export type ToolbarProps = ComponentPropsWithoutRef<"div"> & LayoutUtilProps & { /** * Description of the content this toolbar is associated with, used for accessibility */ associatedContent: string; /** * Orientation of the toolbar * @default horizontal */ direction?: "vertical" | "horizontal"; /** * How to handle overflow when items don't fit * @default wrap */ overflow?: ToolbarOverflowTypes; /** * Additional items to display in the overflow menu */ additionalItems?: ReactElement[]; /** * Size of toolbar items * @default xsmall */ size?: ToolbarSize; }; /** * Toolbar component for grouping related interactive elements with anvil2 tracking. * * Features: * - Horizontal or vertical orientation * - Overflow handling with wrap or collapse behavior * - Keyboard navigation following ARIA best practices * - Screen reader announcements and accessibility * - Automatic overflow menu for collapsed items * - Support for buttons, toggles, selects, and links * - Layout utilities for positioning and spacing * - Context-based state management for child components * - Automatic tracking ID generation for analytics * - Integration with anvil2 tracking system * * @example * * * * * */ export declare const Toolbar: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { /** * Description of the content this toolbar is associated with, used for accessibility */ associatedContent: string; /** * Orientation of the toolbar * @default horizontal */ direction?: "vertical" | "horizontal"; /** * How to handle overflow when items don't fit * @default wrap */ overflow?: ToolbarOverflowTypes; /** * Additional items to display in the overflow menu */ additionalItems?: ReactElement[]; /** * Size of toolbar items * @default xsmall */ size?: ToolbarSize; } & import('react').RefAttributes> & { /** * ToolbarButton component for standard clickable actions within a toolbar with anvil2 tracking. * * Features: * - Designed specifically for toolbar integration * - Consistent styling with other toolbar items * - Automatic tooltip for icon-only buttons * - Overflow menu support * - Accessibility enforcement for aria-labels * - Ghost and primary appearance options * - Automatic tracking ID generation for analytics * * @example * * * @example * * Save * */ Button: import('react').ForwardRefExoticComponent>; /** * ToolbarButtonToggle component for toggleable actions within a toolbar with anvil2 tracking. * * Features: * - Toggle state management * - Designed specifically for toolbar integration * - Consistent styling with other toolbar items * - Overflow menu support * - Accessibility enforcement for aria-labels * - Ghost and primary appearance options * - Automatic tracking ID generation for analytics * * @example * */ ButtonToggle: import('react').ForwardRefExoticComponent>; /** * ToolbarButtonLink component for link actions within a toolbar with anvil2 tracking. * * Features: * - Link functionality with href support * - Designed specifically for toolbar integration * - Consistent styling with other toolbar items * - Overflow menu support * - Accessibility enforcement for aria-labels * - Ghost and primary appearance options * - Automatic tracking ID generation for analytics * * @example * * Help * */ ButtonLink: import('react').ForwardRefExoticComponent>; /** * ToolbarSelect component provides a dropdown selector within a toolbar with anvil2 tracking. * * Features: * - Dropdown menu with selectable options * - Controlled and uncontrolled usage patterns * - Automatic overflow menu integration * - Accessibility support with proper ARIA labels * - Ghost and primary appearance options * - Dropdown arrow icon indicator * - Listbox integration for keyboard navigation * - Automatic tracking ID generation for analytics * * @example * setFont(id)} * /> */ Select: import('react').ForwardRefExoticComponent, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../..').DataTrackingId & { aiMark?: boolean | import('..').AiIconName; appearance?: import('../..').ButtonAppearance; size?: Extract; loading?: boolean; } & { children?: ComponentPropsWithoutRef<"button">["children"]; icon?: import('..').IconProps["svg"] | { after: import('..').IconProps["svg"]; } | { before: import('..').IconProps["svg"]; }; } & import('react').RefAttributes, "ref"> | Omit, HTMLButtonElement>, "ref">, "children"> & LayoutUtilProps & import('../..').DataTrackingId & { aiMark?: boolean | import('..').AiIconName; appearance?: import('../..').ButtonAppearance; size?: Extract; loading?: boolean; } & { children?: never; icon?: import('..').IconProps["svg"]; } & import('react').RefAttributes, "ref">, "onChange" | "appearance"> & { appearance?: import('./types').ToolbarItemAppearance; onChange?: (optionId: string) => void; selected?: string; items: (Record & { id: string; } & { label: string; disabled?: boolean; })[]; accessibleLabel: string; } & import('../..').DataTrackingId & import('react').RefAttributes>; };