react-panels
Version:
React.js panel widget with support for dynamic tabs, toolbars, buttons, floating windows and customizable themes
396 lines (395 loc) • 10.8 kB
CSS
/*
* react-panels
* https://github.com/Theadd/react-panels
*
* Copyright (c) 2015 R.Beltran https://github.com/Theadd
* Licensed under the MIT license.
*/
.rpanel:not(.rpanel-state-fullscreen).rounded {
border-radius: 3px;
}
.rpanel:not(.rpanel-state-fullscreen).rounded > header {
border-radius: 3px 3px 0 0;
}
.rpanel:not(.rpanel-state-fullscreen).rounded > div:last-child {
border-radius: 0 0 3px 3px;
}
.rpanel:not(.rpanel-state-fullscreen).rounded > div:last-child > .rpanel-tab-body.active > div:last-child {
border-radius: 0 0 3px 3px;
}
.rpanel:not(.rpanel-state-fullscreen).rounded-top {
border-radius: 3px 3px 0 0;
}
.rpanel:not(.rpanel-state-fullscreen).rounded-top > header {
border-radius: 3px 3px 0 0;
}
.rpanel:not(.rpanel-state-fullscreen).rounded-bottom {
border-radius: 0 0 3px 3px;
}
.rpanel:not(.rpanel-state-fullscreen).rounded-bottom > div:last-child {
border-radius: 0 0 3px 3px;
}
.rpanel:not(.rpanel-state-fullscreen).rounded-bottom > div:last-child > .rpanel-tab-body.active > div:last-child {
border-radius: 0 0 3px 3px;
}
.rpanel.raised > header {
box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.05) inset;
}
.rpanel:not(.bordered) > header {
height: 32px;
}
.rpanel.bordered > header {
border: 1px solid black;
height: 34px;
}
.rpanel.bordered > header .rpanel-tabs > .rpanel-tab.active {
margin-top: -1px;
height: 34px;
border-right: 1px solid black;
border-left: 1px solid black;
box-shadow: 0 2px 0 black inset;
}
.rpanel.bordered > header .rpanel-tabs > .rpanel-tab.active > a {
margin-top: 1px ;
}
.rpanel.bordered > .rpanel-body {
border: 1px solid black;
border-top: 0 none;
}
.rpanel > header {
display: block;
font-size: 14px;
}
.rpanel > header .rpanel-icon {
display: block;
float: left;
font-size: 125%;
height: 32px;
line-height: 28px;
margin-right: -6px;
text-align: center;
width: 30px;
}
.rpanel > header .rpanel-title {
margin-left: 10px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 100%;
display: inline-block;
letter-spacing: 0;
line-height: 32px;
position: relative;
width: auto;
}
.rpanel > header .rpanel-control {
border-left: 1px solid black;
float: right;
height: 32px;
min-width: 32px;
display: inline-block;
line-height: 32px;
margin: 0;
padding: 0;
text-align: center;
text-decoration: none;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.rpanel > header .rpanel-control.disabled {
cursor: default;
pointer-events: none;
opacity: 0.5;
}
.rpanel > header .rpanel-control.hidden {
display: none;
}
.rpanel > header .rpanel-tabs {
float: right;
height: 32px;
margin: 0 20px;
min-width: 32px;
display: inline-block;
padding: 0;
}
.rpanel > header .rpanel-tabs.hidden {
display: none;
}
.rpanel > header .rpanel-tabs .rpanel-tab {
position: relative;
float: left;
display: block;
list-style: none;
padding: 0 5px;
height: 32px;
}
.rpanel > header .rpanel-tabs .rpanel-tab.hidden {
display: none;
}
.rpanel > header .rpanel-tabs .rpanel-tab > a {
position: relative;
display: block;
height: 32px;
}
.rpanel > header .rpanel-tabs .rpanel-tab.active > a {
cursor: default;
}
.rpanel > header .rpanel-tabs .rpanel-tab .rpanel-icon {
font-size: 100%;
line-height: 30px;
margin-right: -9px;
margin-left: -3px;
opacity: 0.85;
}
.rpanel > header .rpanel-tabs .rpanel-tab .rpanel-title {
line-height: 32px;
margin-right: 6px;
opacity: 0.85;
}
.rpanel > header .rpanel-tabs .rpanel-tab .rpanel-title.hidden {
margin-left: 0;
}
.rpanel > header .rpanel-tabs * {
text-decoration: none;
color: inherit;
font-size: 0.95em;
}
.rpanel > .rpanel-body > .rpanel-tab-body {
display: none;
}
.rpanel > .rpanel-body > .rpanel-tab-body.active:not(.hidden) {
display: block;
}
.rpanel > .rpanel-body > .rpanel-tab-body > .rpanel-toolbar {
min-height: 32px;
line-height: 32px;
border-bottom: 3px double black;
display: none;
padding: 10px;
}
.rpanel > .rpanel-body > .rpanel-tab-body > .rpanel-toolbar.active {
display: block;
}
.rpanel > .rpanel-body > .rpanel-tab-body > .rpanel-content {
padding: 10px;
}
.rpanel > .rpanel-body > .rpanel-tab-body > .rpanel-content.no-padding {
padding: 0;
}
.rpanel,
.rpanel * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.rpanel.rpanel-state-closed {
display: none;
}
.rpanel.rpanel-state-collapsed > .rpanel-body {
display: none;
}
.rpanel.rpanel-state-fullscreen {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
}
.rpanel.rpanel-state-fullscreen > .rpanel-body {
height: calc(100% - 32px);
height: -moz-calc(100% - 32px);
height: -webkit-calc(100% - 32px);
height: -o-calc(100% - 32px);
}
.rpanel.rpanel-state-fullscreen > .rpanel-body > .rpanel-tab-body.active {
height: 100%;
}
.rpanel.rpanel-state-fullscreen > .rpanel-body > .rpanel-tab-body.active > .rpanel-toolbar {
display: none;
}
.rpanel.rpanel-state-fullscreen > .rpanel-body > .rpanel-tab-body.active > .rpanel-content {
height: 100%;
}
.rpanel.rpanel-state-fullscreen.bordered > .rpanel-body {
height: calc(100% - 34px);
height: -moz-calc(100% - 34px);
height: -webkit-calc(100% - 34px);
height: -o-calc(100% - 34px);
}
.rpanel.floating {
position: absolute;
width: 800px;
top: 0;
left: 0;
z-index: 910;
pointer-events: all;
}
.rpanel.default {
background-color: #ffffff;
}
.rpanel.default > header {
border-color: rgba(126, 142, 150, 0.75);
background-color: rgba(158, 178, 187, 0.5);
color: #000000;
}
.rpanel.default > header .rpanel-icon {
color: #ffffff;
text-shadow: 2px 2px 2px #000000;
}
.rpanel.default > header .rpanel-title {
text-shadow: 1px 1px 1px #a6a6a6;
}
.rpanel.default > header .rpanel-control {
border-color: rgba(126, 142, 150, 0.75);
}
.rpanel.default > header .rpanel-control * {
color: #000000;
text-shadow: 1px 1px 1px #ffffff;
}
.rpanel.default > header .rpanel-control.active {
background-color: #ffffff;
}
.rpanel.default > header .rpanel-control:hover {
background-color: rgba(255, 255, 255, 0.5);
}
.rpanel.default > header .rpanel-tabs .rpanel-tab .rpanel-icon,
.rpanel.default > header .rpanel-tabs .rpanel-tab .rpanel-title {
color: #4f595e;
text-shadow: none;
}
.rpanel.default > header .rpanel-tabs .rpanel-tab.active {
border-color: rgba(126, 142, 150, 0.75);
background-color: #ffffff;
box-shadow: 0 2px 0 #8eb8cb inset;
}
.rpanel.default > header .rpanel-tabs .rpanel-tab.active .rpanel-icon,
.rpanel.default > header .rpanel-tabs .rpanel-tab.active .rpanel-title {
color: #282d2f;
}
.rpanel.default > header .rpanel-tabs .rpanel-tab:not(.active):hover {
background-color: rgba(255, 255, 255, 0.5);
}
.rpanel.default > .rpanel-body {
background-color: rgba(158, 178, 187, 0.5);
border-color: rgba(126, 142, 150, 0.75);
}
.rpanel.default > .rpanel-body .rpanel-toolbar {
background-color: #ffffff;
border-color: rgba(126, 142, 150, 0.4);
}
.rpanel.default > .rpanel-body .rpanel-content {
background-color: #ffffff;
}
.rpanel.grayscale > header {
border-color: rgba(0, 0, 0, 0.5);
background-color: rgba(255, 255, 255, 0.15);
color: rgba(0, 0, 0, 0.75);
}
.rpanel.grayscale > header .rpanel-icon {
color: #ffffff;
text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.75);
}
.rpanel.grayscale > header .rpanel-title {
text-shadow: 1px 1px 1px #a6a6a6;
}
.rpanel.grayscale > header .rpanel-control {
border-color: rgba(0, 0, 0, 0.2);
}
.rpanel.grayscale > header .rpanel-control * {
color: rgba(0, 0, 0, 0.75);
text-shadow: 1px 1px 1px #ffffff;
}
.rpanel.grayscale > header .rpanel-control.active {
background-color: rgba(0, 0, 0, 0.2);
}
.rpanel.grayscale > header .rpanel-control:hover {
background-color: rgba(0, 0, 0, 0.1);
}
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab .rpanel-icon,
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab .rpanel-title {
color: rgba(51, 51, 51, 0.45);
text-shadow: none;
}
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab.active {
border-color: rgba(255, 255, 255, 0.65);
background-color: rgba(0, 0, 0, 0.2);
}
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab.active .rpanel-icon,
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab.active .rpanel-title {
color: rgba(20, 20, 20, 0.6);
}
.rpanel.grayscale > header .rpanel-tabs .rpanel-tab:not(.active):hover {
background-color: rgba(0, 0, 0, 0.1);
}
.rpanel.grayscale > .rpanel-body {
background-color: rgba(255, 255, 255, 0.15);
border-color: rgba(0, 0, 0, 0.5);
}
.rpanel.grayscale > .rpanel-body .rpanel-toolbar {
background-color: rgba(0, 0, 0, 0.2);
border-bottom: 0 none;
}
.rpanel.grayscale > .rpanel-body .rpanel-content {
background-color: transparent;
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2) inset;
}
.rpanel.grayscale.rpanel-state-fullscreen > .rpanel-body > .rpanel-tab-body.active > .rpanel-content {
background-color: rgba(242, 242, 242, 0.85);
}
.rpanel.lightblue > header {
border-color: rgba(126, 142, 150, 0.75);
background-color: rgba(158, 178, 187, 0.5);
color: #000000;
}
.rpanel.lightblue > header .rpanel-icon {
color: #ffffff;
text-shadow: 2px 2px 2px #000000;
}
.rpanel.lightblue > header .rpanel-title {
text-shadow: 1px 1px 1px #a6a6a6;
}
.rpanel.lightblue > header .rpanel-control {
border-color: rgba(126, 142, 150, 0.75);
}
.rpanel.lightblue > header .rpanel-control * {
color: #000000;
text-shadow: 1px 1px 1px #ffffff;
}
.rpanel.lightblue > header .rpanel-control.active {
background-color: rgba(255, 255, 255, 0.85);
}
.rpanel.lightblue > header .rpanel-control:hover {
background-color: rgba(255, 255, 255, 0.35);
}
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab .rpanel-icon,
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab .rpanel-title {
color: #4f595e;
text-shadow: none;
}
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab.active {
border-color: rgba(126, 142, 150, 0.75);
background-color: rgba(255, 255, 255, 0.85);
box-shadow: 0 2px 0 #8eb8cb inset;
}
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab.active .rpanel-icon,
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab.active .rpanel-title {
color: #282d2f;
}
.rpanel.lightblue > header .rpanel-tabs .rpanel-tab:not(.active):hover {
background-color: rgba(255, 255, 255, 0.35);
}
.rpanel.lightblue > .rpanel-body {
background-color: rgba(158, 178, 187, 0.5);
border-color: rgba(126, 142, 150, 0.75);
}
.rpanel.lightblue > .rpanel-body .rpanel-toolbar {
background-color: rgba(255, 255, 255, 0.85);
border-color: rgba(126, 142, 150, 0.4);
}
.rpanel.lightblue > .rpanel-body .rpanel-content {
background-color: rgba(255, 255, 255, 0.85);
}