Skip to content

Improves task node color palette derivation and picker UX#2148

Open
Mbeaulne wants to merge 1 commit into04-23-task_sections_are_now_collapsiblefrom
04-23-move_colour_selector
Open

Improves task node color palette derivation and picker UX#2148
Mbeaulne wants to merge 1 commit into04-23-task_sections_are_now_collapsiblefrom
04-23-move_colour_selector

Conversation

@Mbeaulne
Copy link
Copy Markdown
Collaborator

@Mbeaulne Mbeaulne commented Apr 23, 2026

Description

Introduces a deriveColorPalette utility that computes a cohesive set of colors (background, border, section background, and WCAG-appropriate text) from a single base hex color. This replaces the previous approach of using the raw selected color directly as the card background, and instead applies the derived palette across the task node card, collapsed node, and task details panel for a more polished and accessible appearance.

The color picker in the task details header is replaced with a custom circular trigger button that previews the derived palette (background, border, and pencil icon color), and the color picker input field now strips and re-adds the # prefix so users type only the hex digits. The renderTrigger prop was added to ColorPicker to support this custom trigger pattern.

The task color picker has also been moved out of the collapsible configuration section and into the task name header row, making it more immediately accessible.

Related Issue and Pull requests

Resolves #2119
Resolves #2120

Type of Change

  • Bug fix
  • New feature
  • Improvement
  • Cleanup/Refactor
  • Breaking change
  • Documentation update

Checklist

  • I have tested this does not break current pipelines / runs functionality
  • I have tested the changes on staging

Screenshots (if applicable)

image.png

Test Instructions

  1. Open a pipeline in the editor and select a task node.
  2. Use the color picker button in the task name header to assign a color.
  3. Verify the task node card reflects the derived palette: background, border, section backgrounds, and text colors all update cohesively.
  4. Verify the collapsed task node also shows the correct border color.
  5. Confirm the color picker hex input accepts input without a leading # and applies correctly.
  6. Test with light and dark preset colors to confirm WCAG text contrast is applied correctly.

Additional Comments

The deriveColorPalette function performs HSL-space transformations: the border is darkened and slightly more saturated, while the section background is desaturated and lightened toward white. These values were chosen to produce visually consistent results across the full range of preset colors.

@Mbeaulne Mbeaulne mentioned this pull request Apr 23, 2026
8 tasks
Copy link
Copy Markdown
Collaborator Author

Mbeaulne commented Apr 23, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2026

🎩 Preview

A preview build has been created at: 04-23-move_colour_selector/bff8d22

@Mbeaulne Mbeaulne changed the title Move colour selector Improves task node color palette derivation and picker UX Apr 23, 2026
@Mbeaulne Mbeaulne force-pushed the 04-23-move_colour_selector branch from 333e5e5 to 45fd6a2 Compare April 23, 2026 15:48
@Mbeaulne Mbeaulne marked this pull request as ready for review April 23, 2026 15:55
@Mbeaulne Mbeaulne requested a review from a team as a code owner April 23, 2026 15:55
@Mbeaulne Mbeaulne force-pushed the 04-23-move_colour_selector branch from 45fd6a2 to bff8d22 Compare April 23, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant