docs/styles/containers.less

857 lines
20 KiB
Plaintext

.popover {
&.popover-view {
min-width: 364px;
}
&.popover-volume {
min-width: 480px;
}
.popover-content {
display: flex;
flex-direction: column;
padding: 14px 14px 20px;
.question {
margin: 12px 6px 6px;
}
}
}
.result-grid {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
margin-top: 20px;
overflow: auto;
.image-item {
display: flex;
.logo {
min-width: 90px;
height: 100%;
background-color: @brand-action;
}
.card {
padding: 10px 20px 10px 20px;
.name {
font-size: 18px;
color: @gray-darkest;
margin-bottom: 5px;
img {
margin-right: 7px;
position: relative;
top: -1px;
}
}
.description {
font-size: 12px;
color: @gray-normal;
height: 70px;
text-overflow: ellipsis;
overflow: hidden;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
display: -webkit-box;
word-wrap: break-word;
}
.actions {
width: 190px;
padding-top: 25px;
.stars {
height: 15px;
font-size: 10px;
color: @gray-darker;
border-right: 1px solid @gray-lightest;
padding-right: 10px;
.icon {
position: relative;
font-size: 16px;
margin-right: 3px;
top: -1px;
color: @gray-darkest;
}
.text {
position: relative;
top: -6px;
}
}
.tags {
height: 15px;
font-size: 10px;
color: @gray-darker;
padding-left: 10px;
.icon {
position: relative;
font-size: 11px;
margin-right: 5px;
top: 2px;
color: @gray-darkest;
}
.text {
position: relative;
top: 0px;
}
}
.action {
flex: 1 auto;
.btn {
text-align: right;
position: relative;
float: right;
top: -7px;
}
}
display: flex;
flex-direaction: row;
position: relative;
bottom: 0px;
}
}
width: 320px;
height: 170px;
border-radius: 4px;
border: 1px solid @gray-lightest;
background-color: white;
margin-right: 20px;
margin-bottom: 20px;
}
}
.new-container {
padding: 35px 20px 32px 25px;
.new-container-header {
margin-bottom: 28px;
display: flex;
flex: 1;
.text {
flex: 1 auto;
width: 50%;
font-size: 14px;
color: @gray-lighter;
}
.search {
flex: 1 auto;
margin-right: 30px;
.search-bar {
top: -7px;
position: relative;
.loading {
position: absolute;
left: 10px;
top: 7px;
width: 16px;
height: 16px;
-webkit-animation-name: spin;
-webkit-animation-duration: 1.8s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
.search-icon {
font-size: 18px;
color: @gray-lighter;
position: absolute;
top: 5px;
left: 10px;
}
input {
border-radius: 20px;
font-size: 12px;
height: 30px;
padding: 4px 8px 4px 35px;
color: @gray-darkest;
margin-bottom: 3px;
border-color: @gray-lightest;
box-shadow: none;
&:focus {
box-shadow: none;
border-color: @gray-lighter;
}
&::-webkit-input-placeholder {
color: #CCC;
font-weight: 400;
}
}
}
}
}
}
.containers {
box-sizing: border-box;
height: 100%;
display: flex;
flex-direction: column;
.containers-body {
flex: 1;
display: flex;
flex-direction: row;
padding: 0px;
.sidebar {
padding-top: 28px;
background-color: white;
display: flex;
flex-direction: column;
min-width: 260px;
margin: 0;
box-sizing: border-box;
border-right: 1px solid #DCE2E2;
.sidebar-header {
flex: 0 auto;
min-width: 240px;
min-height: 47px;
display: flex;
border-bottom: 1px solid transparent;
transition: border-bottom 0.25s;
//padding: 0px 10px 0px 10px;
&.sep {
border-bottom: 1px solid #eee;
box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.03);
}
h4 {
align-self: flex-start;
//padding: 0 24px;
padding-left: 26px;
margin: 14px 0 0;
display: inline-block;
position: relative;
}
.create {
flex: 1 auto;
text-align: right;
margin-right: 20px;
margin-top: 3px;
.btn-new {
font-size: 24px;
color: @brand-action;
transition: all 0.25s;
&:hover {
color: darken(@brand-action, 10%);
}
}
}
}
.sidebar-containers {
position: relative;
flex: 1 auto;
overflow-y: auto;
overflow-x: hidden;
box-sizing: border-box;
max-width: 260px;
&.sep {
border-top: 1px solid #eee;
}
ul {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
.new-container-item {
.info {
position: relative;
top: 9px;
}
}
a {
color: inherit;
flex-shrink: 0;
cursor: default;
outline: none;
&.active {
background: @brand-primary;
li {
height: 57px;
border-bottom: none;
background-image: linear-gradient(-180deg, #24B8EB 4%, #24A3EB 100%);
.name {
color: white;
}
.image {
color: white;
opacity: 0.8;
}
.btn-delete {
font-size: 24px;
color: white;
}
.state-new {
.at2x('container-white.png', 20px, 20px);
}
.state-running {
.at2x('running-white.png', 20px, 20px);
.runningwave {
.at2x('runningwave-white.png', 20px, 20px);
}
}
.state-stopped {
.at2x('stopped-white.png', 20px, 20px);
}
.state-downloading {
.at2x('downloading-white.png', 20px, 20px);
.downloading-arrow {
.at2x('downloading-arrow-white.png', 20px, 20px);
}
}
}
}
&:hover {
text-decoration: none;
cursor: default;
}
&:focus {
text-decoration: none;
}
}
li {
vertical-align: middle;
padding: 10px 16px 10px 26px;
display: flex;
flex-direction: row;
height: 57px;
.info {
font-size: 13px;
margin-left: 16px;
.name {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 14px;
font-weight: 400;
color: @gray-darkest;
}
.image {
color: @gray-lighter;
font-size: 12px;
font-weight: 400;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
.action {
display: none;
flex: 1;
position: relative;
top: 5px;
text-align: right;
margin-right: 4px;
.btn-delete {
font-size: 24px;
color: @gray-lighter;
}
}
.state {
margin-top: 9px;
display: inline-block;
position: relative;
min-width: 20px;
height: 20px;
}
.state-error {
.at2x('error.png', 20px, 20px);
}
.state-stopped {
.at2x('stopped.png', 20px, 20px);
}
.state-paused {
.at2x('paused.png', 20px, 20px);
}
.state-new {
.at2x('container.png', 20px, 20px);
}
.state-downloading {
.at2x('downloading.png', 20px, 20px);
overflow: hidden;
.downloading-arrow {
width: 20px;
height: 20px;
.at2x('downloading-arrow.png', 20px, 20px);
position: absolute;
// background-repeat: repeat;
-webkit-animation-name: translatedownload;
-webkit-animation-duration: 1.8s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
.state-running {
.at2x('running.png', 20px, 20px);
overflow: hidden;
// -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
.runningwave {
position: absolute;
width: 40px;
height: 20px;
left: -20px;
.at2x('runningwave.png', 20px, 20px);
// background-repeat: repeat;
-webkit-animation-name: translatewave;
-webkit-animation-duration: 8.0s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
.state-restarting {
display: inline-block;
width: 20px;
height: 20px;
.at2x('restarting.png', 20px, 20px);
background-repeat: repeat-x;
-webkit-animation-delay: -1s;
-webkit-animation-name: rotate;
-webkit-animation-duration: 3.0s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
}
}
}
}
.no-containers {
flex: 1 auto;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
position: relative;
h3 {
position: relative;
top: -44px;
font-size: 18px;
color: #C7D7D7;
}
}
.details {
background-color: #F9F9F9;
margin: 0;
padding: 0;
box-sizing: border-box;
flex: 1;
display: flex;
flex-direction: column;
.details-subheader {
flex: 0 auto;
display: flex;
flex-direction: row;
position: relative;
//border-top: 1px solid #EEE;
border-bottom: 1px solid #DCE2E2;
background-color: white;
height: 57px;
padding: 6px 10px 10px 24px;
font-size: 13px;
color: @gray-normal;
.image {
flex: 1 auto;
//margin: 7px 0px 0px 16px;
margin-top: 1px;
font-size: 13px;
color: @gray-normal;
//font-weight: 300;
img {
width: 30px;
height: 18px;
position: relative;
top: -2px;
margin-right: 10px;
}
}
.details-header-actions {
flex: 1 auto;
text-align: left;
margin-top: -12px;
.action {
display: inline-block;
.action-icon {
color: @gray-normal;
font-size: 30px;
margin-right: 20px;
}
.btn-label {
position: relative;
top: 0px;
display: block;
color: @brand-action;
font-size: 10px;
&.run {
left: 8px;
}
&.restart {
left: 1px;
}
&.terminal {
left: -2px;
}
visibility: hidden;
}
}
}
.details-subheader-tabs {
flex: 1 auto;
text-align: right;
margin-right: 3px;
margin-top: 3px;
.tab {
margin-left: 16px;
padding: 6px 10px;
font-weight: 400;
&:hover {
border-radius: 40px;
background-color: #F9F9F9;
}
&.active {
border-radius: 40px;
color: white;
background-image: linear-gradient(-180deg, #24B8EB 4%, #24A3EB 100%);
}
}
}
}
.details-header {
flex: 0 auto;
display: flex;
flex-direction: row;
padding: 31px 24px 18px 24px;
position: relative;
background-color: white;
height: 75px;
h1 {
margin: 0;
font-size: 20px;
font-weight: 400;
margin: 0;
color: @gray-darkest;
}
.status {
font-size: 10px;
font-weight: 500;
position: relative;
top: 8px;
left: 14px;
&.running {
color: @brand-positive;
}
&.paused {
color: @gray-lighter;
}
&.stopped {
color: @gray-lighter;
}
}
/*.details-header-actions {
flex: 1;
display: flex;
flex-direction: row;
margin-top: 24px;
margin-bottom: 6px;
position: relative;
border-bottom: 1px solid transparent;
transition: border-bottom 0.25s;
.action {
a {
-webkit-transition: none;
}
transition: none;
flex: 0 auto;
margin-right: 24px;
}
.details-header-actions-rhs {
flex: 1 auto;
display: flex;
align-items: right;
justify-content: flex-end;
a.btn {
z-index: 0;
}
}
}*/
}
.details-progress {
margin: 26% auto 0;
text-align: center;
width: 300px;
}
.details-panel {
flex: 1;
overflow: auto;
background-color: #FFF;
&.home {
background-color: #F9F9F9;
.content {
display: flex;
flex: 1 auto;
flex-direction: row;
padding: 10px 27px;
.left {
width: 60%;
flex-direction: column;
.web-preview {
margin-right: 30px;
.widget {
background-color: white;
width: 100%;
height: 100%;
border-radius: 4px;
border: 1px solid @gray-lightest;
iframe {
border: 0;
border-radius: 4px;
width: 100%;
height: 100%;
}
}
}
}
.right {
width: 40%;
flex-direction: column;
.mini-logs {
margin-bottom: 50px;
.widget {
border-radius: 4px;
border: 1px solid @gray-lightest;
background-color: @gray-darkest;
color: @gray-lightest;
height: 100%;
padding: 10px;
overflow: scroll;
font-family: Menlo;
font-size: 8px;
white-space: pre-wrap;
p {
margin-bottom: 0px;
}
}
}
.folders {
.widget {
padding: 20px 10px;
background-color: white;
border-radius: 4px;
border: 1px solid @gray-lightest;
display: flex;
.folder {
width: 100px;
img {
display: block;
margin: 0 auto;
}
.text {
text-align: center;
}
}
}
}
}
}
}
&.logs {
background-color: @gray-darkest;
-webkit-user-select: text;
font-family: Menlo;
font-size: 12px;
padding: 20px 18px;
color: @gray-lightest;
white-space: pre-wrap;
p {
margin-bottom: 0px;
}
}
.settings {
padding: 18px 38px;
.settings-section {
margin-bottom: 40px;
}
}
.ports {
padding: 18px 38px;
}
.volumes {
padding: 18px 38px;
}
.table {
margin-bottom: 0;
.icon-arrow-right {
color: #aaa;
margin: 2px 9px 0;
flex: 0 auto;
min-width: 13px;
}
.btn {
min-width: 22px;
margin-left: 10px;
}
.table-labels {
margin-top: 20px;
flex: 1 auto;
display: flex;
font-size: 12px;
color: @gray-lightest;
.label-left {
flex: 0 auto;
min-width: 80px;
margin-right: 30px;
text-align: right;
}
.label-right {
flex: 1 auto;
display: inline-block;
width: 40%;
}
}
.table-values {
flex: 1 auto;
display: flex;
flex-direction: row;
margin: 8px 0;
.value-left {
text-align: right;
min-width: 80px;
flex: 0 auto;
}
.value-right {
flex: 1 auto;
-webkit-user-select: text;
width: 40%;
}
}
.table-new {
margin-top: 10px;
flex: 1 auto;
display: flex;
input {
padding: 0;
font-weight: 400;
}
input.new-left {
flex: 0 auto;
text-align: right;
min-width: 80px;
max-width: 80px;
}
.new-right-wrapper {
position: relative;
display: flex;
flex: 1 auto;
.new-right-placeholder {
position: absolute;
top: 3px;
left: 0;
font-weight: 400;
}
input.new-right {
flex: 1 auto;
height: 24px;
position :relative;
padding-left: 107px;
}
}
}
&.volumes {
.label-left {
min-width: 120px;
}
.value-left {
min-width: 120px;
}
.icon {
color: #aaa;
margin: 2px 9px 0;
}
}
}
}
.container-name {
margin-bottom: 20px;
input {
width: 20%;
}
}
.env-vars-labels {
width: 100%;
font-size: 12px;
color: @gray-lightest;
margin-left: 5px;
margin-bottom: 5px;
margin-top: 20px;
.label-key {
display: inline-block;
margin-right: 30px;
width: 20%;
}
.label-val {
display: inline-block;
width: 40%;
}
}
.env-vars {
margin-bottom: 20px;
.keyval-row {
margin-bottom: 5px;
}
input {
margin-right: 30px;
&.key {
width: 20%;
}
&.val {
width: 40%;
}
}
}
}
}
}