Toggle
Live Demos HubToggle
Interactive production-grade hypermedia component for HTMXUI.
Interactive Preview
HTML Source
<!--
Component: toggle.html
Configurable State: themeColor ('primary'|'secondary'|'destructive'), size ('sm'|'md'|'lg'), isOpen (boolean)
Usage: Bind styles dynamically using hx-class="{ 'bg-primary': themeColor === 'primary' }" or hx-style="{ width: size === 'lg' ? '100%' : 'auto' }"
-->
<label hx-ext="reactive" hx-state="{ themeColor: \'primary\', size: \'md\', isOpen: false }" class="inline-flex cursor-pointer">
<input type="checkbox" class="peer hidden" name="{name}" {checked} hx-post="{update_url}" hx-trigger="change" />
<div class="inline-flex h-10 items-center justify-center rounded-md bg-transparent px-3 py-2 text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground peer-checked:bg-accent peer-checked:text-accent-foreground peer-focus-visible:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-ring">
{icon_or_text}
</div>
</label>