diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-10-08 20:00:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-08 20:00:49 +0300 |
commit | fc82d2f6d5e8a93f0e7ce4861c5205c8a4b49c30 (patch) | |
tree | 51e618db283d28ef241f0e6f2f6180004e6cb6e7 /src/components/Menu | |
parent | efcf8a6ae59d9767bc2289af927a2e12bc39a054 (diff) | |
download | voidsky-fc82d2f6d5e8a93f0e7ce4861c5205c8a4b49c30.tar.zst |
Move Dialogs to Radix (#5648)
* Use Redix FocusTrap (#5638) * Use Redix FocusTrap * force resolutions on radix libs * add focus guards * use @radix-ui/dismissable-layer for escape handling * fix banner menu keypress by using `Pressable` * add menu in dialog example to storybook --------- Co-authored-by: Samuel Newman <mozzius@protonmail.com> * use DismissableLayer/FocusScope for composer * fix storybook dialog * thread Portal through Prompt and avatar/banner * fix dialog style regression * remove tamagui --------- Co-authored-by: Eric Bailey <git@esb.lol>
Diffstat (limited to 'src/components/Menu')
-rw-r--r-- | src/components/Menu/index.tsx | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/components/Menu/index.tsx b/src/components/Menu/index.tsx index a22f43cf8..12cf1866e 100644 --- a/src/components/Menu/index.tsx +++ b/src/components/Menu/index.tsx @@ -18,6 +18,7 @@ import { ItemTextProps, TriggerProps, } from '#/components/Menu/types' +import {PortalComponent} from '#/components/Portal' import {Text} from '#/components/Typography' export { @@ -77,9 +78,11 @@ export function Trigger({children, label}: TriggerProps) { export function Outer({ children, showCancel, + Portal, }: React.PropsWithChildren<{ showCancel?: boolean style?: StyleProp<ViewStyle> + Portal?: PortalComponent }>) { const context = React.useContext(Context) const {_} = useLingui() @@ -87,15 +90,15 @@ export function Outer({ return ( <Dialog.Outer control={context.control} - nativeOptions={{preventExpansion: true}}> + nativeOptions={{preventExpansion: true}} + Portal={Portal}> <Dialog.Handle /> {/* Re-wrap with context since Dialogs are portal-ed to root */} <Context.Provider value={context}> - <Dialog.ScrollableInner label={_(msg`Menu`)} style={[a.pt_sm]}> + <Dialog.ScrollableInner label={_(msg`Menu`)} style={[a.py_sm]}> <View style={[a.gap_lg]}> {children} {isNative && showCancel && <Cancel />} - <View style={[{height: a.pb_lg.paddingBottom}]} /> </View> </Dialog.ScrollableInner> </Context.Provider> |