.ListItem { position: relative; body.is-ios &, body.is-android & { &::after { content: ""; position: absolute; bottom: 0; left: 4.5rem; right: 0; height: 0.0625rem; /* stylelint-disable-next-line plugin/whole-pixel */ box-shadow: inset 0 -0.03125rem 0 0 var(--color-dividers); } &.selected::after, &:last-of-type::after { display: none; } // Conceal above item divider &.selected::before { content: ""; position: absolute; top: -0.0625rem; left: 4.5rem; right: 0; height: 0.0625rem; /* stylelint-disable-next-line plugin/whole-pixel */ box-shadow: inset 0 -0.03125rem 0 0 var(--color-background); } &:last-of-type::after { display: none; } &.small-icon::after { left: 3.875rem; } &.smaller-icon::after { left: 3.25rem; } &.narrow::after { left: 4.1875rem; } &.no-icon::after { left: 1rem; } } body.is-android &::after { /* stylelint-disable-next-line plugin/whole-pixel */ box-shadow: inset 0 -0.03125rem 0 0 var(--color-dividers-android); } .ListItem-button { min-height: 3rem; background-color: var(--background-color); border: none !important; box-shadow: none !important; outline: none !important; display: flex; align-items: center; padding: 0 1rem; position: relative; overflow: hidden; white-space: nowrap; color: var(--color-text); border-radius: var(--border-radius-default); --ripple-color: rgba(0, 0, 0, 0.08); text-decoration: none; body.is-ios &, body.is-android & { border-radius: 0; } @media (max-width: 600px) { border-radius: 0; } > .ListItem-main-icon { font-size: 1.5rem; color: var(--color-text-secondary); margin-right: 1.75rem; } > .Switcher { margin-inline-start: auto; } } &.with-color-transition { .ListItem-button { transition: background-color 150ms ease-in-out; } } .user-status, .group-status, .title, .other-usernames, .subtitle { text-align: initial; unicode-bidi: plaintext; text-overflow: ellipsis; } .other-usernames { display: block; white-space: normal; line-height: 1.25rem; } .username-link { position: relative; z-index: 2; } &.multiline { .ListItem-button > .ListItem-main-icon { position: relative; } } &.disabled:not(.click-allowed) { pointer-events: none; } &.disabled .ListItem-button { opacity: 0.5; } &:not(.disabled):not(.is-static) { .ListItem-button { cursor: var(--custom-cursor, pointer); body.cursor-ew-resize & { cursor: var(--custom-cursor, ew-resize) !important; } @media (hover: hover) { &:hover, &:focus-visible { --background-color: var(--color-chat-hover); } } @media (max-width: 600px) { &.active { --background-color: var(--color-chat-hover); } } } } @media (min-width: 600px) { &:not(.has-ripple):not(.is-static), body.no-page-transitions & { .ListItem-button:active { --background-color: var(--color-item-active) !important; } } } &.has-menu-open .ListItem-button { --background-color: var(--color-chat-hover); } &.inactive { pointer-events: none; } &.focus { --background-color: var(--color-chat-hover); } &.destructive { .ListItem-button { color: var(--color-error); .ListItem-main-icon { color: inherit; } } } &.primary { .ListItem-button { color: var(--color-primary); .ListItem-main-icon { color: inherit; } } } &-context-menu { position: absolute; .bubble { width: auto; .MenuItem button { padding-left: 1rem !important; padding-right: 2rem !important; } } } &.chat-item-clickable { body.is-ios &, body.is-macos & { --color-text-secondary: var(--color-text-secondary-apple); } .ListItem-button { padding: 0.5625rem; } &.contact-list-item { .ListItem-button { padding: 0.5rem; } .ChatInfo { padding: 0.0625rem; } } .Avatar { margin-right: 0.5rem; } .info { flex: 1; min-width: 0; } .info-name-title { display: flex; align-items: center; } .info-row, .title, .subtitle { display: flex; justify-content: flex-start; align-items: center; min-width: 0; } .separator { flex-grow: 1; min-width: 0.5rem; } h3, .last-message, .status, .typing-status { font-size: 1rem; margin: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: initial; } h3, .last-message, .typing-status { overflow: hidden; } .title { h3 { font-weight: var(--font-weight-semibold); } } .status-icon { vertical-align: text-bottom; margin-inline-end: 0.125rem; } .contact-phone, .contact-username { font-size: 0.875rem; line-height: 1.25rem; color: var(--color-text-secondary); } .ChatInfo { display: flex; align-items: center; flex: 1; min-width: 0; .info { display: flex; flex-direction: column; justify-content: center; } .custom-title { padding-inline-start: 1rem; font-size: 0.875rem; color: var(--color-text-secondary); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-inline-start: auto; flex-shrink: 0; } .status, .typing-status { font-size: 0.875rem; line-height: 1.25rem; color: var(--color-text-secondary); display: inline-block; &.online { color: var(--color-primary); } &[dir="rtl"], &[dir="auto"] { text-align: initial; width: 100%; } .group-status:only-child, .user-status:only-child { display: flow-root; } } } .contact-phone, .contact-username, h3, .last-message, .status, .typing-status { text-align: initial; unicode-bidi: plaintext; } .last-message, .status, .typing-status { body.is-ios &, body.is-macos & { font-size: 0.9375rem; } } &[dir="rtl"] { .ListItem-button { padding: 0.5625rem 0.5625rem 0.5625rem 0.6875rem; } .Avatar { margin-left: 0.5rem; margin-right: 0; } .info > .status { width: 100%; } } } &.picker-list-item { margin: 0; .ListItem-button { padding-left: 0; display: flex; align-items: center; } .Avatar { width: 3rem; height: 3rem; } .Checkbox { flex-shrink: 0; height: 1.5rem; margin: 0; padding-left: 4rem; } .withSubLabel { height: 2.5rem; } &[dir="rtl"] { .Checkbox { padding-left: 0; padding-right: 4rem; } } } &.chat-item { .ListItem-button { padding: 0.5rem; } .Checkbox { padding-left: 3rem; } } .multiline-item { flex-grow: 1; white-space: initial; overflow: hidden; padding: 0.4375rem 0 0.5625rem 0; .word-break { overflow-wrap: break-word; } .title, .subtitle { display: block; text-align: initial; &[dir="rtl"] { text-align: right; } } .title { line-height: 1.25rem; overflow: hidden; text-overflow: ellipsis; } .subtitle { font-size: 0.875rem; line-height: 1rem; color: var(--color-text-secondary); margin-top: 0.25rem; &.black { color: var(--color-text); } } } } .list-item-ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }