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>; /** * FilterGroup component displays a group of filters with toggles and a clear button. * Also contains the FilterDrawer for additional filter options. * * Features: * - Renders filter toggles and popovers for all filter types * - Supports controlled and uncontrolled filtering * - Integrates with FilterDrawer for batch filter editing * - Provides a clear all filters button * - Handles overflow and hidden filters * - Shares filter state via context for child components * - Supports boolean, custom, single-select, multi-select, date, and date range filter types * - Date filters include calendar popup for easy selection * - Date range filters support start and end date selection * * @example * */ Filters: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { filters: import('.').Filter[]; onFilterChange?: (filters: import('.').Filter[]) => void; controlledFiltering?: boolean; } & import('react').RefAttributes>; /** * ToolbarControlGroup component provides a flex container for grouping related toolbar controls. * Can be used for filters, buttons, or other toolbar items. * * Features: * - Groups related toolbar controls in a flex container * - Supports accessibility with aria-label * - Handles overflow and wrapping based on toolbar context * - Integrates with layout utilities for spacing and alignment * * @example * * * * */ ControlGroup: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { "aria-label"?: string; } & import('react').RefAttributes>; /** * ToolbarSearchField component renders a search field for use in toolbars. * * Features: * - Renders a search field styled for toolbar usage * - Supports all SearchField props except size * - Integrates with toolbar layouts and accessibility * * @example * */ Search: import('react').ForwardRefExoticComponent>; }; export declare const ToolbarElement: 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>; /** * FilterGroup component displays a group of filters with toggles and a clear button. * Also contains the FilterDrawer for additional filter options. * * Features: * - Renders filter toggles and popovers for all filter types * - Supports controlled and uncontrolled filtering * - Integrates with FilterDrawer for batch filter editing * - Provides a clear all filters button * - Handles overflow and hidden filters * - Shares filter state via context for child components * - Supports boolean, custom, single-select, multi-select, date, and date range filter types * - Date filters include calendar popup for easy selection * - Date range filters support start and end date selection * * @example * */ Filters: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { filters: import('.').Filter[]; onFilterChange?: (filters: import('.').Filter[]) => void; controlledFiltering?: boolean; } & import('react').RefAttributes>; /** * ToolbarControlGroup component provides a flex container for grouping related toolbar controls. * Can be used for filters, buttons, or other toolbar items. * * Features: * - Groups related toolbar controls in a flex container * - Supports accessibility with aria-label * - Handles overflow and wrapping based on toolbar context * - Integrates with layout utilities for spacing and alignment * * @example * * * * */ ControlGroup: import('react').ForwardRefExoticComponent, HTMLDivElement>, "ref"> & LayoutUtilProps & { "aria-label"?: string; } & import('react').RefAttributes>; /** * ToolbarSearchField component renders a search field for use in toolbars. * * Features: * - Renders a search field styled for toolbar usage * - Supports all SearchField props except size * - Integrates with toolbar layouts and accessibility * * @example * */ Search: import('react').ForwardRefExoticComponent>; };