ObjToSchematic/styles.css

762 lines
12 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-06-28 03:28:24 +08:00
@import url('https://fonts.googleapis.com/css2?family=Martian+Mono&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;
--font-size-big: 14.96px;
--font-size-standard: 13.6px;
--font-size-small: 12.24px
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%);
2023-06-28 03:28:24 +08:00
font-size: var(--font-size-small);
color: var(--text-dim);
2023-06-28 03:28:24 +08:00
font-family: 'Martian Mono';
}
.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: var(--font-size-standard);
2023-03-21 02:02:18 +08:00
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: var(--font-size-standard);
2023-03-21 02:02:18 +08:00
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: var(--font-size-standard);
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;
font-size: var(--font-size-standard);
2023-03-21 06:21:43 +08:00
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
.struct-prop.disabled {
2023-03-21 02:02:18 +08:00
border-color: var(--gray-500);
color: var(--text-dark);
background: var(--gray-400);
cursor: inherit;
2023-03-21 02:02:18 +08:00
}
.struct-prop.hover {
2023-03-21 02:02:18 +08:00
border-color: var(--gray-700);
color: var(--text-light);
background: var(--gray-600);
cursor: pointer;
}
2023-03-21 02:02:18 +08:00
.struct-prop:not(.disabled):not(.hover) {
border-color: var(--gray-600);
color: var(--text-standard);
background: var(--gray-500);
}
.struct-prop.active.disabled {
2023-03-21 02:02:18 +08:00
border-color: var(--blue-450);
color: var(--text-dim);
background: var(--blue-400);
cursor: inherit;
2023-03-21 02:02:18 +08:00
}
.struct-prop.active.hover {
2023-03-21 02:02:18 +08:00
border-color: var(--blue-700);
color: var(--text-bright);
background: var(--blue-600);
cursor: pointer;
2021-10-05 07:32:03 +08:00
}
.struct-prop.active:not(.disabled):not(.hover) {
border-color: var(--blue-600);
color: var(--text-bright);
background: var(--blue-500);
}
.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 {
font-size: var(--font-size-standard);
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;
}
.spinbox-value .inactive .hover {
2023-03-21 06:31:41 +08:00
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;
text-align: center;
font-size: var(--font-size-standard);
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);
}
.colour-swatch:enabled::-webkit-color-swatch:hover {
2023-03-21 06:21:43 +08:00
border: 1px solid var(--gray-700);
filter: brightness(1.1);
cursor: pointer;
2022-11-13 07:23:00 +08:00
}
.colour-swatch:disabled::-webkit-color-swatch {
opacity: 0.25;
}
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;
}
.texture-preview.disabled {
filter: grayscale(0.5);
opacity: 0.5;
}
2022-11-13 07:23:00 +08:00
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;
}
.texture-preview-placeholder.disabled {
color: var(--text-dark);
}
2023-03-21 06:21:43 +08:00
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: var(--font-size-big);
2023-03-02 02:06:13 +08:00
}
.subtitle {
font-size: var(--font-size-small);
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: var(--font-size-standard);
2023-03-21 03:08:38 +08:00
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;
}
.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);
2024-04-05 06:34:58 +08:00
}
.announcement {
border: 1px solid var(--blue-600);
background: var(--blue-500);
margin-bottom: 30px;
padding: 10px;
color: var(--text-bright);
border-radius: 3px;
font-size: smaller;
2023-03-21 03:08:38 +08:00
}