.react-graph { width: 100%; height: 100%; position: relative; overflow: hidden; } .react-graph__renderer { width: 100%; height: 100%; position: absolute; } .react-graph__zoompane { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; } .react-graph__selectionpane { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 2; } .react-graph__selection { position: absolute; top: 0; left: 0; background: rgba(0, 89, 220, 0.08); border: 1px dotted rgba(0, 89, 220, 0.8); } .react-graph__edges { position: absolute; top: 0; left: 0; pointer-events: none; z-index: 2; } .react-graph__edge { fill: none; stroke: #bbb; stroke-width: 2; pointer-events: all; &.selected { stroke: #555; } &.animated { stroke-dasharray: 5; animation: dashdraw 0.5s linear infinite; } } @keyframes dashdraw { from {stroke-dashoffset: 10} } .react-graph__nodes { width: 100%; height: 100%; position: absolute; z-index: 3; pointer-events: none; transform-origin: 0 0; } .react-graph__node { position: absolute; color: #222; font-family: sans-serif; font-size: 12px; text-align: center; cursor: grab; user-select: none; pointer-events: all; transform-origin: 0 0; &:hover > * { box-shadow: 0 1px 5px 2px rgba(0, 0, 0, 0.08); } &.selected > * { box-shadow: 0 0 0 2px #555; } } .react-graph__handle { position: absolute; width: 10px; height: 5px; transform: translate(-50%, 0); background: rgba(255, 255, 255, 0.4); left: 50%; top: 0; &.output { top: auto; bottom: 0; } } .react-graph__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; } }