UNPKG

19.1 kBTypeScriptView Raw
1import * as React from "react";
2import { AbstractPureComponent } from "../../common";
3import { IntentProps, Props } from "../../common/props";
4export declare enum SpinnerSize {
5 SMALL = 20,
6 STANDARD = 50,
7 LARGE = 100
8}
9export interface SpinnerProps<T extends HTMLElement = HTMLElement> extends Props, IntentProps, React.HTMLAttributes<T> {
10 /**
11 * Width and height of the spinner in pixels. The size cannot be less than
12 * 10px.
13 *
14 * Constants are available for common sizes:
15 * - `SpinnerSize.SMALL = 20px`
16 * - `SpinnerSize.STANDARD = 50px`
17 * - `SpinnerSize.LARGE = 100px`
18 *
19 * @default SpinnerSize.STANDARD = 50
20 */
21 size?: number;
22 /**
23 * HTML tag for the two wrapper elements. If rendering a `<Spinner>` inside
24 * an `<svg>`, change this to an SVG element like `"g"`.
25 *
26 * @default "div"
27 */
28 tagName?: keyof JSX.IntrinsicElements;
29 /**
30 * A value between 0 and 1 (inclusive) representing how far along the operation is.
31 * Values below 0 or above 1 will be interpreted as 0 or 1 respectively.
32 * Omitting this prop will result in an "indeterminate" spinner where the head spins indefinitely.
33 */
34 value?: number;
35}
36/**
37 * Spinner component.
38 *
39 * @see https://blueprintjs.com/docs/#core/components/spinner
40 */
41export declare class Spinner extends AbstractPureComponent<SpinnerProps> {
42 static displayName: string;
43 componentDidUpdate(prevProps: SpinnerProps): void;
44 render(): React.DOMElement<{
45 size?: number | undefined;
46 defaultChecked?: boolean | undefined;
47 defaultValue?: string | number | readonly string[] | undefined;
48 suppressContentEditableWarning?: boolean | undefined;
49 suppressHydrationWarning?: boolean | undefined;
50 accessKey?: string | undefined;
51 contentEditable?: "inherit" | (boolean | "true" | "false") | undefined;
52 contextMenu?: string | undefined;
53 dir?: string | undefined;
54 draggable?: (boolean | "true" | "false") | undefined;
55 hidden?: boolean | undefined;
56 id?: string | undefined;
57 lang?: string | undefined;
58 placeholder?: string | undefined;
59 slot?: string | undefined;
60 spellCheck?: (boolean | "true" | "false") | undefined;
61 style?: React.CSSProperties | undefined;
62 tabIndex?: number | undefined;
63 title?: string | undefined;
64 translate?: "yes" | "no" | undefined;
65 radioGroup?: string | undefined;
66 role: string;
67 about?: string | undefined;
68 datatype?: string | undefined;
69 inlist?: any;
70 prefix?: string | undefined;
71 property?: string | undefined;
72 resource?: string | undefined;
73 typeof?: string | undefined;
74 vocab?: string | undefined;
75 autoCapitalize?: string | undefined;
76 autoCorrect?: string | undefined;
77 autoSave?: string | undefined;
78 color?: string | undefined;
79 itemProp?: string | undefined;
80 itemScope?: boolean | undefined;
81 itemType?: string | undefined;
82 itemID?: string | undefined;
83 itemRef?: string | undefined;
84 results?: number | undefined;
85 security?: string | undefined;
86 unselectable?: "on" | "off" | undefined;
87 inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
88 is?: string | undefined;
89 'aria-activedescendant'?: string | undefined;
90 'aria-atomic'?: boolean | "true" | "false" | undefined;
91 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
92 'aria-busy'?: boolean | "true" | "false" | undefined;
93 'aria-checked'?: boolean | "true" | "false" | "mixed" | undefined;
94 'aria-colcount'?: number | undefined;
95 'aria-colindex'?: number | undefined;
96 'aria-colspan'?: number | undefined;
97 'aria-controls'?: string | undefined;
98 'aria-current'?: boolean | "time" | "location" | "true" | "false" | "page" | "step" | "date" | undefined;
99 'aria-describedby'?: string | undefined;
100 'aria-details'?: string | undefined;
101 'aria-disabled'?: boolean | "true" | "false" | undefined;
102 'aria-dropeffect'?: "link" | "copy" | "move" | "none" | "execute" | "popup" | undefined;
103 'aria-errormessage'?: string | undefined;
104 'aria-expanded'?: boolean | "true" | "false" | undefined;
105 'aria-flowto'?: string | undefined;
106 'aria-grabbed'?: boolean | "true" | "false" | undefined;
107 'aria-haspopup'?: boolean | "dialog" | "menu" | "grid" | "tree" | "true" | "false" | "listbox" | undefined;
108 'aria-hidden'?: boolean | "true" | "false" | undefined;
109 'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
110 'aria-keyshortcuts'?: string | undefined;
111 "aria-label": string;
112 'aria-labelledby'?: string | undefined;
113 'aria-level'?: number | undefined;
114 'aria-live'?: "off" | "assertive" | "polite" | undefined;
115 'aria-modal'?: boolean | "true" | "false" | undefined;
116 'aria-multiline'?: boolean | "true" | "false" | undefined;
117 'aria-multiselectable'?: boolean | "true" | "false" | undefined;
118 'aria-orientation'?: "horizontal" | "vertical" | undefined;
119 'aria-owns'?: string | undefined;
120 'aria-placeholder'?: string | undefined;
121 'aria-posinset'?: number | undefined;
122 'aria-pressed'?: boolean | "true" | "false" | "mixed" | undefined;
123 'aria-readonly'?: boolean | "true" | "false" | undefined;
124 'aria-relevant'?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
125 'aria-required'?: boolean | "true" | "false" | undefined;
126 'aria-roledescription'?: string | undefined;
127 'aria-rowcount'?: number | undefined;
128 'aria-rowindex'?: number | undefined;
129 'aria-rowspan'?: number | undefined;
130 'aria-selected'?: boolean | "true" | "false" | undefined;
131 'aria-setsize'?: number | undefined;
132 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
133 "aria-valuemax": number;
134 "aria-valuemin": number;
135 "aria-valuenow": number | undefined;
136 'aria-valuetext'?: string | undefined;
137 children?: React.ReactNode;
138 dangerouslySetInnerHTML?: {
139 __html: string;
140 } | undefined;
141 onCopy?: React.ClipboardEventHandler<HTMLElement> | undefined;
142 onCopyCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
143 onCut?: React.ClipboardEventHandler<HTMLElement> | undefined;
144 onCutCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
145 onPaste?: React.ClipboardEventHandler<HTMLElement> | undefined;
146 onPasteCapture?: React.ClipboardEventHandler<HTMLElement> | undefined;
147 onCompositionEnd?: React.CompositionEventHandler<HTMLElement> | undefined;
148 onCompositionEndCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
149 onCompositionStart?: React.CompositionEventHandler<HTMLElement> | undefined;
150 onCompositionStartCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
151 onCompositionUpdate?: React.CompositionEventHandler<HTMLElement> | undefined;
152 onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLElement> | undefined;
153 onFocus?: React.FocusEventHandler<HTMLElement> | undefined;
154 onFocusCapture?: React.FocusEventHandler<HTMLElement> | undefined;
155 onBlur?: React.FocusEventHandler<HTMLElement> | undefined;
156 onBlurCapture?: React.FocusEventHandler<HTMLElement> | undefined;
157 onChange?: React.FormEventHandler<HTMLElement> | undefined;
158 onChangeCapture?: React.FormEventHandler<HTMLElement> | undefined;
159 onBeforeInput?: React.FormEventHandler<HTMLElement> | undefined;
160 onBeforeInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
161 onInput?: React.FormEventHandler<HTMLElement> | undefined;
162 onInputCapture?: React.FormEventHandler<HTMLElement> | undefined;
163 onReset?: React.FormEventHandler<HTMLElement> | undefined;
164 onResetCapture?: React.FormEventHandler<HTMLElement> | undefined;
165 onSubmit?: React.FormEventHandler<HTMLElement> | undefined;
166 onSubmitCapture?: React.FormEventHandler<HTMLElement> | undefined;
167 onInvalid?: React.FormEventHandler<HTMLElement> | undefined;
168 onInvalidCapture?: React.FormEventHandler<HTMLElement> | undefined;
169 onLoad?: React.ReactEventHandler<HTMLElement> | undefined;
170 onLoadCapture?: React.ReactEventHandler<HTMLElement> | undefined;
171 onError?: React.ReactEventHandler<HTMLElement> | undefined;
172 onErrorCapture?: React.ReactEventHandler<HTMLElement> | undefined;
173 onKeyDown?: React.KeyboardEventHandler<HTMLElement> | undefined;
174 onKeyDownCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
175 onKeyPress?: React.KeyboardEventHandler<HTMLElement> | undefined;
176 onKeyPressCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
177 onKeyUp?: React.KeyboardEventHandler<HTMLElement> | undefined;
178 onKeyUpCapture?: React.KeyboardEventHandler<HTMLElement> | undefined;
179 onAbort?: React.ReactEventHandler<HTMLElement> | undefined;
180 onAbortCapture?: React.ReactEventHandler<HTMLElement> | undefined;
181 onCanPlay?: React.ReactEventHandler<HTMLElement> | undefined;
182 onCanPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
183 onCanPlayThrough?: React.ReactEventHandler<HTMLElement> | undefined;
184 onCanPlayThroughCapture?: React.ReactEventHandler<HTMLElement> | undefined;
185 onDurationChange?: React.ReactEventHandler<HTMLElement> | undefined;
186 onDurationChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
187 onEmptied?: React.ReactEventHandler<HTMLElement> | undefined;
188 onEmptiedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
189 onEncrypted?: React.ReactEventHandler<HTMLElement> | undefined;
190 onEncryptedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
191 onEnded?: React.ReactEventHandler<HTMLElement> | undefined;
192 onEndedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
193 onLoadedData?: React.ReactEventHandler<HTMLElement> | undefined;
194 onLoadedDataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
195 onLoadedMetadata?: React.ReactEventHandler<HTMLElement> | undefined;
196 onLoadedMetadataCapture?: React.ReactEventHandler<HTMLElement> | undefined;
197 onLoadStart?: React.ReactEventHandler<HTMLElement> | undefined;
198 onLoadStartCapture?: React.ReactEventHandler<HTMLElement> | undefined;
199 onPause?: React.ReactEventHandler<HTMLElement> | undefined;
200 onPauseCapture?: React.ReactEventHandler<HTMLElement> | undefined;
201 onPlay?: React.ReactEventHandler<HTMLElement> | undefined;
202 onPlayCapture?: React.ReactEventHandler<HTMLElement> | undefined;
203 onPlaying?: React.ReactEventHandler<HTMLElement> | undefined;
204 onPlayingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
205 onProgress?: React.ReactEventHandler<HTMLElement> | undefined;
206 onProgressCapture?: React.ReactEventHandler<HTMLElement> | undefined;
207 onRateChange?: React.ReactEventHandler<HTMLElement> | undefined;
208 onRateChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
209 onSeeked?: React.ReactEventHandler<HTMLElement> | undefined;
210 onSeekedCapture?: React.ReactEventHandler<HTMLElement> | undefined;
211 onSeeking?: React.ReactEventHandler<HTMLElement> | undefined;
212 onSeekingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
213 onStalled?: React.ReactEventHandler<HTMLElement> | undefined;
214 onStalledCapture?: React.ReactEventHandler<HTMLElement> | undefined;
215 onSuspend?: React.ReactEventHandler<HTMLElement> | undefined;
216 onSuspendCapture?: React.ReactEventHandler<HTMLElement> | undefined;
217 onTimeUpdate?: React.ReactEventHandler<HTMLElement> | undefined;
218 onTimeUpdateCapture?: React.ReactEventHandler<HTMLElement> | undefined;
219 onVolumeChange?: React.ReactEventHandler<HTMLElement> | undefined;
220 onVolumeChangeCapture?: React.ReactEventHandler<HTMLElement> | undefined;
221 onWaiting?: React.ReactEventHandler<HTMLElement> | undefined;
222 onWaitingCapture?: React.ReactEventHandler<HTMLElement> | undefined;
223 onAuxClick?: React.MouseEventHandler<HTMLElement> | undefined;
224 onAuxClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
225 onClick?: React.MouseEventHandler<HTMLElement> | undefined;
226 onClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
227 onContextMenu?: React.MouseEventHandler<HTMLElement> | undefined;
228 onContextMenuCapture?: React.MouseEventHandler<HTMLElement> | undefined;
229 onDoubleClick?: React.MouseEventHandler<HTMLElement> | undefined;
230 onDoubleClickCapture?: React.MouseEventHandler<HTMLElement> | undefined;
231 onDrag?: React.DragEventHandler<HTMLElement> | undefined;
232 onDragCapture?: React.DragEventHandler<HTMLElement> | undefined;
233 onDragEnd?: React.DragEventHandler<HTMLElement> | undefined;
234 onDragEndCapture?: React.DragEventHandler<HTMLElement> | undefined;
235 onDragEnter?: React.DragEventHandler<HTMLElement> | undefined;
236 onDragEnterCapture?: React.DragEventHandler<HTMLElement> | undefined;
237 onDragExit?: React.DragEventHandler<HTMLElement> | undefined;
238 onDragExitCapture?: React.DragEventHandler<HTMLElement> | undefined;
239 onDragLeave?: React.DragEventHandler<HTMLElement> | undefined;
240 onDragLeaveCapture?: React.DragEventHandler<HTMLElement> | undefined;
241 onDragOver?: React.DragEventHandler<HTMLElement> | undefined;
242 onDragOverCapture?: React.DragEventHandler<HTMLElement> | undefined;
243 onDragStart?: React.DragEventHandler<HTMLElement> | undefined;
244 onDragStartCapture?: React.DragEventHandler<HTMLElement> | undefined;
245 onDrop?: React.DragEventHandler<HTMLElement> | undefined;
246 onDropCapture?: React.DragEventHandler<HTMLElement> | undefined;
247 onMouseDown?: React.MouseEventHandler<HTMLElement> | undefined;
248 onMouseDownCapture?: React.MouseEventHandler<HTMLElement> | undefined;
249 onMouseEnter?: React.MouseEventHandler<HTMLElement> | undefined;
250 onMouseLeave?: React.MouseEventHandler<HTMLElement> | undefined;
251 onMouseMove?: React.MouseEventHandler<HTMLElement> | undefined;
252 onMouseMoveCapture?: React.MouseEventHandler<HTMLElement> | undefined;
253 onMouseOut?: React.MouseEventHandler<HTMLElement> | undefined;
254 onMouseOutCapture?: React.MouseEventHandler<HTMLElement> | undefined;
255 onMouseOver?: React.MouseEventHandler<HTMLElement> | undefined;
256 onMouseOverCapture?: React.MouseEventHandler<HTMLElement> | undefined;
257 onMouseUp?: React.MouseEventHandler<HTMLElement> | undefined;
258 onMouseUpCapture?: React.MouseEventHandler<HTMLElement> | undefined;
259 onSelect?: React.ReactEventHandler<HTMLElement> | undefined;
260 onSelectCapture?: React.ReactEventHandler<HTMLElement> | undefined;
261 onTouchCancel?: React.TouchEventHandler<HTMLElement> | undefined;
262 onTouchCancelCapture?: React.TouchEventHandler<HTMLElement> | undefined;
263 onTouchEnd?: React.TouchEventHandler<HTMLElement> | undefined;
264 onTouchEndCapture?: React.TouchEventHandler<HTMLElement> | undefined;
265 onTouchMove?: React.TouchEventHandler<HTMLElement> | undefined;
266 onTouchMoveCapture?: React.TouchEventHandler<HTMLElement> | undefined;
267 onTouchStart?: React.TouchEventHandler<HTMLElement> | undefined;
268 onTouchStartCapture?: React.TouchEventHandler<HTMLElement> | undefined;
269 onPointerDown?: React.PointerEventHandler<HTMLElement> | undefined;
270 onPointerDownCapture?: React.PointerEventHandler<HTMLElement> | undefined;
271 onPointerMove?: React.PointerEventHandler<HTMLElement> | undefined;
272 onPointerMoveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
273 onPointerUp?: React.PointerEventHandler<HTMLElement> | undefined;
274 onPointerUpCapture?: React.PointerEventHandler<HTMLElement> | undefined;
275 onPointerCancel?: React.PointerEventHandler<HTMLElement> | undefined;
276 onPointerCancelCapture?: React.PointerEventHandler<HTMLElement> | undefined;
277 onPointerEnter?: React.PointerEventHandler<HTMLElement> | undefined;
278 onPointerEnterCapture?: React.PointerEventHandler<HTMLElement> | undefined;
279 onPointerLeave?: React.PointerEventHandler<HTMLElement> | undefined;
280 onPointerLeaveCapture?: React.PointerEventHandler<HTMLElement> | undefined;
281 onPointerOver?: React.PointerEventHandler<HTMLElement> | undefined;
282 onPointerOverCapture?: React.PointerEventHandler<HTMLElement> | undefined;
283 onPointerOut?: React.PointerEventHandler<HTMLElement> | undefined;
284 onPointerOutCapture?: React.PointerEventHandler<HTMLElement> | undefined;
285 onGotPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
286 onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
287 onLostPointerCapture?: React.PointerEventHandler<HTMLElement> | undefined;
288 onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLElement> | undefined;
289 onScroll?: React.UIEventHandler<HTMLElement> | undefined;
290 onScrollCapture?: React.UIEventHandler<HTMLElement> | undefined;
291 onWheel?: React.WheelEventHandler<HTMLElement> | undefined;
292 onWheelCapture?: React.WheelEventHandler<HTMLElement> | undefined;
293 onAnimationStart?: React.AnimationEventHandler<HTMLElement> | undefined;
294 onAnimationStartCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
295 onAnimationEnd?: React.AnimationEventHandler<HTMLElement> | undefined;
296 onAnimationEndCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
297 onAnimationIteration?: React.AnimationEventHandler<HTMLElement> | undefined;
298 onAnimationIterationCapture?: React.AnimationEventHandler<HTMLElement> | undefined;
299 onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
300 onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
301 className: string;
302 }, Element>;
303 protected validateProps({ className, size }: SpinnerProps): void;
304 /**
305 * Resolve size to a pixel value.
306 * Size can be set by className, props, default, or minimum constant.
307 */
308 private getSize;
309 /** Compute viewbox such that stroked track sits exactly at edge of image frame. */
310 private getViewBox;
311}