checkboxpackage.src.vaadin-checkbox-styles.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-webcomponents Show documentation
Show all versions of vaadin-webcomponents Show documentation
Mvnpm composite: Vaadin webcomponents
The newest version!
/**
* @license
* Copyright (c) 2017 - 2024 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) {
opacity: 0;
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;
}
}
`;