Browse Source

Cleanup and compile

Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
tags/v25.0.0beta1
John Molakvoæ 1 year ago
parent
commit
73918b8af9
No account linked to committer's email address
89 changed files with 17393 additions and 528 deletions
  1. 48
    0
      apps/dashboard/css/dashboard.css
  2. 1
    0
      apps/dashboard/css/dashboard.css.map
  3. 1
    1
      apps/dashboard/src/components/BackgroundSettings.vue
  4. 16
    0
      apps/encryption/css/settings-personal.css
  5. 1
    0
      apps/encryption/css/settings-personal.css.map
  6. 5
    0
      apps/federatedfilesharing/css/settings-admin.css
  7. 1
    0
      apps/federatedfilesharing/css/settings-admin.css.map
  8. 107
    0
      apps/federatedfilesharing/css/settings-personal.css
  9. 1
    0
      apps/federatedfilesharing/css/settings-personal.css.map
  10. 133
    0
      apps/files/css/detailsView.css
  11. 1
    0
      apps/files/css/detailsView.css.map
  12. 1297
    0
      apps/files/css/files.css
  13. 1
    0
      apps/files/css/files.css.map
  14. 1831
    0
      apps/files/css/merged.css
  15. 1
    0
      apps/files/css/merged.css.map
  16. 112
    0
      apps/files/css/mobile.css
  17. 1
    0
      apps/files/css/mobile.css.map
  18. 264
    0
      apps/files/css/upload.css
  19. 1
    0
      apps/files/css/upload.css.map
  20. 177
    0
      apps/files_external/css/settings.css
  21. 1
    0
      apps/files_external/css/settings.css.map
  22. 94
    0
      apps/files_sharing/css/icons.css
  23. 1
    0
      apps/files_sharing/css/icons.css.map
  24. 86
    0
      apps/files_sharing/css/mobile.css
  25. 1
    0
      apps/files_sharing/css/mobile.css.map
  26. 237
    0
      apps/files_sharing/css/public.css
  27. 1
    0
      apps/files_sharing/css/public.css.map
  28. 320
    0
      apps/files_sharing/css/publicView.css
  29. 1
    0
      apps/files_sharing/css/publicView.css.map
  30. 1
    1
      apps/files_sharing/src/components/SharingInput.vue
  31. 1598
    0
      apps/settings/css/settings.css
  32. 1
    0
      apps/settings/css/settings.css.map
  33. 1
    1
      apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue
  34. 2
    1
      apps/theming/css/default.css
  35. 132
    0
      apps/theming/css/settings-admin.css
  36. 1
    0
      apps/theming/css/settings-admin.css.map
  37. 17
    0
      apps/theming/css/theming.css
  38. 0
    285
      apps/theming/css/theming.scss
  39. 3
    2
      apps/theming/lib/Themes/DefaultTheme.php
  40. 1
    1
      apps/updatenotification/src/components/UpdateNotification.vue
  41. 101
    0
      apps/user_status/css/user-status-menu.css
  42. 1
    0
      apps/user_status/css/user-status-menu.css.map
  43. 1
    1
      apps/workflowengine/src/components/Event.vue
  44. 0
    54
      build/vue-builds.sh
  45. 1575
    0
      core/css/apps.css
  46. 1
    0
      core/css/apps.css.map
  47. 5
    5
      core/css/apps.scss
  48. 7
    0
      core/css/fixes.css
  49. 1
    0
      core/css/fixes.css.map
  50. 38
    0
      core/css/functions.css
  51. 1
    0
      core/css/functions.css.map
  52. 50
    0
      core/css/global.css
  53. 1
    0
      core/css/global.css.map
  54. 644
    0
      core/css/header.css
  55. 1
    0
      core/css/header.css.map
  56. 206
    0
      core/css/icons.css
  57. 1
    0
      core/css/icons.css.map
  58. 1039
    0
      core/css/inputs.css
  59. 1
    0
      core/css/inputs.css.map
  60. 11
    13
      core/css/inputs.scss
  61. 198
    0
      core/css/mobile.css
  62. 1
    0
      core/css/mobile.css.map
  63. 72
    0
      core/css/public.css
  64. 1
    0
      core/css/public.css.map
  65. 5178
    0
      core/css/server.css
  66. 1
    0
      core/css/server.css.map
  67. 1181
    0
      core/css/styles.css
  68. 1
    0
      core/css/styles.css.map
  69. 5
    4
      core/css/styles.scss
  70. 86
    0
      core/css/systemtags.css
  71. 1
    0
      core/css/systemtags.css.map
  72. 111
    0
      core/css/toast.css
  73. 1
    0
      core/css/toast.css.map
  74. 125
    0
      core/css/tooltip.css
  75. 1
    0
      core/css/tooltip.css.map
  76. 24
    0
      core/css/variables.css
  77. 1
    0
      core/css/variables.css.map
  78. 32
    0
      core/css/whatsnew.css
  79. 1
    0
      core/css/whatsnew.css.map
  80. 1
    0
      core/src/icons.js
  81. 3
    0
      dist/icons.css
  82. 2
    2
      dist/workflowengine-workflowengine.js
  83. 1
    1
      dist/workflowengine-workflowengine.js.map
  84. 1
    1
      lib/composer/autoload.php
  85. 4
    4
      lib/composer/composer/autoload_real.php
  86. 5
    5
      lib/composer/composer/autoload_static.php
  87. 167
    141
      package-lock.json
  88. 1
    2
      package.json
  89. 3
    3
      webpack.common.js

+ 48
- 0
apps/dashboard/css/dashboard.css View File

@@ -0,0 +1,48 @@
.skip-navigation:not(.skip-content) {
display: none;
}

.skip-navigation.skip-content {
left: 3px;
}

#header {
background: transparent !important;
--color-header: rgba(24, 24, 24, 1);
}
#body-user.dashboard--dark #header {
--color-header: rgba(255, 255, 255, 1);
}
#header:before {
content: " ";
display: block;
position: absolute;
background-image: linear-gradient(180deg, var(--color-header) 0%, transparent 100%);
width: 100%;
height: 70px;
top: 0;
margin-top: -70px;
transition: margin-top var(--animation-slow);
}
#body-user.dashboard--scrolled #header:before {
margin-top: 0;
}
#body-user.theme--highcontrast #header {
background-color: var(--color-header) !important;
}
#body-user.theme--highcontrast #header:before {
display: none;
}

#content {
padding-top: 0 !important;
}

#appmenu li a.active::before,
#appmenu li:hover a::before,
#appmenu li:hover a.active::before,
#appmenu li a:focus::before {
display: none !important;
}

/*# sourceMappingURL=dashboard.css.map */

+ 1
- 0
apps/dashboard/css/dashboard.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["dashboard.scss"],"names":[],"mappings":"AACA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKF;EACC;;AAEA;EACC;;;AAMH;EACC;;;AAID;AAAA;AAAA;AAAA;EAIC","file":"dashboard.css"}

+ 1
- 1
apps/dashboard/src/components/BackgroundSettings.vue View File

@@ -174,7 +174,7 @@ export default {
}

&.active:not(.icon-loading):after {
background-image: var(--icon-checkmark-fff);
background-image: var(--icon-checkmark-white);
background-repeat: no-repeat;
background-position: center;
background-size: 44px;

+ 16
- 0
apps/encryption/css/settings-personal.css View File

@@ -0,0 +1,16 @@
/* Copyright (c) 2013, Sam Tuke, <samtuke@owncloud.com>
This file is licensed under the Affero General Public License version 3 or later.
See the COPYING-README file. */
#encryptAllError,
#encryptAllSuccess,
#recoveryEnabledError,
#recoveryEnabledSuccess {
display: none;
}

/* icons for sidebar */
.nav-icon-basic-encryption-module {
background-image: var(--icon-encryption-dark);
}

/*# sourceMappingURL=settings-personal.css.map */

+ 1
- 0
apps/encryption/css/settings-personal.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["settings-personal.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC","file":"settings-personal.css"}

+ 5
- 0
apps/federatedfilesharing/css/settings-admin.css View File

@@ -0,0 +1,5 @@
#fileSharingSettings h2 {
display: inline-block;
}

/*# sourceMappingURL=settings-admin.css.map */

+ 1
- 0
apps/federatedfilesharing/css/settings-admin.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AAAA;EACC","file":"settings-admin.css"}

+ 107
- 0
apps/federatedfilesharing/css/settings-personal.css View File

@@ -0,0 +1,107 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @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
*/
/**
* 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.
*/
#fileSharingSettings h2 {
display: inline-block;
}

#fileSharingSettings img {
cursor: pointer;
}

#fileSharingSettings xmp {
margin-top: 0;
white-space: pre-wrap;
}

#fileSharingSettings .icon {
background-size: 16px 16px;
display: inline-block;
position: relative;
top: 3px;
margin-left: 5px;
}

[class^=social-], [class*=" social-"] {
background-repeat: no-repeat;
background-position: 8px;
min-width: 16px;
min-height: 16px;
padding-left: 28px;
background-size: 16px;
}

.social-diaspora {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-social-diaspora-dark);
}

.social-twitter {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-social-twitter-dark);
}

.social-facebook {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-social-facebook-dark);
}

.social_sharing_buttons {
padding-left: 30px !important;
}

/*# sourceMappingURL=settings-personal.css.map */

+ 1
- 0
apps/federatedfilesharing/css/settings-personal.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","../../../core/css/functions.scss","settings-personal.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC/CA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AD8BC;EAEA;;;AC7BD;AD2BC;EAEA;;;AC1BD;ADwBC;EAEA;;;ACtBD;EACC","file":"settings-personal.css"}

+ 133
- 0
apps/files/css/detailsView.css View File

@@ -0,0 +1,133 @@
.app-sidebar .detailFileInfoContainer {
min-height: 50px;
padding: 15px;
}

.app-sidebar .detailFileInfoContainer > div {
clear: both;
}

.app-sidebar .mainFileInfoView .icon {
display: inline-block;
background-size: 16px 16px;
}

.app-sidebar .mainFileInfoView .permalink {
padding: 6px 10px;
vertical-align: top;
opacity: 0.6;
}
.app-sidebar .mainFileInfoView .permalink:hover, .app-sidebar .mainFileInfoView .permalink:focus {
opacity: 1;
}

.app-sidebar .mainFileInfoView .permalink-field > input {
clear: both;
width: 90%;
}

.app-sidebar .thumbnailContainer.large {
margin-left: -15px;
margin-right: -35px;
/* 15 + 20 for the close button */
margin-top: -15px;
}

.app-sidebar .thumbnailContainer.large.portrait {
margin: 0;
/* if we don't fit the image anyway we give it back the margin */
}

.app-sidebar .large .thumbnail {
width: 100%;
display: block;
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
float: none;
margin: 0;
height: auto;
}

.app-sidebar .large .thumbnail .stretcher {
content: "";
display: block;
padding-bottom: 56.25%;
/* sets height of .thumbnail to 9/16 of the width */
}

.app-sidebar .large.portrait .thumbnail {
background-position: 50% top;
}

.app-sidebar .large.portrait .thumbnail {
background-size: contain;
}

.app-sidebar .large.text {
overflow-y: scroll;
overflow-x: hidden;
padding-top: 14px;
font-size: 80%;
margin-left: 0;
}

.app-sidebar .thumbnail {
width: 100%;
min-height: 75px;
display: inline-block;
float: left;
margin-right: 10px;
background-size: contain;
background-repeat: no-repeat;
}

.app-sidebar .ellipsis {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}

.app-sidebar .fileName {
font-size: 16px;
padding-top: 13px;
padding-bottom: 3px;
}

.app-sidebar .fileName h3 {
width: calc(100% - 42px);
/* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
display: inline-block;
padding: 5px 0;
margin: -5px 0;
}

.app-sidebar .file-details {
color: var(--color-text-maxcontrast);
}

.app-sidebar .action-favorite {
vertical-align: sub;
padding: 10px;
margin: -10px;
}

.app-sidebar .action-favorite > span {
opacity: 0.7 !important;
}

.app-sidebar .detailList {
float: left;
}

.app-sidebar .close {
position: absolute;
top: 0;
right: 0;
opacity: 0.5;
z-index: 1;
width: 44px;
height: 44px;
}

/*# sourceMappingURL=detailsView.css.map */

+ 1
- 0
apps/files/css/detailsView.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["detailsView.scss"],"names":[],"mappings":"AAAA;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA","file":"detailsView.css"}

+ 1297
- 0
apps/files/css/files.css
File diff suppressed because it is too large
View File


+ 1
- 0
apps/files/css/files.css.map
File diff suppressed because it is too large
View File


+ 1831
- 0
apps/files/css/merged.css
File diff suppressed because it is too large
View File


+ 1
- 0
apps/files/css/merged.css.map
File diff suppressed because it is too large
View File


+ 112
- 0
apps/files/css/mobile.css View File

@@ -0,0 +1,112 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/* 938 = table min-width(688) + app-navigation width: 250\
$breakpoint-mobile +1 = size where app-navigation is hidden +1
688 = table min-width */
@media only screen and (max-width: 988px) and (min-width: 1025px), only screen and (max-width: 688px) {
.app-files #app-content.dir-drop {
background-color: rgb(255, 255, 255) !important;
}

