Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix overflowing selected of options #1756

Open
wants to merge 45 commits into
base: master
Choose a base branch
from
Open

Conversation

susnux
Copy link

@susnux susnux commented Feb 15, 2023

Currently if the width of the select element is not enough the selected option will overflow the element, even if the inner component of the selected option slot has some overflow rules set (like ellipsis).

To fix this, both the selected option and the container needs to reset the min-width.

before after
before after

Especially note the actions are missing before, as they were placed underneath some elements outside the select on the right.

Pytal and others added 30 commits January 4, 2023 18:40
Signed-off-by: Christopher Ng <[email protected]>
- To meet WCAG AA contrast requirements

Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
- "Clear" for single-select
- "Deselect" for multi-select

Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
- The calculated dropdown list width, passed to `calculatePosition()`
  when `appendToBody` is true, should be equal to the toggle width
- Width is calculated before the dropdown list is appended to `body` and
  is still a child of the Select component
- If the Select component is mounted within a container that overflows
  and shows a scrollbar when a child dropdown list is opened, the toggle
  width is calculated with the scrollbar taken into account and
  therefore will equal the original toggle width minus the scrollbar
  width
- When appended to `body` the dropdown list does not overflow the
  container
- Thus `calculatePosition()` is given a width less than the toggle width
- To fix this discrepancy we mount the dropdown list to `body` before
  the calculation instead of after

Signed-off-by: Christopher Ng <[email protected]>
Pytal and others added 7 commits February 13, 2023 17:50
- Point to correct package under nextcloud namespace

Signed-off-by: Christopher Ng <[email protected]>
- Update package name
- Update badges

Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
Signed-off-by: Christopher Ng <[email protected]>
@susnux susnux changed the title fix: Overflowing selected options Fix overflowing selected of options Feb 15, 2023
Signed-off-by: Ferdinand Thiessen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants