UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

68 lines 2.07 kB
import * as React from 'react'; import type { BaseUIComponentProps, NonNativeButtonProps } from "../../utils/types.js"; import type { MenuRoot } from "../root/MenuRoot.js"; /** * A menu item that toggles a setting on or off. * Renders a `<div>` element. * * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu) */ export declare const MenuCheckboxItem: React.ForwardRefExoticComponent<MenuCheckboxItem.Props & React.RefAttributes<Element>>; export declare namespace MenuCheckboxItem { type State = { /** * Whether the checkbox item should ignore user interaction. */ disabled: boolean; /** * Whether the checkbox item is currently highlighted. */ highlighted: boolean; /** * Whether the checkbox item is currently ticked. */ checked: boolean; }; interface Props extends NonNativeButtonProps, BaseUIComponentProps<'div', State> { /** * Whether the checkbox item is currently ticked. * * To render an uncontrolled checkbox item, use the `defaultChecked` prop instead. */ checked?: boolean; /** * Whether the checkbox item is initially ticked. * * To render a controlled checkbox item, use the `checked` prop instead. * @default false */ defaultChecked?: boolean; /** * Event handler called when the checkbox item is ticked or unticked. */ onCheckedChange?: (checked: boolean, eventDetails: MenuRoot.ChangeEventDetails) => void; children?: React.ReactNode; /** * The click handler for the menu item. */ onClick?: React.MouseEventHandler<HTMLElement>; /** * Whether the component should ignore user interaction. * @default false */ disabled?: boolean; /** * Overrides the text label to use when the item is matched during keyboard text navigation. */ label?: string; /** * @ignore */ id?: string; /** * Whether to close the menu when the item is clicked. * @default false */ closeOnClick?: boolean; } }