mirror of
https://github.com/misode/misode.github.io.git
synced 2026-04-23 23:27:09 +00:00
352 lines
7.8 KiB
CSS
352 lines
7.8 KiB
CSS
:root {
|
|
--node-border: #bcbfc3;
|
|
--node-background-label: #e4e4e4;
|
|
--node-background-input: #ffffff;
|
|
--node-text: #000000;
|
|
--node-selected: #f0e65e;
|
|
--node-selected-border: #b9a327;
|
|
--node-add: #9bd464;
|
|
--node-add-border: #498d09;
|
|
--node-remove: #e76f51;
|
|
--node-remove-border: #be4b2e;
|
|
--node-indent-border: #b9b9b9;
|
|
--node-popup-background: #1f2020e6;
|
|
--node-popup-text: #dadada;
|
|
--category-predicate: #65b5b8;
|
|
--category-predicate-border: #187e81;
|
|
--category-predicate-background: #95c5c7;
|
|
--category-function: #979fa7;
|
|
--category-function-border: #788086;
|
|
--category-function-background: #dce0e4;
|
|
}
|
|
|
|
:root[data-theme=dark] {
|
|
--node-border: #4e4e4e;
|
|
--node-background-label: #1b1b1b;
|
|
--node-background-input: #272727;
|
|
--node-text: #dadada;
|
|
--node-selected: #ad9715;
|
|
--node-selected-border: #8d7a0d;
|
|
--node-add: #5a961e;
|
|
--node-add-border: #3b6e0c;
|
|
--node-remove: #b64023;
|
|
--node-remove-border: #7e1d05;
|
|
--node-indent-border: #454749;
|
|
--node-popup-background: #0a0a0ae6;
|
|
--node-popup-text: #dadada;
|
|
--category-predicate: #306163;
|
|
--category-predicate-border: #224849;
|
|
--category-predicate-background: #1d3333;
|
|
--category-function: #838383;
|
|
--category-function-border: #6b6b6b;
|
|
--category-function-background: #414141;
|
|
}
|
|
|
|
#tree-view-output > .object-node > .node-body {
|
|
border-left: none;
|
|
padding-left: 0;
|
|
}
|
|
|
|
#tree-view-output > .node > .node-body {
|
|
margin-top: -5px; /* no idea why this is necessary */
|
|
}
|
|
|
|
.node {
|
|
margin: 2px 0;
|
|
}
|
|
|
|
.node-body > .node:first-child {
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.node:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.node-body {
|
|
border-left: 3px solid var(--node-indent-border);
|
|
transition: border-color var(--style-transition);
|
|
}
|
|
|
|
/* Node headers */
|
|
|
|
.node-header {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.node-header > * {
|
|
height: 34px;
|
|
border: 1px solid;
|
|
color: var(--node-text);
|
|
border-color: var(--node-border);
|
|
transition: all var(--style-transition);
|
|
}
|
|
|
|
.node-header > label {
|
|
padding: 0 9px;
|
|
line-height: 1.94rem;
|
|
white-space: nowrap;
|
|
background-color: var(--node-background-label);
|
|
}
|
|
|
|
.node-header > input {
|
|
font-size: 18px;
|
|
padding-left: 9px;
|
|
background-color: var(--node-background-input);
|
|
}
|
|
|
|
.node-header > input[type="color"] {
|
|
padding: 0 2px;
|
|
}
|
|
|
|
.node-header > select {
|
|
font-size: 18px;
|
|
padding-left: 6px;
|
|
background-color: var(--node-background-input);
|
|
}
|
|
|
|
.node-header > button {
|
|
font-size: 18px;
|
|
padding: 0 9px;
|
|
line-height: 1.94rem;
|
|
user-select: none;
|
|
cursor: pointer;
|
|
background-color: var(--node-background-input);
|
|
}
|
|
|
|
.object-node > .node-header > .collapse {
|
|
cursor: pointer;
|
|
}
|
|
|
|
/** Rounded corners */
|
|
|
|
.node-header > *:first-child {
|
|
border-top-left-radius: 3px;
|
|
border-bottom-left-radius: 3px;
|
|
}
|
|
|
|
.node-header > *:last-child,
|
|
.node-header > input[list]:nth-last-child(2),
|
|
.node-header[data-help] > *:nth-last-child(2),
|
|
.node-header[data-help] > input[list]:nth-last-child(3),
|
|
.node-header[data-error] > *:nth-last-child(2),
|
|
.node-header[data-error] > input[list]:nth-last-child(3),
|
|
.node-header[data-help][data-error] > *:nth-last-child(3),
|
|
.node-header[data-help][data-error] > input[list]:nth-last-child(4) {
|
|
border-top-right-radius: 3px;
|
|
border-bottom-right-radius: 3px;
|
|
}
|
|
|
|
.node-header > *:not(:last-child) {
|
|
margin-right: -1px;
|
|
}
|
|
|
|
.object-node > .node-header > *:first-child,
|
|
.map-node > .node-header > *:first-child,
|
|
.list-node > .node-header > *:first-child {
|
|
border-top-left-radius: 8px;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
|
|
.node-header > .collapse.closed {
|
|
border-bottom-left-radius: 3px;
|
|
}
|
|
|
|
/* Buttons */
|
|
|
|
button.selected {
|
|
background-color: var(--node-selected);
|
|
border-color: var(--node-selected-border);
|
|
}
|
|
|
|
.collapse {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.collapse svg {
|
|
fill: var(--node-text);
|
|
transition: fill var(--style-transition);
|
|
}
|
|
|
|
.collapse.closed,
|
|
button.add {
|
|
background-color: var(--node-add);
|
|
border-color: var(--node-add-border);
|
|
}
|
|
|
|
.collapse.open,
|
|
button.remove {
|
|
background-color: var(--node-remove);
|
|
border-color: var(--node-remove-border);
|
|
}
|
|
|
|
.node-header > button svg {
|
|
display: inline-block;
|
|
position: relative;
|
|
top: 2px;
|
|
fill: var(--node-text);
|
|
transition: fill var(--style-transition);
|
|
}
|
|
|
|
.node-header > button.add:last-child {
|
|
border-top-right-radius: 6px;
|
|
border-bottom-right-radius: 6px;
|
|
}
|
|
|
|
.node-icon {
|
|
border: none;
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.node-icon svg {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.node-icon .icon-popup {
|
|
visibility: hidden;
|
|
width: 240px;
|
|
background-color: var(--node-popup-background);
|
|
color: var(--node-popup-text);
|
|
text-align: center;
|
|
border-radius: 6px;
|
|
padding: 8px 4px;
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 125%;
|
|
left: 50%;
|
|
margin-left: -120px;
|
|
}
|
|
|
|
.node-icon .icon-popup::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 100%;
|
|
left: 50%;
|
|
margin-left: -3px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
border-color: transparent transparent var(--node-popup-background) transparent;
|
|
}
|
|
|
|
.node-icon:hover .icon-popup,
|
|
.node-icon .icon-popup.show {
|
|
visibility: visible;
|
|
}
|
|
|
|
.node-icon > svg {
|
|
height: 34px;
|
|
width: 34px;
|
|
min-width: 34px;
|
|
margin-left: 6px;
|
|
transition: fill var(--style-transition);
|
|
}
|
|
|
|
.node-header svg.node-help {
|
|
fill: var(--node-border);
|
|
}
|
|
|
|
.node-header svg.node-error {
|
|
fill: var(--node-remove);
|
|
}
|
|
|
|
/* Node body and list entry */
|
|
|
|
.node-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding-left: 18px;
|
|
}
|
|
|
|
.node-entry > .object-node > .node-body {
|
|
padding-left: 0;
|
|
}
|
|
|
|
.node-entry > .object-node > .node-body > .node > .node-body {
|
|
border-left: none;
|
|
}
|
|
|
|
.node-entry > .object-node > .node-body > .node.node-header > *:first-child,
|
|
.node-entry > .object-node > .node-body > .node > .node-header > *:first-child {
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
border-left: none;
|
|
}
|
|
|
|
.node-entry {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-top: 2px;
|
|
}
|
|
|
|
.node-entry > .object-node[data-category] {
|
|
width: 100%;
|
|
min-width: max-content;
|
|
padding: 5px;
|
|
padding-left: 0px;
|
|
margin-top: 8px;
|
|
border: 2px solid var(--node-border);
|
|
border-radius: 3px;
|
|
transition: background-color var(--style-transition);
|
|
}
|
|
|
|
.node-entry:first-child > .object-node[data-category] {
|
|
margin-top: 4px;
|
|
}
|
|
|
|
.node-entry > .node.object-node[data-category] > .node-body {
|
|
border: none;
|
|
}
|
|
|
|
/* Node type specifics */
|
|
|
|
.range-node select {
|
|
width: 25px;
|
|
}
|
|
|
|
.number-node input,
|
|
.range-node input {
|
|
width: 100px;
|
|
}
|
|
|
|
/* Color categories */
|
|
|
|
[data-category=predicate] > .node-header > label,
|
|
[data-category=predicate] > .node-body > .node.node-header > label,
|
|
[data-category=predicate] > .node-body > .node > .node-header > label {
|
|
background-color: var(--category-predicate) !important;
|
|
}
|
|
|
|
[data-category=predicate] > .node-body,
|
|
[data-category=predicate] > .node-header > label,
|
|
[data-category=predicate] > .node-body > .node.node-header > *:not(.selected),
|
|
[data-category=predicate] > .node-body > .node > .node-header > *:not(.selected) {
|
|
border-color: var(--category-predicate-border) !important;
|
|
}
|
|
|
|
.node-entry > .node.object-node[data-category=predicate] {
|
|
background-color: var(--category-predicate-background);
|
|
border-color: var(--category-predicate-border);
|
|
}
|
|
|
|
[data-category=function] > .node-header > label,
|
|
[data-category=function] > .node-body > .node.node-header > label,
|
|
[data-category=function] > .node-body > .node > .node-header > label {
|
|
background-color: var(--category-function) !important;
|
|
}
|
|
|
|
[data-category=function] > .node-body,
|
|
[data-category=function] > .node-header > label,
|
|
[data-category=function] > .node-body > .node.node-header > *:not(.selected),
|
|
[data-category=function] > .node-body > .node > .node-header > *:not(.selected) {
|
|
border-color: var(--category-function-border) !important;
|
|
}
|
|
|
|
.node-entry > .node.object-node[data-category=function] {
|
|
background-color: var(--category-function-background);
|
|
border-color: var(--category-function-border);
|
|
}
|