Conversation
librowski
added this pull request to stack #125
September 14, 2026 10:58
librowski
marked this pull request as ready for review
September 14, 2026 13:15
librowski
requested review from
lukasz-jazwa,
piotrblaszczyk and
szymon-t-sc
as code owners
September 14, 2026 13:15
librowski
force-pushed
the
ds2-palette-node-states
branch
from
September 14, 2026 19:54
b4215cf to
dce90ff
Compare
piotrblaszczyk
approved these changes
Sep 15, 2026
Design answer to the palette questions: the palette has no component of its own, an entry is the Node without ports and badge, and its states are the Node states. Hover already came from the shell; the drag preview now renders the Active state (outline and ring), and read-only entries render the Disabled variant instead of a faded copy. NodePanel.Root, NodeDescription and NodeIcon gain a disabled prop with their own public defaults; the four node templates pass it through. The palette's unused variables file and outline styling are removed.
librowski
force-pushed
the
ds2-palette-node-states
branch
from
September 15, 2026 08:54
dce90ff to
1f440c8
Compare
librowski
removed this pull request from stack #125
September 15, 2026 10:24
librowski
changed the base branch from
ds2-node-text-ellipsis
to
ds2-menu-item-selected
September 15, 2026 10:24
librowski
added this pull request to stack #151
September 15, 2026 10:24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Decision
Design answer to the palette questions (DR-180/181): the palette gets no component and no tokens of its own. An entry is the
Nodewithout ports and badge; its states are the Node states (restDefault, hoverHover, draggingActivewith the same ring as selection, unavailable typeDisabled). The drag preview is the same Node instance.What was already true
NodePreviewContaineralready renders the real node template withshowHandles={false}, and the shell's own hover (stroke-hover) already applied to palette entries. The palette'svariables.css(two--wb-sdk-palette-item-*properties) had zero consumers and the item wrapper's transparent outline did nothing.Change
NodePanel.Root,NodeDescription,NodeIcon(ui): newdisabledprop rendering the Node Disabled variant from the Figma master bindings: shell and icon containercanvas/node/bg-primary-disabled, title and subtitlecanvas/node/text-disabled, glyphui/icon/disabled, no hover reaction. Each component owns its defaults in:root(--wb-public-node-*-disabled), per the built-CSS contract that forbids redefining public variables on component selectors.disabledprop passed to shell, icon and description.disabledinstead ofopacity: 0.5; the drag preview rendersselected(Active ring); deadvariables.cssand outline styling removed.Measured in the demo on the built package: rest border
gray/ title#070708/ iconacc1-500; hover borderacc1-500; read-only backgroundgray-300, title and icon at 30% alpha,disabledclass on the shell. Screenshots in the research repo (visual-pass-2026-09-14/).Follow-up, not in this PR
The container mapping from the same answer (
PaletteContainer→Left_Sidebar): the sharedSidebarcomponent is 320px wide with a 20px content gap, the Figma master is 273px with 16px. It also serves the properties bar, so it is a separate change. The drag preview ring is covered by the preview spec, not by a browser check (native drag image).Verification
ui and sdk typecheck, eslint, stylelint, unit tests (NodePanel states, NodeDescription disabled, preview state passthrough),
pnpm -F @workflowbuilder/ui buildwithcheck:built-css, docs typecheck.