@prefecthq/prefect-design
Version:
A collection of low-level Vue components.
26 lines (25 loc) • 1.75 kB
TypeScript
export type SelectModelValue = string | number | boolean | null;
export type SelectOption = string | number | boolean | {
label: string;
value: SelectModelValue;
disabled?: boolean;
};
export type SelectOptionNormalized = Exclude<SelectOption, string | number | boolean>;
export type SelectOptionGroup = {
label: string;
options: (SelectOption | SelectOptionGroup)[];
};
export type SelectOptionGroupNormalized = {
label: string;
options: (SelectOptionNormalized | SelectOptionGroupNormalized)[];
};
export declare function isSelectOptionNormalized(value: unknown): value is SelectOptionNormalized;
export declare function isSelectOptionGroup(value: unknown): value is SelectOptionGroup;
export declare function isSelectOptionGroupNormalized(value: unknown): value is SelectOptionGroupNormalized;
export declare function filterOptionGroup(optionGroup: SelectOptionGroupNormalized, term: string | null): SelectOptionGroupNormalized;
export declare function filterOptionsOrOptionGroups(optionsOrOptionGroups: (SelectOptionNormalized | SelectOptionGroupNormalized)[], term: string | null): (SelectOptionNormalized | SelectOptionGroupNormalized)[];
export declare function optionIncludes(option: SelectOptionNormalized, term: string | null): boolean;
export declare function normalizeSelectOption(value: SelectOption): SelectOptionNormalized;
export declare function normalizeSelectOption(value: SelectOptionGroup): SelectOptionGroupNormalized;
export declare function normalizeSelectOption(value: SelectOption | SelectOptionGroup): SelectOptionNormalized | SelectOptionGroupNormalized;
export declare function flattenSelectOptions(value: (SelectOptionNormalized | SelectOptionGroupNormalized)[]): SelectOptionNormalized[];