Documentação
Toggle Group
Um conjunto de botões de dois estados que podem ser alternados entre ligado e desligado.
Carregando…
"use client";
import {
ToggleGroup,
ToggleGroupItem,
} from "@blips/ui/components/toggle-group";
import { TextB, TextItalic, TextUnderline } from "@phosphor-icons/react";
export default function ToggleGroupDemo() {
return (
<ToggleGroup type="multiple">
<ToggleGroupItem value="bold" aria-label="Toggle bold">
<TextB className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="italic" aria-label="Toggle italic">
<TextItalic className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="underline" aria-label="Toggle underline">
<TextUnderline className="h-4 w-4" />
</ToggleGroupItem>
</ToggleGroup>
);
}
Instalação
Uso
import { ToggleGroup, ToggleGroupItem } from "@blips/ui/components/toggle-group"<ToggleGroup type="single">
<ToggleGroupItem value="a">A</ToggleGroupItem>
<ToggleGroupItem value="b">B</ToggleGroupItem>
<ToggleGroupItem value="c">C</ToggleGroupItem>
</ToggleGroup>Exemplos
Outline
Use variant="outline" para um estilo com contorno.
Carregando…
"use client";
import {
ToggleGroup,
ToggleGroupItem,
} from "@blips/ui/components/toggle-group";
import { TextB, TextItalic, TextUnderline } from "@phosphor-icons/react";
export default function ToggleGroupOutline() {
return (
<ToggleGroup type="multiple" variant="outline">
<ToggleGroupItem value="bold" aria-label="Toggle bold">
<TextB className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="italic" aria-label="Toggle italic">
<TextItalic className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="underline" aria-label="Toggle underline">
<TextUnderline className="h-4 w-4" />
</ToggleGroupItem>
</ToggleGroup>
);
}
Espaçamento
Use spacing para adicionar espaço entre os itens do toggle group.
Carregando…
import {
ToggleGroup,
ToggleGroupItem,
} from "@blips/ui/components/toggle-group";
import { Bookmark, Heart, Star } from "@phosphor-icons/react";
export default function ToggleGroupSpacing() {
return (
<ToggleGroup type="multiple" variant="outline" spacing={2} size="sm">
<ToggleGroupItem
value="star"
aria-label="Toggle star"
className="data-[state=on]:bg-transparent data-[state=on]:*:[svg]:fill-yellow-500 data-[state=on]:*:[svg]:stroke-yellow-500"
>
<Star />
Star
</ToggleGroupItem>
<ToggleGroupItem
value="heart"
aria-label="Toggle heart"
className="data-[state=on]:bg-transparent data-[state=on]:*:[svg]:fill-red-500 data-[state=on]:*:[svg]:stroke-red-500"
>
<Heart />
Heart
</ToggleGroupItem>
<ToggleGroupItem
value="bookmark"
aria-label="Toggle bookmark"
className="data-[state=on]:bg-transparent data-[state=on]:*:[svg]:fill-blue-500 data-[state=on]:*:[svg]:stroke-blue-500"
>
<Bookmark />
Bookmark
</ToggleGroupItem>
</ToggleGroup>
);
}
Desabilitado
Carregando…
import {
ToggleGroup,
ToggleGroupItem,
} from "@blips/ui/components/toggle-group";
import { TextB, TextItalic, TextUnderline } from "@phosphor-icons/react";
export default function ToggleGroupDemo() {
return (
<ToggleGroup type="multiple" disabled>
<ToggleGroupItem value="bold" aria-label="Toggle bold">
<TextB className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="italic" aria-label="Toggle italic">
<TextItalic className="h-4 w-4" />
</ToggleGroupItem>
<ToggleGroupItem value="strikethrough" aria-label="Toggle strikethrough">
<TextUnderline className="h-4 w-4" />
</ToggleGroupItem>
</ToggleGroup>
);
}
Referência da API
Consulte a documentação do Radix Toggle Group.