Skip to content

MenuProps — @gj-kit/expo-ui

A public type from @gj-kit/expo-ui. The signature below is taken directly from the 0.8.1 release declaration.

import { MenuProps } from '@gj-kit/expo-ui';
type MenuProps<T extends string> = Omit<CommonProps, 'unstyled'> & (MenuOwnedTriggerProps | MenuRenderTriggerProps) & {
readonly items: readonly MenuItem<T>[];
readonly open: boolean;
readonly onOpenChange: (open: boolean, details: MenuOpenChangeDetails<NoInfer<T>>) => void;
readonly onSelect: (details: MenuSelectDetails<NoInfer<T>>) => void;
/** The menu landmark name. Defaults to triggerLabel. */
readonly accessibilityLabel?: string | undefined;
readonly disabled?: boolean | undefined;
/** Blocks selection while still allowing an already open menu to dismiss. */
readonly busy?: boolean | undefined;
/** Blocks outside presses, Escape, Back, and the accessibility escape. */
readonly dismissDisabled?: boolean | undefined;
readonly placement?: MenuPlacement | undefined;
readonly direction?: MenuDirection | undefined;
readonly sideOffset?: number | undefined;
readonly alignOffset?: number | undefined;
readonly collisionPadding?: number | undefined;
readonly presentation?: MenuPresentation | undefined;
/** Safe-area inset composed by the caller for a native bottom presentation. */
readonly bottomInset?: number | undefined;
/** Keyboard occlusion height measured inside a native Modal. Takes precedence over bottomInset when greater than 0. */
readonly keyboardOverlap?: number | undefined;
/** testID on the trigger pressable itself (the actual press target), distinct from the root container testID. */
readonly triggerTestID?: string | undefined;
/** Applied to an enabled item while a pointer hovers it. Layered after itemStyle. */
readonly itemHoverStyle?: StyleProp<ViewStyle> | undefined;
readonly contentStyle?: StyleProp<ViewStyle> | undefined;
readonly contentClassName?: string | undefined;
readonly itemStyle?: StyleProp<ViewStyle> | undefined;
readonly itemClassName?: string | undefined;
readonly itemLabelStyle?: StyleProp<TextStyle> | undefined;
readonly itemLabelClassName?: string | undefined;
readonly unstyled?: never;
};

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/expo-ui
  • Version: 0.8.1
  • Public entry: .
  • Source: GitHub