<MenuBar
isActive="bold"
optionIds
options={[
  {
    icon: <TextBolderIcon />,
    id: "bold",
    tooltip: "Bold",
    onClick: () => {},
  },
  {
    icon: <TextItalicIcon />,
    id: "italic",
    tooltip: "Italic",
    onClick: () => {},
  },
]}
/>

Installation

Barrel

import { MenuBar } from "@cloudflare/kumo";

Granular

import { MenuBar } from "@cloudflare/kumo/components/menubar";

Usage

import { MenuBar } from "@cloudflare/kumo";
import { TextBolderIcon } from "@phosphor-icons/react";

export default function Example() {
return (
  <MenuBar
    options={[
      {
        icon: <TextBolderIcon />,
        id: "bold",
        tooltip: "Bold",
        onClick: () => console.log("Bold clicked"),
      },
    ]}
  />
);
}

Examples

Text Formatting

<MenuBar

isActive="bold"
optionIds
options={[
{
icon: <TextBolderIcon />,
id: "bold",
tooltip: "Bold",
onClick: () => {},
},
{
icon: <TextItalicIcon />,
id: "italic",
tooltip: "Italic",
onClick: () => {},
},
]}
/>

Without Active State

<MenuBar

isActive=""
optionIds
options={[
{
icon: <TextBolderIcon />,
id: "bold",
tooltip: "Bold",
onClick: () => {},
},
{
icon: <TextItalicIcon />,
id: "italic",
tooltip: "Italic",
onClick: () => {},
},
]}
/>

API Reference

PropTypeDefaultDescription
classNamestring-Additional CSS classes merged via `cn()`.
isActivenumber | boolean | string-The currently active option value — matched against option index or `id`.
options*MenuOptionProps[]-Array of menu option configurations.
optionIdsboolean-When true, each option's `id` field is used for matching instead of its array index.