Command Palette

Search for a command...

Toggle Group

A set of two-state buttons that can be toggled on or off.

import { LuBold, LuItalic, LuUnderline } from "react-icons/lu";
import { css } from "styled-system/css";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";

export default function ToggleGroupDemo() {
  return (
    <ToggleGroup type="multiple">
      <ToggleGroupItem value="bold" aria-label="Toggle bold">
        <LuBold className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="italic" aria-label="Toggle italic">
        <LuItalic className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="underline" aria-label="Toggle underline">
        <LuUnderline className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
    </ToggleGroup>
  );
}

Installation

npx nore-ui-cli@latest add toggle-group

Usage

import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";
<ToggleGroup type="single">
  <ToggleGroupItem value="a">A</ToggleGroupItem>
  <ToggleGroupItem value="b">B</ToggleGroupItem>
  <ToggleGroupItem value="c">C</ToggleGroupItem>
</ToggleGroup>

Examples

Outline

import { LuBold, LuItalic, LuUnderline } from "react-icons/lu";
import { css } from "styled-system/css";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";

export default function ToggleGroupDemo() {
  return (
    <ToggleGroup variant="outline" type="multiple">
      <ToggleGroupItem value="bold" aria-label="Toggle bold">
        <LuBold className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="italic" aria-label="Toggle italic">
        <LuItalic className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="underline" aria-label="Toggle underline">
        <LuUnderline className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
    </ToggleGroup>
  );
}

Single

import { LuAlignCenter, LuAlignJustify, LuAlignLeft, LuAlignRight } from "react-icons/lu";
import { css } from "styled-system/css";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";

export default function ToggleGroupSingle() {
  return (
    <ToggleGroup type="single">
      <ToggleGroupItem value="left" aria-label="Align left">
        <LuAlignLeft className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="center" aria-label="Align center">
        <LuAlignCenter className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="right" aria-label="Align right">
        <LuAlignRight className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
      <ToggleGroupItem value="justify" aria-label="Align justify">
        <LuAlignJustify className={css({ w: "4", h: "4" })} />
      </ToggleGroupItem>
    </ToggleGroup>
  );
}