Files
pybricks-code/src/app/app.scss
T
David Lechner b255a145e3 components/ViewHeightSensor: remove view height sensor
This appears to no longer be necessary for correct app height on Android.
2022-12-21 19:44:11 -06:00

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;
}