Add KSelect dropdown to the Overlay layer #877
+157
−161
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.
Description
Finally, a robust solution is proposed to the many known issues with the KSelect dropdown by teleporting KSelect dropdown to the Overlay layer using Popper.
Issue addressed
Addresses #324 and #690.
Before/after screenshots
overflowY: unset
set because the Modal check for KSelectsScreencast showing the behaviour of KSelect in a long modal:
Compartir.pantalla.-.2024-12-26.16_10_21.mp4
Changelog
Description: Teleport KSelect dropdown to the Overlay layer using Popper.
Products impact: bugfix.
**Addresses:**Kmodal should be able to show dropdowns select without making scrollbars appear #324, Investigate KSelect’s dropdown being displayed above the input in some cases even when there is enough space below #690.
Components: KSelect.
Breaking: no
Impacts a11y: no
Guidance: -.
Description: Removes internal KModal calculations to modify its content height if it had a KSelect inside.
Products impact: bugfix.
**Addresses:**Kmodal should be able to show dropdowns select without making scrollbars appear #324.
Components: KModal.
Breaking: no
Impacts a11y: no
Guidance: -.
Steps to test
(optional) Implementation notes
At a high level, how did you implement this?
I have decided to close the dropdown on scroll, just like the KDropdownMenu, to avoid situations like this:
Otherwise we would need to be querying scrollable ancestors elements, and taking into account the height of any absolute/fixed elements like the topbar to automaticlly close the dropdown.
Does this introduce any tech-debt items?
Testing checklist
Reviewer guidance
Comments