1 | import { ReactNode, ComponentType, ReactElement } from 'react';
|
2 | import { CSSObject } from '@emotion/serialize';
|
3 |
|
4 | import { spacing } from '../theme';
|
5 | import { CommonProps, GroupTypeBase, OptionTypeBase } from '../types';
|
6 |
|
7 | interface ComponentProps {
|
8 |
|
9 | children: ReactNode;
|
10 |
|
11 | Heading: ComponentType<any>;
|
12 |
|
13 | headingProps: any;
|
14 |
|
15 | label: ReactNode;
|
16 | }
|
17 | export type GroupProps<
|
18 | OptionType extends OptionTypeBase,
|
19 | IsMulti extends boolean,
|
20 | GroupType extends GroupTypeBase<OptionType> = GroupTypeBase<OptionType>
|
21 | > = CommonProps<OptionType, IsMulti, GroupType> & ComponentProps;
|
22 |
|
23 | export function groupCSS(): CSSObject;
|
24 |
|
25 | declare function Group<
|
26 | OptionType extends OptionTypeBase,
|
27 | IsMulti extends boolean,
|
28 | GroupType extends GroupTypeBase<OptionType> = GroupTypeBase<OptionType>
|
29 | // tslint:disable-next-line:no-unnecessary-generics
|
30 | >(props: GroupProps<OptionType, IsMulti, GroupType>): ReactElement;
|
31 |
|
32 | export type GroupHeadingProps<
|
33 | OptionType extends OptionTypeBase,
|
34 | IsMulti extends boolean,
|
35 | GroupType extends GroupTypeBase<OptionType> = GroupTypeBase<OptionType>
|
36 | > = CommonProps<OptionType, IsMulti, GroupType> & Pick<ComponentProps, 'children'>;
|
37 |
|
38 | export function groupHeadingCSS(): CSSObject;
|
39 |
|
40 | export function GroupHeading<
|
41 | OptionType extends OptionTypeBase,
|
42 | IsMulti extends boolean,
|
43 | GroupType extends GroupTypeBase<OptionType> = GroupTypeBase<OptionType>
|
44 | // tslint:disable-next-line:no-unnecessary-generics
|
45 | >(props: GroupHeadingProps<OptionType, IsMulti, GroupType>): ReactElement;
|
46 |
|
47 | export default Group;
|