.root { display: flex; flex-direction: row; gap: 16px; align-items: center; padding-left: 16px; padding-right: 16px; background-color: rgb(var(--uk-sys-color-surface)); position: relative; outline-color: transparent; outline-style: solid; outline-width: 3px; outline-offset: 3px; transition: outline-color var(--uk-sys-motion-duration-200) var(--uk-sys-motion-easing-standard-decelerate); &::after { transition: background-color var(--uk-sys-motion-duration-100) var(--uk-sys-motion-easing-standard-decelerate); content: ""; position: absolute; background-color: transparent; top: 0; left: 0; width: 100%; height: 100%; } &:hover { &::after { transition: background-color var(--uk-sys-motion-duration-100) var(--uk-sys-motion-easing-standard-accelerate); background: rgb(var(--uk-sys-color-on-surface), var(--uk-sys-state-hover-state-layer-opacity)); } .labelText { color: rgb(var(--uk-sys-color-on-surface)); } .leadingIcon { color: rgb(var(--uk-sys-color-on-surface-variant)); } .trailingIcon { color: rgb(var(--uk-sys-color-on-surface-variant)); } } &:active { &::after { background: rgb(var(--uk-sys-color-on-surface), var(--uk-sys-state-pressed-state-layer-opacity)); } } &[data-selected="true"] { background-color: rgb(var(--uk-sys-color-secondary-container)); &:hover { .labelText { color: rgb(var(--uk-sys-color-on-secondary-container)); } .leadingIcon { color: rgb(var(--uk-sys-color-on-surface)); } .trailingIcon { color: rgb(var(--uk-sys-color-on-surface)); } } } &:focus-visible { outline-color: rgb(var(--uk-sys-color-secondary)); } &[data-lines="1"] { padding-top: 8px; padding-bottom: 8px; height: 56px; } &[data-lines="2"] { padding-top: 8px; padding-bottom: 8px; height: 72px; } &[data-lines="3"] { padding-top: 12px; padding-bottom: 12px; height: 88px; } &:not(&:last-of-type) { &[data-divider="true"] { &::before { content: ""; position: absolute; top: calc(100% + 8px); left: 0; background-color: rgb(var(--uk-sys-color-outline)); height: 1px; width: 100%; } margin-bottom: 16px; } } &[data-can-select="true"] { .trailingIcon { color: rgb(var(--uk-sys-color-on-surface)); } } &[data-selected="true"] { .labelText { color: rgb(var(--uk-sys-color-on-secondary-container)); } .leadingIcon { color: rgb(var(--uk-sys-color-on-surface)); } .trailingIcon { color: rgb(var(--uk-sys-color-primary)); } .trailingText { color: rgb(var(--uk-sys-color-on-surface)); } .supportingText { color: rgb(var(--uk-sys-color-on-surface)); } } &[data-disabled="true"] { cursor: not-allowed; .labelText { color: rgb(var(--uk-sys-color-on-surface), 0.38); } .supportingText { color: rgb(var(--uk-sys-color-on-surface), 0.38); } .leadingIcon { color: rgb(var(--uk-sys-color-on-surface), 0.38); } .trailingIcon { color: rgb(var(--uk-sys-color-on-surface), 0.38); } &::after { background-color: rgb(var(--uk-sys-color-on-surface), var(--uk-sys-state-focus-state-layer-opacity)); } } } .body { display: flex; flex-direction: column; justify-content: center; } .labelText { color: rgb(var(--uk-sys-color-on-surface)); font-family: var(--uk-sys-typescale-body-large-font) sans-serif; line-height: var(--uk-sys-typescale-body-large-line-height); font-size: var(--uk-sys-typescale-body-large-size); font-kerning: var(--uk-sys-typescale-body-large-tracking); font-weight: var(--uk-sys-typescale-body-large-weight); } .supportingText { margin: 0; color: rgb(var(--uk-sys-color-on-surface-variant)); font-family: var(--uk-sys-typescale-body-medium-font) sans-serif; line-height: var(--uk-sys-typescale-body-medium-line-height); font-size: var(--uk-sys-typescale-body-medium-size); font-kerning: var(--uk-sys-typescale-body-medium-tracking); font-weight: var(--uk-sys-typescale-body-medium-weight); } .leadingImage { width: 56px; height: 56px; overflow: hidden; user-select: none; -webkit-user-drag: none; flex-shrink: 0; } .leadingIcon { color: rgb(var(--uk-sys-color-on-surface-variant)); font-size: 24px; overflow: hidden; user-select: none; -webkit-user-drag: none; flex-shrink: 0; } .leadingAvatar { overflow: hidden; user-select: none; -webkit-user-drag: none; background-color: rgb(var(--uk-sys-color-primary-container)); border-radius: var(--uk-sys-shape-corner-full); position: relative; height: 40px; width: 40px; z-index: 0; flex-shrink: 0; & > img { position: relative; display: block; width: 100%; height: 100%; z-index: 1; } & > span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: rgb(var(--uk-sys-color-on-primary-container)); z-index: 0; font-family: var(--uk-sys-typescale-title-medium-font) sans-serif; font-weight: var(--uk-sys-typescale-title-medium-weight); font-size: var(--uk-sys-typescale-title-medium-size); line-height: var(--uk-sys-typescale-title-medium-line-height); font-kerning: var(--uk-sys-typescale-title-medium-tracking); } } .trailingIcon { color: rgb(var(--uk-sys-color-on-surface-variant)); margin-left: auto; font-size: 24px; overflow: hidden; user-select: none; -webkit-user-drag: none; flex-shrink: 0; } .trailingText { color: rgb(var(--uk-sys-color-on-surface-variant)); margin-left: auto; flex-shrink: 0; font-family: var(--uk-sys-typescale-label-small-font) sans-serif; font-weight: var(--uk-sys-typescale-label-small-weight); font-size: var(--uk-sys-typescale-label-small-size); line-height: var(--uk-sys-typescale-label-small-line-height); font-kerning: var(--uk-sys-typescale-label-small-tracking); overflow: hidden; user-select: none; -webkit-user-drag: none; }