Upgrade Roundcube beetroot theme to 1.6.0 (#6)

Co-authored-by: meaz <meaz@disroot.org>
Co-authored-by: muppeth <muppeth@disroot.org>
Reviewed-on: #6
Reviewed-by: muppeth <muppeth@no-reply@disroot.org>
This commit is contained in:
meaz 2022-09-06 14:58:42 +00:00
parent 7242a3ec39
commit e555a90ab7
16 changed files with 162 additions and 133 deletions

View File

@ -29,3 +29,20 @@
& when (@dark-mode-enabled = true) {
@import "_dark";
}
/*** Fonts ***/
@font-face {
font-family: 'Icons';
font-style: normal;
font-weight: 900;
src: url("../fonts/la-solid-900.woff2") format('woff2'),
url("../fonts/la-solid-900.woff") format('woff');
}
@font-face {
font-family: 'Icons';
font-style: normal;
font-weight: 400;
src: url("../fonts/la-regular-400.woff2") format('woff2'),
url("../fonts/la-regular-400.woff") format('woff');
}

View File

@ -267,7 +267,7 @@
@color-dark-message-error: @color-dark-error;
@color-dark-message-loading: lighten(@color-dark-background, 10%);
@color-dark-scrollbar-thumb: @color-dark-main;
@color-dark-scrollbar-thumb: darken(@color-main, 25%);
@color-dark-scrollbar-track: @color-dark-border;
@color-dark-blockquote-0: lighten(@color-main, 10%);

View File

@ -12,41 +12,15 @@
@import (reference) "variables";
html.dark-mode {
& when not (@scrollbar-dark-width = unset) {
scrollbar-color: @color-dark-scrollbar-thumb @color-dark-scrollbar-track;
scrollbar-width: @scrollbar-dark-width;
scrollbar-color: @color-dark-scrollbar-thumb @color-dark-scrollbar-track;
textarea,
select,
.popover-body,
.popupmenu,
.ui-dialog-content,
.frame-content,
.formcontent,
.table-responsive,
.table-responsive-sm,
.scroller {
// Firefox does not inherit scrollbar size from the html element
scrollbar-width: @scrollbar-dark-width;
&:not(.touch) {
::-webkit-scrollbar-track {
background-color: @color-dark-scrollbar-track;
}
&:not(.touch) {
::-webkit-scrollbar when (@scrollbar-dark-width = auto) {
// Note: If we do not set the width a default scrollbar is used in Chrome.
// And the custom colors set below do not work
width: 12px;
}
::-webkit-scrollbar when (@scrollbar-dark-width = thin) {
width: 6px;
}
::-webkit-scrollbar-track {
background-color: @color-dark-scrollbar-track;
}
::-webkit-scrollbar-thumb {
background-color: @color-dark-scrollbar-thumb;
}
::-webkit-scrollbar-thumb {
background-color: @color-dark-scrollbar-thumb;
}
}
@ -781,17 +755,11 @@ html.dark-mode {
}
.tox-menu {
scrollbar-width: @scrollbar-dark-width;
background-color: @color-dark-popover-background;
border-color: @color-dark-popover-border;
box-shadow: none;
}
.tox-dialog__body-nav,
.tox-collection__group {
scrollbar-width: @scrollbar-dark-width;
}
.tox-collection__item-caret svg {
fill: @color-dark-font;
}
@ -985,7 +953,6 @@ html.dark-mode {
}
.ui-menu {
scrollbar-width: @scrollbar-dark-width;
background-color: @color-dark-popover-background;
border-color: @color-dark-popover-border;
box-shadow: none;

View File

@ -93,8 +93,3 @@
.rcmail-inline-buttons {
margin: 0;
}
// Have a black background when writing an email
// & when (@dark-mode-enabled = true) {
// @import "dark";
// }

View File

@ -1 +1 @@
@font-face{font-family:'Icons';font-style:normal;font-weight:900;src:url("../fonts/la-solid-900.woff2") format('woff2'),url("../fonts/la-solid-900.woff") format('woff')}@font-face{font-family:'Icons';font-style:normal;font-weight:400;src:url("../fonts/la-regular-400.woff2") format('woff2'),url("../fonts/la-regular-400.woff") format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url('../fonts/roboto-v29-regular.woff2') format('woff2'),url('../fonts/roboto-v29-regular.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url('../fonts/roboto-v29-italic.woff2') format('woff2'),url('../fonts/roboto-v29-italic.woff') format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url('../fonts/roboto-v29-regular-700.woff2') format('woff2'),url('../fonts/roboto-v29-regular-700.woff') format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url('../fonts/roboto-v29-italic-700.woff2') format('woff2'),url('../fonts/roboto-v29-italic-700.woff') format('woff')}body,button,input,optgroup,select,textarea,.popover{font-family:Roboto,sans-serif}button,input,select,textarea{line-height:initial}input{vertical-align:middle}a{color:#bd139a}a:hover{color:#8f0e74}a.disabled{pointer-events:none}a.disabled:not(.btn){opacity:.5}html{scrollbar-color:#c1c1c1 #f1f1f1;scrollbar-width:thin}html textarea,html select,html .popover-body,html .popupmenu,html .ui-dialog-content,html .frame-content,html .formcontent,html .table-responsive,html .table-responsive-sm,html .scroller{scrollbar-width:thin}html:not(.touch) ::-webkit-scrollbar{width:6px}html:not(.touch) ::-webkit-scrollbar-track{background-color:#f1f1f1}html:not(.touch) ::-webkit-scrollbar-thumb{background-color:#c1c1c1}.mce-content-body{margin:4px;color:#2c363a}.mce-content-body div.pre{font-family:monospace}.mce-content-body blockquote{border-left:#1010ff 2px solid;margin:0;padding:0 .4em}.rcmail-inline-message{font-family:Roboto,sans-serif;font-size:14px;padding:.5em;margin:0 0 .5em 0;opacity:.95;color:#2c363a;background-color:rgba(246,96,157,0.2);display:flex;align-items:center}.rcmail-inline-message:before{font-size:1.25em;display:block;float:left;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.5em;line-height:1;width:1em;margin-right:.3em;content:"\f071";color:#F6609D}.rcmail-inline-message span{line-height:1.5}.rcmail-inline-message a{color:#bd139a}.rcmail-inline-message a:hover{color:#8f0e74}.rcmail-inline-message button{vertical-align:middle;white-space:nowrap;padding:.375em .75em;margin-left:.5em;font-size:1em;line-height:1.5;border-radius:.25em;border:1px solid transparent;color:#fff;background:#50162d}.rcmail-inline-message button:focus{box-shadow:0 0 0 .2rem rgba(80,22,45,0.5)}.rcmail-inline-message button:hover{background:#300d1b;border-color:#280b17}.rcmail-inline-message button:not([disabled]):not(.disabled):active{background:#240a14;border-color:#1c0810;box-shadow:0 0 0 .2rem rgba(80,22,45,0.53)}.rcmail-inline-buttons{margin:0}
.popover,.rcmail-inline-message,body,button,input,optgroup,select,textarea{font-family:Roboto,sans-serif}@font-face{font-family:Icons;font-style:normal;font-weight:900;src:url(../fonts/fa-solid-900.woff2) format('woff2'),url(../fonts/fa-solid-900.woff) format('woff')}@font-face{font-family:Icons;font-style:normal;font-weight:400;src:url(../fonts/fa-regular-400.woff2) format('woff2'),url(../fonts/fa-regular-400.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local('Roboto'),local('Roboto-Regular'),url(../fonts/roboto-v29-regular.woff2) format('woff2'),url(../fonts/roboto-v29-regular.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:400;src:local('Roboto Italic'),local('Roboto-Italic'),url(../fonts/roboto-v29-italic.woff2) format('woff2'),url(../fonts/roboto-v29-italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:local('Roboto Bold'),local('Roboto-Bold'),url(../fonts/roboto-v29-regular-700.woff2) format('woff2'),url(../fonts/roboto-v29-regular-700.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-weight:700;src:local('Roboto Bold Italic'),local('Roboto-BoldItalic'),url(../fonts/roboto-v29-italic-700.woff2) format('woff2'),url(../fonts/roboto-v29-italic-700.woff) format('woff')}button,input,select,textarea{line-height:initial}input{vertical-align:middle}a{color:#bd139a}a:hover{color:#8f0e74}a.disabled{pointer-events:none}a.disabled:not(.btn){opacity:.5}html:not(.touch) ::-webkit-scrollbar{width:6px}html{scrollbar-color:#c1c1c1 #f1f1f1}html:not(.touch) ::-webkit-scrollbar-track{background-color:#f1f1f1}html:not(.touch) ::-webkit-scrollbar-thumb{background-color:#c1c1c1}.mce-content-body{margin:4px;color:#2c363a}.mce-content-body div.pre{font-family:monospace}.mce-content-body blockquote{border-left:#1010ff 2px solid;margin:0;padding:0 .4em}.rcmail-inline-message{font-size:14px;padding:.5em;margin:0 0 .5em;opacity:.95;color:#2c363a;background-color:rgba(246,96,157,.2);display:flex;align-items:center}.rcmail-inline-message:before{display:block;float:left;margin:0 .3em 0 0;height:1em;font-family:Icons;font-style:normal;font-weight:900;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:1.5em;line-height:1;width:1em;content:"\f071";color:#F6609D}.rcmail-inline-message span{line-height:1.5}.rcmail-inline-message a{color:#bd139a}.rcmail-inline-message a:hover{color:#8f0e74}.rcmail-inline-message button{vertical-align:middle;white-space:nowrap;padding:.375em .75em;margin-left:.5em;font-size:1em;line-height:1.5;border-radius:.25em;border:1px solid transparent;color:#fff;background:#50162d}.rcmail-inline-message button:focus{box-shadow:0 0 0 .2rem rgba(80,22,45,.5)}.rcmail-inline-message button:hover{background:#300d1b;border-color:#280b17}.rcmail-inline-message button:not([disabled]):not(.disabled):active{background:#240a14;border-color:#1c0810;box-shadow:0 0 0 .2rem rgba(80,22,45,.53)}.rcmail-inline-buttons{margin:0}

View File

@ -18,16 +18,16 @@
font-family: 'Icons';
font-style: normal;
font-weight: 900;
src: url("../fonts/la-solid-900.woff2") format('woff2'),
url("../fonts/la-solid-900.woff") format('woff');
src: url("../fonts/fa-solid-900.woff2") format('woff2'),
url("../fonts/fa-solid-900.woff") format('woff');
}
@font-face {
font-family: 'Icons';
font-style: normal;
font-weight: 400;
src: url("../fonts/la-regular-400.woff2") format('woff2'),
url("../fonts/la-regular-400.woff") format('woff');
src: url("../fonts/fa-regular-400.woff2") format('woff2'),
url("../fonts/fa-regular-400.woff") format('woff');
}
@font-face {
@ -99,21 +99,27 @@ a {
/* Scrollbar styles */
html when not (@scrollbar-width = unset) {
scrollbar-color: @color-scrollbar-thumb @color-scrollbar-track;
scrollbar-width: @scrollbar-width;
textarea,
select,
.popover-body,
.popupmenu,
.ui-dialog-content,
.frame-content,
.formcontent,
.table-responsive,
.table-responsive-sm,
.scroller {
// Firefox does not inherit scrollbar size from the html element
// Ignore thin width setting for Firefox, it makes the scrollbar very very thin in Firefox >= 100
& when not (@scrollbar-width = thin) {
scrollbar-width: @scrollbar-width;
textarea,
select,
.popover-body,
.popupmenu,
.ui-menu,
.ui-dialog-content,
.frame-content,
.formcontent,
.table-responsive,
.table-responsive-sm,
.tox-menu,
.tox-dialog__body-nav,
.tox-collection__group,
.scroller {
// Firefox does not inherit scrollbar size from the html element
scrollbar-width: @scrollbar-width;
}
}
&:not(.touch) {
@ -125,7 +131,13 @@ html when not (@scrollbar-width = unset) {
::-webkit-scrollbar when (@scrollbar-width = thin) {
width: 6px;
}
}
}
html {
scrollbar-color: @color-scrollbar-thumb @color-scrollbar-track;
&:not(.touch) {
::-webkit-scrollbar-track {
background-color: @color-scrollbar-track;
}

View File

@ -405,6 +405,18 @@ body.task-error-login #layout {
font-family: monospace;
font-size: 13px;
}
// This is needed for proper display of quoted plain text
blockquote {
display: inline-block;
min-width: 100%;
& + br {
// compensate the spacing "removed" by the inline-block style above
display: block;
margin-top: 1em;
}
}
}
#compose-attachments {

File diff suppressed because one or more lines are too long

View File

@ -55,7 +55,6 @@
// Scrollbars
@scrollbar-width: thin; // 'auto' or 'thin' or 'unset'
@scrollbar-dark-width: thin; // 'auto' or 'thin' or 'unset'
// Additional icons
@icon-resize-corner: data-uri("image/svg+xml;charset=utf-8", "../images/corner-handle.svg"); // size: 16x16

View File

@ -128,6 +128,7 @@ html.layout-phone {
a {
display: inline-block;
width: 100%;
color: @color-popover-mobile-header;
}
}

View File

@ -86,12 +86,6 @@ div.tox {
background-color: @color-dialog-overlay-background;
}
.tox-menu,
.tox-dialog__body-nav,
.tox-collection__group {
scrollbar-width: @scrollbar-width;
}
.tox-dialog__header {
height: (@layout-header-height - 1px);
border-bottom: 1px solid @color-dialog-header-border;

View File

@ -959,23 +959,50 @@ html.ms .propform {
.style-input-focus();
}
.recipient {
display: flex;
position: relative;
max-width: ~"calc(50% - 3px)";
border: 1px solid @color-recipient-input-border;
background-color: @color-recipient-input-background;
border-radius: .25em;
padding: 0 .25em;
margin-top: @recipient-input-margin-fix;
margin-right: .2em;
white-space: nowrap;
cursor: default;
li {
max-width: 100%;
@media screen and (max-width: 450px) {
width: 100%;
max-width: 100%;
&:not(.recipient) {
user-select: text;
}
&.input {
flex: 1;
min-width: 100px;
}
}
input {
width: 100%;
background: transparent !important;
border: 0 !important;
margin-top: @recipient-input-margin-fix;
outline: 0;
line-height: 1.5;
&::-ms-clear {
display: none; // removes clear icon in IE11
}
}
}
.recipient-input li.recipient,
body > li.recipient.ui-sortable-helper {
display: flex;
position: relative;
max-width: ~"calc(50% - 3px)";
border: 1px solid @color-recipient-input-border;
background-color: @color-recipient-input-background;
border-radius: .25rem;
padding: 0 .25rem;
margin-top: @recipient-input-margin-fix;
margin-right: .2em;
white-space: nowrap;
cursor: default;
@media screen and (max-width: 450px) {
width: 100%;
max-width: 100%;
}
.name {
@ -1011,30 +1038,9 @@ html.ms .propform {
}
}
li {
max-width: 100%;
&:not(.recipient) {
user-select: text;
}
&.input {
flex: 1;
min-width: 100px;
}
}
input {
width: 100%;
background: transparent !important;
border: 0 !important;
margin-top: @recipient-input-margin-fix;
outline: 0;
line-height: 1.5;
&::-ms-clear {
display: none; // removes clear icon in IE11
}
&.ui-sortable-helper {
// fix element width while dragging
padding: 0 0 0 .25rem !important;
}
}

View File

@ -33,7 +33,6 @@
border-radius: .3rem;
z-index: 240;
position: absolute;
scrollbar-width: @scrollbar-width;
.ui-state-active {
border: 0 !important;

View File

@ -794,7 +794,14 @@ html.touch {
.messagelist {
tr {
position: relative;
display: flex; // Safari fix (#8433)
}
td.selection,
td.threads {
line-height: 3.8em; // because of display:flex above
}
td.flags {
position: absolute;
top: .25rem;
@ -806,6 +813,7 @@ html.touch {
visibility: hidden;
}
}
td.subject {
padding-right: .5em;

48
ui.js
View File

@ -2428,28 +2428,30 @@ function rcube_elastic_ui()
if (popup_id && menus[popup_id] && popup.is(':visible')) {
menus[popup_id].transitioning = true;
}
})
.on('hidden.bs.popover', function() {
if (/-clone$/.test(popup.attr('id'))) {
popup.remove();
}
else {
popup.attr('aria-hidden', true)
// Some menus aren't being hidden, force that
.addClass('hidden')
// Bootstrap will detach the popup element from
// the DOM (https://github.com/twbs/bootstrap/issues/20219)
// making our menus to not update buttons state.
// Work around this by attaching it back to the DOM tree.
.appendTo(popup.data('popup-parent') || document.body);
}
// close orphaned popovers, for some reason there are sometimes such dummy elements left
$('.popover-body:empty').each(function() { $(this).parent().remove(); });
// Note: We do not use hidden.bs.popover event because it is not always executed (#8602)
setTimeout(function () {
if (/-clone$/.test(popup.attr('id'))) {
popup.remove();
}
else {
popup.attr('aria-hidden', true)
// Some menus aren't being hidden, force that
.addClass('hidden')
// Bootstrap will detach the popup element from
// the DOM (https://github.com/twbs/bootstrap/issues/20219)
// making our menus to not update buttons state.
// Work around this by attaching it back to the DOM tree.
.appendTo(popup.data('popup-parent') || document.body);
}
if (popup_id && menus[popup_id]) {
delete menus[popup_id];
}
// close orphaned popovers, for some reason there are sometimes such dummy elements left
$('.popover-body:empty').each(function() { $(this).parent().remove(); });
if (popup_id && menus[popup_id]) {
delete menus[popup_id];
}
}, 200);
})
// Because Bootstrap does not provide originalEvent in show/shown events
// we have to handle that by our own using click and keydown handlers
@ -2478,7 +2480,11 @@ function rcube_elastic_ui()
$(item).attr('title', title);
}
popup.attr('aria-hidden', 'true').data('button', item);
if (is_mobile() || !popup.is('.toolbar')) {
popup.attr('aria-hidden', 'true');
}
popup.data('button', item);
// stop propagation to e.g. do not hide the popup when
// clicking inside on form elements

13
ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long