Skip to content

fix: [InputGroup] refinements (ENG-46733, ENG-46734) - #784

Merged
isaquebock merged 10 commits into
mainfrom
fix/input-group-refinements-eng-46733-34
Jul 28, 2026
Merged

fix: [InputGroup] refinements (ENG-46733, ENG-46734)#784
isaquebock merged 10 commits into
mainfrom
fix/input-group-refinements-eng-46733-34

Conversation

@isaquebock

@isaquebock isaquebock commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • ENG-46733 — Focus ring de descendentes suprimido; apenas um ring no grupo via focus-within.
  • ENG-46734 — Novo prop size?: 'small' | 'medium' | 'large' (default medium); altura do grupo e padding do addon adaptam via data-size e propagam para inputs internos.

How to test (mapeado 1:1 com Jira)

ENG-46733 — "InputGroup apresenta Double Focus"

Problema Jira: "InputGroup apresenta problema de Double Focus (dois estados de foco simultâneos/duplicados)."

  • Storybook → Components/Inputs/InputGroupDefault.
  • Clicar dentro do input interno → apenas UM focus ring visível (no grupo). Não deve haver dois rings sobrepostos.
  • Tab de fora para dentro → mesmo comportamento.
  • Repetir com descendentes de tipos diferentes: InputText, InputPassword, <a> link, elemento role="combobox" — todos delegam o ring ao grupo.

ENG-46734 — "Não suporta sizes — deve adaptar aos inputs internos"

Problema Jira: "InputGroup não dá suporte a sizes. Internamente ele precisa aceitar os sizes dos inputs internos e se adaptar de acordo."

  • Storybook → Components/Inputs/InputGroup → story Sizes.
  • size="small" → altura 28px; addon com px-xs; inputs internos alinhados.
  • size="medium" (default) → altura 32px; addon com padding padrão.
  • size="large" → altura 40px; addon com px-md.
  • Root do grupo expõe data-size refletindo o prop.
  • Inputs primitivos internos (InputText etc.) redimensionam para casar com o grupo — sem overflow/clipping visual.

Tests

30 passed, 1 skipped (skip pré-existente de aria-required no axe — não relacionado).

Merge focus indicators into the group's single focus-within ring by
suppressing every descendant focus ring inside the group (buttons,
anchors, comboboxes, inner input wrappers, raw inputs). Only the
outer group ring is visible when any child receives focus.

Add a size prop ('small' | 'medium' | 'large', default 'medium')
matching the sibling input primitives. The root renders data-size
and toggles h-7/h-8/h-10 accordingly; the addon adapts its horizontal
padding via ancestor-scoped variants so the row height stays visually
balanced across sizes.

Refs: ENG-46733, ENG-46734
@isaquebock
isaquebock marked this pull request as ready for review July 23, 2026 17:33
@isaquebock
isaquebock requested a review from a team as a code owner July 23, 2026 17:33
@isaquebock
isaquebock marked this pull request as draft July 23, 2026 17:34
@isaquebock
isaquebock marked this pull request as ready for review July 23, 2026 21:02
gdsantana
gdsantana previously approved these changes Jul 24, 2026
@isaquebock
isaquebock merged commit c016bcb into main Jul 28, 2026
23 checks passed
gabriel-lisboa-azion added a commit that referenced this pull request Jul 28, 2026
Resolution policy: shared DS/infra takes main; apps/webkit-sample keeps this
branch. The 104 add/add conflicts were an artifact of main squash-merging PRs
while this branch merged origin/dev directly, so identical work landed on both
sides with no shared blob ancestry. Verified main is a superset of this branch's
shared-area work.

- 143 conflicted files resolved to main's version.
- 6 accepted as main's deletions: the three packages/*/.releaserc
  (semantic-release to release-please), the dead theme css-vars/resolve token
  scripts, and docs/GOVERNANCE_NEXT_STEPS.md.
- apps/webkit-sample merged clean and is untouched.

Preserved from this branch: popover-header min-height. Main carries
min-h-[--(size-4)], which is invalid Tailwind, is the only such bracket form in
webkit src, and resolves to 16px where the adjacent comment requires 1.75rem.

Dropped from this branch: the drawer mobileBehavior catalog entry (documents a
prop that exists in neither side's drawer.vue) and the text-label-* font-weight
400 change (kept main's 500 so main's visual baselines stay valid).

Also regenerated packages/webkit/catalog.json, which main left stale after #784
removed InputGroup's size prop, and removed the superseded
.github/workflows/app-storybook-dev.yml (dev-triggered, unreachable on a
main-based trunk).
@robsongajunior
robsongajunior deleted the fix/input-group-refinements-eng-46733-34 branch July 28, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants