UNPKG

3.35 kBTypeScriptView Raw
1/** @jsx jsx */
2import { ComponentType, ReactNode } from 'react';
3import { jsx } from '@emotion/react';
4import { CommonPropsAndClassName, CSSObjectWithLabel, GroupBase } from '../types';
5import { Props } from '../Select';
6interface MultiValueComponents<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
7 Container: ComponentType<MultiValueGenericProps<Option, IsMulti, Group>>;
8 Label: ComponentType<MultiValueGenericProps<Option, IsMulti, Group>>;
9 Remove: ComponentType<MultiValueRemoveProps<Option, IsMulti, Group>>;
10}
11export interface MultiValueProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends CommonPropsAndClassName<Option, IsMulti, Group> {
12 children: ReactNode;
13 components: MultiValueComponents<Option, IsMulti, Group>;
14 cropWithEllipsis?: boolean;
15 data: Option;
16 innerProps: JSX.IntrinsicElements['div'];
17 isFocused: boolean;
18 isDisabled: boolean;
19 removeProps: JSX.IntrinsicElements['div'];
20 index: number;
21}
22export declare const multiValueCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing, borderRadius, colors }, }: MultiValueProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
23export declare const multiValueLabelCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { borderRadius, colors }, cropWithEllipsis, }: MultiValueProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
24export declare const multiValueRemoveCSS: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ theme: { spacing, borderRadius, colors }, isFocused, }: MultiValueProps<Option, IsMulti, Group>, unstyled: boolean) => CSSObjectWithLabel;
25export interface MultiValueGenericProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> {
26 children: ReactNode;
27 data: any;
28 innerProps: {
29 className?: string;
30 };
31 selectProps: Props<Option, IsMulti, Group>;
32}
33export declare const MultiValueGeneric: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ children, innerProps, }: MultiValueGenericProps<Option, IsMulti, Group>) => jsx.JSX.Element;
34export declare const MultiValueContainer: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ children, innerProps, }: MultiValueGenericProps<Option, IsMulti, Group>) => jsx.JSX.Element;
35export declare const MultiValueLabel: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ children, innerProps, }: MultiValueGenericProps<Option, IsMulti, Group>) => jsx.JSX.Element;
36export interface MultiValueRemoveProps<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> {
37 children?: ReactNode;
38 data: Option;
39 innerProps: JSX.IntrinsicElements['div'];
40 selectProps: Props<Option, IsMulti, Group>;
41}
42export declare function MultiValueRemove<Option, IsMulti extends boolean, Group extends GroupBase<Option>>({ children, innerProps }: MultiValueRemoveProps<Option, IsMulti, Group>): jsx.JSX.Element;
43declare const MultiValue: <Option, IsMulti extends boolean, Group extends GroupBase<Option>>(props: MultiValueProps<Option, IsMulti, Group>) => jsx.JSX.Element;
44export default MultiValue;