mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
b77cd56a01
node-sass is deprecated and doesn't work on Node 16. sass is actively maintained and considered the canonical sass implementation.
375 lines
8.9 KiB
SCSS
375 lines
8.9 KiB
SCSS
/**
|
|
* Copyright JS Foundation and other contributors, http://js.foundation
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
**/
|
|
|
|
.nr-ui-view-lasso {
|
|
stroke-width: 1px;
|
|
stroke: $view-lasso-stroke;
|
|
fill: $view-lasso-fill;
|
|
stroke-dasharray: 10 5;
|
|
}
|
|
|
|
.node_label_italic, // deprecated: use red-ui-flow-node-label-italic
|
|
.red-ui-flow-node-label-italic {
|
|
font-style: italic;
|
|
}
|
|
.red-ui-flow-node-label-white {
|
|
fill: $view-background !important;
|
|
}
|
|
.red-ui-flow-node-label {
|
|
stroke-width: 0;
|
|
fill: $node-label-color;
|
|
font-size: 14px;
|
|
pointer-events: none;
|
|
-webkit-touch-callout: none;
|
|
@include disable-selection;
|
|
|
|
.red-ui-flow-node-label-text {
|
|
dominant-baseline: middle;
|
|
}
|
|
|
|
&.red-ui-flow-node-label-right .red-ui-flow-node-label-text {
|
|
text-anchor: end;
|
|
}
|
|
}
|
|
|
|
.red-ui-flow-port-label {
|
|
stroke-width: 0;
|
|
fill: $secondary-text-color;
|
|
font-size: 16px;
|
|
dominant-baseline: middle;
|
|
text-anchor: middle;
|
|
pointer-events: none;
|
|
-webkit-touch-callout: none;
|
|
@include disable-selection;
|
|
}
|
|
|
|
|
|
.red-ui-flow-node {
|
|
stroke: $node-border;
|
|
cursor: move;
|
|
stroke-width: 1;
|
|
}
|
|
.red-ui-workspace-select-mode {
|
|
g.red-ui-flow-node.red-ui-flow-node-hovered * {
|
|
cursor: pointer !important
|
|
}
|
|
g.red-ui-flow-node, g.red-ui-flow-link {
|
|
opacity: 0.5;
|
|
}
|
|
g.red-ui-flow-node.red-ui-flow-node-hovered:not(.red-ui-flow-node-selected) {
|
|
opacity: 0.9;
|
|
.red-ui-flow-node {
|
|
stroke-width: 2;
|
|
stroke: $node-selected-color !important;
|
|
stroke-dasharray: 10, 4;
|
|
}
|
|
}
|
|
}
|
|
|
|
.red-ui-flow-group {
|
|
&.red-ui-flow-group-hovered {
|
|
.red-ui-flow-group-outline-select {
|
|
stroke-opacity: 0.8 !important;
|
|
stroke-dasharray: 10 4 !important;
|
|
}
|
|
}
|
|
&.red-ui-flow-group-active-hovered:not(.red-ui-flow-group-hovered) {
|
|
.red-ui-flow-group-outline-select {
|
|
stroke: $link-link-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
.red-ui-flow-group-outline {
|
|
fill: none;
|
|
stroke: $node-selected-color;
|
|
stroke-opacity: 0;
|
|
stroke-width: 12;
|
|
pointer-events: stroke;
|
|
}
|
|
.red-ui-flow-group-outline-select {
|
|
fill: none;
|
|
stroke: $node-selected-color;
|
|
pointer-events: stroke;
|
|
stroke-opacity: 0;
|
|
stroke-width: 3;
|
|
|
|
&.red-ui-flow-group-outline-select-background {
|
|
stroke: $view-background;
|
|
stroke-width: 6;
|
|
}
|
|
}
|
|
.red-ui-flow-group-body {
|
|
pointer-events: none;
|
|
fill: $group-default-fill;
|
|
fill-opacity: $group-default-fill-opacity;
|
|
stroke-width: 2;
|
|
stroke: $group-default-stroke;
|
|
stroke-opacity: $group-default-stroke-opacity;
|
|
}
|
|
.red-ui-flow-group-label {
|
|
@include disable-selection;
|
|
fill: $group-default-label-color;
|
|
}
|
|
|
|
|
|
|
|
.red-ui-flow-node-unknown {
|
|
stroke-dasharray:10,4;
|
|
stroke: $node-border-unknown;
|
|
}
|
|
.red-ui-flow-node-placeholder {
|
|
stroke-dasharray:10,4;
|
|
stroke: $node-border-placeholder;
|
|
fill: $node-background-placeholder;
|
|
opacity: 0.5;
|
|
stroke-width: 2;
|
|
}
|
|
.red-ui-flow-node-icon-group {
|
|
text {
|
|
@include disable-selection;
|
|
}
|
|
.fa-lg {
|
|
@include disable-selection;
|
|
stroke: none;
|
|
fill: $node-icon-color;
|
|
text-anchor: middle;
|
|
font-family: FontAwesome;
|
|
}
|
|
}
|
|
.red-ui-flow-node-icon-shade {
|
|
stroke: none;
|
|
fill: $node-icon-background-color-fill;
|
|
fill-opacity: $node-icon-background-color-opacity;
|
|
}
|
|
.red-ui-flow-node-icon-shade-border {
|
|
stroke-opacity: $node-icon-border-color-opacity;
|
|
stroke: $node-icon-border-color;
|
|
stroke-width: 1;
|
|
}
|
|
|
|
.red-ui-flow-node-button {
|
|
fill: inherit;
|
|
&.red-ui-flow-node-button-disabled {
|
|
opacity: 0.4;
|
|
.red-ui-flow-node-button-button {
|
|
cursor: default;
|
|
}
|
|
}
|
|
}
|
|
.red-ui-flow-node-button-button {
|
|
cursor: pointer;
|
|
}
|
|
.red-ui-flow-node-button-background {
|
|
fill: $node-background-placeholder;
|
|
}
|
|
|
|
.red-ui-flow-port {
|
|
stroke: $node-border;
|
|
stroke-width: 1;
|
|
fill: $node-port-background;
|
|
cursor: crosshair;
|
|
}
|
|
|
|
.red-ui-flow-node-error {
|
|
fill: $node-status-error-background;
|
|
stroke: $node-status-error-border;
|
|
stroke-width:1px;
|
|
cursor: default;
|
|
stroke-linejoin: round;
|
|
stroke-linecap: round;
|
|
}
|
|
.red-ui-flow-node-changed {
|
|
fill: $node-status-changed-background;
|
|
stroke: $node-status-changed-border;
|
|
cursor: default;
|
|
stroke-width:1px;
|
|
stroke-linejoin: round;
|
|
stroke-linecap: round;
|
|
}
|
|
|
|
g.red-ui-flow-node-selected {
|
|
.red-ui-workspace-select-mode & {
|
|
opacity: 1;
|
|
}
|
|
.red-ui-flow-node,.red-ui-flow-subflow-port {
|
|
stroke-width: 2;
|
|
stroke: $node-selected-color !important;
|
|
}
|
|
}
|
|
.red-ui-flow-node-highlighted {
|
|
border-color: $node-selected-color !important;
|
|
border-style: dashed !important;
|
|
stroke: $node-selected-color;
|
|
stroke-width: 3;
|
|
stroke-dasharray: 8, 4;
|
|
}
|
|
|
|
.red-ui-flow-subflow .red-ui-flow-node {
|
|
}
|
|
|
|
.red-ui-workspace-disabled {
|
|
.red-ui-flow-node {
|
|
stroke-dasharray: 8, 3;
|
|
fill-opacity: 0.5;
|
|
}
|
|
.red-ui-flow-link-line {
|
|
stroke-dasharray: 10,8 !important;
|
|
stroke-width: 2 !important;
|
|
stroke: $link-disabled-color;
|
|
}
|
|
.red-ui-flow-port {
|
|
fill-opacity: 1;
|
|
stroke-dasharray: none;
|
|
}
|
|
.red-ui-flow-group, .red-ui-flow-group-body {
|
|
stroke-dasharray: 8, 3;
|
|
}
|
|
}
|
|
.red-ui-flow-node-disabled {
|
|
&.red-ui-flow-node, .red-ui-flow-node {
|
|
stroke-dasharray: 8, 3;
|
|
fill-opacity: 0.5;
|
|
}
|
|
&.red-ui-flow-link-line {
|
|
stroke-dasharray: 10,8 !important;
|
|
stroke-width: 2 !important;
|
|
stroke: $link-disabled-color;
|
|
}
|
|
.red-ui-flow-port {
|
|
fill-opacity: 1;
|
|
stroke-dasharray: none;
|
|
}
|
|
}
|
|
@each $current-color in red green yellow blue grey gray {
|
|
.red-ui-flow-node-status-dot-#{""+$current-color} {
|
|
fill: map-get($node-status-colors,$current-color);
|
|
stroke: map-get($node-status-colors,$current-color);
|
|
}
|
|
.red-ui-flow-node-status-ring-#{""+$current-color} {
|
|
fill: $view-background;
|
|
stroke: map-get($node-status-colors,$current-color);
|
|
}
|
|
}
|
|
|
|
.red-ui-flow-node-status-label {
|
|
@include disable-selection;
|
|
stroke-width: 0;
|
|
fill: $secondary-text-color;
|
|
font-size:9pt;
|
|
text-anchor:start;
|
|
}
|
|
|
|
.red-ui-flow-port-hovered {
|
|
stroke: $port-selected-color;
|
|
fill: $port-selected-color;
|
|
}
|
|
|
|
.red-ui-flow-subflow-port {
|
|
fill: $node-background-placeholder;
|
|
stroke: $node-border;
|
|
}
|
|
|
|
.red-ui-flow-drag-line {
|
|
stroke: $node-selected-color !important;
|
|
stroke-width: 3;
|
|
fill: none;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.red-ui-flow-link-line {
|
|
stroke: $link-color;
|
|
stroke-width: 3;
|
|
fill: none;
|
|
pointer-events: none;
|
|
}
|
|
.red-ui-flow-link-link {
|
|
stroke-width: 2;
|
|
stroke: $link-link-color;
|
|
fill: none;
|
|
stroke-dasharray: 25,4;
|
|
}
|
|
.red-ui-flow-link-off-flow {
|
|
stroke-width: 2;
|
|
}
|
|
|
|
.red-ui-flow-link-port {
|
|
fill: $node-link-port-background;
|
|
stroke: $link-link-color;
|
|
stroke-width: 1;
|
|
}
|
|
.red-ui-flow-link-group-active .red-ui-flow-link-port {
|
|
stroke: $link-link-active-color;
|
|
}
|
|
.red-ui-flow-link-group:hover {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.red-ui-flow-link-outline {
|
|
stroke: $view-background;
|
|
stroke-opacity: 0.4;
|
|
stroke-width: 5;
|
|
cursor: crosshair;
|
|
fill: none;
|
|
pointer-events: none;
|
|
}
|
|
.red-ui-flow-link-background {
|
|
stroke: $view-background;
|
|
opacity: 0;
|
|
stroke-width: 20;
|
|
cursor: crosshair;
|
|
fill: none;
|
|
}
|
|
.red-ui-flow-link-splice > .red-ui-flow-link-line {
|
|
stroke-dasharray: 15,8;
|
|
}
|
|
|
|
g.red-ui-flow-link-selected path.red-ui-flow-link-line {
|
|
stroke: $node-selected-color;
|
|
}
|
|
g.red-ui-flow-link-unknown path.red-ui-flow-link-line {
|
|
stroke: $link-unknown-color;
|
|
stroke-width: 2;
|
|
stroke-dasharray: 10, 4;
|
|
}
|
|
|
|
// @keyframes *must* be on multiple lines so build-custom-theme can filter them out
|
|
@keyframes red-ui-flow-port-tooltip-fadeIn {
|
|
from { opacity:0; } to { opacity:1; }
|
|
}
|
|
|
|
.red-ui-flow-port-tooltip {
|
|
opacity:0;
|
|
animation: 0.1s ease-in 0s 1 normal forwards red-ui-flow-port-tooltip-fadeIn;
|
|
pointer-events: none;
|
|
|
|
path:first-child {
|
|
fill: $popover-background;
|
|
stroke: $popover-background;
|
|
stroke-width: 1;
|
|
}
|
|
}
|
|
.red-ui-flow-port-tooltip-label {
|
|
stroke-width: 0;
|
|
fill: $popover-color;
|
|
font-family: $primary-font;
|
|
font-size: 12px;
|
|
pointer-events: none;
|
|
-webkit-touch-callout: none;
|
|
white-space: pre;
|
|
@include disable-selection;
|
|
}
|