fix: treat sticky elements as scrollable ancestors, not fixed#1984
Open
clauderic wants to merge 1 commit into
Open
fix: treat sticky elements as scrollable ancestors, not fixed#1984clauderic wants to merge 1 commit into
clauderic wants to merge 1 commit into
Conversation
🦋 Changeset detectedLatest commit: 5f34fed The changes in this PR will be included in the next version bump. This PR includes changesets to release 10 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
@dnd-kit/abstract
@dnd-kit/collision
@dnd-kit/dom
@dnd-kit/geometry
@dnd-kit/helpers
@dnd-kit/react
@dnd-kit/solid
@dnd-kit/state
@dnd-kit/svelte
@dnd-kit/vue
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1756
Summary
The
isFixedutility was returningtruefor bothposition: fixedandposition: stickyelements. IngetScrollableAncestors, when anisFixedelement was encountered, traversal would stop immediately and fall back todocument.scrollingElement— bypassing any actual scrollable containers in between.This is correct for
position: fixed(which is positioned relative to the viewport and has no scrollable DOM ancestors), but incorrect forposition: sticky. Sticky elements remain part of the normal document flow and still scroll with their nearest scroll container. Treating them as fixed caused autoscroll to skip the actual scrollable ancestor (e.g. a scrollable table container) and use the document scroll element instead, breaking horizontal autoscroll in sticky table headers.The fix removes
position: stickyfrom theisFixedcheck so sticky elements are treated normally during scroll ancestor traversal.Test plan
position: stickytable header with a horizontally scrollable containerAutomated fix by Claude Code