ObjToSchematic/styles.css

742 lines
12 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Martian+Mono&display=swap');
:root {
--pill-radius: 5px;
--gray-300: hsl(0, 0%, 10%); /* property background */
--gray-350: hsl(0, 0%, 12%);
--gray-400: hsl(0, 0%, 14%); /* disabled property */
--gray-500: hsl(0, 0%, 18%); /* standard property */
--gray-600: hsl(0, 0%, 22%); /* standard border */
--gray-700: hsl(0, 0%, 25%); /* hovered border */
--gray-800: hsl(0, 0%, 38%);
--blue-400: hsl(190, 100%, 15%);
--blue-450: hsl(190, 90%, 18%);
--blue-500: hsl(190, 85%, 27%);
--blue-600: hsl(190, 75%, 35%);
--blue-700: hsl(190, 58%, 48%);
--text-bright: white;
--text-light: hsl(0, 0%, 85%);
--text-standard: hsl(0, 0%, 66%);
--text-dim: hsl(0, 0%, 45%);
--text-dark: hsl(0, 0%, 33%);
--vertical-divider: hsl(0, 0%, 14%);
--border-radius: 5px;
--property-height: 32px;
--font-size-big: 14.96px;
--font-size-standard: 13.6px;
--font-size-small: 12.24px
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
margin: 0px;
font-family: 'Rubik', sans-serif;
overflow: hidden;
user-select: none;
}
canvas {
width: 100%;
height: 100%;
}
.content {
width: 100vw;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
}
.split {
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.gutter {
cursor: col-resize;
height: 100%;
background: var(--gray-500);
display: flex;
justify-content: center;
align-items: center;
color: var(--gray-600);
}
.gutter:hover {
background: var(--gray-600);
color: var(--gray-800);
}
.gutter.gutter-vertical {
cursor: row-resize;
}
.column-properties {
background: var(--gray-300);
overflow: auto;
padding: 10px;
}
.column-canvas {
cursor: grab;
}
.column-console {
background: hsl(0, 0%, 5%);
font-size: var(--font-size-small);
color: var(--text-dim);
font-family: 'Martian Mono';
}
.column-sidebar {
}
.container-properties {
display: flex;
flex-direction: column;
margin: 10px;
}
.component-group {
padding: 5px 10px;
border: 1px solid var(--gray-400);
border-radius: 10px;
width: 100%;
}
.container-checkbox {
width: var(--property-height);
height: var(--property-height);
}
.property {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: var(--font-size-standard);
padding: 5px 0px;
border-bottom: 2px solid var(--gray-350);
}
.property:first-child {
}
.property:last-child {
border-bottom: none;
}
/*
.property:nth-of-type(2n) {
border-radius: var(--border-radius);
background: var(--gray-350);
border-radius: 10px;
}
*/
.container-button {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: var(--font-size-standard);
padding: 5px 0px;
margin: 0px;
}
.container-group-heading {
display: flex;
flex-direction: row;
align-items: flex-start;
padding-top: 20px;
}
.group-heading {
color: var(--gray-700);
letter-spacing: 4px;
font-size: var(--font-size-standard);
padding: 12px 0px;
}
.prop-key-container {
display: flex;
align-items: center;
padding: 0px 5px;
width: 40%;
height: var(--property-height);
overflow: auto;
}
.prop-value-container {
flex-grow: 1;
display: flex;
align-items: center;
width: 0px;
overflow-x: auto;
}
input {
font-family: 'Rubik', sans-serif;
text-align: center;
font-size: var(--font-size-standard);
outline: none;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type=number]:not(:disabled) {
cursor: text;
}
input[type=text]:not(:disabled) {
cursor: text;
}
::placeholder {
color: var(--text-dark);
font-style: italic;
}
::placeholder:hover {
color: var(--text-standard) !important;
}
select {
all: unset;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.checkbox-arrow {
position: absolute;
right: 8px;
top: 9px;
pointer-events: none;
}
.button {
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.button-progress {
/*border: 1px solid green;*/
z-index: 5;
background: white;
opacity: 0.1;
border-radius: var(--border-radius);
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 0%;
transition: width 0.2s;
}
.struct-prop {
display: flex;
align-items: center;
width: 100%;
height: var(--property-height);
border-radius: var(--border-radius);
padding: 0px 10px;
border-width: 1px;
border-style: solid;
}
.struct-prop.disabled {
border-color: var(--gray-500);
color: var(--text-dark);
background: var(--gray-400);
cursor: inherit;
}
.struct-prop.hover {
border-color: var(--gray-700);
color: var(--text-light);
background: var(--gray-600);
cursor: pointer;
}
.struct-prop:not(.disabled):not(.hover) {
border-color: var(--gray-600);
color: var(--text-standard);
background: var(--gray-500);
}
.struct-prop.active.disabled {
border-color: var(--blue-450);
color: var(--text-dim);
background: var(--blue-400);
cursor: inherit;
}
.struct-prop.active.hover {
border-color: var(--blue-700);
color: var(--text-bright);
background: var(--blue-600);
cursor: pointer;
}
.struct-prop.active:not(.disabled):not(.hover) {
border-color: var(--blue-600);
color: var(--text-bright);
background: var(--blue-500);
}
.h-div {
height: 0px;
border-radius: 2px;
background: var(--text-dark);
}
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: var(--gray-350);
}
::-webkit-scrollbar-thumb {
background: var(--gray-500);
border-radius: 10px;
border: 1px solid var(--gray-600);
}
::-webkit-scrollbar-thumb:hover {
background: var(--gray-600);
border: 1px solid var(--gray-700);
}
.spinbox-key {
font-size: var(--font-size-standard);
padding-right: 5px;
}
.spinbox-key-hover {
border: rgba(255, 255, 255, 0.2) !important;
filter: brightness(1.5);
cursor: ew-resize;
}
.spinbox-key-disabled {
filter: brightness(0.4);
}
.spinbox-value {
display: flex;
align-items: center;
justify-content: center;
flex-grow: 1;
}
.spinbox-value .inactive .hover {
cursor: e-resize;
}
.toolbar {
display: flex;
position: relative;
top: -100vh;
width: 100%;
flex-direction: row;
justify-content: space-between;
cursor: inherit;
pointer-events: none;
}
.toolbar-column {
display: flex;
flex-direction: row;
margin: 20px;
gap: 20px;
}
.toolbar-column:last-child {
flex-direction: row-reverse !important;
}
.toolbar-group {
display: flex;
flex-direction: row;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 16px;
border-radius: var(--border-radius);
}
.container-icon-button {
height: var(--property-height);
display: flex;
align-items: center;
justify-content: center;
padding: 0px;
text-align: center;
font-size: var(--font-size-standard);
pointer-events: all;
gap: 2px;
}
svg {
width: 16px;
height: 16px;
stroke: currentColor;
}
.container-checkbox {
justify-content: center;
padding: 0px;
width: calc(0.75 * var(--property-height)) !important;
height: calc(0.75 * var(--property-height)) !important;
}
.button-loading {
box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
}
70% {
box-shadow: 0 0 0 6px rgba(255, 255, 255, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}
}
.spin {
animation: blinker 0.75s ease-in-out infinite;
}
@keyframes blinker {
0% {
opacity: 100%;
}
50% {
opacity: 50%;
}
100% {
opacity: 100%;
}
}
.progress-bar-container {
width: 100%;
height: 2px;
}
.progress-bar {
background-color: var(--blue-500);
height: 100%;
transition: width 0.1s;
}
.colour-swatch {
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
width: 100%;
height: var(--property-height);
margin: 0px;
padding: 0px;
}
.colour-swatch::-webkit-color-swatch-wrapper {
border: none;
margin: 0px;
padding: 0px;
}
.colour-swatch::-webkit-color-swatch {
border: none;
margin: 0px;
padding: 0px;
border-radius: 5px;
border: 1px solid var(--gray-600);
}
.enabled.colour-swatch::-webkit-color-swatch:hover {
border: 1px solid var(--gray-700);
filter: brightness(1.1);
cursor: pointer;
}
.texture-preview {
border: 1px solid var(--gray-600);
border-radius: 5px;
width: 100%;
}
.texture-preview-missing {
border-color: orange !important;
}
.texture-preview-placeholder {
border: 1px solid var(--gray-400);
color: var(--text-dim);
border-radius: 5px;
width: 100%;
aspect-ratio: 1/1;
display: flex;
align-items: center;
justify-content: center;
}
.texture-hover {
border-color: var(--text-standard) !important;
}
.material-container {
}
.checkbox-text {
padding-left: 10px;
color: var(--text-dim)
}
.checkbox-text.text-light {
cursor: pointer;
}
.spinbox-main-container {
display: flex;
flex-direction: row;
width: 100%;
}
.spinbox-element-container {
display: flex;
flex-direction: row;
flex-grow: 1;
height: 50%;
align-items: center;
padding-left: 5px;
}
.spinbox-element-container:first-child {
padding-right: 0px;
}
.row-container {
display: flex;
flex-direction: column;
gap: 2px;
width: 100%;
}
.row-item {
display: flex;
flex-direction: row;
align-items: center;
}
.col-container {
display: flex;
flex-direction: row;
gap: 2px;
align-items: center;
}
.col-item {
display: flex;
flex-direction: column;
align-items: center;
}
.logo {
width: 32px;
margin-right: 10px;
}
.title {
font-size: var(--font-size-big);
}
.subtitle {
font-size: var(--font-size-small);
color: var(--text-dim);
}
.header-cols {
align-items: start;
justify-content: space-between;
width: 100%;
color: var(--text-standard);
font-size: var(--font-size-standard);
padding-top: 5px;
}
.struct-prop.container-icon-button {
border-radius: 0px;
}
.struct-prop.container-icon-button:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.struct-prop.container-icon-button:last-child {
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.struct-prop.container-icon-button:only-of-type {
border-radius: 5px;
}
.button-loading {
box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
}
@keyframes pulse-opacity {
0% {
opacity: 1;
}
50% {
opacity: 0.6;
}
100% {
opacity: 1;
}
}
a {
color: var(--blue-600)
}
.text-dark {
color: var(--text-dark);
}
.text-standard {
color: var(--text-standard);
}
.text-light {
color: var(--text-light);
}
.text-success {
color: green;
}
.text-info {
color: var(--text-dim);
}
.text-warning {
color: orange;
}
.text-error {
color: red;
}
::-webkit-scrollbar-corner {
background: rgb(20, 20, 20);
}
.comp-slider-value {
padding: 0px;
width: 40%;
margin-right: 5px;
}
.comp-slider-outer {
flex-grow: 1;
padding: 0px;
}
.comp-slider-inner {
padding: 0px;
}
.comp-slider.enabled {
cursor: e-resize;
}
.hide {
display: none;
}
.tooltip-text {
visibility: hidden;
opacity: 0;
position: absolute;
z-index: 1;
font-size: var(--font-size-small);
color: var(--text-light);
background-color: var(--gray-600);
padding: 5px 10px;
border-radius: 5px;
border: 1px solid var(--gray-700);
transition: 0.15s;
pointer-events: none;
box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 16px;
white-space: nowrap;
}
.hover-text:hover:not(.disabled) .tooltip-text {
visibility: visible;
opacity: 1;
}
.top {
top: -40px;
left: -50%;
}
.bottom {
top: 25px;
left: -50%;
}
.left {
top: 1px;
right: 120%;
}
.right {
top: 2px;
left: 120%;
}
.hover-text {
position: relative;
}
.privacy-disclaimer {
font-size: var(--font-size-small);
color: var(--text-dim);
}