@keycloakify/keycloak-account-ui
Version:
Repackaged Keycloak Account UI
32 lines (31 loc) • 1.5 kB
TypeScript
import { ChipGroupProps, SelectProps } from "@patternfly/react-core";
import { ControllerProps, FieldPath, FieldValues, UseControllerProps } from "react-hook-form";
type Variant = `${SelectVariant}`;
export declare enum SelectVariant {
single = "single",
typeahead = "typeahead",
typeaheadMulti = "typeaheadMulti"
}
export type SelectControlOption = {
key: string;
value: string;
};
export type OptionType = string[] | SelectControlOption[];
export type SelectControlProps<T extends FieldValues, P extends FieldPath<T> = FieldPath<T>> = Omit<SelectProps, "name" | "toggle" | "selections" | "onSelect" | "onClear" | "isOpen" | "onFilter" | "variant"> & UseControllerProps<T, P> & {
name: string;
label?: string;
options: OptionType;
labelIcon?: string;
controller: Omit<ControllerProps, "name" | "render">;
onFilter?: (value: string) => void;
variant?: Variant;
isDisabled?: boolean;
menuAppendTo?: string;
placeholderText?: string;
chipGroupProps?: ChipGroupProps;
};
export declare const isSelectBasedOptions: (options: OptionType) => options is SelectControlOption[];
export declare const isString: (option: SelectControlOption | string) => option is string;
export declare const key: (option: SelectControlOption | string) => string;
export declare const SelectControl: <T extends FieldValues, P extends FieldPath<T> = FieldPath<T>>({ variant, ...rest }: SelectControlProps<T, P>) => import("react/jsx-runtime").JSX.Element;
export {};