Grupo de botões de rádio
Radio Group permite que os usuários selecionem uma opção de um conjunto. É útil para cenários de seleção exclusiva onde apenas uma escolha é permitida.
Cada item do grupo de rádio é representado por um componente RadioGroupItem e tipicamente envolvido por um componente Label.
Para usar o RadioGroup e o RadioGroupItem, importe-os dos seus componentes e estruture suas opções usando o RadioGroup como contêiner e o RadioGroupItem para cada opção.
Grupo de rádio básico
Seção intitulada “Grupo de rádio básico”Um exemplo básico de um grupo de rádio, permitindo seleção simples.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupBasicDemo() { return ( <RadioGroup onValueChange={(value) => console.log(value)}> <Label className="flex items-center gap-2" htmlFor="color-black"> <RadioGroupItem id="color-black" value="black"/> Black </Label> <Label className="flex items-center gap-2" htmlFor="color-white"> <RadioGroupItem id="color-white" value="white"/> White </Label> <Label className="flex items-center gap-2" htmlFor="color-blue"> <RadioGroupItem id="color-blue" value="blue"/> Blue </Label> </RadioGroup> );}Personalizando a aparência dos itens do grupo de rádio
Seção intitulada “Personalizando a aparência dos itens do grupo de rádio”Este exemplo demonstra como personalizar a aparência de itens individuais do grupo de rádio.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupCustomDemo() { return ( <RadioGroup onValueChange={(value) => console.log(value)}> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-small"> <RadioGroupItem id="size-small" value="small"/> Small </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-medium"> <RadioGroupItem id="size-medium" value="medium"/> Medium </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="size-large"> <RadioGroupItem id="size-large" value="large"/> Large </Label> </RadioGroup> );}Grupo de rádio desabilitado
Seção intitulada “Grupo de rádio desabilitado”Como desabilitar o grupo de rádio inteiro ou itens individuais dentro dele.
import React from "react";import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function RadioGroupDisabledDemo() { return ( <RadioGroup className="flex items-center gap-2" defaultValue="black" id="color"> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-black" > <RadioGroupItem id="color-black" value="black"/> Black </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-white" > <RadioGroupItem id="color-white" value="white" disabled/> White </Label> <Label className="border cursor-pointer rounded-md p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800" htmlFor="color-blue" > <RadioGroupItem id="color-blue" value="blue"/> Blue </Label> </RadioGroup> );}