table th#headerSize,
table td.filesize,
table th#headerDate,
table td.date {
display: none;
}

/* remove padding to let border bottom fill the whole width*/
table td {
padding: 0;
}

/* remove shift for multiselect bar to account for missing navigation */
table.multiselect thead {
padding-left: 0;
}

#fileList a.action.action-menu img {
padding-left: 0;
}

#fileList .fileActionsMenu {
margin-right: 6px;
}

/* hide text of the share action on mobile */
/* .hidden-visually for accessbility */
#fileList a.action-share span:not(.icon):not(.avatar) {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}

/* proper notification area for multi line messages */
#notification-container {
display: flex;
}

/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
}

/* hide desktop-only parts */
#uploadprogressbar .desktop {
display: none !important;
}

#uploadprogressbar .mobile {
display: block !important;
}

/* ensure that it is visible over #app-content */
table.dragshadow {
z-index: 1000;
}
}
@media only screen and (max-width: 480px) {
/* Only show icons */
table th .selectedActions {
float: right;
}

table th .selectedActions > a span:not(.icon) {
display: none;
}

/* Increase touch area for the icons */
table th .selectedActions a {
padding: 17px 14px;
}

/* Remove the margin to reduce the overlap between the name and the icons */
table.multiselect th .columntitle.name {
margin-left: 0;
}
}

/*# sourceMappingURL=mobile.css.map */

+ 1
- 0
apps/files/css/mobile.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC","file":"mobile.css"}

+ 264
- 0
apps/files/css/upload.css View File

@@ -0,0 +1,264 @@
#upload {
box-sizing: border-box;
height: 36px;
width: 39px;
padding: 0 !important;
/* override default control bar button padding */
margin-left: 3px;
overflow: hidden;
vertical-align: top;
position: relative;
z-index: -20;
}

#upload .icon-upload {
position: relative;
display: block;
width: 100%;
height: 44px;
width: 44px;
margin: -5px -3px;
cursor: pointer;
z-index: 10;
opacity: 0.65;
}

.file_upload_target {
display: none;
}

.file_upload_form {
display: inline;
float: left;
margin: 0;
padding: 0;
cursor: pointer;
overflow: visible;
}

#uploadprogresswrapper, #uploadprogresswrapper * {
box-sizing: border-box;
}

#uploadprogresswrapper {
display: inline-block;
vertical-align: top;
height: 36px;
margin-left: 3px;
}

#uploadprogresswrapper > input[type=button] {
height: 36px;
margin-left: 3px;
}

#uploadprogressbar {
border-color: var(--color-border-dark);
border-radius: 18px 0 0 18px;
border-right: 0;
position: relative;
float: left;
width: 200px;
height: 36px;
display: inline-block;
text-align: center;
}
#uploadprogressbar .ui-progressbar-value {
margin: 0;
}

#uploadprogressbar .ui-progressbar-value.ui-widget-header.ui-corner-left {
height: calc(100% + 2px);
top: -1px;
left: -1px;
position: absolute;
overflow: hidden;
background-color: var(--color-primary);
}

#uploadprogressbar .label {
top: 8px;
opacity: 1;
overflow: hidden;
white-space: nowrap;
font-weight: normal;
}

#uploadprogressbar .label.inner {
color: var(--color-primary-text);
position: absolute;
display: block;
width: 200px;
}

#uploadprogressbar .label.outer {
position: relative;
color: var(--color-main-text);
}

#uploadprogressbar .desktop {
display: block;
}

#uploadprogressbar .mobile {
display: none;
}

#uploadprogressbar + .stop {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}

.oc-dialog .fileexists {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
margin-bottom: 30px;
}

.oc-dialog .fileexists .conflict .filename,
.oc-dialog .fileexists .conflict .mtime,
.oc-dialog .fileexists .conflict .size {
-webkit-touch-callout: initial;
-webkit-user-select: initial;
-khtml-user-select: initial;
-moz-user-select: initial;
-ms-user-select: initial;
user-select: initial;
}

.oc-dialog .fileexists .conflict .message {
color: #e9322d;
}

.oc-dialog .fileexists table {
width: 100%;
}

.oc-dialog .fileexists th {
padding-left: 0;
padding-right: 0;
}

.oc-dialog .fileexists th input[type=checkbox] {
margin-right: 3px;
}

.oc-dialog .fileexists th:first-child {
width: 225px;
}

.oc-dialog .fileexists th label {
font-weight: normal;
color: var(--color-main-text);
}

.oc-dialog .fileexists th .count {
margin-left: 3px;
}

.oc-dialog .fileexists .conflicts .template {
display: none;
}

.oc-dialog .fileexists .conflict {
width: 100%;
height: 85px;
}

.oc-dialog .fileexists .conflict .filename {
color: #777;
word-break: break-all;
clear: left;
}

.oc-dialog .fileexists .icon {
width: 64px;
height: 64px;
margin: 0px 5px 5px 5px;
background-repeat: no-repeat;
background-size: 64px 64px;
float: left;
}

.oc-dialog .fileexists .original,
.oc-dialog .fileexists .replacement {
float: left;
width: 225px;
}

.oc-dialog .fileexists .conflicts {
overflow-y: auto;
max-height: 225px;
}

.oc-dialog .fileexists .conflict input[type=checkbox] {
float: left;
}

.oc-dialog .fileexists #allfileslabel {
float: right;
}

.oc-dialog .fileexists #allfiles {
vertical-align: bottom;
position: relative;
top: -3px;
}

.oc-dialog .fileexists #allfiles + span {
vertical-align: bottom;
}

.oc-dialog .oc-dialog-buttonrow {
width: 100%;
text-align: right;
}
.oc-dialog .oc-dialog-buttonrow .cancel {
float: left;
}

.highlightUploaded {
-webkit-animation: highlightAnimation 2s 1;
-moz-animation: highlightAnimation 2s 1;
-o-animation: highlightAnimation 2s 1;
animation: highlightAnimation 2s 1;
}

@-webkit-keyframes highlightAnimation {
0% {
background-color: rgb(255, 255, 140);
}
100% {
background-color: rgba(0, 0, 0, 0);
}
}
@-moz-keyframes highlightAnimation {
0% {
background-color: rgb(255, 255, 140);
}
100% {
background-color: rgba(0, 0, 0, 0);
}
}
@-o-keyframes highlightAnimation {
0% {
background-color: rgb(255, 255, 140);
}
100% {
background-color: rgba(0, 0, 0, 0);
}
}
@keyframes highlightAnimation {
0% {
background-color: rgb(255, 255, 140);
}
100% {
background-color: rgba(0, 0, 0, 0);
}
}

/*# sourceMappingURL=upload.css.map */

+ 1
- 0
apps/files/css/upload.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["upload.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO","file":"upload.css"}

+ 177
- 0
apps/files_external/css/settings.css View File

@@ -0,0 +1,177 @@
#files_external {
margin-bottom: 0px;
}

#externalStorage {
margin: 15px 0 20px 0;
}
#externalStorage tr.externalStorageLoading > td {
text-align: center;
}

#externalStorage td > input, #externalStorage td > select {
width: 100%;
}

#externalStorage td.status {
/* overwrite conflicting core styles */
display: table-cell;
vertical-align: middle;
}

#externalStorage td.status > span {
display: inline-block;
height: 28px;
width: 28px;
vertical-align: text-bottom;
border-radius: 50%;
cursor: pointer;
}

#externalStorage td.mountPoint, #externalStorage td.backend, #externalStorage td.authentication, #externalStorage td.configuration {
min-width: 160px;
width: 15%;
}

#externalStorage td > img {
padding-top: 7px;
opacity: 0.5;
}

#externalStorage td > img:hover {
padding-top: 7px;
cursor: pointer;
opacity: 1;
}

#addMountPoint > td {
border: none;
}

#addMountPoint > td.applicable {
visibility: hidden;
}

#addMountPoint > td.hidden {
visibility: hidden;
}

#externalStorage td {
height: 50px;
}
#externalStorage td.mountOptionsToggle, #externalStorage td.remove, #externalStorage td.save {
position: relative;
padding: 0 !important;
width: 44px;
}
#externalStorage td.mountOptionsToggle [class^=icon-],
#externalStorage td.mountOptionsToggle [class*=" icon-"], #externalStorage td.remove [class^=icon-],
#externalStorage td.remove [class*=" icon-"], #externalStorage td.save [class^=icon-],
#externalStorage td.save [class*=" icon-"] {
opacity: 0.5;
padding: 14px;
vertical-align: text-bottom;
cursor: pointer;
}
#externalStorage td.mountOptionsToggle [class^=icon-]:hover,
#externalStorage td.mountOptionsToggle [class*=" icon-"]:hover, #externalStorage td.remove [class^=icon-]:hover,
#externalStorage td.remove [class*=" icon-"]:hover, #externalStorage td.save [class^=icon-]:hover,
#externalStorage td.save [class*=" icon-"]:hover {
opacity: 1;
}

#selectBackend {
margin-left: -10px;
width: 150px;
}

#externalStorage td.configuration,
#externalStorage td.backend {
white-space: normal;
}

#externalStorage td.configuration > * {
white-space: nowrap;
}

#externalStorage td.configuration input.added {
margin-right: 6px;
}

#externalStorage label > input[type=checkbox] {
margin-right: 3px;
}

#externalStorage td.configuration label {
width: 100%;
display: inline-flex;
align-items: center;
}

#externalStorage td.configuration input.disabled-success {
background-color: rgba(134, 255, 110, 0.9);
}

#externalStorage td.applicable div.chzn-container {
position: relative;
top: 3px;
}

#externalStorage .select2-container.applicableUsers {
width: 100% !important;
}

#userMountingBackends {
padding-left: 25px;
}

.files-external-select2 .select2-results .select2-result-label {
height: 32px;
padding: 3px;
}

.files-external-select2 .select2-results .select2-result-label > span {
display: block;
position: relative;
}

.files-external-select2 .select2-results .select2-result-label .avatardiv {
display: inline-block;
}

.files-external-select2 .select2-results .select2-result-label .avatardiv + span {
position: absolute;
top: 5px;
margin-left: 10px;
}

.files-external-select2 .select2-results .select2-result-label .avatardiv[data-type=group] + span {
vertical-align: top;
top: 6px;
position: absolute;
max-width: 80%;
left: 30px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}

#externalStorage .select2-container .select2-search-choice {
display: flex;
}
#externalStorage .select2-container .select2-search-choice .select2-search-choice-close {
display: block;
left: auto;
position: relative;
width: 20px;
}

#externalStorage .mountOptionsToggle .dropdown {
width: auto;
}

.nav-icon-external-storage {
background-image: var(--icon-external-dark);
}

/*# sourceMappingURL=settings.css.map */

+ 1
- 0
apps/files_external/css/settings.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"}

+ 94
- 0
apps/files_sharing/css/icons.css View File

@@ -0,0 +1,94 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <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/>.
*
*/
/**
* @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
*/
/**
* 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.
*/
.icon-room {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-app-dark);
}

.icon-circle {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-circles-dark);
}

.icon-guests {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-app-dark);
}

/*# sourceMappingURL=icons.css.map */

+ 1
- 0
apps/files_sharing/css/icons.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;ACsCC;EAEA;;;ADrCD;ACmCC;EAEA;;;ADlCD;ACgCC;EAEA","file":"icons.css"}

+ 86
- 0
apps/files_sharing/css/mobile.css View File

@@ -0,0 +1,86 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
@media only screen and (max-width: 1024px) {
/* make header scroll up for single shares, more view of content on small screens */
#header.share-file {
position: absolute !important;
}

/* hide size and date columns */
table th#headerSize,
table td.filesize,
table th#headerDate,
table td.date {
display: none;
}

/* restrict length of displayed filename to prevent overflow */
table td.filename .nametext {
max-width: 75% !important;
}

/* on mobile, show single shared image at full width without margin */
#imgframe {
width: 100%;
padding: 0;
margin-bottom: 35px;
}

/* some margin for the file type icon */
#imgframe .publicpreview {
margin-top: 32px;
}

/* some padding for better clickability */
#fileList a.action img {
padding: 0 6px 0 12px;
}

/* hide text of the actions on mobile */
#fileList a.action:not(.menuitem) span {
display: none;
}

/* ellipsis on file names */
.nametext {
width: 60%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

#header .menutoggle {
padding-right: 14px;
background-position: center;
}

.note {
padding: 0 20px;
}

#emptycontent {
margin-top: 10vh;
}
}

/*# sourceMappingURL=mobile.css.map */

+ 1
- 0
apps/files_sharing/css/mobile.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"mobile.css"}

+ 237
- 0
apps/files_sharing/css/public.css View File

@@ -0,0 +1,237 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
#preview {
text-align: center;
}

#preview .notCreatable {
display: none;
}

#noPreview {
display: none;
padding-top: 80px;
}

#imgframe {
height: 75%;
padding-bottom: 32px;
padding-top: 32px;
width: 80%;
margin: 0 auto;
}

#imgframe img {
max-height: 100% !important;
max-width: 100% !important;
}

#imgframe audio {
display: block;
margin-left: auto;
margin-right: auto;
}

#imgframe .text-preview {
display: inline-block;
position: relative;
text-align: left;
white-space: pre-wrap;
overflow-y: hidden;
height: auto;
min-height: 200px;
max-height: 800px;
}

#imgframe .ellipsis {
font-size: 1.2em;
}

/* fix multiselect bar offset on shared page */
thead {
left: 0 !important;
}

#data-upload-form {
position: relative;
right: 0;
height: 32px;
overflow: hidden;
padding: 0;
float: right;
display: inline;
margin: 0;
}

/* keep long file names in one line to not overflow download button on mobile */
.directDownload #downloadFile {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 90%;
display: inline-block;
margin-left: auto;
margin-right: auto;
margin-top: 16px;
}

.download-size {
opacity: 0.5;
}

/* header buttons */
#details {
display: inline-flex;
}

#details button,
#details input,
#details .button {
margin: 0 5px;
line-height: normal;
}

#details button:hover,
#details input:hover,
#details .button:hover {
/* No */
border-color: rgba(0, 0, 0, 0.3) !important;
}

#public-upload .avatardiv {
margin: 0 auto;
}

#emptycontent.has-note {
margin-top: 5vh;
}

#public-upload #emptycontent h2 {
margin: 10px 0 5px 0;
}

#public-upload #emptycontent h2 + p {
margin-bottom: 30px;
}

#public-upload #emptycontent .icon-folder {
height: 16px;
width: 16px;
background-size: 16px;
display: inline-block;
vertical-align: text-top;
margin-bottom: 0;
margin-right: 5px;
opacity: 1;
}

#public-upload #emptycontent #displayavatar .icon-folder {
height: 48px;
width: 48px;
background-size: 48px;
}

#public-upload #emptycontent .button {
display: inline-block;
height: auto;
width: auto;
background-size: 16px;
background-position: 16px;
opacity: 0.7;
font-size: 20px;
line-height: initial;
margin: 20px;
padding: 10px 20px;
padding-left: 42px;
}

#public-upload #emptycontent ul {
width: 230px;
margin: 5px auto 5vh;
text-align: left;
}

#public-upload #emptycontent li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 7px 0;
}

#public-upload #emptycontent li img {
margin-right: 5px;
position: relative;
top: 2px;
}

#drop-upload-progress-indicator span.icon-loading-small {
padding-left: 18px;
margin-right: 7px;
}

#drop-uploaded-files li #drop-upload-name {
float: left;
max-width: 180px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}

#drop-uploaded-files li #drop-upload-status {
float: right;
}

.disclaimer,
.note {
margin: 0 auto 30px;
max-width: 400px;
text-align: left;
}

#note-content {
padding: 5px;
display: inline-block;
width: 350px;
}
#note-content .content {
overflow: auto;
max-height: 200px;
}

#show-terms-dialog {
cursor: pointer;
font-weight: bold;
}

@media only screen and (min-width: 1025px) {
#body-public .header-right #header-actions-menu > ul > li#download {
display: none;
}
}
@media only screen and (max-width: 1024px) {
#body-public .header-right #header-primary-action {
display: none;
}
}

/*# sourceMappingURL=public.css.map */

+ 1
- 0
apps/files_sharing/css/public.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC","file":"public.css"}

+ 320
- 0
apps/files_sharing/css/publicView.css View File

@@ -0,0 +1,320 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
#preview {
text-align: center;
}

#preview .notCreatable {
display: none;
}

#noPreview {
display: none;
padding-top: 80px;
}

#imgframe {
height: 75%;
padding-bottom: 32px;
padding-top: 32px;
width: 80%;
margin: 0 auto;
}

#imgframe img {
max-height: 100% !important;
max-width: 100% !important;
}

#imgframe audio {
display: block;
margin-left: auto;
margin-right: auto;
}

#imgframe .text-preview {
display: inline-block;
position: relative;
text-align: left;
white-space: pre-wrap;
overflow-y: hidden;
height: auto;
min-height: 200px;
max-height: 800px;
}

#imgframe .ellipsis {
font-size: 1.2em;
}

/* fix multiselect bar offset on shared page */
thead {
left: 0 !important;
}

#data-upload-form {
position: relative;
right: 0;
height: 32px;
overflow: hidden;
padding: 0;
float: right;
display: inline;
margin: 0;
}

/* keep long file names in one line to not overflow download button on mobile */
.directDownload #downloadFile {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 90%;
display: inline-block;
margin-left: auto;
margin-right: auto;
margin-top: 16px;
}

.download-size {
opacity: 0.5;
}

/* header buttons */
#details {
display: inline-flex;
}

#details button,
#details input,
#details .button {
margin: 0 5px;
line-height: normal;
}

#details button:hover,
#details input:hover,
#details .button:hover {
/* No */
border-color: rgba(0, 0, 0, 0.3) !important;
}

#public-upload .avatardiv {
margin: 0 auto;
}

#emptycontent.has-note {
margin-top: 5vh;
}

#public-upload #emptycontent h2 {
margin: 10px 0 5px 0;
}

#public-upload #emptycontent h2 + p {
margin-bottom: 30px;
}

#public-upload #emptycontent .icon-folder {
height: 16px;
width: 16px;
background-size: 16px;
display: inline-block;
vertical-align: text-top;
margin-bottom: 0;
margin-right: 5px;
opacity: 1;
}

#public-upload #emptycontent #displayavatar .icon-folder {
height: 48px;
width: 48px;
background-size: 48px;
}

#public-upload #emptycontent .button {
display: inline-block;
height: auto;
width: auto;
background-size: 16px;
background-position: 16px;
opacity: 0.7;
font-size: 20px;
line-height: initial;
margin: 20px;
padding: 10px 20px;
padding-left: 42px;
}

#public-upload #emptycontent ul {
width: 230px;
margin: 5px auto 5vh;
text-align: left;
}

#public-upload #emptycontent li {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 7px 0;
}

#public-upload #emptycontent li img {
margin-right: 5px;
position: relative;
top: 2px;
}

#drop-upload-progress-indicator span.icon-loading-small {
padding-left: 18px;
margin-right: 7px;
}

#drop-uploaded-files li #drop-upload-name {
float: left;
max-width: 180px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}

#drop-uploaded-files li #drop-upload-status {
float: right;
}

.disclaimer,
.note {
margin: 0 auto 30px;
max-width: 400px;
text-align: left;
}

#note-content {
padding: 5px;
display: inline-block;
width: 350px;
}
#note-content .content {
overflow: auto;
max-height: 200px;
}

#show-terms-dialog {
cursor: pointer;
font-weight: bold;
}

@media only screen and (min-width: 1025px) {
#body-public .header-right #header-actions-menu > ul > li#download {
display: none;
}
}
@media only screen and (max-width: 1024px) {
#body-public .header-right #header-primary-action {
display: none;
}
}
/**
* @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/>.
*
*/
@media only screen and (max-width: 1024px) {
/* make header scroll up for single shares, more view of content on small screens */
#header.share-file {
position: absolute !important;
}

/* hide size and date columns */
table th#headerSize,
table td.filesize,
table th#headerDate,
table td.date {
display: none;
}

/* restrict length of displayed filename to prevent overflow */
table td.filename .nametext {
max-width: 75% !important;
}

/* on mobile, show single shared image at full width without margin */
#imgframe {
width: 100%;
padding: 0;
margin-bottom: 35px;
}

/* some margin for the file type icon */
#imgframe .publicpreview {
margin-top: 32px;
}

/* some padding for better clickability */
#fileList a.action img {
padding: 0 6px 0 12px;
}

/* hide text of the actions on mobile */
#fileList a.action:not(.menuitem) span {
display: none;
}

/* ellipsis on file names */
.nametext {
width: 60%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

#header .menutoggle {
padding-right: 14px;
background-position: center;
}

.note {
padding: 0 20px;
}

#emptycontent {
margin-top: 10vh;
}
}

/*# sourceMappingURL=publicView.css.map */

+ 1
- 0
apps/files_sharing/css/publicView.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC;;;ADjOJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AEEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"publicView.css"}

+ 1
- 1
apps/files_sharing/src/components/SharingInput.vue View File

@@ -528,7 +528,7 @@ export default {
.multiselect__option {
span[lookup] {
.avatardiv {
background-image: var(--icon-search-fff);
background-image: var(--icon-search-white);
background-repeat: no-repeat;
background-position: center;
background-color: var(--color-text-maxcontrast) !important;

+ 1598
- 0
apps/settings/css/settings.css
File diff suppressed because it is too large
View File


+ 1
- 0
apps/settings/css/settings.css.map
File diff suppressed because it is too large
View File


+ 1
- 1
apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue View File

@@ -152,7 +152,7 @@ export default {
color: var(--color-main-text);
border: 1px solid var(--color-border-dark);
border-radius: var(--border-radius);
background: var(--icon-triangle-s-000) no-repeat right 4px center;
background: var(--icon-triangle-s-dark) no-repeat right 4px center;
font-family: var(--font-face);
appearance: none;
cursor: pointer;

+ 2
- 1
apps/theming/css/default.css View File

@@ -13,12 +13,13 @@
--color-primary-hover: #329bd3;
--color-primary-light: #e5f2f9;
--color-primary-light-text: #0082c9;
--color-primary-light-hover: #1e2b32;
--color-primary-light-hover: #dbe7ee;
--color-primary-text-dark: #ededed;
--color-primary-element: #0082c9;
--color-primary-element-hover: #198ece;
--color-primary-element-light: #17adff;
--color-primary-element-lighter: #d8ecf6;
--gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%);
--color-main-text: #222222;
--color-text-maxcontrast: #767676;
--color-text-light: #222222;

+ 132
- 0
apps/theming/css/settings-admin.css View File

@@ -0,0 +1,132 @@
#theming input {
width: 230px;
}
#theming input:focus,
#theming input:active {
padding-right: 30px;
}
#theming .fileupload {
display: none;
}
#theming div > label {
position: relative;
}
#theming .theme-undo {
position: absolute;
top: -7px;
right: 4px;
cursor: pointer;
opacity: 0.3;
padding: 7px;
vertical-align: top;
display: inline-block;
visibility: hidden;
height: 32px;
width: 32px;
}
#theming form.uploadButton {
width: 411px;
}
#theming form .theme-undo,
#theming .theme-remove-bg {
cursor: pointer;
opacity: 0.3;
padding: 7px;
vertical-align: top;
display: inline-block;
float: right;
position: relative;
top: 4px;
right: 0px;
visibility: visible;
height: 32px;
width: 32px;
}
#theming input[type=text]:hover + .theme-undo,
#theming input[type=text] + .theme-undo:hover,
#theming input[type=text]:focus + .theme-undo,
#theming input[type=text]:active + .theme-undo,
#theming input[type=url]:hover + .theme-undo,
#theming input[type=url] + .theme-undo:hover,
#theming input[type=url]:focus + .theme-undo,
#theming input[type=url]:active + .theme-undo {
visibility: visible;
}
#theming label span {
display: inline-block;
min-width: 175px;
padding: 8px 0px;
vertical-align: top;
}
#theming .icon-upload,
#theming .uploadButton .icon-loading-small {
padding: 8px 20px;
width: 20px;
margin: 2px 0px;
min-height: 32px;
display: inline-block;
}
#theming #theming_settings_status {
height: 26px;
margin: 10px;
}
#theming #theming_settings_loading {
display: inline-block;
vertical-align: middle;
margin-right: 10px;
}
#theming #theming_settings_msg {
vertical-align: middle;
border-radius: 3px;
}
#theming #theming-preview {
width: 230px;
height: 140px;
background-size: cover;
background-position: center center;
text-align: center;
margin-left: 178px;
margin-top: 10px;
margin-bottom: 20px;
cursor: pointer;
background-color: var(--color-primary);
background-image: var(--image-background, var(--image-background-plain, url("../../../core/img/background.svg"), linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
}
#theming #theming-preview #theming-preview-logo {
cursor: pointer;
width: 20%;
height: 20%;
margin-top: 20px;
display: inline-block;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
background-image: var(--image-logo, url("../../../core/img/logo/logo.svg"));
}
#theming .theming-hints {
margin-top: 20px;
}
#theming .image-preview {
display: inline-block;
width: 80px;
height: 36px;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
#theming #theming-preview-logoheader {
background-image: var(--image-logoheader);
}
#theming #theming-preview-favicon {
background-image: var(--image-favicon);
}

/* transition effects for theming value changes */
#header {
transition: background-color 500ms linear;
}
#header svg, #header img {
transition: 500ms filter linear;
}

/*# sourceMappingURL=settings-admin.css.map */

+ 1
- 0
apps/theming/css/settings-admin.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["settings-admin.scss"],"names":[],"mappings":"AACI;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQI;;AAGJ;EACI;EACA;EACA;EACA;;AAGJ;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAGP;EAEO;;AAGP;EACO;;;AAIR;AACA;EACI;;AACA;EACI","file":"settings-admin.css"}

+ 17
- 0
apps/theming/css/theming.css View File

@@ -0,0 +1,17 @@
/* Error: Undefined variable.
* ,
* 38 | $invert: luma($color-primary) > 0.6;
* | ^^^^^^^^^^^^^^
* '
* apps/theming/css/theming.scss 38:15 root stylesheet */

