sogo/UI/WebServerResources/scss/views/_view.scss

166 lines
3.7 KiB
SCSS
Raw Normal View History

///
/// @filename _views.scss
/// @project SOGo
/// @version 3.alpha
/// @module views
///
///
@import 'LoginUI.scss';
@import 'MailerUI.scss';
@import 'ContactsUI.scss';
2015-02-12 03:54:06 +01:00
@import 'MessageEditorUI';
@import 'SchedulerUI';
.view[layout=row] {
2015-01-26 03:30:27 +01:00
max-height: 100%;
}
2015-03-26 14:58:09 +01:00
// We make intensive use of the list/detail view pattern, here are some base
// definitions for this
// ----------------------------------------------------------------------------
// Variables
$listView-width: grid-step(6) !global;
$detailView-width: grid-step(8) !global;
//[id="messagesList"] {
// flex: 0 0 $listView-width;
//
//}
//
//[id ="contactsList"] {
// flex: 0 1 $listView-width;
// min-width: ($listView-width - ($pitch * 2));
//}
[class|="view"] {
position: relative;
}
.view-list {
z-index: ($z-index-view - 1);
min-width: ($listView-width - ($pitch * 2));
2015-03-26 14:58:09 +01:00
@include at(md){
@include flex-col(md, 7, 1, 1);
min-width: ($pitch * 3);
2015-03-26 14:58:09 +01:00
}
@include from(lg) {
@include flex-col(lg, 6, 1, 0);
}
@include to(sm) {
width: 100%;
min-width: 100%;
}
}
.view-detail {
2015-03-26 14:58:09 +01:00
z-index: $z-index-view;
2015-03-31 16:50:05 +02:00
overflow-x: hidden;
2015-03-28 02:13:39 +01:00
background-color: $background-base-color;
2015-03-31 16:50:05 +02:00
2015-03-26 14:58:09 +01:00
@include from(lg) {
@include flex-col(lg, 8, 2, 1);
2015-04-02 08:53:21 +02:00
margin: 0 $mg;
}
2015-03-31 16:50:05 +02:00
2015-03-26 14:58:09 +01:00
@include at(md) {
@include flex-col(md, 9);
margin: 0;
2015-04-02 08:53:21 +02:00
2015-03-26 14:58:09 +01:00
}
2015-03-31 16:50:05 +02:00
@include from(md) {
.viewer {
position: absolute;
max-width: 100%;
2015-03-31 16:50:05 +02:00
transform: translate3d(0, 0, 0);
transition: all 0.5s $swift-ease-in-out-timing-function;
&.ng-enter {
transform: translate(-105%, 0);
&.ng-enter-active {
transform: translate(0%, 0%);
transition-delay: 0.5s;
}
}
&.ng-leave {
transition-delay: 0;
transition-duration: 0.1s;
transform: translate(0, 0);
&.ng-leave-active {
transition-delay: 0.1s;
transition-duration: 0.4s;
transform: translate(-105%, 100%);
}
}
}
}
2015-03-26 14:58:09 +01:00
@include to(sm) {
position: absolute;
2015-03-26 14:58:09 +01:00
width: 100%;
min-width: 100%;
2015-03-31 16:50:05 +02:00
// caution: limited support in Android (<=4.4), full-support in v. 37
height: calc(100vh - #{$toolbar-tall-height});
2015-03-27 22:08:53 +01:00
transform: translateX(-100%) scale(1);
transform-origin: 50% 50%;
transition: all 0.5s $swift-ease-in-out-timing-function;
2015-03-31 16:50:05 +02:00
// .view-detail.sg-close hides the background
&.sg-close {
2015-03-31 16:50:05 +02:00
transition-delay: 0.1s;
transition-duration: 0.4s;
2015-03-27 22:08:53 +01:00
transform: translateX(-100%) scale(0);
2015-03-31 16:50:05 +02:00
// .viewer is the card itself
.viewer {
&.ng-leave,
&.ng-enter,
&.ng-leave.ng-leave-active {
transform: translateY(0) scale(0);
}
// ui-sref might add ng-animate class early
&.ng-enter.ng-enter-active {
transform: translateY(0) scale(0);
}
}
}
// .viewer is the card itself
.viewer {
&.ng-leave,
&.ng-leave.ng-leave-active {
transform: translateY(100%) scale(0);
}
&.ng-enter {
2015-03-31 16:50:05 +02:00
transition: all 0.5s $swift-ease-in-out-timing-function;
transform: translateY(100%) scale(0);
}
&.ng-enter.ng-enter-active {
transform: translateY(0) scale(1);
}
}
2015-03-31 16:50:05 +02:00
&.ng-leave,
&.ng-leave.ng-leave-active {
2015-03-27 22:08:53 +01:00
transform: translateX(-100%) scale(0);
}
2015-03-31 16:50:05 +02:00
&.ng-enter {
transition: all 0.5s $swift-ease-in-out-timing-function;
2015-03-27 22:08:53 +01:00
transform: translateX(-100%) scale(0);
}
2015-03-31 16:50:05 +02:00
&.ng-enter.ng-enter-active {
transform: translateX(-100%) scale(1);
}
}
2015-03-26 14:58:09 +01:00
}
2015-04-02 08:53:21 +02:00
@include from(md) {
[ui-view="message"] > md-content {
// to create a false padding for the fab button
border-bottom: ($button-fab-height + ($mg * 2)) solid transparent; // buton height + mg top and bottom
}
}