UNPKG

@synergy-design-system/components

Version:
185 lines (152 loc) 4.83 kB
// src/components/radio/radio.styles.ts import { css } from "lit"; var radio_styles_default = css` /* stylelint-disable no-descending-specificity */ :host { display: block; } :host(:focus-visible) { outline: 0; } .radio { align-items: flex-start; color: var(--syn-input-label-color); cursor: pointer; display: inline-flex; font-family: var(--syn-input-font-family); font-size: var(--syn-input-font-size-medium); font-weight: var(--syn-input-font-weight); vertical-align: middle; } .radio--small { --toggle-size: var(--syn-toggle-size-small); font-size: var(--syn-input-font-size-small); } .radio--medium { --toggle-size: var(--syn-toggle-size-medium); font-size: var(--syn-input-font-size-medium); } .radio--large { --toggle-size: var(--syn-toggle-size-large); font-size: var(--syn-input-font-size-large); } .radio__checked-icon { display: inline-flex; height: var(--toggle-size); /** * #920: The new icons are instances in figma. * The width of the system icon is 12px x 12px, so there is no inner padding. * To accommodate for this, we need to set the width and height of the icon to 50% to get the same result as before. */ scale: 0.5; width: var(--toggle-size); } .radio__control { align-items: center; background-color: var(--syn-input-background-color); border: solid var(--syn-input-border-width) var(--syn-input-border-color); border-radius: 50%; color: transparent; display: inline-flex; flex: 0 0 auto; height: var(--toggle-size); justify-content: center; position: relative; transition: var(--syn-transition-fast) border-color, var(--syn-transition-fast) background-color, var(--syn-transition-fast) color, var(--syn-transition-fast) box-shadow; width: var(--toggle-size); } .radio__input { margin: 0; opacity: 0; padding: 0; pointer-events: none; position: absolute; } /* Hover */ .radio:not(.radio--checked):not(.radio--disabled):not(.radio--readonly):hover .radio__control { border-color: var(--syn-input-border-color-hover); } /* Checked */ .radio--checked .radio__control { background-color: var(--syn-interactive-emphasis-color); border-color: var(--syn-interactive-emphasis-color); color: var(--syn-color-neutral-0); } /* Checked + hover */ .radio.radio--checked:not(.radio--disabled):not(.radio--readonly):hover .radio__control { background-color: var(--syn-interactive-emphasis-color-hover); border-color: var(--syn-interactive-emphasis-color-hover); } /* Checked + active */ .radio.radio--checked:not(.radio--disabled):not(.radio--readonly):active .radio__control { background-color: var(--syn-interactive-emphasis-color-active); border-color: var(--syn-interactive-emphasis-color-active); } /* Not-Checked + active */ .radio:not(.radio--checked):not(.radio--disabled):not(.radio--readonly):active .radio__control { border-color: var(--syn-input-border-color-active); } /* Checked + focus */ :host(:focus-visible) .radio__control { outline: var(--syn-focus-ring); outline-offset: var(--syn-focus-ring-width); } .radio--disabled { cursor: not-allowed; /** #429: Use token for opacity */ opacity: var(--syn-input-disabled-opacity); } /* When the control isn't checked, hide the circle for Windows High Contrast mode a11y */ .radio:not(.radio--checked) svg circle { opacity: 0; } /* Fix#456: Multi line radio fixes */ .radio__label { align-self: center; color: var(--syn-input-label-color); display: inline-block; line-height: var(--toggle-size); margin-inline-start: var(--syn-spacing-x-small); margin-top: -1px; user-select: none; } .radio--small .radio__label { font: var(--syn-body-small-regular); margin-inline-start: var(--syn-spacing-x-small); } .radio--medium .radio__label { font: var(--syn-body-medium-regular); } .radio--large .radio__label { font: var(--syn-body-large-regular); margin-inline-start: var(--syn-spacing-x-small); } /* /Fix#456 */ /** * #1174: Readonly state */ .radio.radio--readonly { cursor: default; } .radio.radio--readonly .radio__label { user-select: auto; } .radio.radio--readonly .radio__control { background: var(--syn-input-readonly-background-color); border-color: var(--syn-input-readonly-background-color); color: var(--syn-readonly-indicator-color); cursor: default; } :host(:focus) .radio--readonly .radio__control { outline: var(--syn-focus-ring); outline-offset: var(--syn-focus-ring-width); } `; export { radio_styles_default }; //# sourceMappingURL=chunk.432DTUIX.js.map