Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[KED-2770] - Expose related dataset nodes for focus mode flowchart #530

Merged
merged 127 commits into from
Aug 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
7a85656
set up modular pipeline selectors for nested data structure
studioswong May 13, 2021
5b3a6d8
set up tree list with material UI
studioswong May 17, 2021
e924eae
set up tree-list selectors
studioswong May 18, 2021
adda65b
updated getGroupedNodes to include modular pipelines
studioswong May 18, 2021
9c06d12
set up tree-list-search and refactor selectors to use filtered items
studioswong May 19, 2021
cda4548
Merge branch 'main' into feature/KED-2563-collapsable-tree-component
studioswong May 19, 2021
c0496fa
added in personal remarks for selectors
studioswong May 19, 2021
6eb4fff
purge node modular pipelines
studioswong May 19, 2021
3c52a47
set up filter panel and plug in existing react component for tree rows
studioswong May 20, 2021
c6ac80e
further update style
studioswong May 20, 2021
9aece6a
updated styles, icons, etc
studioswong May 25, 2021
f15cd16
update selectors to ensure node data gets arranged according to order…
studioswong May 25, 2021
6821a6f
remove unneeded previous setup
studioswong May 25, 2021
7416c55
clean up getNestedModularPipelines
studioswong May 25, 2021
858ec36
refactor node-list-tree with node-list-tree-item
studioswong May 25, 2021
ab2881d
delete unneeded selectors in modular pipeline selectors
studioswong May 25, 2021
0567a1a
deleted further undeeded items
studioswong May 25, 2021
d1c5a05
updated padding setting for shorter gap between dropdown arrow and ic…
studioswong May 25, 2021
33a7c16
added in keys for nested items and changed Container to div to elimin…
studioswong May 26, 2021
c1bf6ef
skipped some tests due to PR setup
studioswong May 26, 2021
275dcab
further modified tests according to tree list structure
studioswong May 26, 2021
aac32f8
remove modular pipeline filter
studioswong May 26, 2021
efe7a20
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 2, 2021
6bdb42f
update label to use highlighted label
studioswong Jun 3, 2021
bc8439c
updated selectors and tree item row
studioswong Jun 4, 2021
552e7d1
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 7, 2021
eaa5933
completed search
studioswong Jun 7, 2021
7fd6f8e
update new nested tree data selector to cater for unsorted pipelines,…
studioswong Jun 9, 2021
8524300
allow expanded tree search UI
studioswong Jun 11, 2021
b7f1086
deleted unneeded title and style changes
studioswong Jun 11, 2021
54b96ad
further minor style changes
studioswong Jun 11, 2021
cf15d9a
added pipeline-nodelist-sectino class
studioswong Jun 11, 2021
9094d6b
added sort modular pipeline nodes by enabled status
studioswong Jun 13, 2021
afc70da
added tests for new selectors and fixed failing tests due to changes …
studioswong Jun 14, 2021
43fd2f4
update to match latest prettier settings
studioswong Jun 14, 2021
190711d
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 14, 2021
a706c0d
update package.json and lock file
studioswong Jun 14, 2021
b771dac
fixed failing import tests
studioswong Jun 14, 2021
e4a4183
changes per PR comments
studioswong Jun 15, 2021
90a12d1
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 15, 2021
634b220
additional changes to remove compile warnings
studioswong Jun 15, 2021
4e6bd4a
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 17, 2021
4fccaaf
fixed issues with exposing plot icon
studioswong Jun 17, 2021
d0779da
deleted unneeded field
studioswong Jun 17, 2021
9816e49
deleted unneeded input and `getTreeSearchValueCount` selector
studioswong Jun 18, 2021
c81439f
refactor and remove node-list-tree-search
studioswong Jun 18, 2021
5ee31e9
fixed typos
studioswong Jun 18, 2021
c8dbf26
Merge branch 'main' into feature/tree-search-ui
studioswong Jun 18, 2021
16a64e9
revert back to use container
studioswong Jun 18, 2021
b219503
further minor changes
studioswong Jun 18, 2021
1088c83
added tests, modified variables and added reference comment
studioswong Jun 21, 2021
c8a0db4
updated node-list test to test search ui
studioswong Jun 22, 2021
97c3bab
rename abbreviations of mp to modularPipeline
studioswong Jun 22, 2021
6be3e73
fix typo
studioswong Jun 22, 2021
16a563d
resolve typo and delete unneeded check
studioswong Jun 22, 2021
a3ce810
remove unneeded checks, selector imports and renamed keys
studioswong Jun 22, 2021
de6b54d
use clonedeep instead of shallow copy
studioswong Jun 22, 2021
686a9fd
remove check
studioswong Jun 22, 2021
e074786
Merge branch 'main' into feature/focus-mode-mvp
studioswong Jun 23, 2021
8a310e0
refactoring of checks and use .find instead of .filter
studioswong Jun 24, 2021
6c83b4e
Merge branch 'feature/tree-search-ui' into feature/focus-mode-mvp
studioswong Jun 24, 2021
4856f83
Merge branch 'main' into feature/focus-mode-mvp
studioswong Jun 24, 2021
6ff5614
set up focus mode icon
studioswong Jun 28, 2021
779a566
add color change for focus mode
studioswong Jun 28, 2021
c79e42e
set up focus mode toggle
studioswong Jun 29, 2021
1339765
Merge branch 'main' into feature/focus-mode-mvp
studioswong Jun 30, 2021
49c7e4d
disable irrelevant modular pipelines when under focusMode
studioswong Jul 1, 2021
5741122
modify node-list-row label for focusMode
studioswong Jul 2, 2021
6a9b4f8
add individual chevron to node-list-tree-item
studioswong Jul 5, 2021
e1da3f5
remove onToggleFocusMode prop
studioswong Jul 5, 2021
2df0bf1
Merge branch 'main' into feature/focus-mode-mvp
studioswong Jul 8, 2021
7a7b008
merged latest filter work and further refactor
studioswong Jul 12, 2021
9290501
Merge branch 'main' into feature/focus-mode-filter
studioswong Jul 13, 2021
a263af6
v3.13.0
studioswong Jul 13, 2021
47f4bb2
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 13, 2021
76793a2
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 14, 2021
18972fb
Merge branch 'main' into feature/focus-mode-filter
studioswong Jul 14, 2021
5dd7cd8
added status variable for modular pipelines in deeper levels to pick …
studioswong Jul 14, 2021
dbae91c
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 15, 2021
999e7bc
Merge branch 'main' into feature/focus-mode-filter
studioswong Jul 15, 2021
b4f03e8
remove unneeded disabled prop for node label
studioswong Jul 15, 2021
4ca25ce
added tests and minor adjustments
studioswong Jul 16, 2021
f99f1f6
update node-list-tree-item to pass tests
studioswong Jul 16, 2021
c5323dc
removed comment
studioswong Jul 16, 2021
fb31cd7
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 16, 2021
bdd8735
Merge branch 'main' into feature/focus-mode-2.0
studioswong Jul 19, 2021
df0b0f0
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 20, 2021
612fbb7
Merge branch 'main' into feature/focus-mode-2.0
studioswong Jul 20, 2021
b687502
set up focusMode in state
studioswong Jul 21, 2021
dfb44bc
compete migration of focusMode to global state
studioswong Jul 21, 2021
ddb2ea7
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 22, 2021
82d03f8
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 22, 2021
a189484
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Jul 22, 2021
0624e52
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 22, 2021
2c039c0
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Jul 22, 2021
1c02ce5
rename actions and selectors to match modularPipelineFocusMode
studioswong Jul 22, 2021
2909273
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 26, 2021
28fe611
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Jul 26, 2021
276c271
temporary setup of selector
studioswong Jul 27, 2021
e84618f
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 27, 2021
2c27fe3
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Jul 27, 2021
c7a994d
removed saved visible modular pipeline state in localstorage
studioswong Jul 28, 2021
193a450
set up new changes to disabled
studioswong Jul 28, 2021
976f50c
v3.14.0
studioswong Jul 28, 2021
6d1358a
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Jul 28, 2021
788f52f
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Jul 29, 2021
da84a41
added further checks in getNodeDisabledModularPipeline to include inp…
studioswong Jul 29, 2021
f30a11f
set up selector for input output data nodes for focus mode modular pi…
studioswong Jul 29, 2021
f1b91f4
added input css settings and selector for input edges
studioswong Jul 30, 2021
b8b8204
added new class for parameter inputs
studioswong Jul 30, 2021
b477beb
added filtering logic to filter out transitive edges for input output…
studioswong Aug 2, 2021
4cfc20f
fix focus mode styling issue
studioswong Aug 2, 2021
7e4bc4f
remove unneeded local state for focus mode
studioswong Aug 2, 2021
70cc2bd
added new cases for params flag
studioswong Aug 3, 2021
73560b1
solved problem with missing arrowhead when triggering between values …
studioswong Aug 3, 2021
3b19a52
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Aug 3, 2021
f5c8318
removed newparams flag settings
studioswong Aug 4, 2021
2016250
fixed edges issue
studioswong Aug 4, 2021
07741c7
fix edge case for sidebar for disabled status of input output nodes
studioswong Aug 4, 2021
7df247f
added tests, fixed failing tests and refactored css class
studioswong Aug 4, 2021
e7bf871
added all tests for newly added selectors, actions and functionality …
studioswong Aug 5, 2021
9e37956
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Aug 5, 2021
4779a5d
Merge branch 'main' of https://github.com/quantumblacklabs/kedro-viz …
studioswong Aug 5, 2021
ef358ab
Merge branch 'main' into feature/focus-mode-2.0-merged
studioswong Aug 5, 2021
60ea57a
fixed typo
studioswong Aug 9, 2021
6f545eb
refactor due to PR suggestions
studioswong Aug 10, 2021
5a3d526
further updates per PR comments
studioswong Aug 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/actions/actions.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
UPDATE_CHART_SIZE,
UPDATE_FONT_LOADED,
TOGGLE_CODE,
TOGGLE_MODULAR_PIPELINE_FOCUS_MODE,
changeFlag,
resetData,
toggleIgnoreLargeWarning,
Expand All @@ -28,6 +29,7 @@ import {
toggleTheme,
updateChartSize,
updateFontLoaded,
toggleFocusMode,
} from '../actions';
import {
TOGGLE_NODE_CLICKED,
Expand Down Expand Up @@ -296,4 +298,12 @@ describe('actions', () => {
};
expect(toggleCode(true)).toEqual(expectedAction);
});

it('should create an action to toggle focus mode for modular pipelines', () => {
const expectedAction = {
type: TOGGLE_MODULAR_PIPELINE_FOCUS_MODE,
modularPipeline: { id: '1234' },
};
expect(toggleFocusMode({ id: '1234' })).toEqual(expectedAction);
});
});
14 changes: 14 additions & 0 deletions src/actions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -220,3 +220,17 @@ export function toggleParametersHovered(hoveredParameters) {
hoveredParameters,
};
}

export const TOGGLE_MODULAR_PIPELINE_FOCUS_MODE =
'TOGGLE_MODULAR_PIPELINE_FOCUS_MODE';

/**
* Update the value of the selected modular pipeline under focus mode
* @param {Object} modularPipeline The selected modular pipeline for focus mode
*/
export function toggleFocusMode(modularPipeline) {
return {
type: TOGGLE_MODULAR_PIPELINE_FOCUS_MODE,
modularPipeline,
};
}
57 changes: 49 additions & 8 deletions src/components/flowchart/draw.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,14 @@ export const drawNodes = function (changed) {
nodeSelected,
hoveredParameters,
nodesWithInputParams,
inputOutputDataNodes,
nodes,
focusMode,
} = this.props;

const isInputOutputNode = (nodeID) =>
focusMode !== null && inputOutputDataNodes[nodeID];

if (changed('nodes')) {
this.el.nodes = this.el.nodeGroup
.selectAll('.pipeline-node')
Expand Down Expand Up @@ -211,7 +216,9 @@ export const drawNodes = function (changed) {
'hoveredParameters',
'nodesWithInputParams',
'clickedNode',
'linkedNodes'
'linkedNodes',
'focusMode',
'inputOutputDataNodes'
)
) {
allNodes
Expand All @@ -224,6 +231,14 @@ export const drawNodes = function (changed) {
nodesWithInputParams[node.id] &&
nodeTypeDisabled.parameters
)
.classed(
'pipeline-node--dataset-input',
(node) => isInputOutputNode(node.id) && node.type === 'data'
)
.classed(
'pipeline-node--parameter-input',
(node) => isInputOutputNode(node.id) && node.type === 'parameters'
)
.classed(
'pipeline-node--faded',
(node) => clickedNode && !linkedNodes[node.id]
Expand Down Expand Up @@ -284,7 +299,11 @@ export const drawNodes = function (changed) {
* Render edge lines
*/
export const drawEdges = function (changed) {
const { edges, clickedNode, linkedNodes } = this.props;
const { edges, clickedNode, linkedNodes, focusMode, inputOutputDataEdges } =
this.props;

const isInputOutputEdge = (edgeID) =>
focusMode !== null && inputOutputDataEdges[edgeID];

if (changed('edges')) {
this.el.edges = this.el.edgeGroup
Expand All @@ -301,12 +320,17 @@ export const drawEdges = function (changed) {
const exitEdges = this.el.edges.exit();
const allEdges = this.el.edges.merge(enterEdges).merge(exitEdges);

if (changed('edges')) {
enterEdges
.append('path')
if (changed('edges', 'focusMode', 'inputOutputDataNodes')) {
enterEdges.append('path');
allEdges
.select('path')
.attr('marker-end', (edge) =>
edge.sourceNode.type === 'parameters'
? `url(#pipeline-arrowhead--accent)`
? isInputOutputEdge(edge.id)
? `url(#pipeline-arrowhead--accent--input)`
: `url(#pipeline-arrowhead--accent)`
: isInputOutputEdge(edge.id)
? `url(#pipeline-arrowhead--input)`
: `url(#pipeline-arrowhead)`
);

Expand Down Expand Up @@ -343,11 +367,28 @@ export const drawEdges = function (changed) {
this.el.edges = this.el.edgeGroup.selectAll('.pipeline-edge');
}

if (changed('edges', 'clickedNode', 'linkedNodes')) {
if (
changed(
'edges',
'clickedNode',
'linkedNodes',
'focusMode',
'inputOutputDataEdges'
)
) {
allEdges
.classed(
'pipeline-edge--parameters',
(edge) => edge.sourceNode.type === 'parameters'
(edge) =>
edge.sourceNode.type === 'parameters' && !isInputOutputEdge(edge.id)
)
.classed(
'pipeline-edge--parameters-input',
(edge) =>
edge.sourceNode.type === 'parameters' && isInputOutputEdge(edge.id)
)
.classed('pipeline-edge--dataset--input', (edge) =>
isInputOutputEdge(edge.id)
)
.classed(
'pipeline-edge--faded',
Expand Down
59 changes: 59 additions & 0 deletions src/components/flowchart/flowchart.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,62 @@ describe('FlowChart', () => {
).toBe(2);
});

it('does not apply pipeline-node--dataset-input class to input dataset nodes when not under focus mode', () => {
const wrapper = setup.mount(<FlowChart />);
expect(wrapper.render().find('.pipeline-node--dataset-input').length).toBe(
0
);
});

it('applies pipeline-node--dataset-input class to input dataset nodes under focus mode', () => {
const wrapper = setup.mount(
<FlowChart
nodeTypeDisabled={{ parameters: true }}
focusMode={{ id: 'pipeline1' }}
inputOutputDataNodes={{
'0ae9e4de': { id: '0ae9e4de', name: 'Elephant' },
'09f5edeb': { id: '09f5edeb', name: 'Bear' },
}}
/>
);
expect(wrapper.render().find('.pipeline-node--dataset-input').length).toBe(
2
);
});

it('applies pipeline-edge--dataset--input class to input dataset edges under focus mode', () => {
const wrapper = setup.mount(
<FlowChart
nodeTypeDisabled={{ parameters: true }}
focusMode={{ id: 'pipeline1' }}
inputOutputDataEdges={{
'0ae9e4de|15586b7a': { id: '0ae9e4de||15586b7a' },
'09f5edeb|15586b7a': { id: '09f5edeb||15586b7a' },
}}
/>
);
expect(wrapper.render().find('.pipeline-edge--dataset--input').length).toBe(
2
);
});

it('applies pipeline-node--parameter-input class to input parameter nodes under focus mode', () => {
const wrapper = setup.mount(
<FlowChart
focusMode={{ id: 'pipeline1' }}
inputOutputDataNodes={{
'46734c62': { id: '46734c62' },
}}
/>,
{
beforeLayoutActions: [() => toggleTypeDisabled('parameters', false)],
}
);
expect(
wrapper.render().find('.pipeline-node--parameter-input').length
).toBe(1);
});

it('applies .parameters class to all parameter nodes', () => {
//Parameters are enabled here to override the default behavior
const wrapper = setup.mount(<FlowChart />, {
Expand Down Expand Up @@ -361,6 +417,9 @@ describe('FlowChart', () => {
visibleSidebar: expect.any(Boolean),
visibleCode: expect.any(Boolean),
visibleMetaSidebar: expect.any(Boolean),
inputOutputDataNodes: expect.any(Object),
inputOutputDataEdges: expect.any(Object),
focusMode: expect.any(Object),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This set of tests is awesome. Very clear!!! 🏆

};
expect(mapStateToProps(mockState.animals)).toEqual(expectedResult);
});
Expand Down
26 changes: 23 additions & 3 deletions src/components/flowchart/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ import {
getNodeActive,
getNodeSelected,
getNodesWithInputParams,
getInputOutputNodesForFocusedModularPipeline,
} from '../../selectors/nodes';
import { getInputOutputDataEdges } from '../../selectors/edges';
import { getChartSize, getChartZoom } from '../../selectors/layout';
import { getLayers } from '../../selectors/layers';
import { getLinkedNodes } from '../../selectors/linked-nodes';
Expand Down Expand Up @@ -100,7 +102,15 @@ export class FlowChart extends Component {
drawLayerNames.call(this);
}

if (changed('edges', 'clickedNode', 'linkedNodes')) {
if (
changed(
'edges',
'clickedNode',
'linkedNodes',
'focusMode',
'inputOutputDataEdges'
)
) {
drawEdges.call(this, changed);
}

Expand All @@ -113,7 +123,9 @@ export class FlowChart extends Component {
'nodeActive',
'nodeSelected',
'hoveredParameters',
'nodesWithInputParams'
'nodesWithInputParams',
'focusMode',
'inputOutputDataNodes'
)
) {
drawNodes.call(this, changed);
Expand Down Expand Up @@ -502,7 +514,12 @@ export class FlowChart extends Component {
})}
ref={this.wrapperRef}>
<defs>
{['arrowhead', 'arrowhead--accent'].map((id) => (
{[
'arrowhead',
'arrowhead--input',
'arrowhead--accent--input',
'arrowhead--accent',
].map((id) => (
<marker
id={`pipeline-${id}`}
key={id}
Expand Down Expand Up @@ -568,10 +585,13 @@ export const mapStateToProps = (state, ownProps) => ({
nodeActive: getNodeActive(state),
nodeSelected: getNodeSelected(state),
nodesWithInputParams: getNodesWithInputParams(state),
inputOutputDataNodes: getInputOutputNodesForFocusedModularPipeline(state),
inputOutputDataEdges: getInputOutputDataEdges(state),
visibleGraph: state.visible.graph,
visibleSidebar: state.visible.sidebar,
visibleCode: state.visible.code,
visibleMetaSidebar: getVisibleMetaSidebar(state),
focusMode: state.visible.modularPipelineFocusMode,
...ownProps,
});

Expand Down
16 changes: 16 additions & 0 deletions src/components/flowchart/styles/_edges.scss
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,14 @@
stroke: var(--parameter-accent);
}

.pipeline-edge--parameters-input path {
stroke: var(--parameter-accent-input);
}

.pipeline-edge--dataset--input path {
stroke-dasharray: 3px 3px;
}

.pipeline-edge--faded {
opacity: 0.1;
}
Expand All @@ -19,6 +27,14 @@
fill: var(--edge-arrowhead-fill);
}

.pipeline-flowchart__arrowhead--input {
fill: var(--node-input-fill);
}

.pipeline-flowchart__arrowhead--accent {
fill: var(--parameter-accent);
}

.pipeline-flowchart__arrowhead--accent--input {
fill: var(--parameter-accent-input);
}
32 changes: 32 additions & 0 deletions src/components/flowchart/styles/_node.scss
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,38 @@
}
}

.pipeline-node--dataset-input {
text {
fill: var(--node-input-fill);
}

.pipeline-node__bg {
fill: none;
stroke: var(--node-input-fill);
stroke-dasharray: 3px 3px;
}

.pipeline-node__icon {
fill: var(--node-input-fill);
}
}

.pipeline-node--parameter-input {
text {
fill: var(--node-input-fill);
}

.pipeline-node__bg {
fill: none;
stroke: var(--parameter-accent-input);
stroke-dasharray: 3px 3px;
}

.pipeline-node__icon {
fill: var(--node-input-fill);
}
}

.pipeline-node__parameter-indicator {
opacity: 0;
transition: opacity 0.3s ease;
Expand Down
8 changes: 6 additions & 2 deletions src/components/flowchart/styles/_variables.scss
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
--edge-arrowhead-fill: #{$color-bg-dark-6};
--layer-fill: #{mix($color-bg-light-1, $color-bg-light-2)};
--layer-text: #{rgba(black, 0.65)};
--parameter-accent: #a000bc;
--node-input-fill: #{rgba(black, 0.4)};
--parameter-accent: #{rgba(160, 0, 188, 1)};
--parameter-accent-input: #{rgba(160, 0, 188, 0.6)};

@mixin export {
--node-fill-default: #{$color-bg-light-3};
Expand Down Expand Up @@ -48,5 +50,7 @@
--edge-arrowhead-fill: #cacaca;
--layer-fill: #{mix($color-bg-dark-1, $color-bg-dark-2)};
--layer-text: #{rgba(white, 0.65)};
--parameter-accent: #ffbc00;
--node-input-fill: #{rgba(white, 0.4)};
--parameter-accent: #{rgba(255, 188, 0, 1)};
--parameter-accent-input: #{rgba(255, 188, 0, 0.6)};
}
Loading