1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-01 15:23:05 +00:00
seahub/media/css/seahub_react.css

779 lines
14 KiB
CSS
Raw Normal View History

2018-09-15 09:47:09 +00:00
/**
* CONTENTS
*
* Font Icons
* sf2-icon-xx ...........seafile-font2
*
*
* Helper
* common class ..........common class
*
* UI Widgets(ui widgets)
* topbar button
* caret
* loading
* popover
* op-icon
* path
* account
* quota
* side-tabnav
* about-dialog
* notifications
* sf-popover
* go-back
* Container
* Container ......... common container styles
*
*/
2018-08-06 10:29:12 +00:00
/****** sf2-icon-xx ********/
@font-face {
font-family: 'seafile-font2';
src:url('sf_font2/seafile-font2.eot');
src:url('sf_font2/seafile-font2.eot?#iefix') format('embedded-opentype'),
url('sf_font2/seafile-font2.woff') format('woff'),
url('sf_font2/seafile-font2.ttf') format('truetype'),
url('sf_font2/seafile-font2.svg#seafile-font2') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="sf2-icon-"],
[class*=" sf2-icon-"] {
font-family: 'seafile-font2';
speak: none;
font-weight: normal;
font-variant: normal;
text-transform: none;
-webkit-font-smoothing: antialiased;
}
.sf2-icon-menu:before { content: "\e031"; }
.sf2-icon-more:before { content: "\e032"; }
.sf2-icon-x1:before { content:"\e01d"; }
.sf2-icon-user:before { content:"\e00f"; }
.sf2-icon-share:before { content:"\e011"; }
.sf2-icon-organization:before { content:"\e010"; }
.sf2-icon-group:before { content:"\e00c"; }
.sf2-icon-star:before { content:"\e012"; }
.sf2-icon-clock:before { content:"\e002"; }
.sf2-icon-monitor:before { content:"\e007"; }
.sf2-icon-wrench:before { content:"\e001"; }
.sf2-icon-bell:before { content:"\e003"; }
2018-08-17 04:23:55 +00:00
.sf2-icon-x3:before { content:"\e035"; }
.sf2-icon-grid-view:before { content:"\e025"; }
.sf2-icon-list-view:before { content:"\e026"; }
2018-09-15 08:14:17 +00:00
.sf2-icon-edit:before { content:"\e018"; }
2018-08-06 10:29:12 +00:00
/* common class and element style*/
a { color:#eb8205; }
a:hover { color:#eb8205; }
.vam { vertical-align:middle; }
.flex-auto { flex:auto; }
.flex-1 { flex:1; }
.hide { display:none; }
.no-deco,
.no-deco:hover,
.no-deco:focus {
text-decoration:none;
}
.ellipsis {
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.left-zero {
left: 0px !important;
}
2018-08-30 07:10:52 +00:00
ul,ol,li {
padding:0;
margin:0;
}
2018-08-06 10:29:12 +00:00
2018-09-15 09:47:09 +00:00
.sf-heading {
font-size: 1rem;
color: #322;
font-weight: normal;
line-height: 1.5;
}
/* UI Widget */
2018-08-06 10:29:12 +00:00
2018-08-06 15:58:23 +00:00
/**** topbar button ****/
.btn-topbar {
padding: 0.25rem 0.5rem;
line-height: 1.6;
font-weight: normal;
}
2018-08-06 10:29:12 +00:00
/**** caret ****/
.outer-caret,
.inner-caret {
height:0;
width:0;
border-width:14px 14px 0; /* default: arrow to the bottom */
border-style:dashed solid; /* 'dashed' for firefox */
border-color:#CBCBCB transparent;
z-index:100;
margin:0 auto;
}
.inner-caret {
border-top-color:#fff;
position:relative;
top:-15px;
left:-14px;
}
.up-outer-caret,
.up-outer-caret .inner-caret {
border-width:0 10px 10px;
}
.up-outer-caret .inner-caret {
border-bottom-color:#fff;
top:1px;
left:-10px;
}
.up-outer-caret {
position:absolute;
top:-11px;
}
/** loading **/
2018-08-10 09:05:29 +00:00
@-moz-keyframes loading {
0% {
-moz-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-webkit-keyframes loading {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes loading {
0% {
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
2018-08-06 10:29:12 +00:00
.loading-icon {
display:inline-block;
width:26px;
height:26px;
border:2px solid #eee;
border-left-color:#aaa;
border-radius:50%;
-moz-animation:loading 0.9s infinite linear;
-webkit-animation:loading 0.9s infinite linear;
animation:loading 0.9s infinite linear;
}
.loading-tip {
display:block;
margin:1em auto;
}
/** op-icon **/
.op-icon {
font-size:20px;
line-height:1;
color:#888;
cursor:pointer;
margin-right:3px;
vertical-align:middle;
}
/**** path ****/
.path-containter { /* for the real path */
font-size:16px;
word-break: break-all;
}
.path-split {
display:inline-block;
padding:0 5px;
color:#818a91;
}
/* specific elements */
/** Account info **/
#account {
position:relative;
margin-left:32px;
}
#my-info {
display:inline-block;
color:#d6d6d6;
cursor:pointer;
}
#account .avatar {
vertical-align:middle;
border-radius:1000px;
}
@media (max-width:767px) {
#account {
margin:5px 0 0 10px;
}
.account-toggle {
font-size:22px;
line-height:1;
color:#999;
margin-top:8px;
}
}
.account-popup .avatar {
float:left;
}
.account-popup .txt {
margin-left:45px;
line-height: 36px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2018-08-06 10:29:12 +00:00
}
.account-popup {
right:0;
top:52px;
font-size:13px;
}
.account-popup .outer-caret {
top:-10px;
right:16px;
}
.account-popup .sf-popover-con {
padding:0;
}
.account-popup .item {
display:block;
padding:8px 18px;
border-bottom:1px solid #ddd;
}
.account-popup a.item {
color:#333;
font-weight:normal;
}
.account-popup a.item:hover {
background:#fafafa;
text-decoration:none;
}
#account .manage {
position:absolute;
left:60px;
top:-16px;
}
#account .manage .a:hover {
text-decoration:none;
}
/** quota in account popover **/
#quota-bar {
display:block;
height:1em;
border:1px solid #ddd;
margin:5px 0;
border-radius:2px;
overflow:hidden;/* for usage > 100% */
}
#quota-bar .usage {
display:inline-block;
height:100%;
vertical-align:top;
}
#quota-usage {
background:#ddd;
}
#notifications .sf2-icon-bell {
font-size:24px;
line-height:1;
color:#999;
}
@media (max-width:767px) {
.cur-view-toolbar .mobile-icon {
color:#999;
line-height:1.63;
font-size:22px;
margin-right:8px;
}
}
a.op-icon:focus {
outline:none;
text-decoration:none;
}
.op-icon:hover {/** for <a> **/
color:#888;
text-decoration:none;
}
/**** side-tabnav ****/
.side-textnav .hd,
.side-info .hd {
padding-bottom:4px;
border-bottom:1px solid #ddd;
margin-bottom:1em;
}
@media (max-width: 767px) {
.side-nav {
background: #f8f8f8;
width:300px;
position:fixed;
left:-300px;
top:0;
bottom:0;
z-index:1;
box-shadow:0 0 4px #ccc;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.side-nav-shown {
left:0;
}
}
.side-nav {
padding:20px;
overflow:hidden;
border-right:1px solid #eee;
}
.side-nav:hover {
overflow-y:auto;
}
.home-side-nav {
flex:auto;
display:flex;
flex-direction:column;
justify-content:space-between; /* make .side-nav-footer on the bottom */
overflow:hidden; /* for ff */
border-right:1px solid #eee;
}
.side-nav-con {
overflow:hidden;
padding:20px;
}
.side-nav-con:hover {
overflow-y:auto;
}
.side-nav-footer {
display:flex;
flex-shrink:0;
padding:12px 20px 16px;
background:#f8f8f8;
border-top:1px solid #eee;
}
.side-nav-footer .item {
color:#666;
font-weight: normal;
margin-right:10px;
}
.side-nav-footer .last-item {
margin-left:auto;
}
.side-tabnav .hd {
margin-bottom:0.5em;
}
.side-tabnav h3.hd,
.side-tabnav .hd h3 {
color:#f7941d;
}
.side-tabnav .hd h3 {
margin-bottom:0;
}
.side-tabnav .hd .avatar { /*for 'group'*/
vertical-align:middle;
border-radius:1000px;
margin:0 6px 0 4px;
}
.side-tabnav .grp-name { /*for 'group'*/
display:inline-block;
max-width:130px;
font-weight:normal;
}
.side-tabnav-tabs {
margin-bottom:1em;
}
.side-tabnav-tabs .tab {
border-radius:2px;
overflow:hidden;
}
.side-tabnav-tabs .tab a { /* for IE 11: no border-radius here */
display:block;
font-size:15px;
padding:4px 4px 4px 0;
color:#333;
font-weight:normal;
}
.side-tabnav-tabs .tab a:focus {
text-decoration:none;
}
.side-tabnav-tabs .tab ul a {
font-size:14px;
line-height:24px;
padding:0;
}
.side-tabnav-tabs .tab a:hover {
background-color:#feefb8;
text-decoration:none;
}
.side-tabnav-tabs .tab [class^="sf2-icon-"] {
display:inline-block;
width:42px;
margin-right:5px;
text-align:center;
vertical-align:middle;
font-size:24px;
line-height:1;
color:#999;
}
2018-09-13 06:26:39 +00:00
.side-tabnav-tabs .tab .fas {
height: 24px;
display: flex;
align-items: center;
justify-content: center;
}
2018-08-06 10:29:12 +00:00
.side-nav-toggle {
font-size:1.5rem;
color:#999;
margin-right:15px;
}
2018-08-30 07:10:52 +00:00
.side-panel-slide {
transition: all .3s ease-in-out;
}
2018-09-15 09:47:09 +00:00
2018-08-30 07:10:52 +00:00
.side-panel-slide-up {
transition: all .3s ease-in-out;
height: 0;
}
2018-08-06 10:29:12 +00:00
#group-nav .sharp,
#share-admin-nav .sharp {
display:inline-block;
width:42px;
margin-right:5px;
text-align:right;
color:#aaa;
}
#group-nav .toggle-icon,
#share-admin-nav .toggle-icon {
color:#999;
}
.side-tabnav-tabs .tab-cur a,
.side-tabnav-tabs .tab-cur a:hover {
background-color:#feac74;
}
.side-tabnav-tabs .tab-cur [class^="sf2-icon-"],
.side-tabnav-tabs .tab-cur a,
#group-nav .tab-cur .sharp,
#share-admin-nav .tab-cur .sharp {
color:#fff;
}
.side-tabnav-tabs .tab-cur a {
font-weight:bold;
}
.side-textnav .hd {
margin:2em 0 .5em;
}
.side-textnav-tabs .tab a {
display:block;
padding:10px 0;
font-weight:normal;
color:#999;
border-bottom:1px solid #eee;
margin-bottom:3px;
}
.side-textnav-tabs .tab-cur a,
.side-textnav-tabs .tab a:hover {
color:#de3f1c;
text-decoration:none;
}
2018-08-30 07:10:52 +00:00
.user-select-none {
-moz-user-select:none;
-webkit-user-select:none;
-ms-user-select:none;
-khtml-user-select:none;
user-select: none;
}
2018-08-06 10:29:12 +00:00
.common-toolbar {
margin-left:auto;
display:flex;
}
#notifications {
position:relative;
2018-08-30 07:10:52 +00:00
width: 32px;
}
#notifications .no-deco {
position: relative;
display: block;
width: 100%;
height: 100%;
}
#notifications .sf2-icon-bell {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
2018-08-06 10:29:12 +00:00
}
@media (max-width: 390px) {
#notifications {
margin-left:8px;
}
}
/* about dialog */
.about-content {
min-width: 280px;
padding-top: 20px;
text-align: center;
}
2018-09-15 09:47:09 +00:00
/* notifications */
2018-08-30 07:10:52 +00:00
#notifications .sf2-icon-bell {
font-size:24px;
line-height:1;
color:#999;
}
#notifications .num {
position:absolute;
color:#fff;
font-size:12px;
line-height:1;
padding:1px 2px;
background:#feac74;
border:1px solid #cb8a5d;
top:0;
left:15px;
}
#notice-popover {
top:38px;
right:-12px;
}
#notice-popover .outer-caret {
right:18px;
}
#notice-popover a {
font-weight:normal;
}
#notice-popover li {
padding:9px 0 3px;
border-bottom:1px solid #dfdfe1;
}
#notice-popover li.unread {
background:#f5f5f7;
padding-right:10px;
padding-left:8px;
border-left:2px solid #feac74;
margin:0 -10px;
}
#notice-popover .avatar {
border-radius:1000px;
float:left;
}
#notice-popover .brief {
margin-left:40px;
}
#notice-popover .time {
color:#999;
text-align:right;
margin:0;
clear:both;
}
#notice-popover .view-all {
display:block;
padding:7px 0;
text-align:center;
color:#a4a4a4;
}
#notice-popover .sf-popover-close {
position: absolute;
right: 10px;
top: 5px;
}
/**** sf-popover ****/ /* e.g. top notice popup, group members popup */
.sf-popover-container {
position:relative;
}
.sf-popover {
width:240px;
background:#fff;
border:1px solid #c9c9c9;
border-radius:3px;
box-shadow:0 0 4px #ccc;
position:absolute;
z-index: 20;
}
.sf-popover-hd {
padding:5px 0 3px;
border-bottom:1px solid #dfdfe1;
margin:0 10px;
}
.sf-popover-title {
text-align:center;
}
.sf-popover-close {
font-size:16px;
color:#b9b9b9;
margin:4px 0 0;
}
.sf-popover-con {
padding:0 10px;
overflow:auto;
}
2018-09-12 09:01:48 +00:00
/* for go-back */
.go-back {
font-size: 25px;
padding-right: 0.75rem;
color:#ccc;
}
.go-back:hover {
color:#ff9933;
text-decoration: none;
}
2018-09-15 09:47:09 +00:00
/* basic layout */
#wrapper {
height: 100%;
}
#main {
display: flex;
height: 100%;
width: 100%;
}
.main-panel {
flex: 1 0 75%;
display:flex;
flex-direction:column;
}
.side-panel {
flex: 0 0 25%;
display:flex;
flex-direction:column;
overflow:hidden;
}
@media (max-width: 767px) {
.side-panel {
background:#f8f8f8;
width:300px;
height:100%;
position:fixed;
left:-300px;
z-index:1; /* important! */
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
}
.panel-top {
padding:.5rem 1rem;
background:#f4f4f7;
border-bottom: 1px solid #e8e8e8;
display:flex;
flex-shrink:0;
}
.side-panel-top {
padding: .5rem 1rem;
}
@media (max-width: 767px) {
.side-panel-top {
border-right:1px solid #eee;
}
}
.side-panel-close {
margin:10px 0 0 auto;
}
.side-nav-footer {
display:flex;
flex-shrink:0;
padding:12px 20px 16px;
background:#f8f8f8;
border-top:1px solid #eee;
border-right: 1px solid #eee;
}
.side-nav-footer .item {
color:#666;
font-weight: normal;
margin-right:10px;
}
.side-nav-footer .last-item {
margin-left:auto;
}
.cur-view-main {
flex:1 1 auto;
display:flex;
flex-direction:column;
}
.cur-view-path {
flex-shrink:0;
min-height:40px;
padding:8px 16px 0;
background:#f9f9f9;
position:relative; /* for the ':after' */
}
.cur-view-path:after {
content:'';
border-bottom:1px solid #e8e8e8;
position:absolute;
left:16px;
right:16px;
bottom:0;
}
.cur-view-main-con {
padding:10px 16px 20px;
overflow:auto;
flex:auto;
height: calc(100% - 40px);
}
.cur-view-main-con .hd {
padding-bottom:0;
height:48px;
padding:9px 10px;
background:#f2f2f2;
margin-bottom:.5em;
border-radius:2px;
}
.main-panel-main {
flex:auto;
display:flex;
flex-direction:column;
overflow:hidden; /* for ff */
}