Skip to content

fix(attribute): horizontal -ml-7 value pull, drawer/dialog and page-header edge paddings#235

Merged
ipwallarm merged 10 commits into
mainfrom
fix/horizontal-attr-pull-and-edge-paddings
Jul 17, 2026
Merged

fix(attribute): horizontal -ml-7 value pull, drawer/dialog and page-header edge paddings#235
ipwallarm merged 10 commits into
mainfrom
fix/horizontal-attr-pull-and-edge-paddings

Conversation

@ipwallarm

Copy link
Copy Markdown
Collaborator

Summary

  • PageHeader: pb-8py-8 — symmetric 8px vertical padding.
  • Drawer/Dialog body (shared drawerContentVariants): the pt-4/pb-4 edge padding introduced in fix(dialog): stop input focus ring from clipping at body edges #230 becomes pt-8/pb-8 (footer case). pb-24 without a footer is unchanged. Scroll behavior verified: scroll-position borders and the fix(dialog): stop input focus ring from clipping at body edges #230 focus-ring fix still work, with more breathing room at the edges.
  • Attribute: the -ml-7 hit-target pull for InlineEdit and AttributeActionsTarget guests now applies in both orientations (was vertical-only), so horizontal values hosted by either guest line up with plain values instead of sitting 6–7px to the right. The inline-edit-error compensation follows the pull.
  • New Mixed / Horizontal Mixed stories (plain + Actions + InlineEdit stacked in one column) + visual e2e tests locking the alignment contract.
  • Integration test updated for the new class contract.

Screenshots

Head commit carries [update-screenshots] — CI regenerates the affected baselines (Dialog, Drawer, horizontal Attribute, embedded drawers/dialogs in other stories) and creates the two new Mixed baselines, committing them back to this branch.

Testing

  • Live-verified in Storybook: paddings (8/8 with footer, 8/24 without), scroll border transitions, focus-ring clearance at body edges, and text-edge alignment (plain 758 / actions 757 / inline-edit 758 px).
  • 126 unit tests across Attribute/InlineEdit/Drawer/Dialog/Page pass; Biome and tsc --noEmit clean.

🤖 Generated with Claude Code

ispashkov and others added 4 commits July 17, 2026 15:15
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The pt-4/pb-4 added in #230 kept the focus ring from clipping but left
the content too tight against the viewport edges - use 8px on both the
top edge and the footer-side bottom edge.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…[update-screenshots]

The hit-target pull for InlineEdit and AttributeActionsTarget guests was
vertical-only, so horizontal values hosted by either guest sat 6-7px to
the right of plain values. Apply the pull in both orientations and add
Mixed stories (plain + Actions + InlineEdit stacked) with visual e2e
coverage of the alignment contract.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 0.77.1-rc-fix-horizontal-attr-pull-and-edge-paddings.1

@ispashkov
ispashkov force-pushed the fix/horizontal-attr-pull-and-edge-paddings branch from 9326beb to 8a538d1 Compare July 17, 2026 07:26
github-actions Bot and others added 2 commits July 17, 2026 07:35
@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 0.77.1-rc-fix-horizontal-attr-pull-and-edge-paddings.2

ispashkov and others added 3 commits July 17, 2026 17:24
…-screenshots]

Select/DropdownMenu/Popover content carried a static z-50, which zag's
popper mirrors into the portal positioner - below any nested drawer or
dialog positioner (50 + layer * 20), so an open menu rendered underneath.
Zag's dismissable layer stack already sets --layer-index inline on the
menu content (menus, selects, and dialogs share one global stack), so the
content z-index now derives from it: 50 + layer-index * 20. The ,0
fallback keeps the calc valid while the node is not yet registered.

Adds WithNestedSelect stories for Dialog and Drawer plus e2e coverage
(elementFromPoint stacking assertions and real option clicks, verified
red -> green locally).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…update-screenshots]

Drawer and Dialog run on the same Ark/zag dialog machine, so zag's
data-has-nested / --nested-layer-count metadata cannot tell a nested
Drawer from a nested Dialog - a Drawer opened from a Dialog wrongly
pushed the dialog back (and vice versa), and mixed chains inflated the
depth counter. A DS-owned DrawerNestingContext now re-counts open
descendants per kind (drawer/dialog) transitively, the contents key
their pushed-back CSS on data-has-nested-same + --nested-same-kind-count
instead of zag's attributes.

Adds WithNestedDrawer/WithNestedDialog stories, e2e regression tests for
both mixed directions, and hardens the four dropdown stacking probes
against the open-animation race (waits for getAnimations() to finish and
hit-tests the content center) - the same race that failed e2e shard 1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 0.77.1-rc-fix-horizontal-attr-pull-and-edge-paddings.3

@ipwallarm
ipwallarm merged commit 574e0be into main Jul 17, 2026
28 of 29 checks passed
@ipwallarm
ipwallarm deleted the fix/horizontal-attr-pull-and-edge-paddings branch July 17, 2026 09:35
@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 0.77.1

@github-actions

Copy link
Copy Markdown
Contributor

This PR is included in version 0.77.1-rc-fix-remote-shell-breadcrumbs.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants