Skip to content

feat(kumo): add ColorPicker component with parity UI and eyedropper#174

Open
singkia wants to merge 2 commits intocloudflare:mainfrom
singkia:codex/color-picker-upstream-parity
Open

feat(kumo): add ColorPicker component with parity UI and eyedropper#174
singkia wants to merge 2 commits intocloudflare:mainfrom
singkia:codex/color-picker-upstream-parity

Conversation

@singkia
Copy link
Contributor

@singkia singkia commented Mar 4, 2026

Summary

  • add a new ColorPicker component to @cloudflare/kumo with parity UI/behavior from the production implementation
  • support HEX/RGB/HSL/HSB editing flows with color area + hue slider controls
  • include optional EyeDropper integration with capability detection and non-intrusive error handling
  • keep external value protocol as hex while bridging internal Color object state for stable drag/edit interactions

Files

  • packages/kumo/src/components/color-picker/* (new module: component, primitives, state bridge, tests, exports)
  • packages/kumo/src/index.ts (main export)
  • packages/kumo/vite.config.ts (component entry)
  • packages/kumo/package.json + pnpm-lock.yaml (dependency + export path)
  • .changeset/olive-ladybugs-type.md

Validation

  • pnpm --filter @cloudflare/kumo typecheck
  • pnpm --filter @cloudflare/kumo exec vitest run src/components/color-picker/color-picker.test.tsx
  • pnpm --filter @cloudflare/kumo exec oxlint --config .oxlintrc.json src/components/color-picker src/index.ts --type-aware
  • pnpm --filter @cloudflare/kumo exec eslint src/components/color-picker src/index.ts

Notes

  • keeps visual/interaction parity while removing internal remount coupling in HEX input sync
  • retains white thumb contrast ring with stable class usage (before:bg-white)

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