@rws-air/webcomponents
Version:
Standard Webcomponents for AIR projects
71 lines • 2.85 kB
TypeScript
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