UNPKG

8.04 kBTypeScriptView Raw
1import { ComponentType } from 'react';
2import { ContainerProps, IndicatorsContainerProps, ValueContainerProps } from './containers';
3import { ClearIndicatorProps, CrossIconProps, DownChevronProps, DropdownIndicatorProps, IndicatorSeparatorProps, LoadingIndicatorProps } from './indicators';
4import { ControlProps } from './Control';
5import { GroupHeadingProps, GroupProps } from './Group';
6import { InputProps } from './Input';
7import { MenuListProps, MenuPortalProps, MenuProps, NoticeProps } from './Menu';
8import { MultiValueGenericProps, MultiValueProps, MultiValueRemove, MultiValueRemoveProps } from './MultiValue';
9import { OptionProps } from './Option';
10import { PlaceholderProps } from './Placeholder';
11import { SingleValueProps } from './SingleValue';
12import { GroupBase } from '../types';
13export interface SelectComponents<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
14 ClearIndicator: ComponentType<ClearIndicatorProps<Option, IsMulti, Group>>;
15 Control: ComponentType<ControlProps<Option, IsMulti, Group>>;
16 DropdownIndicator: ComponentType<DropdownIndicatorProps<Option, IsMulti, Group>> | null;
17 DownChevron: ComponentType<DownChevronProps>;
18 CrossIcon: ComponentType<CrossIconProps>;
19 Group: ComponentType<GroupProps<Option, IsMulti, Group>>;
20 GroupHeading: ComponentType<GroupHeadingProps<Option, IsMulti, Group>>;
21 IndicatorsContainer: ComponentType<IndicatorsContainerProps<Option, IsMulti, Group>>;
22 IndicatorSeparator: ComponentType<IndicatorSeparatorProps<Option, IsMulti, Group>> | null;
23 Input: ComponentType<InputProps<Option, IsMulti, Group>>;
24 LoadingIndicator: ComponentType<LoadingIndicatorProps<Option, IsMulti, Group>>;
25 Menu: ComponentType<MenuProps<Option, IsMulti, Group>>;
26 MenuList: ComponentType<MenuListProps<Option, IsMulti, Group>>;
27 MenuPortal: ComponentType<MenuPortalProps<Option, IsMulti, Group>>;
28 LoadingMessage: ComponentType<NoticeProps<Option, IsMulti, Group>>;
29 NoOptionsMessage: ComponentType<NoticeProps<Option, IsMulti, Group>>;
30 MultiValue: ComponentType<MultiValueProps<Option, IsMulti, Group>>;
31 MultiValueContainer: ComponentType<MultiValueGenericProps<Option, IsMulti, Group>>;
32 MultiValueLabel: ComponentType<MultiValueGenericProps<Option, IsMulti, Group>>;
33 MultiValueRemove: ComponentType<MultiValueRemoveProps<Option, IsMulti, Group>>;
34 Option: ComponentType<OptionProps<Option, IsMulti, Group>>;
35 Placeholder: ComponentType<PlaceholderProps<Option, IsMulti, Group>>;
36 SelectContainer: ComponentType<ContainerProps<Option, IsMulti, Group>>;
37 SingleValue: ComponentType<SingleValueProps<Option, IsMulti, Group>>;
38 ValueContainer: ComponentType<ValueContainerProps<Option, IsMulti, Group>>;
39}
40export declare type SelectComponentsConfig<Option, IsMulti extends boolean, Group extends GroupBase<Option>> = Partial<SelectComponents<Option, IsMulti, Group>>;
41export declare const components: {
42 ClearIndicator: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: ClearIndicatorProps<Option, IsMulti, Group>) => import("@emotion/react").jsx.JSX.Element;
43 Control: <Option_1, IsMulti_1 extends boolean, Group_1 extends GroupBase<Option_1>>(props: ControlProps<Option_1, IsMulti_1, Group_1>) => import("@emotion/react").jsx.JSX.Element;
44 DropdownIndicator: <Option_2, IsMulti_2 extends boolean, Group_2 extends GroupBase<Option_2>>(props: DropdownIndicatorProps<Option_2, IsMulti_2, Group_2>) => import("@emotion/react").jsx.JSX.Element;
45 DownChevron: (props: DownChevronProps) => import("@emotion/react").jsx.JSX.Element;
46 CrossIcon: (props: CrossIconProps) => import("@emotion/react").jsx.JSX.Element;
47 Group: <Option_3, IsMulti_3 extends boolean, Group_3 extends GroupBase<Option_3>>(props: GroupProps<Option_3, IsMulti_3, Group_3>) => import("@emotion/react").jsx.JSX.Element;
48 GroupHeading: <Option_4, IsMulti_4 extends boolean, Group_4 extends GroupBase<Option_4>>(props: GroupHeadingProps<Option_4, IsMulti_4, Group_4>) => import("@emotion/react").jsx.JSX.Element;
49 IndicatorsContainer: <Option_5, IsMulti_5 extends boolean, Group_5 extends GroupBase<Option_5>>(props: IndicatorsContainerProps<Option_5, IsMulti_5, Group_5>) => import("@emotion/react").jsx.JSX.Element;
50 IndicatorSeparator: <Option_6, IsMulti_6 extends boolean, Group_6 extends GroupBase<Option_6>>(props: IndicatorSeparatorProps<Option_6, IsMulti_6, Group_6>) => import("@emotion/react").jsx.JSX.Element;
51 Input: <Option_7, IsMulti_7 extends boolean, Group_7 extends GroupBase<Option_7>>(props: InputProps<Option_7, IsMulti_7, Group_7>) => import("@emotion/react").jsx.JSX.Element;
52 LoadingIndicator: <Option_8, IsMulti_8 extends boolean, Group_8 extends GroupBase<Option_8>>({ innerProps, isRtl, size, ...restProps }: LoadingIndicatorProps<Option_8, IsMulti_8, Group_8>) => import("@emotion/react").jsx.JSX.Element;
53 Menu: <Option_9, IsMulti_9 extends boolean, Group_9 extends GroupBase<Option_9>>(props: MenuProps<Option_9, IsMulti_9, Group_9>) => import("@emotion/react").jsx.JSX.Element;
54 MenuList: <Option_10, IsMulti_10 extends boolean, Group_10 extends GroupBase<Option_10>>(props: MenuListProps<Option_10, IsMulti_10, Group_10>) => import("@emotion/react").jsx.JSX.Element;
55 MenuPortal: <Option_11, IsMulti_11 extends boolean, Group_11 extends GroupBase<Option_11>>(props: MenuPortalProps<Option_11, IsMulti_11, Group_11>) => import("@emotion/react").jsx.JSX.Element | null;
56 LoadingMessage: <Option_12, IsMulti_12 extends boolean, Group_12 extends GroupBase<Option_12>>({ children, innerProps, ...restProps }: NoticeProps<Option_12, IsMulti_12, Group_12>) => import("@emotion/react").jsx.JSX.Element;
57 NoOptionsMessage: <Option_13, IsMulti_13 extends boolean, Group_13 extends GroupBase<Option_13>>({ children, innerProps, ...restProps }: NoticeProps<Option_13, IsMulti_13, Group_13>) => import("@emotion/react").jsx.JSX.Element;
58 MultiValue: <Option_14, IsMulti_14 extends boolean, Group_14 extends GroupBase<Option_14>>(props: MultiValueProps<Option_14, IsMulti_14, Group_14>) => import("@emotion/react").jsx.JSX.Element;
59 MultiValueContainer: <Option_15, IsMulti_15 extends boolean, Group_15 extends GroupBase<Option_15>>({ children, innerProps, }: MultiValueGenericProps<Option_15, IsMulti_15, Group_15>) => import("@emotion/react").jsx.JSX.Element;
60 MultiValueLabel: <Option_15, IsMulti_15 extends boolean, Group_15 extends GroupBase<Option_15>>({ children, innerProps, }: MultiValueGenericProps<Option_15, IsMulti_15, Group_15>) => import("@emotion/react").jsx.JSX.Element;
61 MultiValueRemove: typeof MultiValueRemove;
62 Option: <Option_16, IsMulti_16 extends boolean, Group_16 extends GroupBase<Option_16>>(props: OptionProps<Option_16, IsMulti_16, Group_16>) => import("@emotion/react").jsx.JSX.Element;
63 Placeholder: <Option_17, IsMulti_17 extends boolean, Group_17 extends GroupBase<Option_17>>(props: PlaceholderProps<Option_17, IsMulti_17, Group_17>) => import("@emotion/react").jsx.JSX.Element;
64 SelectContainer: <Option_18, IsMulti_18 extends boolean, Group_18 extends GroupBase<Option_18>>(props: ContainerProps<Option_18, IsMulti_18, Group_18>) => import("@emotion/react").jsx.JSX.Element;
65 SingleValue: <Option_19, IsMulti_19 extends boolean, Group_19 extends GroupBase<Option_19>>(props: SingleValueProps<Option_19, IsMulti_19, Group_19>) => import("@emotion/react").jsx.JSX.Element;
66 ValueContainer: <Option_20, IsMulti_20 extends boolean, Group_20 extends GroupBase<Option_20>>(props: ValueContainerProps<Option_20, IsMulti_20, Group_20>) => import("@emotion/react").jsx.JSX.Element;
67};
68export declare type SelectComponentsGeneric = typeof components;
69interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
70 components: SelectComponentsConfig<Option, IsMulti, Group>;
71}
72export declare const defaultComponents: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: Props<Option, IsMulti, Group>) => SelectComponentsGeneric;
73export {};