Skip to content

Checkbox: add theme variant for toggle-button  #7797

Open
@manolo

Description

@manolo

Describe your motivation

Since a checkbox can be displayed as a toggle-button just using CSS, it would be nice if we have this variant

Describe the solution you'd like

Add a theme variant <vaadin-checkbox theme=toggle>
Add some css as described in this solution

vaadin-checkbox[theme~="toggle"]::part(checkbox) {
    border-radius: 9999px;
    width: var(--lumo-size-m);
}

vaadin-checkbox[theme~="toggle"]::part(checkbox)::after {
    content: "";
    height: calc(var(--lumo-size-m) / 3);
    background-color: var(--lumo-secondary-text-color);
    border-radius: 9999px;
    inset: 0;
    margin: calc(var(--lumo-size-m) / 12);
    opacity: 1;
    transition: transform 0.2s;
    width: calc(var(--lumo-size-m) / 3);
}

vaadin-checkbox[theme~="toggle"][checked]::part(checkbox)::after {
    background-color: var(--lumo-primary-contrast-color);
    transform: translateX(calc(var(--lumo-size-m) / 2));
}

Describe alternatives you've considered

An addon for vaadin extending the CheckBox component, but that makes things complicated, and difficult to maintain.

Additional context

I tried the plugin from the addon, and it fails in 24.5.0.beta

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions