filebrowser/_assets/css/styles.css

1216 lines
18 KiB
CSS

body {
font-family: 'Roboto', sans-serif;
padding-top: 7.8em;
background-color: #f8f8f8;
}
* {
box-sizing: border-box;
}
*,
*:hover,
*:active,
*:focus {
outline: 0
}
a {
text-decoration: none;
}
img {
max-width: 100%;
}
audio,
video {
width: 100%;
}
pre {
padding: 1em;
border: 1px solid #e6e6e6;
border-radius: 0.5em;
background-color: #f5f5f5;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
button {
border: 0;
padding: .5em 1em;
margin-left: .5em;
border-radius: .1em;
cursor: pointer;
background: #2196f3;
color: #fff;
border: 1px solid rgba(0, 0, 0, 0.05);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
transition: .1s ease all;
}
button:hover {
background-color: #1E88E5;
}
.mobile-only {
display: none !important;
}
.container {
width: 95%;
max-width: 960px;
margin: 1em auto 0;
}
i.spin {
animation: 1s spin linear infinite;
}
.pdf {
width: 100%;
height: calc(100vh - 13em);
}
/* * * * * * * * * * * * * * * *
* EDITOR *
* * * * * * * * * * * * * * * */
#editor .source {
display: none;
}
#editor .content {
background: #fff;
padding: 1em 0;
}
#editor #ace,
#editor h2,
#editor .frontmatter {
width: 95%;
max-width: 960px;
margin: 1em auto 0;
}
#editor h2 {
margin: 1.5em auto 1em;
color: rgba(0, 0, 0, 0.3);
font-weight: 500;
}
#editor .ace_gutter {
background-color: #fff;
}
/* * * * * * * * * * * * * * * *
* EDITOR - MARKDOWN *
* * * * * * * * * * * * * * * */
.frontmatter {
column-count: 3;
column-gap: 1em;
column-fill: balance;
/* display: flex; */
/* flex-wrap: wrap; */
/* justify-content: space-between; */
/* flex-grow: 1; */
}
.frontmatter label {
display: block;
width: calc(100% - 1em);
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
.frontmatter label,
.frontmatter h3 {
font-weight: 500;
margin: 0 0;
color: rgba(0, 0, 0, 0.6);
}
.frontmatter input,
.frontmatter textarea {
display: block;
width: 100%;
border: 0;
margin-top: .5em;
padding: 0;
line-height: 1;
}
.frontmatter .block,
.frontmatter fieldset[data-type="array"],
.button {
position: relative;
background: #fff;
border-radius: .2em;
border: 1px solid rgba(0, 0, 0, 0.075);
padding: .5em;
break-inside: avoid;
margin: 0 0 1em;
width: 100%;
display: inline-block;
}
.frontmatter fieldset[data-type="object"] {
position: relative;
margin: 0;
}
.frontmatter .button {
background-color: #2196f3;
color: #fff;
cursor: pointer;
text-align: center;
}
[data-type="array-item"] {
position: relative;
}
[data-type="array-item"] .action {
top: 0;
right: 0;
}
.frontmatter textarea {
resize: none;
}
[data-type="array-item"] input {
width: calc(100% - 1em);
}
.block .action,
fieldset .action {
position: absolute;
top: .5em;
right: .5em;
}
.block>.action,
fieldset>.action {
opacity: 0;
}
.block:hover>.action,
fieldset:hover>.action {
opacity: 1;
}
.block .action.add,
fieldset .action.add {
right: 1.5em;
}
.frontmatter .action i {
padding: 0;
font-size: 1em;
}
fieldset {
border: 0;
padding: 0;
}
.frontmatter>fieldset h3,
.frontmatter>.group h3 {
font-size: 1.5em;
margin-bottom: .5em;
}
fieldset h3,
.group h3 {
font-size: 0.9em;
}
/* * * * * * * * * * * * * * * *
* ACTION *
* * * * * * * * * * * * * * * */
.action {
display: inline-block;
cursor: pointer;
transition: 0.2s ease all;
border: 0;
margin: 0;
color: #546E7A;
border-radius: 50%;
background: transparent;
padding: 0;
box-shadow: 0 0 0 0;
vertical-align: middle;
text-align: left;
}
.action.disabled {
opacity: 0.2;
cursor: not-allowed;
}
.action i {
padding: 0.4em;
-webkit-transition: 0.2s ease-in-out all;
transition: 0.2s ease-in-out all;
border-radius: 50%;
}
.action:hover {
background-color: rgba(0, 0, 0, .1);
}
.action ul {
position: absolute;
top: 0;
color: #7d7d7d;
list-style: none;
margin: 0;
padding: 0;
flex-direction: column;
display: flex;
}
.action ul li {
line-height: 1;
padding: .7em;
transition: .1s ease background-color;
}
.action ul li:hover {
background-color: rgba(0, 0, 0, 0.04);
}
/* * * * * * * * * * * * * * * *
* NEW FILE/DIR *
* * * * * * * * * * * * * * * */
.floating {
position: fixed;
bottom: 1em;
right: 1em;
}
.floating .action {
background-color: #2196f3 !important;
color: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12);
}
#newdir {
position: fixed;
bottom: 1.3em;
right: 5em;
transition: .2s ease all;
opacity: 0;
border: 0;
box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);
padding: .5em;
width: 22em;
border-radius: .2em;
}
#newdir.enabled {
opacity: 1;
}
/* * * * * * * * * * * * * * * *
* HEADER *
* * * * * * * * * * * * * * * */
header {
z-index: 1000;
background-color: #fff;
border-bottom: 1px solid rgba(0, 0, 0, 0.075);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
position: fixed;
top: 0;
left: 0;
width: 100%;
padding: 0;
}
header a,
header a:hover {
color: inherit;
}
header>div {
display: flex;
width: 100%;
padding: 0.5em 0.5em 0.5em 1em;
align-items: center;
}
header .action span {
display: none;
}
header>div div {
vertical-align: middle;
position: relative;
}
#logout {
border-radius: 0;
margin-left: auto;
padding: .15em;
}
#click-overlay {
display: none;
position: fixed;
cursor: pointer;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
#click-overlay.active {
display: block;
}
/* SIDEBAR */
#sidebar {
position: fixed;
left: 0;
width: 20%;
}
#sidebar .action {
width: 100%;
display: block;
border-radius: 0;
font-size: 1.1em;
padding: .5em;
}
#sidebar .action > * {
vertical-align: middle;
}
main {
width: 78%;
margin-left: 20%;
}
/* * * * * * * * * * * * * * * *
* TOP BAR *
* * * * * * * * * * * * * * * */
#top-bar {
height: 4em;
}
#top-bar svg {
height: 2.5em;
margin-right: 1em;
vertical-align: middle;
}
/* * * * * * * * * * * * * * * *
* SEARCH BAR *
* * * * * * * * * * * * * * * */
#search {
position: relative;
display: flex;
height: 100%;
padding: 0.75em;
vertical-align: middle;
border-radius: 0.3em;
background-color: #f5f5f5;
transition: .1s ease all;
width: 100%;
max-width: 25em;
}
#search.active {
background-color: #fff;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12);
}
#search.active i,
#search.active input {
color: #212121;
}
#search i,
#search input {
vertical-align: middle;
}
#search i {
margin-right: 0.3em;
user-select: none;
}
#search input {
width: 100%;
border: 0;
outline: 0;
background-color: transparent;
}
#search.active div {
visibility: visible;
opacity: 1;
top: 100%;
}
#search ul {
padding: 0;
margin: 0;
list-style: none;
}
#search li {
margin-bottom: .5em;
}
#search>div {
position: absolute;
top: 0;
width: 100%;
left: 0;
z-index: 999999;
background-color: #fff;
text-align: left;
color: #ccc;
box-shadow: 0 2px 3px rgba(0, 0, 0, .06), 0 2px 2px rgba(0, 0, 0, .12);
padding: .5em;
border-bottom-left-radius: .3em;
border-bottom-right-radius: .3em;
transition: .1s ease all;
visibility: hidden;
opacity: 0;
overflow-x: hidden;
overflow-y: auto;
max-height: 50vh;
}
#search>div div {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
#search>div p {
width: 100%;
text-align: center;
display: none;
margin: 0;
max-width: none;
}
#search.ongoing p {
display: block;
}
#search.active div i,
#sidebar #search.active div i {
color: #ccc;
text-align: center;
margin: 0 auto;
display: table;
}
#search::-webkit-input-placeholder {
color: rgba(255, 255, 255, .5);
}
#search:-moz-placeholder {
opacity: 1;
color: rgba(255, 255, 255, .5);
}
#search::-moz-placeholder {
opacity: 1;
color: rgba(255, 255, 255, .5);
}
#search:-ms-input-placeholder {
color: rgba(255, 255, 255, .5);
}
/* * * * * * * * * * * * * * * *
* BOTTOM BAR *
* * * * * * * * * * * * * * * */
#bottom-bar {
border-top: 1px solid rgba(0, 0, 0, 0.075);
height: 3.8em;
}
#bottom-bar>div:first-child>* {
display: inline-block;
vertical-align: middle;
}
#bottom-bar>div:first-child>i {
margin-right: .3em;
}
#bottom-bar>*:first-child {
margin-right: auto;
max-width: calc(100% - 25em);
width: 100%;
}
#bottom-bar p {
text-overflow: ellipsis;
overflow: hidden;
width: calc(100% - 3em);
white-space: nowrap;
}
#more {
display: none;
}
#file-only {
display: inline-block;
border-right: 1px solid rgba(0, 0, 0, 0.075);
padding-right: .3em;
margin-right: .3em;
transition: .2s ease opacity, visibility;
visibility: visible;
}
#file-only.disabled {
opacity: 0;
visibility: hidden;
}
#download ul.active {
top: 0;
right: 0;
}
#more ul.active {
right: .5em;
top: 4.5em;
}
/* * * * * * * * * * * * * * * *
* DROPDOWN *
* * * * * * * * * * * * * * * */
.dropdown {
position: fixed;
top: -100%;
right: -100%;
visibility: hidden;
display: flex;
flex-direction: column;
border-radius: .1em;
border-top-left-radius: 0;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background: #fff;
z-index: 9999999;
}
.dropdown.active {
visibility: visible;
}
.dropdown .action {
padding: .7em;
}
.dropdown i {
padding: 0;
vertical-align: middle;
}
.dropdown span {
display: inline-block;
margin-left: .5em;
font-size: .9em;
}
/* * * * * * * * * * * * * * * *
* BREADCRUMBS *
* * * * * * * * * * * * * * * */
#previous {
margin-left: -.5em;
}
#breadcrumbs {
min-width: 7em;
}
#breadcrumbs.active {
top: 0;
left: 0;
right: auto;
}
/* * * * * * * * * * * * * * * *
* LISTING *
* * * * * * * * * * * * * * * */
#listing {
max-width: calc(100% - 1.2em);
width: 100%;
}
#listing h2 {
margin: 0 0 0 0.5em;
font-size: .9em;
color: rgba(0, 0, 0, 0.38);
font-weight: 500;
}
#listing .item div:last-of-type * {
text-overflow: ellipsis;
overflow: hidden;
}
#listing>div {
display: flex;
padding: 0;
flex-wrap: wrap;
justify-content: flex-start;
position: relative;
}
#listing .item {
background-color: #fff;
position: relative;
display: flex;
flex-wrap: nowrap;
color: #6f6f6f;
transition: .1s ease all;
align-items: center;
cursor: pointer;
}
#listing .item div:last-of-type {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
#listing .item p {
margin: 0;
}
#listing .item .size,
#listing .item .modified {
font-size: 0.9em;
}
#listing .item .name {
font-weight: bold;
}
#listing .item i {
font-size: 4em;
margin-right: 0.1em;
vertical-align: bottom;
}
#listing h2.message,
.message {
text-align: center;
font-size: 3em;
margin: 1em auto;
display: block !important;
width: 95%;
color: rgba(0, 0, 0, 0.2);
font-weight: 500;
}
.message i {
font-size: inherit;
vertical-align: middle;
}
/* * * * * * * * * * * * * * * *
* LISTING - MOSAIC *
* * * * * * * * * * * * * * * */
#listing.mosaic {
margin-top: 1em;
}
#listing.mosaic .item {
width: calc(33% - 1em);
margin: .5em;
padding: 0.5em;
border-radius: 0.2em;
box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .12);
}
#listing.mosaic .item:hover {
box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24) !important;
}
#listing.mosaic .header {
display: none;
}
#listing.mosaic .item div:first-of-type {
width: 5em;
}
#listing.mosaic .item div:last-of-type {
width: calc(100% - 5vw);
}
/* * * * * * * * * * * * * * * *
* LISTING - DETAIL *
* * * * * * * * * * * * * * * */
#listing.list {
flex-direction: column;
padding-top: 3.25em;
width: 100%;
max-width: 100%;
margin: 0;
}
#listing.list .item {
width: 100%;
margin: 0;
border: 1px solid rgba(0, 0, 0, 0.1);
padding: 1em;
border-top: 0;
}
#listing.list h2 {
display: none;
}
#listing .item[aria-selected=true] {
background: #2196f3 !important;
color: #fff !important;
}
#listing.list .item div:first-of-type {
width: 3em;
}
#listing.list .item div:first-of-type i {
font-size: 2em;
}
#listing.list .item div:last-of-type {
width: calc(100% - 3em);
display: flex;
align-items: center;
}
#listing.list .item .name {
width: 50%;
}
#listing.list .item .size {
width: 25%;
}
#listing .item.header {
display: none !important;
background-color: #ccc;
}
#listing.list .header i {
font-size: 1.5em;
vertical-align: middle;
margin-left: .2em;
}
#listing.list .item.header {
display: flex !important;
background: #f8f8f8;
position: fixed;
width: 78%;
top: 7.8em;
left: 20%;
z-index: 999;
padding: .85em;
border: 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
#listing.list .item.header>div:first-child {
width: 0;
}
#listing.list .item.header .name {
margin-right: 3em;
}
#listing.list .header {
display: flex;
background: #fafafa;
position: fixed;
width: 100%;
top: 7.8em;
left: 0;
z-index: 999;
}
#listing.list .header a {
color: inherit;
}
#listing.list .item.header>div:first-child {
width: 0;
}
#listing.list .name {
font-weight: normal;
}
#listing.list .item.header .name {
margin-right: 3em;
}
#listing.list .header span {
vertical-align: middle;
}
#listing.list .header i {
opacity: 0;
transition: .1s ease all;
}
#listing.list .header p:hover i,
#listing.list .header .active i {
opacity: 1;
}
#listing.list .item.header .active {
font-weight: bold;
}
/* * * * * * * * * * * * * * * *
* MULTIPLE SELECTION DIALOG *
* * * * * * * * * * * * * * * */
#multiple-selection {
position: fixed;
bottom: -4em;
left: 0;
z-index: 99999999;
width: 100%;
background-color: #2196f3;
height: 4em;
display: flex !important;
padding: 0.5em 0.5em 0.5em 1em;
justify-content: space-between;
align-items: center;
transition: .2s ease all;
}
#multiple-selection.active {
bottom: 0;
}
#multiple-selection * {
margin: 0;
}
#multiple-selection p,
#multiple-selection i {
color: #fff;
}
/* * * * * * * * * * * * * * * *
* PROMPT *
* * * * * * * * * * * * * * * */
.overlay,
.prompt,
.help {
opacity: 0;
z-index: -1;
transition: .1s ease opacity, z-index;
}
.overlay.active,
.prompt.active,
.help.active {
z-index: 9999999;
opacity: 1;
}
.overlay {
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0;
left: 0;
height: 0;
width: 0;
}
.overlay.active {
height: 100%;
width: 100%;
}
.prompt,
.help {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 99999999;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.075);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
padding: 2em;
max-width: 25em;
width: 90%;
max-height: 95%;
}
.prompt h3,
.help h3 {
margin: 0;
font-weight: 500;
font-size: 1.5em;
}
.prompt p,
.help p {
font-size: .9em;
color: rgba(0, 0, 0, 0.8);
margin: .5em 0 1em;
}
.prompt input {
width: 100%;
border: 1px solid #dadada;
line-height: 1;
padding: .3em;
}
.prompt code {
word-wrap: break-word;
}
.prompt div,
.help div {
margin-top: 1em;
display: flex;
justify-content: flex-start;
flex-direction: row-reverse;
}
.prompt .cancel {
background-color: #ECEFF1;
color: #37474F;
}
.prompt .cancel:hover {
background-color: #e9eaeb;
}
/* * * * * * * * * * * * * * * *
* PROMPT - MOVE *
* * * * * * * * * * * * * * * */
.prompt .file-list {
flex-direction: initial;
max-height: 50vh;
overflow: auto;
}
.prompt .file-list ul {
list-style: none;
margin: 0;
padding: 0;
width: 100%;
}
.prompt .file-list ul li {
width: 100%;
user-select: none;
}
.prompt .file-list ul li[aria-selected=true] {
background: #2196f3 !important;
color: #fff !important;
transition: .1s ease all;
}
.prompt .file-list ul li:hover {
background-color: #e9eaeb;
cursor: pointer;
}
.prompt .file-list ul li:before {
content: "folder";
color: #6f6f6f;
vertical-align: middle;
padding: 0 .25em;
line-height: 2em;
}
.prompt .file-list ul li[aria-selected=true]:before {
color: white;
}
/* * * * * * * * * * * * * * * *
* HELP *
* * * * * * * * * * * * * * * */
.help {
max-width: 24em;
visibility: hidden;
top: -100%;
left: -100%;
}
.help.active {
visibility: visible;
top: 50%;
left: 50%;
}
.help ul {
padding: 0;
margin: 1em 0;
list-style: none;
}
/* * * * * * * * * * * * * * * *
* FOOTER *
* * * * * * * * * * * * * * * */
footer {
font-size: 0.6em;
margin: 2em 0 2em;
text-align: center;
color: grey;
}
footer a,
footer a:hover {
color: inherit;
}
/* * * * * * * * * * * * * * * *
* MEDIA QUERIES *
* * * * * * * * * * * * * * * */
@media screen and (max-width: 850px) {
.frontmatter {
column-count: 2;
}
}
@media screen and (max-width: 650px) {
body {
transition: .2s ease padding;
}
.mobile-only {
display: inherit !important;
}
#bottom-bar>*:first-child {
max-width: calc(100% - 16em) !important;
}
#main-actions {
position: fixed;
top: -100%;
right: -100%;
visibility: hidden;
display: flex;
flex-direction: column;
border-radius: .1em;
border-top-left-radius: 0;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
background: #fff;
z-index: 9999999;
}
#main-actions.active {
right: .5em;
top: 4.5em;
visibility: visible;
}
#main-actions .action {
padding: .7em;
border-radius: 0;
align-items: center;
}
#main-actions .action:hover {
background-color: rgba(0, 0, 0, 0.04);
}
#main-actions i {
padding: 0;
vertical-align: middle;
}
#main-actions .action:hover i {
padding: 0;
background-color: transparent;
}
#main-actions span {
display: inline-block;
margin-left: .5em;
font-size: .9em;
}
#listing.list .item .size,
#listing.list .item .modified {
display: none;
}
#listing.list .item .name {
width: 100%;
}
.frontmatter {
column-count: 1;
}
}
@media screen and (max-width: 450px) {
#bottom-bar p {
display: none !important;
}
}
/* * * * * * * * * * * * * * * *
* ANIMATIONS *
* * * * * * * * * * * * * * * */
@keyframes spin {
100% {
-webkit-transform: rotate(-360deg);
transform: rotate(-360deg);
}
}