UNPKG

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
/* * 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 !important; } .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); }