Mailspring/static/workspace.less
Ben Gotow 2d51c94f51 feat(registered-region): Replace everywhere injecting elements by Role with <RegisteredRegion>
Summary:
This is a small diff that isolates the pattern of "insert all the things with role=ThreadAction and pass them these props". The goal is to eventually make this wrapper do some analysis, performance checks, etc. Right now, it just has the advantage of making the parent components simpler and also adding a new inspector view where you can see the regions , their names and the props they take (thread:<Thread> or selection:<ModelListSelection>)

fix(menu): Re-importing different class with same name breaking dropdowns

make composer use flexbox for it's footer

fix alignment of the input in the participant text field. how did this break?

new action for hiding / showing component regions

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://review.inboxapp.com/D1422
2015-04-21 18:16:08 -07:00

250 lines
4.3 KiB
Text

@import "ui-variables";
@import "ui-mixins";
html,
body {
width: 100%;
height: 100%;
overflow: hidden;
font-family: @font-family;
font-size: @font-size;
line-height: @line-height-base;
-webkit-font-smoothing: antialiased;
}
atom-workspace {
display: block;
height: 100%;
overflow: hidden;
position: relative;
font-family: @font-family;
atom-workspace-axis.horizontal {
display: -webkit-flex;
height: 100%;
}
atom-workspace-axis.vertical {
display: -webkit-flex;
-webkit-flex: 1;
-webkit-flex-flow: column;
}
}
.sheet-container {
height:100%;
}
.sheet {
background-color: @background-primary;
}
.sheet-stack-enter {
left:30px;
opacity: 0;
transition: all .125s ease-out;
}
.sheet-stack-enter.sheet-stack-enter-active {
left:0;
opacity: 1;
}
.sheet-stack-leave {
left:0;
opacity: 1;
transition: all .125s ease-in;
}
.sheet-stack-leave.sheet-stack-leave-active {
left:30px;
opacity: 0;
}
.toolbar-window-controls {
margin-top:14px;
margin-left:@spacing-half;
order: -1000;
min-width: 72px;
width: 72px;
flex-grow: 0;
flex-shrink: 0;
&:hover {
button {
background-position: 0 -12px;
}
}
button {
-webkit-app-region: no-drag;
display:inline-block;
padding:0;
width:12px;
height:12px;
margin:4px;
float:left;
background-color: transparent;
background-repeat: no-repeat;
background-position: 0 0;
background-size: 12px 48px;
border: 0;
&:active {
background-position: 0 -24px;
}
}
.close {
background-image: url("images/application-frame/close@2x.png");
}
.minimize {
background-image: url("images/application-frame/minimize@2x.png");
}
.maximize {
background-image: url("images/application-frame/maximize@2x.png");
}
}
body.platform-win32, body.platform-linux {
.toolbar-window-controls {
display:none;
}
}
body.is-blurred {
.toolbar-window-controls {
button {
background-position: 0 -36px;
}
}
}
.sheet-toolbar-container {
background: @toolbar-background-color;
}
.sheet-toolbar {
position: relative;
-webkit-app-region: drag;
background: @toolbar-background-color;
border-bottom: 1px solid @border-color-divider;
width: 100%;
height: 50px;
// prevent flexbox from ever, ever resizing toolbars, no matter
// how much it thinks other content is being squished
min-height: 50px;
max-height: 50px;
// cover up the vertical resizing separators, so the toolbar appears
// to be one continuous bar.
z-index: 10;
.item-container > * {
-webkit-app-region: no-drag;
}
.item-spacer {
-webkit-app-region: drag;
}
.item-back {
order:-999;
padding-top: 5px;
padding-left: @spacing-three-quarters;
flex-grow: 0;
flex-shrink: 0;
}
.btn-toolbar {
margin-top: @spacing-half;
margin-left: @spacing-three-quarters;
margin-right: @spacing-three-quarters;
height:32px;
}
}
.sheet-toolbar-enter {
opacity:0;
transition: opacity .125s ease-out;
}
.sheet-toolbar-enter.sheet-toolbar-enter-active {
opacity:1;
}
.sheet-toolbar-leave {
opacity:1;
transition: opacity .125s ease-in;
}
.sheet-toolbar-leave.sheet-toolbar-leave-active {
opacity:0;
}
.flexbox-handle-horizontal {
width: 6px;
top: 0;
bottom: 0;
z-index: 2;
position: absolute;
cursor: col-resize;
div {
height:100%;
border-right: 1px solid @border-color-divider;
}
&.flexbox-handle-right {
right:-3px;
padding-right:3px;
}
&.flexbox-handle-left {
left:-3px;
padding-right:2px;
}
}
.flexbox-handle-vertical {
width:100%;
height:6px;
left:0;
right:0;
z-index:2;
position:absolute;
cursor: row-resize;
div {
width:100%;
// border-top: 1px solid @border-color-divider;
}
&.flexbox-handle-top {
top:-3px;
padding-right:3px;
}
&.flexbox-handle-bottom {
bottom: 0;
padding-right:2px;
}
}
.registered-region-visible {
background-color: rgba(255,0,0,0.3);
position:relative;
min-height:1.5em;
.name {
background-color: rgba(255,180,180,0.9);
position: absolute;
color: black;
font-size: 13px;
top:50%;
left:50%;
white-space: nowrap;
z-index:100;
-webkit-transform: translate(-50%, -50%);
}
}
body.platform-win32 {
.flexbox-handle-vertical {
cursor:ns-resize;
}
.flexbox-handle-horizontal {
cursor:ew-resize;
}
}