@zag-js/types 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/jsx.ts ADDED
@@ -0,0 +1,1355 @@
1
+ import type * as CSS from "csstype"
2
+
3
+ type NativeAnimationEvent = AnimationEvent
4
+ type NativeClipboardEvent = ClipboardEvent
5
+ type NativeCompositionEvent = CompositionEvent
6
+ type NativeDragEvent = DragEvent
7
+ type NativeFocusEvent = FocusEvent
8
+ type NativeKeyboardEvent = KeyboardEvent
9
+ type NativeMouseEvent = MouseEvent
10
+ type NativeTouchEvent = TouchEvent
11
+ type NativePointerEvent = PointerEvent
12
+ type NativeTransitionEvent = TransitionEvent
13
+ type NativeUIEvent = UIEvent
14
+ type NativeWheelEvent = WheelEvent
15
+ type Booleanish = boolean | "true" | "false"
16
+
17
+ export namespace JSX {
18
+ export interface BaseSyntheticEvent<E = object, C = any, T = any> {
19
+ nativeEvent: E
20
+ currentTarget: C
21
+ target: T
22
+ bubbles: boolean
23
+ cancelable: boolean
24
+ defaultPrevented: boolean
25
+ eventPhase: number
26
+ isTrusted: boolean
27
+ preventDefault(): void
28
+ isDefaultPrevented(): boolean
29
+ stopPropagation(): void
30
+ isPropagationStopped(): boolean
31
+ persist(): void
32
+ timeStamp: number
33
+ type: string
34
+ }
35
+
36
+ export interface SyntheticEvent<T = Element, E = Event> extends BaseSyntheticEvent<E, EventTarget & T, EventTarget> {}
37
+
38
+ export interface ClipboardEvent<T = Element> extends SyntheticEvent<T, NativeClipboardEvent> {
39
+ clipboardData: DataTransfer
40
+ }
41
+
42
+ export interface CompositionEvent<T = Element> extends SyntheticEvent<T, NativeCompositionEvent> {
43
+ data: string
44
+ }
45
+
46
+ export interface DragEvent<T = Element> extends MouseEvent<T, NativeDragEvent> {
47
+ dataTransfer: DataTransfer
48
+ }
49
+
50
+ export interface PointerEvent<T = Element> extends MouseEvent<T, NativePointerEvent> {
51
+ pointerId: number
52
+ pressure: number
53
+ tangentialPressure: number
54
+ tiltX: number
55
+ tiltY: number
56
+ twist: number
57
+ width: number
58
+ height: number
59
+ pointerType: "mouse" | "pen" | "touch"
60
+ isPrimary: boolean
61
+ }
62
+
63
+ export interface FocusEvent<Target = Element, RelatedTarget = Element>
64
+ extends SyntheticEvent<Target, NativeFocusEvent> {
65
+ relatedTarget: (EventTarget & RelatedTarget) | null
66
+ target: EventTarget & Target
67
+ }
68
+
69
+ export interface FormEvent<T = Element> extends SyntheticEvent<T> {}
70
+
71
+ export interface InvalidEvent<T = Element> extends SyntheticEvent<T> {
72
+ target: EventTarget & T
73
+ }
74
+
75
+ export interface ChangeEvent<T = Element> extends SyntheticEvent<T> {
76
+ target: EventTarget & T
77
+ }
78
+
79
+ export interface KeyboardEvent<T = Element> extends UIEvent<T, NativeKeyboardEvent> {
80
+ altKey: boolean
81
+ /** @deprecated */
82
+ charCode: number
83
+ ctrlKey: boolean
84
+ code: string
85
+ /**
86
+ * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
87
+ */
88
+ getModifierState(key: string): boolean
89
+ /**
90
+ * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
91
+ */
92
+ key: string
93
+ /** @deprecated */
94
+ keyCode: number
95
+ locale: string
96
+ location: number
97
+ metaKey: boolean
98
+ repeat: boolean
99
+ shiftKey: boolean
100
+ /** @deprecated */
101
+ which: number
102
+ }
103
+
104
+ export interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
105
+ altKey: boolean
106
+ button: number
107
+ buttons: number
108
+ clientX: number
109
+ clientY: number
110
+ ctrlKey: boolean
111
+ /**
112
+ * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
113
+ */
114
+ getModifierState(key: string): boolean
115
+ metaKey: boolean
116
+ movementX: number
117
+ movementY: number
118
+ pageX: number
119
+ pageY: number
120
+ relatedTarget: EventTarget | null
121
+ screenX: number
122
+ screenY: number
123
+ shiftKey: boolean
124
+ }
125
+
126
+ export interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
127
+ altKey: boolean
128
+ changedTouches: TouchList
129
+ ctrlKey: boolean
130
+ /**
131
+ * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
132
+ */
133
+ getModifierState(key: string): boolean
134
+ metaKey: boolean
135
+ shiftKey: boolean
136
+ targetTouches: TouchList
137
+ touches: TouchList
138
+ }
139
+
140
+ export interface AbstractView {
141
+ document: Document
142
+ styleMedia: StyleMedia
143
+ }
144
+
145
+ export interface UIEvent<T = Element, E = NativeUIEvent> extends SyntheticEvent<T, E> {
146
+ detail: number
147
+ view: AbstractView
148
+ }
149
+
150
+ export interface WheelEvent<T = Element> extends MouseEvent<T, NativeWheelEvent> {
151
+ deltaMode: number
152
+ deltaX: number
153
+ deltaY: number
154
+ deltaZ: number
155
+ }
156
+
157
+ export interface AnimationEvent<T = Element> extends SyntheticEvent<T, NativeAnimationEvent> {
158
+ animationName: string
159
+ elapsedTime: number
160
+ pseudoElement: string
161
+ }
162
+
163
+ export interface TransitionEvent<T = Element> extends SyntheticEvent<T, NativeTransitionEvent> {
164
+ elapsedTime: number
165
+ propertyName: string
166
+ pseudoElement: string
167
+ }
168
+
169
+ //
170
+ // Event Handler Types
171
+ // ----------------------------------------------------------------------
172
+
173
+ type EventHandler<E extends SyntheticEvent<any>> = { bivarianceHack(event: E): void }["bivarianceHack"]
174
+
175
+ type ZagEventHandler<T = Element> = EventHandler<SyntheticEvent<T>>
176
+
177
+ export type ClipboardEventHandler<T = Element> = EventHandler<ClipboardEvent<T>>
178
+ export type CompositionEventHandler<T = Element> = EventHandler<CompositionEvent<T>>
179
+ export type DragEventHandler<T = Element> = EventHandler<DragEvent<T>>
180
+ export type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>
181
+ export type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>
182
+ export type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>
183
+ export type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>
184
+ export type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>
185
+ export type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>
186
+ export type PointerEventHandler<T = Element> = EventHandler<PointerEvent<T>>
187
+ export type UIEventHandler<T = Element> = EventHandler<UIEvent<T>>
188
+ export type WheelEventHandler<T = Element> = EventHandler<WheelEvent<T>>
189
+ export type AnimationEventHandler<T = Element> = EventHandler<AnimationEvent<T>>
190
+ export type TransitionEventHandler<T = Element> = EventHandler<TransitionEvent<T>>
191
+
192
+ //
193
+ // Props / DOM Attributes
194
+ // ----------------------------------------------------------------------
195
+
196
+ export interface HTMLProps<T> extends AllHTMLAttributes<T> {}
197
+
198
+ export interface DOMAttributes<T> {
199
+ children?: string | undefined
200
+ // Clipboard Events
201
+ onCopy?: ClipboardEventHandler<T> | undefined
202
+ onCut?: ClipboardEventHandler<T> | undefined
203
+ onPaste?: ClipboardEventHandler<T> | undefined
204
+
205
+ // Composition Events
206
+ onCompositionEnd?: CompositionEventHandler<T> | undefined
207
+ onCompositionStart?: CompositionEventHandler<T> | undefined
208
+ onCompositionUpdate?: CompositionEventHandler<T> | undefined
209
+
210
+ // Focus Events
211
+ onFocus?: FocusEventHandler<T> | undefined
212
+ onBlur?: FocusEventHandler<T> | undefined
213
+
214
+ // Form Events
215
+ onChange?: FormEventHandler<T> | undefined
216
+ onBeforeInput?: FormEventHandler<T> | undefined
217
+ onInput?: FormEventHandler<T> | undefined
218
+ onReset?: FormEventHandler<T> | undefined
219
+ onSubmit?: FormEventHandler<T> | undefined
220
+ onInvalid?: FormEventHandler<T> | undefined
221
+
222
+ // Image Events
223
+ onLoad?: ZagEventHandler<T> | undefined
224
+ onError?: ZagEventHandler<T> | undefined
225
+ onKeyDown?: KeyboardEventHandler<T> | undefined
226
+ onKeyUp?: KeyboardEventHandler<T> | undefined
227
+
228
+ // Media Events
229
+ onAbort?: ZagEventHandler<T> | undefined
230
+ onCanPlay?: ZagEventHandler<T> | undefined
231
+ onCanPlayThrough?: ZagEventHandler<T> | undefined
232
+ onDurationChange?: ZagEventHandler<T> | undefined
233
+ onEmptied?: ZagEventHandler<T> | undefined
234
+ onEncrypted?: ZagEventHandler<T> | undefined
235
+ onEnded?: ZagEventHandler<T> | undefined
236
+ onLoadedData?: ZagEventHandler<T> | undefined
237
+ onLoadedMetadata?: ZagEventHandler<T> | undefined
238
+ onLoadStart?: ZagEventHandler<T> | undefined
239
+ onPause?: ZagEventHandler<T> | undefined
240
+ onPlay?: ZagEventHandler<T> | undefined
241
+ onPlaying?: ZagEventHandler<T> | undefined
242
+ onProgress?: ZagEventHandler<T> | undefined
243
+ onRateChange?: ZagEventHandler<T> | undefined
244
+ onSeeked?: ZagEventHandler<T> | undefined
245
+ onSeeking?: ZagEventHandler<T> | undefined
246
+ onStalled?: ZagEventHandler<T> | undefined
247
+ onSuspend?: ZagEventHandler<T> | undefined
248
+ onTimeUpdate?: ZagEventHandler<T> | undefined
249
+ onVolumeChange?: ZagEventHandler<T> | undefined
250
+ onWaiting?: ZagEventHandler<T> | undefined
251
+
252
+ // MouseEvents
253
+ onAuxClick?: MouseEventHandler<T> | undefined
254
+ onClick?: MouseEventHandler<T> | undefined
255
+ onContextMenu?: MouseEventHandler<T> | undefined
256
+ onDoubleClick?: MouseEventHandler<T> | undefined
257
+ onDrag?: DragEventHandler<T> | undefined
258
+ onDragEnd?: DragEventHandler<T> | undefined
259
+ onDragEnter?: DragEventHandler<T> | undefined
260
+ onDragExit?: DragEventHandler<T> | undefined
261
+ onDragLeave?: DragEventHandler<T> | undefined
262
+ onDragOver?: DragEventHandler<T> | undefined
263
+ onDragStart?: DragEventHandler<T> | undefined
264
+ onDrop?: DragEventHandler<T> | undefined
265
+ onMouseDown?: MouseEventHandler<T> | undefined
266
+ onMouseEnter?: MouseEventHandler<T> | undefined
267
+ onMouseLeave?: MouseEventHandler<T> | undefined
268
+ onMouseMove?: MouseEventHandler<T> | undefined
269
+ onMouseOut?: MouseEventHandler<T> | undefined
270
+ onMouseOver?: MouseEventHandler<T> | undefined
271
+ onMouseUp?: MouseEventHandler<T> | undefined
272
+
273
+ // Selection Events
274
+ onSelect?: ZagEventHandler<T> | undefined
275
+
276
+ // Touch Events
277
+ onTouchCancel?: TouchEventHandler<T> | undefined
278
+ onTouchEnd?: TouchEventHandler<T> | undefined
279
+ onTouchMove?: TouchEventHandler<T> | undefined
280
+ onTouchStart?: TouchEventHandler<T> | undefined
281
+
282
+ // Pointer Events
283
+ onPointerDown?: PointerEventHandler<T> | undefined
284
+ onPointerMove?: PointerEventHandler<T> | undefined
285
+ onPointerUp?: PointerEventHandler<T> | undefined
286
+ onPointerCancel?: PointerEventHandler<T> | undefined
287
+ onPointerEnter?: PointerEventHandler<T> | undefined
288
+ onPointerLeave?: PointerEventHandler<T> | undefined
289
+ onPointerOver?: PointerEventHandler<T> | undefined
290
+ onPointerOut?: PointerEventHandler<T> | undefined
291
+
292
+ // UI Events
293
+ onScroll?: UIEventHandler<T> | undefined
294
+
295
+ // Wheel Events
296
+ onWheel?: WheelEventHandler<T> | undefined
297
+
298
+ // Animation Events
299
+ onAnimationStart?: AnimationEventHandler<T> | undefined
300
+ onAnimationEnd?: AnimationEventHandler<T> | undefined
301
+ onAnimationIteration?: AnimationEventHandler<T> | undefined
302
+
303
+ // Transition Events
304
+ onTransitionEnd?: TransitionEventHandler<T> | undefined
305
+ }
306
+
307
+ export interface CSSProperties extends CSS.Properties<string | number> {
308
+ [prop: string]: string | number | undefined
309
+ }
310
+
311
+ // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
312
+ export interface AriaAttributes {
313
+ /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
314
+ "aria-activedescendant"?: string | undefined
315
+ /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
316
+ "aria-atomic"?: Booleanish | undefined
317
+ /**
318
+ * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
319
+ * presented if they are made.
320
+ */
321
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined
322
+ /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
323
+ "aria-busy"?: Booleanish | undefined
324
+ /**
325
+ * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
326
+ * @see aria-pressed @see aria-selected.
327
+ */
328
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined
329
+ /**
330
+ * Defines the total number of columns in a table, grid, or treegrid.
331
+ * @see aria-colindex.
332
+ */
333
+ "aria-colcount"?: number | undefined
334
+ /**
335
+ * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
336
+ * @see aria-colcount @see aria-colspan.
337
+ */
338
+ "aria-colindex"?: number | undefined
339
+ /**
340
+ * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
341
+ * @see aria-colindex @see aria-rowspan.
342
+ */
343
+ "aria-colspan"?: number | undefined
344
+ /**
345
+ * Identifies the element (or elements) whose contents or presence are controlled by the current element.
346
+ * @see aria-owns.
347
+ */
348
+ "aria-controls"?: string | undefined
349
+ /** Indicates the element that represents the current item within a container or set of related elements. */
350
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined
351
+ /**
352
+ * Identifies the element (or elements) that describes the object.
353
+ * @see aria-labelledby
354
+ */
355
+ "aria-describedby"?: string | undefined
356
+ /**
357
+ * Identifies the element that provides a detailed, extended description for the object.
358
+ * @see aria-describedby.
359
+ */
360
+ "aria-details"?: string | undefined
361
+ /**
362
+ * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
363
+ * @see aria-hidden @see aria-readonly.
364
+ */
365
+ "aria-disabled"?: Booleanish | undefined
366
+ /**
367
+ * Indicates what functions can be performed when a dragged object is released on the drop target.
368
+ * @deprecated in ARIA 1.1
369
+ */
370
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined
371
+ /**
372
+ * Identifies the element that provides an error message for the object.
373
+ * @see aria-invalid @see aria-describedby.
374
+ */
375
+ "aria-errormessage"?: string | undefined
376
+ /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
377
+ "aria-expanded"?: Booleanish | undefined
378
+ /**
379
+ * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
380
+ * allows assistive technology to override the general default of reading in document source order.
381
+ */
382
+ "aria-flowto"?: string | undefined
383
+ /**
384
+ * Indicates an element's "grabbed" state in a drag-and-drop operation.
385
+ * @deprecated in ARIA 1.1
386
+ */
387
+ "aria-grabbed"?: Booleanish | undefined
388
+ /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
389
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined
390
+ /**
391
+ * Indicates whether the element is exposed to an accessibility API.
392
+ * @see aria-disabled.
393
+ */
394
+ "aria-hidden"?: Booleanish | undefined
395
+ /**
396
+ * Indicates the entered value does not conform to the format expected by the application.
397
+ * @see aria-errormessage.
398
+ */
399
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined
400
+ /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
401
+ "aria-keyshortcuts"?: string | undefined
402
+ /**
403
+ * Defines a string value that labels the current element.
404
+ * @see aria-labelledby.
405
+ */
406
+ "aria-label"?: string | undefined
407
+ /**
408
+ * Identifies the element (or elements) that labels the current element.
409
+ * @see aria-describedby.
410
+ */
411
+ "aria-labelledby"?: string | undefined
412
+ /** Defines the hierarchical level of an element within a structure. */
413
+ "aria-level"?: number | undefined
414
+ /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
415
+ "aria-live"?: "off" | "assertive" | "polite" | undefined
416
+ /** Indicates whether an element is modal when displayed. */
417
+ "aria-modal"?: Booleanish | undefined
418
+ /** Indicates whether a text box accepts multiple lines of input or only a single line. */
419
+ "aria-multiline"?: Booleanish | undefined
420
+ /** Indicates that the user may select more than one item from the current selectable descendants. */
421
+ "aria-multiselectable"?: Booleanish | undefined
422
+ /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
423
+ "aria-orientation"?: "horizontal" | "vertical" | undefined
424
+ /**
425
+ * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
426
+ * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
427
+ * @see aria-controls.
428
+ */
429
+ "aria-owns"?: string | undefined
430
+ /**
431
+ * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
432
+ * A hint could be a sample value or a brief description of the expected format.
433
+ */
434
+ "aria-placeholder"?: string | undefined
435
+ /**
436
+ * Defines an element's number or position in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
437
+ * @see aria-setsize.
438
+ */
439
+ "aria-posinset"?: number | undefined
440
+ /**
441
+ * Indicates the current "pressed" state of toggle buttons.
442
+ * @see aria-checked @see aria-selected.
443
+ */
444
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined
445
+ /**
446
+ * Indicates that the element is not editable, but is otherwise operable.
447
+ * @see aria-disabled.
448
+ */
449
+ "aria-readonly"?: Booleanish | undefined
450
+ /**
451
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
452
+ * @see aria-atomic.
453
+ */
454
+ "aria-relevant"?:
455
+ | "additions"
456
+ | "additions removals"
457
+ | "additions text"
458
+ | "all"
459
+ | "removals"
460
+ | "removals additions"
461
+ | "removals text"
462
+ | "text"
463
+ | "text additions"
464
+ | "text removals"
465
+ | undefined
466
+ /** Indicates that user input is required on the element before a form may be submitted. */
467
+ "aria-required"?: Booleanish | undefined
468
+ /** Defines a human-readable, author-localized description for the role of an element. */
469
+ "aria-roledescription"?: string | undefined
470
+ /**
471
+ * Defines the total number of rows in a table, grid, or treegrid.
472
+ * @see aria-rowindex.
473
+ */
474
+ "aria-rowcount"?: number | undefined
475
+ /**
476
+ * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
477
+ * @see aria-rowcount @see aria-rowspan.
478
+ */
479
+ "aria-rowindex"?: number | undefined
480
+ /**
481
+ * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
482
+ * @see aria-rowindex @see aria-colspan.
483
+ */
484
+ "aria-rowspan"?: number | undefined
485
+ /**
486
+ * Indicates the current "selected" state of various widgets.
487
+ * @see aria-checked @see aria-pressed.
488
+ */
489
+ "aria-selected"?: Booleanish | undefined
490
+ /**
491
+ * Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM.
492
+ * @see aria-posinset.
493
+ */
494
+ "aria-setsize"?: number | undefined
495
+ /** Indicates if items in a table or grid are sorted in ascending or descending order. */
496
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined
497
+ /** Defines the maximum allowed value for a range widget. */
498
+ "aria-valuemax"?: number | undefined
499
+ /** Defines the minimum allowed value for a range widget. */
500
+ "aria-valuemin"?: number | undefined
501
+ /**
502
+ * Defines the current value for a range widget.
503
+ * @see aria-valuetext.
504
+ */
505
+ "aria-valuenow"?: number | undefined
506
+ /** Defines the human readable text alternative of aria-valuenow for a range widget. */
507
+ "aria-valuetext"?: string | undefined
508
+ }
509
+
510
+ // All the WAI-ARIA 1.1 role attribute values from https://www.w3.org/TR/wai-aria-1.1/#role_definitions
511
+ type AriaRole =
512
+ | "alert"
513
+ | "alertdialog"
514
+ | "application"
515
+ | "article"
516
+ | "banner"
517
+ | "button"
518
+ | "cell"
519
+ | "checkbox"
520
+ | "columnheader"
521
+ | "combobox"
522
+ | "complementary"
523
+ | "contentinfo"
524
+ | "definition"
525
+ | "dialog"
526
+ | "directory"
527
+ | "document"
528
+ | "feed"
529
+ | "figure"
530
+ | "form"
531
+ | "grid"
532
+ | "gridcell"
533
+ | "group"
534
+ | "heading"
535
+ | "img"
536
+ | "link"
537
+ | "list"
538
+ | "listbox"
539
+ | "listitem"
540
+ | "log"
541
+ | "main"
542
+ | "marquee"
543
+ | "math"
544
+ | "menu"
545
+ | "menubar"
546
+ | "menuitem"
547
+ | "menuitemcheckbox"
548
+ | "menuitemradio"
549
+ | "navigation"
550
+ | "none"
551
+ | "note"
552
+ | "option"
553
+ | "presentation"
554
+ | "progressbar"
555
+ | "radio"
556
+ | "radiogroup"
557
+ | "region"
558
+ | "row"
559
+ | "rowgroup"
560
+ | "rowheader"
561
+ | "scrollbar"
562
+ | "search"
563
+ | "searchbox"
564
+ | "separator"
565
+ | "slider"
566
+ | "spinbutton"
567
+ | "status"
568
+ | "switch"
569
+ | "tab"
570
+ | "table"
571
+ | "tablist"
572
+ | "tabpanel"
573
+ | "term"
574
+ | "textbox"
575
+ | "timer"
576
+ | "toolbar"
577
+ | "tooltip"
578
+ | "tree"
579
+ | "treegrid"
580
+ | "treeitem"
581
+ | (string & {})
582
+
583
+ export interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
584
+ // React-specific Attributes
585
+ defaultChecked?: boolean | undefined
586
+ defaultValue?: string | number | ReadonlyArray<string> | undefined
587
+ suppressContentEditableWarning?: boolean | undefined
588
+ suppressHydrationWarning?: boolean | undefined
589
+
590
+ // Standard HTML Attributes
591
+ accessKey?: string | undefined
592
+ className?: string | undefined
593
+ contentEditable?: Booleanish | "inherit" | undefined
594
+ contextMenu?: string | undefined
595
+ dir?: string | undefined
596
+ draggable?: Booleanish | undefined
597
+ hidden?: boolean | undefined
598
+ id?: string | undefined
599
+ lang?: string | undefined
600
+ placeholder?: string | undefined
601
+ slot?: string | undefined
602
+ spellCheck?: Booleanish | undefined
603
+ style?: CSSProperties | undefined
604
+ tabIndex?: number | undefined
605
+ title?: string | undefined
606
+ translate?: "yes" | "no" | undefined
607
+
608
+ // Unknown
609
+ radioGroup?: string | undefined // <command>
610
+
611
+ // WAI-ARIA
612
+ role?: AriaRole | undefined
613
+
614
+ // RDFa Attributes
615
+ about?: string | undefined
616
+ datatype?: string | undefined
617
+ inlist?: any
618
+ prefix?: string | undefined
619
+ property?: string | undefined
620
+ resource?: string | undefined
621
+ typeof?: string | undefined
622
+ vocab?: string | undefined
623
+
624
+ // Non-standard Attributes
625
+ autoCapitalize?: string | undefined
626
+ autoCorrect?: string | undefined
627
+ autoSave?: string | undefined
628
+ color?: string | undefined
629
+ itemProp?: string | undefined
630
+ itemScope?: boolean | undefined
631
+ itemType?: string | undefined
632
+ itemID?: string | undefined
633
+ itemRef?: string | undefined
634
+ results?: number | undefined
635
+ security?: string | undefined
636
+ unselectable?: "on" | "off" | undefined
637
+
638
+ // Living Standard
639
+ /**
640
+ * Hints at the type of data that might be entered by the user while editing the element or its contents
641
+ * @see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
642
+ */
643
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined
644
+ /**
645
+ * Specify that a standard HTML element should behave like a defined custom built-in element
646
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#attr-is
647
+ */
648
+ is?: string | undefined
649
+ }
650
+
651
+ export interface AllHTMLAttributes<T> extends HTMLAttributes<T> {
652
+ // Standard HTML Attributes
653
+ accept?: string | undefined
654
+ acceptCharset?: string | undefined
655
+ action?: string | undefined
656
+ allowFullScreen?: boolean | undefined
657
+ allowTransparency?: boolean | undefined
658
+ alt?: string | undefined
659
+ as?: string | undefined
660
+ async?: boolean | undefined
661
+ autoComplete?: string | undefined
662
+ autoFocus?: boolean | undefined
663
+ autoPlay?: boolean | undefined
664
+ capture?: boolean | "user" | "environment" | undefined
665
+ cellPadding?: number | string | undefined
666
+ cellSpacing?: number | string | undefined
667
+ charSet?: string | undefined
668
+ challenge?: string | undefined
669
+ checked?: boolean | undefined
670
+ cite?: string | undefined
671
+ classID?: string | undefined
672
+ cols?: number | undefined
673
+ colSpan?: number | undefined
674
+ content?: string | undefined
675
+ controls?: boolean | undefined
676
+ coords?: string | undefined
677
+ crossOrigin?: string | undefined
678
+ data?: string | undefined
679
+ dateTime?: string | undefined
680
+ default?: boolean | undefined
681
+ defer?: boolean | undefined
682
+ disabled?: boolean | undefined
683
+ download?: any
684
+ encType?: string | undefined
685
+ form?: string | undefined
686
+ formAction?: string | undefined
687
+ formEncType?: string | undefined
688
+ formMethod?: string | undefined
689
+ formNoValidate?: boolean | undefined
690
+ formTarget?: string | undefined
691
+ frameBorder?: number | string | undefined
692
+ headers?: string | undefined
693
+ height?: number | string | undefined
694
+ high?: number | undefined
695
+ href?: string | undefined
696
+ hrefLang?: string | undefined
697
+ htmlFor?: string | undefined
698
+ httpEquiv?: string | undefined
699
+ integrity?: string | undefined
700
+ keyParams?: string | undefined
701
+ keyType?: string | undefined
702
+ kind?: string | undefined
703
+ label?: string | undefined
704
+ list?: string | undefined
705
+ loop?: boolean | undefined
706
+ low?: number | undefined
707
+ manifest?: string | undefined
708
+ marginHeight?: number | undefined
709
+ marginWidth?: number | undefined
710
+ max?: number | string | undefined
711
+ maxLength?: number | undefined
712
+ media?: string | undefined
713
+ mediaGroup?: string | undefined
714
+ method?: string | undefined
715
+ min?: number | string | undefined
716
+ minLength?: number | undefined
717
+ multiple?: boolean | undefined
718
+ muted?: boolean | undefined
719
+ name?: string | undefined
720
+ nonce?: string | undefined
721
+ noValidate?: boolean | undefined
722
+ open?: boolean | undefined
723
+ optimum?: number | undefined
724
+ pattern?: string | undefined
725
+ placeholder?: string | undefined
726
+ playsInline?: boolean | undefined
727
+ poster?: string | undefined
728
+ preload?: string | undefined
729
+ readOnly?: boolean | undefined
730
+ rel?: string | undefined
731
+ required?: boolean | undefined
732
+ reversed?: boolean | undefined
733
+ rows?: number | undefined
734
+ rowSpan?: number | undefined
735
+ sandbox?: string | undefined
736
+ scope?: string | undefined
737
+ scoped?: boolean | undefined
738
+ scrolling?: string | undefined
739
+ seamless?: boolean | undefined
740
+ selected?: boolean | undefined
741
+ shape?: string | undefined
742
+ size?: number | undefined
743
+ sizes?: string | undefined
744
+ span?: number | undefined
745
+ src?: string | undefined
746
+ srcDoc?: string | undefined
747
+ srcLang?: string | undefined
748
+ srcSet?: string | undefined
749
+ start?: number | undefined
750
+ step?: number | string | undefined
751
+ summary?: string | undefined
752
+ target?: string | undefined
753
+ type?: string | undefined
754
+ useMap?: string | undefined
755
+ value?: string | ReadonlyArray<string> | number | undefined
756
+ width?: number | string | undefined
757
+ wmode?: string | undefined
758
+ wrap?: string | undefined
759
+ }
760
+
761
+ type HTMLAttributeReferrerPolicy =
762
+ | ""
763
+ | "no-referrer"
764
+ | "no-referrer-when-downgrade"
765
+ | "origin"
766
+ | "origin-when-cross-origin"
767
+ | "same-origin"
768
+ | "strict-origin"
769
+ | "strict-origin-when-cross-origin"
770
+ | "unsafe-url"
771
+
772
+ type HTMLAttributeAnchorTarget = "_self" | "_blank" | "_parent" | "_top" | (string & {})
773
+
774
+ export interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
775
+ download?: any
776
+ href?: string | undefined
777
+ hrefLang?: string | undefined
778
+ media?: string | undefined
779
+ ping?: string | undefined
780
+ rel?: string | undefined
781
+ target?: HTMLAttributeAnchorTarget | undefined
782
+ type?: string | undefined
783
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
784
+ }
785
+
786
+ export interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {}
787
+
788
+ export interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
789
+ alt?: string | undefined
790
+ coords?: string | undefined
791
+ download?: any
792
+ href?: string | undefined
793
+ hrefLang?: string | undefined
794
+ media?: string | undefined
795
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
796
+ rel?: string | undefined
797
+ shape?: string | undefined
798
+ target?: string | undefined
799
+ }
800
+
801
+ export interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
802
+ href?: string | undefined
803
+ target?: string | undefined
804
+ }
805
+
806
+ export interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
807
+ cite?: string | undefined
808
+ }
809
+
810
+ export interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
811
+ autoFocus?: boolean | undefined
812
+ disabled?: boolean | undefined
813
+ form?: string | undefined
814
+ formAction?: string | undefined
815
+ formEncType?: string | undefined
816
+ formMethod?: string | undefined
817
+ formNoValidate?: boolean | undefined
818
+ formTarget?: string | undefined
819
+ name?: string | undefined
820
+ type?: "submit" | "reset" | "button" | undefined
821
+ value?: string | ReadonlyArray<string> | number | undefined
822
+ }
823
+
824
+ export interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
825
+ height?: number | string | undefined
826
+ width?: number | string | undefined
827
+ }
828
+
829
+ export interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
830
+ span?: number | undefined
831
+ width?: number | string | undefined
832
+ }
833
+
834
+ export interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
835
+ span?: number | undefined
836
+ }
837
+
838
+ export interface DataHTMLAttributes<T> extends HTMLAttributes<T> {
839
+ value?: string | ReadonlyArray<string> | number | undefined
840
+ }
841
+
842
+ export interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
843
+ open?: boolean | undefined
844
+ onToggle?: ZagEventHandler<T> | undefined
845
+ }
846
+
847
+ export interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
848
+ cite?: string | undefined
849
+ dateTime?: string | undefined
850
+ }
851
+
852
+ export interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
853
+ onCancel?: ZagEventHandler<T> | undefined
854
+ onClose?: ZagEventHandler<T> | undefined
855
+ open?: boolean | undefined
856
+ }
857
+
858
+ export interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
859
+ height?: number | string | undefined
860
+ src?: string | undefined
861
+ type?: string | undefined
862
+ width?: number | string | undefined
863
+ }
864
+
865
+ export interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
866
+ disabled?: boolean | undefined
867
+ form?: string | undefined
868
+ name?: string | undefined
869
+ }
870
+
871
+ export interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
872
+ acceptCharset?: string | undefined
873
+ action?: string | undefined
874
+ autoComplete?: string | undefined
875
+ encType?: string | undefined
876
+ method?: string | undefined
877
+ name?: string | undefined
878
+ noValidate?: boolean | undefined
879
+ target?: string | undefined
880
+ }
881
+
882
+ export interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
883
+ manifest?: string | undefined
884
+ }
885
+
886
+ export interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
887
+ allow?: string | undefined
888
+ allowFullScreen?: boolean | undefined
889
+ allowTransparency?: boolean | undefined
890
+ /** @deprecated */
891
+ frameBorder?: number | string | undefined
892
+ height?: number | string | undefined
893
+ loading?: "eager" | "lazy" | undefined
894
+ /** @deprecated */
895
+ marginHeight?: number | undefined
896
+ /** @deprecated */
897
+ marginWidth?: number | undefined
898
+ name?: string | undefined
899
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
900
+ sandbox?: string | undefined
901
+ /** @deprecated */
902
+ scrolling?: string | undefined
903
+ seamless?: boolean | undefined
904
+ src?: string | undefined
905
+ srcDoc?: string | undefined
906
+ width?: number | string | undefined
907
+ }
908
+
909
+ export interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
910
+ alt?: string | undefined
911
+ crossOrigin?: "anonymous" | "use-credentials" | "" | undefined
912
+ decoding?: "async" | "auto" | "sync" | undefined
913
+ height?: number | string | undefined
914
+ loading?: "eager" | "lazy" | undefined
915
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
916
+ sizes?: string | undefined
917
+ src?: string | undefined
918
+ srcSet?: string | undefined
919
+ useMap?: string | undefined
920
+ width?: number | string | undefined
921
+ }
922
+
923
+ export interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
924
+ cite?: string | undefined
925
+ dateTime?: string | undefined
926
+ }
927
+
928
+ type HTMLInputTypeAttribute =
929
+ | "button"
930
+ | "checkbox"
931
+ | "color"
932
+ | "date"
933
+ | "datetime-local"
934
+ | "email"
935
+ | "file"
936
+ | "hidden"
937
+ | "image"
938
+ | "month"
939
+ | "number"
940
+ | "password"
941
+ | "radio"
942
+ | "range"
943
+ | "reset"
944
+ | "search"
945
+ | "submit"
946
+ | "tel"
947
+ | "text"
948
+ | "time"
949
+ | "url"
950
+ | "week"
951
+ | (string & {})
952
+
953
+ export interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
954
+ accept?: string | undefined
955
+ alt?: string | undefined
956
+ autoComplete?: string | undefined
957
+ autoFocus?: boolean | undefined
958
+ capture?: boolean | "user" | "environment" | undefined // https://www.w3.org/TR/html-media-capture/#the-capture-attribute
959
+ checked?: boolean | undefined
960
+ crossOrigin?: string | undefined
961
+ disabled?: boolean | undefined
962
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined
963
+ form?: string | undefined
964
+ formAction?: string | undefined
965
+ formEncType?: string | undefined
966
+ formMethod?: string | undefined
967
+ formNoValidate?: boolean | undefined
968
+ formTarget?: string | undefined
969
+ height?: number | string | undefined
970
+ list?: string | undefined
971
+ max?: number | string | undefined
972
+ maxLength?: number | undefined
973
+ min?: number | string | undefined
974
+ minLength?: number | undefined
975
+ multiple?: boolean | undefined
976
+ name?: string | undefined
977
+ pattern?: string | undefined
978
+ placeholder?: string | undefined
979
+ readOnly?: boolean | undefined
980
+ required?: boolean | undefined
981
+ size?: number | undefined
982
+ src?: string | undefined
983
+ step?: number | string | undefined
984
+ type?: HTMLInputTypeAttribute | undefined
985
+ value?: string | ReadonlyArray<string> | number | undefined
986
+ width?: number | string | undefined
987
+
988
+ onChange?: ChangeEventHandler<T> | undefined
989
+ }
990
+
991
+ export interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
992
+ autoFocus?: boolean | undefined
993
+ challenge?: string | undefined
994
+ disabled?: boolean | undefined
995
+ form?: string | undefined
996
+ keyType?: string | undefined
997
+ keyParams?: string | undefined
998
+ name?: string | undefined
999
+ }
1000
+
1001
+ export interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1002
+ form?: string | undefined
1003
+ htmlFor?: string | undefined
1004
+ }
1005
+
1006
+ export interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1007
+ value?: string | ReadonlyArray<string> | number | undefined
1008
+ }
1009
+
1010
+ export interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1011
+ as?: string | undefined
1012
+ crossOrigin?: string | undefined
1013
+ href?: string | undefined
1014
+ hrefLang?: string | undefined
1015
+ integrity?: string | undefined
1016
+ media?: string | undefined
1017
+ imageSrcSet?: string | undefined
1018
+ imageSizes?: string | undefined
1019
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
1020
+ rel?: string | undefined
1021
+ sizes?: string | undefined
1022
+ type?: string | undefined
1023
+ charSet?: string | undefined
1024
+ }
1025
+
1026
+ export interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1027
+ name?: string | undefined
1028
+ }
1029
+
1030
+ export interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1031
+ type?: string | undefined
1032
+ }
1033
+
1034
+ export interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1035
+ autoPlay?: boolean | undefined
1036
+ controls?: boolean | undefined
1037
+ controlsList?: string | undefined
1038
+ crossOrigin?: string | undefined
1039
+ loop?: boolean | undefined
1040
+ mediaGroup?: string | undefined
1041
+ muted?: boolean | undefined
1042
+ playsInline?: boolean | undefined
1043
+ preload?: string | undefined
1044
+ src?: string | undefined
1045
+ }
1046
+
1047
+ export interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1048
+ charSet?: string | undefined
1049
+ content?: string | undefined
1050
+ httpEquiv?: string | undefined
1051
+ name?: string | undefined
1052
+ media?: string | undefined
1053
+ }
1054
+
1055
+ export interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1056
+ form?: string | undefined
1057
+ high?: number | undefined
1058
+ low?: number | undefined
1059
+ max?: number | string | undefined
1060
+ min?: number | string | undefined
1061
+ optimum?: number | undefined
1062
+ value?: string | ReadonlyArray<string> | number | undefined
1063
+ }
1064
+
1065
+ export interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1066
+ cite?: string | undefined
1067
+ }
1068
+
1069
+ export interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1070
+ classID?: string | undefined
1071
+ data?: string | undefined
1072
+ form?: string | undefined
1073
+ height?: number | string | undefined
1074
+ name?: string | undefined
1075
+ type?: string | undefined
1076
+ useMap?: string | undefined
1077
+ width?: number | string | undefined
1078
+ wmode?: string | undefined
1079
+ }
1080
+
1081
+ export interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1082
+ reversed?: boolean | undefined
1083
+ start?: number | undefined
1084
+ type?: "1" | "a" | "A" | "i" | "I" | undefined
1085
+ }
1086
+
1087
+ export interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1088
+ disabled?: boolean | undefined
1089
+ label?: string | undefined
1090
+ }
1091
+
1092
+ export interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1093
+ disabled?: boolean | undefined
1094
+ label?: string | undefined
1095
+ selected?: boolean | undefined
1096
+ value?: string | ReadonlyArray<string> | number | undefined
1097
+ }
1098
+
1099
+ export interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1100
+ form?: string | undefined
1101
+ htmlFor?: string | undefined
1102
+ name?: string | undefined
1103
+ }
1104
+
1105
+ export interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1106
+ name?: string | undefined
1107
+ value?: string | ReadonlyArray<string> | number | undefined
1108
+ }
1109
+
1110
+ export interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1111
+ max?: number | string | undefined
1112
+ value?: string | ReadonlyArray<string> | number | undefined
1113
+ }
1114
+
1115
+ export interface SlotHTMLAttributes<T> extends HTMLAttributes<T> {
1116
+ name?: string | undefined
1117
+ }
1118
+
1119
+ export interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1120
+ async?: boolean | undefined
1121
+ /** @deprecated */
1122
+ charSet?: string | undefined
1123
+ crossOrigin?: string | undefined
1124
+ defer?: boolean | undefined
1125
+ integrity?: string | undefined
1126
+ noModule?: boolean | undefined
1127
+ nonce?: string | undefined
1128
+ referrerPolicy?: HTMLAttributeReferrerPolicy | undefined
1129
+ src?: string | undefined
1130
+ type?: string | undefined
1131
+ }
1132
+
1133
+ export interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1134
+ autoComplete?: string | undefined
1135
+ autoFocus?: boolean | undefined
1136
+ disabled?: boolean | undefined
1137
+ form?: string | undefined
1138
+ multiple?: boolean | undefined
1139
+ name?: string | undefined
1140
+ required?: boolean | undefined
1141
+ size?: number | undefined
1142
+ value?: string | ReadonlyArray<string> | number | undefined
1143
+ onChange?: ChangeEventHandler<T> | undefined
1144
+ }
1145
+
1146
+ export interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1147
+ height?: number | string | undefined
1148
+ media?: string | undefined
1149
+ sizes?: string | undefined
1150
+ src?: string | undefined
1151
+ srcSet?: string | undefined
1152
+ type?: string | undefined
1153
+ width?: number | string | undefined
1154
+ }
1155
+
1156
+ export interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1157
+ media?: string | undefined
1158
+ nonce?: string | undefined
1159
+ scoped?: boolean | undefined
1160
+ type?: string | undefined
1161
+ }
1162
+
1163
+ export interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
1164
+ align?: "left" | "center" | "right" | undefined
1165
+ bgcolor?: string | undefined
1166
+ border?: number | undefined
1167
+ cellPadding?: number | string | undefined
1168
+ cellSpacing?: number | string | undefined
1169
+ frame?: boolean | undefined
1170
+ rules?: "none" | "groups" | "rows" | "columns" | "all" | undefined
1171
+ summary?: string | undefined
1172
+ width?: number | string | undefined
1173
+ }
1174
+
1175
+ export interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1176
+ autoComplete?: string | undefined
1177
+ autoFocus?: boolean | undefined
1178
+ cols?: number | undefined
1179
+ dirName?: string | undefined
1180
+ disabled?: boolean | undefined
1181
+ form?: string | undefined
1182
+ maxLength?: number | undefined
1183
+ minLength?: number | undefined
1184
+ name?: string | undefined
1185
+ placeholder?: string | undefined
1186
+ readOnly?: boolean | undefined
1187
+ required?: boolean | undefined
1188
+ rows?: number | undefined
1189
+ value?: string | ReadonlyArray<string> | number | undefined
1190
+ wrap?: string | undefined
1191
+
1192
+ onChange?: ChangeEventHandler<T> | undefined
1193
+ }
1194
+
1195
+ export interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1196
+ align?: "left" | "center" | "right" | "justify" | "char" | undefined
1197
+ colSpan?: number | undefined
1198
+ headers?: string | undefined
1199
+ rowSpan?: number | undefined
1200
+ scope?: string | undefined
1201
+ abbr?: string | undefined
1202
+ height?: number | string | undefined
1203
+ width?: number | string | undefined
1204
+ valign?: "top" | "middle" | "bottom" | "baseline" | undefined
1205
+ }
1206
+
1207
+ export interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1208
+ align?: "left" | "center" | "right" | "justify" | "char" | undefined
1209
+ colSpan?: number | undefined
1210
+ headers?: string | undefined
1211
+ rowSpan?: number | undefined
1212
+ scope?: string | undefined
1213
+ abbr?: string | undefined
1214
+ }
1215
+
1216
+ export interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1217
+ dateTime?: string | undefined
1218
+ }
1219
+
1220
+ export interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1221
+ default?: boolean | undefined
1222
+ kind?: string | undefined
1223
+ label?: string | undefined
1224
+ src?: string | undefined
1225
+ srcLang?: string | undefined
1226
+ }
1227
+
1228
+ export interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1229
+ height?: number | string | undefined
1230
+ playsInline?: boolean | undefined
1231
+ poster?: string | undefined
1232
+ width?: number | string | undefined
1233
+ disablePictureInPicture?: boolean | undefined
1234
+ disableRemotePlayback?: boolean | undefined
1235
+ }
1236
+
1237
+ export interface IntrinsicElements {
1238
+ // HTML
1239
+ a: AnchorHTMLAttributes<HTMLAnchorElement>
1240
+ abbr: HTMLAttributes<HTMLElement>
1241
+ address: HTMLAttributes<HTMLElement>
1242
+ area: AreaHTMLAttributes<HTMLAreaElement>
1243
+ article: HTMLAttributes<HTMLElement>
1244
+ aside: HTMLAttributes<HTMLElement>
1245
+ audio: AudioHTMLAttributes<HTMLAudioElement>
1246
+ b: HTMLAttributes<HTMLElement>
1247
+ base: BaseHTMLAttributes<HTMLBaseElement>
1248
+ bdi: HTMLAttributes<HTMLElement>
1249
+ bdo: HTMLAttributes<HTMLElement>
1250
+ big: HTMLAttributes<HTMLElement>
1251
+ blockquote: BlockquoteHTMLAttributes<HTMLQuoteElement>
1252
+ body: HTMLAttributes<HTMLBodyElement>
1253
+ br: HTMLAttributes<HTMLBRElement>
1254
+ button: ButtonHTMLAttributes<HTMLButtonElement>
1255
+ canvas: CanvasHTMLAttributes<HTMLCanvasElement>
1256
+ caption: HTMLAttributes<HTMLElement>
1257
+ cite: HTMLAttributes<HTMLElement>
1258
+ code: HTMLAttributes<HTMLElement>
1259
+ col: ColHTMLAttributes<HTMLTableColElement>
1260
+ colgroup: ColgroupHTMLAttributes<HTMLTableColElement>
1261
+ data: DataHTMLAttributes<HTMLDataElement>
1262
+ datalist: HTMLAttributes<HTMLDataListElement>
1263
+ dd: HTMLAttributes<HTMLElement>
1264
+ del: DelHTMLAttributes<HTMLModElement>
1265
+ details: DetailsHTMLAttributes<HTMLDetailsElement>
1266
+ dfn: HTMLAttributes<HTMLElement>
1267
+ dialog: DialogHTMLAttributes<HTMLDialogElement>
1268
+ div: HTMLAttributes<HTMLDivElement>
1269
+ dl: HTMLAttributes<HTMLDListElement>
1270
+ dt: HTMLAttributes<HTMLElement>
1271
+ em: HTMLAttributes<HTMLElement>
1272
+ embed: EmbedHTMLAttributes<HTMLEmbedElement>
1273
+ fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>
1274
+ figcaption: HTMLAttributes<HTMLElement>
1275
+ figure: HTMLAttributes<HTMLElement>
1276
+ footer: HTMLAttributes<HTMLElement>
1277
+ form: FormHTMLAttributes<HTMLFormElement>
1278
+ h1: HTMLAttributes<HTMLHeadingElement>
1279
+ h2: HTMLAttributes<HTMLHeadingElement>
1280
+ h3: HTMLAttributes<HTMLHeadingElement>
1281
+ h4: HTMLAttributes<HTMLHeadingElement>
1282
+ h5: HTMLAttributes<HTMLHeadingElement>
1283
+ h6: HTMLAttributes<HTMLHeadingElement>
1284
+ head: HTMLAttributes<HTMLHeadElement>
1285
+ header: HTMLAttributes<HTMLElement>
1286
+ hgroup: HTMLAttributes<HTMLElement>
1287
+ hr: HTMLAttributes<HTMLHRElement>
1288
+ html: HtmlHTMLAttributes<HTMLHtmlElement>
1289
+ i: HTMLAttributes<HTMLElement>
1290
+ iframe: IframeHTMLAttributes<HTMLIFrameElement>
1291
+ img: ImgHTMLAttributes<HTMLImageElement>
1292
+ input: InputHTMLAttributes<HTMLInputElement>
1293
+ ins: InsHTMLAttributes<HTMLModElement>
1294
+ kbd: HTMLAttributes<HTMLElement>
1295
+ keygen: KeygenHTMLAttributes<HTMLElement>
1296
+ label: LabelHTMLAttributes<HTMLLabelElement>
1297
+ legend: HTMLAttributes<HTMLLegendElement>
1298
+ li: LiHTMLAttributes<HTMLLIElement>
1299
+ link: LinkHTMLAttributes<HTMLLinkElement>
1300
+ main: HTMLAttributes<HTMLElement>
1301
+ map: MapHTMLAttributes<HTMLMapElement>
1302
+ mark: HTMLAttributes<HTMLElement>
1303
+ menu: MenuHTMLAttributes<HTMLElement>
1304
+ menuitem: HTMLAttributes<HTMLElement>
1305
+ meta: MetaHTMLAttributes<HTMLMetaElement>
1306
+ meter: MeterHTMLAttributes<HTMLMeterElement>
1307
+ nav: HTMLAttributes<HTMLElement>
1308
+ noindex: HTMLAttributes<HTMLElement>
1309
+ noscript: HTMLAttributes<HTMLElement>
1310
+ object: ObjectHTMLAttributes<HTMLObjectElement>
1311
+ ol: OlHTMLAttributes<HTMLOListElement>
1312
+ optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>
1313
+ option: OptionHTMLAttributes<HTMLOptionElement>
1314
+ output: OutputHTMLAttributes<HTMLOutputElement>
1315
+ p: HTMLAttributes<HTMLParagraphElement>
1316
+ param: ParamHTMLAttributes<HTMLParamElement>
1317
+ picture: HTMLAttributes<HTMLElement>
1318
+ pre: HTMLAttributes<HTMLPreElement>
1319
+ progress: ProgressHTMLAttributes<HTMLProgressElement>
1320
+ q: QuoteHTMLAttributes<HTMLQuoteElement>
1321
+ rp: HTMLAttributes<HTMLElement>
1322
+ rt: HTMLAttributes<HTMLElement>
1323
+ ruby: HTMLAttributes<HTMLElement>
1324
+ s: HTMLAttributes<HTMLElement>
1325
+ samp: HTMLAttributes<HTMLElement>
1326
+ slot: SlotHTMLAttributes<HTMLSlotElement>
1327
+ script: ScriptHTMLAttributes<HTMLScriptElement>
1328
+ section: HTMLAttributes<HTMLElement>
1329
+ select: SelectHTMLAttributes<HTMLSelectElement>
1330
+ small: HTMLAttributes<HTMLElement>
1331
+ source: SourceHTMLAttributes<HTMLSourceElement>
1332
+ span: HTMLAttributes<HTMLSpanElement>
1333
+ strong: HTMLAttributes<HTMLElement>
1334
+ style: StyleHTMLAttributes<HTMLStyleElement>
1335
+ sub: HTMLAttributes<HTMLElement>
1336
+ summary: HTMLAttributes<HTMLElement>
1337
+ sup: HTMLAttributes<HTMLElement>
1338
+ table: TableHTMLAttributes<HTMLTableElement>
1339
+ template: HTMLAttributes<HTMLTemplateElement>
1340
+ tbody: HTMLAttributes<HTMLTableSectionElement>
1341
+ td: TdHTMLAttributes<HTMLTableDataCellElement>
1342
+ textarea: TextareaHTMLAttributes<HTMLTextAreaElement>
1343
+ tfoot: HTMLAttributes<HTMLTableSectionElement>
1344
+ th: ThHTMLAttributes<HTMLTableHeaderCellElement>
1345
+ thead: HTMLAttributes<HTMLTableSectionElement>
1346
+ time: TimeHTMLAttributes<HTMLTimeElement>
1347
+ title: HTMLAttributes<HTMLTitleElement>
1348
+ tr: HTMLAttributes<HTMLTableRowElement>
1349
+ track: TrackHTMLAttributes<HTMLTrackElement>
1350
+ u: HTMLAttributes<HTMLElement>
1351
+ ul: HTMLAttributes<HTMLUListElement>
1352
+ var: HTMLAttributes<HTMLElement>
1353
+ video: VideoHTMLAttributes<HTMLVideoElement>
1354
+ }
1355
+ }