diff options
Diffstat (limited to 'src/components/Menu')
-rw-r--r-- | src/components/Menu/index.tsx | 9 | ||||
-rw-r--r-- | src/components/Menu/index.web.tsx | 8 | ||||
-rw-r--r-- | src/components/Menu/types.ts | 5 |
3 files changed, 20 insertions, 2 deletions
diff --git a/src/components/Menu/index.tsx b/src/components/Menu/index.tsx index 99fb2d127..9c970b051 100644 --- a/src/components/Menu/index.tsx +++ b/src/components/Menu/index.tsx @@ -47,7 +47,12 @@ export function Root({ return <Context.Provider value={context}>{children}</Context.Provider> } -export function Trigger({children, label, role = 'button'}: TriggerProps) { +export function Trigger({ + children, + label, + role = 'button', + hint, +}: TriggerProps) { const context = useMenuContext() const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState() const { @@ -65,11 +70,13 @@ export function Trigger({children, label, role = 'button'}: TriggerProps) { pressed, }, props: { + ref: null, onPress: context.control.open, onFocus, onBlur, onPressIn, onPressOut, + accessibilityHint: hint, accessibilityLabel: label, accessibilityRole: role, }, diff --git a/src/components/Menu/index.web.tsx b/src/components/Menu/index.web.tsx index d1863e478..dc9116168 100644 --- a/src/components/Menu/index.web.tsx +++ b/src/components/Menu/index.web.tsx @@ -110,7 +110,12 @@ const RadixTriggerPassThrough = React.forwardRef( ) RadixTriggerPassThrough.displayName = 'RadixTriggerPassThrough' -export function Trigger({children, label, role = 'button'}: TriggerProps) { +export function Trigger({ + children, + label, + role = 'button', + hint, +}: TriggerProps) { const {control} = useMenuContext() const { state: hovered, @@ -153,6 +158,7 @@ export function Trigger({children, label, role = 'button'}: TriggerProps) { onBlur: onBlur, onMouseEnter, onMouseLeave, + accessibilityHint: hint, accessibilityLabel: label, accessibilityRole: role, }, diff --git a/src/components/Menu/types.ts b/src/components/Menu/types.ts index 44171d42c..51baa24df 100644 --- a/src/components/Menu/types.ts +++ b/src/components/Menu/types.ts @@ -19,6 +19,7 @@ export type ItemContextType = { } export type RadixPassThroughTriggerProps = { + ref: React.RefObject<any> id: string type: 'button' disabled: boolean @@ -37,6 +38,7 @@ export type RadixPassThroughTriggerProps = { export type TriggerProps = { children(props: TriggerChildProps): React.ReactNode label: string + hint?: string role?: AccessibilityRole } export type TriggerChildProps = @@ -59,11 +61,13 @@ export type TriggerChildProps = * object is empty. */ props: { + ref: null onPress: () => void onFocus: () => void onBlur: () => void onPressIn: () => void onPressOut: () => void + accessibilityHint?: string accessibilityLabel: string accessibilityRole: AccessibilityRole } @@ -85,6 +89,7 @@ export type TriggerChildProps = onBlur: () => void onMouseEnter: () => void onMouseLeave: () => void + accessibilityHint?: string accessibilityLabel: string accessibilityRole: AccessibilityRole } |