Skip to content

Commit

Permalink
Merge pull request #374 from XpressAI/paul/pan-background
Browse files Browse the repository at this point in the history
🐛 Various Light Mode Fixes
  • Loading branch information
treo authored Feb 5, 2025
2 parents 89e4d37 + ecf21b1 commit a3e65b7
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 21 deletions.
31 changes: 22 additions & 9 deletions src/components/XircuitsBodyWidget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1202,20 +1202,12 @@ export const BodyWidget: FC<BodyWidgetProps> = ({
hidePanel();
};

const [translate, setTranslate] = useState({x: 0, y: 0, scale: 1})
useEffect(() => {
const canvas = xircuitsApp.getDiagramEngine().getCanvas()
canvas.addEventListener('wheel', preventDefault);
const observer = new MutationObserver(function(mutations){
//@ts-ignore
const [_, x, y, scale] = canvas.firstChild.style.transform.match(/translate\((.+)px, (.+)px\) scale\((.+)\)/);
setTranslate({x: parseFloat(x), y: parseFloat(y), scale: parseFloat(scale)});
})
observer.observe(canvas.firstChild, {attributes: true, attributeFilter: ['style']});

return () => {
canvas.removeEventListener('wheel', preventDefault);
observer.disconnect();
}
}, [xircuitsApp.getDiagramEngine().getCanvas()])

Expand All @@ -1232,6 +1224,27 @@ export const BodyWidget: FC<BodyWidgetProps> = ({
};
}, []);

const [translate, setTranslate] = useState({ x: 0, y: 0, scale: 1 });
useEffect(() => {
const canvas = xircuitsApp.getDiagramEngine().getCanvas();
const observer = new MutationObserver(function(mutations) {
//@ts-ignore
const [_, x, y, scale] = canvas.firstChild.style.transform.match(/translate\((.+)px, (.+)px\) scale\((.+)\)/);
setTranslate({ x: parseFloat(x), y: parseFloat(y), scale: parseFloat(scale) });
});
observer.observe(canvas.querySelector("svg"), { attributes: true, attributeFilter: ["style"] });

// Change the observation target when things change.
((new MutationObserver(function() {
observer.disconnect();
observer.observe(canvas.querySelector("svg"), { attributes: true, attributeFilter: ["style"] });
})).observe(canvas, { childList: true }));

return () => {
observer.disconnect();
};
}, [xircuitsApp.getDiagramEngine().getCanvas()?.firstChild]);

return (
<Body>
<Content>
Expand All @@ -1249,7 +1262,7 @@ export const BodyWidget: FC<BodyWidgetProps> = ({
onMouseDown={preventDefault}
onContextMenu={showCanvasContextMenu}
onClick={handleClick}>
<XircuitsCanvasWidget translate={translate}>
<XircuitsCanvasWidget translate={translate} >
<CanvasWidget engine={xircuitsApp.getDiagramEngine()}/>
{/* Add Component Panel(ctrl + left-click, dropped link) */}
{isComponentPanelShown && (
Expand Down
10 changes: 5 additions & 5 deletions src/components/node/CustomNodeWidget.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ const CommentNode = ({ node }) => {

return (
<S.CommentContainer
className="node comment-node"
className={"node comment-node "+(node.isSelected() ? "selected" : "")}
onDoubleClick={handleEditComment} selected={node.isSelected()} onMouseDown={addGrabbing} onMouseUp={removeGrabbing}>
<S.TitleName><b>{node.getOptions().name}</b></S.TitleName>
<div className='comment-component-content'>
Expand Down Expand Up @@ -232,7 +232,7 @@ const ParameterNode = ({ node, engine, app }) => {

return (
<S.Node
className="node parameter-node"
className={"node parameter-node "+(node.isSelected() ? "selected" : "")}
onMouseDown={addGrabbing} onMouseUp={removeGrabbing}
borderColor={node.getOptions().extras["borderColor"]}
data-default-node-name={node.getOptions().name}
Expand All @@ -252,7 +252,7 @@ const ParameterNode = ({ node, engine, app }) => {

const StartFinishNode = ({ node, engine, handleDeletableNode, app }) => (
<S.Node
className="node start-finish-node"
className={"node start-finish-node "+(node.isSelected() ? "selected" : "")}
onMouseDown={addGrabbing} onMouseUp={removeGrabbing}
borderColor={node.getOptions().extras["borderColor"]}
data-default-node-name={node.getOptions().name}
Expand Down Expand Up @@ -281,7 +281,7 @@ const WorkflowNode = ({ node, engine, app, handleDeletableNode }) => {
data-default-node-name={node.getOptions().name}
selected={node.isSelected()}
background={node.getOptions().color}
className="node workflow-node"
className={"node workflow-node "+(node.isSelected() ? "selected" : "")}
>
<S.Title background={node.getOptions().color}
>
Expand Down Expand Up @@ -337,7 +337,7 @@ const ComponentLibraryNode = ({ node, engine, shell, app, handleDeletableNode })
</div>
</div>}
<S.Node
className="node library-node"
className={"node library-node "+(node.isSelected() ? "selected" : "")}
onMouseDown={addGrabbing} onMouseUp={removeGrabbing}
ref={(elementRef as LegacyRef<HTMLDivElement>)}
data-tip data-for={node.getOptions().id}
Expand Down
5 changes: 4 additions & 1 deletion src/dialog/FormDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,10 @@ const preventDefaultDialogHandler = (
await defaultButton.focus();
}
} else {
dialogHandleEvent.call(dialog, event);
// Explicitly allow context menu for inputs and textarea elements
if(!(event.type === 'contextmenu' && ['TEXTAREA', 'INPUT'].includes(event.target['tagName']))){
dialogHandleEvent.call(dialog, event);
}
}
};
};
Expand Down
4 changes: 2 additions & 2 deletions src/tray_library/NodePreview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export function NodePreview(props: { model: any }) {
}
}

return <NodeStyle.Ports>
return <NodeStyle.Ports className="ports">
<NodeStyle.PortsContainer>{inPorts.map(p => <PortComponent port={p} direction="in"
key={p.name} />)}</NodeStyle.PortsContainer>
<NodeStyle.PortsContainer>{outPorts.map(p => <PortComponent port={p} direction="out"
Expand All @@ -87,7 +87,7 @@ export function NodePreview(props: { model: any }) {
borderColor={model.color}
selected={false}
background={null}
className={model.type === "xircuits_workflow" ? "workflow-node" : null}
className={"node " + (model.type === "xircuits_workflow" ? "workflow-node" : "")}
style={{ backgroundColor: "black" }}
>
<NodeStyle.Title background={model.color}>
Expand Down
28 changes: 25 additions & 3 deletions style/base.css
Original file line number Diff line number Diff line change
Expand Up @@ -113,18 +113,40 @@ body.light-mode .xircuits-canvas {
text-rendering: optimizeLegibility;
}

body.light-mode .xircuits-canvas .node {
body.light-mode .xircuits-canvas .node, body.light-mode #xircuits-component-sidebar .node, body.light-mode #sidebar-tooltip .node {
box-shadow: none;
border-color: oklch(0.8 0 0 / 1);
}

body.light-mode .xircuits-canvas .node.selected {
box-shadow: 1px 1px 10px 3px rgb(0 192 255 / 0.5);
border-color: rgb(0,192,255);
}

body.light-mode .xircuits-canvas .node>div:nth-child(2) {
color: black;
background-image: linear-gradient(oklch(99% 0 0 / 0.7), oklch(99% 0 0 / 0.9));
}

body.light-mode .xircuits-canvas .node .port>div>div{
background: oklch(0.75 0 0 / 0.5);
body.light-mode #xircuits-component-sidebar .node, body.light-mode #sidebar-tooltip .node {
background-color: white !important;
}

body.light-mode .xircuits-canvas .node.workflow-node>div:nth-child(2), body.light-mode #xircuits-component-sidebar .workflow-node.node>div:nth-child(2), body.light-mode #sidebar-tooltip .workflow-node.node>div:nth-child(2) {
background: linear-gradient(oklch(99% 0 0 / 0.7), oklch(99% 0 0 / 0.9)), url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMDQgMzA0IiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+CiAgPHBhdGgKICAgICBmaWxsPSJva2xjaCgwJSAwIDAgLyA1MCUpIgogICAgIGQ9Im0gMjA0LjEsMjcyIGMgMS4yMDgyNSwtNS45MTkxNyA5Ljg5NTcyLC01LjAxMzEzIDkuODk1NzIsMSAwLDYuMDEzMTMgLTguNjg3NDcsNi45MTkxNyAtOS44OTU3MiwxIEggODIgdiAtMiB6IG0gNTcuOCwtNDYgYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcyLDUuMDEzMTMgLTkuODk1NzIsLTEgMCwtNi4wMTMxMyA4LjY4NzQ3LC02LjkxOTE3IDkuODk1NzIsLTEgSCAzMDQgdiAyIHogbSAwLDE2IGMgLTEuMjA4MjUsNS45MTkxNyAtOS44OTU3Miw1LjAxMzEzIC05Ljg5NTcyLC0xIDAsLTYuMDEzMTMgOC42ODc0NywtNi45MTkxNyA5Ljg5NTcyLC0xIEggMzA0IHYgMiB6IG0gNi4yLC0xMTQgYyAxLjIwODI1LC01LjkxOTE3IDkuODk1NzIsLTUuMDEzMTMgOS44OTU3MiwxIDAsNi4wMTMxMyAtOC42ODc0Nyw2LjkxOTE3IC05Ljg5NTcyLDEgaCAtODYuMiBjIC0xLjIwODI1LDUuOTE5MTcgLTkuODk1NzIsNS4wMTMxMyAtOS44OTU3MiwtMSAwLC02LjAxMzEzIDguNjg3NDcsLTYuOTE5MTcgOS44OTU3MiwtMSB6IG0gLTcwLjIsLTE0IGMgLTEuMjA4MjUsNS45MTkxNyAtOS44OTU3Miw1LjAxMzEzIC05Ljg5NTcyLC0xIDAsLTYuMDEzMTMgOC42ODc0NywtNi45MTkxNyA5Ljg5NTcyLC0xIGggODYuMiBjIDEuMjA4MjUsLTUuOTE5MTcgOS44OTU3MiwtNS4wMTMxMyA5Ljg5NTcyLDEgMCw2LjAxMzEzIC04LjY4NzQ3LDYuOTE5MTcgLTkuODk1NzIsMSB6IE0gMTk0LDIyMC4xIGMgNS45MTkxNywxLjIwODI1IDUuMDEzMTMsOS44OTU3MiAtMSw5Ljg5NTcyIC02LjAxMzEzLDAgLTYuOTE5MTcsLTguNjg3NDcgLTEsLTkuODk1NzIgdiAtNTQuMiBjIC01LjkxOTE3LC0xLjIwODI1IC01LjAxMzEzLC05Ljg5NTcyIDEsLTkuODk1NzIgNi4wMTMxMywwIDYuOTE5MTcsOC42ODc0NyAxLDkuODk1NzIgeiBNIDI0MiwyMS45IFYgODAgaCA2MiB2IDIgSCAyNDAgViAyMS45IGMgLTUuOTE5MTcsLTEuMjA4MjQ1IC01LjAxMzEzLC05Ljg5NTcxOSAxLC05Ljg5NTcxOSA2LjAxMzEzLDAgNi45MTkxNyw4LjY4NzQ3NCAxLDkuODk1NzE5IHogbSAxNiwxNiBWIDY0IGggNDYgdiAyIEggMjU2IFYgMzcuOSBjIC01LjkxOTE3LC0xLjIwODI0NSAtNS4wMTMxMywtOS44OTU3MTkgMSwtOS44OTU3MTkgNi4wMTMxMywwIDYuOTE5MTcsOC42ODc0NzQgMSw5Ljg5NTcxOSB6IG0gLTEyOCw5NiBWIDIwOCBoIDE2IHYgMTIuMSBjIDUuOTE5MTcsMS4yMDgyNSA1LjAxMzEzLDkuODk1NzIgLTEsOS44OTU3MiAtNi4wMTMxMywwIC02LjkxOTE3LC04LjY4NzQ3IC0xLC05Ljg5NTcyIFYgMjEwIGggLTE2IHYgLTc2LjEgYyAtNS45MTkxNywtMS4yMDgyNSAtNS4wMTMxMywtOS44OTU3MiAxLC05Ljg5NTcyIDYuMDEzMTMsMCA2LjkxOTE3LDguNjg3NDcgMSw5Ljg5NTcyIHogTSAxMjQuMSwxMTIgYyAxLjIwODI1LC01LjkxOTE3IDkuODk1NzIsLTUuMDEzMTMgOS44OTU3MiwxIDAsNi4wMTMxMyAtOC42ODc0Nyw2LjkxOTE3IC05Ljg5NTcyLDEgSCAxMTQgdiA0OCBIIDg1LjkgYyAtMS4yMDgyNDUsNS45MTkxNyAtOS44OTU3MTksNS4wMTMxMyAtOS44OTU3MTksLTEgMCwtNi4wMTMxMyA4LjY4NzQ3NCwtNi45MTkxNyA5Ljg5NTcxOSwtMSBIIDExMiB2IC00OCB6IG0gLTYuMiwxMzAgYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcyLDUuMDEzMTMgLTkuODk1NzIsLTEgMCwtNi4wMTMxMyA4LjY4NzQ3LC02LjkxOTE3IDkuODk1NzIsLTEgSCAxNzYgdiAtNzQuMSBjIC01LjkxOTE3LC0xLjIwODI1IC01LjAxMzEzLC05Ljg5NTcyIDEsLTkuODk1NzIgNi4wMTMxMywwIDYuOTE5MTcsOC42ODc0NyAxLDkuODk1NzIgViAyNDIgWiBtIC0xNiwtNjQgYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcxOSw1LjAxMzEzIC05Ljg5NTcxOSwtMSAwLC02LjAxMzEzIDguNjg3NDY5LC02LjkxOTE3IDkuODk1NzE5LC0xIEggMTE0IHYgNDggaCAxMC4xIGMgMS4yMDgyNSwtNS45MTkxNyA5Ljg5NTcyLC01LjAxMzEzIDkuODk1NzIsMSAwLDYuMDEzMTMgLTguNjg3NDcsNi45MTkxNyAtOS44OTU3MiwxIEggMTEyIFYgMTc4IFogTSA2NiwyODQuMSBjIDUuOTE5MTY4LDEuMjA4MjUgNS4wMTMxMzQsOS44OTU3MiAtMSw5Ljg5NTcyIC02LjAxMzEzNCwwIC02LjkxOTE2OCwtOC42ODc0NyAtMSwtOS44OTU3MiBWIDI3NCBIIDUwIHYgMzAgSCA0OCBWIDI3MiBIIDY2IFogTSAyMzYuMSwxNzYgYyAxLjIwODI1LC01LjkxOTE3IDkuODk1NzIsLTUuMDEzMTMgOS44OTU3MiwxIDAsNi4wMTMxMyAtOC42ODc0Nyw2LjkxOTE3IC05Ljg5NTcyLDEgSCAyMjYgdiA5NCBoIDQ4IHYgMzIgaCAtMiB2IC0zMCBoIC00OCB2IC05OCB6IG0gMjUuOCwtMzAgYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcyLDUuMDEzMTMgLTkuODk1NzIsLTEgMCwtNi4wMTMxMyA4LjY4NzQ3LC02LjkxOTE3IDkuODk1NzIsLTEgSCAyNzQgdiA0NC4xIGMgNS45MTkxNywxLjIwODI1IDUuMDEzMTMsOS44OTU3MiAtMSw5Ljg5NTcyIC02LjAxMzEzLDAgLTYuOTE5MTcsLTguNjg3NDcgLTEsLTkuODk1NzIgViAxNDYgWiBtIC02NCw5NiBjIC0xLjIwODI1LDUuOTE5MTcgLTkuODk1NzIsNS4wMTMxMyAtOS44OTU3MiwtMSAwLC02LjAxMzEzIDguNjg3NDcsLTYuOTE5MTcgOS44OTU3MiwtMSBIIDIwOCB2IC04MCBoIDE2IHYgLTE0IGggLTQyLjEgYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcyLDUuMDEzMTMgLTkuODk1NzIsLTEgMCwtNi4wMTMxMyA4LjY4NzQ3LC02LjkxOTE3IDkuODk1NzIsLTEgSCAyMjYgdiAxOCBoIC0xNiB2IDgwIHogbSAyMi4yLDQ2IGMgMS4yMDgyNSwtNS45MTkxNyA5Ljg5NTcyLC01LjAxMzEzIDkuODk1NzIsMSAwLDYuMDEzMTMgLTguNjg3NDcsNi45MTkxNyAtOS44OTU3MiwxIEggOTggdiAxNCBIIDk2IFYgMjg4IFogTSAyNDIsMTQ5LjkgViAxNjAgaCAxNiB2IDM0IGggLTE2IHYgNjIgaCA0OCB2IDQ4IGggLTIgdiAtNDYgaCAtNDggdiAtNjYgaCAxNiB2IC0zMCBoIC0xNiB2IC0xMi4xIGMgLTUuOTE5MTcsLTEuMjA4MjUgLTUuMDEzMTMsLTkuODk1NzIgMSwtOS44OTU3MiA2LjAxMzEzLDAgNi45MTkxNyw4LjY4NzQ3IDEsOS44OTU3MiB6IE0gMTE3LjksOTggYyAtMS4yMDgyNSw1LjkxOTE3IC05Ljg5NTcyLDUuMDEzMTMgLTkuODk1NzIsLTEgMCwtNi4wMTMxMzQgOC42ODc0NywtNi45MTkxNjggOS44OTU3MiwtMSBIIDEzNyBsIDMyLC0zMiBoIDM5IFYgMjEuOSBjIC01LjkxOTE3LC0xLjIwODI0NSAtNS4wMTMxMywtOS44OTU3MTkgMSwtOS44OTU3MTkgNi4wMTMxMywwIDYuOTE5MTcsOC42ODc0NzQgMSw5Ljg5NTcxOSBWIDY2IGggLTQwLjE3IGwgLTMyLDMyIHogbSAyOC4xLDkwLjEgYyA1LjkxOTE3LDEuMjA4MjUgNS4wMTMxMyw5Ljg5NTcyIC0xLDkuODk1NzIgLTYuMDEzMTMsMCAtNi45MTkxNywtOC42ODc0NyAtMSwtOS44OTU3MiBWIDExMS41OSBMIDE3NS41OSw4MCBIIDIyNCBWIDIxLjkgYyAtNS45MTkxNywtMS4yMDgyNDUgLTUuMDEzMTMsLTkuODk1NzE5IDEsLTkuODk1NzE5IDYuMDEzMTMsMCA2LjkxOTE3LDguNjg3NDc0IDEsOS44OTU3MTkgViA4MiBIIDE3Ni40MSBMIDE0NiwxMTIuNDEgWiBtIDE2LDMyIGMgNS45MTkxNywxLjIwODI1IDUuMDEzMTMsOS44OTU3MiAtMSw5Ljg5NTcyIC02LjAxMzEzLDAgLTYuOTE5MTcsLTguNjg3NDcgLTEsLTkuODk1NzIgViAxMjAuNTkgTCAxODQuNTksOTYgSCAzMDAuMSBjIDAuNDAwNiwtMS45NjQyODkgMS45MzU3MSwtMy40OTkzOTUgMy45LC0zLjkgdiAyLjA3IGMgLTIuNjcyNjEsMC45NDAxNzQgLTIuNjcyNjEsNC43MTk4MjYgMCw1LjY2IHYgMi4wNyBjIC0xLjk2NDI5LC0wLjQwMDYgLTMuNDk5NCwtMS45MzU3MTEgLTMuOSwtMy45IEggMTg1LjQxIEwgMTYyLDEyMS40MSBaIE0gMjc3LjksNTAgYyAtMS4yMDgyNSw1LjkxOTE2OCAtOS44OTU3Miw1LjAxMzEzNCAtOS44OTU3MiwtMSAwLC02LjAxMzEzNCA4LjY4NzQ3LC02LjkxOTE2OCA5Ljg5NTcyLC0xIGggMTguNjkgTCAzMDQsNDAuNTkgdiAyLjgyIEwgMjk3LjQxLDUwIFogbSAtMTYsMTYwIGMgLTEuMjA4MjUsNS45MTkxNyAtOS44OTU3Miw1LjAxMzEzIC05Ljg5NTcyLC0xIDAsLTYuMDEzMTMgOC42ODc0NywtNi45MTkxNyA5Ljg5NTcyLC0xIEggMjg4IHYgLTcxLjQxIGwgMTYsLTE2IHYgMi44MiBsIC0xNCwxNCBWIDIxMCBaIG0gLTIwOCwzMiBjIC0xLjIwODI0NSw1LjkxOTE3IC05Ljg5NTcxOSw1LjAxMzEzIC05Ljg5NTcxOSwtMSAwLC02LjAxMzEzIDguNjg3NDc0LC02LjkxOTE3IDkuODk1NzE5LC0xIEggNjQgViAyMTcuNDEgTCA0MC41OSwxOTQgSCAyMS45IGMgLTEuMjA4MjQ1LDUuOTE5MTcgLTkuODk1NzE5LDUuMDEzMTMgLTkuODk1NzE5LC0xIDAsLTYuMDEzMTMgOC42ODc0NzQsLTYuOTE5MTcgOS44OTU3MTksLTEgSCA0MS40MSBMIDY2LDIxNi41OSBWIDI0MiBaIG0gMTUwLjIsMTQgYyAxLjIwODI1LC01LjkxOTE3IDkuODk1NzIsLTUuMDEzMTMgOS44OTU3MiwxIDAsNi4wMTMxMyAtOC42ODc0Nyw2LjkxOTE3IC05Ljg5NTcyLDEgSCA5NiBWIDIwMS40IEwgNTYuNiwxNjIgSCAzNy45IGMgLTEuMjA4MjQ1LDUuOTE5MTcgLTkuODk1NzE5LDUuMDEzMTMgLTkuODk1NzE5LC0xIDAsLTYuMDEzMTMgOC42ODc0NzQsLTYuOTE5MTcgOS44OTU3MTksLTEgSCA1Ny40IEwgOTgsMjAwLjYgViAyNTYgWiBtIC0xNTAuMiwyIGMgLTEuMjA4MjQ1LDUuOTE5MTcgLTkuODk1NzE5LDUuMDEzMTMgLTkuODk1NzE5LC0xIDAsLTYuMDEzMTMgOC42ODc0NzQsLTYuOTE5MTcgOS44OTU3MTksLTEgSCA4MCBWIDIwOS40MSBMIDQ4LjU5LDE3OCBIIDIxLjkgYyAtMS4yMDgyNDUsNS45MTkxNyAtOS44OTU3MTksNS4wMTMxMyAtOS44OTU3MTksLTEgMCwtNi4wMTMxMyA4LjY4NzQ3NCwtNi45MTkxNyA5Ljg5NTcxOSwtMSBIIDQ5LjQxIEwgODIsMjA4LjU5IFYgMjU4IFogTSAyNTgsMjg5IHYgMTUgaCAtMiB2IC0xNCBoIC0xNCB2IDE0IGggLTIgdiAtMTYgaCAxOCB6IE0gODAsMjcyIGggMiB2IDMyIGggLTIgeiBtIDMzLC0xNzIgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDE2LDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAwLDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAtNDgsMzIgYyAzLjk5OTk5OCwwIDMuOTk5OTk4LC02IDAsLTYgLTMuOTk5OTk4LDAgLTMuOTk5OTk4LDYgMCw2IHogbSAxNiwxNiBjIDQsMCA0LC02IDAsLTYgLTMuOTk5OTk4LDAgLTMuOTk5OTk4LDYgMCw2IHogbSAzMiw0OCBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gLTE2LDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAzMiwtMTYgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDAsLTMyIGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAxNiwzMiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMzIsMTYgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDAsLTE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAtMTYsLTY0IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAxNiwwIGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAxNiw5NiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMCwxNiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMTYsMTYgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDE2LC0xNDQgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDAsMzIgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBtIDE2LC0zMiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMTYsLTE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAtOTYsMCBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMCwxNiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gMTYsLTMyIGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSA5NiwwIGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogTSAyNzMsNTIgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBNIDI1NywzNiBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IE0gMjQxLDIwIGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAtMTYsMCBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gLTE2LDAgYyA0LDAgNCwtNiAwLC02IC00LDAgLTQsNiAwLDYgeiBNIDQ5LDI2MCBjIDMuOTk5OTk4LDAgMy45OTk5OTgsLTYgMCwtNiAtMy45OTk5OTgsMCAtMy45OTk5OTgsNiAwLDYgeiBtIDE2LDMyIGMgMy45OTk5OTgsMCAzLjk5OTk5OCwtNiAwLC02IC0zLjk5OTk5OCwwIC0zLjk5OTk5OCw2IDAsNiB6IE0gNDksMjQ0IGMgMy45OTk5OTgsMCAzLjk5OTk5OCwtNiAwLC02IC0zLjk5OTk5OCwwIC0zLjk5OTk5OCw2IDAsNiB6IG0gMjI0LC00OCBjIDQsMCA0LC02IDAsLTYgLTQsMCAtNCw2IDAsNiB6IG0gLTE2LDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAwLDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogbSAwLDE2IGMgNCwwIDQsLTYgMCwtNiAtNCwwIC00LDYgMCw2IHogTSAxNywxODAgYyAzLjk5OTk5OCwwIDMuOTk5OTk4LC02IDAsLTYgLTMuOTk5OTk4LDAgLTMuOTk5OTk4LDYgMCw2IHogbSAwLDE2IGMgMy45OTk5OTgsMCAzLjk5OTk5OCwtNiAwLC02IC0zLjk5OTk5OCwwIC0zLjk5OTk5OCw2IDAsNiB6IG0gMTYsLTMyIGMgMy45OTk5OTgsMCAzLjk5OTk5OCwtNiAwLC02IC0zLjk5OTk5OCwwIC0zLjk5OTk5OCw2IDAsNiB6IiAvPgo8L3N2Zz4=") no-repeat right 10px;
}

body.light-mode #xircuits-component-sidebar .node .ports svg, body.light-mode #sidebar-tooltip .node .ports svg {
color: black;
}

body.light-mode #xircuits-component-sidebar .node>div:nth-child(2), body.light-mode #sidebar-tooltip .node>div:nth-child(2) {
color: black;
background: linear-gradient(oklch(99% 0 0 / 0.7), oklch(99% 0 0 / 0.9));
}

body.light-mode .xircuits-canvas .node .port>div>div, body.light-mode #xircuits-component-sidebar .node .port>div>div, body.light-mode #sidebar-tooltip .node .port>div>div{
filter: saturate(150%);
}


Expand Down
2 changes: 1 addition & 1 deletion xai_components/xai_agent

0 comments on commit a3e65b7

Please sign in to comment.