mirror of
https://github.com/pybricks/pybricks-code.git
synced 2026-09-12 17:45:22 +00:00
179 lines
4.0 KiB
SCSS
179 lines
4.0 KiB
SCSS
// SPDX-License-Identifier: MIT
|
|
// Copyright (c) 2020-2022 The Pybricks Authors
|
|
|
|
// Custom styling for the App control.
|
|
|
|
@use 'sass:color';
|
|
@use 'sass:map';
|
|
|
|
@use '@blueprintjs/core/lib/scss/variables' as bp;
|
|
@use '@blueprintjs/icons/lib/scss/variables' as bpi;
|
|
@use '../variables' as pb;
|
|
|
|
@import '@blueprintjs/icons/lib/css/blueprint-icons.css';
|
|
|
|
.pb-app {
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: bp.$pt-app-background-color;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.#{bp.$ns}-dark & {
|
|
background-color: bp.$pt-dark-app-background-color;
|
|
}
|
|
|
|
&-activities {
|
|
display: flex;
|
|
}
|
|
|
|
&-terminal {
|
|
height: 100%;
|
|
padding-top: 8px;
|
|
padding-left: 8px;
|
|
background-color: white;
|
|
|
|
.#{bp.$ns}-dark & {
|
|
background-color: black;
|
|
}
|
|
}
|
|
|
|
&-docs {
|
|
height: 100%;
|
|
|
|
&-drag-helper {
|
|
height: 100%;
|
|
width: 100%;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
& iframe {
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
.pb-app-body {
|
|
min-height: 0;
|
|
flex: 1 1 auto;
|
|
|
|
display: flex;
|
|
flex-direction: row;
|
|
|
|
.pb-app-main {
|
|
min-width: 0;
|
|
flex: 1 1 auto;
|
|
@include pb.background-contrast(4%);
|
|
}
|
|
}
|
|
|
|
.pb-app-editor {
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
& .pb-editor {
|
|
min-height: 0;
|
|
flex: 1 1 auto;
|
|
}
|
|
}
|
|
|
|
$splitter-background-color: bp.$light-gray2;
|
|
$splitter-background-color-hover: bp.$gray4;
|
|
$dark-splitter-background-color: bp.$dark-gray5;
|
|
$dark-splitter-background-color-hover: bp.$gray2;
|
|
|
|
$splitter-constrast: -15%;
|
|
$dark-splitter-constrast: 20%;
|
|
|
|
$splitter-color: color.adjust(
|
|
$splitter-background-color,
|
|
$lightness: $splitter-constrast
|
|
);
|
|
$splitter-color-hover: color.adjust(
|
|
$splitter-background-color-hover,
|
|
$lightness: $splitter-constrast
|
|
);
|
|
$dark-splitter-color: color.adjust(
|
|
$dark-splitter-background-color,
|
|
$lightness: $dark-splitter-constrast
|
|
);
|
|
$dark-splitter-color-hover: color.adjust(
|
|
$dark-splitter-background-color-hover,
|
|
$lightness: $dark-splitter-constrast
|
|
);
|
|
|
|
.layout-splitter:before {
|
|
$width: 1.5;
|
|
$height: 2.7;
|
|
$radius: 0.4;
|
|
|
|
content: map.get(bpi.$blueprint-icon-codepoints, 'drag-handle-vertical') / '';
|
|
height: bp.$pt-grid-size * $height;
|
|
width: bp.$pt-grid-size * $width;
|
|
top: calc(50% - bp.$pt-grid-size * $height * 0.5);
|
|
left: bp.$pt-grid-size * $width * -0.5 + 2px;
|
|
|
|
.splitter-layout-vertical & {
|
|
$width: 2.7;
|
|
$height: 1.4;
|
|
|
|
content: map.get(bpi.$blueprint-icon-codepoints, 'drag-handle-horizontal') / '';
|
|
height: bp.$pt-grid-size * $height;
|
|
width: bp.$pt-grid-size * $width;
|
|
top: bp.$pt-grid-size * $height * -0.5 + 2px;
|
|
left: calc(50% - bp.$pt-grid-size * $width * 0.5);
|
|
}
|
|
|
|
font-family: bpi.$blueprint-icons-16-font;
|
|
font-size: large;
|
|
display: flex;
|
|
position: relative;
|
|
border-radius: bp.$pt-grid-size * $radius;
|
|
padding: bp.$pt-grid-size * 0.5;
|
|
align-items: center;
|
|
justify-content: center;
|
|
z-index: bp.$pt-z-index-content;
|
|
|
|
color: $splitter-color;
|
|
background-color: $splitter-background-color;
|
|
|
|
.#{bp.$ns}-dark & {
|
|
color: $dark-splitter-color;
|
|
background-color: $dark-splitter-background-color;
|
|
}
|
|
}
|
|
|
|
// make layout splitter match app color scheme
|
|
.splitter-layout > .layout-splitter {
|
|
color: $splitter-color;
|
|
background-color: $splitter-background-color;
|
|
|
|
&:hover,
|
|
&:hover:before {
|
|
color: $splitter-color-hover;
|
|
background-color: $splitter-background-color-hover;
|
|
}
|
|
|
|
.#{bp.$ns}-dark & {
|
|
color: $dark-splitter-color;
|
|
background-color: $dark-splitter-background-color;
|
|
|
|
&:hover,
|
|
&:hover:before {
|
|
color: $dark-splitter-color-hover;
|
|
background-color: $dark-splitter-background-color-hover;
|
|
}
|
|
}
|
|
}
|
|
|
|
.splitter-layout .layout-pane {
|
|
overflow: hidden;
|
|
}
|
|
|
|
// hide the docs and resize separator
|
|
|
|
div.pb-hide-docs > :not(.layout-pane-primary) {
|
|
display: none;
|
|
}
|