1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-14 23:46:49 +00:00
seahub/media/css/seahub_react.css
2019-01-24 15:03:11 +08:00

1047 lines
18 KiB
CSS

/**
* CONTENTS
*
* Font Icons
* sf2-icon-xx ...........seafile-font2
*
*
* Helper
* common class ..........common class
*
* UI Widgets(ui widgets)
* topbar button
* caret
* loading
* popover
* op-icon
* account
* quota
* nav, nav-pills
* side-panel
* about-dialog
* notifications
* sf-popover
* go-back
* top-logo
* base-table
* table-item rename-component
* more-btn
* dropdown-menu
* empty-tip
* file-tag
* mobile-menu
*/
/****** 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-wrench:before { content:"\e001"; }
.sf2-icon-clock:before { content:"\e002"; }
.sf2-icon-bell:before { content:"\e003"; }
.sf2-icon-delete:before { content:"\e006"; }
.sf2-icon-monitor:before { content:"\e007"; }
.sf2-icon-download:before { content:"\e008"; }
.sf2-icon-group:before { content:"\e00c"; }
.sf2-icon-link:before { content:"\e00e"; }
.sf2-icon-user:before { content:"\e00f"; }
.sf2-icon-organization:before { content:"\e010"; }
.sf2-icon-share:before { content:"\e011"; }
.sf2-icon-star:before { content:"\e012"; }
.sf2-icon-wiki-view:before { content:"\e013"; }
.sf2-icon-history:before { content:"\e014"; }
.sf2-icon-cog1:before { content:"\e015"; }
.sf2-icon-trash:before { content:"\e016"; }
.sf2-icon-tick:before { content:"\e01e"; }
.sf2-icon-x2:before { content:"\e01f"; }
.sf2-icon-edit:before { content:"\e018"; }
.sf2-icon-caret-down:before { content:"\e01a"; }
.sf2-icon-x1:before { content:"\e01d"; }
.sf2-icon-minus:before {content:"\e01c"}
.sf2-icon-confirm:before {content:"\e01e"}
.sf2-icon-cancel:before {content:"\e01f"}
.sf2-icon-user2:before { content:"\e020"; }
.sf2-icon-grid-view:before { content:"\e025"; }
.sf2-icon-list-view:before { content:"\e026"; }
.sf2-icon-plus:before { content: "\e027"; }
.sf2-icon-copy:before {content:"\e028"}
.sf2-icon-move:before {content:"\e029"}
.sf2-icon-reply:before { content:"\e02a"; }
.sf2-icon-menu:before { content: "\e031"; }
.sf2-icon-more:before { content: "\e032"; }
.sf2-icon-x3:before {content:"\e035";}
.sf2-icon-close:before { content:"\e035"; }
.sf2-icon-two-columns:before { content:"\e036"; }
.sf2-icon-tag:before {content:"\e037"}
.sf2-icon-review:before {content:"\e038"}
/* 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; }
.error { color:red; }
.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;
}
ul,ol,li {
padding:0;
margin:0;
}
.sf-heading {
font-size: 1rem;
color: #322;
font-weight: normal;
line-height: 1.5;
}
.vh {
visibility: hidden;
}
.a-simulate {
color: #eb8205 !important;
text-decoration: none;
font-weight: normal;
cursor: pointer;
}
.a-simulate:hover {
text-decoration: underline;
}
.sf-font {
color: #eb8205 !important;
text-decoration: none;
font-weight: normal;
}
.cursor-pointer {
cursor: pointer;
}
.sf-dropdown-toggle {
margin-left: 0.5rem;
vertical-align: middle;
font-style: normal;
font-size: 0.85rem;
line-height: 1;
cursor: pointer;
color: #888;
}
.user-select-none {
-moz-user-select:none;
-webkit-user-select:none;
-ms-user-select:none;
-khtml-user-select:none;
user-select: none;
}
.dialog-list-container { /* for dialog containing list */
min-height: 20rem;
max-height: 25rem;
overflow: auto;
}
.link-dropdown-container {
padding: 0;
text-align: center;
}
.link-dropdown-item {
display: block;
padding: 0.25rem 1.5rem;
color: #6e7687;
}
.link-dropdown-item:hover {
color: #16181b;
text-decoration: none;
}
.link-dropdown-item:active {
color: #fff;
}
.panel-heading {
position: relative;
padding: .5rem 1rem;
width: 100%;
height: 2.5rem;
font-size: 1rem;
font-weight: normal;
line-height: 1.5;
text-align: center;
}
.side-nav-toggle { /* just for control side-panel */
margin-right:0.9375rem;
height: 1.875rem;
line-height: 1.875rem;
font-size:1.5rem;
color:#999;
cursor: pointer;
}
/* UI Widget */
/**** 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 **/
@-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);
}
}
.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,
.action-icon,
.attr-action-icon {
margin-left: 0.5rem;
font-size: 1.25rem;
font-style: normal;
line-height: 1;
cursor: pointer;
vertical-align: middle;
}
.op-icon {
color: #f89a68;
}
.op-icon:focus,
.op-icon:hover {
padding-bottom: 0.125rem;
border-bottom: 0.125rem solid #f89a68;
}
.action-icon,
.attr-action-icon {
color:#888;
}
.action-icon:focus,
.action-icon:hover,
.attr-action-icon:focus,
.attr-action-icon:hover {
color: #333;
text-decoration: none;
}
.attr-action-icon {
font-size: 0.875rem;
}
/** Account info **/
#account {
position:relative;
}
#my-info {
display:inline-block;
color:#d6d6d6;
cursor:pointer;
}
#account .avatar {
vertical-align:middle;
border-radius:1000px;
margin-right: 0.25rem;
}
@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;
}
.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;
}
}
/* sf-nav-link */
.nav .nav-item {
padding: 0;
}
.nav .nav-item .nav-link{
padding: 0.5rem 0;
margin-right: 0.5rem;
color: #8A948F;
font-weight: normal;
transition: none;
}
.nav .nav-item .nav-link.active {
color: #eb8205;
text-decoration: none;
border-bottom: 0.125rem solid #eb8205;
}
.nav-pills .nav-item .nav-link {
padding: 0.25rem;
color: #333;
}
.nav-pills .nav-item .nav-link:hover {
background-color: #feefb8;
}
.nav-pills .nav-item .nav-link.active {
background-color: #feac74;
color: #fff;
border: none;
}
/* side-panel */
.side-panel {
user-select: none;
height:100%;
}
.side-nav {
flex:auto;
display:flex;
flex-direction:column;
justify-content:space-between; /* make .side-nav-footer on the bottom */
overflow:hidden; /* for ff */
}
.side-nav:hover {
overflow-y:auto;
}
.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;
font-size: 13px;
}
.side-nav-footer .item {
color:#666;
font-weight: normal;
margin-right:10px;
}
.side-nav-footer .last-item {
margin-left:auto;
}
.side-nav-con>.nav {
margin-bottom: 1rem;
}
.side-nav-con .nav .nav-item,
.side-nav-con .nav .nav-item .nav-link {
display: block;
padding-left: 0;
margin-right: 0;
}
.side-nav-con .active .sharp,
.side-nav-con .active .nav-text {
font-weight: bold;
}
.side-nav-con .active [class^="sf2-icon-"],
.side-nav-con .active .sharp {
color: #fff;
}
.side-nav-con [class^="sf2-icon-"] {
display:inline-block;
width:2.625rem;
margin-right:0.325rem;
text-align:center;
vertical-align:middle;
font-size:1.5rem;
line-height:1;
color:#999;
}
.side-nav-con .sharp {
display:inline-block;
width:2.625rem;
margin-right:0.325rem;
text-align:right;
color:#aaa;
}
.side-nav-con .toggle-icon {
margin-right: 0.25rem;
height: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
color:#999;
}
.side-nav-con .draft-info {
position: relative;
line-height: 1.5rem;
}
.side-nav-con .draft-info .badge {
right: -1.5rem;
}
.side-nav-con .sub-nav {
display: block;
overflow: hidden;
}
.side-nav-con .sub-nav .nav-link {
padding: 0;
display: block;
font-size: 0.875rem;
line-height: 1.5rem;
}
.side-panel-slide {
transition: all .3s ease-in-out;
}
.side-panel-slide-up {
transition: all .3s ease-in-out;
height: 0;
}
#notifications {
position:relative;
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%);
}
@media (max-width: 390px) {
#notifications {
margin-left:8px;
}
}
/* about dialog */
.about-content {
min-width: 280px;
padding-top: 20px;
text-align: center;
}
/* notifications */
#notifications .title {
line-height: 1.5;
font-size: 1rem;
color: #322;
font-weight: normal;
}
#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;
margin-bottom: 1rem;
font-size: 0.8125rem;
line-height: 1.5rem;
}
#notice-popover .time {
margin:0;
color:#999;
text-align:right;
font-size: 0.8125rem;
line-height: 1.5rem;
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;
}
#notice-popover .sf-popover-hd {
border-bottom: 1px solid #dfdfe1;
margin: 0 10px;
}
#notice-popover .sf-popover-con {
max-height: 25rem;
}
/**** 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;
margin: 10px;
}
.sf-popover-title {
text-align:center;
}
.sf-popover-close {
font-size:16px;
color:#b9b9b9;
margin:4px 0 0;
float:right;
}
.sf-popover-con {
padding:0 10px;
overflow:auto;
}
.sf-popover-list {
border-top: 1px solid #e3e3e5;
list-style: none;
margin-top: 5px;
padding-top: 5px;
}
a.sf-popover-item {
display:block;
color:#444;
font-weight:normal;
line-height:31px;
text-decoration:none;
padding: 5px 10px;
margin: 0px -10px;
}
a.sf-popover-item:hover {
background-color: #f8f8f8;
}
/* basic layout */
.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;
}
.panel-top {
padding:.5rem 1rem;
background:#f4f4f7;
border-bottom: 1px solid #e8e8e8;
display:flex;
flex-shrink:0;
min-height: 49px;
}
/* top logo */
.top-logo {
display: flex;
justify-content: space-between;
flex: 1;
}
/* path navigation */
.path-container { /* for the real path */
font-size: 1rem;
word-break: break-all;
}
.path-split {
display: inline-block;
padding: 0 5px;
color: #818a91;
}
.path-link {
color: #eb8205 !important;
text-decoration: none;
}
.path-link:hover {
cursor: pointer;
text-decoration: underline !important;
}
/* base table style */
table {
width: 100%;
table-layout: fixed;
}
table tr {
height: 2.1875rem;
}
table th, table td {
padding: 0.3125rem 0.1875rem;
border-bottom: 1px solid #eee;
}
table th {
text-align: left;
font-weight: normal;
font-size: 0.8125rem;
line-height: 1.6;
color: #9c9c9c;
}
table td {
color: #333;
font-size: 0.875rem;
word-break: break-all;
}
.table-thead-hidden thead tr {
height: 0;
border: 0;
}
.table-thead-hidden thead th { /* hide table th */
padding: 0;
border: 0;
font-size: 0;
}
.tr-highlight {
background-color: #f8f8f8;
}
/* table-item reanme-component */
.rename-container input {
box-sizing: content-box;
padding: 2px 3px;
width: 15rem;
height: 22px;
line-height: 19px;
border-radius: 2px;
word-wrap: break-word;
vertical-align: middle;
border: 1px solid #ccc;
}
.rename-container input:focus {
background-color: #fff;
border-color: #1991eb;
outline: 0;
box-shadow: 0 0 0 2px rgba(70, 127, 207, 0.25);
}
.rename-container button {
margin-left: 0.25rem;
padding: 5px 6px;
font-size: 1rem;
line-height: 1;
color: #666;
min-width: 0;
}
.rename-container .confirm {
color: green;
}
/* table-item loading-more-data */
.list-show-more {
padding: 0.25rem 0.75rem;
line-height: 2rem;
text-align: center;
color: #eb8205;
cursor: pointer;
}
.list-show-more:hover {
background-color: #eee;
}
.list-show-more .more-message {
font-size: 0.875rem;
color: #888;
text-decoration: underline;
}
/* table sort */
a.table-sort-op {
color: inherit;
}
@media (max-width:767px) {
a.table-sort-op {
display: inline-block;
margin-left: 15px;
}
}
a.table-sort-op:hover,
a.table-sort-op:focus {
outline: none;
text-decoration: none;
}
/* dropdown-menu style */
.dropdown-menu {
min-width: 8rem;
}
.dropdown-item {
cursor: pointer;
}
/* empty-tip */
.empty-tip {
margin: auto 1rem;
padding: 30px 40px;
background-color: #FAFAFA;
border: solid 1px #DDD;
border-radius: 3px;
box-shadow: inset 0 0 8px #EEE;
margin-top: 5.5em;
}
.empty-tip h2 {
font-size: 1.25rem;
text-align: center;
color: #222;
font-weight: bold;
}
.err-message,
.err-message h2{
color: red;
}
/* file-tag */
.tag-list {
position: relative;
justify-content: flex-end;
}
.tag-list .file-tag {
cursor: pointer;
}
.tag-list .file-tag:last-child {
margin-right: 0;
}
.tag-list-stacked .file-tag{
margin-right: -0.5rem;
border: 0.125rem solid #fff;
cursor: pointer;
}
.file-tag {
position: relative;
display: inline-block;
width: 1rem;
height: 1rem;
border-radius: 50%;
}
.dirent-item.tag-list {
display: flex;
align-items: center;
width: max-content;
}
/* react select-module */
.select-module {
font-size: 1rem;
}
.select-module.select-module-icon {
width: 1.5rem;
height: 1.5rem;
}
.select-module.select-module-name {
margin-left: 0.5rem;
}
/* mobile menu */
.item-meta-info {
display: inline-block;
margin-right: 8px;
font-size: 12px;
color: #666;
}
.mobile-operation-menu-bg-layer {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: #000;
opacity: 0.1;
z-index: 3;
}
.mobile-operation-menu {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: .5em 0;
background: #fff;
text-align: center;
z-index: 4;
}
/* thumbnail */
.thumbnail {
max-width: 24px;
max-height: 24px;
}