# All files / src/form MenuItemSwitch.tsx

0% Statements 0/42
0% Branches 0/1
0% Functions 0/1
0% Lines 0/42

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

     "use client";
    import { forwardRef } from "react";
    import {
      MenuItemInputToggle,
      type MenuItemSwitchProps,
    } from "./MenuItemInputToggle.js";

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