@carbon/ibm-products
Version:
Carbon for IBM Products
66 lines (65 loc) • 2.35 kB
TypeScript
import React, { PropsWithChildren, ForwardedRef } from 'react';
import { ButtonProps } from '@carbon/react';
import { CarbonIconType } from '@carbon/icons-react/lib/CarbonIcon';
interface Action extends ButtonProps<React.ElementType> {
id?: string;
key: string;
iconDescription: string;
label: string;
onClick?: () => void;
renderIcon: CarbonIconType;
}
interface ActionBarProps extends PropsWithChildren {
/**
* Specifies the action bar items. Each item is specified as an object
* with required fields: key for array rendering, renderIcon, iconDescription and
* label to provide the icon to display,
* and optional 'onClick' to receive notifications when the button is clicked.
* Additional fields in the object will be passed to the
* Button component, and these can include 'disabled', 'ref', 'className',
* and any other Button props.
*
* Note that the Button props 'kind', 'size',
* 'tooltipPosition', 'tooltipAlignment' and 'type' are ignored, as these
* cannot be used for an action bar item.
*
* Carbon Button API https://react.carbondesignsystem.com/?path=/docs/components-button--default#component-api
*/
actions?: readonly Action[];
/**
* className
*/
className?: string;
/**
* maxVisible : Maximum action bar items visible before going into the overflow menu
*/
maxVisible?: number;
/**
* class name applied to the overflow options
*/
menuOptionsClass?: string;
/**
* onItemCountChange - event reporting maxWidth
*/
onWidthChange?: (sizes?: {
minWidth?: number;
maxWidth?: number;
}) => void;
/**
* overflowAriaLabel label for open close button overflow used for action bar items that do nto fit.
*/
overflowAriaLabel: string;
/**
* overflowMenuRef for the overflow menu width that is needed to calculate the width of the action bar with overflow
*/
overflowMenuRef?: ForwardedRef<HTMLDivElement>;
/**
* align tags to right of available space
*/
rightAlign?: boolean;
}
/**
* The ActionBar is used internally by the PageHeader to wrap ActionBarItems.
*/
export declare let ActionBar: React.ForwardRefExoticComponent<ActionBarProps & React.RefAttributes<HTMLDivElement>>;
export {};