@universal-material/web
Version:
Material web components
67 lines (60 loc) • 1.69 kB
JavaScript
import { css } from 'lit';
export const styles = css `
:host {
--_state-layer-padding: var(--u--state-layer-padding, 4px);
--_input-size: calc(var(--_width) - var(--_state-layer-padding) * 2);
--_indicator-color: var(--u--indicator-unselected-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
display: inline-block;
vertical-align: middle;
}
.container {
cursor: pointer;
position: relative;
width: var(--_width);
height: var(--_height);
padding: var(--_state-layer-padding);
border-radius: var(--u-shape-corner-full, 9999px);
}
:host([hide-state-layer]) .container {
width: var(--_indicator-size);
height: var(--_indicator-size);
padding: 0;
}
:host([hide-state-layer]) u-ripple {
display: none;
}
input {
cursor: pointer;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
border-radius: inherit;
appearance: none;
}
u-ripple {
padding: var(--_state-layer-padding);
}
.indicator-container {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
inset: 0;
pointer-events: none;
}
input:checked ~ .indicator-container {
--_indicator-color: var(--u--indicator-selected-color, var(--u-color-primary, rgb(103, 80, 164)));
}
:host([disabled]) {
opacity: var(--u--disabled-state-opacity, 0.38);
}
:host([disabled]) input,
:host([disabled]) .container {
cursor: default;
}
:host([disabled]) .indicator-container {
--_indicator-color: var(--u--indicator-disabled-color, var(--u-color-on-surface, rgb(29, 27, 32)));
}
`;
//# sourceMappingURL=selection-control.styles.js.map