Mailspring/static/components/list-tabular.less
Ben Gotow 8bd14602c3 fix(*): Small patches for thread icons, marking as read, scrollbars
Summary:
fix(scrollbars): overflow-y, not overflow

fix(participants): Overflow not set correctly on participants

fix(thread-list): Don't show reply or fw icon for unsent drafts

Remove bad code for updating sidebar drafts

Mark as read in MessageStore so that receiving new messages while viewing a thread re-marks it as read

Don't show messages I send with the "Reply" icon

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://review.inboxapp.com/D1418
2015-04-20 15:59:43 -07:00

194 lines
4.3 KiB
Plaintext

@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;
}
}
}
// .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 * 1.15;
color: @text-color;
background: @list-bg;
border-left:0 solid @list-focused-bg;
transition: border-left 0.1s ease-in-out;
&.keyboard-cursor {
border-left:5px solid @list-focused-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;
}
&.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 {
}
}