@carbon/react
Version:
React components for the Carbon Design System
52 lines (51 loc) • 1.77 kB
TypeScript
/**
* Copyright IBM Corp. 2020, 2025
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import React, { type ElementType } from 'react';
import type { PopoverAlignment } from '../../Popover';
interface OverflowMenuProps {
/**
* **Experimental**: Will attempt to automatically align the floating element
* to avoid collisions with the viewport and being clipped by ancestor
* elements. Requires React v17+
* @see https://github.com/carbon-design-system/carbon/issues/18714
*/
autoAlign?: boolean;
/**
* A collection of MenuItems to be rendered within this OverflowMenu.
*/
children?: React.ReactNode;
/**
* Additional CSS class names for the trigger button.
*/
className?: string;
/**
* A label describing the options available. Is used in the trigger tooltip and as the menu's accessible label.
*/
label?: string;
/**
* Experimental property. Specify how the menu should align with the button element
*/
menuAlignment?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';
/**
* A component used to render an icon.
*/
renderIcon?: ElementType;
/**
* Specify the size of the menu, from a list of available sizes.
*/
size?: 'sm' | 'md' | 'lg';
/**
* Specify how the trigger tooltip should be aligned.
*/
tooltipAlignment?: PopoverAlignment;
/**
* Specify a DOM node where the Menu should be rendered in. Defaults to document.body.
*/
menuTarget?: Element;
}
declare const OverflowMenu: React.ForwardRefExoticComponent<OverflowMenuProps & React.RefAttributes<HTMLDivElement>>;
export { OverflowMenu };