UNPKG

@vaadin/checkbox

Version:
96 lines (80 loc) 2.15 kB
/** * @license * Copyright (c) 2017 - 2025 Vaadin Ltd. * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/ */ import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js'; export const checkboxStyles = css` :host { display: inline-block; } :host([hidden]) { display: none !important; } :host([disabled]) { -webkit-tap-highlight-color: transparent; } .vaadin-checkbox-container { display: grid; grid-template-columns: auto 1fr; align-items: baseline; } [part='checkbox'], ::slotted(input), [part='label'] { grid-row: 1; } [part='checkbox'], ::slotted(input) { grid-column: 1; } [part='helper-text'], [part='error-message'] { grid-column: 2; } :host(:not([has-helper])) [part='helper-text'], :host(:not([has-error-message])) [part='error-message'] { display: none; } [part='checkbox'] { width: var(--vaadin-checkbox-size, 1em); height: var(--vaadin-checkbox-size, 1em); --_input-border-width: var(--vaadin-input-field-border-width, 0); --_input-border-color: var(--vaadin-input-field-border-color, transparent); box-shadow: inset 0 0 0 var(--_input-border-width, 0) var(--_input-border-color); } [part='checkbox']::before { display: block; content: '\\202F'; line-height: var(--vaadin-checkbox-size, 1em); contain: paint; } /* visually hidden */ ::slotted(input) { cursor: inherit; margin: 0; align-self: stretch; -webkit-appearance: none; width: initial; height: initial; } @media (forced-colors: active) { [part='checkbox'] { outline: 1px solid; outline-offset: -1px; } :host([disabled]) [part='checkbox'], :host([disabled]) [part='checkbox']::after { outline-color: GrayText; } :host(:is([checked], [indeterminate])) [part='checkbox']::after { outline: 1px solid; outline-offset: -1px; border-radius: inherit; } :host([focused]) [part='checkbox'], :host([focused]) [part='checkbox']::after { outline-width: 2px; } } `;