UNPKG

7.92 kBTypeScriptView Raw
1import React, { AnimationEventHandler, AriaRole, ComponentType, DragEventHandler, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, PointerEventHandler, ReactNode, Ref, SyntheticEvent, TouchEventHandler, TransitionEventHandler, UIEventHandler, WheelEventHandler } from 'react';
2import { DateFormats, Localizer } from './Localization';
3import { UserProvidedMessages } from './messages';
4import { SearchMetadata, Value } from './types';
5import { Filter } from './Filter';
6import { TransitionProps } from 'react-transition-group/Transition';
7import { ListProps, ListHandle, GroupBy, OptionComponentProp, RenderGroupProp, RenderItemProp } from './List';
8import { TextAccessor, DataKeyAccessor } from './Accessors';
9import { PopupProps } from './Popup';
10export interface WidgetProps {
11 className?: string;
12 tabIndex?: number;
13 id?: string;
14 autoFocus?: boolean;
15 messages?: UserProvidedMessages;
16}
17/**
18 * Smaller subset of relevant HTML attributes that make sense for the container
19 */
20export interface WidgetHTMLProps<T = HTMLDivElement> extends React.AriaAttributes {
21 suppressContentEditableWarning?: boolean;
22 suppressHydrationWarning?: boolean;
23 accessKey?: string;
24 className?: string;
25 contextMenu?: string;
26 dir?: string;
27 hidden?: boolean;
28 id?: string;
29 lang?: string;
30 style?: React.CSSProperties;
31 tabIndex?: number;
32 title?: string;
33 role?: AriaRole;
34 onFocus?: FocusEventHandler<T>;
35 onFocusCapture?: FocusEventHandler<T>;
36 onBlur?: FocusEventHandler<T>;
37 onBlurCapture?: FocusEventHandler<T>;
38 onKeyDown?: KeyboardEventHandler<T>;
39 onKeyDownCapture?: KeyboardEventHandler<T>;
40 onKeyPress?: KeyboardEventHandler<T>;
41 onKeyPressCapture?: KeyboardEventHandler<T>;
42 onKeyUp?: KeyboardEventHandler<T>;
43 onKeyUpCapture?: KeyboardEventHandler<T>;
44 onAuxClick?: MouseEventHandler<T>;
45 onAuxClickCapture?: MouseEventHandler<T>;
46 onClick?: MouseEventHandler<T>;
47 onClickCapture?: MouseEventHandler<T>;
48 onContextMenu?: MouseEventHandler<T>;
49 onContextMenuCapture?: MouseEventHandler<T>;
50 onDoubleClick?: MouseEventHandler<T>;
51 onDoubleClickCapture?: MouseEventHandler<T>;
52 onDrag?: DragEventHandler<T>;
53 onDragCapture?: DragEventHandler<T>;
54 onDragEnd?: DragEventHandler<T>;
55 onDragEndCapture?: DragEventHandler<T>;
56 onDragEnter?: DragEventHandler<T>;
57 onDragEnterCapture?: DragEventHandler<T>;
58 onDragExit?: DragEventHandler<T>;
59 onDragExitCapture?: DragEventHandler<T>;
60 onDragLeave?: DragEventHandler<T>;
61 onDragLeaveCapture?: DragEventHandler<T>;
62 onDragOver?: DragEventHandler<T>;
63 onDragOverCapture?: DragEventHandler<T>;
64 onDragStart?: DragEventHandler<T>;
65 onDragStartCapture?: DragEventHandler<T>;
66 onDrop?: DragEventHandler<T>;
67 onDropCapture?: DragEventHandler<T>;
68 onMouseDown?: MouseEventHandler<T>;
69 onMouseDownCapture?: MouseEventHandler<T>;
70 onMouseEnter?: MouseEventHandler<T>;
71 onMouseLeave?: MouseEventHandler<T>;
72 onMouseMove?: MouseEventHandler<T>;
73 onMouseMoveCapture?: MouseEventHandler<T>;
74 onMouseOut?: MouseEventHandler<T>;
75 onMouseOutCapture?: MouseEventHandler<T>;
76 onMouseOver?: MouseEventHandler<T>;
77 onMouseOverCapture?: MouseEventHandler<T>;
78 onMouseUp?: MouseEventHandler<T>;
79 onMouseUpCapture?: MouseEventHandler<T>;
80 onTouchCancel?: TouchEventHandler<T>;
81 onTouchCancelCapture?: TouchEventHandler<T>;
82 onTouchEnd?: TouchEventHandler<T>;
83 onTouchEndCapture?: TouchEventHandler<T>;
84 onTouchMove?: TouchEventHandler<T>;
85 onTouchMoveCapture?: TouchEventHandler<T>;
86 onTouchStart?: TouchEventHandler<T>;
87 onTouchStartCapture?: TouchEventHandler<T>;
88 onPointerDown?: PointerEventHandler<T>;
89 onPointerDownCapture?: PointerEventHandler<T>;
90 onPointerMove?: PointerEventHandler<T>;
91 onPointerMoveCapture?: PointerEventHandler<T>;
92 onPointerUp?: PointerEventHandler<T>;
93 onPointerUpCapture?: PointerEventHandler<T>;
94 onPointerCancel?: PointerEventHandler<T>;
95 onPointerCancelCapture?: PointerEventHandler<T>;
96 onPointerEnter?: PointerEventHandler<T>;
97 onPointerEnterCapture?: PointerEventHandler<T>;
98 onPointerLeave?: PointerEventHandler<T>;
99 onPointerLeaveCapture?: PointerEventHandler<T>;
100 onPointerOver?: PointerEventHandler<T>;
101 onPointerOverCapture?: PointerEventHandler<T>;
102 onPointerOut?: PointerEventHandler<T>;
103 onPointerOutCapture?: PointerEventHandler<T>;
104 onGotPointerCapture?: PointerEventHandler<T>;
105 onGotPointerCaptureCapture?: PointerEventHandler<T>;
106 onLostPointerCapture?: PointerEventHandler<T>;
107 onLostPointerCaptureCapture?: PointerEventHandler<T>;
108 onScroll?: UIEventHandler<T>;
109 onScrollCapture?: UIEventHandler<T>;
110 onWheel?: WheelEventHandler<T>;
111 onWheelCapture?: WheelEventHandler<T>;
112 onAnimationStart?: AnimationEventHandler<T>;
113 onAnimationStartCapture?: AnimationEventHandler<T>;
114 onAnimationEnd?: AnimationEventHandler<T>;
115 onAnimationEndCapture?: AnimationEventHandler<T>;
116 onAnimationIteration?: AnimationEventHandler<T>;
117 onAnimationIterationCapture?: AnimationEventHandler<T>;
118 onTransitionEnd?: TransitionEventHandler<T>;
119 onTransitionEndCapture?: TransitionEventHandler<T>;
120}
121export interface PopupWidgetProps {
122 open?: boolean;
123 defaultOpen?: boolean;
124 onToggle?: (isOpen: boolean) => void;
125 className?: string;
126 containerClassName?: string;
127 dropUp?: boolean;
128 popupTransition?: React.ComponentType<TransitionProps>;
129 popupComponent?: React.ComponentType<PopupProps>;
130 onKeyPress?: KeyboardEventHandler<HTMLDivElement>;
131 onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
132}
133export declare type SearchHandler = (searchTerm: string, metadata: SearchMetadata) => void;
134export interface Searchable {
135 searchTerm?: string;
136 defaultSearchTerm?: string;
137 onSearch?: SearchHandler;
138}
139export declare type AllowCreate = boolean | 'onFilter';
140export interface Filterable<TDataItem> {
141 filter?: Filter<TDataItem>;
142 allowCreate?: AllowCreate;
143 delay?: number;
144}
145export declare type ChangeHandler<TDataItem> = (dataItem: TDataItem, metadata: {
146 searchTerm?: string;
147 lastValue: Value;
148 source: 'listbox' | 'input';
149 originalEvent?: SyntheticEvent;
150}) => void;
151export declare type MultipleChangeHandler<TDataItem> = (dataItem: readonly TDataItem[], metadata: {
152 action: 'insert' | 'remove';
153 dataItem: TDataItem;
154 searchTerm?: string;
155 lastValue: Value;
156 originalEvent?: React.SyntheticEvent;
157}) => void;
158export declare type SelectHandler<TDataItem> = (dataItem: TDataItem, metadata: {
159 originalEvent?: SyntheticEvent;
160}) => void;
161export interface BaseListboxInputProps<TDataItem, TValue = Value> {
162 data?: readonly TDataItem[];
163 textField?: TextAccessor;
164 dataKey?: DataKeyAccessor;
165 value?: TValue;
166 defaultValue?: TValue;
167 onChange?: ChangeHandler<TDataItem>;
168 defaultFocusedItem?: TDataItem;
169 onSelect?: SelectHandler<TDataItem>;
170 placeholder?: string;
171 focusFirstItem?: boolean;
172 busy?: boolean;
173 busySpinner?: ReactNode;
174 disabled?: boolean | ReadonlyArray<TDataItem>;
175 readOnly?: boolean;
176 selectIcon?: ReactNode;
177 inputProps?: object;
178 listProps?: object;
179 renderListItem?: RenderItemProp<TDataItem>;
180 renderListGroup?: RenderGroupProp;
181 optionComponent?: OptionComponentProp;
182 groupBy?: GroupBy<TDataItem>;
183 listComponent?: ComponentType<ListProps<TDataItem> & {
184 ref: Ref<ListHandle>;
185 }>;
186}
187export declare type InferFormat<TLocalizer> = TLocalizer extends Localizer<infer TFormat, any> ? TFormat : unknown;
188export interface DateLocalizationProps<TLocalizer = unknown> {
189 formats?: DateFormats<InferFormat<TLocalizer>>;
190}
191export interface NumberLocalizationProps<TLocalizer = unknown> {
192 formats?: DateFormats<InferFormat<TLocalizer>>;
193}
194//# sourceMappingURL=shared.d.ts.map
\No newline at end of file