body::before {
font-family: "Source Code Pro", "SF Mono", Monaco, Inconsolata, "Fira Mono",
"Droid Sans Mono", monospace, monospace;
white-space: pre;
display: block;
padding: 1em;
margin-bottom: 1em;
border-bottom: 2px solid black;
content: "Error: Undefined variable.\a \2577 \a 38 \2502 $invert: luma($color-primary) > 0.6;\a \2502 ^^^^^^^^^^^^^^\a \2575 \a apps/theming/css/theming.scss 38:15 root stylesheet";
}

+ 0
- 285
apps/theming/css/theming.scss View File

@@ -1,285 +0,0 @@
/** Calculate luma as it is also used in OCA\Theming\Util::calculateLuma */
@function luma($c) {
$-local-red: red(rgba($c, 1.0));
$-local-green: green(rgba($c, 1.0));
$-local-blue: blue(rgba($c, 1.0));

@return (0.2126 * $-local-red + 0.7152 * $-local-green + 0.0722 * $-local-blue) / 255;
}

@mixin faded-background {
background-color: $color-primary;

@if ($color-primary == #0082C9) {
background-image: linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
} @else {
/** This will be overwritten by the faded-background-image mixin if needed */
background-image: none;
}
}

@mixin faded-background-image {
@include faded-background;
background-size: contain;

@if ($color-primary == #0082C9) {
background-image: $image-login-background, linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
}

@if($has-custom-background == true) {
background-size: cover;
background-repeat: no-repeat;
background-image: $image-login-background;
}
}

$has-custom-background: variable_exists('theming-background-mime') and $theming-background-mime != '';
$has-custom-logo: variable_exists('theming-logo-mime') and $theming-logo-mime != '';
$invert: luma($color-primary) > 0.6;

@if ($has-custom-logo == false) {
@if ($invert) {
$image-logo: url(icon-color-path('logo', 'logo', #000000, 1, true));
} @else {
$image-logo: url(icon-color-path('logo', 'logo', #ffffff, 1, true));
}
}

@if ($invert) {
// too bright, use dark text to mix the primary
$color-primary-light: mix($color-primary, $color-main-text, 10%);

#appmenu:not(.inverted) svg {
filter: invert(1);
}
#appmenu.inverted svg {
filter: none;
}
.searchbox input[type="search"] {
background-repeat: no-repeat;
background-position: 6px center;
background-color: transparent;
@include icon-color('search', 'actions', $color-black, 1, true);
}
#contactsmenu .icon-contacts {
@include icon-color('contacts', 'places', $color-black, 1, true);
}
#settings .icon-settings-white {
@include icon-color('settings', 'actions', $color-black, 1, true);
}
#appmenu .icon-more-white {
@include icon-color('more', 'actions', $color-black, 1, true);
}
} @else {
#appmenu:not(.inverted) svg {
filter: none;
}
#appmenu.inverted svg {
filter: invert(1);
}
}

/* Colorized svg images */
.icon-file, .icon-filetype-text {
background-image: url(./img/core/filetypes/text.svg?v=#{$theming-cachebuster});
}

.icon-folder, .icon-filetype-folder {
background-image: url(./img/core/filetypes/folder.svg?v=#{$theming-cachebuster});
}

.icon-filetype-folder-drag-accept {
background-image: url(./img/core/filetypes/folder-drag-accept.svg?v=#{$theming-cachebuster}) !important;
}

#theming-preview-logo,
#header .logo {
background-image: $image-logo;
}

#body-user,
#body-settings,
#body-public {
#header,
.profile__header,
.preview-card__header {
@include faded-background;
}
}

#body-login,
#firstrunwizard .firstrunwizard-header,
#theming-preview {
@include faded-background-image;
}

/* override styles for login screen in guest.css */
@if ($has-custom-logo) {
// custom logo
#theming-preview-logo,
#header .logo {
background-size: contain;
}

#body-login #header .logo {
margin-bottom: 22px;
}
} @else {
// default logo
@if ($invert) {
#theming-preview-logo,
#header .logo {
opacity: .6;
}
}
}

@if variable_exists('theming-logoheader-mime') and $theming-logoheader-mime != '' {
#theming .advanced-option-logoheader .image-preview,
body:not(#body-login) #header .logo {
background-image: $image-logoheader;
}
} @else {
#theming .advanced-option-favicon .image-preview {
background-image: none;
}
}

input.primary {
background-color: $color-primary-element;
border: 1px solid $color-primary-text;
color: $color-primary-text;
}

#body-login {
input.primary:enabled:hover,
input.primary:enabled:focus,
button.primary:enabled:hover,
button.primary:enabled:focus,
a.primary:enabled:hover,
a.primary:enabled:focus {
color: $color-primary-text;
background-image: linear-gradient(40deg, $color-primary 0%, lighten($color-primary, 20%) 100%);
}
}

@if ($invert) {
#body-login {
.body-login-container {
background-color: transparentize(nc-lighten($color-primary, 30%), 0.2);
color: $color-primary-text !important;

h2 {
color: $color-primary-text;
}
.icon-search.icon-white {
// CSS variable is not used here since it is on the public page layout,
// where the dark theme doesn't apply at the moment
background-image: url('../../../core/img/actions/search.svg');
}
}

input {
border: 1px solid nc-lighten($color-primary-text, 50%);
}
input.primary,
button.primary {
background-color: $color-primary;
color: $color-primary-text;
}
:not(div.alternative-logins) > a,
label,
footer p,
.alternative-logins legend,
.lost-password-container #lost-password,
.warning, .update, .error {
color: $color-primary-text !important;
}
input[type='checkbox'].checkbox--white + label:before {
border-color: nc-darken($color-primary-element, 40%) !important;
}
input[type='checkbox'].checkbox--white:not(:disabled):not(:checked) + label:hover:before,
input[type='checkbox'].checkbox--white:focus + label:before {
border-color: nc-darken($color-primary-element, 30%) !important;
}
input[type='checkbox'].checkbox--white:checked + label:before {
border-color: nc-darken($color-primary-element, 30%) !important;
background-color: nc-darken($color-primary-element, 30%) !important;
@include icon-color('checkbox-mark', 'actions', $color-white, 1, true);
}
#submit-wrapper .icon-confirm-white {
background-image: url('../../../core/img/actions/confirm.svg');
}

.two-factor-provider {
&:hover, &:focus {
border-color: $color-primary-text;
}
img {
filter: invert(1);
}
}
}
#body-public #header .icon-more-white {
background-image: var(--icon-more-000);
}
}

// plain background color for login page
@if $image-login-plain == 'true' {
#body-login, #firstrunwizard .firstrunwizard-header, #theming-preview {
background-image: none !important;
}
#body-login {

:not(.alternative-logins) a, label, p {
color: $color-primary-text;
}

}
}

/** Handle primary buttons for bright colors */
@if (luma($color-primary) > 0.8) {
:root {
--color-primary-light-text: var(--color-primary-text);
}
select,
button, .button,
input:not([type='range']),
textarea,
div[contenteditable=true],
.pager li a {
&.primary:not(:disabled) {
background-color: var(--color-background-dark);
color: var(--color-main-text);
border-color: var(--color-text-lighter);

&:hover, &:focus, &:active {
background-color: var(--color-background-darker);
color: var(--color-main-text);
border-color: var(--color-text);
}
}
}
}

@if ($color-primary == #ffffff) {
/* show grey border below header */
#body-user #header,
#body-settings #header,
#body-public #header {
border-bottom: 1px solid #ebebeb;
}

/* show triangle in header in grey */
#appmenu li a.active:before,
.header-right #settings #expand:before {
border-bottom-color:#ebebeb;
}

/* show border around quota bar in files app */
.app-files #quota .quota-container {
border: 1px solid #ebebeb;
}
}

+ 3
- 2
apps/theming/lib/Themes/DefaultTheme.php View File

@@ -88,6 +88,7 @@ class DefaultTheme implements ITheme {
$colorMainBackgroundRGB = join(',', $this->util->hexToRGB($colorMainBackground));
$colorBoxShadow = $this->util->darken($colorMainBackground, 70);
$colorBoxShadowRGB = join(',', $this->util->hexToRGB($colorBoxShadow));
$colorPrimaryLight = $this->util->mix($this->primaryColor, $colorMainBackground, -80);

$hasCustomLogoHeader = $this->imageManager->hasImage('logo') || $this->imageManager->hasImage('logoheader');

@@ -111,9 +112,9 @@ class DefaultTheme implements ITheme {
'--color-primary' => $this->primaryColor,
'--color-primary-text' => $this->util->invertTextColor($this->primaryColor) ? '#000000' : '#ffffff',
'--color-primary-hover' => $this->util->mix($this->primaryColor, $colorMainBackground, 60),
'--color-primary-light' => $this->util->mix($this->primaryColor, $colorMainBackground, -80),
'--color-primary-light' => $colorPrimaryLight,
'--color-primary-light-text' => $this->primaryColor,
'--color-primary-light-hover' => $this->util->mix($this->primaryColor, $colorMainText, -80),
'--color-primary-light-hover' => $this->util->mix($colorPrimaryLight, $colorMainText, 90),
'--color-primary-text-dark' => $this->util->darken($this->util->invertTextColor($this->primaryColor) ? '#000000' : '#ffffff', 7),
// used for buttons, inputs...
'--color-primary-element' => $this->util->elementColor($this->primaryColor),

+ 1
- 1
apps/updatenotification/src/components/UpdateNotification.vue View File

@@ -539,7 +539,7 @@ export default {
/* override needed to replace yellow hover state with a dark one */
#updatenotification .update-menu .icon-star:hover,
#updatenotification .update-menu .icon-star:focus {
background-image: var(--icon-star-000);
background-image: var(--icon-starred);
}
#updatenotification .topMargin {
margin-top: 15px;

+ 101
- 0
apps/user_status/css/user-status-menu.css View File

@@ -0,0 +1,101 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @copyright Copyright (c) 2020 Georg Ehrke
*
* @author Georg Ehrke <oc.list@georgehrke.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/>.
*
*/
/**
* @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
*/
/**
* 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.
*/
.icon-user-status {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-app-dark);
}

.icon-user-status-online {
background-image: url("../img/user-status-online.svg");
}

.icon-user-status-away {
background-image: url("../img/user-status-away.svg");
}

.icon-user-status-dnd {
background-image: url("../img/user-status-dnd.svg");
}

.icon-user-status-invisible {
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-user-status-invisible-dark);
}

/*# sourceMappingURL=user-status-menu.css.map */

+ 1
- 0
apps/user_status/css/user-status-menu.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;ACuCC;EAEA;;;ADrCD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAID;ACsBC;EAEA","file":"user-status-menu.css"}

+ 1
- 1
apps/workflowengine/src/components/Event.vue View File

@@ -111,7 +111,7 @@ export default {
}

.multiselect:not(.multiselect--disabled)::v-deep .multiselect__tags .multiselect__single {
background-image: var(--icon-triangle-s-000);
background-image: var(--icon-triangle-s-dark);
background-repeat: no-repeat;
background-position: right center;
}

+ 0
- 54
build/vue-builds.sh View File

@@ -1,54 +0,0 @@
#!/bin/bash

root=$(pwd)
entryFile=$1

if [ ! -f "$entryFile" ]
then
echo "The build file $entryFile does not exists"
exit 2
else
path=$(dirname "$entryFile")
file=$(basename $entryFile)

set -e
cd $path
echo "Entering $path"

# support for multiple chunks
for chunk in *$file; do

# Backup original file
backupFile="$chunk.orig"
echo "Backing up $chunk to $backupFile"
cp $chunk $backupFile

done

# Make the app
echo "Making $file"
cd ../
npm --silent install
npm run --silent build

# Reset
cd $root
cd $path

# support for multiple chunks
for chunk in *$file; do

