1 |
|
2 | import { ComponentType, ReactNode } from 'react';
|
3 | import { jsx } from '@emotion/react';
|
4 | import { CommonProps, CommonPropsAndClassName, CSSObjectWithLabel, CX, GetStyles, GroupBase, Options, Theme } from '../types';
|
5 | import { Props } from '../Select';
|
6 | export interface ForwardedHeadingProps<Option, Group extends GroupBase<Option>> {
|
7 | id: string;
|
8 | data: Group;
|
9 | }
|
10 | export interface GroupProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
|
11 |
|
12 | children: ReactNode;
|
13 |
|
14 | Heading: ComponentType<GroupHeadingProps<Option, IsMulti, Group>>;
|
15 |
|
16 | headingProps: ForwardedHeadingProps<Option, Group>;
|
17 |
|
18 | innerProps: JSX.IntrinsicElements['div'];
|
19 |
|
20 | label: ReactNode;
|
21 |
|
22 | data: Group;
|
23 | options: Options<Option>;
|
24 | }
|
25 | export declare const groupCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing } }: GroupProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
|
26 | declare const Group: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
27 | interface GroupHeadingPropsDefinedProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>> extends ForwardedHeadingProps<Option, Group> {
|
28 | className?: string | undefined;
|
29 | selectProps: Props<Option, IsMulti, Group>;
|
30 | theme: Theme;
|
31 | getStyles: GetStyles<Option, IsMulti, Group>;
|
32 | getClassNames: CommonProps<Option, IsMulti, Group>['getClassNames'];
|
33 | cx: CX;
|
34 | }
|
35 | export declare type GroupHeadingProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> = GroupHeadingPropsDefinedProps<Option, IsMulti, Group> & JSX.IntrinsicElements['div'];
|
36 | export declare const groupHeadingCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { colors, spacing } }: GroupHeadingProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
|
37 | export declare const GroupHeading: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: GroupHeadingProps<Option, IsMulti, Group>) => jsx.JSX.Element;
|
38 | export default Group;
|