ObjToSchematic/styles.css

672 lines
11 KiB
CSS
Raw Normal View History

2023-03-21 03:08:38 +08:00
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@400&display=swap');
2023-03-21 02:02:18 +08:00
@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 */
2023-03-21 03:08:38 +08:00
--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;
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;
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);
2023-03-21 03:08:38 +08:00
color: var(--gray-800);
2023-03-21 02:02:18 +08:00
}
.gutter.gutter-vertical {
cursor: row-resize;
}
2023-03-03 03:51:53 +08:00
.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 {
2023-03-21 03:08:38 +08:00
cursor: grab;
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;
2023-03-21 06:21:43 +08:00
width: 100%;
2023-03-21 02:02:18 +08:00
}
.container-checkbox {
width: var(--property-height);
height: var(--property-height);
}
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-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;
2023-03-21 03:08:38 +08:00
padding-top: 20px;
2023-01-24 04:48:21 +08:00
}
.group-heading {
2023-03-21 06:21:43 +08:00
color: var(--gray-700);
2023-03-21 02:02:18 +08:00
letter-spacing: 4px;
font-size: 85%;
2023-03-21 03:08:38 +08:00
padding: 12px 0px;
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-03-21 06:21:43 +08:00
width: 40%;
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;
2023-03-21 06:21:43 +08:00
overflow-x: auto;
}
input {
2023-03-21 02:02:18 +08:00
font-family: 'Rubik', sans-serif;
text-align: center;
2023-03-21 06:21:43 +08:00
font-size: inherit;
outline: none;
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
}
2023-03-21 06:21:43 +08:00
input[type=number]:not(:disabled) {
cursor: text;
}
2023-03-21 06:31:41 +08:00
input[type=text]:not(:disabled) {
cursor: text;
}
::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 06:21:43 +08:00
position: relative;
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
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;
}
2023-03-21 06:31:41 +08:00
.spinbox-value.style-inactive-hover {
cursor: e-resize;
}
.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;
2023-03-21 06:21:43 +08:00
margin: 20px;
gap: 20px;
2022-03-22 05:32:45 +08:00
}
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);
}
2023-03-21 02:02:18 +08:00
.container-icon-button {
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 {
2023-03-21 06:21:43 +08:00
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: none;
width: 100%;
2023-03-21 06:21:43 +08:00
height: var(--property-height);
2022-11-13 07:23:00 +08:00
margin: 0px;
padding: 0px;
}
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;
2023-03-21 06:21:43 +08:00
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;
2022-11-13 07:23:00 +08:00
}
.texture-preview {
2023-03-21 06:21:43 +08:00
border: 1px solid var(--gray-600);
2022-11-13 07:23:00 +08:00
border-radius: 5px;
2023-03-21 06:21:43 +08:00
width: 100%;
2022-11-13 07:23:00 +08:00
}
.texture-preview-missing {
border-color: orange !important;
}
2023-03-21 06:21:43 +08:00
.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;
}
2022-11-13 07:23:00 +08:00
.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;
color: var(--text-dim)
2022-11-17 07:15:11 +08:00
}
2023-03-22 02:42:59 +08:00
.checkbox-text.text-light {
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;
2023-03-21 06:21:43 +08:00
width: 100%;
}
.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 {
font-size: 110%;
}
.subtitle {
font-size: 90%;
color: var(--text-dim);
2023-03-02 02:06:13 +08:00
}
.header-cols {
2023-03-21 03:08:38 +08:00
align-items: start;
2023-03-02 02:06:13 +08:00
justify-content: space-between;
width: 100%;
2023-03-21 03:08:38 +08:00
color: var(--text-standard);
font-size: 85%;
padding-top: 5px;
2023-03-21 02:02:18 +08:00
}
.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
}
2023-03-21 06:21:43 +08:00
.struct-prop.container-icon-button:only-of-type {
border-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-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);
2023-03-21 06:21:43 +08:00
}
.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;
2023-03-21 03:08:38 +08:00
}