# Compare build files
echo "Comparing $chunk to the original"
backupFile="$chunk.orig"
if ! diff -q $chunk $backupFile &>/dev/null
then
echo "$chunk build is NOT up-to-date! Please send the proper production build within the pull request"
cat $HOME/.npm/_logs/*.log
exit 2
else
echo "$chunk build is up-to-date"
fi

done
fi

+ 1575
- 0
core/css/apps.css
File diff suppressed because it is too large
View File


+ 1
- 0
core/css/apps.css.map
File diff suppressed because it is too large
View File


+ 5
- 5
core/css/apps.scss View File

@@ -90,7 +90,7 @@ kbd {
overflow-x: hidden;
// Do not use vh because of mobile headers
// are included in the calculation
height: calc(100% - #{$header-height});
height: calc(100% - #{variables.$header-height});
box-sizing: border-box;
background-color: var(--color-main-background);
-webkit-user-select: none;
@@ -982,14 +982,14 @@ $outter-margin: math.div($popoveritem-height - $popovericon-size, 2);
&[class*=' icon-'] {
min-width: 0; /* Overwrite icons*/
min-height: 0;
background-position: #{($popoveritem-height - $popovericon-size) / 2} center;
background-position: #{math.div($popoveritem-height - $popovericon-size, 2)} center;
background-size: $popovericon-size;
}
span[class^='icon-'],
span[class*=' icon-'] {
/* Keep padding to define the width to
assure correct position of a possible text */
padding: #{$popoveritem-height / 2} 0 #{$popoveritem-height / 2} $popoveritem-height;
padding: #{math.div($popoveritem-height, 2)} 0 #{math.div($popoveritem-height, 2)} $popoveritem-height;
}
// If no icons set, force left margin to align
&:not([class^='icon-']):not([class*='icon-']) {
@@ -1003,7 +1003,7 @@ $outter-margin: math.div($popoveritem-height - $popovericon-size, 2);
}
&[class^='icon-'],
&[class*=' icon-'] {
padding: 0 #{($popoveritem-height - $popovericon-size) / 2} 0 $popoveritem-height !important;
padding: 0 #{math.div($popoveritem-height - $popovericon-size, 2)} 0 $popoveritem-height !important;
}
&:hover,
&:focus {
@@ -1038,7 +1038,7 @@ $outter-margin: math.div($popoveritem-height - $popovericon-size, 2);
* TODO: to remove */
> img {
width: $popovericon-size;
padding: #{($popoveritem-height - $popovericon-size) / 2};
padding: #{math.div($popoveritem-height - $popovericon-size, 2)};
}
/* checkbox/radio fixes */
> input.radio + label,

+ 7
- 0
core/css/fixes.css View File

@@ -0,0 +1,7 @@
/* ---- BROWSER-SPECIFIC FIXES ---- */
/* remove dotted outlines in Firefox */
::-moz-focus-inner {
border: 0;
}

/*# sourceMappingURL=fixes.css.map */

+ 1
- 0
core/css/fixes.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["fixes.scss"],"names":[],"mappings":"AAAA;AAEA;AACA;EACC","file":"fixes.css"}

+ 38
- 0
core/css/functions.css View File

@@ -0,0 +1,38 @@
@charset "UTF-8";
/**
* @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
*/
/**
* 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.
*/

/*# sourceMappingURL=functions.css.map */

+ 1
- 0
core/css/functions.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"functions.css"}

+ 50
- 0
core/css/global.css 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;
}

/*# sourceMappingURL=global.css.map */

+ 1
- 0
core/css/global.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["global.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAIA;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC","file":"global.css"}

+ 644
- 0
core/css/header.css View File

@@ -0,0 +1,644 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @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
*
*/
/* prevent ugly selection effect on accidental selection */
#header,
#navigation,
#expanddiv {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
}

/* removed until content-focusing issue is fixed */
#skip-to-content a {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
#skip-to-content a:focus {
left: 76px;
top: -9px;
color: var(--color-primary-text);
width: auto;
height: auto;
}

/* HEADERS ------------------------------------------------------------------ */
#body-user #header,
#body-settings #header,
#body-public #header {
display: inline-flex;
position: fixed;
top: 0;
width: 100%;
z-index: 2000;
height: 50px;
background-color: var(--color-primary);
background-image: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-element-light) 100%);
box-sizing: border-box;
justify-content: space-between;
}

/* LOGO and APP NAME -------------------------------------------------------- */
#nextcloud {
padding: 7px 0;
padding-left: 86px;
position: relative;
height: 100%;
box-sizing: border-box;
opacity: 1;
align-items: center;
display: flex;
flex-wrap: wrap;
overflow: hidden;
}
#nextcloud:focus {
opacity: 0.75;
}
#nextcloud:hover, #nextcloud:active {
opacity: 1;
}

#header {
/* Header menu */
/* show caret indicator next to logo to make clear it is tappable */
/* Right header standard */
}
#header .header-left > nav > .menu,
#header .header-right > div > .menu {
background-color: var(--color-main-background);
filter: drop-shadow(0 1px 5px var(--color-box-shadow));
border-radius: 0 0 var(--border-radius) var(--border-radius);
box-sizing: border-box;
z-index: 2000;
position: absolute;
max-width: 350px;
min-height: 66px;
max-height: calc(100vh - 50px * 4);
right: 5px;
top: 50px;
margin: 0;
/* Dropdown arrow */
/* Use by the apps menu and the settings right menu */
}
#header .header-left > nav > .menu:not(.popovermenu),
#header .header-right > div > .menu:not(.popovermenu) {
display: none;
}
#header .header-left > nav > .menu:after,
#header .header-right > div > .menu: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;
}
#header .header-left > nav > .menu #apps > ul, #header .header-left > nav > .menu > div, #header .header-left > nav > .menu > ul,
#header .header-right > div > .menu #apps > ul,
#header .header-right > div > .menu > div,
#header .header-right > div > .menu > ul {
overflow-y: auto;
-webkit-overflow-scrolling: touch;
min-height: 66px;
max-height: calc(100vh - 50px * 4);
}
#header .header-left > nav > .menu #apps > ul li a, #header .header-left > nav > .menu.settings-menu > ul li a,
#header .header-right > div > .menu #apps > ul li a,
#header .header-right > div > .menu.settings-menu > ul li a {
display: inline-flex;
align-items: center;
height: 44px;
color: var(--color-main-text);
padding: 10px 12px;
box-sizing: border-box;
white-space: nowrap;
position: relative;
width: 100%;
}
#header .header-left > nav > .menu #apps > ul li a:hover, #header .header-left > nav > .menu #apps > ul li a:focus, #header .header-left > nav > .menu.settings-menu > ul li a:hover, #header .header-left > nav > .menu.settings-menu > ul li a:focus,
#header .header-right > div > .menu #apps > ul li a:hover,
#header .header-right > div > .menu #apps > ul li a:focus,
#header .header-right > div > .menu.settings-menu > ul li a:hover,
#header .header-right > div > .menu.settings-menu > ul li a:focus {
background-color: var(--color-background-hover);
}
#header .header-left > nav > .menu #apps > ul li a:active, #header .header-left > nav > .menu #apps > ul li a.active, #header .header-left > nav > .menu.settings-menu > ul li a:active, #header .header-left > nav > .menu.settings-menu > ul li a.active,
#header .header-right > div > .menu #apps > ul li a:active,
#header .header-right > div > .menu #apps > ul li a.active,
#header .header-right > div > .menu.settings-menu > ul li a:active,
#header .header-right > div > .menu.settings-menu > ul li a.active {
background-color: var(--color-primary-light);
}
#header .header-left > nav > .menu #apps > ul li a span, #header .header-left > nav > .menu.settings-menu > ul li a span,
#header .header-right > div > .menu #apps > ul li a span,
#header .header-right > div > .menu.settings-menu > ul li a span {
display: inline-block;
padding-bottom: 0;
color: var(--color-main-text);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 110px;
}
#header .header-left > nav > .menu #apps > ul li a .icon-loading-small, #header .header-left > nav > .menu.settings-menu > ul li a .icon-loading-small,
#header .header-right > div > .menu #apps > ul li a .icon-loading-small,
#header .header-right > div > .menu.settings-menu > ul li a .icon-loading-small {
margin-right: 10px;
background-size: 16px 16px;
}
#header .header-left > nav > .menu #apps > ul li a img,
#header .header-left > nav > .menu #apps > ul li a svg, #header .header-left > nav > .menu.settings-menu > ul li a img,
#header .header-left > nav > .menu.settings-menu > ul li a svg,
#header .header-right > div > .menu #apps > ul li a img,
#header .header-right > div > .menu #apps > ul li a svg,
#header .header-right > div > .menu.settings-menu > ul li a img,
#header .header-right > div > .menu.settings-menu > ul li a svg {
opacity: 0.7;
margin-right: 10px;
height: 16px;
width: 16px;
filter: var(--background-invert-if-dark);
}
#header .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;
filter: var(--image-logoheader-custom, var(--primary-invert-if-bright));
}
#header .header-appname-container {
display: none;
padding-right: 10px;
flex-shrink: 0;
}
#header .icon-caret {
display: inline-block;
width: 12px;
height: 12px;
margin: 0;
margin-top: -21px;
padding: 0;
vertical-align: middle;
}
#header #header-left, #header .header-left,
#header #header-right, #header .header-right {
display: inline-flex;
align-items: center;
}
#header #header-left, #header .header-left {
flex: 1 0;
white-space: nowrap;
min-width: 0;
}
#header #header-right, #header .header-right {
justify-content: flex-end;
flex-shrink: 1;
}
#header .header-right > div,
#header .header-right > form {
height: 100%;
position: relative;
}
#header .header-right > div > .menutoggle,
#header .header-right > form > .menutoggle {
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 100%;
cursor: pointer;
opacity: 0.6;
padding: 0;
margin: 0;
}

/* hover effect for app switcher label */
.header-appname-container .header-appname {
opacity: 0.75;
}

.menutoggle .icon-caret {
opacity: 0.75;
}
.menutoggle:hover .header-appname, .menutoggle:hover .icon-caret {
opacity: 1;
}
.menutoggle:focus .header-appname, .menutoggle:focus .icon-caret {
opacity: 1;
}
.menutoggle.active .header-appname, .menutoggle.active .icon-caret {
opacity: 1;
}

/* 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-text);
font-size: 16px;
font-weight: bold;
margin: 0;
padding: 0;
padding-right: 5px;
overflow: hidden;
text-overflow: ellipsis;
flex: 1 1 100%;
}

.header-shared-by {
color: var(--color-primary-text);
position: relative;
font-weight: 300;
font-size: 11px;
line-height: 11px;
overflow: hidden;
text-overflow: ellipsis;
}

/* do not show menu toggle on public share links as there is no menu */
#body-public #header .icon-caret {
display: none;
}

/* NAVIGATION --------------------------------------------------------------- */
nav[role=navigation] {
display: inline-block;
width: 50px;
height: 50px;
margin-left: -50px;
position: relative;
}

#header .header-left > nav > #navigation {
position: relative;
left: 25px;
/* half the togglemenu */
transform: translateX(-50%);
width: 160px;
}

#header .header-left > nav > #navigation,
.ui-datepicker,
.ui-timepicker.ui-widget {
background-color: var(--color-main-background);
filter: drop-shadow(0 1px 10px var(--color-box-shadow));
}
#header .header-left > nav > #navigation:after,
.ui-datepicker:after,
.ui-timepicker.ui-widget:after {
/* position of dropdown arrow */
left: 50%;
bottom: 100%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-color: rgba(0, 0, 0, 0);
border-bottom-color: var(--color-main-background);
border-width: 10px;
margin-left: -10px;
/* border width */
}

#navigation {
box-sizing: border-box;
}
#navigation .in-header {
display: none;
}

/* USER MENU -----------------------------------------------------------------*/
#settings {
display: inline-block;
height: 100%;
cursor: pointer;
flex: 0 0 auto;
/* User menu on the right */
}
#settings #expand {
opacity: 1;
/* override icon opacity */
padding-right: 12px;
/* Profile picture in header */
/* show triangle below user menu if active */
}
#settings #expand:hover, #settings #expand:focus, #settings #expand:active {
color: var(--color-primary-text);
}
#settings #expand:hover #expandDisplayName,
#settings #expand:hover .avatardiv, #settings #expand:focus #expandDisplayName,
#settings #expand:focus .avatardiv, #settings #expand:active #expandDisplayName,
#settings #expand:active .avatardiv {
border-radius: 50%;
border: 2px solid var(--color-primary-text);
margin: -2px;
}
#settings #expand:hover .avatardiv, #settings #expand:focus .avatardiv, #settings #expand:active .avatardiv {
background-color: var(--color-primary-text);
}
#settings #expand:hover #expandDisplayName, #settings #expand:focus #expandDisplayName, #settings #expand:active #expandDisplayName {
opacity: 1;
}
#settings #expand .avatardiv {
cursor: pointer;
height: 32px;
width: 32px;
/* do not show display name when profile picture is present */
}
#settings #expand .avatardiv img {
opacity: 1;
cursor: pointer;
}
#settings #expand .avatardiv.avatardiv-shown + #expandDisplayName {
display: none;
}
#settings #expand #expandDisplayName {
padding: 8px;
opacity: 0.6;
cursor: pointer;
/* full opacity for gear icon if active */
}
#body-settings #settings #expand #expandDisplayName {
opacity: 1;
}
#body-settings #settings #expand:before {
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border: 0 solid transparent;
border-bottom-color: var(--color-main-background);
border-width: 10px;
bottom: 0;
z-index: 100;
display: block;
}
#settings #expanddiv:after {
right: 22px;
}

