2017-11-21 13:19:21 +01:00
|
|
|
/**
|
|
|
|
* Kolab core library
|
|
|
|
*
|
2018-01-03 11:06:01 +01:00
|
|
|
* This file contains Elastic skin styles for various Kolab plugins.
|
2017-11-21 13:19:21 +01:00
|
|
|
*
|
2018-01-03 11:06:01 +01:00
|
|
|
* @author Aleksander Machniak <machniak@kolabsys.com>
|
2017-11-21 13:19:21 +01:00
|
|
|
*
|
2018-01-03 11:06:01 +01:00
|
|
|
* Copyright (C) 2012-2018, Kolab Systems AG <contact@kolabsys.com>
|
2017-11-21 13:19:21 +01:00
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Affero General Public License as
|
|
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Affero General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2018-04-28 11:42:22 +00:00
|
|
|
@skin: "elastic";
|
|
|
|
@skin-path: "../../../../skins/@{skin}";
|
|
|
|
|
|
|
|
@import (reference) "@{skin-path}/styles/variables";
|
|
|
|
@import (reference) "@{skin-path}/styles/mixins";
|
2017-11-21 13:19:21 +01:00
|
|
|
|
|
|
|
|
2018-01-03 11:06:01 +01:00
|
|
|
/*** Common folders list extensions ***/
|
2017-11-21 13:19:21 +01:00
|
|
|
|
|
|
|
.listing {
|
|
|
|
// Fix focus indicator, because we add div element in the list record
|
|
|
|
@media screen and (min-width: @screen-width-large) {
|
2018-03-15 13:27:22 +00:00
|
|
|
li > div > a {
|
2017-11-21 13:19:21 +01:00
|
|
|
border-left: 2px solid transparent;
|
|
|
|
}
|
2018-03-15 13:27:22 +00:00
|
|
|
li > div > a:focus {
|
2017-11-21 13:19:21 +01:00
|
|
|
border-left: 2px solid @color-list-focus-indicator;
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
li {
|
|
|
|
& > div {
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
& > a:first-child {
|
|
|
|
.overflow-ellipsis;
|
|
|
|
position: relative;
|
|
|
|
flex-grow: 1;
|
|
|
|
|
|
|
|
&:after {
|
|
|
|
color: #ccc;
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
right: 0;
|
|
|
|
height: @listing-line-height !important;
|
|
|
|
font-size: 1.1em !important;
|
|
|
|
}
|
2018-03-15 13:27:22 +00:00
|
|
|
|
|
|
|
& + input {
|
|
|
|
position: initial;
|
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
&.folder .listname:before {
|
2018-01-02 13:21:11 +01:00
|
|
|
&:extend(.font-icon-class);
|
|
|
|
content: @fa-var-sticky-note;
|
2018-01-30 10:38:32 +01:00
|
|
|
margin-right: .5rem;
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
span.actions {
|
2018-03-15 13:27:22 +00:00
|
|
|
display: flex;
|
|
|
|
|
|
|
|
input + & {
|
|
|
|
padding-right: 2em;
|
|
|
|
}
|
|
|
|
|
|
|
|
a {
|
|
|
|
padding: 0;
|
|
|
|
margin: 0;
|
|
|
|
margin-right: .2rem;
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.remove {
|
|
|
|
display: none;
|
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
2018-01-02 13:21:11 +01:00
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
|
2018-03-25 13:15:30 +00:00
|
|
|
a.quickview {
|
|
|
|
&:before {
|
|
|
|
content: @fa-var-eye;
|
|
|
|
opacity: .2;
|
|
|
|
color: @color-link;
|
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
|
2018-03-25 13:15:30 +00:00
|
|
|
&:after {
|
|
|
|
display: none !important;
|
|
|
|
}
|
2018-03-16 09:22:42 +01:00
|
|
|
}
|
|
|
|
|
2017-11-21 13:19:21 +01:00
|
|
|
&.focusview {
|
2018-03-15 13:27:22 +00:00
|
|
|
a.quickview:before {
|
|
|
|
content: @fa-var-eye;
|
|
|
|
opacity: 1;
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.subscribed {
|
|
|
|
cursor: pointer;
|
|
|
|
// reset listing's link style
|
|
|
|
padding: 0;
|
|
|
|
border-left: 0;
|
|
|
|
width: auto;
|
|
|
|
|
|
|
|
&:before {
|
2017-12-08 13:43:58 +01:00
|
|
|
.font-icon-regular(@fa-var-bookmark); // TODO: better icon
|
2017-11-21 13:19:21 +01:00
|
|
|
height: auto;
|
|
|
|
color: @color-link;
|
2018-01-02 13:21:11 +01:00
|
|
|
margin-right: .25rem;
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-02 13:21:11 +01:00
|
|
|
// span.subscribed is used on addressbooks list, a.subscribed in other places
|
|
|
|
span.subscribed:before {
|
|
|
|
&:extend(.font-icon-class);
|
|
|
|
.font-icon-regular(@fa-var-bookmark); // TODO: better icon
|
|
|
|
}
|
|
|
|
|
2017-11-21 13:19:21 +01:00
|
|
|
&.subscribed {
|
|
|
|
.subscribed:before {
|
2017-12-08 13:43:58 +01:00
|
|
|
.font-icon-solid(@fa-var-bookmark); // TODO: better icon
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.selected > div {
|
|
|
|
color: @color-list-selected;
|
|
|
|
background-color: @color-list-selected-background;
|
|
|
|
}
|
|
|
|
|
2018-03-15 13:27:22 +00:00
|
|
|
& > div.readonly a:first-child,
|
2017-12-08 13:43:58 +01:00
|
|
|
&.readonly:not(.virtual) > div a:first-child {
|
2017-11-21 13:19:21 +01:00
|
|
|
padding-right: 1.6em;
|
|
|
|
|
|
|
|
&:after {
|
|
|
|
&:extend(.font-icon-class);
|
|
|
|
content: @fa-var-lock;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-04-03 13:50:19 +02:00
|
|
|
& > div.other.user > .listname,
|
|
|
|
&.other.user > div a:first-child {
|
2018-03-15 13:27:22 +00:00
|
|
|
&:before {
|
|
|
|
.font-icon-solid(@fa-var-user);
|
|
|
|
}
|
2018-04-03 13:50:19 +02:00
|
|
|
}
|
2018-03-15 13:27:22 +00:00
|
|
|
|
2018-04-03 13:50:19 +02:00
|
|
|
& > div.virtual.user > .listname,
|
|
|
|
&.virtual.user > div a:first-child {
|
2018-03-15 13:27:22 +00:00
|
|
|
&:after {
|
2018-03-16 09:22:42 +01:00
|
|
|
display: none;
|
2018-03-15 13:27:22 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-03-16 09:22:42 +01:00
|
|
|
& > div.virtual.shared > .listname,
|
|
|
|
&.virtual.shared > div a:first-child {
|
|
|
|
&:before {
|
|
|
|
.font-icon-solid(@fa-var-share-alt);
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
|
2018-03-16 09:22:42 +01:00
|
|
|
&:after {
|
|
|
|
display: none;
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-11-28 11:04:06 +01:00
|
|
|
&.virtual > div > a {
|
|
|
|
opacity: .5;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-02-25 10:35:13 +00:00
|
|
|
// Tree structure fix
|
|
|
|
&.treelist:not(.notree) {
|
|
|
|
& > li > div > a {
|
|
|
|
padding-left: @listing-treetoggle-width;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-11-28 11:04:06 +01:00
|
|
|
input.flex-checkbox {
|
|
|
|
position: relative !important;
|
|
|
|
margin: 0 0 0 .25em !important;
|
|
|
|
|
|
|
|
& + label {
|
|
|
|
position: relative !important;
|
|
|
|
margin: 0 .3em 0 -1em !important;
|
|
|
|
right: 0 !important;
|
2018-03-25 13:15:30 +00:00
|
|
|
font-size: 1.15em;
|
2017-11-28 11:04:06 +01:00
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
2018-01-03 14:02:56 +01:00
|
|
|
|
|
|
|
li.droptarget > div {
|
|
|
|
background-color: @color-list-droptarget-background;
|
|
|
|
}
|
2018-03-15 13:27:22 +00:00
|
|
|
|
|
|
|
li .count {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
right: 0;
|
|
|
|
min-width: 2em;
|
|
|
|
line-height: 1.4rem;
|
|
|
|
margin: (@listing-line-height - 1.4rem)/2;
|
|
|
|
padding: 0 .3em;
|
|
|
|
border-radius: .4em;
|
|
|
|
background: @color-list-secondary;
|
|
|
|
color: #fff;
|
|
|
|
text-align: center;
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
|
|
html.touch & {
|
|
|
|
line-height: 2rem;
|
|
|
|
margin: (@listing-touch-line-height - 2rem)/2;
|
|
|
|
}
|
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
html.touch .listing {
|
|
|
|
li {
|
|
|
|
& > div {
|
|
|
|
a:after {
|
|
|
|
height: @listing-touch-line-height !important;
|
|
|
|
}
|
|
|
|
}
|
2018-03-25 13:15:30 +00:00
|
|
|
|
|
|
|
.actions {
|
|
|
|
margin-left: .2rem;
|
|
|
|
a {
|
|
|
|
margin-right: .5rem;
|
|
|
|
}
|
|
|
|
}
|
2017-11-21 13:19:21 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-11-28 11:04:06 +01:00
|
|
|
.searchresults {
|
|
|
|
.boxtitle {
|
|
|
|
line-height: 2rem !important;
|
|
|
|
font-size: 80%;
|
|
|
|
padding: 0 .5rem;
|
|
|
|
margin: 0;
|
|
|
|
color: @color-popover-separator;
|
|
|
|
background-color: @color-popover-separator-background;
|
|
|
|
text-align: center;
|
|
|
|
border-bottom: 1px solid @color-layout-border;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-03-26 11:18:52 +02:00
|
|
|
.folderlist li.mailbox {
|
|
|
|
&.type-event > a:before {
|
|
|
|
.font-icon-solid(@fa-var-calendar);
|
|
|
|
}
|
|
|
|
&.type-task > a:before {
|
|
|
|
.font-icon-solid(@fa-var-calendar-check);
|
|
|
|
}
|
|
|
|
&.type-journal > a:before {
|
|
|
|
.font-icon-regular(@fa-var-calendar);
|
|
|
|
}
|
|
|
|
&.type-contact > a:before {
|
|
|
|
.font-icon-regular(@fa-var-address-book);
|
|
|
|
}
|
|
|
|
&.type-note > a:before {
|
|
|
|
.font-icon-regular(@fa-var-sticky-note);
|
|
|
|
}
|
|
|
|
&.type-configuration > a:before {
|
|
|
|
.font-icon-solid(@fa-var-cog);
|
|
|
|
}
|
|
|
|
&.type-freebusy > a:before {
|
|
|
|
.font-icon-regular(@fa-var-calendar);
|
|
|
|
}
|
|
|
|
&.type-file > a:before {
|
|
|
|
.font-icon-solid(@fa-var-folder);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-11-29 13:14:48 +01:00
|
|
|
.toolbarmenu.listing li {
|
|
|
|
&.search {
|
|
|
|
padding: .25rem .5rem;
|
|
|
|
.input-group {
|
|
|
|
|
|
|
|
i.icon {
|
|
|
|
font-size: 80%;
|
|
|
|
padding: .5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
input {
|
|
|
|
font-size: 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-01-02 13:21:11 +01:00
|
|
|
|
|
|
|
a.history:before {
|
|
|
|
content: @fa-var-history;
|
|
|
|
}
|
2017-11-23 13:14:48 +01:00
|
|
|
}
|
|
|
|
|
2018-01-02 13:21:11 +01:00
|
|
|
a.history {
|
|
|
|
&:before {
|
|
|
|
&:extend(.font-icon-class);
|
|
|
|
content: @fa-var-history;
|
|
|
|
display: inline;
|
|
|
|
float: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-03 11:06:01 +01:00
|
|
|
// E.g. notes preview frame
|
2018-01-02 13:21:11 +01:00
|
|
|
.watermark {
|
|
|
|
& > * {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.formcontainer {
|
|
|
|
background: transparent !important;
|
|
|
|
|
2018-07-13 14:49:07 +00:00
|
|
|
&:before {
|
|
|
|
background: unset !important;
|
|
|
|
}
|
|
|
|
|
2018-01-02 13:21:11 +01:00
|
|
|
& > * {
|
|
|
|
display: initial;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-03-15 13:27:22 +00:00
|
|
|
.form-group > .datetime {
|
|
|
|
display: flex;
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
input {
|
|
|
|
width: 10em;
|
|
|
|
}
|
|
|
|
|
|
|
|
input:first-child {
|
|
|
|
margin-right: .5rem;
|
|
|
|
width: 15em;
|
|
|
|
}
|
|
|
|
|
|
|
|
a {
|
|
|
|
margin-left: 1em;
|
|
|
|
text-align: right;
|
|
|
|
flex: 1;
|
|
|
|
line-height: 2.4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
button.btn.save.notify:before {
|
|
|
|
content: @fa-var-envelope;
|
|
|
|
}
|
|
|
|
|
2018-03-22 19:31:13 +00:00
|
|
|
button.btn.print:before {
|
|
|
|
content: @fa-var-print;
|
|
|
|
}
|
|
|
|
|
2018-05-03 07:27:56 +00:00
|
|
|
.formcontent.text-only .faded * {
|
|
|
|
color: @color-black-shade-text;
|
|
|
|
}
|
|
|
|
|
2018-03-22 19:31:13 +00:00
|
|
|
.print-config {
|
|
|
|
position: fixed;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
width: 100%;
|
|
|
|
z-index: 10000;
|
|
|
|
padding: .5em 1em;
|
|
|
|
background-color: @color-black-shade-bg;
|
|
|
|
|
2018-04-02 17:46:14 +00:00
|
|
|
button.print {
|
2018-03-27 15:33:18 +00:00
|
|
|
margin-right: 1rem;
|
|
|
|
}
|
|
|
|
|
2018-03-22 19:31:13 +00:00
|
|
|
.prop {
|
|
|
|
margin-left: .5rem;
|
2018-03-27 15:33:18 +00:00
|
|
|
display: inline-block;
|
|
|
|
vertical-align: middle;
|
|
|
|
|
|
|
|
label {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
label:before {
|
|
|
|
line-height: 1.25;
|
|
|
|
margin-right: .25rem;
|
|
|
|
}
|
2018-03-22 19:31:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
@media print {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
& + .print-content {
|
|
|
|
position: relative;
|
|
|
|
top: 0;
|
|
|
|
left: 0;
|
|
|
|
height: auto;
|
|
|
|
margin: 5em auto 0 auto;
|
|
|
|
overflow: visible;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-04-17 12:57:59 +02:00
|
|
|
.selection-dialog {
|
|
|
|
.ui-dialog-content {
|
|
|
|
display: flex !important;
|
|
|
|
overflow: hidden !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.selection-list {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
border: 1px solid @color-layout-border;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui-dialog-content .popupmenu {
|
|
|
|
display: flex !important; // overwrites .popupmenu style
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.scroller {
|
|
|
|
flex: 1;
|
|
|
|
overflow-y: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.header {
|
|
|
|
border-bottom: 1px solid @color-layout-border;
|
|
|
|
display: flex;
|
|
|
|
background-color: @color-layout-header-background;
|
|
|
|
font-size: @layout-header-font-size;
|
|
|
|
font-weight: bold;
|
|
|
|
line-height: @layout-header-height;
|
|
|
|
height: @layout-header-height;
|
|
|
|
min-height: @layout-header-height;
|
|
|
|
padding: 0 .25em;
|
|
|
|
position: relative; // for absolute positioning of searchbar
|
|
|
|
overflow: hidden;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
|
|
|
|
.header-title {
|
|
|
|
width: 100%;
|
|
|
|
text-align: center;
|
|
|
|
margin: 0 2em;
|
|
|
|
}
|
|
|
|
|
|
|
|
.selection-content {
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tab-content {
|
|
|
|
margin-top: 1rem;
|
|
|
|
height: 100%;
|
|
|
|
overflow-y: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.form-addon {
|
|
|
|
margin: 0;
|
|
|
|
padding: .5rem 0;
|
|
|
|
width: 100%;
|
|
|
|
background-color: @color-black-shade-bg;
|
|
|
|
border-top: 1px solid @color-layout-border;
|
|
|
|
}
|
|
|
|
|
|
|
|
// overwrite .popupmenu colors
|
|
|
|
.listing {
|
|
|
|
ul {
|
|
|
|
background-color: @color-layout-list-background;
|
|
|
|
}
|
|
|
|
|
|
|
|
li.selected {
|
|
|
|
color: @color-font;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@media screen and (max-width: @screen-width-small) {
|
|
|
|
.ui-dialog-content {
|
|
|
|
padding: 0 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.selection-list {
|
|
|
|
border: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ui-dialog-titlebar {
|
|
|
|
display: none;
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.selection-content {
|
|
|
|
.header-title {
|
|
|
|
margin-left: 0;
|
|
|
|
}
|
|
|
|
}
|
2018-04-19 12:55:27 +00:00
|
|
|
|
|
|
|
.header {
|
|
|
|
a:before {
|
|
|
|
font-size: 1.75rem;
|
|
|
|
}
|
|
|
|
}
|
2018-04-17 12:57:59 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-04-19 12:55:27 +00:00
|
|
|
// Use icons-only on taskmenu with small screen height
|
|
|
|
@media screen and (max-height: 640px) and (min-width: (@screen-width-small + 1px)) {
|
|
|
|
body > #layout > .menu {
|
|
|
|
width: 2.5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
#taskmenu {
|
|
|
|
a {
|
|
|
|
height: auto;
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
&:before {
|
|
|
|
height: 2.1rem;
|
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.special-buttons {
|
|
|
|
width: 2.5rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
span.inner {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-03-22 19:31:13 +00:00
|
|
|
|
2018-01-03 11:06:01 +01:00
|
|
|
@import "include/calendar";
|
2018-01-04 10:13:44 +01:00
|
|
|
@import "include/kolab_activesync";
|
|
|
|
@import "include/kolab_delegation";
|
2018-02-27 15:34:43 +00:00
|
|
|
@import "include/kolab_files";
|
2018-01-03 11:06:01 +01:00
|
|
|
@import "include/kolab_notes";
|
|
|
|
@import "include/kolab_tags";
|
2018-02-28 17:03:16 +00:00
|
|
|
@import "include/libcalendaring";
|
2018-01-03 11:06:01 +01:00
|
|
|
@import "include/tasklist";
|