.react-flow { width: 100%; height: 100%; position: relative; overflow: hidden; } .react-flow__renderer, .react-flow__pane, .react-flow__selectionpane { width: 100%; height: 100%; position: absolute; top: 0; left: 0; } .react-flow__pane { z-index: 1; } .react-flow__renderer { z-index: 4; } .react-flow__selectionpane { z-index: 5; } .react-flow__selection { position: absolute; top: 0; left: 0; background: rgba(0, 89, 220, 0.08); border: 1px dotted rgba(0, 89, 220, 0.8); } .react-flow__edges { position: absolute; top: 0; left: 0; pointer-events: none; z-index: 2; } .react-flow__edge { pointer-events: all; &.inactive { pointer-events: none; } &.selected { .react-flow__edge-path { stroke: #555; } } &.animated path { stroke-dasharray: 5; animation: dashdraw 0.5s linear infinite; } &.updating { .react-flow__edge-path { stroke: #777; } } } @keyframes dashdraw { from { stroke-dashoffset: 10; } } .react-flow__edge-path { fill: none; stroke: #b1b1b7; stroke-width: 1; } .react-flow__edge-text { font-size: 10px; pointer-events: none; user-select: none; } .react-flow__edge-textbg { fill: white; } .react-flow__connection { pointer-events: none; .animated { stroke-dasharray: 5; animation: dashdraw 0.5s linear infinite; } } .react-flow__connection-path { fill: none; stroke: #b1b1b7; stroke-width: 1; } .react-flow__nodes { position: absolute; width: 100%; height: 100%; pointer-events: none; transform-origin: 0 0; z-index: 3; } .react-flow__node { position: absolute; user-select: none; pointer-events: all; transform-origin: 0 0; cursor: grab; } .react-flow__node-default, .react-flow__node-input, .react-flow__node-output { padding: 10px; border-radius: 3px; width: 150px; font-size: 12px; color: #222; text-align: center; border-width: 1px; border-style: solid; } .react-flow__node-default.selectable, .react-flow__node-input.selectable, .react-flow__node-output.selectable { &:hover { box-shadow: 0 1px 4px 1px rgba(0, 0, 0, 0.08); } } .react-flow__node-input { background: #fff; border-color: #0041d0; &.selected, &.selected:hover { box-shadow: 0 0 0 0.5px #0041d0; } .react-flow__handle { background: #0041d0; } } .react-flow__node-default { background: #fff; border-color: #1a192b; &.selected, &.selected:hover { box-shadow: 0 0 0 0.5px #1a192b; } .react-flow__handle { background: #1a192b; } } .react-flow__node-output { background: #fff; border-color: #ff0072; &.selected, &.selected:hover { box-shadow: 0 0 0 0.5px #ff0072; } .react-flow__handle { background: #ff0072; } } .react-flow__nodesselection { z-index: 3; position: absolute; width: 100%; height: 100%; top: 0; left: 0; transform-origin: left top; pointer-events: none; &-rect { position: absolute; background: rgba(0, 89, 220, 0.08); border: 1px dotted rgba(0, 89, 220, 0.8); pointer-events: all; } } .react-flow__handle { position: absolute; width: 6px; height: 6px; background: #555; border: 1px solid white; pointer-events: none; border-radius: 100%; &.connectable { pointer-events: all; cursor: crosshair; } } .react-flow__handle-bottom { top: auto; left: 50%; bottom: -4px; transform: translate(-50%, 0); } .react-flow__handle-top { left: 50%; top: -4px; transform: translate(-50%, 0); } .react-flow__handle-left { top: 50%; left: -4px; transform: translate(0, -50%); } .react-flow__handle-right { right: -4px; top: 50%; transform: translate(0, -50%); } .react-flow__edgeupdater { cursor: move; }