UNPKG

5.98 kBTypeScriptView Raw
1import { ContainerProps, IndicatorsContainerProps, ValueContainerProps } from './components/containers';
2import { ControlProps } from './components/Control';
3import { GroupHeadingProps, GroupProps } from './components/Group';
4import { ClearIndicatorProps, DropdownIndicatorProps, IndicatorSeparatorProps, LoadingIndicatorProps } from './components/indicators';
5import { InputProps } from './components/Input';
6import { PlaceholderProps } from './components/Placeholder';
7import { OptionProps } from './components/Option';
8import { NoticeProps, MenuProps, MenuListProps, PortalStyleArgs } from './components/Menu';
9import { SingleValueProps } from './components/SingleValue';
10import { MultiValueProps } from './components/MultiValue';
11import { CSSObjectWithLabel, GroupBase } from './types';
12export interface StylesProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
13 clearIndicator: ClearIndicatorProps<Option, IsMulti, Group>;
14 container: ContainerProps<Option, IsMulti, Group>;
15 control: ControlProps<Option, IsMulti, Group>;
16 dropdownIndicator: DropdownIndicatorProps<Option, IsMulti, Group>;
17 group: GroupProps<Option, IsMulti, Group>;
18 groupHeading: GroupHeadingProps<Option, IsMulti, Group>;
19 indicatorsContainer: IndicatorsContainerProps<Option, IsMulti, Group>;
20 indicatorSeparator: IndicatorSeparatorProps<Option, IsMulti, Group>;
21 input: InputProps<Option, IsMulti, Group>;
22 loadingIndicator: LoadingIndicatorProps<Option, IsMulti, Group>;
23 loadingMessage: NoticeProps<Option, IsMulti, Group>;
24 menu: MenuProps<Option, IsMulti, Group>;
25 menuList: MenuListProps<Option, IsMulti, Group>;
26 menuPortal: PortalStyleArgs;
27 multiValue: MultiValueProps<Option, IsMulti, Group>;
28 multiValueLabel: MultiValueProps<Option, IsMulti, Group>;
29 multiValueRemove: MultiValueProps<Option, IsMulti, Group>;
30 noOptionsMessage: NoticeProps<Option, IsMulti, Group>;
31 option: OptionProps<Option, IsMulti, Group>;
32 placeholder: PlaceholderProps<Option, IsMulti, Group>;
33 singleValue: SingleValueProps<Option, IsMulti, Group>;
34 valueContainer: ValueContainerProps<Option, IsMulti, Group>;
35}
36export declare const defaultStyles: {
37 [K in keyof StylesProps<any, any, any>]: (props: StylesProps<unknown, boolean, GroupBase<unknown>>[K], unstyled: boolean) => CSSObjectWithLabel;
38};
39export declare type StylesConfig<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = {
40 [K in keyof StylesProps<Option, IsMulti, Group>]?: (base: CSSObjectWithLabel, props: StylesProps<Option, IsMulti, Group>[K]) => CSSObjectWithLabel;
41};
42export declare type ClassNamesConfig<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = {
43 [K in keyof StylesProps<Option, IsMulti, Group>]?: (props: StylesProps<Option, IsMulti, Group>[K]) => string;
44};
45export declare function mergeStyles<Option, IsMulti extends boolean, Group extends GroupBase<Option>>(source: StylesConfig<Option, IsMulti, Group>, target?: StylesConfig<Option, IsMulti, Group>): {
46 clearIndicator?: ((base: CSSObjectWithLabel, props: ClearIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
47 container?: ((base: CSSObjectWithLabel, props: ContainerProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
48 control?: ((base: CSSObjectWithLabel, props: ControlProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
49 dropdownIndicator?: ((base: CSSObjectWithLabel, props: DropdownIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
50 group?: ((base: CSSObjectWithLabel, props: GroupProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
51 groupHeading?: ((base: CSSObjectWithLabel, props: GroupHeadingProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
52 indicatorsContainer?: ((base: CSSObjectWithLabel, props: IndicatorsContainerProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
53 indicatorSeparator?: ((base: CSSObjectWithLabel, props: IndicatorSeparatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
54 input?: ((base: CSSObjectWithLabel, props: InputProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
55 loadingIndicator?: ((base: CSSObjectWithLabel, props: LoadingIndicatorProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
56 loadingMessage?: ((base: CSSObjectWithLabel, props: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
57 menu?: ((base: CSSObjectWithLabel, props: MenuProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
58 menuList?: ((base: CSSObjectWithLabel, props: MenuListProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
59 menuPortal?: ((base: CSSObjectWithLabel, props: PortalStyleArgs) => CSSObjectWithLabel) | undefined;
60 multiValue?: ((base: CSSObjectWithLabel, props: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
61 multiValueLabel?: ((base: CSSObjectWithLabel, props: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
62 multiValueRemove?: ((base: CSSObjectWithLabel, props: MultiValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
63 noOptionsMessage?: ((base: CSSObjectWithLabel, props: NoticeProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
64 option?: ((base: CSSObjectWithLabel, props: OptionProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
65 placeholder?: ((base: CSSObjectWithLabel, props: PlaceholderProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
66 singleValue?: ((base: CSSObjectWithLabel, props: SingleValueProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
67 valueContainer?: ((base: CSSObjectWithLabel, props: ValueContainerProps<Option, IsMulti, Group>) => CSSObjectWithLabel) | undefined;
68};
69
\No newline at end of file