Zum Inhalt springen

Beschriftung (Label)

Die Label-Komponente ist eine einfache und vielseitige Komponente, die verwendet wird, um Textinhalte in einem typischen Beschriftungs-Stil anzuzeigen. Normalerweise wird sie verwendet, um ein Label für ein Eingabefeld wie eine Checkbox oder einen Radiobutton anzuzeigen.

Um die Label-Komponente zu verwenden, importieren Sie sie aus Ihren Komponenten. Sie können eine border-Eigenschaft übergeben, um einen Rahmen um das Label hinzuzufügen. Sie können auch alle HTML-label-Eigenschaften übergeben, wie z.B. htmlFor, className und style.

Einfaches Beispiel für die Verwendung der Label-Komponente, um eine grundlegende Oberfläche für Inhalte zu erstellen.

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>
);
}

Dies ist ein Beispiel für die Verwendung der Label-Komponente mit einem Radio-Button.

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>
);
}