@import "ui-variables"; .sheet-toolbar .selection-bar { // This item sits in the toolbar and takes up all the remaining // space from the toolbar-spacer divs, but flex-shrink means that // it shrinks before any other element when not enough space is available. // This is important because the spacers will prevent items from being clickable, // (webkit-app-region:drag) even if we're covering them up. We need to make them // 0px wide! width: 100%; flex-shrink:100; height:49px; z-index: 10000; -webkit-app-region: drag; .absolute { position: absolute; left: -1px; right:-1px; top: 0; height:49px; border-left:1px solid @border-color-divider; border-right:1px solid @border-color-divider; background-color: @gray-lighter; opacity:0; transition: opacity 0.2s ease-in-out; pointer-events: none; .inner { top: -100%; position: absolute; width: 100%; display:flex; transition: top 0.2s ease-in-out; -webkit-app-region: no-drag; .centered { flex: 1; cursor:default; text-align: center; color:@text-color-subtle; padding-top: 15px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } } } // .absolute is positioned full-width over all the other items in the toolbar. // when .enabled, it transitions to opacity:1, hiding other items beneath it. // .inner contains the actual buttons and animates *down* while the opacity animation // is running. This means the items beneath fade out as the new ones slide in. &.enabled { .absolute { opacity: 1; pointer-events: initial; .inner { top:0; .centered { -webkit-app-region: drag; } } } } } .list-container { position: absolute; height: 100%; width: 100%; overflow-y: scroll; .list-item { font-size: @font-size-base; line-height: @line-height-computed; color: @text-color; background: @list-bg; &:hover { background: darken(@list-bg, 5%); } &.selected { background: @list-selected-bg; color: @list-selected-color; .list-column { border-bottom: 1px solid @list-selected-border; } } &.focused { background: @list-focused-bg; color: @list-focused-color; .list-column { border-bottom: 1px solid @list-focused-border; } } } } .list-tabular { flex: 1; width: 100%; .list-tabular-item { position: relative; width: 100%; display: flex; &:hover { cursor: default; } &.keyboard-cursor { .checkmark { border-left:4px solid @list-focused-bg; padding-left:8px; } } &.selected { .checkmark .inner { background-color: @accent-primary; background-image: url(images/thread-list/checkbox-checkmark@2x.png); border:none; border-radius: 2px; } } &.selected.focused { .checkmark .inner { background-color: @list-bg; background-image: url(images/thread-list/checkbox-checkmark-activerow@2x.png); border:none; border-radius: 2px; } } .checkmark { padding: 12px; position: absolute; top: 0; left: 0; .inner { width:14px; height:14px; border:1px solid @table-border-color; border-radius: 2px; background: transparent; background-size: 12px 9px; background-repeat: no-repeat; background-position: center; } } } .list-rows { overflow: auto; // Add back when when we re-implement list-headers // padding-top: @font-size-base * 2; /* height of list-headers*/ } .list-column { // The width is set by React. display: inline-block; padding: @padding-base-vertical @padding-base-horizontal @padding-base-vertical @padding-base-horizontal; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; border-bottom: 1px solid @list-border; &:last-child { text-align: right; } } .list-headers { display: flex; position: absolute; width: 100%; top: 0; position: absolute; background: fade(@list-bg,90%); font-size: @font-size-base; line-height: @font-size-base * 1.6; height:@font-size-base * 2; z-index: 3; } .list-header { } }