@import "/imports/ui/stylesheets/variables/_all"; @import "/imports/ui/stylesheets/mixins/_scrollable"; /* Variables * ========== */ // TODO: would be better to have those variables scoped and not global :root { --unread-messages-bg: var(--color-danger); --user-list-text: var(--color-gray); --user-list-bg: var(--color-off-white); --user-thumbnail-border: var(--color-gray-light); --user-thumbnail-text: var(--user-thumbnail-border); --voice-user-bg: var(--color-success); --voice-user-text: var(--color-white); --moderator-text: var(--color-white); --moderator-bg: var(--color-primary); --sub-name-color: var(--color-gray-light); --user-icons-color: var(--color-gray-light); --user-icons-color-hover: var(--color-gray); --list-item-bg-hover: #dce4ed; --item-focus-border: var(--color-blue-lighter); } /* classes for extending * ========== */ %flex-column { display: flex; flex-flow: column; } %no-margin { margin: 0; } %list-item { display: flex; flex-flow: row; transition: all 0.3s; border-top-left-radius: 5px; border-bottom-left-radius: 5px; cursor: pointer; &:first-child { margin-top: 0; } &:focus { background-color: var(--list-item-bg-hover); box-shadow: inset 0 0 0 var(--border-size) var(--item-focus-border), inset 1px 0 0 1px var(--item-focus-border); outline: none; } &:hover { background-color: var(--list-item-bg-hover); } } /* Styling * ========== */ .userList { @extend %flex-column; justify-content: flex-start; background-color: var(--user-list-bg); color: var(--user-list-text); height: 100vh; padding-top: var(--md-padding-x); } .lists { @extend %flex-column; @extend %no-margin; padding: 0; outline: none; } .participantsList, .chatsList { @extend .lists; overflow-x: hidden; flex-shrink: 1; } .participants, .messages { flex-grow: 0; display: flex; flex-flow: column; flex-shrink: 0; } .messages { max-height: 30vh; } .participants { flex-basis: 31rem; flex-grow: 1; flex-shrink: 1; overflow-x: hidden; overflow-y: auto; margin-top: (var(--lg-padding-x) / 2); } .smallTitle { font-size: 0.85rem; font-weight: 600; text-transform: uppercase; padding: 0 var(--sm-padding-x); margin: 0 0 (var(--lg-padding-x) / 2) 0; color: var(--color-gray-light); } .userListColumn { @extend %flex-column; min-height: 0; } .enter, .appear { opacity: 0.01; } .enterActive, .appearActive { opacity: 1; transition: all 600ms; } .leave { opacity: 1; } .leaveActive { opacity: 0; transition: all 600ms; }