Skip to content

SelectProps — @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 { SelectProps } from '@gj-kit/expo-ui';
type SelectProps<T extends string> = Omit<CommonProps, 'unstyled'> & SelectLabelProps & (SelectOwnedTriggerProps | SelectRenderTriggerProps) & {
readonly items: readonly SelectItem<T>[];
readonly value: NoInfer<T> | null;
readonly onValueChange: (value: NoInfer<T>) => void;
readonly open: boolean;
readonly onOpenChange: (open: boolean, details: SelectOpenChangeDetails<NoInfer<T>>) => void;
/** Shown on the trigger when value is null. */
readonly placeholder: string;
readonly description?: string | undefined;
readonly error?: string | undefined;
readonly required?: boolean | undefined;
readonly disabled?: boolean | undefined;
readonly busy?: boolean | undefined;
readonly dismissDisabled?: boolean | undefined;
readonly placement?: SelectPlacement | undefined;
readonly direction?: SelectDirection | undefined;
readonly sideOffset?: number | undefined;
readonly alignOffset?: number | undefined;
readonly collisionPadding?: number | undefined;
readonly presentation?: SelectPresentation | 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). On the web it replaces the derived `${testID}-trigger`. */
readonly triggerTestID?: string | undefined;
/** Applied to an enabled option while a pointer hovers it. Layered after itemStyle. */
readonly itemHoverStyle?: StyleProp<ViewStyle> | undefined;
readonly labelStyle?: StyleProp<TextStyle> | undefined;
readonly labelClassName?: string | undefined;
readonly helperStyle?: StyleProp<TextStyle> | undefined;
readonly helperClassName?: string | 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