UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

187 lines 6.14 kB
.g-segmented-radio-group { --_--border-width: 1px; --_--transition-time: 0.15s; box-sizing: border-box; display: inline-flex; flex-direction: row; font-family: var(--g-text-body-font-family); font-weight: var(--g-text-body-font-weight); position: relative; } .g-segmented-radio-group__option { position: relative; flex: 1 1 auto; user-select: none; font-size: var(--g-text-body-1-font-size); text-align: center; cursor: pointer; transform: scale(1); transition: color var(--_--transition-time) linear; } .g-segmented-radio-group__option::before { position: absolute; inset-inline-start: 0; inset-block: var(--_--border-width); content: ""; width: var(--_--border-width); background-color: var(--g-color-line-generic); } .g-segmented-radio-group__option::after { content: ""; position: absolute; z-index: -1; inset: 0; border: var(--_--border-width) solid var(--g-color-line-generic); border-radius: 0; transition: background-color var(--_--transition-time) linear, border-color var(--_--transition-time) linear; } .g-segmented-radio-group__option:not(:first-child):not(.g-segmented-radio-group__option_checked)::after { border-inline-start-width: 0; } .g-segmented-radio-group__option:not(:last-child):not(.g-segmented-radio-group__option_checked):after { border-inline-end-width: 0; } .g-segmented-radio-group__option:first-child { border-start-start-radius: var(--_--border-radius); border-end-start-radius: var(--_--border-radius); } .g-segmented-radio-group__option:first-child::before { display: none; } .g-segmented-radio-group__option:first-child::after { border-start-start-radius: var(--_--border-radius); border-end-start-radius: var(--_--border-radius); } .g-segmented-radio-group__option:last-child { border-start-end-radius: var(--_--border-radius); border-end-end-radius: var(--_--border-radius); } .g-segmented-radio-group__option:last-child::after { border-start-end-radius: var(--_--border-radius); border-end-end-radius: var(--_--border-radius); } .g-segmented-radio-group__option:not(.g-segmented-radio-group__option_checked):not(.g-segmented-radio-group__option_disabled):hover::after { background-color: var(--g-color-base-simple-hover); } .g-segmented-radio-group__option:not(.g-segmented-radio-group__option_checked):not(.g-segmented-radio-group__option_disabled):hover .g-segmented-radio-group__option-text { color: var(--g-color-text-primary); } .g-segmented-radio-group__option:has(.g-segmented-radio-group__option-control:focus-visible) { outline: 2px solid var(--g-color-line-misc); outline-offset: calc(-1 * var(--_--border-width)); } .g-segmented-radio-group__option-control { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none; opacity: 0; cursor: inherit; } .g-segmented-radio-group__option-text { display: inline-flex; justify-content: center; align-items: center; gap: 8px; white-space: nowrap; color: var(--g-color-text-complementary); overflow: hidden; } .g-segmented-radio-group__option-text_icon { height: 100%; display: flex; align-items: center; } .g-segmented-radio-group__option_checked { cursor: default; border-color: var(--g-color-line-brand); } .g-segmented-radio-group__option_checked .g-segmented-radio-group__option-text { color: var(--g-color-text-brand-heavy); } .g-segmented-radio-group__option_checked::after { background-color: var(--g-color-base-selection); border-color: var(--g-color-line-brand); } .g-segmented-radio-group__option_checked::before, .g-segmented-radio-group__option_checked + .g-segmented-radio-group__option::before { background-color: transparent; } .g-segmented-radio-group__option_disabled { cursor: default; } .g-segmented-radio-group__option_disabled::after { background-color: var(--g-color-base-generic); } .g-segmented-radio-group__option_disabled .g-segmented-radio-group__option-text { color: var(--g-color-text-hint); } .g-segmented-radio-group__option_disabled.g-segmented-radio-group__option_checked::after { background-color: var(--g-color-base-generic-accent); border-color: var(--g-color-line-generic-accent); } .g-segmented-radio-group__option_disabled.g-segmented-radio-group__option_checked .g-segmented-radio-group__option-text { color: var(--g-color-text-secondary); } .g-segmented-radio-group__option::before { z-index: -1; } .g-segmented-radio-group_size_s { --_--border-radius: var(--g-border-radius-s); } .g-segmented-radio-group_size_s .g-segmented-radio-group__option { height: 24px; line-height: 24px; } .g-segmented-radio-group_size_s .g-segmented-radio-group__option-text { margin: 0 10px; } .g-segmented-radio-group_size_m { --_--border-radius: var(--g-border-radius-m); } .g-segmented-radio-group_size_m .g-segmented-radio-group__option { height: 28px; line-height: 28px; } .g-segmented-radio-group_size_m .g-segmented-radio-group__option-text { margin: 0 13px; } .g-segmented-radio-group_size_l { --_--border-radius: var(--g-border-radius-l); } .g-segmented-radio-group_size_l .g-segmented-radio-group__option { height: 36px; line-height: 36px; } .g-segmented-radio-group_size_l .g-segmented-radio-group__option-text { margin: 0 18px; } .g-segmented-radio-group_size_xl { --_--border-radius: var(--g-border-radius-xl); } .g-segmented-radio-group_size_xl .g-segmented-radio-group__option { height: 44px; line-height: 44px; font-size: var(--g-text-body-2-font-size); } .g-segmented-radio-group_size_xl .g-segmented-radio-group__option-text { margin: 0 25px; } .g-segmented-radio-group_width_auto { max-width: 100%; } .g-segmented-radio-group_width_max { width: 100%; } .g-segmented-radio-group_width_auto .g-segmented-radio-group__option, .g-segmented-radio-group_width_max .g-segmented-radio-group__option { overflow: hidden; } .g-segmented-radio-group_width_auto .g-segmented-radio-group__option-text, .g-segmented-radio-group_width_max .g-segmented-radio-group__option-text { display: block; overflow: hidden; text-overflow: ellipsis; }