Better platform handling
This commit is contained in:
@@ -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: {},
|
||||
})}
|
||||
|
||||
@@ -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: {}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user