/* Apps menu */
#appmenu {
display: inline-flex;
min-width: 50px;
z-index: 2;
/* Show all app titles on hovering app menu area */
/* Also show app title on focusing single entry (showing all on focus is only possible with CSS4 and parent selectors) */
/* show triangle below active app */
/* triangle focus feedback */
}
#appmenu li {
position: relative;
cursor: pointer;
padding: 0 2px;
display: flex;
justify-content: center;
/* focused app visual feedback */
/* hidden apps menu */
/* App title */
/* Set up transitions for showing app titles on hover */
/* App icon */
/* Triangle */
}
#appmenu li a {
position: relative;
display: flex;
margin: 0;
height: 50px;
width: 50px;
align-items: center;
justify-content: center;
opacity: 0.6;
letter-spacing: -0.5px;
font-size: 12px;
}
#appmenu li:hover a,
#appmenu li a:focus,
#appmenu li a.active {
opacity: 1;
font-weight: bold;
}
#appmenu li:hover a,
#appmenu li a:focus {
font-size: 14px;
}
#appmenu li:hover a + span,
#appmenu li a:focus + span, #appmenu li:hover span, #appmenu li:focus span,
#appmenu li a:focus span,
#appmenu li a.active span {
display: inline-block;
text-overflow: initial;
width: auto;
overflow: hidden;
padding: 0 5px;
z-index: 2;
}
#appmenu li img,
#appmenu li .icon-more-white {
display: inline-block;
width: 20px;
height: 20px;
}
#appmenu li span {
opacity: 0;
position: absolute;
color: var(--color-primary-text);
bottom: 2px;
width: 100%;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
transition: all var(--animation-quick) ease;
pointer-events: none;
}
#appmenu li svg,
#appmenu li .icon-more-white {
transition: transform var(--animation-quick) ease;
filter: var(--primary-invert-if-bright);
}
#appmenu li a::before {
transition: border var(--animation-quick) ease;
}
#appmenu:hover li {
/* Move up app icon */
/* Show app title */
/* Prominent app title for current and hovered/focused app */
/* Smaller triangle because of limited space */
}
#appmenu:hover li svg,
#appmenu:hover li .icon-more,
#appmenu:hover li .icon-more-white,
#appmenu:hover li .icon-loading-small,
#appmenu:hover li .icon-loading-small-dark {
transform: translateY(-7px);
}
#appmenu:hover li span {
opacity: 0.6;
bottom: 2px;
z-index: -1;
/* fix clickability issue - otherwise we need to move the span into the link */
}
#appmenu:hover li:hover span, #appmenu:hover li:focus span,
#appmenu:hover li .active + span {
opacity: 1;
}
#appmenu:hover li a::before {
border-width: 5px;
}
#appmenu li a:focus {
/* Move up app icon */
/* Show app title */
/* Smaller triangle because of limited space */
}
#appmenu li a:focus svg,
#appmenu li a:focus .icon-more,
#appmenu li a:focus .icon-more-white,
#appmenu li a:focus .icon-loading-small,
#appmenu li a:focus .icon-loading-small-dark {
transform: translateY(-7px);
}
#appmenu li a:focus + span,
#appmenu li a:focus span {
opacity: 1;
bottom: 2px;
}
#appmenu li a:focus::before {
border-width: 5px;
}
#appmenu li a::before {
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border: 0 solid transparent;
border-bottom-color: var(--color-main-background);
border-width: 10px;
transform: translateX(-50%);
left: 50%;
bottom: 0;
display: none;
}
#appmenu li a.active::before,
#appmenu li:hover a::before,
#appmenu li:hover a.active::before,
#appmenu li a:focus::before {
display: block;
}
#appmenu li a.active::before {
z-index: 99;
}
#appmenu li:hover a::before,
#appmenu li a.active:hover::before,
#appmenu li a:focus::before {
z-index: 101;
}
#appmenu li.hidden {
display: none;
}
#appmenu #more-apps {
z-index: 3;
}

.unread-counter {
display: none;
}

#apps .app-icon-notification,
#appmenu .app-icon-notification {
fill: var(--color-error);
}

#apps svg:not(.has-unread) .app-icon-notification-mask,
#appmenu svg:not(.has-unread) .app-icon-notification-mask {
display: none;
}
#apps svg:not(.has-unread) .app-icon-notification,
#appmenu svg:not(.has-unread) .app-icon-notification {
display: none;
}

/* Skip navigation links – show only on keyboard focus */
.skip-navigation {
padding: 11px;
position: absolute;
overflow: hidden;
z-index: 9999;
top: -999px;
left: 3px;
/* Force primary color, otherwise too light focused color */
background: var(--color-primary) !important;
}
.skip-navigation.skip-content {
left: 300px;
margin-left: 3px;
}
.skip-navigation:focus, .skip-navigation:active {
top: 50px;
}

/* Empty content messages in the header e.g. notifications, contacts menu, … */
header #emptycontent h2,
header .emptycontent h2 {
font-weight: normal;
font-size: 16px;
}
header #emptycontent [class^=icon-],
header #emptycontent [class*=icon-],
header .emptycontent [class^=icon-],
header .emptycontent [class*=icon-] {
background-size: 48px;
height: 48px;
width: 48px;
}

/*# sourceMappingURL=header.css.map */

+ 1
- 0
core/css/header.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss","header.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA;AACA;AAAA;AAAA;EAGC;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AACA;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA,QDwDe;ECvDf;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAED;EACC;;;AASF;AACC;AA6GA;AA4BA;;AAtIA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EAhBD;EACA;EAiBC;EACA,KDQc;ECPd;AAMA;AAqBA;;AAzBA;AAAA;EACC;;AAID;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EAGC;EACA;EA3CF;EACA;;AAkDG;AAAA;AAAA;EACC;EACA;EACA,QAhDuB;EAiDvB;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;EAEC;;AAED;AAAA;AAAA;AAAA;AAAA;EAEC;;AAED;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;AAAA;AAAA;EACC;EACA;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAML;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;AAAA;EAEC;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAKA;AAAA;EAEC;EACA;;AACA;AAAA;EACC;EACA;EACA;EACA,OD7HY;EC8HZ;EACA;EACA;EACA;EACA;;;AAMJ;AAEA;EACC;;;AAIA;EACC;;AAGA;EACC;;AAID;EACC;;AAID;EACC;;;AAKH;AACA;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;;;AAGD;AACA;EACC;EACA,ODpMe;ECqMf,QDrMe;ECsMf;EACA;;;AAGD;EACC;EACA;AAAY;EACZ;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;AACA;AAAA;AAAA;AACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAoB;;;AAItB;EACC;;AACA;EACC;;;AAIF;AACA;EACC;EACA;EACA;EACA;AAEA;;AACA;EACC;AAAY;EACZ;AAqBA;AA2BA;;AA9CA;EAGC;;AAEA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;;AAED;EACC;;AAED;EACC;;AAKF;EACC;EACA;EACA;AAMA;;AAJA;EACC;EACA;;AAGD;EACC;;AAIF;EACC;EACA;EACA;AAEA;;AACA;EACC;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;;;AAIF;AACA;EACC;EACA,WDhUe;ECiUf;AAwFA;AAiCA;AAwBA;AAgBA;;AA/JA;EACC;EACA;EACA;EACA;EACA;AAgBA;AA4BA;AAQA;AAcA;AACA;AAQA;;AAzEA;EACC;EACA;EACA;EACA,QD9Ua;EC+Ub,OD/Ua;ECgVb;EACA;EACA;EAEA;EACA;;AAID;AAAA;AAAA;EAGC;EACA;;AAID;AAAA;EAEC;;AAGD;AAAA;AAAA;AAAA;EAMC;EACA;EACA;EACA;EACA;EACA;;AAID;AAAA;EAEC;EACA;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKD;AAAA;EAEC;EAEA;;AAID;EACC;;AAMD;AACC;AASA;AAOA;AAOA;;AAtBA;AAAA;AAAA;AAAA;AAAA;EAKC;;AAID;EACC;EACA;EACA;AAAa;;AAId;AAAA;EAGC;;AAID;EACC;;AAMH;AACC;AASA;AAOA;;AAfA;AAAA;AAAA;AAAA;AAAA;EAKC;;AAID;AAAA;EAEC;EACA;;AAID;EACC;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAID;AAAA;AAAA;AAAA;EAIC;;AAED;EACC;;AAED;AAAA;AAAA;EAGC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAED;AAAA;EAEC;;;AAKA;AAAA;EACC;;AAED;AAAA;EACC;;;AAKF;AACA;EACC;EACA;EACA;EACA;EACA;EACA;AACA;EACA;;AAEA;EACC,MDzhBiB;EC0hBjB;;AAGD;EAEC,KDhiBc;;;ACqiBhB;AAGC;AAAA;EACC;EACA;;AAED;AAAA;AAAA;AAAA;EAEC;EACA;EACA","file":"header.css"}

+ 206
- 0
core/css/icons.css View File

@@ -0,0 +1,206 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @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
*/
/**
* 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.
*/
/* GLOBAL ------------------------------------------------------------------- */
@import url("../../dist/icons.css");
/**
* @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/>.
*
*/
[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;
}
.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 0.8s infinite linear;
animation: rotate 0.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;
}

/* Css replaced elements don't have ::after nor ::before */
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));
}

/* 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
*/

/*# sourceMappingURL=icons.css.map */

