Constrain dropdown height to fit in the screen (#7730)

* constrain dropdown height with css variable

* fix duplicated dependency

* fix pendantic lockfile
This commit is contained in:
Samuel Newman
2025-02-25 08:08:30 -08:00
committed by GitHub
parent e40656128d
commit 9c5d92088d
6 changed files with 224 additions and 265 deletions
+1 -1
View File
@@ -187,7 +187,7 @@ export function Outer({
collisionPadding={{left: 5, right: 5, bottom: 5}}
loop
aria-label="Test"
className="dropdown-menu-transform-origin">
className="dropdown-menu-transform-origin dropdown-menu-constrain-size">
<View
style={[
a.rounded_sm,
+3
View File
@@ -237,6 +237,9 @@ input:focus {
.dropdown-menu-transform-origin > * {
transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.dropdown-menu-constrain-size > * {
max-height: var(--radix-dropdown-menu-content-available-height);
}
.force-no-clicks > *,
.force-no-clicks * {
+1 -4
View File
@@ -394,10 +394,7 @@ function SearchLanguageDropdown({
</Button>
)}
</Menu.Trigger>
<Menu.Outer
// HACKFIX: Currently there is no height limit for Radix dropdowns,
// so if it's too tall it just goes off screen. TODO: fix internally -sfn
style={web({maxHeight: '70vh'})}>
<Menu.Outer>
<Menu.LabelText>
<Trans>Filter search by language</Trans>
</Menu.LabelText>
+2 -5
View File
@@ -33,7 +33,7 @@ import {LoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
import {PressableWithHover} from '#/view/com/util/PressableWithHover'
import {UserAvatar} from '#/view/com/util/UserAvatar'
import {NavSignupCard} from '#/view/shell/NavSignupCard'
import {atoms as a, tokens, useBreakpoints, useTheme, web} from '#/alf'
import {atoms as a, tokens, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {DialogControlProps} from '#/components/Dialog'
import {ArrowBoxLeft_Stroke2_Corner0_Rounded as LeaveIcon} from '#/components/icons/ArrowBoxLeft'
@@ -235,10 +235,7 @@ function SwitchMenuItems({
closeEverything()
}
return (
<Menu.Outer
// HACKFIX: Currently there is no height limit for Radix dropdowns,
// so if it's too tall it just goes off screen. TODO: fix internally -sfn
style={web({maxHeight: '70vh'})}>
<Menu.Outer>
{accounts && accounts.length > 0 && (
<>
<Menu.Group>