From a0073500045e0a1e7f53e69432aa1e839e9780e3 Mon Sep 17 00:00:00 2001 From: kumaradityaraj Date: Thu, 25 Jun 2026 15:14:19 +0530 Subject: [PATCH 1/4] start end node styling Signed-off-by: kumaradityaraj --- .../src/react-flow/diagram/Diagram.css | 52 +++++++++++++++++++ .../src/react-flow/nodes/Nodes.tsx | 22 +++++++- 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css index 9f52b4f..ec4b314 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css @@ -402,6 +402,58 @@ } /* end validation errors */ + + .dec-start-end-node { + position: relative; + display: flex; + justify-content: center; + align-items: center; + } + + .dec-start-node, + .dec-end-node { + width: 72px; + height: 72px; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + position: relative; + background: var(--color-background, white); + } + + /* Start node - green single circle */ + .dec-start-node { + border: 1px solid grey; + background-color: lightgray; + } + + .dec-end-node { + border: 1px solid grey; + background-color: lightgray; + } + + .dec-end-node-inner { + position: absolute; + inset: 6px; + border-radius: 50%; + border: 1px solid grey; + background-color: lightgray; + pointer-events: none; + } + + .dec-start-end-node.selected .dec-start-node { + box-shadow: 0 0 0 4px rgba(209, 204, 204, 0.3); + } + + .dec-start-end-node.selected .dec-end-node { + box-shadow: 0 0 0 4px rgba(209, 204, 204, 0.3); + } + + .dec-start-node:hover, + .dec-end-node:hover { + box-shadow: 0 0 0 4px rgba(209, 204, 204, 0.3); + } } /* custom edges */ diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx index 9a9efe6..e453407 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx @@ -206,18 +206,36 @@ function PlaceholderContent({ id, data, selected, type }: PlaceholderProps) { ); } +function StartEndNode({ id, data, selected, type }: NodeContentProps) { + const isStart = type === GraphNodeType.Start; + return ( +
+ {!isStart && } +
+ {!isStart &&
} +
+ {isStart && } +
+ ); +} + /* start node */ export type StartNodeType = RF.Node; export function StartNode({ id, data, selected, type }: RF.NodeProps) { // TODO: This component is just a placeholder - return ; + return ; } /* end node */ export type EndNodeType = RF.Node; export function EndNode({ id, data, selected, type }: RF.NodeProps) { // TODO: This component is just a placeholder - return ; + return ; } /* entry node */ From 87b0d3387e68f2a911f15e94397b8ae9178e3a87 Mon Sep 17 00:00:00 2001 From: kumaradityaraj Date: Fri, 26 Jun 2026 17:10:10 +0530 Subject: [PATCH 2/4] Copilot and team review Signed-off-by: kumaradityaraj --- .../src/react-flow/diagram/Diagram.css | 12 +++++------ .../src/react-flow/nodes/Nodes.tsx | 20 +------------------ 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css index ec4b314..9e4d5ef 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css @@ -424,21 +424,21 @@ /* Start node - green single circle */ .dec-start-node { - border: 1px solid grey; - background-color: lightgray; + border: 1px solid #aea6a6; + background-color: #f2f2f2; } .dec-end-node { - border: 1px solid grey; - background-color: lightgray; + border: 1px solid #aea6a6; + background-color: #e7e3e3; } .dec-end-node-inner { position: absolute; inset: 6px; border-radius: 50%; - border: 1px solid grey; - background-color: lightgray; + border: 1px solid #aea6a6; + background-color: #e7e3e3; pointer-events: none; } diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx index e453407..0d68d8f 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx @@ -190,29 +190,11 @@ interface PlaceholderProps { type: string; } -// TODO: This content is just a placeholder -function PlaceholderContent({ id, data, selected, type }: PlaceholderProps) { - return ( -
- -
- {`${type}\n${data.label}`} -
- -
- ); -} - function StartEndNode({ id, data, selected, type }: NodeContentProps) { const isStart = type === GraphNodeType.Start; return (
{!isStart && } From b372714e248c81bb4a519abd72b263d338e6568b Mon Sep 17 00:00:00 2001 From: kumaradityaraj Date: Fri, 26 Jun 2026 17:16:27 +0530 Subject: [PATCH 3/4] updating pmpl from upstream Signed-off-by: kumaradityaraj --- pnpm-lock.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8d88428..5e458c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,6 +93,9 @@ catalogs: jsdom: specifier: ^29.1.0 version: 29.1.1 + lint-staged: + specifier: ^17.0.8 + version: 17.0.8 lucide-react: specifier: ^1.21.0 version: 1.21.0 @@ -153,7 +156,7 @@ importers: specifier: 'catalog:' version: 9.1.7 lint-staged: - specifier: 17.0.8 + specifier: 'catalog:' version: 17.0.8 oxfmt: specifier: 'catalog:' From 8a4c8a31f8891bda8ec2d64c409b132ffd6aefb8 Mon Sep 17 00:00:00 2001 From: kumaradityaraj Date: Fri, 26 Jun 2026 17:24:13 +0530 Subject: [PATCH 4/4] Copilot reviews Signed-off-by: kumaradityaraj --- .../src/react-flow/diagram/Diagram.css | 1 - .../src/react-flow/nodes/Nodes.tsx | 8 -------- 2 files changed, 9 deletions(-) diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css index f6b6b98..2e588e7 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/diagram/Diagram.css @@ -422,7 +422,6 @@ background: var(--color-background, white); } - /* Start node - green single circle */ .dec-start-node { border: 1px solid #aea6a6; background-color: #f2f2f2; diff --git a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx index 0d68d8f..c676b5e 100644 --- a/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx +++ b/packages/serverless-workflow-diagram-editor/src/react-flow/nodes/Nodes.tsx @@ -182,14 +182,6 @@ function TerminalNodeContent({ id, type }: { id: string; type: TerminalNodeType ); } -// TODO: These props are just a placeholder -interface PlaceholderProps { - id: string; - data: BaseNodeData; - selected: boolean; - type: string; -} - function StartEndNode({ id, data, selected, type }: NodeContentProps) { const isStart = type === GraphNodeType.Start; return (