+ 1
- 0
core/css/icons.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["icons.scss","functions.scss","variables.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADnBA;AA+GQ;AE9IR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AFgCA;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAMC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;;AAKH;AAAA;EAEC;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;AAEC;EACC;;AAED;EACC;;AAED;EACC;;AAED;EACC;;;AAIF;EACC;IACC;;EAED;IACC;;;AAIF;EACC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"icons.css"}

+ 1039
- 0
core/css/inputs.css
File diff suppressed because it is too large
View File


+ 1
- 0
core/css/inputs.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss","inputs.scss","functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADlCC;AACD;EACC;;;AAED;EACC;;;AAKD;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;EAMC;EACA,YAVgB;EAWhB;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA4BA;;AA1BC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;EACC;EACA;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;AAEA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEC;;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;AACA;AAcC;AAAA;;AAbA;EACC;EACA;EAEA,QAvHe;;AAyHhB;EAIC;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;;AAIF;AACA;AAAA;AAAA;AAAA;AAAA;EAKC;EACA;EACA,YA1JgB;EA2JhB;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAKD;AAAA;EACC;;AAIA;AAAA;EACC;;;AAKH;AACA;AAAA;AAAA;AAAA;EAIC;EACA;AAEA;;AACA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;;;AAID;AACC;;AACA;EAEC;EACA;EACA;;;AAKH;EACC;EACA;EACA;EACA;;AAEC;EAGC;EACA;;;AAKH;EACC;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA,QA9OgB;;;AAiPjB;AAEC;AAsBC;;AAnBA;EACC;EACA;EACA;EACA;AACA;EACA;EACA;EACA,QA9Pc;EA+Pd,OA/Pc;EAgQd;EACA;EACA;;AACA;EACC;AC7NH;EAEA;;ADmOG;EACC;;AAID;EAGC;EACA;;AACA;EACC;;AAQH;EACC;EACA;AACA;EACA;;;AAOJ;AACA;AAAA;EAEC;;;AAED;AAAA;EAEC;;;AAGD;AAKC;AA8EC;;AA5EA;EAEC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;AAED;EAEC;;AAED;EACC;EACA;EACA,QAxBkB;EAyBlB,OAzBkB;EA0BlB;EACA;EACA;EACA;;AAED;EAEC;;AAED;EACC;EACA;EACA;EACA;;AAED;AAEA;AAAA;EAEC;EACA;EACA;;AAED;EACC;EACA;AAA4D;;AAE7D;EACC;;AAID;EACC;EACA;;AAED;EACC,eA/DkB;;AAmEnB;EACC;EACA,QArEkB;EAsElB,OAtEkB;EAuElB;EACA;;AAED;EACC;;AAED;EACC;;AAOD;EAEC;;AAED;EACC,cAzFyB;;AA2F1B;EACC;EACA;EACA;;AAED;EACC;AAAuE;EACvE;AAAiE;;AAElE;EACC;EACA;AAAiE;EACjE;;AAID;EAEC;AAA0C;EAC1C;AAAsD;EACtD;;AAED;EACC;;AAED;EACC;AAAc;;;AAMlB;AACA;EACC;EACA;;AACA;EACC;;AAED;EACC;EACA;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AACA;EACC;EACA;EACA;;AACA;EACC;;AACA;EACC;EACA;;AAIH;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAGF;EACE;EACA;;;AAMH;AAAA;AAAA;AAAA;EAEC;;;AAID;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;;AACA;EAIC;EACA;EACA;EACA;;AAED;EACC;;AAGF;EACC;;AACA;EACC;;;AAKJ;EACC;;AACA;EACC;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;;AACA;EACC;;AAED;EAEC;EACA;;AAGF;EACC;EACA;EACA;;AACA;EACC;EACA;;AAGF;EAGC;;AAED;EACC;;;AAKH;AACA;EACC;EACA;;AACA;EACC;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAED;EACC;EACA;;AACA;EACC;;;AAQL;AACA;EACC;EACA;EACA;EACA;EACA;EACA;AAiHA;;AAhHA;AACC;;AACA;EACC;EACA;;AAGF;EAEC;;AAED;AACC;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QA1rBe;AA2rBf;AAoDA;AASA;AAaA;;AAzEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AAAA;AASA;;AAPA;EACC;AACA;;AACA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AAAA;EAEA;EACA;EACA;EACA;AACA;AAAA;AAQA;AAAA;;AANA;EACC;;AAED;EACC,cAnDa;;AAuDd;EACC;EACA;EACA;;AAKH;EACC;EACA;EACA;AAAY;EACZ;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA,cAhFe;AAiFf;EACA;;AAGD;EACC;EACA;EACA;EACA;AACA;EACA;EACA;AACA;EACA;AACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;;AACA;AAAA;EAEC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;AAiBA;AAAA;AAAA;;AAhBA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAMA;EACC;EACA;;AAGF;EACC;;AAED;EACC;;AAIA;EACC;;;AAQN;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEC;EACC;;AAED;EACC;;AAGF;EACC;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;;AAIF;AACA;EACC;IAEC;;EAED;IAEC;;EAED;IAGC;;EAED;IAEC;;;AAGF;EACC;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC","file":"inputs.css"}

+ 11
- 13
core/css/inputs.scss View File

@@ -255,7 +255,7 @@ select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: var(--icon-triangle-s-000) no-repeat right 4px center;
background: var(--icon-triangle-s-dark) no-repeat right 4px center;
background-color: inherit;
outline: 0;
padding-right: 24px !important;
@@ -332,8 +332,6 @@ select,

/* Radio & Checkboxes */
$checkbox-radio-size: 14px;
$color-checkbox-radio-disabled: nc-darken(variables.$color-main-background, 27%);
$color-checkbox-radio-border: nc-darken(variables.$color-main-background, 47%);
$color-checkbox-radio-white: #fff;

input {
@@ -362,7 +360,7 @@ input {
vertical-align: middle;
border-radius: 50%;
margin: 0 6px 3px 3px;
border: 1px solid $color-checkbox-radio-border;
border: 1px solid var(--color-text-lighter);
}
&:not(:disabled):not(:checked) + label:hover:before,
&:focus + label:before {
@@ -383,11 +381,11 @@ input {
border-color: var(--color-primary-element);
}
&:disabled + label:before {
border: 1px solid $color-checkbox-radio-border;
background-color: $color-checkbox-radio-disabled !important; /* override other status */
border: 1px solid var(--color-text-lighter);
background-color: var(--color-text-maxcontrast) !important; /* override other status */
}
&:checked:disabled + label:before {
background-color: $color-checkbox-radio-disabled;
background-color: var(--color-text-maxcontrast);
}

// Detail description below label of checkbox or radio button
@@ -415,7 +413,7 @@ input {
}
}

/* We do not use the nc-darken function as this is not supposed to be changed */
/* We do not use the variables as we keep the colours as white for this variant */
&.radio--white,
&.checkbox--white {
+ label:before,
@@ -474,7 +472,7 @@ div.select2-drop {
}
.select2-search input {
min-height: auto;
background: var(--icon-search-000) no-repeat right center !important;
background: var(--icon-search-dark) no-repeat right center !important;
background-origin: content-box !important;
}
.select2-results {
@@ -601,7 +599,7 @@ div.select2-container {
border-radius: 0;
border: none;
b {
background: var(--icon-triangle-s-000) no-repeat center !important;
background: var(--icon-triangle-s-dark) no-repeat center !important;
opacity: .5;
}
}
@@ -666,7 +664,7 @@ div.select2-container {
color: inherit !important;
&::before {
content: ' ';
background-image: var(--icon-checkmark-000);
background-image: var(--icon-checkmark-dark);
background-repeat: no-repeat;
background-position: center;
min-width: 16px;
@@ -856,7 +854,7 @@ div.select2-container {
/* selected checkmark icon */
&::before {
content: ' ';
background-image: var(--icon-checkmark-000);
background-image: var(--icon-checkmark-dark);
background-repeat: no-repeat;
background-position: center;
min-width: 16px;
@@ -875,7 +873,7 @@ div.select2-container {
*/
&[data-select='create'] {
&::before {
background-image: var(--icon-add-000);
background-image: var(--icon-add-dark);
visibility: visible;
}
}

+ 198
- 0
core/css/mobile.css View File

@@ -0,0 +1,198 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
@media only screen and (max-width: 1024px) {
/* 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 {
transform: translateX(-300px);
}

.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%;
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;
}

/* Show app details page */
#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, 0.7);
cursor: pointer;
opacity: 0.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: 0.6;
}

#app-navigation-toggle:hover,
#app-navigation-toggle:focus {
opacity: 1;
}

/* position controls for apps with app-navigation */
#app-navigation + #app-content #controls {
padding-left: 44px;
}

/* .viewer-mode is when text editor, PDF viewer, etc is open */
#body-user .app-files.viewer-mode #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 #controls {
min-width: 1024px !important;
}

/* do not show dates in filepicker */
#oc-dialog-filepicker-content .filelist #headerSize,
#oc-dialog-filepicker-content .filelist #headerDate,
#oc-dialog-filepicker-content .filelist .filesize,
#oc-dialog-filepicker-content .filelist .date {
display: none;
}

#oc-dialog-filepicker-content .filelist .filename {
max-width: 100%;
}

.snapjs-left table.multiselect thead {
top: 44px;
}

/* end of media query */
}
@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;
}

/* Arrow directly child of menutoggle */
#header .header-right > div {
/* settings need a different offset, since they have a right padding */
}
#header .header-right > div.openedMenu::after {
display: block;
}
#header .header-right > div::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;
}
#header .header-right > div#settings::after {
right: 27px;
}

#notification-container {
max-width: 100%;
width: 100%;
}
}

/*# sourceMappingURL=mobile.css.map */

+ 1
- 0
core/css/mobile.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAEC;EACA;IACC;IACA;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;;;AAGD;EACA;IACC;;;EAGA;IACC;;;EAIF;IACC;;;EAGD;IACC;IACA;;;AAGD;EACA;IACC;IACA;IAEA;IAEA;;EACA;IACC;;EAED;IACC;;EACA;IACC;;;AAKH;EAEC;IACC;;EAED;IACC;IACA;IACA,KDuCa;ICtCb;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAED;IACC;;;EAKF;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;EAED;AAAA;IAEC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAED;IACC;;;EAGD;IACC;;;AAGD;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;EAED;IACC;;;EAGD;IACC;;;AAGD;;AAGD;EACC;IACC;IACA;;EACA;IACC;;;AAGF;EACA;AAoBC;;EAlBC;IACC;;EAGF;IACC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAID;IACC;;;EAIF;IACC;IACA","file":"mobile.css"}

+ 72
- 0
core/css/public.css View File

@@ -0,0 +1,72 @@
#body-public {
/** don't apply content header padding on the base layout */
/* force layout to make sure the content element's height matches its contents' height */
/* public footer */
}
#body-public .header-right #header-primary-action a {
color: var(--color-primary-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: transparent;
border-color: transparent;
}
#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 .ie #content {
display: inline-block;
}
#body-public p.info {
margin: 20px auto;
text-shadow: 0 0 2px rgba(0, 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: relative;
display: flex;
align-items: center;
justify-content: center;
height: 65px;
flex-direction: column;
}
#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;
/* increasing clickability to more than the text height */
padding: 10px;
margin: -10px;
line-height: 200%;
}

/*# sourceMappingURL=public.css.map */

+ 1
- 0
core/css/public.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["public.scss"],"names":[],"mappings":"AAEA;AAyCC;AAKA;AAoBA;;AA/DC;EACC;;AAIA;EACC;;AAED;EACC;EACA;;AAEA;EAGC;;AAID;EACC;;AAED;EACC;;AAED;EACC;;AAMJ;EAEC;;AAKD;EACC;;AAID;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;;AAED;AAAA;AAAA;AAAA;EAIC;;AAID;EACC;EACA;EACA;EACA;EACA,QA1Ec;EA2Ed;;AACA;EACC;EACA;;AACA;EACC;EACA;EACA;AACA;EACA;EACA;EACA","file":"public.css"}

+ 5178
- 0
core/css/server.css
File diff suppressed because it is too large
View File


+ 1
- 0
core/css/server.css.map
File diff suppressed because it is too large
View File


+ 1181
- 0
core/css/styles.css
File diff suppressed because it is too large
View File


+ 1
- 0
core/css/styles.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss","styles.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AACA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;AACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AACA;EACC;;;AAKH;AAEA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAID;AAEA;EACC;EACA;;;AAID;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA,KDxFe;;;AC2FhB;AAEA;EACC;;;AAGD;EACC;;;AAMC;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAKH;AAEA;AAAA;EAEC;EACA;EACA;EACA;;AACA;AAAA;EACC;;AAED;AAAA;EACC;;AAED;AAAA;EACC;;AAED;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEC;;;AAKH;AAEA;EACC;;;AAGD;AAEA;AAEA;AAEA;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAIC;AAAA;AAAA;EACC;;AAED;AAAA;AAAA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;;AAKD;EACC;EACA;;AACA;EACC;EACA;EACA;;AAGF;EACC;EACA;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;AACA;AAEA;AAEA;AAEA;EACC;EACA;;AACA;EACC;EACA;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;EACA;EACA;;AANA;EACC;EACA;;AAKD;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAKH;EACC;;;AAIA;AAAA;EAGC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAKD;EACC;;;AAKD;EACC;;;AAKD;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AACA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGC;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAED;EACC;;AAEA;EACC;;AAED;EACC;;AAGF;EACC;;AAID;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;;AAGA;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;;;AAMJ;EACC;EACA;;;AAID;AACA;EACC;EACA;EACA;EACA;AAwBA;;AAtBA;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;;AAGA;EACC;EACA;EACA;;AACA;EACC;EACA;EACA;;AAGF;EACC;;AAGA;AAAA;AAAA;EAIC;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMJ;AAGC;AAAA;EACC;EACA;EACA;;AACA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAMJ;AACA;EACC;EACA;EACA;AA0BA;;AAxBA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGA;EACC;;AAED;EACC;;AAED;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;;AAKF;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;AACA;AACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAED;AACC;EACA;EACA;;AAEC;EACC;EACA;;AACA;EACC;EACA;;AAIH;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAED;AAAA;AAAA;EAGC;;AAED;AAAA;EAEC;;AAGD;EACC;EACA;;AAED;EACC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AACA;EACC;;AACA;EACC;EACA;EACA;;AAED;EACC;;AAIH;EACC;;AAED;EACC;;AAED;EAIC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAhBS;EAiBT;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,aA/BU;EAgCV;;AACA;EACC;;AAGF;EACC;EACA;;AAED;EACC;;AAON;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;;;AAGD;AAGC;EACC;EACA;EACA;EAEA;EACA;;AAEA;EAGC;;;AAKH;AACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AACA;AAAA;EAEC;;AAIF;AACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EACA;AA6CA;;AA3CA;EACC;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;AACC;EACA;EACA;EACA;EACA;;AAED;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKF;EACC;EACA;;AAED;EACC;;;AAMH;EACC;EACA;EACA;;;AAGD;AAEA;EACC;;;AAGD;AAGC;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AAED;EACC;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;EACA;;;AAIF;AACA;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;;AACA;EACC;;AAIA;EACC;;AAIF;EACC;EACA;;AACA;EACC;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;;AAIH;EACC;;AACA;EACC;;AAGF;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;AAAA;AAAA;EAGC;;AAGF;EACC;EACA;;AAID;EACC;EACA;;AAEA;EACC;;AAGF;EACC;;AAEA;AAAA;AAAA;AAAA;AAAA;EAEC;;;AAKH;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAIF;AAGC;EACC;EACA;;AAED;EACC;;;AAIF;AACA;EACC;;AAID;AAEA;EACC;EACA;EACA;EACA","file":"styles.css"}

+ 5
- 4
core/css/styles.scss View File

