Better platform handling

This commit is contained in:
Eric Bailey
2024-03-04 17:10:01 -06:00
parent a496a380d3
commit ac6b5fa1f4
3 changed files with 9 additions and 10 deletions
+1 -8
View File
@@ -53,17 +53,10 @@ export function Trigger({
onOut: onMouseLeave,
} = useInteractionState()
const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState()
const {
state: pressed,
onIn: onPressIn,
onOut: onPressOut,
} = useInteractionState()
return (
<DropdownMenu.Trigger asChild>
<Pressable
onPressIn={onPressIn}
onPressOut={onPressOut}
onFocus={onFocus}
onBlur={onBlur}
style={flatten([web({outline: 0})])}
@@ -77,7 +70,7 @@ export function Trigger({
state: {
hovered,
focused,
pressed,
pressed: false,
},
handlers: {},
})}
+7 -1
View File
@@ -9,6 +9,9 @@ export type TriggerChildProps =
isNative: true
control: Dialog.DialogOuterProps['control']
state: {
/**
* Web only, `false` on native
*/
hovered: false
focused: boolean
pressed: boolean
@@ -27,7 +30,10 @@ export type TriggerChildProps =
state: {
hovered: boolean
focused: boolean
pressed: boolean
/**
* Native only, `false` on web
*/
pressed: false
}
handlers: {}
}
+1 -1
View File
@@ -14,7 +14,7 @@ export function Menus() {
<Menu.Root>
<Menu.Trigger>
{({state, handlers}) => {
console.log(state)
console.log(state.hovered, state.focused, state.pressed)
return <Text {...handlers}>Open</Text>
}}
</Menu.Trigger>