ObjToSchematic/styles.css

715 lines
12 KiB
CSS
Raw Normal View History

2023-03-21 02:02:18 +08:00
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Courier+Prime&display=swap');
2021-09-20 03:23:43 +08:00
:root {
--pill-radius: 5px;
2023-03-21 02:02:18 +08:00
--gray-300: hsl(0, 0%, 10%); /* property background */
--gray-350: hsl(0, 0%, 12%);
2023-03-21 02:02:18 +08:00
--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%);*/
2023-03-21 02:02:18 +08:00
--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%);
2023-01-24 04:48:21 +08:00
--vertical-divider: hsl(0, 0%, 14%);
2022-10-25 03:45:02 +08:00
--border-radius: 5px;
2023-03-21 02:02:18 +08:00
--property-height: 32px;
2023-03-02 02:06:13 +08:00
--subproperty-height: 22px;
--subprop-value-width: 125px;
2021-07-04 23:02:20 +08:00
}
* {
2023-03-21 02:02:18 +08:00
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
2021-10-05 07:32:03 +08:00
body {
margin: 0px;
2023-03-21 02:02:18 +08:00
font-family: 'Rubik', sans-serif;
overflow: hidden;
user-select: none;
2023-03-21 02:02:18 +08:00
font-weight: 300;
2021-07-07 06:18:24 +08:00
}
canvas {
width: 100%;
height: 100%;
}
2023-03-03 03:51:53 +08:00
.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%;
2023-03-21 02:02:18 +08:00
background: var(--gray-500);
2023-03-03 03:51:53 +08:00
display: flex;
justify-content: center;
align-items: center;
2023-03-21 02:02:18 +08:00
color: var(--gray-600);
2023-03-03 03:51:53 +08:00
}
2023-03-21 02:02:18 +08:00
.gutter:hover {
background: var(--gray-600);
color: white;
}
.gutter.gutter-vertical {
cursor: row-resize;
}
2023-03-03 03:51:53 +08:00
.gutter-line {
2023-03-21 02:02:18 +08:00
width: 3px;
2023-03-03 03:51:53 +08:00
height: 20%;
2023-03-21 02:02:18 +08:00
background-color: currentColor;
2023-03-03 03:51:53 +08:00
border-radius: 2px;
}
.gutter-line-horizontal {
width: 20%;
2023-03-21 02:02:18 +08:00
height: 3px;
background-color: var(--gray-700);
border-radius: 2px;
}
.column-properties {
2023-03-21 02:02:18 +08:00
background: var(--gray-300);
overflow: auto;
2023-03-21 02:02:18 +08:00
padding: 10px;
2021-08-14 23:34:35 +08:00
}
.column-canvas {
cursor: crosshair;
2021-08-14 23:34:35 +08:00
}
.column-console {
background: hsl(0, 0%, 5%);
font-size: 85%;
color: var(--text-dim);
2023-03-21 02:02:18 +08:00
font-family: 'Courier Prime';
}
.column-sidebar {
}
2023-03-21 02:02:18 +08:00
.container-properties {
display: flex;
flex-direction: column;
margin: 10px;
2021-09-20 03:23:43 +08:00
}
2023-03-21 02:02:18 +08:00
.component-group {
padding: 5px 10px;
border: 1px solid var(--gray-400);
border-radius: 10px;
border-top-left-radius: 0px;
}
.container-checkbox {
width: var(--property-height);
height: var(--property-height);
}
.container-header {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: 85%;
2023-03-21 02:02:18 +08:00
padding: 5px;
2021-10-05 07:32:03 +08:00
}
2023-03-21 02:02:18 +08:00
.property {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: 85%;
padding: 5px 0px;
border-bottom: 2px solid var(--gray-350);
}
2023-03-21 02:02:18 +08:00
.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;
}
*/
2023-03-21 02:02:18 +08:00
.container-header {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: 85%;
padding: 5px 0px;
}
2023-03-21 02:02:18 +08:00
.container-button {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: 85%;
padding: 5px 0px;
margin: 0px;
2023-01-24 04:48:21 +08:00
}
2023-03-21 02:02:18 +08:00
.container-group-heading {
display: flex;
flex-direction: row;
align-items: flex-start;
padding-top: 30px;
2023-01-24 04:48:21 +08:00
}
.group-heading {
2023-03-21 02:02:18 +08:00
color: var(--gray-600);
letter-spacing: 4px;
font-weight: 400;
font-size: 85%;
2023-03-21 02:02:18 +08:00
padding: 12px 14px;
padding-bottom: 8px;
background: var(--gray-350);
border: 1px solid var(--gray-400);
border-bottom-width: 0px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
2021-10-05 07:32:03 +08:00
}
2021-09-20 03:23:43 +08:00
.prop-key-container {
display: flex;
align-items: center;
2023-03-21 02:02:18 +08:00
padding: 0px 5px;
2023-02-12 05:29:36 +08:00
width: 150px;
height: var(--property-height);
overflow: auto;
2021-09-20 03:23:43 +08:00
}
.prop-value-container {
flex-grow: 1;
2022-10-25 03:45:02 +08:00
display: flex;
align-items: center;
2022-11-04 04:21:14 +08:00
width: 0px;
}
.subproperty-container {
display: flex;
flex-direction: column;
width: 100%;
}
.subproperty {
display: flex;
flex-direction: row;
align-items: center;
color: var(--text-standard);
font-size: 85%;
width: 100%;
padding-top: 2px;
padding-bottom: 2px;
border-bottom: 1px solid var(--vertical-divider);
}
.subproperty:last-child {
border-bottom: 0px;
}
.subprop-key-container {
align-self: center;
2023-03-02 02:06:13 +08:00
width: 50%;
2023-01-24 04:48:21 +08:00
overflow: auto;
}
.subprop-value-container {
flex-grow: 1;
display: flex;
align-items: center;
min-height: var(--subproperty-height);
2023-03-02 02:06:13 +08:00
width: var(--subprop-value-width);
overflow: auto;
font-weight: 300;
/*border-left: 1px solid var(--vertical-divider);*/
padding-left: 5px;
}
input {
2023-03-21 02:02:18 +08:00
font-family: 'Rubik', sans-serif;
text-align: center;
font-weight: 300;
2021-10-05 07:32:03 +08:00
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
2021-10-05 07:32:03 +08:00
}
::placeholder {
color: var(--text-dark);
font-style: italic;
}
::placeholder:hover {
color: var(--text-standard) !important;
}
2021-10-05 07:32:03 +08:00
select {
2023-03-21 02:02:18 +08:00
all: unset;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
2023-03-21 02:02:18 +08:00
.checkbox-arrow {
position: absolute;
right: 8px;
top: 9px;
pointer-events: none;
2021-09-20 03:23:43 +08:00
}
.button {
2022-10-25 03:45:02 +08:00
display: flex;
align-items: center;
justify-content: center;
2023-03-21 02:02:18 +08:00
font-weight: 400;
2022-10-25 03:45:02 +08:00
}
2022-10-25 03:45:02 +08:00
.button-progress {
/*border: 1px solid green;*/
z-index: 5;
background: white;
opacity: 0.1;
2022-10-25 03:45:02 +08:00
border-radius: var(--border-radius);
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 0%;
transition: width 0.2s;
}
2023-03-21 02:02:18 +08:00
.struct-prop {
2022-10-25 03:45:02 +08:00
display: flex;
align-items: center;
width: 100%;
2023-03-21 02:02:18 +08:00
height: var(--property-height);
2022-10-25 03:45:02 +08:00
border-radius: var(--border-radius);
padding: 0px 10px;
2023-03-21 02:02:18 +08:00
border-width: 1px;
border-style: solid;
}
2023-03-21 02:02:18 +08:00
.style-inactive-disabled {
border-color: var(--gray-500);
color: var(--text-dark);
background: var(--gray-400);
cursor: default;
}
.style-inactive-enabled {
border-color: var(--gray-600);
color: var(--text-standard);
background: var(--gray-500);
}
.style-inactive-hover {
border-color: var(--gray-700);
color: var(--text-light);
background: var(--gray-600);
cursor: pointer;
}
2023-03-21 02:02:18 +08:00
.style-active-disabled {
border-color: var(--blue-450);
color: var(--text-dim);
background: var(--blue-400);
cursor: default;
}
.style-active-enabled {
border-color: var(--blue-600);
color: var(--text-bright);
background: var(--blue-500);
}
.style-active-hover {
border-color: var(--blue-700);
color: var(--text-bright);
background: var(--blue-600);
cursor: pointer;
2021-10-05 07:32:03 +08:00
}
.h-div {
2023-03-21 02:02:18 +08:00
height: 0px;
border-radius: 2px;
background: var(--text-dark);
2021-10-05 07:32:03 +08:00
}
::-webkit-scrollbar {
width: 10px;
height: 10px;
2021-10-05 07:32:03 +08:00
}
::-webkit-scrollbar-track {
2023-03-21 02:02:18 +08:00
background: var(--gray-350);
2021-10-05 07:32:03 +08:00
}
::-webkit-scrollbar-thumb {
2023-03-21 02:02:18 +08:00
background: var(--gray-500);
border-radius: 10px;
2023-03-21 02:02:18 +08:00
border: 1px solid var(--gray-600);
2021-10-05 07:32:03 +08:00
}
::-webkit-scrollbar-thumb:hover {
2023-03-21 02:02:18 +08:00
background: var(--gray-600);
border: 1px solid var(--gray-700);
}
.spinbox-key {
color: #ffffffb9;
font-size: 85%;
2022-12-10 09:40:27 +08:00
font-weight: 300;
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;
}
.toolbar {
display: flex;
2023-03-03 03:51:53 +08:00
position: relative;
top: -100vh;
2022-03-22 05:32:45 +08:00
width: 100%;
2023-03-03 03:51:53 +08:00
flex-direction: row;
2022-03-22 05:32:45 +08:00
justify-content: space-between;
cursor: inherit;
pointer-events: none;
2022-03-22 05:32:45 +08:00
}
.toolbar-column {
display: flex;
flex-direction: row;
margin: 20px 10px;
}
2022-03-22 05:32:45 +08:00
.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;
2022-10-25 03:45:02 +08:00
border-radius: var(--border-radius);
2022-03-22 05:32:45 +08:00
margin-left: 10px;
margin-right: 10px;
}
2023-03-21 02:02:18 +08:00
.container-icon-button {
width: var(--property-height);
height: var(--property-height);
2022-11-17 07:15:11 +08:00
display: flex;
align-items: center;
justify-content: center;
padding: 0px 8px 0px 8px;
text-align: center;
font-size: 85%;
pointer-events: all;
gap: 2px;
2023-03-02 02:06:13 +08:00
}
svg {
width: 16px;
height: 16px;
2023-03-21 02:02:18 +08:00
stroke: currentColor;
2022-11-15 03:16:44 +08:00
}
2023-03-21 02:02:18 +08:00
.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);
}
2022-09-10 03:59:14 +08:00
}
.spin {
animation: blinker 0.75s ease-in-out infinite;
}
@keyframes blinker {
0% {
opacity: 100%;
}
50% {
opacity: 50%;
}
100% {
opacity: 100%;
}
2022-09-17 01:51:22 +08:00
}
.progress-bar-container {
width: 100%;
height: 2px;
}
.progress-bar {
2023-03-21 02:02:18 +08:00
background-color: var(--blue-500);
2022-09-17 01:51:22 +08:00
height: 100%;
transition: width 0.1s;
2022-10-01 22:31:02 +08:00
}
.colour-swatch {
2022-11-13 07:23:00 +08:00
border: 1px solid #8C8C8C80;
border-radius: 5px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
width: 100%;
2022-11-13 07:23:00 +08:00
margin: 0px;
padding: 0px;
}
.colour-swatch-hover {
border-color: var(--text-standard) !important;
}
2022-11-13 07:23:00 +08:00
.colour-swatch::-webkit-color-swatch-wrapper {
border: none;
margin: 0px;
padding: 0px;
}
.colour-swatch::-webkit-color-swatch {
border: none;
2022-11-13 07:23:00 +08:00
margin: 0px;
padding: 0px;
border-radius: 5px;
}
.texture-preview {
border: 1px solid #8C8C8C80;
border-radius: 5px;
width: calc(100% - 2px);
2022-11-13 07:23:00 +08:00
}
.texture-preview-missing {
border-color: orange !important;
}
.texture-hover {
border-color: var(--text-standard) !important;
2022-11-13 08:45:03 +08:00
}
.material-container {
2022-11-17 07:15:11 +08:00
}
.checkbox-text {
padding-left: 10px;
font-weight: 300;
color: var(--text-dim)
2022-11-17 07:15:11 +08:00
}
.checkbox-text-hover {
cursor: pointer;
2022-11-17 07:15:11 +08:00
}
2022-12-10 09:40:27 +08:00
.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;
}
.row-item {
display: flex;
flex-direction: row;
align-items: center;
}
.col-container {
display: flex;
flex-direction: row;
gap: 2px;
2023-03-02 02:06:13 +08:00
align-items: center;
}
.col-item {
display: flex;
flex-direction: column;
align-items: center;
}
2023-03-02 02:06:13 +08:00
.logo {
width: 32px;
margin-right: 10px;
}
.title {
2023-03-21 02:02:18 +08:00
font-weight: 400;
2023-03-02 02:06:13 +08:00
font-size: 110%;
}
.subtitle {
font-size: 90%;
font-weight: 300;
color: var(--text-dim);
2023-03-02 02:06:13 +08:00
}
.header-cols {
justify-content: space-between;
width: 100%;
2023-03-21 02:02:18 +08:00
padding-top: 7px;
}
.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;
2023-03-02 02:06:13 +08:00
}
.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 {
2023-03-02 02:06:13 +08:00
font-weight: 400;
2023-03-21 02:02:18 +08:00
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);
}