@@ -13,6 +13,7 @@
* @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 {
@@ -298,7 +299,7 @@ body {
position: absolute !important;
height: 20px;
width: 24px;
background-image: var(--icon-toggle-000);
background-image: var(--icon-toggle-dark);
background-repeat: no-repeat;
background-position: center;
opacity: .3;
@@ -720,7 +721,7 @@ code {
padding-right: 140px;

div:first-child a {
background-image: var(--icon-home-000);
background-image: var(--icon-home-dark);
background-repeat: no-repeat;
background-position: left center;
}
@@ -777,7 +778,7 @@ code {
order:1;

.icon.icon-add{
background-image: var(--icon-add-000);
background-image: var(--icon-add-dark);
background-size: 16px 16px;
width: 34px;
height: 34px;
@@ -945,7 +946,7 @@ code {
}
}
&.filesize {
line-height: $name-height / 3;
line-height: math.div($name-height, 3);
width: 100%;
}
&.date {

+ 86
- 0
core/css/systemtags.css View File

@@ -0,0 +1,86 @@
@charset "UTF-8";
/**
* @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;
}
.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: 0.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;
}

.systemTagsInfoView,
.systemtags-select2-container {
width: 100%;
}
.systemTagsInfoView .select2-choices,
.systemtags-select2-container .select2-choices {
flex-wrap: nowrap !important;
max-height: 44px;
}
.systemTagsInfoView .select2-choices .select2-search-choice.select2-locked .label,
.systemtags-select2-container .select2-choices .select2-search-choice.select2-locked .label {
opacity: 0.5;
}

#select2-drop.systemtags-select2-dropdown .select2-results li.select2-result {
padding: 5px;
}

/*# sourceMappingURL=systemtags.css.map */

+ 1
- 0
core/css/systemtags.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["systemtags.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcE;EACC;EACA;EACA;EACA;;AAED;EACC;;AAGF;EACC;;AAED;EACC;EACA;;AACA;EACC;;AAGF;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AAGF;EACC;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;;AAED;EACC;EACA;EACA;;AAED;EACC;;;AAIF;AAAA;EAEC;;AAEA;AAAA;EACC;EACA;;AAGD;AAAA;EACC;;;AAIF;EACC","file":"systemtags.css"}

+ 111
- 0
core/css/toast.css View File

@@ -0,0 +1,111 @@
@charset "UTF-8";
/**
* @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/>.
*
*/
/**
* @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
*/
/**
* 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.
*/
.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: 0.4;
padding: 12px;
/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
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);
}

.toast-warning {
border-left: 3px solid var(--color-warning);
}

.toast-success {
border-left: 3px solid var(--color-success);
}

/*# sourceMappingURL=toast.css.map */

+ 1
- 0
core/css/toast.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss","functions.scss","toast.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AC/CA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;ADyCD;EAEA;ECzCC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;;AAIH;EACC;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC","file":"toast.css"}

+ 125
- 0
core/css/tooltip.css View File

@@ -0,0 +1,125 @@
@charset "UTF-8";
/**
* @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 v3.3.5 (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));
/* TOP */
/* BOTTOM */
}
.tooltip.in, .tooltip.show, .tooltip.tooltip[aria-hidden=false] {
visibility: visible;
opacity: 1;
transition: opacity 0.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: transparent;
border-style: solid;
}

/*# sourceMappingURL=tooltip.css.map */

+ 1
- 0
core/css/tooltip.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["tooltip.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;AA0CA;AAmBA;;AA5DA;EAGI;EACA;EACA;;AAEJ;EAEI;EACA;;AAEJ;EAEI;EACA;;AAEJ;EAEI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;;AAGR;EAEI;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;;AAQJ;EACI;EACA;EACA;;AAGR;EACI;EACA;;AAEJ;EACI;EACA;;AAOA;EACI;EACA;EACA;;AAGR;EAEI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;EACA","file":"tooltip.css"}

+ 24
- 0
core/css/variables.css View File

@@ -0,0 +1,24 @@
@charset "UTF-8";
/**
* @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/>.
*
*/

/*# sourceMappingURL=variables.css.map */

+ 1
- 0
core/css/variables.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["variables.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","file":"variables.css"}

+ 32
- 0
core/css/whatsnew.css View File

@@ -0,0 +1,32 @@
/**
* @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;
}

/*# sourceMappingURL=whatsnew.css.map */

+ 1
- 0
core/css/whatsnew.css.map View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["whatsnew.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"whatsnew.css"}

+ 1
- 0
core/src/icons.js View File

@@ -204,6 +204,7 @@ const iconsAliases = {
'icon-category-search': 'icon-search-dark',
'icon-category-tools': 'icon-settings-dark',
'icon-filetype-text': 'icon-file-grey',
'nav-icon-systemtagsfilter': 'icon-tag-dark',
}

const colorSvg = function(svg = '', color = '000') {

+ 3
- 0
dist/icons.css View File

@@ -1371,6 +1371,9 @@ body .icon-category-tools {
body .icon-filetype-text {
background-image: var(--icon-file-grey);
}
body .nav-icon-systemtagsfilter {
background-image: var(--icon-tag-dark);
}

@media (prefers-color-scheme: dark) {
body {

+ 2
- 2
dist/workflowengine-workflowengine.js
File diff suppressed because it is too large
View File


+ 1
- 1
dist/workflowengine-workflowengine.js.map
File diff suppressed because it is too large
View File


+ 1
- 1
lib/composer/autoload.php View File

@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c::getLoader();
return ComposerAutoloaderInit749170dad3f5e7f9ca158f5a9f04f6a2::getLoader();

+ 4
- 4
lib/composer/composer/autoload_real.php View File

@@ -2,7 +2,7 @@

// autoload_real.php @generated by Composer

class ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c
class ComposerAutoloaderInit749170dad3f5e7f9ca158f5a9f04f6a2
{
private static $loader;

@@ -22,12 +22,12 @@ class ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c
return self::$loader;
}

spl_autoload_register(array('ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInit749170dad3f5e7f9ca158f5a9f04f6a2', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit53792487c5a8370acc0b06b1a864ff4c', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInit749170dad3f5e7f9ca158f5a9f04f6a2', 'loadClassLoader'));

require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2::getInitializer($loader));

$loader->register(true);


+ 5
- 5
lib/composer/composer/autoload_static.php View File

@@ -4,7 +4,7 @@

namespace Composer\Autoload;

class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
{
public static $prefixLengthsPsr4 = array (
'O' =>
@@ -1596,10 +1596,10 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixDirsPsr4;
$loader->fallbackDirsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$fallbackDirsPsr4;
$loader->classMap = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2::$prefixDirsPsr4;
$loader->fallbackDirsPsr4 = ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2::$fallbackDirsPsr4;
$loader->classMap = ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2::$classMap;

}, null, ClassLoader::class);
}

+ 167
- 141
package-lock.json View File

@@ -86,14 +86,13 @@
"@nextcloud/eslint-config": "^7.0.2",
"@nextcloud/stylelint-config": "^2.1.2",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/user-event": "^14.1.0",
"@testing-library/user-event": "^14.1.1",
"@testing-library/vue": "^5.8.2",
"@vue/test-utils": "^1.3.0",
"babel-loader": "^8.2.5",
"babel-loader-exclude-node-modules-except": "^1.2.1",
"css-loader": "^6.7.1",
"eslint-plugin-es": "^4.1.0",
"eslint-webpack-plugin": "^3.1.1",
"exports-loader": "^3.1.0",
"file-loader": "^6.2.0",
"handlebars": "^4.7.7",
@@ -4450,13 +4449,13 @@
"dev": true
},
"node_modules/accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"dev": true,
"dependencies": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
"mime-types": "~2.1.34",
"negotiator": "0.6.3"
},
"engines": {
"node": ">= 0.6"
@@ -5517,24 +5516,27 @@
"integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w=="
},
"node_modules/body-parser": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
"integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
"integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
"dev": true,
"dependencies": {
"bytes": "3.1.1",
"bytes": "3.1.2",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"depd": "2.0.0",
"destroy": "1.2.0",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.9.6",
"raw-body": "2.4.2",
"type-is": "~1.6.18"
"on-finished": "2.4.1",
"qs": "6.10.3",
"raw-body": "2.5.1",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
"engines": {
"node": ">= 0.8"
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/body-parser/node_modules/debug": {
@@ -5546,12 +5548,33 @@
"ms": "2.0.0"
}
},
"node_modules/body-parser/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"node_modules/body-parser/node_modules/on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"dependencies": {
"ee-first": "1.1.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/bootstrap": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz",
@@ -5661,9 +5684,9 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
"node_modules/bytes": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
"integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true,
"engines": {
"node": ">= 0.8"
@@ -6740,6 +6763,16 @@
"node": ">= 0.6"
}
},
"node_modules/destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true,
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/detect-newline": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@@ -7876,48 +7909,6 @@
"node": ">=10"
}
},
"node_modules/eslint-webpack-plugin": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.1.tgz",
"integrity": "sha512-xSucskTN9tOkfW7so4EaiFIkulWLXwCB/15H917lR6pTv0Zot6/fetFucmENRb7J5whVSFKIvwnrnsa78SG2yg==",
"dev": true,
"dependencies": {
"@types/eslint": "^7.28.2",
"jest-worker": "^27.3.1",
"micromatch": "^4.0.4",
"normalize-path": "^3.0.0",
"schema-utils": "^3.1.1"
},
"engines": {
"node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0",
"webpack": "^5.0.0"
}
},
"node_modules/eslint-webpack-plugin/node_modules/schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
},
"engines": {
"node": ">= 10.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
}
},
"node_modules/eslint/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -9739,19 +9730,37 @@
"dev": true
},
"node_modules/http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"dependencies": {
"depd": "~1.1.2",
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.6"
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-errors/node_modules/statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true,
"engines": {
"node": ">= 0.8"
}
},
"node_modules/http-proxy": {
@@ -14071,9 +14080,9 @@
"dev": true
},
"node_modules/negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"dev": true,
"engines": {
"node": ">= 0.6"
@@ -15637,10 +15646,13 @@
}
},
"node_modules/qs": {
"version": "6.9.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
"integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
@@ -15718,13 +15730,13 @@
}
},
"node_modules/raw-body": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
"integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
"dev": true,
"dependencies": {
"bytes": "3.1.1",
"http-errors": "1.8.1",
"bytes": "3.1.2",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
@@ -23343,13 +23355,13 @@
"dev": true
},
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"dev": true,
"requires": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
"mime-types": "~2.1.34",
"negotiator": "0.6.3"
}
},
"acorn": {
@@ -24179,21 +24191,23 @@
"integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w=="
},
"body-parser": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz",
"integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==",
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
"integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
"dev": true,
"requires": {
"bytes": "3.1.1",
"bytes": "3.1.2",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.8.1",
"depd": "2.0.0",
"destroy": "1.2.0",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.9.6",
"raw-body": "2.4.2",
"type-is": "~1.6.18"
"on-finished": "2.4.1",
"qs": "6.10.3",
"raw-body": "2.5.1",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
"dependencies": {
"debug": {
@@ -24205,11 +24219,26 @@
"ms": "2.0.0"
}
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"dev": true,
"requires": {
"ee-first": "1.1.1"
}
}
}
},
@@ -24285,9 +24314,9 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
"bytes": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz",
"integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==",
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"dev": true
},
"cacache": {
@@ -25140,6 +25169,12 @@
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"dev": true
},
"destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"dev": true
},
"detect-newline": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@@ -26158,32 +26193,6 @@
"dev": true,
"peer": true
},
"eslint-webpack-plugin": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.1.1.tgz",
"integrity": "sha512-xSucskTN9tOkfW7so4EaiFIkulWLXwCB/15H917lR6pTv0Zot6/fetFucmENRb7J5whVSFKIvwnrnsa78SG2yg==",
"dev": true,
"requires": {
"@types/eslint": "^7.28.2",
"jest-worker": "^27.3.1",
"micromatch": "^4.0.4",
"normalize-path": "^3.0.0",
"schema-utils": "^3.1.1"
},
"dependencies": {
"schema-utils": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
"integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
"ajv-keywords": "^3.5.2"
}
}
}
},
"espree": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz",
@@ -27420,16 +27429,30 @@
"dev": true
},
"http-errors": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
"integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"dev": true,
"requires": {
"depd": "~1.1.2",
"depd": "2.0.0",
"inherits": "2.0.4",
"setprototypeof": "1.2.0",
"statuses": ">= 1.5.0 < 2",
"statuses": "2.0.1",
"toidentifier": "1.0.1"
},
"dependencies": {
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
},
"statuses": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"dev": true
}
}
},
"http-proxy": {
@@ -30708,9 +30731,9 @@
"dev": true
},
"negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"dev": true
},
"neo-async": {
@@ -31888,10 +31911,13 @@
}
},
"qs": {
"version": "6.9.6",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
"dev": true
"version": "6.10.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz",
"integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==",
"dev": true,
"requires": {
"side-channel": "^1.0.4"
}
},
"query-string": {
"version": "7.1.1",
@@ -31937,13 +31963,13 @@
"dev": true
},
"raw-body": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz",
"integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==",
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
"dev": true,
"requires": {
"bytes": "3.1.1",
"http-errors": "1.8.1",
"bytes": "3.1.2",
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
}

+ 1
- 2
package.json View File

@@ -106,14 +106,13 @@
"@nextcloud/eslint-config": "^7.0.2",
"@nextcloud/stylelint-config": "^2.1.2",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/user-event": "^14.1.0",
"@testing-library/user-event": "^14.1.1",
"@testing-library/vue": "^5.8.2",
"@vue/test-utils": "^1.3.0",
"babel-loader": "^8.2.5",
"babel-loader-exclude-node-modules-except": "^1.2.1",
"css-loader": "^6.7.1",
"eslint-plugin-es": "^4.1.0",
"eslint-webpack-plugin": "^3.1.1",
"exports-loader": "^3.1.0",
"file-loader": "^6.2.0",
"handlebars": "^4.7.7",

+ 3
- 3
webpack.common.js View File

@@ -2,7 +2,6 @@
const { VueLoaderPlugin } = require('vue-loader')
const path = require('path')
const BabelLoaderExcludeNodeModulesExcept = require('babel-loader-exclude-node-modules-except')
const ESLintPlugin = require('eslint-webpack-plugin')
const webpack = require('webpack')
const modules = require('./webpack.modules.js')

@@ -54,7 +53,9 @@ module.exports = {
const rel = path.relative(rootDir, info.absoluteResourcePath)
return `webpack:///nextcloud/${rel}`
},
clean: true,
clean: {
keep: /icons\.css/, // Keep static icons css
},
},

module: {
@@ -138,7 +139,6 @@ module.exports = {

plugins: [
new VueLoaderPlugin(),
new ESLintPlugin(),
new webpack.ProvidePlugin({
// Provide jQuery to jquery plugins as some are loaded before $ is exposed globally.
jQuery: 'jquery',

Loading…
Cancel
Save