UNPKG

@rws-air/webcomponents

Version:
71 lines 2.85 kB
import React, { ReactNode } from 'react'; import { SearchBarProps } from '../SearchBar'; import { ToolbarButtonProps } from '../ToolbarButton'; export interface RenderIconProps { /** The Material Icon to display in this paper button */ icon: JSX.Element; /** The function to trigger when clicking this button */ clickEvent: ToolbarButtonProps['onClick']; /** * Whether this button should be disabled or not * @default false */ disabled?: ToolbarButtonProps['disabled']; /** * The text content to put in the tooltip * @default 'Click Me' */ tooltipText?: ToolbarButtonProps['tooltipText']; /** * The placement for the tooltip * @default top */ tooltipPlacement?: ToolbarButtonProps['tooltipPlacement']; /** * Disables the inclusion of a tooltip * @default false */ disableTooltip?: ToolbarButtonProps['disableTooltip']; } export interface ToolbarProps extends Pick<SearchBarProps, 'paperElevation' | 'clearSearch'> { /** The debounce timeout to wait until a search action should be performed */ searchdebounce?: number; /** The label to display when no text is in the search input box */ searchplaceholderlabel: ReactNode; /** The action to trigger when searching (taking debounce into account) */ onsearchinput: <T extends string>(searchTerms: T) => unknown; /** The action to trigger when clearing the search */ onsearchclear: () => unknown; /** Data-qa tag to apply to the search bar and input element */ 'data-qa'?: string; /** Custom CSS classes to pass to the toolbar */ customclasses?: string | string[]; /** Custom CSS classes to pass to the inner searchbar */ customSearchbarClasses?: string | string[]; /** Any additional icons to display before the search bar */ extraIcons?: RenderIconProps[]; /** Any additional properties passed to the search bar */ SearchbarProps?: SearchBarProps; } /** * Constructs icons for the table toolbar * @param iconData The icons to render */ export declare const renderIcons: (iconData: RenderIconProps[]) => JSX.Element[]; /** * Constructs a table toolbar using pre-defined Rijkswaterstaat styling * @param props Props to pass to the Toolbar * @example * ```jsx * <Toolbar * searchplaceholderlabel='Search...' * onsearchinput={console.log} * onsearchclear={console.log} * searchdebounce={console.log} * data-qa={{ ...tableQas }} * extraIcons={props.extraIcons} * /> * ``` */ export declare const Toolbar: React.MemoExoticComponent<({ extraIcons, clearSearch, searchplaceholderlabel, onsearchclear, onsearchinput, customSearchbarClasses, customclasses, searchdebounce, paperElevation, SearchbarProps, "data-qa": dataQa, ...props }: ToolbarProps) => JSX.Element>; //# sourceMappingURL=index.d.ts.map