Checkboxes
Fake checkbox (peer + sr-only) — color × appearance (solid / soft / base-100 / base-200 / base-300) × size
Minimal
<x-checkbox color="primary" label="primary" checked />
<x-checkbox color="secondary" label="secondary" checked />
<x-checkbox color="accent" label="accent" checked />
<x-checkbox color="neutral" label="neutral" checked />
<x-checkbox color="info" label="info" checked />
<x-checkbox color="success" label="success" checked />
<x-checkbox color="warning" label="warning" checked />
<x-checkbox color="error" label="error" checked />
<label for="checkbox_6a7e9b631cb79" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cb79" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">primary</span></span></label>
<label for="checkbox_6a7e9b631cbbe" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cbbe" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-secondary/10 border-transparent text-secondary/80 peer-checked:bg-secondary/15 peer-checked:border-secondary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">secondary</span></span></label>
<label for="checkbox_6a7e9b631cbf7" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cbf7" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-accent/10 border-transparent text-accent/80 peer-checked:bg-accent/15 peer-checked:border-accent/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">accent</span></span></label>
<label for="checkbox_6a7e9b631cc2d" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cc2d" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-content/10 border-transparent text-base-content/80 peer-checked:bg-base-content/15 peer-checked:border-base-content/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">neutral</span></span></label>
<label for="checkbox_6a7e9b631cc63" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cc63" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-info/10 border-transparent text-info/80 peer-checked:bg-info/15 peer-checked:border-info/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">info</span></span></label>
<label for="checkbox_6a7e9b631cc98" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cc98" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-success/10 border-transparent text-success/80 peer-checked:bg-success/15 peer-checked:border-success/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">success</span></span></label>
<label for="checkbox_6a7e9b631cccd" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cccd" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-warning/10 border-transparent text-warning/80 peer-checked:bg-warning/15 peer-checked:border-warning/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">warning</span></span></label>
<label for="checkbox_6a7e9b631cd01" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b631cd01" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-error/10 border-transparent text-error/80 peer-checked:bg-error/15 peer-checked:border-error/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">error</span></span></label>
appearance=soft x color
<x-checkbox appearance="soft" color="primary" label="primary" checked />
<x-checkbox appearance="soft" color="secondary" label="secondary" checked />
<x-checkbox appearance="soft" color="accent" label="accent" checked />
<x-checkbox appearance="soft" color="neutral" label="neutral" checked />
<x-checkbox appearance="soft" color="info" label="info" checked />
<x-checkbox appearance="soft" color="success" label="success" checked />
<x-checkbox appearance="soft" color="warning" label="warning" checked />
<x-checkbox appearance="soft" color="error" label="error" checked />
<label for="checkbox_6a7e9b633f829" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f829" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">primary</span></span></label>
<label for="checkbox_6a7e9b633f86e" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f86e" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-secondary/10 border-transparent text-secondary/80 peer-checked:bg-secondary/15 peer-checked:border-secondary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">secondary</span></span></label>
<label for="checkbox_6a7e9b633f8ab" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f8ab" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-accent/10 border-transparent text-accent/80 peer-checked:bg-accent/15 peer-checked:border-accent/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">accent</span></span></label>
<label for="checkbox_6a7e9b633f8e7" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f8e7" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-content/10 border-transparent text-base-content/80 peer-checked:bg-base-content/15 peer-checked:border-base-content/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">neutral</span></span></label>
<label for="checkbox_6a7e9b633f922" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f922" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-info/10 border-transparent text-info/80 peer-checked:bg-info/15 peer-checked:border-info/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">info</span></span></label>
<label for="checkbox_6a7e9b633f95c" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f95c" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-success/10 border-transparent text-success/80 peer-checked:bg-success/15 peer-checked:border-success/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">success</span></span></label>
<label for="checkbox_6a7e9b633f996" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f996" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-warning/10 border-transparent text-warning/80 peer-checked:bg-warning/15 peer-checked:border-warning/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">warning</span></span></label>
<label for="checkbox_6a7e9b633f9d0" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b633f9d0" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-error/10 border-transparent text-error/80 peer-checked:bg-error/15 peer-checked:border-error/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">error</span></span></label>
appearance=base-200 (on a base-200 surface)
<x-checkbox appearance="base-200" color="primary" label="base-200 appearance on a base-200 surface" checked />
<x-checkbox appearance="base-200" color="success" label="success" />
<x-checkbox appearance="base-200" color="neutral" label="neutral" indeterminate />
<label for="checkbox_6a7e9b6362b5e" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b6362b5e" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-200 border-base-content/15 text-primary/80 peer-checked:border-primary/70"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">base-200 appearance on a base-200 surface</span></span></label>
<label for="checkbox_6a7e9b6362bb2" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b6362bb2" class="peer sr-only">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-200 border-base-content/15 text-success/80 peer-checked:border-success/70"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">success</span></span></label>
<label for="checkbox_6a7e9b6362bf2" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b6362bf2" class="peer sr-only" x-data="" x-init="$el.indeterminate = true">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-200 border-base-content/15 text-base-content/80 peer-checked:border-base-content/70"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">neutral</span></span></label>
size — sm / md / lg
<x-checkbox size="sm" label="size sm" checked />
<x-checkbox size="md" label="size md (default)" checked />
<x-checkbox size="lg" label="size lg" checked />
<label for="checkbox_6a7e9b63707ef" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b63707ef" class="peer sr-only" checked>
<span class="size-3.5 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-2.5 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-2.5 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-xs)] text-base-content select-none leading-snug">size sm</span></span></label>
<label for="checkbox_6a7e9b637084a" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b637084a" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">size md (default)</span></span></label>
<label for="checkbox_6a7e9b6370890" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b6370890" class="peer sr-only" checked>
<span class="size-5 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3.5 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3.5 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-md)] text-base-content select-none leading-snug">size lg</span></span></label>
states — unchecked / checked / indeterminate
<x-checkbox label="Unchecked" />
<x-checkbox label="Checked" checked />
<x-checkbox label="Indeterminate (partially selected)" indeterminate />
<label for="checkbox_6a7e9b637e066" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b637e066" class="peer sr-only">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Unchecked</span></span></label>
<label for="checkbox_6a7e9b637e0b0" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b637e0b0" class="peer sr-only" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Checked</span></span></label>
<label for="checkbox_6a7e9b637e0f0" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b637e0f0" class="peer sr-only" x-data="" x-init="$el.indeterminate = true">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Indeterminate (partially selected)</span></span></label>
With description
<x-checkbox name="news" label="Receive the newsletter" description="1-2 times a month. You can unsubscribe anytime." checked />
<x-checkbox name="terms" appearance="soft" color="success" label="I agree to the terms of service" description="Please read them before continuing." required />
<x-checkbox name="marketing" appearance="base-100" color="accent" label="Marketing emails" description="Product news and campaign information." checked />
<label for="news_6a7e9b638bd36" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="news_6a7e9b638bd36" class="peer sr-only" name="news" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Receive the newsletter</span></span></label>
<p class="ml-6 mt-1 text-[length:var(--text-field-xs)] text-base-content/60 leading-snug">
1-2 times a month. You can unsubscribe anytime.
</p><label for="terms_6a7e9b638bd7c" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="terms_6a7e9b638bd7c" class="peer sr-only" name="terms" required="required">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-success/10 border-transparent text-success/80 peer-checked:bg-success/15 peer-checked:border-success/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">I agree to the terms of service</span></span></label>
<p class="ml-6 mt-1 text-[length:var(--text-field-xs)] text-base-content/60 leading-snug">
Please read them before continuing.
</p><label for="marketing_6a7e9b638bdbf" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="marketing_6a7e9b638bdbf" class="peer sr-only" name="marketing" checked>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-100 border-base-content/15 text-accent/80 peer-checked:border-accent/70"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Marketing emails</span></span></label>
<p class="ml-6 mt-1 text-[length:var(--text-field-xs)] text-base-content/60 leading-snug">
Product news and campaign information.
</p>
Error state
<x-checkbox name="agree" label="Please agree" description="Agreement is required to continue" error="This field is required" />
<label for="agree_6a7e9b639ae9a" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="agree_6a7e9b639ae9a" class="peer sr-only" name="agree">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-error/10 border-transparent text-error/80 peer-checked:bg-error/15 peer-checked:border-error/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-error select-none leading-snug">Please agree</span></span></label>
<p class="ml-6 mt-1 text-[length:var(--text-field-xs)] text-error leading-snug">
Agreement is required to continue
</p>
disabled
<x-checkbox label="Disabled (unchecked)" disabled />
<x-checkbox label="Disabled (checked)" checked disabled />
<x-checkbox appearance="soft" color="info" label="Disabled (soft + checked)" checked disabled />
<x-checkbox appearance="base-100" color="primary" label="Disabled (base-100 + checked)" checked disabled />
<label for="checkbox_6a7e9b63a0383" class="block cursor-not-allowed opacity-60"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b63a0383" class="peer sr-only" disabled>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content/60 select-none leading-snug">Disabled (unchecked)</span></span></label>
<label for="checkbox_6a7e9b63a03d0" class="block cursor-not-allowed opacity-60"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b63a03d0" class="peer sr-only" checked disabled>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content/60 select-none leading-snug">Disabled (checked)</span></span></label>
<label for="checkbox_6a7e9b63a0411" class="block cursor-not-allowed opacity-60"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b63a0411" class="peer sr-only" checked disabled>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-info/10 border-transparent text-info/80 peer-checked:bg-info/15 peer-checked:border-info/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content/60 select-none leading-snug">Disabled (soft + checked)</span></span></label>
<label for="checkbox_6a7e9b63a044f" class="block cursor-not-allowed opacity-60"><span class="flex items-center gap-2"><input type="checkbox" id="checkbox_6a7e9b63a044f" class="peer sr-only" checked disabled>
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-base-100 border-base-content/15 text-primary/80 peer-checked:border-primary/70"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content/60 select-none leading-snug">Disabled (base-100 + checked)</span></span></label>
group (multi-select)
<fieldset class="flex flex-col gap-sm">
<x-checkbox name="fruits[]" value="apple" label="Apple" />
<x-checkbox name="fruits[]" value="banana" label="Banana" />
<x-checkbox name="fruits[]" value="cherry" label="Cherry" />
<x-checkbox name="fruits[]" value="durian" label="Durian" />
</fieldset>
<fieldset class="flex flex-col gap-sm">
<label for="fruits___6a7e9b63b26fd" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="fruits___6a7e9b63b26fd" class="peer sr-only" name="fruits[]" value="apple">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Apple</span></span></label>
<label for="fruits___6a7e9b63b275c" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="fruits___6a7e9b63b275c" class="peer sr-only" name="fruits[]" value="banana">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Banana</span></span></label>
<label for="fruits___6a7e9b63b27a6" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="fruits___6a7e9b63b27a6" class="peer sr-only" name="fruits[]" value="cherry">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Cherry</span></span></label>
<label for="fruits___6a7e9b63b27e9" class="block cursor-pointer"><span class="flex items-center gap-2"><input type="checkbox" id="fruits___6a7e9b63b27e9" class="peer sr-only" name="fruits[]" value="durian">
<span class="size-4 relative shrink-0 inline-flex items-center justify-center border-[length:var(--border)] rounded-[var(--size-selector)] transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-offset-1 peer-focus-visible:ring-current peer-checked:[&_.xy-check]:opacity-100 peer-indeterminate:[&_.xy-dash]:opacity-100 bg-primary/10 border-transparent text-primary/80 peer-checked:bg-primary/15 peer-checked:border-primary/30"><svg class="xy-check size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 13l4 4L19 7"></path></svg>
<svg class="xy-dash size-3 absolute opacity-0 transition-opacity pointer-events-none" fill="none" stroke="currentcolor" stroke-width="3" viewbox="0 0 24 24" aria-hidden="true">
<path stroke-linecap="round" d="M6 12h12"></path></svg></span>
<span class="text-[length:var(--text-field-sm)] text-base-content select-none leading-snug">Durian</span></span></label>
</fieldset>