Pular para o conteúdo

Etiqueta (Label)

O componente Label é um componente simples e versátil usado para exibir conteúdo de texto com estilo de rótulo. Geralmente é usado para exibir um rótulo para um campo de entrada, como um checkbox ou botão de rádio.

Para usar o componente Label, importe-o dos seus componentes. Você pode passar uma prop border para adicionar uma borda ao redor do rótulo. Você também pode passar qualquer uma das props HTML label, como htmlFor, className e style.

Exemplo simples de uso do componente Label para criar uma superfície básica para conteúdo.

import React from "react";
import { Checkbox, Label } from "@firecms/ui";
export default function LabelCheckboxDemo() {
const [checked, setChecked] = React.useState(false);
return (
<Label
border={true}
className="cursor-pointer p-2 flex items-center gap-2 [&:has(:checked)]:bg-surface-100 dark:[&:has(:checked)]:bg-surface-800"
htmlFor="my-filter"
>
<Checkbox id="my-filter"
checked={checked}
size={"small"}
onCheckedChange={setChecked}/>
Filter for null values
</Label>
);
}

Este é um exemplo de uso do componente Label com um botão de rádio.

import React from "react";
import { Label, RadioGroup, RadioGroupItem } from "@firecms/ui";
export default function LabelRadioButtonDemo() {
return (
<div className={"flex flex-col gap-2"}>
<Label className="text-base" htmlFor="color">
Color
</Label>
<RadioGroup className="flex flex-col gap-2" defaultValue="black" id="color">
<Label
border={true}
className="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
border={true}
className="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"/>
White
</Label>
<Label
border={true}
className="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>
</div>
);
}