Aller au contenu

Checkbox

Les Checkboxes sont utilisées pour la sélection parmi plusieurs options. Elles peuvent être basculées entre les états coché, non coché et un état intermédiaire.

Pour utiliser la Checkbox, importez-la depuis vos composants et passez les props checked, onCheckedChange et optionnellement disabled, size et color.

Une checkbox simple avec une configuration minimale.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxBasicDemo() {
const [checked, setChecked] = useState(true);
return (
<Checkbox
checked={checked}
onCheckedChange={(newChecked) => setChecked(newChecked)}
/>
);
}

Une checkbox qui illustre l’état indéterminé, généralement utilisé pour les scénarios “tout sélectionner” où toutes les sous-sélections ne sont pas faites.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxIndeterminateDemo() {
const [indeterminate, setIndeterminate] = useState(true);
const [checked, setChecked] = useState(false);
return (
<Checkbox
checked={checked}
indeterminate={indeterminate}
onCheckedChange={(newChecked) => {
if (indeterminate) {
setIndeterminate(false);
setChecked(true);
} else if (checked) {
setChecked(false);
} else {
setIndeterminate(true);
}
}}
/>
);
}

Illustration de l’utilisation de différentes tailles pour le composant checkbox.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxSizeDemo() {
const [checked, setChecked] = useState(true);
return (
<div className="flex flex-col items-center gap-4">
<Checkbox
size="small"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
<Checkbox
size="medium"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
<Checkbox
size="large"
checked={checked}
onCheckedChange={setChecked}
color="primary"/>
</div>
);
}

Démontre l’utilisation de la prop color pour personnaliser l’apparence de la checkbox.

import React, { useState } from "react";
import { Checkbox } from "@firecms/ui";
export default function CheckboxColorDemo() {
const [checkedPrimary, setCheckedPrimary] = useState(true);
const [checkedSecondary, setCheckedSecondary] = useState(true);
return (
<div className="flex flex-col items-center gap-4">
<Checkbox
size="medium"
checked={checkedPrimary}
onCheckedChange={setCheckedPrimary}
color="primary"
/>
<Checkbox
size="medium"
checked={checkedSecondary}
onCheckedChange={setCheckedSecondary}
color="secondary"
/>
</div>
);
}