import React from 'react';
import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponents/types';
export declare type DefaultItem = {
label: string;
id: string | number;
subLabel?: string;
avatarUrl?: string;
groupId?: string | number;
disabled?: boolean;
};
export declare type DefaultGroup = {
label: string;
id: string | number;
};
declare type RenderValueProps- = {
item: ITEM;
handleRemove?: (e: React.SyntheticEvent) => void;
};
export declare type PropGetItemLabel
- = (item: ITEM) => string;
export declare type PropGetItemSubLabel
- = (item: ITEM) => string | undefined;
export declare type PropGetItemAvatarUrl
- = (item: ITEM) => string | undefined;
export declare type PropGetItemKey
- = (item: ITEM) => string | number;
export declare type PropGetItemGroupKey
- = (item: ITEM) => string | number | undefined;
export declare type PropGetItemDisabled
- = (item: ITEM) => boolean | undefined;
export declare type PropGetGroupKey = (group: GROUP) => string | number;
export declare type PropGetGroupLabel = (group: GROUP) => string;
declare type PropSearchFunction
- = (item: ITEM, searchValue: string) => boolean;
declare type PropOnChange
- = (props: {
value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;
e: React.SyntheticEvent;
}) => void;
declare type PropValue
- = (MULTIPLE extends true ? ITEM[] : ITEM) | null | undefined;
export declare type PropRenderItem
- = (props: RenderItemProps
- ) => React.ReactElement | null;
export declare type PropRenderValue
- = (props: RenderValueProps
- ) => React.ReactElement | null;
export declare type UserSelectProps
- = PropsWithHTMLAttributesAndRef<{
disabled?: boolean;
form?: PropForm;
size?: Exclude;
view?: PropView;
placeholder?: string;
ariaLabel?: string;
dropdownClassName?: string;
status?: PropStatus;
dropdownRef?: React.RefObject;
name?: string;
items: ITEM[];
required?: boolean;
renderItem?: PropRenderItem
- ;
renderValue?: PropRenderValue
- ;
onFocus?: React.FocusEventHandler;
onBlur?: React.FocusEventHandler;
onCreate?: (props: {
e: React.SyntheticEvent;
label: string;
}) => void;
inputRef?: React.RefObject;
labelForNotFound?: string;
labelForCreate?: string;
searchFunction?: PropSearchFunction
- ;
multiple?: MULTIPLE;
value?: PropValue
- ;
onChange: PropOnChange
- ;
groups?: GROUP[];
getItemLabel?: PropGetItemLabel
- ;
getItemSubLabel?: PropGetItemSubLabel
- ;
getItemAvatarUrl?: PropGetItemAvatarUrl
- ;
getItemKey?: PropGetItemKey
- ;
getItemGroupKey?: PropGetItemGroupKey
- ;
getItemDisabled?: PropGetItemDisabled
- ;
getGroupLabel?: PropGetGroupLabel;
getGroupKey?: PropGetGroupKey;
label?: string;
caption?: string;
labelPosition?: 'top' | 'left';
}, HTMLDivElement> & (ITEM extends {
label: DefaultItem['label'];
} ? {} : {
getItemLabel: PropGetItemLabel
- ;
}) & (ITEM extends {
id: DefaultItem['id'];
} ? {} : {
getItemKey: PropGetItemKey
- ;
}) & (GROUP extends {
label: DefaultGroup['label'];
} ? {} : {
getGroupLabel: PropGetGroupLabel;
}) & (GROUP extends {
id: DefaultGroup['id'];
} ? {} : {
getGroupKey: PropGetGroupKey;
});
export declare type UserSelectComponent =
- (props: UserSelectProps
- ) => React.ReactElement | null;
export declare const defaultGetItemKey: PropGetItemKey;
export declare const defaultGetItemLabel: PropGetItemLabel;
export declare const defaultGetItemSubLabel: PropGetItemSubLabel;
export declare const defaultGetItemAvatarUrl: PropGetItemAvatarUrl;
export declare const defaultGetItemGroupKey: PropGetItemGroupKey;
export declare const defaultGetItemDisabled: PropGetItemDisabled;
export declare const defaultGetGroupKey: PropGetGroupKey;
export declare const defaultGetGroupLabel: PropGetGroupLabel;
export declare const isMultipleParams:
- (params: UserSelectProps
- ) => params is UserSelectProps
- ;
export declare const isNotMultipleParams:
- (params: UserSelectProps
- ) => params is UserSelectProps
- ;
export declare function withDefaultGetters
- (props: UserSelectProps
- ): {
disabled?: boolean | undefined;
form?: "default" | "round" | "brick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "defaultBrick" | "brickDefault" | "brickClear" | "clearBrick" | "clearClear" | undefined;
size?: "s" | "m" | "l" | undefined;
view?: "default" | "clear" | undefined;
placeholder?: string | undefined;
ariaLabel?: string | undefined;
dropdownClassName?: string | undefined;
status?: "alert" | "success" | "warning" | undefined;
dropdownRef?: React.RefObject | undefined;
name?: string | undefined;
items: ITEM[];
required?: boolean | undefined;
renderItem?: PropRenderItem
- | undefined;
renderValue?: PropRenderValue
- | undefined;
onFocus?: ((event: React.FocusEvent) => void) | undefined;
onBlur?: ((event: React.FocusEvent) => void) | undefined;
onCreate?: ((props: {
e: React.SyntheticEvent;
label: string;
}) => void) | undefined;
inputRef?: React.RefObject | undefined;
labelForNotFound?: string | undefined;
labelForCreate?: string | undefined;
searchFunction?: PropSearchFunction
- | undefined;
multiple?: MULTIPLE | undefined;
value?: PropValue
- ;
onChange: PropOnChange
- ;
groups?: GROUP[] | undefined;
getItemLabel?: PropGetItemLabel
- | undefined;
getItemSubLabel?: PropGetItemSubLabel
- | undefined;
getItemAvatarUrl?: PropGetItemAvatarUrl
- | undefined;
getItemKey?: PropGetItemKey
- | undefined;
getItemGroupKey?: PropGetItemGroupKey
- | undefined;
getItemDisabled?: PropGetItemDisabled
- | undefined;
getGroupLabel?: PropGetGroupLabel | undefined;
getGroupKey?: PropGetGroupKey | undefined;
label?: string | undefined;
caption?: string | undefined;
labelPosition?: "left" | "top" | undefined;
} & Pick, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & React.RefAttributes & (ITEM extends {
label: string;
} ? {} : {
getItemLabel: PropGetItemLabel
- ;
}) & (ITEM extends {
id: React.ReactText;
} ? {} : {
getItemKey: PropGetItemKey
- ;
}) & (GROUP extends {
label: string;
} ? {} : {
getGroupLabel: PropGetGroupLabel;
}) & (GROUP extends {
id: React.ReactText;
} ? {} : {
getGroupKey: PropGetGroupKey;
}) & {
getItemLabel: PropGetItemLabel | PropGetItemLabel
- ;
getItemKey: PropGetItemKey | PropGetItemKey
- ;
getItemGroupKey: PropGetItemGroupKey | PropGetItemGroupKey
- ;
getItemDisabled: PropGetItemDisabled | PropGetItemDisabled
- ;
getGroupLabel: PropGetGroupLabel | PropGetGroupLabel;
getGroupKey: PropGetGroupKey | PropGetGroupKey;
getItemSubLabel: PropGetItemSubLabel | PropGetItemSubLabel
- ;
getItemAvatarUrl: PropGetItemAvatarUrl | PropGetItemAvatarUrl
- ;
};
export declare const searchCompare: (searchValue: string, compare?: string | undefined) => boolean;
export {};