Skip to content

feat(ui): control metrics and tokens shared by buttons, dropdowns, search fields and tab strips #1333

Description

@ZhuchkaTriplesix

Part of #1331. Implements the scale of the standard issue.

Problem

Heights are defined in four places that do not agree: QueryaIconButtonDensity (28 / 32), QueryaDropdownTokens (36 / compact 26), QueryaTabStrip (dense 4 px vs 8 px vertical padding), and shadcn ButtonSize (scale 1 / 0.75 of a padding that depends on theme density). A toolbar row therefore has no common height by construction.

Scope

  • lib/core/ui/querya_control_tokens.dart (next to querya_tree_tokens.dart): QueryaControlSize with the values sm, md, lg and height, horizontalPadding, fontSize, iconSize, iconGap, radius, and scaled(context) through uiScale.
  • QueryaIconButton: density becomes size: QueryaControlSize (dense / standard kept as deprecated aliases for sm / md).
  • QueryaDropdown, QueryaSearchField, QueryaTabStrip, QueryaToolbarButton: take their height, radius and font from the tokens; dropdown compact 26 becomes sm 28.
  • One QueryaControlSize.of(context) default for a toolbar subtree (QueryaControlScope), so a toolbar sets its size once and its children follow.

Acceptance

  • No literal 26 / 28 / 32 / 36 control height remains in the kit's widgets.
  • A row of QueryaIconButton, QueryaDropdown, QueryaSearchField and QueryaTabStrip of one size has one height (widget test).
  • Heights follow uiScale and text scale without overflow.

Activity

  1. added
    enhancementNew feature or request
    frontendTheme parser epic label: frontend
    uiUser interface components and widgets
    uxUser experience, keyboard shortcuts and interactions
    P2Medium priority / Parity & Refactoring
    on Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium priority / Parity & RefactoringenhancementNew feature or requestfrontendTheme parser epic label: frontenduiUser interface components and widgetsuxUser experience, keyboard shortcuts and interactions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions