Skip to content

ui(settings): theme picker exit motion + trigger expand parity #499

Description

@ZhuchkaTriplesix

Parent

Part of epic #490.

Problem

  1. Theme picker closes with _controller.close() immediately — no exit fade-slide. QueryaDropdown delays close so overlay can animate.
  2. Trigger label is always Expanded, unlike QueryaDropdown._triggerLabelText (expand only when width / expandToParent). Forces full-width when compact.

Proposal

  • Reuse dropdown exit pattern (closeOnActivate: false + delayed close via motionDuration(standard))
  • Expand trigger label only when expandToParent || fieldWidth != null

Files

  • lib/features/settings/theme_picker_button.dart
  • lib/shared/widgets/querya_dropdown.dart (reference / shared helper)

Acceptance

  • Closing theme menu plays exit fade-slide under Full/Reduced; Off snaps
  • Compact trigger does not force Expanded stretch

Metadata

Metadata

Labels

enhancementNew feature or requestmotionAnimation system, transitions, motion tokenssettingsTheme parser epic label: settingsthemeTheming, colors, VS Code themesuiUser interface components and widgets

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions