Skip to content

Conversation

@Myestery
Copy link
Collaborator

@Myestery Myestery commented Nov 4, 2025

This pull request updates the design system color tokens and refactors node and widget component styles throughout the codebase to use new, more consistent CSS variables. The changes ensure that node and widget components are styled using unified design tokens, improving maintainability and theme support for both light and dark modes.

Design System Token Updates

  • Added new component and node-related CSS variables for background, border, foreground, and widget states in both light and dark themes in style.css. [1] [2]
  • Introduced --color-graphite-400 and adjusted several existing color assignments for better palette consistency. [1] [2]
  • Updated semantic CSS variables to reference the new component/node tokens for easier usage in components.
  • Changed --secondary-background-hover to match --secondary-background for improved hover consistency.

Component Refactoring: Node and Widget Styles

  • Refactored Vue component classes and inline styles to use the new CSS variables for node backgrounds, borders, and widget states, replacing legacy variables like bg-node-component-surface and border-node-component-border with bg-component-node-background and border-component-node-border. [1] [2] [3] [4]
  • Updated widget dropdowns, select, and input components to use text-component-node-foreground-secondary for icons and foregrounds, and new background variables for buttons and inputs. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Service Layer Updates

  • Updated the color palette service mapping to use the new CSS variable names for node and widget colors, ensuring consistency across the application.
Screen.Recording.2025-11-04.at.06.19.39.mov

These changes collectively modernize the styling approach for node and widget components, making it easier to maintain and extend theme support.

- Add component-node-* tokens for light and dark themes
- Reference primitive tokens (color-white, color-charcoal-*, etc.)
- Add semantic token layer: background, border, foreground, foreground-secondary
- Add widget state tokens: hovered, selected, disabled, highlighted
- Expose tokens in @theme inline for Tailwind utility classes
- Follows proper design token hierarchy: primitive → component → UI
- Update THEME_PROPERTY_MAP to reference new component-node-* variables
- Map NODE_BOX_OUTLINE_COLOR → component-node-border
- Map NODE_DEFAULT_BGCOLOR → component-node-background
- Map WIDGET_BGCOLOR → component-node-widget-background
- Map WIDGET_TEXT_COLOR → component-node-foreground
- Ensures custom palettes (arc, nord, solarized, github) override correct CSS variables
- Update WidgetInputBaseClass to use component-node-widget-* tokens
- Background: bg-component-node-widget-background
- Text: text-component-node-foreground
- Border: outline-component-node-border
- Hover: hover:bg-component-node-widget-background-hovered
- Applies to all Vue node widgets as base styling
- Apply text-component-node-foreground-secondary to all widget icons
- Update increment/decrement icons in WidgetInputNumberInput
- Update dropdown icons in WidgetSelectDefault, WidgetMultiSelect, WidgetTreeSelect
- Update folder icons in WidgetFileUpload
- Update chevron icon in FormDropdownInput
- Update border in WidgetInputNumberInput to use component-node-border
- Update FormDropdownInput background to use component-node-widget-background
- Update node background: bg-component-node-background
- Update node border: border-component-node-border
- Update separator: bg-component-node-border
- Update dynamic background CSS variable: --component-node-background
- Ensures consistent node styling with design system tokens
- Remove redundant bg-node-component-header-surface from NodeHeader
- Update AudioPreviewPlayer to use bg-component-node-widget-background
- Replace dark-theme variant with semantic token reference
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Nov 4, 2025
@github-actions
Copy link

github-actions bot commented Nov 4, 2025

🎨 Storybook Build Status

Build completed successfully!

⏰ Completed at: 11/05/2025, 07:49:17 AM UTC

🔗 Links


🎉 Your Storybook is ready for review!

@Myestery Myestery added the Design Used to request Product feedback on design decisions label Nov 4, 2025
@github-actions
Copy link

github-actions bot commented Nov 4, 2025

🎭 Playwright Test Results

⚠️ Tests passed with flaky tests

⏰ Completed at: 11/05/2025, 08:03:09 AM UTC

📈 Summary

  • Total Tests: 499
  • Passed: 466 ✅
  • Failed: 0
  • Flaky: 3 ⚠️
  • Skipped: 30 ⏭️

📊 Test Reports by Browser

  • chromium: View Report • ✅ 457 / ❌ 0 / ⚠️ 3 / ⏭️ 30
  • chromium-2x: View Report • ✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • chromium-0.5x: View Report • ✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0
  • mobile-chrome: View Report • ✅ 6 / ❌ 0 / ⚠️ 0 / ⏭️ 0

🎉 Click on the links above to view detailed test results for each browser configuration.

@github-actions
Copy link

github-actions bot commented Nov 4, 2025

Bundle Size Report

Summary

  • Raw size: 12.2 MB baseline 12.2 MB — 🔴 +227 B
  • Gzip: 2.49 MB baseline 2.49 MB — 🟢 -14 B
  • Brotli: 1.96 MB baseline 1.96 MB — 🔴 +121 B
  • Bundles: 58 current • 58 baseline • 13 added / 13 removed

Category Glance
App Entry Points 🔴 +221 B (3.31 MB) · Graph Workspace 🔴 +6 B (729 kB) · Vendor & Third-Party ⚪ 0 B (5.32 MB) · Other ⚪ 0 B (2.55 MB) · Panels & Settings ⚪ 0 B (293 kB) · UI Components ⚪ 0 B (12.6 kB) · + 3 more

Per-category breakdown
App Entry Points — 3.31 MB (baseline 3.31 MB) • 🔴 +221 B

Main entry bundles and manifests

File Before After Δ Raw Δ Gzip Δ Brotli
assets/index-zSefRH2-.js (new) 2.92 MB 🔴 +2.92 MB 🔴 +605 kB 🔴 +457 kB
assets/index-zUwM8XLC.js (removed) 2.92 MB 🟢 -2.92 MB 🟢 -605 kB 🟢 -457 kB
assets/index-Cbc4HaiN.js (new) 382 kB 🔴 +382 kB 🔴 +76.6 kB 🔴 +62.1 kB
assets/index-Dv04s-Ig.js (removed) 382 kB 🟢 -382 kB 🟢 -76.6 kB 🟢 -62.1 kB
assets/index-BgD_IEJd.js (new) 1.75 kB 🔴 +1.75 kB 🔴 +577 B 🔴 +484 B
assets/index-DTXds8Ct.js (removed) 1.75 kB 🟢 -1.75 kB 🟢 -576 B 🟢 -483 B

Status: 3 added / 3 removed

Graph Workspace — 729 kB (baseline 729 kB) • 🔴 +6 B

Graph editor runtime, canvas, workflow orchestration

File Before After Δ Raw Δ Gzip Δ Brotli
assets/GraphView-Dgy2F9Hy.js (new) 729 kB 🔴 +729 kB 🔴 +142 kB 🔴 +110 kB
assets/GraphView-Dyy-XWDh.js (removed) 729 kB 🟢 -729 kB 🟢 -142 kB 🟢 -110 kB

Status: 1 added / 1 removed

Views & Navigation — 8.18 kB (baseline 8.18 kB) • ⚪ 0 B

Top-level views, pages, and routed surfaces

File Before After Δ Raw Δ Gzip Δ Brotli
assets/UserSelectView-C9DKR6mg.js (removed) 8.18 kB 🟢 -8.18 kB 🟢 -2.48 kB 🟢 -2.17 kB
assets/UserSelectView-rPMJ8hr5.js (new) 8.18 kB 🔴 +8.18 kB 🔴 +2.48 kB 🔴 +2.17 kB

Status: 1 added / 1 removed

Panels & Settings — 293 kB (baseline 293 kB) • ⚪ 0 B

Configuration panels, inspectors, and settings screens

File Before After Δ Raw Δ Gzip Δ Brotli
assets/CreditsPanel-CLJ1Nh3m.js (new) 22.9 kB 🔴 +22.9 kB 🔴 +5.45 kB 🔴 +4.76 kB
assets/CreditsPanel-CMwT6wSm.js (removed) 22.9 kB 🟢 -22.9 kB 🟢 -5.45 kB 🟢 -4.77 kB
assets/KeybindingPanel-2qbK87QK.js (removed) 15.3 kB 🟢 -15.3 kB 🟢 -3.78 kB 🟢 -3.32 kB
assets/KeybindingPanel-CPQqbBmw.js (new) 15.3 kB 🔴 +15.3 kB 🔴 +3.78 kB 🔴 +3.33 kB
assets/ExtensionPanel-BI3zIpqh.js (new) 12.1 kB 🔴 +12.1 kB 🔴 +2.84 kB 🔴 +2.48 kB
assets/ExtensionPanel-CMZsUbOf.js (removed) 12.1 kB 🟢 -12.1 kB 🟢 -2.84 kB 🟢 -2.48 kB
assets/AboutPanel-BM4HpRbG.js (removed) 10.3 kB 🟢 -10.3 kB 🟢 -2.68 kB 🟢 -2.34 kB
assets/AboutPanel-CcWS7zhx.js (new) 10.3 kB 🔴 +10.3 kB 🔴 +2.67 kB 🔴 +2.34 kB
assets/ServerConfigPanel-DRuFwGV7.js (new) 8.23 kB 🔴 +8.23 kB 🔴 +2.18 kB 🔴 +1.91 kB
assets/ServerConfigPanel-pN2hcMW7.js (removed) 8.23 kB 🟢 -8.23 kB 🟢 -2.18 kB 🟢 -1.91 kB
assets/UserPanel-bF2Lv3CM.js (new) 7.94 kB 🔴 +7.94 kB 🔴 +2.07 kB 🔴 +1.81 kB
assets/UserPanel-C3fnz9w3.js (removed) 7.94 kB 🟢 -7.94 kB 🟢 -2.07 kB 🟢 -1.81 kB
assets/settings-0O6mq5to.js 24.3 kB 24.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-BYaBy7dC.js 20.4 kB 20.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-C3vygQN4.js 25.7 kB 25.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CbKYXyH0.js 22.7 kB 22.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-CCholIsI.js 25 kB 25 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-DFX7vRkK.js 19.8 kB 19.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-INJLrcmT.js 31.3 kB 31.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-iR6BKRXe.js 23.7 kB 23.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/settings-YjQmudNE.js 23.5 kB 23.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 6 added / 6 removed

