# All files MenuItemCheckbox.tsx

100% Statements 46/46
100% Branches 1/1
100% Functions 1/1
100% Lines 46/46

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    471x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    20x
    20x
     "use client";
    import { forwardRef } from "react";
    import {
      MenuItemInputToggle,
      type MenuItemCheckboxProps,
    } from "./MenuItemInputToggle.js";
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    import { type ICON_CONFIG } from "../icon/iconConfig.js";

    /**
     * **Client Component**
     *
     * This is a simple wrapper for the {@link MenuItemInputToggle} component to
     * render it as a checkbox and pulling the checkbox icon from the
     * {@link ICON_CONFIG}.
     *
     * @example
     * Simple Example
     * ```tsx
     * import { DropdownMenu, MenuItemCheckbox } from "@react-md/core";
     * import { ReactElement, useState } from "react";
     *
     * function Example(): ReactElement {
     *   const [checked, setChecked] = useState(false);
     *
     *   return (
     *     <DropdownMenu buttonChildren="Button">
     *       <MenuItemCheckbox
     *         checked={checked}
     *         onCheckedChange={(nextChecked) => setChecked(nextChecked)}
     *       >
     *         Checkbox
     *      </MenuItemCheckbox>
     *     </DropdownMenu>
     *   );
     * }
     * ```
     *
     * @remarks \@since 2.8.0
     */
    export const MenuItemCheckbox = forwardRef<
      HTMLLIElement,
      MenuItemCheckboxProps
    >(function MenuItemCheckbox(props, ref) {
      return <MenuItemInputToggle {...props} ref={ref} type="checkbox" />;
    });