Skip to content

refactor(ui): add Combobox and nested menus, migrate Web UI controls - #2674

Merged
kev1n77 merged 7 commits into
GCWing:1.0.0-explorefrom
kev1n77:fmy/ui-sys
Aug 30, 2026
Merged

refactor(ui): add Combobox and nested menus, migrate Web UI controls#2674
kev1n77 merged 7 commits into
GCWing:1.0.0-explorefrom
kev1n77:fmy/ui-sys

Conversation

@kev1n77

@kev1n77 kev1n77 commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add a shared Combobox with search, grouping, multiple selection, custom values, and anchored positioning; migrate 12 Web UI consumers.
  • Add MenuPopover with nested submenus and migrate the product context-menu renderer.
  • Adopt PageHeader and Toolbar in settings headers and scene navigation.
  • Fix field accessibility, initial Combobox state, and menu positioning and focus during transitions.
  • Remove the unused legacy Select implementation and obsolete context-menu styles.
  • Add interactive provider configuration, scene toolbar, and nested-menu examples to Design Lab, with localized copy and documentation.

Fixes: N/A

Type and Areas

Type: Feature / bug fix / refactor / UI/UX / docs / test

Areas: Shared UI components, design system, Design Lab, Web UI, Appearance compatibility

Motivation / Impact

Reduce duplicated controls and inconsistent behavior across Web UI by moving reusable selection, menu, and layout patterns into the shared component library.

Standardize keyboard navigation, overlay positioning, and focus handling while keeping product-specific actions and infrastructure outside shared components.

Verification

Passed during implementation:

  • pnpm run design-system:check — package and Design Lab builds, type checks, and tests.
  • pnpm run check:web — Web UI type checking, Appearance contracts, theme color audits, and visual contract checks.
  • Focused tests covering Combobox, nested menus, context menus, settings headers, scene toolbars, overlay clipping, and legacy Appearance package compatibility.

Not performed:

  • Manual visual acceptance; browser automation was not used as visual-fidelity evidence, following repository guidance.
  • Runtime verification for Remote Workspace, Remote Control, Peer Device Mode, or Detached Dispatch.
  • Rust builds and tests, since no Rust implementation changed.

Reviewer Notes

  • FlowChat and the main conversation composer remain outside this migration. One overlay contract test was updated to reference the shared Combobox.
  • Legacy components.select Appearance overrides are ignored through the existing read-only migration mechanism. Original packages remain unchanged; legacy loading and JSON round-trip behavior are covered by tests.
  • Context menus retain product Appearance markers. Product adapters continue to own asynchronous actions and error handling.
  • Design Lab provider configuration is demonstration-only: it makes no network requests and saves no credentials.
  • Theme audit baselines were not relaxed. Existing non-blocking bundle-size and Appearance ownership warnings remain.
  • Changes are split into seven commits for focused review and rollback.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@kev1n77
kev1n77 merged commit 1a40aef into GCWing:1.0.0-explore Aug 30, 2026
11 of 12 checks passed
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