UI Components — 12.6 kB (baseline 12.6 kB) • ⚪ 0 B

Reusable component library chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/ComfyQueueButton-C-5-vcAg.js (new) 11.3 kB 🔴 +11.3 kB 🔴 +2.83 kB 🔴 +2.5 kB
assets/ComfyQueueButton-d1L9pL9N.js (removed) 11.3 kB 🟢 -11.3 kB 🟢 -2.83 kB 🟢 -2.49 kB
assets/UserAvatar.vue_vue_type_script_setup_true_lang-CY-Afo9h.js 1.29 kB 1.29 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 1 added / 1 removed

Data & Services — 10.4 kB (baseline 10.4 kB) • ⚪ 0 B

Stores, services, APIs, and repositories

File Before After Δ Raw Δ Gzip Δ Brotli
assets/keybindingService-CrVgLnYE.js (new) 7.6 kB 🔴 +7.6 kB 🔴 +1.84 kB 🔴 +1.59 kB
assets/keybindingService-DfBQoB60.js (removed) 7.6 kB 🟢 -7.6 kB 🟢 -1.85 kB 🟢 -1.59 kB
assets/serverConfigStore-Drx1xdev.js 2.79 kB 2.79 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

Status: 1 added / 1 removed

Utilities & Hooks — 1.07 kB (baseline 1.07 kB) • ⚪ 0 B

Helpers, composables, and utility bundles

File Before After Δ Raw Δ Gzip Δ Brotli
assets/mathUtil-CTARWQ-l.js 1.07 kB 1.07 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Vendor & Third-Party — 5.32 MB (baseline 5.32 MB) • ⚪ 0 B

External libraries and shared vendor chunks

File Before After Δ Raw Δ Gzip Δ Brotli
assets/vendor-other-DTJaZ2wB.js 3.22 MB 3.22 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-primevue-PESgPnbc.js 517 B 517 B ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-three-JDoAqkQm.js 1.37 MB 1.37 MB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-tiptap-BovKm-bo.js 232 kB 232 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-vue-D0cJmhlH.js 92.6 kB 92.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/vendor-xterm-BZLod3g9.js 407 kB 407 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
Other — 2.55 MB (baseline 2.55 MB) • ⚪ 0 B

Bundles that do not match a named category

File Before After Δ Raw Δ Gzip Δ Brotli
assets/commands-B2KZRBmX.js 15.1 kB 15.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Bw-ckyga.js 13.9 kB 13.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-C_NmM85I.js 13.8 kB 13.8 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-CuozCW4W.js 14 kB 14 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DGfVUJCR.js 16.2 kB 16.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-dOJNDogK.js 14.5 kB 14.5 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-DwiE551e.js 14.7 kB 14.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-Fw7mvqSy.js 13.1 kB 13.1 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/commands-FXnO1W4Q.js 13.2 kB 13.2 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-B2H4r1yK.js 70.7 kB 70.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BfrcYvru.js 59.4 kB 59.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BhRi1J0e.js 68.4 kB 68.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-BUG9wuyt.js 80.3 kB 80.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-C0hL5eRA.js 76.4 kB 76.4 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-CkKZCT7r.js 58.7 kB 58.7 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-D1RQ0Vb_.js 66.3 kB 66.3 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DdyfZOXg.js 67.6 kB 67.6 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/main-DPE2NqRw.js 92.9 kB 92.9 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-3I1vPgv4.js 181 kB 181 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-B2huPGKQ.js 190 kB 190 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-BWugyUzd.js 215 kB 215 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-bXqu6Stq.js 194 kB 194 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-CtB2M3sY.js 229 kB 229 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D-rCrn-T.js 200 kB 200 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-D38DSnl1.js 179 kB 179 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DAsU52ON.js 192 kB 192 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B
assets/nodeDefs-DnGONaA_.js 196 kB 196 kB ⚪ 0 B ⚪ 0 B ⚪ 0 B

@Myestery Myestery added the New Browser Test Expectations New browser test screenshot should be set by github action label Nov 5, 2025
@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Updating Playwright Expectations

@github-actions github-actions bot removed the New Browser Test Expectations New browser test screenshot should be set by github action label Nov 5, 2025
@christian-byrne christian-byrne merged commit 265f125 into main Nov 5, 2025
35 of 37 checks passed
@christian-byrne christian-byrne deleted the updated-node-tokens branch November 5, 2025 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:design-system area:vue-migration Design Used to request Product feedback on design decisions size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants