@vaadin/field-base
Version:
Vaadin field base mixins
61 lines (52 loc) • 1.63 kB
JavaScript
/**
* @license
* Copyright (c) 2021 - 2026 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
import '@vaadin/component-base/src/styles/style-props.js';
import { css } from 'lit';
export const button = css`
[part$='button'] {
color: var(--vaadin-input-field-button-text-color, var(--vaadin-text-color-secondary));
cursor: var(--vaadin-clickable-cursor);
touch-action: manipulation;
-webkit-tap-highlight-color: transparent;
-webkit-user-select: none;
user-select: none;
/* Ensure minimum click target (WCAG) */
padding: max(0px, (24px - 1lh) / 2);
margin: min(0px, (24px - 1lh) / -2);
}
/* Icon */
[part$='button']::before {
background: currentColor;
content: '';
display: block;
height: var(--vaadin-icon-size, 1lh);
width: var(--vaadin-icon-size, 1lh);
mask-size: var(--vaadin-icon-visual-size, 100%);
mask-position: 50%;
mask-repeat: no-repeat;
}
:host(:is(:not([clear-button-visible][has-value]), [disabled], [readonly])) [part~='clear-button'] {
display: none;
}
[part~='clear-button']::before {
mask-image: var(--_vaadin-icon-cross);
}
:host(:is([readonly], [disabled])) [part$='button'] {
color: var(--vaadin-text-color-disabled);
cursor: var(--vaadin-disabled-cursor);
}
@media (forced-colors: active) {
[part$='button']::before {
background: CanvasText;
}
:host([disabled]) [part$='button'] {
color: GrayText;
}
:host([disabled]) [part$='button']::before {
background: GrayText;
}
}
`;