UNPKG

@scania/tegel

Version:
101 lines 3.62 kB
.tds-radio-button { box-sizing: border-box; display: flex; align-items: center; margin-left: -4px; font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); color: var(--tds-radio-button-color); } .tds-radio-button * { box-sizing: border-box; } .tds-radio-button .tds-form-input[type=radio] { appearance: none; outline: none; margin: 0; border: 0; width: 20px; height: 24px; border-radius: 50%; position: relative; cursor: pointer; flex-shrink: 0; align-self: flex-start; } .tds-radio-button .tds-form-input[type=radio] + label { padding: var(--tds-spacing-element-4) 0 var(--tds-spacing-element-4) 6px; cursor: pointer; } .tds-radio-button .tds-form-input[type=radio]::before, .tds-radio-button .tds-form-input[type=radio]::after { content: ""; position: absolute; border-radius: 50%; box-sizing: border-box; } .tds-radio-button .tds-form-input[type=radio]::before { width: 20px; height: 20px; top: 2px; } .tds-radio-button .tds-form-input[type=radio]::after { border: 1px solid var(--tds-radio-button-interaction-01); background-color: var(--tds-radio-button-interaction-02); width: 16px; height: 16px; left: 50%; top: 50%; transform: translate(-50%, -50%); } .tds-radio-button .tds-form-input[type=radio]:hover::before { background-color: var(--tds-radio-button-background-hover); } .tds-radio-button .tds-form-input[type=radio]:focus-visible::before { background-color: var(--tds-radio-button-background-focus); box-shadow: 0 0 0 1px var(--tds-radio-button-background-focus); animation: rb-focus var(--tds-motion-duration-moderate-02) var(--tds-motion-easing-enter) forwards; } .tds-radio-button .tds-form-input[type=radio]:focus-visible::after { outline: 1px solid var(--tds-radio-button-interaction-outline); } .tds-radio-button .tds-form-input[type=radio]:disabled, .tds-radio-button .tds-form-input[type=radio].disabled { cursor: not-allowed; } .tds-radio-button .tds-form-input[type=radio]:disabled::after, .tds-radio-button .tds-form-input[type=radio].disabled::after { border-color: var(--tds-radio-button-border-color-disabled-after); background-color: var(--tds-radio-button-interaction-02); } .tds-radio-button .tds-form-input[type=radio]:disabled + label, .tds-radio-button .tds-form-input[type=radio].disabled + label { color: var(--tds-radio-button-disabled); cursor: not-allowed; } .tds-radio-button .tds-form-input[type=radio]:disabled:hover::before, .tds-radio-button .tds-form-input[type=radio].disabled:hover::before { display: none; opacity: 1; } .tds-radio-button .tds-form-input[type=radio]:checked::after { border: 4px solid var(--tds-radio-button-interaction-01); } .tds-radio-button .tds-form-input[type=radio]:checked:disabled:hover::before, .tds-radio-button .tds-form-input[type=radio]:checked:disabled::before, .tds-radio-button .tds-form-input[type=radio]:checked.disabled:hover::before, .tds-radio-button .tds-form-input[type=radio]:checked.disabled::before { display: block; background-color: transparent; width: 16px; height: 16px; left: 2px; top: 4px; box-shadow: inset 0 0 0 1px var(--tds-radio-button-border-color-disabled-after); } .tds-radio-button .tds-form-input[type=radio]:checked:disabled::after, .tds-radio-button .tds-form-input[type=radio]:checked.disabled::after { border: 4px solid var(--tds-radio-button-interaction-02); background-color: var(--tds-radio-button-color-disabled-after); clip-path: inset(1px 1px round 50%); } @keyframes rb-focus { 0% { transform: scale(0); opacity: 0; } 100% { transform: scale(1); } }