@shopify/cli-kit
Version:
A set of utilities, interfaces, and models that are common across all the platform features
33 lines (32 loc) • 1.04 kB
TypeScript
import React from 'react';
import { DOMElement } from 'ink';
declare module 'react' {
function forwardRef<T, P>(render: (props: P, ref: React.Ref<T>) => JSX.Element | null): (props: P & React.RefAttributes<T>) => JSX.Element | null;
}
export interface SelectInputProps<T> {
items: Item<T>[];
initialItems?: Item<T>[];
onChange?: (item: Item<T> | undefined) => void;
enableShortcuts?: boolean;
focus?: boolean;
emptyMessage?: string;
defaultValue?: T;
highlightedTerm?: string;
loading?: boolean;
errorMessage?: string;
hasMorePages?: boolean;
morePagesMessage?: string;
availableLines?: number;
onSubmit?: (item: Item<T>) => void;
inputFixedAreaRef?: React.RefObject<DOMElement>;
groupOrder?: string[];
}
export interface Item<T> {
label: string;
value: T;
key?: string;
group?: string;
helperText?: string;
disabled?: boolean;
}
export declare const SelectInput: <T>(props: SelectInputProps<T> & React.RefAttributes<DOMElement>) => JSX.Element | null;