@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
TypeScript
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;
}
}