migrate therinaldos.com data
Build & Deploy to DigitalOcean Space / build (push) Failing after 2m38s

This commit is contained in:
2024-05-05 15:50:45 -04:00
commit ef1ff240d4
23182 changed files with 3801898 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
/*!
* @copyright Copyright (c) 2022 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* 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/>.
*/@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}/*# sourceMappingURL=animations.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["animations.scss"],"names":[],"mappings":"CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA","file":"animations.css"}
+41
View File
@@ -0,0 +1,41 @@
/*!
* @copyright Copyright (c) 2022 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* 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/>.
*/
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes rotate {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+1
View File
@@ -0,0 +1 @@
::-moz-focus-inner{border:0}/*# sourceMappingURL=fixes.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["fixes.scss"],"names":[],"mappings":"AAGA,mBACC","file":"fixes.css"}
+7
View File
@@ -0,0 +1,7 @@
/* ---- BROWSER-SPECIFIC FIXES ---- */
/* remove dotted outlines in Firefox */
::-moz-focus-inner {
border: 0;
}
+1
View File
@@ -0,0 +1 @@
/*# sourceMappingURL=functions.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"functions.css"}
+67
View File
@@ -0,0 +1,67 @@
/**
* @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
*
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* 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/>.
*
*/
/**
* @see core/src/icons.js
*/
@function match-color-string($color) {
@if $color == #000 {
@return "dark";
}
@if $color == #fff {
@return 'white';
}
@if $color == #FC0 {
@return 'yellow';
}
@if $color == #e9322d {
@return 'red';
}
@if $color == #eca700 {
@return 'orange';
}
@if $color == #46ba61 {
@return 'green';
}
@if $color == #969696 {
@return 'grey';
}
@return $color;
}
/**
* SVG COLOR API
*
* @param string $icon the icon filename
* @param string $dir the icon folder within /core/img if $core or app name
* @param string $color the desired color in hexadecimal
* @param int $version the version of the file
* @param bool [$core] search icon in core
*
* @returns A background image with the url to the set to the requested icon.
*/
@mixin icon-color($icon, $dir, $color, $version: 1, $core: false) {
$color: match-color-string($color);
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
$varName: "--icon-#{$icon}-#{$color}";
background-image: var(#{$varName});
}
+1
View File
@@ -0,0 +1 @@
.pull-left{float:left}.pull-right{float:right}.clear-left{clear:left}.clear-right{clear:right}.clear-both{clear:both}.hidden{display:none}.hidden-visually{position:absolute;left:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.bold{font-weight:600}.center{text-align:center}.inlineblock{display:inline-block}/*# sourceMappingURL=global.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["global.scss"],"names":[],"mappings":"AAMA,WACC,WAGD,YACC,YAGD,YACC,WAGD,aACC,YAGD,YACC,WAGD,QACC,aAGD,iBACC,kBACA,cACA,aACA,UACA,WACA,gBAGD,MACC,gBAGD,QACC,kBAGD,aACC","file":"global.css"}
+50
View File
@@ -0,0 +1,50 @@
/* Copyright (c) 2015, Raghu Nayyar, http://raghunayyar.com
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
/* Global Components */
.pull-left {
float: left;
}
.pull-right {
float: right;
}
.clear-left {
clear: left;
}
.clear-right {
clear: right;
}
.clear-both {
clear: both;
}
.hidden {
display: none;
}
.hidden-visually {
position: absolute;
left: -10000px;
top: -10000px;
width: 1px;
height: 1px;
overflow: hidden;
}
.bold {
font-weight:600;
}
.center {
text-align:center;
}
.inlineblock {
display: inline-block;
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["animations.scss","guest.scss"],"names":[],"mappings":"CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqBA,0BACC,KACC,+BACA,uBAED,GACC,iCACA,0BAGF,kBACC,KACC,+BACA,uBAED,GACC,iCACA,0BC3BF,wYACA,iBACA,2EACA,qBACA,mEACA,iDACA,kCACA,6DACA,6DACA,mBAEA,KACC,mBAEA,iBACA,kBACA,6NACA,wBACA,kBAEA,8FAMA,2JACG,4BACH,gBACA,YACA,cACA,gBAKA,cACC,gBAGD,qBACC,wBAGD,kEAEC,0BACA,8BAIF,GACC,kBACA,WAID,SAGC,iBAGD,GACC,eACA,mBACA,iBAED,GACC,eACA,cAID,KACC,aACA,sBACA,uBACA,mBAIA,cACC,wEACA,4BACA,wBACA,2BACA,YACA,aACA,cACA,kBACA,WAIF,SACC,WACA,gBACA,uBAID,KACC,kBACA,YACA,UAED,kBACC,gBAGD,4DAEC,WAED,uCACC,YACA,uBACA,SACA,UAGD,wBACC,SAGD,wBACC,iBACA,mBAED,sCACC,mBACA,gBAED,2CAEC,mBAED,qBACC,WAED,2CACC,WAED,sBACC,cACA,SAED,0BACC,mBAID,cACC,aAED,kBACC,sBAID,gBACC,aACA,mBACA,uBACA,iBACA,kBAID,2CACC,SACC,cAMF,gBACC,cAEA,6BACC,kBACA,WACA,mCACA,oBAKD,uMAGC,WAGD,oCACC,kBACA,SACA,WAMF,uDACC,6NAED,yFAKC,eACA,WACA,YACA,aACA,kBACA,wBAGD,gDAEI,iBAGJ,sCACI,2BAGJ,qGAOC,qBACA,WACA,eACA,aACA,8CACA,iBACA,wBACA,YACA,oBACA,eAGD,kCACC,kBACA,UACA,QAGD,yBACC,6DAED,wEAIC,YACA,iBACA,gCACA,YACA,oBACA,mBACA,cACA,eAED,gFACC,YACA,8BAED,YACC,YACA,YACA,sCAED,4FAIC,kBACA,gBACA,uBAID,iDAEC,SAGD,4MAMC,wCAID,8BACC,kBACA,cACA,SACA,UACA,WACA,gBAED,oCACC,iBAED,iGAEC,eAED,2CACC,WACA,qBACA,sBACA,WACA,eACA,sBACA,kBACA,YACA,WACA,2BAED,kDACC,kBAED,6IAEC,kBAED,0DACC,sBACA,kBAED,2DACC,iCACA,6BAED,mEACC,kBACA,sBAED,0DACC,0CACA,6BACA,+DAID,qBACC,qBACA,kBACA,UACA,YACA,0BACA,gBACA,WAED,eACC,iBACA,gBACA,kBAID,yBACC,kBACA,UACA,SACA,aACA,uBACA,WACA,qBACA,aAGD,2CACC,6BACA,UAED,qBACC,YACA,iBACA,WACA,cAED,gBACC,iBAID,8GAKC,kBAGD,uIAGC,mDAGD,iCACC,gBACA,mBAED,qBACC,aACA,kBACA,cACA,+BACA,gBACA,mBACA,gCAEA,kFAGC,sBAED,yBACC,WACA,YACA,eAED,yBACC,cAED,wBACC,SAED,uBACC,mBAGF,iBACC,YACA,cACA,cAED,mBACC,WACA,aACA,iBACA,oBACA,eAED,oBAEC,wBACA,YAED,sBACC,qBACA,aAKD,gBACC,kCAKD,uBACC,gBACA,mBAID,mBACC,kBACA,mBACA,SACA,aACA,yBACC,mBAED,yBACC,YACA,kBACA,eACA,yCACA,6BACA,eACA,qCACA,kBAED,iFAEC,mBACA,0CACA,6BAED,8BACC,aAMF,oCAGC,kBACA,iBAED,uBACC,6BAED,aACC,mBAED,gCACC,2BAED,4BACC,6BACA,wBAKD,sBACC,aACA,sBACA,gBACA,qBACA,mBACA,eACA,sBACA,yBACA,qBACA,iBAGA,gCACC,qBACA,YAGD,2BACC,cAGD,yCACC,mBAMF,WACC,aAED,sBACC,gBAED,OACC,iBACA,yBACA,sBACA,qBACA,iBAID,QACC,wBACA,kBAEA,iBACC,gBACA,gBACA,iBACA,kBAGD,0BACC,WAGD,+BACC,sBAGF,0BACC,gBACA,mBAED,sBACC,aACA,cACA,YAEA,wCACC,qBACA,sBAIF,sBACC,YACA,YACA,qBAKD,iBACC,0DAED,kBACC,2DAED,kBACC,2DAED,cACC,uDAED,oBACC,6DAED,sBACC,+DAKD,eACC,iBACA,iBACA,YACA,aAED,iCACC,4BACA,2BACA,eACA,gBAED,sGACC,kBACA,wCAED,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,SACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBAED,wTACI,uCAEJ,0IACC,sCACA,yBAED,wDACC,sCACA,sBAED,yDACC,YACA,WACA,qBAGD,gLACC,2CAED,wNACC,gDAED,gOACC,iDAED,wQACC,sDAED,0BACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAGD,kBACC,KACA,+BACA,uBAEA,GACA,iCACA,0BAMA,0BACC,iBAGD,iBACC,iBACA,mBAEA,uBACC,SAMH,+BAEC,kBACA,cACA,aACA,UACA,WACA,gBAGD,QACC,kBAGD,UACC,8BACA,wCACA,wCACA,mCACA,cACA,aACA,gBAEA,kBACC,uDACA,mCAGD,gBACC,qDACA,iCAGD,kBACC,uDACA,mCAGD,qBACC,gBAGD,cACC,8CACA,gBACA,kBACA,mCAIF,iCAEC,gGAEA,6BACA,mDACA,QAjyByB,KAkyBzB,2CACA,4CACA,qBACA,sDACA,8CAIA,gBACC,cACA,gBAGD,oBACC,aAGD,gBACC,kBAIF,uBACC,+BACA,eACA,YAID,YACC,2BAGD,WACC,2BAGD,QACC","file":"guest.css"}
+850
View File
@@ -0,0 +1,850 @@
/* Copyright (c) 2011, Jan-Christoph Borchardt, http://jancborchardt.net
* SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
* SPDX-FileCopyrightText: Richard Steinmetz <richard@steinmetz.cloud>
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
@import 'animations.scss';
$guest-container-padding: 16px;
/* Default and reset */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section { margin:0; padding:0; border:0; outline:0; font-weight:inherit; font-size:100%; font-family:inherit; vertical-align:baseline; cursor:default; }
html { height:100%; }
article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block; }
body { line-height:1.5; }
table { border-collapse:separate; border-spacing:0; white-space:nowrap; }
caption, th, td { text-align:left; font-weight:normal; }
table, td, th { vertical-align:middle; }
a { border:0; color: var(--color-main-text); text-decoration:none;}
a, a *, input, input *, select, .button span, label { cursor:pointer; }
ul { list-style:none; }
body {
font-weight: normal;
/* bring the default font size up to 14px */
font-size: .875em;
line-height: 1.6em;
font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
color: var(--color-text);
text-align: center;
/* As guest, there is no color-background-plain */
background-color: var(--color-background-plain, var(--color-primary-element-default, #0082c9));
/* As guest, there is no user background (--image-background)
1. User background if logged in ('no' if removed, that way the variable is _defined_)
2. Empty background if enabled ('yes' is used, that way the variable is _defined_)
3. Else default background
4. Finally default gradient (should not happened, the background is always defined anyway) */
background-image: var(--image-background, var(--image-background-plain, var(--image-background-default, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%))));
background-attachment: fixed;
min-height: 100%; /* fix sticky footer */
height: auto;
overflow: auto;
position: static;
}
/* Various fonts settings */
#body-login {
a {
font-weight: 600;
}
footer a {
color: var(--color-text);
}
a:not(.button):hover,
a:not(.button):focus {
text-decoration: underline;
text-decoration-skip-ink: auto;
}
}
em {
font-style: normal;
opacity: .5;
}
/* heading styles */
h2,
h3,
h4 {
font-weight: bold;
}
h2 {
font-size: 20px;
margin-bottom: 12px;
line-height: 140%;
}
h3 {
font-size: 15px;
margin: 12px 0;
}
/* Global content */
body {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
#header {
.logo {
background-image: var(--image-logo, url('../../core/img/logo/logo.svg'));
background-repeat: no-repeat;
background-size: contain;
background-position: center;
width: 175px;
height: 130px;
margin: 0 auto;
position: relative;
left: unset;
}
}
.wrapper {
width: 100%;
max-width: 700px;
margin-block: 10vh auto;
}
/* Default FORM */
form {
position: relative;
margin: auto;
padding: 0;
}
form.install-form {
max-width: 300px;
}
form.install-form fieldset,
form.install-form fieldset input {
width: 100%;
}
form.install-form .strengthify-wrapper {
bottom: 17px;
width: calc(100% - 8px);
left: 4px;
top: unset;
}
form.install-form #show {
top: 18px;
}
form #sqliteInformation {
margin-top: 0.5rem;
margin-bottom: 20px;
}
form #adminaccount, form #use_other_db {
margin-bottom: 15px;
text-align: left;
}
form #adminaccount > legend,
form #adminlogin {
margin-bottom: 1rem;
}
form #advancedHeader {
width: 100%;
}
form fieldset legend, #datadirContent label {
width: 100%;
}
#datadirContent label {
display: block;
margin: 0;
}
form #datadirField legend {
margin-bottom: 15px;
}
/* View more button */
#showAdvanced {
padding: 13px; /* increase clickable area of Advanced dropdown */
}
#showAdvanced img {
vertical-align: middle; /* adjust position of Advanced dropdown arrow */
}
/* Buttons and input */
#submit-wrapper {
display: flex;
align-items: center;
justify-content: center;
padding: 10px 5px;
position: relative; /* Make the wrapper the containing block of its
absolutely positioned descendant icons */
}
@media only screen and (max-width: 1024px) {
.wrapper {
margin-top: 0;
}
}
#submit-wrapper {
margin: 0 auto;
.submit-icon {
position: absolute;
right: 24px;
transition: right 100ms ease-in-out;
pointer-events: none; /* The submit icon is positioned on the submit button.
From the user point of view the icon is part of the
button, so the clicks on the icon have to be
applied to the button instead. */
}
input.login:hover ~ .submit-icon.icon-confirm-white,
input.login:focus ~ .submit-icon.icon-confirm-white,
input.login:active ~ .submit-icon.icon-confirm-white {
right: 20px;
}
.icon-loading-small {
position: absolute;
top: 22px;
right: 26px;
}
}
input, textarea, select, button, div[contenteditable=true] {
font-family: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
input,
input:not([type='range']),
input:not([type='text']),
input:not([type='password']),
a.button {
font-size: 20px;
margin: 5px;
padding: 5px;
outline: none;
border-radius: 3px; /* --border-radius */
-webkit-appearance: none;
}
input:not([type='radio']),
input:not([type='range']) {
border-width: 2px;
}
input:not([type='range']):focus-visible {
box-shadow: none !important;
}
input[type='submit'],
input[type='submit'].icon-confirm,
input[type='button'],
button,
a.button,
.button,
select {
display: inline-block;
width: auto;
min-width: 25px;
padding: 12px;
background-color: var(--color-main-background);
font-weight: bold;
color: var(--color-text);
border: none;
border-radius: 100px; /* --border-radius-pill */
cursor: pointer;
}
.icon-confirm.input-button-inline {
position: absolute;
right: 3px;
top: 5px;
}
input[type='submit']:focus {
box-shadow: 0 0 0 2px inset var(--color-main-text) !important;
}
input[type='text'],
input[type='tel'],
input[type='password'],
input[type='email'] {
width: 266px;
padding: 5px 10px;
color: var(--color-text-lighter);
cursor: text;
font-family: inherit;
font-weight: normal;
margin-left: 0;
margin-right: 0;
}
input[type='password'].password-with-toggle, input[type='text'].password-with-toggle {
width: 238px;
padding-right: 40px !important;
}
input.login {
width: 260px;
height: 50px;
background-position: right 16px center;
}
input[type='submit'],
input[type='submit'].icon-confirm,
input.updateButton,
input.update-continue {
padding: 10px 20px; /* larger log in and installation buttons */
overflow: hidden;
text-overflow: ellipsis;
}
/* Get rid of the inside dotted line in Firefox */
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
}
input.primary:not(:disabled):hover,
input.primary:not(:disabled):focus,
button.primary:not(:disabled):hover,
button.primary:not(:disabled):focus,
a.primary:not(:disabled):hover,
a.primary:not(:disabled):focus {
color: var(--color-primary-element-text);
}
/* Checkboxes - white only for login */
input[type='checkbox'].checkbox {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
input[type='checkbox'].checkbox + label {
user-select: none;
}
input[type='checkbox'].checkbox:disabled + label,
input[type='checkbox'].checkbox:disabled + label:before {
cursor: default;
}
input[type='checkbox'].checkbox + label:before {
content: '';
display: inline-block;
vertical-align: middle;
margin: 3px;
margin-top: 1px;
border: 1px solid #888;
border-radius: 1px;
height: 10px;
width: 10px;
background-position: center;
}
input[type='checkbox'].checkbox--white + label:before {
border-color: #ddd;
}
input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before,
input[type='checkbox'].checkbox--white:focus + label:before {
border-color: #fff;
}
input[type='checkbox'].checkbox--white:checked + label:before {
background-color: #eee;
border-color: #eee;
}
input[type='checkbox'].checkbox--white:disabled + label:before {
background-color: #666 !important;
border-color: #999 !important;
}
input[type='checkbox'].checkbox--white:checked:disabled + label:before {
border-color: #666;
background-color: #222;
}
input[type='checkbox'].checkbox--white:checked + label:before {
background-color: transparent !important;
border-color: #fff !important;
background-image: url('../img/actions/checkbox-mark-white.svg');
}
/* Password strength meter */
.strengthify-wrapper {
display: inline-block;
position: relative;
top: -20px;
width: 250px;
border-radius: 0 0 3px 3px;
overflow: hidden;
height: 3px;
}
.tooltip-inner {
font-weight: bold;
padding: 3px 6px;
text-align: center;
}
/* Show password toggle */
#show, #dbpassword-toggle {
position: absolute;
right: 2px;
top: -3px;
display: flex;
justify-content: center;
width: 44px;
align-content: center;
padding: 13px;
}
#pass2, input[name='personal-password-clone'] {
padding: .6em 2.5em .4em .4em;
width: 8em;
}
#personal-show + label {
height: 14px;
margin-top: -25px;
left: 295px;
display: block;
}
#passwordbutton {
margin-left: .5em;
}
/* Dark subtle label text */
p.info,
form fieldset legend,
#datadirContent label,
form fieldset .warning-info,
form input[type='checkbox']+label {
text-align: center;
}
/* overrides another !important statement that sets this to unreadable black */
form .warning input[type='checkbox']:hover+label,
form .warning input[type='checkbox']:focus+label,
form .warning input[type='checkbox']+label {
color: var(--color-primary-element-text) !important;
}
.body-login-container.two-factor {
max-width: 290px;
margin: 15px auto 0;
}
.two-factor-provider {
display: flex;
border-radius: 3px; /* --border-radius */
margin: 12px 0;
border: 1px solid transparent;
text-align: left;
align-items: center;
text-decoration: none !important;
&:hover,
&:focus,
&:active {
border: 1px solid #fff;
}
img {
width: 64px;
height: 64px;
padding: 0 12px;
}
div {
margin: 12px 0;
}
h3 {
margin: 0;
}
p {
font-weight: normal;
}
}
.two-factor-icon {
width: 100px;
display: block;
margin: 0 auto;
}
.two-factor-submit {
width: 100%;
padding: 10px;
margin: 0 0 5px 0;
border-radius: 100px; /* --border-radius-pill */
font-size: 20px;
}
.two-factor-primary {
/* Fix for 'Use backup codes' button not taking correct styles */
padding: 14px !important;
width: 226px;
}
.two-factor-secondary {
display: inline-block;
padding: 12px;
}
/* Additional login options */
#remember_login {
margin: 18px 5px 0 16px !important;
}
/* fixes for update page TODO should be fixed some time in a proper way */
/* this is just for an error while updating the ownCloud instance */
.updateProgress .error {
margin-top: 10px;
margin-bottom: 10px;
}
/* Database selector on install page */
form #selectDbType {
text-align:center;
white-space: nowrap;
margin: 0;
display: flex;
.info {
white-space: normal;
}
label {
flex-grow: 1;
margin: 0 -1px 5px;
font-size: 12px;
background: var(--color-background-hover);
color: var(--color-main-text);
cursor:pointer;
border: 1px solid var(--color-border);
padding: 10px 17px;
}
label.ui-state-hover,
label.ui-state-active {
font-weight: normal;
background: var(--color-background-darker);
color: var(--color-main-text);
}
label span {
display: none;
}
}
/* Nicely grouping input field sets */
.grouptop,
.groupmiddle,
.groupbottom {
position: relative;
user-select: none;
}
.grouptop, .groupmiddle {
margin-bottom: 8px !important;
}
.groupbottom {
margin-bottom: 13px;
}
.groupbottom input[type=submit] {
box-shadow: none !important;
}
.grouptop.groupbottom input {
border-radius: 3px !important;
margin: 5px 0 !important;
}
/* Errors */
/* Warnings and errors are the same */
.body-login-container {
display: flex;
flex-direction: column;
text-align: left;
word-wrap: break-word;
border-radius: 10px; /* --border-radius-large */
cursor: default;
-moz-user-select: text;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
/* TODO: Change all .warning/.update/.error to .body-login-container */
.icon-big {
background-size: 70px;
height: 70px;
}
form {
width: initial;
}
p:not(:last-child) {
margin-bottom: 12px;
}
}
/* Various paragraph styles */
.infogroup {
margin: 8px 0;
}
.infogroup:last-child {
margin-bottom: 0;
}
p.info {
margin: 20px auto;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Update */
.update {
width: calc(100% - 32px);
text-align: center;
.appList {
list-style: disc;
text-align: left;
margin-left: 25px;
margin-right: 25px;
}
img.float-spinner {
float: left;
}
a.update-show-detailed {
border-bottom: inherit;
}
}
#update-progress-detailed {
text-align: left;
margin-bottom: 12px;
}
.update-show-detailed {
padding: 12px;
display: block;
opacity: .75;
.icon-caret-white {
display: inline-block;
vertical-align: middle;
}
}
#update-progress-icon {
height: 32px;
margin: 10px;
background-size: 32px;
}
/* Icons */
.icon-info-white {
background-image: url('../img/actions/info-white.svg?v=2');
}
.icon-error-white {
background-image: url('../img/actions/error-white.svg?v=1');
}
.icon-caret-white {
background-image: url('../img/actions/caret-white.svg?v=1');
}
.icon-confirm {
background-image: url('../img/actions/confirm.svg?v=2');
}
.icon-confirm-white {
background-image: url('../img/actions/confirm-white.svg?v=2');
}
.icon-checkmark-white {
background-image: url('../img/actions/checkmark-white.svg?v=1');
}
/* Loading */
.float-spinner {
margin-top: -32px;
padding-top: 32px;
height: 32px;
display: none;
}
[class^='icon-'], [class*=' icon-'] {
background-repeat: no-repeat;
background-position: center;
min-width: 16px;
min-height: 16px;
}
.loading, .loading-small, .icon-loading, .icon-loading-dark, .icon-loading-small, .icon-loading-small-dark {
position: relative;
filter: var(--background-invert-if-dark)
}
.loading:after, .loading-small:after, .icon-loading:after, .icon-loading-dark:after, .icon-loading-small:after, .icon-loading-small-dark:after {
z-index: 2;
content: '';
height: 32px;
width: 32px;
margin: -17px 0 0 -17px;
position: absolute;
top: 50%;
left: 50%;
border-radius: 100%;
-webkit-animation: rotate .8s infinite linear;
animation: rotate .8s infinite linear;
-webkit-transform-origin: center;
-ms-transform-origin: center;
transform-origin: center;
}
.primary .loading,.primary+.loading,.primary .loading-small,.primary+.loading-small,.primary .icon-loading,.primary+.icon-loading,.primary .icon-loading-dark,.primary+.icon-loading-dark,.primary .icon-loading-small,.primary+.icon-loading-small,.primary .icon-loading-small-dark,.primary+.icon-loading-small-dark {
filter: var(--primary-invert-if-bright)
}
.loading:after, .loading-small:after, .icon-loading:after, .icon-loading-dark:after, .icon-loading-small:after, .icon-loading-small-dark:after {
border: 2px solid rgba(150, 150, 150, 0.5);
border-top-color: #646464;
}
.icon-loading-dark:after, .icon-loading-small-dark:after {
border: 2px solid rgba(187, 187, 187, 0.5);
border-top-color: #bbb;
}
.icon-loading-small:after, .icon-loading-small-dark:after {
height: 16px;
width: 16px;
margin: -9px 0 0 -9px;
}
/* Css replaced elements don't have ::after nor ::before */
img.icon-loading, object.icon-loading, video.icon-loading, button.icon-loading, textarea.icon-loading, input.icon-loading, select.icon-loading, div[contenteditable=true].icon-loading {
background-image: url('../img/loading.gif');
}
img.icon-loading-dark, object.icon-loading-dark, video.icon-loading-dark, button.icon-loading-dark, textarea.icon-loading-dark, input.icon-loading-dark, select.icon-loading-dark, div[contenteditable=true].icon-loading-dark {
background-image: url('../img/loading-dark.gif');
}
img.icon-loading-small, object.icon-loading-small, video.icon-loading-small, button.icon-loading-small, textarea.icon-loading-small, input.icon-loading-small, select.icon-loading-small, div[contenteditable=true].icon-loading-small {
background-image: url('../img/loading-small.gif');
}
img.icon-loading-small-dark, object.icon-loading-small-dark, video.icon-loading-small-dark, button.icon-loading-small-dark, textarea.icon-loading-small-dark, input.icon-loading-small-dark, select.icon-loading-small-dark, div[contenteditable=true].icon-loading-small-dark {
background-image: url('../img/loading-small-dark.gif');
}
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes rotate {
from {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
/* FOOTER */
footer {
.info .entity-name {
font-weight: bold;
}
&.guest-box {
padding: 6px 24px;
margin-bottom: 1rem;
.info {
margin: 0;
}
}
}
/* keep the labels for screen readers but hide them since we use placeholders */
label.infield,
.hidden-visually {
position: absolute;
left: -10000px;
top: -10000px;
width: 1px;
height: 1px;
overflow: hidden;
}
a.legal {
font-size: smaller;
}
.notecard {
color: var(--color-text-light);
background-color: var(--note-background);
border-left: 4px solid var(--note-theme);
border-radius: var(--border-radius);
margin: 1rem 0;
padding: 1rem;
text-align: left;
&.success {
--note-background: rgba(var(--color-success-rgb), 0.1);
--note-theme: var(--color-success);
}
&.error {
--note-background: rgba(var(--color-error-rgb), 0.1);
--note-theme: var(--color-error);
}
&.warning {
--note-background: rgba(var(--color-warning-rgb), 0.1);
--note-theme: var(--color-warning);
}
&:last-child {
margin-bottom: 0;
}
pre {
background-color: var(--color-background-dark);
margin-top: 1rem;
padding: 1em 1.3em;
border-radius: var(--border-radius);
}
}
.guest-box, .body-login-container {
// Ensure the maxcontrast color is set for the background
--color-text-maxcontrast: var(--color-text-maxcontrast-background-blur, var(--color-main-text));
color: var(--color-main-text);
background-color: var(--color-main-background-blur);
padding: $guest-container-padding;
border-radius: var(--border-radius-rounded);
box-shadow: 0 0 10px var(--color-box-shadow);
display: inline-block;
-webkit-backdrop-filter: var(--filter-background-blur);
backdrop-filter: var(--filter-background-blur);
}
.guest-box {
&.wide {
display: block;
text-align: left;
}
fieldset {
margin-top: 0;
}
.pre {
overflow-x: scroll;
}
}
button.toggle-password {
background-color: transparent;
border-width: 0;
height: 44px;
}
/** Utilities */
.margin-top {
margin-top: 1rem !important;
}
.text-left {
text-align: left !important;
}
.hidden {
display: none;
}
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["header.scss","variables.scss"],"names":[],"mappings":"AAiBA,mBAEC,yBACA,sBACA,qBACA,6PACC,aAGD,+QACC,YACA,kBACA,2BACA,WACA,WACA,kBACA,2CACA,SACA,UAGD,gLACC,WAIA,kPACC,WAGD,+HACC,SAOH,+DAGC,oBACA,kBACA,MACA,WACA,aACA,OC2Ce,KD1Cf,sBACA,8BAID,WACC,cACA,kBACA,kBACA,wBACA,sBACA,UACA,mBACA,aACA,eACA,gBACA,WAEA,mCACC,UAaD,gCACC,8CACA,sDACA,yCACA,sBACA,aACA,kBACA,gBAfD,gBACA,oCAgBC,UACA,SACA,SACA,gBAEA,kDACC,aAID,sCACC,gCACA,iDACA,YACA,YACA,SACA,QACA,kBACA,oBACA,WAGD,uEAEC,iCAzCF,gBACA,oCA4CA,cACC,oBACA,yFACA,4BACA,wBACA,2BACA,WACA,kBACA,UACA,QACA,WAEA,gFAGD,kCACC,aACA,mBACA,cAGD,sFAEC,oBACA,mBAGD,0CACC,SACA,mBACA,YAGD,4CACC,yBACA,cAOC,yEACC,gDAID,4DACC,gDAID,4EACC,2DAGF,qDAEC,YACA,kBACA,6EACC,aACA,uBACA,mBACA,MC3FY,KD4FZ,YACA,eACA,YACA,UACA,aAEA,yFACC,UAGD,yGACC,aASL,0CACC,YAKD,gBACC,wCACA,eACA,iBACA,SACA,UACA,kBACA,gBACA,uBAEA,cAGD,kBACC,wCACA,kBACA,gBACA,eACA,iBACA,gBACA,uBAID,cACC,kBACA,gBACA,aACA,WACA,SACA,aACA,aACA,eACA,SAEA,2BACC,IC1Jc,KDiKf,gDACC,mBACA,eAED,gJAEC,qBACA,YACA","file":"header.css"}
+278
View File
@@ -0,0 +1,278 @@
/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Julius Haertl <jus@bitgrid.net>
* @copyright Copyright (c) 2016, Lukas Reschke <lukas@statuscode.ch>
* @copyright Copyright (c) 2016, Jos Poortvliet <jos@opensuse.org>
* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>
* @copyright Copyright (c) 2016, jowi <sjw@gmx.ch>
* @copyright Copyright (c) 2015, Hendrik Leppelsack <hendrik@leppelsack.de>
* @copyright Copyright (c) 2015, Volker E <volker.e@temporaer.net>
* @copyright Copyright (c) 2014-2017, Jan-Christoph Borchardt <hey@jancborchardt.net>
*
* @license GNU AGPL version 3 or any later version
*
*/
@use 'variables';
/* prevent ugly selection effect on accidental selection */
#header,
#expanddiv {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
a:not(.button):focus-visible, button:not(.button-vue):focus-visible, div[role="button"]:focus-visible {
outline: none;
}
a:not(.button):focus-visible::after, .button-vue:focus-visible::after, div[role=button]:focus-visible::after {
content: " ";
position: absolute;
transform: translateX(-50%);
width: 12px;
height: 2px;
border-radius: 3px;
background-color: var(--color-primary-text);
left: 50%;
opacity: 1;
}
a:not(.button):focus-visible::after, .button-vue:focus-visible::after {
bottom: 2px;
}
.header-right {
a:not(.button):focus-visible::after, div[role=button]:focus-visible::after {
bottom: 4px;
}
#expand.menutoggle:focus-visible::after {
left: 40%;
}
}
}
/* HEADERS ------------------------------------------------------------------ */
#body-user #header,
#body-settings #header,
#body-public #header {
display: inline-flex;
position: absolute;
top: 0;
width: 100%;
z-index: 2000;
height: variables.$header-height;
box-sizing: border-box;
justify-content: space-between;
}
/* LOGO and APP NAME -------------------------------------------------------- */
#nextcloud {
padding: 5px 0;
padding-left: 86px; // logo width + 2* pa
position: relative;
height: calc(100% - 4px);
box-sizing: border-box;
opacity: 1;
align-items: center;
display: flex;
flex-wrap: wrap;
overflow: hidden;
margin: 2px;
&:hover, &:active {
opacity: 1;
}
}
@mixin header-menu-height() {
min-height: calc(44px * 1.5); // show at least 1.5 entries
max-height: calc(100vh - #{variables.$header-height} - 8px);
}
#header {
/* Header menu */
$header-menu-entry-height: 44px;
.header-right > div > .menu {
background-color: var(--color-main-background);
filter: drop-shadow(0 1px 5px var(--color-box-shadow));
border-radius: var(--border-radius-large);
box-sizing: border-box;
z-index: 2000;
position: absolute;
max-width: 350px;
@include header-menu-height();
right: 8px; // relative to parent
top: variables.$header-height;
margin: 0;
overflow-y: auto;
&:not(.popovermenu) {
display: none;
}
/* Dropdown arrow */
&:after {
border: 10px solid transparent;
border-bottom-color: var(--color-main-background);
bottom: 100%;
content: ' ';
height: 0;
width: 0;
position: absolute;
pointer-events: none;
right: 10px;
}
& > div,
& > ul {
-webkit-overflow-scrolling: touch;
@include header-menu-height();
}
}
.logo {
display: inline-flex;
background-image: var(--image-logoheader, var(--image-logo, url('../img/logo/logo.svg')));
background-repeat: no-repeat;
background-size: contain;
background-position: center;
width: 62px;
position: absolute;
left: 12px;
top: 1px;
bottom: 1px;
// Invert if not customized and background is bright
filter: var(--image-logoheader-custom, var(--background-image-invert-if-bright));
}
.header-appname-container {
display: none;
padding-right: 10px;
flex-shrink: 0;
}
#header-left, .header-left,
#header-right, .header-right {
display: inline-flex;
align-items: center;
}
#header-left, .header-left {
flex: 1 0;
white-space: nowrap;
min-width: 0;
}
#header-right, .header-right {
justify-content: flex-end;
flex-shrink: 1;
}
/* Right header standard */
.header-right {
> .header-menu:not(.user-menu) {
// For general
> .header-menu__trigger {
filter: var(--background-image-invert-if-bright);
}
// For assistant button
> .trigger {
filter: var(--background-image-invert-if-bright);
}
// For unified search button
.unified-search__trigger {
filter: var(--background-image-invert-if-bright) !important;
}
}
> div,
> form {
height: 100%;
position: relative;
> .menutoggle {
display: flex;
justify-content: center;
align-items: center;
width: variables.$header-height;
height: 44px;
cursor: pointer;
opacity: 0.85;
padding: 0;
margin: 2px 0;
&:focus {
opacity: 1;
}
&:focus-visible {
outline: none;
}
}
}
}
}
/* hover effect for app switcher label */
.header-appname-container .header-appname {
opacity: .75;
}
/* TODO: move into minimal css file for public shared template */
/* only used for public share pages now as we have the app icons when logged in */
.header-appname {
color: var(--color-primary-element-text);
font-size: 16px;
font-weight: bold;
margin: 0;
padding: 0;
padding-right: 5px;
overflow: hidden;
text-overflow: ellipsis;
// Take full width to push the header-shared-by bellow (if any)
flex: 1 1 100%;
}
.header-shared-by {
color: var(--color-primary-element-text);
position: relative;
font-weight: 300;
font-size: 11px;
line-height: 11px;
overflow: hidden;
text-overflow: ellipsis;
}
/* Skip navigation links show only on keyboard focus */
#skip-actions {
position: absolute;
overflow: hidden;
z-index: 9999;
top: -999px;
left: 3px;
padding: 11px;
display: flex;
flex-wrap: wrap;
gap: 11px;
&:focus-within {
top: variables.$header-height;
}
}
/* Empty content messages in the header e.g. notifications, contacts menu, … */
header #emptycontent,
header .emptycontent {
h2 {
font-weight: normal;
font-size: 16px;
}
[class^='icon-'],
[class*='icon-'] {
background-size: 48px;
height: 48px;
width: 48px;
}
}
+1
View File
@@ -0,0 +1 @@
@import"../../dist/icons.css";[class^=icon-],[class*=" icon-"]{background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px}.icon-breadcrumb{background-image:url("../img/breadcrumb.svg?v=1")}.loading,.loading-small,.icon-loading,.icon-loading-dark,.icon-loading-small,.icon-loading-small-dark{position:relative}.loading:after,.loading-small:after,.icon-loading:after,.icon-loading-dark:after,.icon-loading-small:after,.icon-loading-small-dark:after{z-index:2;content:"";height:28px;width:28px;margin:-16px 0 0 -16px;position:absolute;top:50%;left:50%;border-radius:100%;-webkit-animation:rotate .8s infinite linear;animation:rotate .8s infinite linear;-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;border:2px solid var(--color-loading-light);border-top-color:var(--color-loading-dark);filter:var(--background-invert-if-dark)}.primary .loading:after,.primary+.loading:after,.primary .loading-small:after,.primary+.loading-small:after,.primary .icon-loading:after,.primary+.icon-loading:after,.primary .icon-loading-dark:after,.primary+.icon-loading-dark:after,.primary .icon-loading-small:after,.primary+.icon-loading-small:after,.primary .icon-loading-small-dark:after,.primary+.icon-loading-small-dark:after{filter:var(--primary-invert-if-bright)}.icon-loading-dark:after,.icon-loading-small-dark:after{border:2px solid var(--color-loading-dark);border-top-color:var(--color-loading-light)}.icon-loading-small:after,.icon-loading-small-dark:after{height:12px;width:12px;margin:-8px 0 0 -8px}audio.icon-loading,canvas.icon-loading,embed.icon-loading,iframe.icon-loading,img.icon-loading,input.icon-loading,object.icon-loading,video.icon-loading{background-image:url("../img/loading.gif")}audio.icon-loading-dark,canvas.icon-loading-dark,embed.icon-loading-dark,iframe.icon-loading-dark,img.icon-loading-dark,input.icon-loading-dark,object.icon-loading-dark,video.icon-loading-dark{background-image:url("../img/loading-dark.gif")}audio.icon-loading-small,canvas.icon-loading-small,embed.icon-loading-small,iframe.icon-loading-small,img.icon-loading-small,input.icon-loading-small,object.icon-loading-small,video.icon-loading-small{background-image:url("../img/loading-small.gif")}audio.icon-loading-small-dark,canvas.icon-loading-small-dark,embed.icon-loading-small-dark,iframe.icon-loading-small-dark,img.icon-loading-small-dark,input.icon-loading-small-dark,object.icon-loading-small-dark,video.icon-loading-small-dark{background-image:url("../img/loading-small-dark.gif")}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-32{background-size:32px !important}.icon-white.icon-shadow,.icon-audio-white,.icon-audio-off-white,.icon-fullscreen-white,.icon-screen-white,.icon-screen-off-white,.icon-video-white,.icon-video-off-white{filter:drop-shadow(1px 1px 4px var(--color-box-shadow))}/*# sourceMappingURL=icons.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["icons.scss"],"names":[],"mappings":"AA8IQ,8BA9GR,iCACC,4BACA,2BACA,eACA,gBAGD,iBACC,kDAID,sGAMC,kBACA,0IACC,UACA,WACA,YACA,WACA,uBACA,kBACA,QACA,SACA,mBACA,6CACA,qCACA,gCACA,4BACA,wBACA,4CACA,2CAEA,wCAEA,gYAGC,uCAKH,wDAEC,2CACA,4CAGD,yDAEC,YACA,WACA,qBAKA,yJACC,2CAED,iMACC,gDAED,yMACC,iDAED,iPACC,sDAIF,kBACC,KACC,uBAED,GACC,0BAIF,SACC,gCAGD,yKAQC","file":"icons.css"}
+143
View File
@@ -0,0 +1,143 @@
/**
* @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
*
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* @author Joas Schilling <coding@schilljs.com>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Vincent Chan <plus.vincchan@gmail.com>
* @author Thomas Müller <thomas.mueller@tmit.eu>
* @author Hendrik Leppelsack <hendrik@leppelsack.de>
* @author Jan-Christoph Borchardt <hey@jancborchardt.net>
*
* @license GNU AGPL version 3 or any later version
*
* 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/>.
*
*/
@use 'variables';
@import 'functions';
/* GLOBAL ------------------------------------------------------------------- */
[class^='icon-'], [class*=' icon-'] {
background-repeat: no-repeat;
background-position: center;
min-width: 16px;
min-height: 16px;
}
.icon-breadcrumb {
background-image: url('../img/breadcrumb.svg?v=1');
}
/* LOADING ------------------------------------------------------------------ */
.loading,
.loading-small,
.icon-loading,
.icon-loading-dark,
.icon-loading-small,
.icon-loading-small-dark {
position: relative;
&:after {
z-index: 2;
content: '';
height: 28px;
width: 28px;
margin: -16px 0 0 -16px;
position: absolute;
top: 50%;
left: 50%;
border-radius: 100%;
-webkit-animation: rotate .8s infinite linear;
animation: rotate .8s infinite linear;
-webkit-transform-origin: center;
-ms-transform-origin: center;
transform-origin: center;
border: 2px solid var(--color-loading-light);
border-top-color: var(--color-loading-dark);
// revert if background is too bright
filter: var(--background-invert-if-dark);
.primary &,
.primary + & {
// revert if primary is too bright
filter: var(--primary-invert-if-bright);
}
}
}
.icon-loading-dark:after,
.icon-loading-small-dark:after {
border: 2px solid var(--color-loading-dark);
border-top-color: var(--color-loading-light);
}
.icon-loading-small:after,
.icon-loading-small-dark:after {
height: 12px;
width: 12px;
margin: -8px 0 0 -8px;
}
/* Css replaced elements don't have ::after nor ::before */
audio, canvas, embed, iframe, img, input, object, video {
&.icon-loading {
background-image: url('../img/loading.gif');
}
&.icon-loading-dark {
background-image: url('../img/loading-dark.gif');
}
&.icon-loading-small {
background-image: url('../img/loading-small.gif');
}
&.icon-loading-small-dark {
background-image: url('../img/loading-small-dark.gif');
}
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.icon-32 {
background-size: 32px !important;
}
.icon-white.icon-shadow,
.icon-audio-white,
.icon-audio-off-white,
.icon-fullscreen-white,
.icon-screen-white,
.icon-screen-off-white,
.icon-video-white,
.icon-video-off-white {
filter: drop-shadow(1px 1px 4px var(--color-box-shadow));
}
/* ICONS -------------------------------------------------------------------
* These icon classes are generated automatically with the following pattern
* .icon-close (black icon)
* .icon-close-white (white icon)
* .icon-close.icon-white (white icon)
*
* Some class definitions are kept as before, since they don't follow the pattern
* or have some additional styling like drop shadows
*/
@import url('../../dist/icons.css');
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["inputs.scss","functions.scss"],"names":[],"mappings":"AAiBA,kFACC,6BAED,uGACC,wCAED,sDACC,kCAOD,iHAUC,YACA,WAfgB,KAgBhB,sBAYA,oFACC,eACA,oCACA,sCACA,QA/BiB,GAmCnB,wBACC,aAID,yJAUC,iBACA,eACA,8CACA,6BACA,0CACA,mCACA,aACA,mCACA,YACA,uYACC,qBAOC,kxDAIC,0CACA,aAED,gmBACC,aACA,8CACA,6BAGF,maACC,6DACA,oDAGF,wNACC,8CACA,6BACA,eACA,WAED,wNACC,gBAED,oPACC,mDAGD,iNACC,8CACA,0CACA,wCACA,eAGA,kvBAEC,+CAIA,mjCAGC,oDACA,gDAED,gwBAEC,4CAED,2WACC,6CAGF,gRAEC,8CACA,6CACA,eAKH,2BACC,qBACA,gBACA,eACA,8CACA,oCACA,gDACA,aACA,mCAEA,8CACA,oCACA,eACA,WAKA,4KACC,6BACA,0BACA,qBAEA,OA9Je,KAgKhB,0EAIC,YACA,WAID,kBACC,WACA,cACA,gBACA,WACA,eAED,mBACC,SACA,QAED,iBACC,cAKF,6GASC,iBACA,mCACA,WACA,WAtMgB,KAuMhB,eACA,sBACA,8CAEA,mKACC,eAIF,qMAcC,qBACA,eACA,mCACA,8CACA,6BACA,iDACA,YACA,aACA,yCACA,uBACA,eACA,+0BACC,8CACA,kDAED,yRACC,YAIF,mCACC,8CACA,6BAGD,mCACC,aACA,YAID,OACC,kEACA,gBACA,8CACA,8BASA,2DACC,eAIA,sFACC,eAMH,sGAQC,iBACA,wCAGA,gMACC,SAGD,oIACC,+CACA,2CACA,sBAWA,4MAEC,qBACA,2BACA,WAUD,kGACC,6BACA,2CACA,mFACA,iBACA,4BAEA,yDACA,UACA,OA3Uc,KA4Ud,MA5Uc,KA6Ud,gBACA,eACA,eACA,6HACC,eC3SH,+CDmTG,yOACC,gCAID,4qBAGC,qDACA,8CACA,6vBACC,uDAQH,+VACC,qDACA,2CAEA,UAQJ,uBAEC,eAED,2BAEC,mBAUC,4GAEC,kBACA,cACA,SACA,UACA,WACA,gBACA,oIACC,iBAED,4WAEC,eAED,gKACC,WACA,qBACA,OAxBkB,KAyBlB,MAzBkB,KA0BlB,sBACA,kBACA,qBACA,+CAED,oeAEC,0CAED,4LACC,oBACA,qCACA,kBACA,mBAED,4bAIC,8DACA,8CACA,0CAED,oMACC,+CACA,0DAED,oOACC,+CAID,gJACC,qBACA,iBAED,oMACC,cA/DkB,KAmEnB,mFACC,kBACA,OArEkB,KAsElB,MAtEkB,KAuElB,2BACA,2BAED,mGACC,yDAED,+GACC,0DAOD,gZAEC,qBAED,wUACC,aAzFyB,KA2F1B,4NACC,8DACA,yBACA,qBAED,gOACC,oCACA,6CAED,gQACC,8DACA,6CACA,yBAID,8OAEC,0CACA,6BACA,+DAED,6HACC,gEAED,mHACC,WAOJ,iBACC,gBACA,8CACA,qCACC,sCAED,yBACC,qBACA,iBACA,sBACA,6BACC,eAGF,uCACC,gBACA,qEACA,yCAED,kCACC,iBACA,SACA,UACA,wDACC,mBACA,gBACA,uBACA,6DACC,eACA,gEACC,eACA,iBAIH,6JAGC,kBACA,kBACA,aACA,+BACA,eACA,oCAGA,mEACC,8CAGF,uDACE,8CACA,6BAMH,oGAEC,eAID,mHAEC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,YACA,gBACA,6IACC,0CAED,iKACC,iBACA,iBACA,stBAIC,sBACA,8CACA,oCACA,0CAED,2NACC,aAGF,2KACC,iBACA,gBACA,gBACA,6BACA,yMACC,2BAKJ,sBACC,qBACA,+DACC,aACA,eACA,kEACC,WAGF,uCACC,gBACA,mBACA,uBACA,wCACA,+CACA,uBACA,yCACA,0CACA,SACA,iBACA,gBACA,oDACC,0CAED,8DACC,iBACA,iBACA,sBACA,8CACA,0CACA,2FACC,aAED,8JAEC,qCACA,iCAGF,sDACC,gBACA,gBACA,YACA,wDACC,mEACA,WAGF,2LAGC,WAED,mEACC,iBAMH,UACC,qBACA,qBACA,2BACC,wBACA,eACA,yCACC,iBACA,iBACA,sBACA,8CACA,oCACA,0CACA,oBACA,mBACA,gDACC,gBAIH,yBACC,UACA,4BACC,YACA,kBACA,kBACA,+BACA,eACA,oCACA,8BACC,mBACA,gBACA,uBACA,YACA,wBACA,SACA,eACA,eACA,2BACA,yBACA,sBACA,qBACA,iBACA,oBACA,mBACA,0CACA,yBACA,sCACC,YACA,4CACA,4BACA,2BACA,eACA,gBACA,cACA,WACA,iBACA,kBAGF,sCACC,6BAED,qCACC,8CACA,6BACA,6CACC,mBAQL,mBACC,cACA,WACA,UACA,cACA,8CACA,mCACA,gBACA,WACA,gBAEC,2CACC,8BAED,gDACC,8BAGF,yCACC,yBAED,sCACC,mCACA,wCACA,iCAED,2CACC,mCACA,wCACA,iCAKF,iBACC,QAEC,0BAED,QAEC,yBAED,YAGC,0BAED,QAEC,0BAGF,OACC,qBACA,uBACA,mCAKD,cACC,kBACA,cACA,aACA,UACA,WACA,gBAWD,cAJC,oCACA,mCAOD,wBARC,oCACA,mCAWD,4BAZC,oCACA","file":"inputs.css"}
+869
View File
@@ -0,0 +1,869 @@
/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Morris Jobke <hey@morrisjobke.de>
* @copyright Copyright (c) 2016, Joas Schilling <coding@schilljs.com>
* @copyright Copyright (c) 2016, Julius Haertl <jus@bitgrid.net>
* @copyright Copyright (c) 2016, jowi <sjw@gmx.ch>
* @copyright Copyright (c) 2015, Joas Schilling <nickvergessen@owncloud.com>
* @copyright Copyright (c) 2015, Hendrik Leppelsack <hendrik@leppelsack.de>
* @copyright Copyright (c) 2014-2017, Jan-Christoph Borchardt <hey@jancborchardt.net>
*
* @license GNU AGPL version 3 or any later version
*
*/
@use 'variables';
@import 'functions';
/* Specifically override browser styles */
input, textarea, select, button, div[contenteditable=true], div[contenteditable=false] {
font-family: var(--font-face);
}
.select2-container-multi .select2-choices .select2-search-field input, .select2-search input, .ui-widget {
font-family: var(--font-face) !important;
}
.select2-container.select2-drop-above .select2-choice {
background-image: unset !important;
}
$default-height: 36px;
$opacity-disabled: .7;
/* Simple selector to allow easy overriding */
select,
button:not(
.button-vue,
/* "vs__" class prefix is used in the vue-select lib */
[class^="vs__"]
),
input,
textarea,
div[contenteditable=true],
div[contenteditable=false] {
width: 130px;
min-height: $default-height;
box-sizing: border-box;
}
/**
* color-main-text normal state
* color-main-text active state
* color-text-maxcontrast disabled state
*/
button:not(.button-vue),
input:not([type='range']),
textarea {
&:disabled {
cursor: default;
color: var(--color-text-maxcontrast);
border-color: var(--color-border-dark);
opacity: $opacity-disabled;
}
}
input:not([type="range"]) {
outline: none;
}
/* Default global values */
div.select2-drop .select2-search input, // TODO: REMOVE WHEN DROPPING SELECT2
input[type='submit'],
input[type='button'],
input[type='reset'],
button:not(
.button-vue,
[class^="vs__"]
),
.button,
.pager li a {
padding: 7px 14px;
font-size: 13px;
background-color: var(--color-main-background);
color: var(--color-main-text);
border: 1px solid var(--color-border-dark);
font-size: var(--default-font-size);
outline: none;
border-radius: var(--border-radius);
cursor: text;
&:not(.app-navigation-entry-button) {
margin: 3px 3px 3px 0;
}
&:not(
:disabled,
.primary
) {
&:not(.app-navigation-entry-button) {
&:hover,
&:focus,
&.active {
/* active class used for multiselect */
border-color: var(--color-primary-element);
outline: none;
}
&:active {
outline: none;
background-color: var(--color-main-background);
color: var(--color-main-text);
}
}
&:focus-visible {
box-shadow: 0 0 0 4px var(--color-main-background) !important;
outline: 2px solid var(--color-main-text) !important;
}
}
&:disabled {
background-color: var(--color-background-dark);
color: var(--color-main-text);
cursor: default;
opacity: 0.5;
}
&:required {
box-shadow: none;
}
&:user-invalid {
box-shadow: 0 0 0 2px var(--color-error) !important;
}
/* Primary action button, use sparingly */
&.primary {
background-color: var(--color-primary-element);
border-color: var(--color-primary-element);
color: var(--color-primary-element-text);
cursor: pointer;
/* Apply border to primary button if on log in page (and not in a dark container) or if in header */
#body-login :not(.body-login-container) &,
#header & {
border-color: var(--color-primary-element-text);
}
&:not(:disabled) {
&:hover,
&:focus,
&:active {
background-color: var(--color-primary-element-hover);
border-color: var(--color-primary-element-hover);
}
&:focus,
&:focus-visible {
box-shadow: 0 0 0 2px var(--color-main-text);
}
&:active {
color: var(--color-primary-element-text-dark);
}
}
&:disabled {
// opacity is already defined to .5 if disabled
background-color: var(--color-primary-element);
color: var(--color-primary-element-text-dark);
cursor: default;
}
}
}
div[contenteditable=false] {
margin: 3px 3px 3px 0;
padding: 7px 6px;
font-size: 13px;
background-color: var(--color-main-background);
color: var(--color-text-maxcontrast);
border: 1px solid var(--color-background-darker);
outline: none;
border-radius: var(--border-radius);
background-color: var(--color-background-dark);
color: var(--color-text-maxcontrast);
cursor: default;
opacity: 0.5;
}
/* Specific override */
input {
&:not([type='radio']):not([type='checkbox']):not([type='range']):not([type='submit']):not([type='button']):not([type='reset']):not([type='color']):not([type='file']):not([type='image']) {
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
// force height for inline elements like inputs (not textarea, contenteditable...)
height: $default-height;
}
&[type='radio'],
&[type='checkbox'],
&[type='file'],
&[type='image'] {
height: auto;
width: auto;
}
/* Color input doesn't respect the initial height
so we need to set a custom one */
&[type='color'] {
margin: 3px;
padding: 0 2px;
min-height: 30px;
width: 40px;
cursor: pointer;
}
&[type='hidden'] {
height: 0;
width: 0;
}
&[type='time'] {
width: initial;
}
}
/* 'Click' inputs */
select,
button:not(
.button-vue,
[class^="vs__"]
),
.button,
input[type='button'],
input[type='submit'],
input[type='reset'] {
padding: 8px 14px;
font-size: var(--default-font-size);
width: auto;
min-height: $default-height;
cursor: pointer;
box-sizing: border-box;
background-color: var(--color-background-dark);
&:disabled {
cursor: default;
}
}
input:not(
[type='range'],
.input-field__input,
[type='submit'],
[type='button'],
[type='reset'],
.multiselect__input,
.select2-input,
.action-input__input,
[class^="vs__"]
),
select,
div[contenteditable=true],
textarea {
margin: 3px 3px 3px 0;
padding: 0 12px;
font-size: var(--default-font-size);
background-color: var(--color-main-background);
color: var(--color-main-text);
border: 2px solid var(--color-border-maxcontrast);
height: 36px;
outline: none;
border-radius: var(--border-radius-large);
text-overflow: ellipsis;
cursor: pointer;
&:not(:disabled):hover, &:not(:disabled):focus, &:not(:disabled):active {
border-color: 2px solid var(--color-main-text);
box-shadow: 0 0 0 2px var(--color-main-background);
}
&:not(:disabled):focus {
cursor: text;
}
}
.multiselect__input, .select2-input {
background-color: var(--color-main-background);
color: var(--color-main-text);
}
textarea, div[contenteditable=true] {
padding: 12px;
height: auto;
}
/* Override the ugly select arrow */
select {
background: var(--icon-triangle-s-dark) no-repeat right 8px center;
appearance: none;
background-color: var(--color-main-background);
padding-right: 28px !important;
}
select,
button:not(
.button-vue,
[class^="vs__"]
),
.button {
* {
cursor: pointer;
}
&:disabled {
* {
cursor: default;
}
}
}
/* Buttons */
button:not(
.button-vue,
[class^="vs__"]
),
.button,
input[type='button'],
input[type='submit'],
input[type='reset'] {
font-weight: bold;
border-radius: var(--border-radius-pill);
/* Get rid of the inside dotted line in Firefox */
&::-moz-focus-inner {
border: 0;
}
&.error {
background-color: var(--color-error) !important;
border-color: var(--color-error) !important;
color: #fff !important;
}
}
button:not(
.button-vue,
.action-button,
[class^="vs__"]
),
.button {
> span {
/* icon position inside buttons */
&[class^='icon-'],
&[class*=' icon-'] {
display: inline-block;
vertical-align: text-bottom;
opacity: 0.5;
}
}
}
/* Confirm inputs */
input {
&[type='text'],
&[type='password'],
&[type='email'] {
+ .icon-confirm {
margin-left: -13px !important;
border-left-color: transparent !important;
border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;
border-width: 2px;
background-clip: padding-box;
/* Avoid background under border */
background-color: var(--color-main-background) !important;
opacity: 1;
height: $default-height;
width: $default-height;
padding: 7px 6px;
cursor: pointer;
margin-right: 0;
&:disabled {
cursor: default;
@include icon-color('confirm-fade', 'actions', variables.$color-black, 2, true);
}
}
/* only show confirm borders if input is not focused */
&:not(:active):not(:hover):not(:focus){
&:invalid {
+ .icon-confirm {
border-color: var(--color-error);
}
}
+ .icon-confirm {
&:active,
&:hover,
&:focus {
border-color: var(--color-primary-element) !important;
border-radius: var(--border-radius) !important;
&:disabled {
border-color: var(--color-background-darker) !important;
}
}
}
}
&:active,
&:hover,
&:focus {
+ .icon-confirm {
border-color: var(--color-primary-element) !important;
border-left-color: transparent !important;
/* above previous input */
z-index: 2;
}
}
}
}
/* Various Fixes */
button img,
.button img {
cursor: pointer;
}
select,
.button.multiselect {
font-weight: normal;
}
/* Radio & Checkboxes */
$checkbox-radio-size: 14px;
$color-checkbox-radio-white: #fff;
input {
&[type='checkbox'],
&[type='radio'] {
&.radio,
&.checkbox {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
+ label {
user-select: none;
}
&:disabled + label,
&:disabled + label:before {
cursor: default;
}
+ label:before {
content: '';
display: inline-block;
height: $checkbox-radio-size;
width: $checkbox-radio-size;
vertical-align: middle;
border-radius: 50%;
margin: 0 6px 3px 3px;
border: 1px solid var(--color-text-maxcontrast);
}
&:not(:disabled):not(:checked) + label:hover:before,
&:focus + label:before {
border-color: var(--color-primary-element);
}
&:focus-visible + label {
outline-style: solid;
outline-color: var(--color-main-text);
outline-width: 1px;
outline-offset: 2px;
}
&:checked + label:before,
&.checkbox:indeterminate + label:before {
/* ^ :indeterminate have a strange behavior on radio,
so we respecified the checkbox class again to be safe */
box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
background-color: var(--color-primary-element);
border-color: var(--color-primary-element);
}
&:disabled + label:before {
border: 1px solid var(--color-text-maxcontrast);
background-color: var(--color-text-maxcontrast) !important; /* override other status */
}
&:checked:disabled + label:before {
background-color: var(--color-text-maxcontrast);
}
// Detail description below label of checkbox or radio button
& + label ~ em {
display: inline-block;
margin-left: 25px;
}
& + label ~ em:last-of-type {
margin-bottom: $checkbox-radio-size;
}
}
&.checkbox {
+ label:before {
border-radius: 1px;
height: $checkbox-radio-size;
width: $checkbox-radio-size;
box-shadow: none !important;
background-position: center;
}
&:checked + label:before {
background-image: url('../img/actions/checkbox-mark.svg');
}
&:indeterminate + label:before {
background-image: url('../img/actions/checkbox-mixed.svg');
}
}
/* We do not use the variables as we keep the colours as white for this variant */
&.radio--white,
&.checkbox--white {
+ label:before,
&:focus + label:before {
border-color: darken($color-checkbox-radio-white, 27%);
}
&:not(:disabled):not(:checked) + label:hover:before {
border-color: $color-checkbox-radio-white;
}
&:checked + label:before {
box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
background-color: darken($color-checkbox-radio-white, 14%);
border-color: darken($color-checkbox-radio-white, 14%);
}
&:disabled + label:before {
background-color: darken($color-checkbox-radio-white, 27%) !important; /* override other status */
border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */
}
&:checked:disabled + label:before {
box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
border-color: rgba($color-checkbox-radio-white, 0.4) !important; /* override other status */
background-color: darken($color-checkbox-radio-white, 27%);
}
}
&.checkbox--white {
&:checked + label:before,
&:indeterminate + label:before {
background-color: transparent !important; /* Override default checked */
border-color: $color-checkbox-radio-white !important; /* Override default checked */
background-image: url('../img/actions/checkbox-mark-white.svg');
}
&:indeterminate + label:before {
background-image: url('../img/actions/checkbox-mixed-white.svg');
}
&:disabled + label:before {
opacity: 0.7; /* No other choice for white background image */
}
}
}
}
/* Select2 overriding. Merged to core with vendor stylesheet */
div.select2-drop {
margin-top: -2px;
background-color: var(--color-main-background);
&.select2-drop-active {
border-color: var(--color-border-dark);
}
.avatar {
display: inline-block;
margin-right: 8px;
vertical-align: middle;
img {
cursor: pointer;
}
}
.select2-search input {
min-height: auto;
background: var(--icon-search-dark) no-repeat right center !important;
background-origin: content-box !important;
}
.select2-results {
max-height: 250px;
margin: 0;
padding: 0;
.select2-result-label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
span {
cursor: pointer;
em {
cursor: inherit;
background: unset;
}
}
}
.select2-result,
.select2-no-results,
.select2-searching {
position: relative;
display: list-item;
padding: 12px;
background-color: transparent;
cursor: pointer;
color: var(--color-text-maxcontrast);
}
.select2-result {
&.select2-selected {
background-color: var(--color-background-dark);
}
}
.select2-highlighted {
background-color: var(--color-background-dark);
color: var(--color-main-text);
}
}
}
.select2-chosen,
#select2-drop {
.avatar,
.avatar img {
cursor: pointer;
}
}
div.select2-container-multi {
.select2-choices,
&.select2-container-active .select2-choices {
box-shadow: none;
white-space: nowrap;
text-overflow: ellipsis;
background: var(--color-main-background);
color: var(--color-text-maxcontrast) !important;
box-sizing: content-box;
border-radius: var(--border-radius-large);
border: 2px solid var(--color-border-dark);
margin: 0;
padding: 6px;
min-height: 44px;
&:focus-within {
border-color: var(--color-primary-element)
}
.select2-search-choice {
line-height: 20px;
padding-left: 5px;
&.select2-search-choice-focus,
&:hover,
&:active,
& {
background-image: none;
background-color: var(--color-main-background);
color: var(--color-text-maxcontrast);
border: 1px solid var(--color-border-dark);
}
.select2-search-choice-close {
display: none;
}
}
.select2-search-field input {
line-height: 20px;
min-height: 28px;
max-height: 28px;
color: var(--color-main-text);
&.select2-active {
background: none !important;
}
}
}
}
div.select2-container {
margin: 3px 3px 3px 0;
&.select2-container-multi .select2-choices {
display: flex;
flex-wrap: wrap;
li {
float: none;
}
}
a.select2-choice {
box-shadow: none;
white-space: nowrap;
text-overflow: ellipsis;
background: var(--color-main-background);
color: var(--color-text-maxcontrast) !important;
box-sizing: content-box;
border-radius: var(--border-radius-large);
border: 2px solid var(--color-border-dark);
margin: 0;
padding: 6px 12px;
min-height: 44px;
&:focus-within {
border-color: var(--color-primary-element)
}
.select2-search-choice {
line-height: 20px;
padding-left: 5px;
background-image: none;
background-color: var(--color-background-dark);
border-color: var(--color-background-dark);
.select2-search-choice-close {
display: none;
}
&.select2-search-choice-focus,
&:hover {
background-color: var(--color-border);
border-color: var(--color-border);
}
}
.select2-arrow {
background: none;
border-radius: 0;
border: none;
b {
background: var(--icon-triangle-s-dark) no-repeat center !important;
opacity: .5;
}
}
&:hover .select2-arrow b,
&:focus .select2-arrow b,
&:active .select2-arrow b {
opacity: .7;
}
.select2-search-field input {
line-height: 20px;
}
}
}
/* Vue v-select */
.v-select {
margin: 3px 3px 3px 0;
display: inline-block;
.dropdown-toggle {
display: flex !important;
flex-wrap: wrap;
.selected-tag {
line-height: 20px;
padding-left: 5px;
background-image: none;
background-color: var(--color-main-background);
color: var(--color-text-maxcontrast);
border: 1px solid var(--color-border-dark);
display: inline-flex;
align-items: center;
.close {
margin-left: 3px;
}
}
}
.dropdown-menu {
padding: 0;
li {
padding: 5px;
position: relative;
display: list-item;
background-color: transparent;
cursor: pointer;
color: var(--color-text-maxcontrast);
a {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
height: 25px;
padding: 3px 7px 4px 2px;
margin: 0;
cursor: pointer;
min-height: 1em;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
display: inline-flex;
align-items: center;
background-color: transparent !important;
color: inherit !important;
&::before {
content: ' ';
background-image: var(--icon-checkmark-dark);
background-repeat: no-repeat;
background-position: center;
min-width: 16px;
min-height: 16px;
display: block;
opacity: 0.5;
margin-right: 5px;
visibility: hidden;
}
}
&.highlight {
color: var(--color-main-text);
}
&.active > a {
background-color: var(--color-background-dark);
color: var(--color-main-text);
&::before {
visibility: visible;
}
}
}
}
}
/* Progressbar */
progress:not(.vue) {
display: block;
width: 100%;
padding: 0;
border: 0 none;
background-color: var(--color-background-dark);
border-radius: var(--border-radius);
flex-basis: 100%;
height: 5px;
overflow: hidden;
&.warn {
&::-moz-progress-bar {
background: var(--color-error);
}
&::-webkit-progress-value {
background: var(--color-error);
}
}
&::-webkit-progress-bar {
background: transparent;
}
&::-moz-progress-bar {
border-radius: var(--border-radius);
background: var(--color-primary-element);
transition: 250ms all ease-in-out;
}
&::-webkit-progress-value {
border-radius: var(--border-radius);
background: var(--color-primary-element);
transition: 250ms all ease-in-out;
}
}
/* Animation */
@keyframes shake {
10%,
90% {
transform: translate(-1px);
}
20%,
80% {
transform: translate(2px);
}
30%,
50%,
70% {
transform: translate(-4px);
}
40%,
60% {
transform: translate(4px);
}
}
.shake {
animation-name: shake;
animation-duration: .7s;
animation-timing-function: ease-out;
}
// Keep the labels for screen readers but hide them since we use placeholders
// Same as .hidden-visually
label.infield {
position: absolute;
left: -10000px;
top: -10000px;
width: 1px;
height: 1px;
overflow: hidden;
}
// when rules are grouped using the comma operator and one selector is invalid / unknown then the whole group is invalidated.
// https://www.w3.org/TR/selectors-3/#grouping
// In this case `::-ms-input-placeholder` is unknown to Firefox and Chrome
@mixin placeholder-style {
color: var(--color-text-maxcontrast);
font-size: var(--default-font-size);
}
::placeholder {
@include placeholder-style;
}
::-ms-input-placeholder {
@include placeholder-style;
}
::-webkit-input-placeholder {
@include placeholder-style;
}
@@ -0,0 +1,23 @@
.picker-window {
display: inline-block;
padding: 16px;
margin: 20px;
background-color: var(--color-main-background);
color: var(--color-main-text);
border-radius: var(--border-radius-large);
box-shadow: 0 0 10px var(--color-box-shadow);
cursor: default;
}
.picker-window.small {
max-width: 400px;
}
.picker-window h2 {
margin: 20px auto;
}
.apptoken-link {
margin: 20px;
display: block;
}
+1
View File
@@ -0,0 +1 @@
@media only screen and (width < 1024px){#dropdown{margin-right:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-left:0 !important;box-sizing:border-box}#app-navigation:not(.vue){transform:translateX(-300px);position:fixed;height:var(--body-height)}.snapjs-left #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-left:0}.skip-navigation.skip-content{left:3px;margin-left:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;left:0;width:44px;height:44px;z-index:1050;background-color:rgba(255,255,255,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;left:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-left:44px}#body-user .app-files.viewer-mode .files-controls{padding-left:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{left:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-right>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-right>div>.menu::after{display:none !important}#header .header-right>div.openedMenu::after{display:block}#header .header-right>div::after{border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background);bottom:0;content:" ";height:0;width:0;position:absolute;pointer-events:none;right:15px;z-index:2001;display:none}#header .header-right>div#settings::after{right:27px}}/*# sourceMappingURL=mobile.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["mobile.scss","variables.scss"],"names":[],"mappings":"AAEA,wCAGC,UACC,4BACA,qBAID,iBACC,wBAID,YACC,WACA,yBACA,sBAID,0BACC,6BACA,eACA,0BAGA,6BACC,wBAIF,0CACC,cAGD,8BACC,SACA,cAID,kBACC,wCACA,cAEA,iBAEA,eACA,uCACC,aAED,8BACC,aACA,mDACC,gBAOF,gDACC,4BAED,qDACC,eACA,gCACA,ICoCa,KDnCb,OACA,WACA,YACA,aACA,sCACA,eACA,WACA,wBAED,2CACC,4BAKF,uBACC,eACA,gCACA,OACA,WACA,YACA,aACA,eACA,WAED,0DAEC,UAID,6CACC,kBAID,kDACC,0BAED,8CACC,wBAGD,wBACC,kBAID,gBACC,aAED,+BACC,6BAMF,0CACC,gCACC,6BACA,eACA,uCACC,wBAMA,4CACC,cAGF,iCACC,gCACA,iDACA,SACA,YACA,SACA,QACA,kBACA,oBACA,WACA,aACA,aAID,0CACC","file":"mobile.css"}
+164
View File
@@ -0,0 +1,164 @@
@use 'variables';
@media only screen and (width < variables.$breakpoint-mobile) {
/* position share dropdown */
#dropdown {
margin-right: 10% !important;
width: 80% !important;
}
/* fix name autocomplete not showing on mobile */
.ui-autocomplete {
z-index: 1000 !important;
}
/* fix error display on smaller screens */
.error-wide {
width: 100%;
margin-left: 0 !important;
box-sizing: border-box;
}
/* APP SIDEBAR TOGGLE and SWIPE ----------------------------------------------*/
#app-navigation:not(.vue) {
transform: translateX(-#{variables.$navigation-width});
position: fixed;
height: var(--body-height);
}
.snapjs-left {
#app-navigation {
transform: translateX(0);
}
}
#app-navigation:not(.hidden) + #app-content {
margin-left: 0;
}
.skip-navigation.skip-content {
left: 3px;
margin-left: 0;
}
/* full width for message list on mobile */
.app-content-list {
background: var(--color-main-background);
flex: 1 1 100%;
// make full height scroll since app-content-details is hidden
max-height: unset;
// ignore 300px default max width
max-width: 100%;
+ .app-content-details {
display: none;
}
&.showdetails {
display: none;
+ .app-content-details {
display: initial;
}
}
}
/* Show app details page */
#app-content.showdetails {
#app-navigation-toggle {
transform: translateX(-44px);
}
#app-navigation-toggle-back {
position: fixed;
display: inline-block !important;
top: variables.$header-height;
left: 0;
width: 44px;
height: 44px;
z-index: 1050; // above app-content
background-color: rgba(255, 255, 255, .7);
cursor: pointer;
opacity: .6;
transform: rotate(90deg);
}
.app-content-list {
transform: translateX(-100%);
}
}
#app-navigation-toggle {
position: fixed;
display: inline-block !important;
left: 0;
width: 44px;
height: 44px;
z-index: 1050; // above app-content
cursor: pointer;
opacity: 0.6;
}
#app-navigation-toggle:hover,
#app-navigation-toggle:focus {
opacity: 1;
}
/* position controls for apps with app-navigation */
#app-navigation + #app-content .files-controls {
padding-left: 44px;
}
/* .viewer-mode is when text editor, PDF viewer, etc is open */
#body-user .app-files.viewer-mode .files-controls {
padding-left: 0 !important;
}
.app-files.viewer-mode #app-navigation-toggle {
display: none !important;
}
table.multiselect thead {
left: 0 !important;
}
/* prevent overflow in user management controls bar */
#usersearchform {
display: none;
}
#body-settings .files-controls {
min-width: variables.$breakpoint-mobile !important;
}
/* end of media query */
}
@media only screen and (max-width: 480px) {
#header .header-right > div > .menu {
max-width: calc(100vw - 10px);
position: fixed;
&::after {
display: none !important;
}
}
/* Arrow directly child of menutoggle */
#header .header-right > div {
&.openedMenu {
&::after {
display: block;
}
}
&::after {
border: 10px solid transparent;
border-bottom-color: var(--color-main-background);
bottom: 0;
content: ' ';
height: 0;
width: 0;
position: absolute;
pointer-events: none;
right: 15px;
z-index: 2001;
display: none;
}
/* settings need a different offset, since they have a right padding */
&#settings::after {
right: 27px;
}
}
}
+1
View File
@@ -0,0 +1 @@
#body-public .header-right #header-primary-action a{color:var(--color-primary-element-text)}#body-public .header-right #header-secondary-action ul li{min-width:270px}#body-public .header-right #header-secondary-action #header-actions-toggle{background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0);filter:var(--background-invert-if-dark)}#body-public .header-right #header-secondary-action #header-actions-toggle:hover,#body-public .header-right #header-secondary-action #header-actions-toggle:focus,#body-public .header-right #header-secondary-action #header-actions-toggle:active{opacity:1}#body-public .header-right #header-secondary-action #external-share-menu-item form{display:flex}#body-public .header-right #header-secondary-action #external-share-menu-item .hidden{display:none}#body-public .header-right #header-secondary-action #external-share-menu-item #save-button-confirm{flex-grow:0}#body-public #content{min-height:calc(100% - 65px)}#body-public.layout-base #content{padding-top:0}#body-public p.info{margin:20px auto;text-shadow:0 0 2px rgba(0,0,0,.4);-moz-user-select:none;-ms-user-select:none;user-select:none}#body-public p.info,#body-public form fieldset legend,#body-public #datadirContent label,#body-public form fieldset .warning-info,#body-public form input[type=checkbox]+label{text-align:center}#body-public footer{position:fixed;display:flex;align-items:center;justify-content:center;height:65px;flex-direction:column;bottom:0;width:calc(100% - 16px);margin:8px;background-color:var(--color-main-background);border-radius:var(--border-radius-large)}#body-public footer p{text-align:center;color:var(--color-text-lighter)}#body-public footer p a{color:var(--color-text-lighter);font-weight:bold;white-space:nowrap;padding:10px;margin:-10px;line-height:200%}/*# sourceMappingURL=public.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAKE,oDACC,wCAIA,0DACC,gBAED,2EACC,+BACA,2BACA,wCAEA,oPAGC,UAID,mFACC,aAED,sFACC,aAED,mGACC,YAMJ,sBAEC,6BAKD,kCACC,cAGD,oBACC,iBACA,mCACA,sBACA,qBACA,iBAED,+KAIC,kBAID,oBACC,eACA,aACA,mBACA,uBACA,OArEc,KAsEd,sBACA,SACA,wBACA,WACA,8CACA,yCACA,sBACC,kBACA,gCACA,wBACC,gCACA,iBACA,mBAEA,aACA,aACA","file":"public.css"}
+91
View File
@@ -0,0 +1,91 @@
$footer-height: 65px;
#body-public {
.header-right {
#header-primary-action a {
color: var(--color-primary-element-text);
}
#header-secondary-action {
ul li {
min-width: 270px;
}
#header-actions-toggle {
background-color: transparent;
border-color: transparent;
filter: var(--background-invert-if-dark);
&:hover,
&:focus,
&:active {
opacity: 1;
}
}
#external-share-menu-item {
form {
display: flex;
}
.hidden {
display: none;
}
#save-button-confirm {
flex-grow: 0;
}
}
}
}
#content {
// 100% - footer
min-height: calc(100% - #{$footer-height});
}
/** don't apply content header padding on the base layout */
&.layout-base #content {
padding-top: 0;
}
p.info {
margin: 20px auto;
text-shadow: 0 0 2px rgba(0, 0, 0, .4);
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
p.info, form fieldset legend,
#datadirContent label,
form fieldset .warning-info,
form input[type='checkbox']+label {
text-align: center;
}
/* public footer */
footer {
position: fixed;
display: flex;
align-items: center;
justify-content: center;
height: $footer-height;
flex-direction: column;
bottom: 0;
width: calc(100% - 16px);
margin: 8px;
background-color: var(--color-main-background);
border-radius: var(--border-radius-large);
p {
text-align: center;
color: var(--color-text-lighter);
a {
color: var(--color-text-lighter);
font-weight: bold;
white-space: nowrap;
/* increasing clickability to more than the text height */
padding: 10px;
margin: -10px;
line-height: 200%;
}
}
}
}
+36
View File
@@ -0,0 +1,36 @@
form fieldset {
display: flex !important;
flex-direction: column;
}
form fieldset > p {
position: relative;
}
#email,
#password {
margin: 5px 0;
padding-right: 45px;
height: 45px;
box-sizing: border-box;
flex: 1 1 auto;
width: 100% !important;
min-width: 0; /* FF hack for to override default value */
}
#password-input-form input[type='submit'],
#email-input-form input[type='submit'],
#email-input-form input[type='submit'].icon-confirm,
#password-input-form input[type='submit'].icon-confirm {
position: absolute;
top: 0px;
right: -5px;
width: 45px !important;
height: 45px;
background-color: transparent !important;
}
.warning > .warning {
/* Do not use a top margin for warning messages in the warning container. */
margin-top: 0;
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
@import 'styles.scss';
@import 'inputs.scss';
@import 'header.scss';
@import 'icons.scss';
@import 'apps.scss';
@import 'global.scss';
@import 'fixes.scss';
@import 'mobile.scss';
@import 'tooltip.scss';
// If you include .css, it will be imported as url
@import '../../node_modules/@nextcloud/dialogs/dist/style';
@import 'public.scss';
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["styles.scss"],"names":[],"mappings":"AAkBA,yQACC,SACA,UACA,SACA,oBACA,eACA,oBACA,wBACA,eACA,uDACA,qBAGD,6CACC,aAID,0CACC,wDACA,aAGD,UACC,YAEA,8BAGD,6DACC,cAGD,KACC,gBAGD,MACC,yBACA,iBACA,mBAGD,cACC,gBACA,mBAGD,YACC,sBAGD,EACC,SACA,6BACA,qBACA,eACA,IACC,eAIF,WACC,aACA,0BAGD,MACC,eACA,QACC,eAIF,0BACC,eAGD,GACC,gBAGD,KACC,mBAEA,mCACA,uCACA,6BACA,6BAGD,mBACC,kBAGD,qBACC,kBACA,sBACA,qBACA,2BACA,2DACA,uBAGD,iBACC,qBACA,aACA,gCAGD,eACC,YACA,aAGD,cACC,eACA,MACA,SACA,OACA,YACA,WACA,aACA,kBACA,gDACA,wCACA,iBACA,eACA,kBACC,cACA,kBACA,UACA,QACA,gBAED,gBACC,wCACA,sDACA,4CACC,6CAOH,oBACC,WACA,YAGD,2BACC,+BAGD,gCACC,+BAGD,0BACC,kCACA,yCACA,+BACA,4BAMD,YACC,8CACA,wCAMD,kBACC,sBAKD,4BAEC,oCACA,kBACA,gBACA,WACA,sDACC,gBAED,sEACC,gBAED,kCACC,mBAED,oHAEC,qBACA,YACA,WACA,mBACA,gcAEC,WAOH,sBACC,WASD,oCACC,kBACA,yBACA,sBACA,qBACA,iBAKD,kBACC,kBACA,UACA,SACA,YAGD,8BACC,WACA,oBACA,wBACA,wBAGD,2EACC,WAED,oGACC,kDACA,UACA,qBAGD,mDACC,6BACA,YACA,WACA,yCACA,4BACA,2BACA,WAOA,qEACC,UAED,qEACC,UAIF,wEACC,aAGD,2CACC,mBAGD,yBACC,kBACA,qBACA,iBAED,qBACC,cACA,QACA,iBACA,kBACA,aAKD,4CACC,eACA,YACA,mCACA,6BACA,qDAIA,2BACC,4BAKD,wBACC,sBACA,4BACA,+BACC,2CACA,qBACA,kBAGF,0BACC,qBACA,gBAIF,YACC,YACA,8BACA,oBACC,sBAIF,eACC,2CAUD,mBACC,kBACA,cACA,2BACC,kBACA,cAIF,UACC,gBAGD,8CACC,UAIA,oGAGC,WAIF,mBACC,WACA,kBACA,QAEA,kDACC,UAIF,WACC,WACA,YAGD,eACC,WAIA,8CACC,UAKD,kDACC,UAKD,0CACC,UAKD,uGACC,8CAIF,KACC,mFAGD,OACC,gBACA,YACA,eACA,qBACA,UACC,qBAIF,2FACC,gBACA,uBAGD,2BACC,yDAGD,2BACC,6DAID,yBACC,gBACA,gBACA,WACA,mCACA,YACA,wBAEA,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAED,oDACC,WAEA,8EACC,yEAED,8EACC,wEAGF,oEACC,UAID,oDACC,mBACA,gCACA,WACA,WACA,YAED,0DACC,yBAGA,+FACC,gDAGD,wOAGC,8CACA,wCACA,iBAGD,yNAEC,gCACA,WAMJ,wCACC,gCACA,wCAKD,yBACC,2BACA,sBACA,mCACA,wBAEA,4CACC,uBAGD,sKAGC,+BACA,mBAED,2CACC,YACA,eACA,YACA,8CACA,6BAEA,gEACC,cACA,mBAIF,qFACC,iBAGA,iDACC,mBACA,gCACA,WACA,yDACC,UACA,WACA,iBAGF,uDACC,yBAGA,0TAIC,8CACA,wCACA,iBAGD,4FACC,gCAGD,qEACC,2CASH,oGACC,aACA,iBACA,8BACA,0GACC,cACA,SACA,YACA,YACA,WACA,aACA,mBACA,uBACA,8GACC,kBACA,kBACA,mBACA,6BACA,cACA,iBACA,WACA,YACA,YACA,eAOJ,WACC,0BAGD,aACC,WACA,sBAKD,YACC,6BAMA,qBACC,WACA,aAED,wBACC,cACA,gDACA,WACA,aAED,2BACC,WACA,YACA,6BACC,WAGF,wBACC,wCACA,kBACA,mBACA,gBACA,uBACA,0CACA,kCACA,6DACC,0CAGF,sBACC,UACA,WAKF,YACC,oBACA,YAED,SACC,oBACA,kDACA,4BACA,iCACA,YACA,0BACA,cACA,QACA,kBACA,mBACC,QACA,kBACA,qBACC,WAIA,wFACC,cAIF,gCACC,SACA,iBACA,mCACC,iBACA,gBACA,kBACA,kBACA,+DACC,+EAGF,+CACC,aAIH,gBACC,aACA,uBACC,QAGF,yBAEC,kBACA,aACA,WACA,uBACA,mBACA,gBACA,cAEA,gBAEA,8FAGC,oBAGF,yBACC,UACA,WAID,oBACC,iBACA,kBAEA,2BACC,eAGF,+DACC,UAEA,0JAEC,WAOH,QACC,UACA,yCACA,sCACA,qCACA,oCACA,iCACA,oBACC,UAOD,+CACC,SACA,kBAED,mDACC,gBAKF,cACC,mBAMD,mBACC,aACA,QACA,SACA","file":"styles.css"}
+829
View File
@@ -0,0 +1,829 @@
/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Lukas Reschke <lukas@statuscode.ch>
* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>
* @copyright Copyright (c) 2016, Julius Haertl <jus@bitgrid.net>
* @copyright Copyright (c) 2016, Joas Schilling <coding@schilljs.com>
* @copyright Copyright (c) 2016, Morris Jobke <hey@morrisjobke.de>
* @copyright Copyright (c) 2016, Christoph Wurst <christoph@winzerhof-wurst.at>
* @copyright Copyright (c) 2016, Raghu Nayyar <hey@raghunayyar.com>
* @copyright Copyright (c) 2011-2017, Jan-Christoph Borchardt <hey@jancborchardt.net>
* @copyright Copyright (c) 2019-2020, Gary Kim <gary@garykim.dev>
*
* @license GNU AGPL version 3 or any later version
*
*/
@use 'sass:math';
@use 'variables';
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, nav, section, main {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
cursor: default;
scrollbar-color: var(--color-border-dark) transparent;
scrollbar-width: thin;
}
.js-focus-visible :focus:not(.focus-visible) {
outline: none;
}
/** Let vue apps handle the focus themselves */
.content:not(#content-vue) :focus-visible {
box-shadow: inset 0 0 0 2px var(--color-primary-element);
outline: none;
}
html, body {
height: 100%;
// disable pull-down-to-refresh on chromium mobile
overscroll-behavior-y: contain;
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
display: block;
}
body {
line-height: 1.5;
}
table {
border-collapse: separate;
border-spacing: 0;
white-space: nowrap;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
table, td, th {
vertical-align: middle;
}
a {
border: 0;
color: var(--color-main-text);
text-decoration: none;
cursor: pointer;
* {
cursor: pointer;
}
}
a.external {
margin: 0 3px;
text-decoration: underline;
}
input {
cursor: pointer;
* {
cursor: pointer;
}
}
select, .button span, label {
cursor: pointer;
}
ul {
list-style: none;
}
body {
font-weight: normal;
/* bring the default font size up to 15px */
font-size: var(--default-font-size);
line-height: var(--default-line-height);
font-family: var(--font-face);
color: var(--color-main-text);
}
.two-factor-header {
text-align: center;
}
.two-factor-provider {
text-align: center;
width: 100% !important;
display: inline-block;
margin-bottom: 0 !important;
background-color: var(--color-background-darker) !important;
border: none !important;
}
.two-factor-link {
display: inline-block;
padding: 12px;
color: var(--color-text-lighter);
}
.float-spinner {
height: 32px;
display: none;
}
#nojavascript {
position: fixed;
top: 0;
bottom: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 9000;
text-align: center;
background-color: var(--color-background-darker);
color: var(--color-primary-element-text);
line-height: 125%;
font-size: 24px;
div {
display: block;
position: relative;
width: 50%;
top: 35%;
margin: 0px auto;
}
a {
color: var(--color-primary-element-text);
border-bottom: 2px dotted var(--color-main-background);
&:hover, &:focus {
color: var(--color-primary-element-text-dark);
}
}
}
/* SCROLLING */
::-webkit-scrollbar {
width: 12px;
height: 12px
}
::-webkit-scrollbar-corner {
background-color: transparent;
}
::-webkit-scrollbar-track-piece {
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background: var(--color-scrollbar);
border-radius: var(--border-radius-large);
border: 2px solid transparent;
background-clip: content-box;
}
/* SELECTION */
::selection {
background-color: var(--color-primary-element);
color: var(--color-primary-element-text);
}
/* CONTENT ------------------------------------------------------------------ */
#app-navigation * {
box-sizing: border-box;
}
/* EMPTY CONTENT DISPLAY ------------------------------------------------------------ */
#emptycontent,
.emptycontent {
color: var(--color-text-maxcontrast);
text-align: center;
margin-top: 30vh;
width: 100%;
#app-sidebar & {
margin-top: 10vh;
}
.emptycontent-search {
position: static;
}
h2 {
margin-bottom: 10px;
}
[class^='icon-'],
[class*='icon-'] {
background-size: 64px;
height: 64px;
width: 64px;
margin: 0 auto 15px;
&:not([class^='icon-loading']),
&:not([class*='icon-loading']) {
opacity: .4;
}
}
}
/* LOG IN & INSTALLATION ------------------------------------------------------------ */
#datadirContent label {
width: 100%;
}
/* strengthify wrapper */
/* General new input field look */
/* Nicely grouping input field sets */
.grouptop, .groupmiddle, .groupbottom {
position: relative;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
/* Show password toggle */
#show, #dbpassword {
position: absolute;
right: 1em;
top: .8em;
float: right;
}
#show + label, #dbpassword + label {
right: 21px;
top: 15px !important;
margin: -14px !important;
padding: 14px !important;
}
#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label {
opacity: .8;
}
#show:focus-visible + label, #dbpassword-toggle:focus-visible + label, #personal-show:focus-visible + label {
box-shadow: var(--color-primary-element) 0 0 0 2px;
opacity: 1;
border-radius: 9999px;
}
#show + label, #dbpassword + label, #personal-show + label {
position: absolute !important;
height: 20px;
width: 24px;
background-image: var(--icon-toggle-dark);
background-repeat: no-repeat;
background-position: center;
opacity: .3;
}
/* Feedback for keyboard focus and mouse hover */
#show,
#dbpassword,
#personal-show {
&:focus + label {
opacity: 1;
}
+ label:hover {
opacity: 1;
}
}
#show + label:before, #dbpassword + label:before, #personal-show + label:before {
display: none;
}
#pass2, input[name='personal-password-clone'] {
padding-right: 30px;
}
.personal-show-container {
position: relative;
display: inline-block;
margin-right: 6px;
}
#personal-show + label {
display: block;
right: 0;
margin-top: -43px;
margin-right: -4px;
padding: 22px;
}
/* Warnings and errors are the same */
#body-user .warning, #body-settings .warning {
margin-top: 8px;
padding: 5px;
border-radius: var(--border-radius);
color: var(--color-main-text);
background-color: rgba(var(--color-warning-rgb), 0.2);
}
.warning {
legend, a {
font-weight: bold !important;
}
}
.error:not(.toastify) {
a {
color: white !important;
font-weight: bold !important;
&.button {
color: var(--color-text-lighter) !important;
display: inline-block;
text-align: center;
}
}
pre {
white-space: pre-wrap;
text-align: left;
}
}
.error-wide {
width: 700px;
margin-left: -200px !important;
.button {
color: black !important;
}
}
.warning-input {
border-color: var(--color-error) !important;
}
/* fixes for update page TODO should be fixed some time in a proper way */
/* this is just for an error while updating the Nextcloud instance */
/* Sticky footer */
/* round profile photos */
.avatar, .avatardiv {
border-radius: 50%;
flex-shrink: 0;
&> img {
border-radius: 50%;
flex-shrink: 0;
}
}
td.avatar {
border-radius: 0;
}
tr .action:not(.permanent), .selectedActions > a {
opacity: 0;
}
tr {
&:hover .action:not(.menuitem),
&:focus .action:not(.menuitem),
.action.permanent:not(.menuitem) {
opacity: .5;
}
}
.selectedActions > a {
opacity: .5;
position: relative;
top: 2px;
&:hover, &:focus {
opacity: 1;
}
}
tr .action {
width: 16px;
height: 16px;
}
.header-action {
opacity: .8;
}
tr {
&:hover .action:hover, &:focus .action:focus {
opacity: 1;
}
}
.selectedActions a {
&:hover, &:focus {
opacity: 1;
}
}
.header-action {
&:hover, &:focus {
opacity: 1;
}
}
tbody tr:not(.group-header) {
&:hover, &:focus, &:active {
background-color: var(--color-background-dark);
}
}
code {
font-family: 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', monospace;
}
.pager {
list-style: none;
float: right;
display: inline;
margin: .7em 13em 0 0;
li {
display: inline-block;
}
}
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
overflow: hidden;
text-overflow: ellipsis;
}
.ui-icon-circle-triangle-e {
background-image: url('../img/actions/play-next.svg?v=1');
}
.ui-icon-circle-triangle-w {
background-image: url('../img/actions/play-previous.svg?v=1');
}
/* ---- jQuery UI datepicker ---- */
.ui-widget.ui-datepicker {
margin-top: 10px;
padding: 4px 8px;
width: auto;
border-radius: var(--border-radius);
border: none;
z-index: 1600 !important; // above sidebar
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid transparent;
background: inherit;
}
.ui-widget-header {
padding: 7px;
font-size: 13px;
border: none;
background-color: var(--color-main-background);
color: var(--color-main-text);
.ui-datepicker-title {
line-height: 1;
font-weight: normal;
}
.ui-icon {
opacity: .5;
&.ui-icon-circle-triangle-e {
background: url("../img/actions/arrow-right.svg") center center no-repeat;
}
&.ui-icon-circle-triangle-w {
background: url("../img/actions/arrow-left.svg") center center no-repeat;
}
}
.ui-state-hover .ui-icon {
opacity: 1;
}
}
.ui-datepicker-calendar {
th {
font-weight: normal;
color: var(--color-text-lighter);
opacity: .8;
width: 26px;
padding: 2px;
}
tr:hover {
background-color: inherit;
}
td {
&.ui-datepicker-today a:not(.ui-state-hover) {
background-color: var(--color-background-darker);
}
&.ui-datepicker-current-day a.ui-state-active,
.ui-state-hover,
.ui-state-focus {
background-color: var(--color-primary-element);
color: var(--color-primary-element-text);
font-weight: bold;
}
&.ui-datepicker-week-end:not(.ui-state-disabled) :not(.ui-state-hover),
.ui-priority-secondary:not(.ui-state-hover) {
color: var(--color-text-lighter);
opacity: .8;
}
}
}
}
.ui-datepicker-prev, .ui-datepicker-next {
border: var(--color-border-dark);
background: var(--color-main-background);
}
/* ---- jQuery UI timepicker ---- */
.ui-widget.ui-timepicker {
margin-top: 10px !important;
width: auto !important;
border-radius: var(--border-radius);
z-index: 1600 !important;
.ui-widget-content {
border: none !important;
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid transparent;
background: inherit;
}
.ui-widget-header {
padding: 7px;
font-size: 13px;
border: none;
background-color: var(--color-main-background);
color: var(--color-main-text);
.ui-timepicker-title {
line-height: 1;
font-weight: normal;
}
}
/* AM/PM fix */
table.ui-timepicker tr .ui-timepicker-hour-cell:first-child {
margin-left: 30px;
}
.ui-timepicker-table {
th {
font-weight: normal;
color: var(--color-text-lighter);
opacity: .8;
&.periods {
padding: 0;
width: 30px;
line-height: 30px;
}
}
tr:hover {
background-color: inherit;
}
td {
&.ui-timepicker-hour-cell a.ui-state-active,
&.ui-timepicker-minute-cell a.ui-state-active,
.ui-state-hover,
.ui-state-focus {
background-color: var(--color-primary-element);
color: var(--color-primary-element-text);
font-weight: bold;
}
&.ui-timepicker-minutes:not(.ui-state-hover) {
color: var(--color-text-lighter);
}
&.ui-timepicker-hours {
border-right: 1px solid var(--color-border);
}
}
}
}
/* ---- jQuery UI datepicker & timepicker global rules ---- */
.ui-widget.ui-datepicker .ui-datepicker-calendar,
.ui-widget.ui-timepicker table.ui-timepicker {
tr {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
td {
flex: 1 1 auto;
margin: 0;
padding: 2px;
height: 26px;
width: 26px;
display: flex;
align-items: center;
justify-content: center;
> * {
border-radius: 50%;
text-align: center;
font-weight: normal;
color: var(--color-main-text);
display: block;
line-height: 18px;
width: 18px;
height: 18px;
padding: 3px;
font-size: .9em;
}
}
}
}
/* ---- DIALOGS ---- */
.ui-dialog {
position: fixed !important;
}
span.ui-icon {
float: left;
margin: 3px 7px 30px 0;
}
/* ---- TOOLTIPS ---- */
.extra-data {
padding-right: 5px !important;
}
/* ---- TAGS ---- */
#tagsdialog {
.content {
width: 100%;
height: 280px;
}
.scrollarea {
overflow: auto;
border: 1px solid var(--color-background-darker);
width: 100%;
height: 240px;
}
.bottombuttons {
width: 100%;
height: 30px;
* {
float: left;
}
}
.taglist li {
background: var(--color-background-dark);
padding: .3em .8em;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-webkit-transition: background-color 500ms;
transition: background-color 500ms;
&:hover, &:active {
background: var(--color-background-darker);
}
}
.addinput {
width: 90%;
clear: both;
}
}
/* ---- BREADCRUMB ---- */
.breadcrumb {
display: inline-flex;
height: 50px;
}
li.crumb {
display: inline-flex;
background-image: url('../img/breadcrumb.svg?v=1');
background-repeat: no-repeat;
background-position: right center;
height: 44px;
background-size: auto 24px;
flex: 0 0 auto;
order: 1;
padding-right: 7px;
&.crumbmenu {
order: 2;
position: relative;
a {
opacity: 0.5
}
&.canDropChildren,
&.canDrop {
.popovermenu {
display: block;
}
}
// Fix because of the display flex
.popovermenu {
top: 100%;
margin-right: 3px;
ul {
max-height: 345px;
overflow-y: auto;
overflow-x: hidden;
padding-right: 5px;
li.canDrop span:first-child {
background-image: url('../img/filetypes/folder-drag-accept.svg?v=1') !important;
}
}
.in-breadcrumb {
display: none;
}
}
}
&.hidden {
display: none;
~ .crumb {
order: 3;
}
}
> a,
> span {
position: relative;
padding: 12px;
opacity: 0.5;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
flex: 0 0 auto;
// Some sane max-width for each folder name
max-width: 200px;
&.icon-home,
&.icon-delete {
// Hide home text
text-indent: -9999px;
}
}
> a[class^='icon-'] {
padding: 0;
width: 44px;
}
&:not(:first-child) a {
}
&:last-child {
font-weight: bold;
margin-right: 10px;
// Allow multiple span next to the main 'a'
a ~ span {
padding-left: 0;
}
}
&:hover, &:focus, a:focus, &:active {
opacity: 1;
> a,
> span {
opacity: .7;
}
}
}
/* some feedback for hover/tap on breadcrumbs */
.appear {
opacity: 1;
-webkit-transition: opacity 500ms ease 0s;
-moz-transition: opacity 500ms ease 0s;
-ms-transition: opacity 500ms ease 0s;
-o-transition: opacity 500ms ease 0s;
transition: opacity 500ms ease 0s;
&.transparent {
opacity: 0;
}
}
/* LEGACY FIX only - do not use fieldsets for settings */
fieldset {
&.warning legend, &.update legend {
top: 18px;
position: relative;
}
&.warning legend + p, &.update legend + p {
margin-top: 12px;
}
}
/* for IE10 */
@-ms-viewport {
width: device-width;
}
/* hidden input type=file field */
.hiddenuploadfield {
display: none;
width: 0;
height: 0;
opacity: 0;
}
+1
View File
@@ -0,0 +1 @@
.systemtags-select2-dropdown .select2-result-label .checkmark{visibility:hidden;margin-left:-5px;margin-right:5px;padding:4px}.systemtags-select2-dropdown .select2-result-label .new-item .systemtags-actions{display:none}.systemtags-select2-dropdown .select2-selected .select2-result-label .checkmark{visibility:visible}.systemtags-select2-dropdown .select2-result-label .icon{display:inline-block;opacity:.5}.systemtags-select2-dropdown .select2-result-label .icon.rename{padding:4px}.systemtags-select2-dropdown .systemtags-actions{position:absolute;right:5px}.systemtags-select2-dropdown .systemtags-rename-form{display:inline-block;width:calc(100% - 20px);top:-6px;position:relative}.systemtags-select2-dropdown .systemtags-rename-form input{display:inline-block;height:30px;width:calc(100% - 40px)}.systemtags-select2-dropdown .label{width:85%;display:inline-block;overflow:hidden;text-overflow:ellipsis}.systemtags-select2-dropdown .label.hidden{display:none}.systemtags-select2-dropdown span{line-height:25px}.systemtags-select2-dropdown .systemtags-item{display:inline-block;height:25px;width:100%}.systemtags-select2-dropdown .select2-result-label{height:25px}.systemtags-select2-container{width:100%}.systemtags-select2-container .select2-choices{flex-wrap:nowrap !important;max-height:44px}.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label{opacity:.5}#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result{padding:5px}/*# sourceMappingURL=systemtags.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["systemtags.scss"],"names":[],"mappings":"AAcE,8DACC,kBACA,iBACA,iBACA,YAED,iFACC,aAGF,gFACC,mBAED,yDACC,qBACA,WACA,gEACC,YAGF,iDACC,kBACA,UAED,qDACC,qBACA,wBACA,SACA,kBACA,2DACC,qBACA,YACA,wBAGF,oCACC,UACA,qBACA,gBACA,uBACA,2CACC,aAGF,kCACC,iBAED,8CACC,qBACA,YACA,WAED,mDACC,YAIF,8BACC,WAEA,+CACC,4BACA,gBAGD,4FACC,WAIF,6EACC","file":"systemtags.css"}
+87
View File
@@ -0,0 +1,87 @@
/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>
* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>
* @copyright Copyright (c) 2016, Vincent Petry <pvince81@owncloud.com>
* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>
* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>
*
* @license GNU AGPL version 3 or any later version
*
*/
.systemtags-select2-dropdown {
.select2-result-label {
.checkmark {
visibility: hidden;
margin-left: -5px;
margin-right: 5px;
padding: 4px;
}
.new-item .systemtags-actions {
display: none;
}
}
.select2-selected .select2-result-label .checkmark {
visibility: visible;
}
.select2-result-label .icon {
display: inline-block;
opacity: .5;
&.rename {
padding: 4px;
}
}
.systemtags-actions {
position: absolute;
right: 5px;
}
.systemtags-rename-form {
display: inline-block;
width: calc(100% - 20px);
top: -6px;
position: relative;
input {
display: inline-block;
height: 30px;
width: calc(100% - 40px);
}
}
.label {
width: 85%;
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
&.hidden {
display: none;
}
}
span {
line-height: 25px;
}
.systemtags-item {
display: inline-block;
height: 25px;
width: 100%;
}
.select2-result-label {
height: 25px;
}
}
.systemtags-select2-container {
width: 100%;
.select2-choices {
flex-wrap: nowrap !important;
max-height: 44px;
}
.select2-choices .select2-search-choice.select2-locked .label {
opacity: 0.5;
}
}
#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {
padding: 5px;
}
+1
View File
@@ -0,0 +1 @@
.toastify.toast{min-width:200px;background:none;background-color:var(--color-main-background);color:var(--color-main-text);box-shadow:0 0 6px 0 var(--color-box-shadow);padding:12px;padding-right:34px;margin-top:45px;position:fixed;z-index:9000;border-radius:var(--border-radius)}.toastify.toast .toast-close{position:absolute;top:0;right:0;width:38px;opacity:.4;padding:12px;background-image:var(--icon-close-dark);background-position:center;background-repeat:no-repeat;text-indent:200%;white-space:nowrap;overflow:hidden}.toastify.toast .toast-close:hover,.toastify.toast .toast-close:focus,.toastify.toast .toast-close:active{cursor:pointer;opacity:1}.toastify.toastify-top{right:10px}.toast-error{border-left:3px solid var(--color-error)}.toast-info{border-left:3px solid var(--color-primary-element)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-success{border-left:3px solid var(--color-success)}/*# sourceMappingURL=toast.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["toast.scss","functions.scss"],"names":[],"mappings":"AAGA,gBACC,gBACA,gBACA,8CACA,6BACA,6CACA,aACA,mBACA,gBACA,eACA,aACA,mCAEA,6BACC,kBACA,MACA,QACA,WACA,WACA,aC2CD,wCDzCC,2BACA,4BACA,iBACA,mBACA,gBAEA,0GACC,eACA,UAIH,uBACC,WAGD,aACC,yCAED,YACC,mDAED,eACC,2CAED,eACC","file":"toast.css"}
+52
View File
@@ -0,0 +1,52 @@
@use 'variables';
@import 'functions';
.toastify.toast {
min-width: 200px;
background: none;
background-color: var(--color-main-background);
color: var(--color-main-text);
box-shadow: 0 0 6px 0 var(--color-box-shadow);
padding: 12px;
padding-right: 34px;
margin-top: 45px;
position: fixed;
z-index: 9000;
border-radius: var(--border-radius);
.toast-close {
position: absolute;
top: 0;
right: 0;
width: 38px;
opacity: 0.4;
padding: 12px;
@include icon-color('close', 'actions', variables.$color-black, 2, true);
background-position: center;
background-repeat: no-repeat;
text-indent: 200%;
white-space: nowrap;
overflow: hidden;
&:hover, &:focus, &:active {
cursor: pointer;
opacity: 1;
}
}
}
.toastify.toastify-top {
right: 10px;
}
.toast-error {
border-left: 3px solid var(--color-error);
}
.toast-info {
border-left: 3px solid var(--color-primary-element);
}
.toast-warning {
border-left: 3px solid var(--color-warning);
}
.toast-success {
border-left: 3px solid var(--color-success);
}
+1
View File
@@ -0,0 +1 @@
.tooltip{position:absolute;display:block;font-family:var(--font-face);font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;overflow-wrap:anywhere;font-size:12px;opacity:0;z-index:100000;margin-top:-3px;padding:10px 0;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.tooltip.in,.tooltip.show,.tooltip.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.tooltip.top .tooltip-arrow,.tooltip[x-placement^=top]{left:50%;margin-left:-10px}.tooltip.bottom,.tooltip[x-placement^=bottom]{margin-top:3px;padding:10px 0}.tooltip.right,.tooltip[x-placement^=right]{margin-left:3px;padding:0 10px}.tooltip.right .tooltip-arrow,.tooltip[x-placement^=right] .tooltip-arrow{top:50%;left:0;margin-top:-10px;border-width:10px 10px 10px 0;border-right-color:var(--color-main-background)}.tooltip.left,.tooltip[x-placement^=left]{margin-left:-3px;padding:0 5px}.tooltip.left .tooltip-arrow,.tooltip[x-placement^=left] .tooltip-arrow{top:50%;right:0;margin-top:-10px;border-width:10px 0 10px 10px;border-left-color:var(--color-main-background)}.tooltip.top .tooltip-arrow,.tooltip.top .arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-left .arrow,.tooltip[x-placement^=top] .tooltip-arrow,.tooltip[x-placement^=top] .arrow,.tooltip.top-right .tooltip-arrow,.tooltip.top-right .arrow{bottom:0;border-width:10px 10px 0;border-top-color:var(--color-main-background)}.tooltip.top-left .tooltip-arrow{right:10px;margin-bottom:-10px}.tooltip.top-right .tooltip-arrow{left:10px;margin-bottom:-10px}.tooltip.bottom .tooltip-arrow,.tooltip.bottom .arrow,.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip[x-placement^=bottom] .arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-left .arrow,.tooltip.bottom-right .tooltip-arrow,.tooltip.bottom-right .arrow{top:0;border-width:0 10px 10px;border-bottom-color:var(--color-main-background)}.tooltip[x-placement^=bottom] .tooltip-arrow,.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-10px}.tooltip.bottom-left .tooltip-arrow{right:10px;margin-top:-10px}.tooltip.bottom-right .tooltip-arrow{left:10px;margin-top:-10px}.tooltip-inner{max-width:350px;padding:5px 8px;background-color:var(--color-main-background);color:var(--color-main-text);text-align:center;border-radius:var(--border-radius)}.tooltip-arrow,.tooltip .arrow{position:absolute;width:0;height:0;border-color:rgba(0,0,0,0);border-style:solid}/*# sourceMappingURL=tooltip.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["tooltip.scss"],"names":[],"mappings":"AAYA,SACI,kBACA,cACA,6BACA,kBACA,mBACA,sBACA,gBACA,gBACA,gBACA,iBACA,qBACA,iBACA,oBACA,mBACA,kBACA,oBACA,iBACA,uBACA,eACA,UACA,eAEA,gBACA,eACA,uDACA,8DAGI,mBACA,UACA,wBAEJ,uDAEI,SACA,kBAEJ,8CAEI,eACA,eAEJ,4CAEI,gBACA,eACA,0EACI,QACA,OACA,iBACA,8BACA,gDAGR,0CAEI,iBACA,cACA,wEACI,QACA,QACA,iBACA,8BACA,+CAQJ,kPACI,SACA,yBACA,8CAGR,iCACI,WACA,oBAEJ,kCACI,UACA,oBAOA,0QACI,MACA,yBACA,iDAGR,4EAEI,SACA,kBAEJ,oCACI,WACA,iBAEJ,qCACI,UACA,iBAIR,eACI,gBACA,gBACA,8CACA,6BACA,kBACA,mCAGJ,+BACI,kBACA,QACA,SACA,2BACA","file":"tooltip.css"}
+140
View File
@@ -0,0 +1,140 @@
/**
* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>
* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>
* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>
* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>
*
* Bootstrap (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.tooltip {
position: absolute;
display: block;
font-family: var(--font-face);
font-style: normal;
font-weight: normal;
letter-spacing: normal;
line-break: auto;
line-height: 1.6;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
white-space: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
overflow-wrap: anywhere;
font-size: 12px;
opacity: 0;
z-index: 100000;
/* default to top */
margin-top: -3px;
padding: 10px 0;
filter: drop-shadow(0 1px 10px var(--color-box-shadow));
&.in,
&.show,
&.tooltip[aria-hidden='false'] {
visibility: visible;
opacity: 1;
transition: opacity .15s;
}
&.top .tooltip-arrow,
&[x-placement^='top'] {
left: 50%;
margin-left: -10px;
}
&.bottom,
&[x-placement^='bottom'] {
margin-top: 3px;
padding: 10px 0;
}
&.right,
&[x-placement^='right'] {
margin-left: 3px;
padding: 0 10px;
.tooltip-arrow {
top: 50%;
left: 0;
margin-top: -10px;
border-width: 10px 10px 10px 0;
border-right-color: var(--color-main-background);
}
}
&.left,
&[x-placement^='left'] {
margin-left: -3px;
padding: 0 5px;
.tooltip-arrow {
top: 50%;
right: 0;
margin-top: -10px;
border-width: 10px 0 10px 10px;
border-left-color: var(--color-main-background);
}
}
/* TOP */
&.top,
&.top-left,
&[x-placement^='top'],
&.top-right {
.tooltip-arrow, .arrow {
bottom: 0;
border-width: 10px 10px 0;
border-top-color: var(--color-main-background);
}
}
&.top-left .tooltip-arrow {
right: 10px;
margin-bottom: -10px;
}
&.top-right .tooltip-arrow {
left: 10px;
margin-bottom: -10px;
}
/* BOTTOM */
&.bottom,
&[x-placement^='bottom'],
&.bottom-left,
&.bottom-right {
.tooltip-arrow, .arrow {
top: 0;
border-width: 0 10px 10px;
border-bottom-color: var(--color-main-background);
}
}
&[x-placement^='bottom'] .tooltip-arrow,
&.bottom .tooltip-arrow {
left: 50%;
margin-left: -10px;
}
&.bottom-left .tooltip-arrow {
right: 10px;
margin-top: -10px;
}
&.bottom-right .tooltip-arrow {
left: 10px;
margin-top: -10px;
}
}
.tooltip-inner {
max-width: 350px;
padding: 5px 8px;
background-color: var(--color-main-background);
color: var(--color-main-text);
text-align: center;
border-radius: var(--border-radius);
}
.tooltip-arrow, .tooltip .arrow {
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
+1
View File
@@ -0,0 +1 @@
/*# sourceMappingURL=variables.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"variables.css"}
+117
View File
@@ -0,0 +1,117 @@
/**
* @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
*
* @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
* 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/>.
*
*/
// SCSS darken/lighten function override
@function nc-darken($color, $value) {
@return darken($color, $value);
}
@function nc-lighten($color, $value) {
@return lighten($color, $value);
}
// SCSS variables
// DEPRECATED, please use CSS4 vars
$color-main-text: #222 !default; // Not #000 for better readability
$color-main-background: #fff !default;
$color-main-background-translucent: rgba($color-main-background, .97) !default;
// used for different active/hover/focus/disabled states
$color-background-hover: nc-darken($color-main-background, 4%) !default;
$color-background-dark: nc-darken($color-main-background, 7%) !default;
$color-background-darker: nc-darken($color-main-background, 14%) !default;
$color-placeholder-light: nc-darken($color-main-background, 10%) !default;
$color-placeholder-dark: nc-darken($color-main-background, 20%) !default;
$color-primary: #0082c9 !default;
$color-primary-hover: mix($color-primary, $color-main-background, 80%) !default;
$color-primary-light: mix($color-primary, $color-main-background, 10%) !default;
$color-primary-light-text: $color-primary !default;
$color-primary-light-hover: mix($color-primary-light, $color-main-text, 95%) !default;
$color-primary-text: #ffffff !default;
// do not use nc-darken/lighten in case of overriding because
// primary-text is independent of color-main-text
$color-primary-element-text-dark: darken($color-primary-text, 7%) !default;
$color-primary-element: $color-primary !default;
$color-primary-element-hover: mix($color-primary-element, $color-main-background, 80%) !default;
$color-primary-element-light: lighten($color-primary-element, 15%) !default;
$color-error: #e9322d;
$color-error-hover: mix($color-error, $color-main-background, 80%) !default;
$color-warning: #eca700;
$color-warning-hover: mix($color-warning, $color-main-background, 80%) !default;
$color-success: #46ba61;
$color-success-hover: mix($color-success, $color-main-background, 80%) !default;
// used for svg
$color-white: #fff;
$color-black: #000;
$color-yellow: #FC0;
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
// (Works as well: color: #000; opacity: 0.57;)
$color-text-maxcontrast: nc-lighten($color-main-text, 33%) !default;
$color-text-light: $color-main-text !default;
$color-text-lighter: $color-text-maxcontrast !default;
$image-logo: url('../img/logo/logo.svg?v=1') !default;
$image-login-background: url('../img/background.png?v=2') !default;
$image-logoheader: url('../img/logo/logo.svg?v=1') !default;
$image-favicon: url('../img/logo/logo.svg?v=1') !default;
$color-loading-light: #ccc !default;
$color-loading-dark: #444 !default;
$color-box-shadow: transparentize(nc-darken($color-main-background, 70%), 0.5) !default;
// light border like file table or app-content list
$color-border: nc-darken($color-main-background, 7%) !default;
// darker border like inputs or very visible elements
$color-border-dark: nc-darken($color-main-background, 14%) !default;
$border-radius: 3px !default;
$border-radius-large: 10px !default;
// Pill-style button, value is large so big buttons also have correct roundness
$border-radius-pill: 100px !default;
$font-face: system-ui, -apple-system, "Segoe UI", Roboto, Oxygen-Sans, Cantarell, Ubuntu, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$default-font-size: 15px;
$default-line-height: 24px;
$animation-quick: 100ms;
$animation-slow: 300ms;
// various structure data
$header-height: 50px;
$navigation-width: 300px;
$sidebar-min-width: 300px;
$sidebar-max-width: 500px;
$list-min-width: 200px;
$list-max-width: 300px;
$header-menu-item-height: 44px;
$header-menu-profile-item-height: 66px;
// mobile. Keep in sync with core/js/js.js
$breakpoint-mobile: 1024px;
+1
View File
@@ -0,0 +1 @@
.whatsNewPopover{bottom:35px !important;left:15px !important;width:270px;z-index:700}.whatsNewPopover p{width:auto !important}.whatsNewPopover .caption{font-weight:bold;cursor:auto !important}.whatsNewPopover .icon-close{position:absolute;right:0}.whatsNewPopover::after{content:none}/*# sourceMappingURL=whatsnew.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["whatsnew.scss"],"names":[],"mappings":"AAOA,iBACE,uBACA,qBACA,YACA,YAGF,mBACE,sBAGF,0BACE,iBACA,uBAGF,6BACE,kBACA,QAGF,wBACE","file":"whatsnew.css"}
+31
View File
@@ -0,0 +1,31 @@
/**
* @copyright Copyright (c) 2018, Arthur Schiwon <blizzz@arthur-schiwon.de>
*
* @license GNU AGPL version 3 or any later version
*
*/
.whatsNewPopover {
bottom: 35px !important;
left: 15px !important;
width: 270px;
z-index: 700;
}
.whatsNewPopover p {
width: auto !important;
}
.whatsNewPopover .caption {
font-weight: bold;
cursor: auto !important;
}
.whatsNewPopover .icon-close {
position: absolute;
right: 0;
}
.whatsNewPopover::after {
content: none;
}