dax
Version:
Cross platform shell tools inspired by zx.
31 lines • 1.29 kB
TypeScript
import { SelectionItem, type SelectionOptions } from "./utils.js";
/** Single options within a multi-select option. */
export interface MultiSelectOption {
/** Text to display for this option. */
text: string;
/** Whether it is selected by default. */
selected?: boolean;
}
/** Options for showing a selection that has multiple possible values. */
export interface MultiSelectOptions {
/** Prompt text to show the user. */
message: string;
/** Options to show the user. */
options: (string | MultiSelectOption)[];
/**
* Whether to not clear the prompt text on selection.
* @default `false`
*/
noClear?: boolean;
/**
* Signal that cancels the prompt.
*
* - `maybeMultiSelect`: resolves to `undefined` on abort (same as ctrl+c).
* - `multiSelect`: the returned promise rejects with `signal.reason`.
*/
signal?: AbortSignal;
}
export declare function multiSelect(opts: MultiSelectOptions): Promise<SelectionItem[]>;
export declare function maybeMultiSelect(opts: MultiSelectOptions): Promise<SelectionItem[] | undefined>;
export declare function innerMultiSelect(opts: MultiSelectOptions): Pick<SelectionOptions<SelectionItem[] | undefined>, "render" | "onKey">;
//# sourceMappingURL=multiSelect.d.ts.map