@praxisjs/jsx 0.5.4 → 0.6.1
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/CHANGELOG.md +62 -0
- package/dist/__tests__/jsx-runtime.types.test.js +89 -0
- package/dist/__tests__/jsx-runtime.types.test.js.map +1 -1
- package/dist/dom-types.d.ts +348 -235
- package/dist/dom-types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/jsx-runtime.types.test.ts +193 -0
- package/src/dom-types.ts +360 -242
- package/src/index.ts +1 -0
package/src/dom-types.ts
CHANGED
|
@@ -14,7 +14,7 @@ export type Booleanish = boolean | "true" | "false";
|
|
|
14
14
|
* Widens a string literal union so that any `string` value is assignable
|
|
15
15
|
* while IDE autocomplete still suggests the known members.
|
|
16
16
|
*/
|
|
17
|
-
type LiteralUnion<T extends string> = T | (string & {});
|
|
17
|
+
export type LiteralUnion<T extends string> = T | (string & {});
|
|
18
18
|
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
20
20
|
// Attribute value enumerations
|
|
@@ -66,9 +66,9 @@ export type ReferrerPolicy = LiteralUnion<
|
|
|
66
66
|
| "strict-origin-when-cross-origin"
|
|
67
67
|
| "unsafe-url"
|
|
68
68
|
>;
|
|
69
|
-
export type CrossOrigin = "anonymous" | "use-credentials" | ""
|
|
70
|
-
export type Decoding = "async" | "sync" | "auto"
|
|
71
|
-
export type Loading = "eager" | "lazy"
|
|
69
|
+
export type CrossOrigin = LiteralUnion<"anonymous" | "use-credentials" | "">;
|
|
70
|
+
export type Decoding = LiteralUnion<"async" | "sync" | "auto">;
|
|
71
|
+
export type Loading = LiteralUnion<"eager" | "lazy">;
|
|
72
72
|
export type Dir = LiteralUnion<"ltr" | "rtl" | "auto">;
|
|
73
73
|
export type AutoCapitalize = LiteralUnion<
|
|
74
74
|
"off" | "none" | "on" | "sentences" | "words" | "characters"
|
|
@@ -109,55 +109,61 @@ export type CSSProperties = {
|
|
|
109
109
|
|
|
110
110
|
export interface AriaAttributes {
|
|
111
111
|
/** Identifies the currently active element when DOM focus is on a composite widget, combobox, textbox, group, or application. */
|
|
112
|
-
"aria-activedescendant"?: string
|
|
112
|
+
"aria-activedescendant"?: Reactive<string>;
|
|
113
113
|
/** 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. */
|
|
114
114
|
"aria-atomic"?: Reactive<Booleanish>;
|
|
115
|
+
/** Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for a combobox, searchbox, or textbox and specifies how predictions would be presented. */
|
|
116
|
+
"aria-autocomplete"?: Reactive<LiteralUnion<"none" | "inline" | "list" | "both">>;
|
|
115
117
|
/** Indicates an element's "busy" status. */
|
|
116
118
|
"aria-busy"?: Reactive<Booleanish>;
|
|
117
119
|
/** Indicates the current "checked" state of checkboxes, radio buttons, and other widgets. */
|
|
118
|
-
"aria-checked"?: Reactive<
|
|
120
|
+
"aria-checked"?: Reactive<Booleanish | LiteralUnion<"mixed">>;
|
|
119
121
|
/** Defines the total number of columns in a table, grid, or treegrid. */
|
|
120
|
-
"aria-colcount"?: number
|
|
122
|
+
"aria-colcount"?: Reactive<number>;
|
|
121
123
|
/** Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid. */
|
|
122
|
-
"aria-colindex"?: number
|
|
124
|
+
"aria-colindex"?: Reactive<number>;
|
|
123
125
|
/** Defines a human readable text alternative of aria-colindex. */
|
|
124
|
-
"aria-colindextext"?: string
|
|
126
|
+
"aria-colindextext"?: Reactive<string>;
|
|
125
127
|
/** Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid. */
|
|
126
|
-
"aria-colspan"?: number
|
|
128
|
+
"aria-colspan"?: Reactive<number>;
|
|
127
129
|
/** Identifies the element(s) whose contents or presence are controlled by the current element. */
|
|
128
|
-
"aria-controls"?: string
|
|
130
|
+
"aria-controls"?: Reactive<string>;
|
|
129
131
|
/** Indicates the element that represents the current item within a container or set of related elements. */
|
|
130
132
|
"aria-current"?: Reactive<
|
|
131
|
-
Booleanish | "page" | "step" | "location" | "date" | "time"
|
|
133
|
+
Booleanish | LiteralUnion<"page" | "step" | "location" | "date" | "time">
|
|
132
134
|
>;
|
|
133
135
|
/** Identifies the element(s) that describes the object. */
|
|
134
|
-
"aria-describedby"?: string
|
|
136
|
+
"aria-describedby"?: Reactive<string>;
|
|
135
137
|
/** Defines a string value that describes or annotates the current element. */
|
|
136
|
-
"aria-description"?: string
|
|
138
|
+
"aria-description"?: Reactive<string>;
|
|
137
139
|
/** Identifies the element that provides a detailed, extended description for the object. */
|
|
138
|
-
"aria-details"?: string
|
|
140
|
+
"aria-details"?: Reactive<string>;
|
|
139
141
|
/** Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable. */
|
|
140
142
|
"aria-disabled"?: Reactive<Booleanish>;
|
|
143
|
+
/** Identifies the element that provides an error message for the current element. */
|
|
144
|
+
"aria-errormessage"?: Reactive<string>;
|
|
145
|
+
/** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
|
|
146
|
+
"aria-expanded"?: Reactive<Booleanish>;
|
|
141
147
|
/** Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion, allows assistive technology to override the general default of reading in document source order. */
|
|
142
|
-
"aria-flowto"?: string
|
|
148
|
+
"aria-flowto"?: Reactive<string>;
|
|
143
149
|
/** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
|
|
144
150
|
"aria-haspopup"?: Reactive<
|
|
145
|
-
Booleanish | "menu" | "listbox" | "tree" | "grid" | "dialog"
|
|
151
|
+
Booleanish | LiteralUnion<"menu" | "listbox" | "tree" | "grid" | "dialog">
|
|
146
152
|
>;
|
|
147
153
|
/** Indicates whether the element is exposed to an accessibility API. */
|
|
148
154
|
"aria-hidden"?: Reactive<Booleanish>;
|
|
149
155
|
/** Indicates the entered value does not conform to the format expected by the application. */
|
|
150
|
-
"aria-invalid"?: Reactive<Booleanish | "grammar" | "spelling"
|
|
156
|
+
"aria-invalid"?: Reactive<Booleanish | LiteralUnion<"grammar" | "spelling">>;
|
|
151
157
|
/** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
|
|
152
|
-
"aria-keyshortcuts"?: string
|
|
158
|
+
"aria-keyshortcuts"?: Reactive<string>;
|
|
153
159
|
/** Defines a string value that labels the current element. */
|
|
154
160
|
"aria-label"?: Reactive<string>;
|
|
155
161
|
/** Identifies the element(s) that labels the current element. */
|
|
156
|
-
"aria-labelledby"?: string
|
|
162
|
+
"aria-labelledby"?: Reactive<string>;
|
|
157
163
|
/** Defines the hierarchical level of an element within a structure. */
|
|
158
|
-
"aria-level"?: number
|
|
164
|
+
"aria-level"?: Reactive<number>;
|
|
159
165
|
/** 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. */
|
|
160
|
-
"aria-live"?: Reactive<"off" | "assertive" | "polite"
|
|
166
|
+
"aria-live"?: Reactive<LiteralUnion<"off" | "assertive" | "polite">>;
|
|
161
167
|
/** Indicates whether an element is modal when displayed. */
|
|
162
168
|
"aria-modal"?: Reactive<Booleanish>;
|
|
163
169
|
/** Indicates whether a text box accepts multiple lines of input or only a single line. */
|
|
@@ -165,19 +171,19 @@ export interface AriaAttributes {
|
|
|
165
171
|
/** Indicates that the user may select more than one item from the current selectable descendants. */
|
|
166
172
|
"aria-multiselectable"?: Reactive<Booleanish>;
|
|
167
173
|
/** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
|
|
168
|
-
"aria-orientation"?: "horizontal" | "vertical"
|
|
174
|
+
"aria-orientation"?: Reactive<LiteralUnion<"horizontal" | "vertical">>;
|
|
169
175
|
/** Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship between DOM elements where the DOM hierarchy cannot be used to represent the relationship. */
|
|
170
|
-
"aria-owns"?: string
|
|
176
|
+
"aria-owns"?: Reactive<string>;
|
|
171
177
|
/** Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value. */
|
|
172
|
-
"aria-placeholder"?: string
|
|
178
|
+
"aria-placeholder"?: Reactive<string>;
|
|
173
179
|
/** 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. */
|
|
174
|
-
"aria-posinset"?: number
|
|
180
|
+
"aria-posinset"?: Reactive<number>;
|
|
175
181
|
/** Indicates the current "pressed" state of toggle buttons. */
|
|
176
|
-
"aria-pressed"?: Reactive<
|
|
182
|
+
"aria-pressed"?: Reactive<Booleanish | LiteralUnion<"mixed">>;
|
|
177
183
|
/** Indicates that the element is not editable, but is otherwise operable. */
|
|
178
184
|
"aria-readonly"?: Reactive<Booleanish>;
|
|
179
185
|
/** Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified. */
|
|
180
|
-
"aria-relevant"?: Reactive<
|
|
186
|
+
"aria-relevant"?: Reactive<LiteralUnion<
|
|
181
187
|
| "additions"
|
|
182
188
|
| "additions removals"
|
|
183
189
|
| "additions text"
|
|
@@ -188,35 +194,35 @@ export interface AriaAttributes {
|
|
|
188
194
|
| "text"
|
|
189
195
|
| "text additions"
|
|
190
196
|
| "text removals"
|
|
191
|
-
|
|
197
|
+
>>;
|
|
192
198
|
/** Indicates that user input is required on the element before a form may be submitted. */
|
|
193
199
|
"aria-required"?: Reactive<Booleanish>;
|
|
194
200
|
/** Defines a human-readable, author-localized description for the role of an element. */
|
|
195
|
-
"aria-roledescription"?: string
|
|
201
|
+
"aria-roledescription"?: Reactive<string>;
|
|
196
202
|
/** Defines the total number of rows in a table, grid, or treegrid. */
|
|
197
|
-
"aria-rowcount"?: number
|
|
203
|
+
"aria-rowcount"?: Reactive<number>;
|
|
198
204
|
/** Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid. */
|
|
199
|
-
"aria-rowindex"?: number
|
|
205
|
+
"aria-rowindex"?: Reactive<number>;
|
|
200
206
|
/** Defines a human readable text alternative of aria-rowindex. */
|
|
201
|
-
"aria-rowindextext"?: string
|
|
207
|
+
"aria-rowindextext"?: Reactive<string>;
|
|
202
208
|
/** Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid. */
|
|
203
|
-
"aria-rowspan"?: number
|
|
209
|
+
"aria-rowspan"?: Reactive<number>;
|
|
204
210
|
/** Indicates the current "selected" state of various widgets. */
|
|
205
211
|
"aria-selected"?: Reactive<Booleanish>;
|
|
206
212
|
/** 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. */
|
|
207
|
-
"aria-setsize"?: number
|
|
213
|
+
"aria-setsize"?: Reactive<number>;
|
|
208
214
|
/** Indicates if items in a table or grid are sorted in ascending or descending order. */
|
|
209
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other"
|
|
215
|
+
"aria-sort"?: Reactive<LiteralUnion<"none" | "ascending" | "descending" | "other">>;
|
|
210
216
|
/** Defines the maximum allowed value for a range widget. */
|
|
211
|
-
"aria-valuemax"?: number
|
|
217
|
+
"aria-valuemax"?: Reactive<number>;
|
|
212
218
|
/** Defines the minimum allowed value for a range widget. */
|
|
213
|
-
"aria-valuemin"?: number
|
|
219
|
+
"aria-valuemin"?: Reactive<number>;
|
|
214
220
|
/** Defines the current value for a range widget. */
|
|
215
|
-
"aria-valuenow"?: number
|
|
221
|
+
"aria-valuenow"?: Reactive<number>;
|
|
216
222
|
/** Defines the human readable text alternative of aria-valuenow for a range widget. */
|
|
217
|
-
"aria-valuetext"?: string
|
|
223
|
+
"aria-valuetext"?: Reactive<string>;
|
|
218
224
|
/** Defines the ARIA role of the element. */
|
|
219
|
-
role?: LiteralUnion<
|
|
225
|
+
role?: Reactive<LiteralUnion<
|
|
220
226
|
| "alert"
|
|
221
227
|
| "alertdialog"
|
|
222
228
|
| "application"
|
|
@@ -288,7 +294,7 @@ export interface AriaAttributes {
|
|
|
288
294
|
| "tree"
|
|
289
295
|
| "treegrid"
|
|
290
296
|
| "treeitem"
|
|
291
|
-
|
|
297
|
+
>>;
|
|
292
298
|
}
|
|
293
299
|
|
|
294
300
|
// ---------------------------------------------------------------------------
|
|
@@ -314,6 +320,10 @@ export interface DOMAttributes<T extends EventTarget = EventTarget> {
|
|
|
314
320
|
onMouseEnter?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
315
321
|
onMouseLeave?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
316
322
|
onMouseMove?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
323
|
+
/** Fires when the pointer moves over an element or its children (bubbles). */
|
|
324
|
+
onMouseOver?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
325
|
+
/** Fires when the pointer moves out of an element or its children (bubbles). */
|
|
326
|
+
onMouseOut?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
317
327
|
onContextMenu?: (e: NativeEventOf<MouseEvent, T>) => void;
|
|
318
328
|
// Keyboard
|
|
319
329
|
onKeyDown?: (e: NativeEventOf<KeyboardEvent, T>) => void;
|
|
@@ -323,23 +333,52 @@ export interface DOMAttributes<T extends EventTarget = EventTarget> {
|
|
|
323
333
|
// Focus
|
|
324
334
|
onFocus?: (e: NativeEventOf<FocusEvent, T>) => void;
|
|
325
335
|
onBlur?: (e: NativeEventOf<FocusEvent, T>) => void;
|
|
326
|
-
//
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
336
|
+
// Pointer
|
|
337
|
+
onPointerDown?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
338
|
+
onPointerUp?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
339
|
+
onPointerMove?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
340
|
+
onPointerEnter?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
341
|
+
onPointerLeave?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
342
|
+
onPointerOver?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
343
|
+
onPointerOut?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
344
|
+
onPointerCancel?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
345
|
+
onGotPointerCapture?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
346
|
+
onLostPointerCapture?: (e: NativeEventOf<PointerEvent, T>) => void;
|
|
347
|
+
// Touch
|
|
348
|
+
onTouchStart?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
349
|
+
onTouchEnd?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
350
|
+
onTouchMove?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
331
351
|
// Drag
|
|
352
|
+
onDrag?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
332
353
|
onDragStart?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
333
354
|
onDragEnd?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
355
|
+
onDragEnter?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
356
|
+
onDragLeave?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
334
357
|
onDragOver?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
335
358
|
onDrop?: (e: NativeEventOf<DragEvent, T>) => void;
|
|
336
|
-
// Touch
|
|
337
|
-
onTouchStart?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
338
|
-
onTouchEnd?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
339
|
-
onTouchMove?: (e: NativeEventOf<TouchEvent, T>) => void;
|
|
340
359
|
// Scroll / Wheel
|
|
341
360
|
onScroll?: (e: NativeEventOf<Event, T>) => void;
|
|
361
|
+
onScrollEnd?: (e: NativeEventOf<Event, T>) => void;
|
|
342
362
|
onWheel?: (e: NativeEventOf<WheelEvent, T>) => void;
|
|
363
|
+
// Form
|
|
364
|
+
onChange?: (e: NativeEventOf<Event, T>) => void;
|
|
365
|
+
onInput?: (e: NativeEventOf<InputEvent, T>) => void;
|
|
366
|
+
onBeforeInput?: (e: NativeEventOf<InputEvent, T>) => void;
|
|
367
|
+
onSubmit?: (e: NativeEventOf<SubmitEvent, T>) => void;
|
|
368
|
+
onReset?: (e: NativeEventOf<Event, T>) => void;
|
|
369
|
+
onSelect?: (e: NativeEventOf<Event, T>) => void;
|
|
370
|
+
onInvalid?: (e: NativeEventOf<Event, T>) => void;
|
|
371
|
+
// Clipboard
|
|
372
|
+
onCopy?: (e: NativeEventOf<ClipboardEvent, T>) => void;
|
|
373
|
+
onCut?: (e: NativeEventOf<ClipboardEvent, T>) => void;
|
|
374
|
+
onPaste?: (e: NativeEventOf<ClipboardEvent, T>) => void;
|
|
375
|
+
// Composition (IME)
|
|
376
|
+
onCompositionStart?: (e: NativeEventOf<CompositionEvent, T>) => void;
|
|
377
|
+
onCompositionUpdate?: (e: NativeEventOf<CompositionEvent, T>) => void;
|
|
378
|
+
onCompositionEnd?: (e: NativeEventOf<CompositionEvent, T>) => void;
|
|
379
|
+
// Resource
|
|
380
|
+
onLoad?: (e: NativeEventOf<Event, T>) => void;
|
|
381
|
+
onError?: (e: NativeEventOf<Event, T>) => void;
|
|
343
382
|
// Animation / Transition
|
|
344
383
|
onAnimationEnd?: (e: NativeEventOf<AnimationEvent, T>) => void;
|
|
345
384
|
onTransitionEnd?: (e: NativeEventOf<TransitionEvent, T>) => void;
|
|
@@ -361,14 +400,29 @@ export interface HTMLAttributes<T extends Element = HTMLElement>
|
|
|
361
400
|
title?: Reactive<string>;
|
|
362
401
|
lang?: Reactive<string>;
|
|
363
402
|
dir?: Reactive<Dir>;
|
|
364
|
-
slot
|
|
403
|
+
/** Web Components named-slot assignment. */
|
|
404
|
+
slot?: Reactive<string>;
|
|
405
|
+
accessKey?: Reactive<string>;
|
|
406
|
+
/** Content Security Policy nonce. Single-use: browsers blank this out after first read. */
|
|
407
|
+
nonce?: string;
|
|
365
408
|
// Visibility / interaction
|
|
366
409
|
hidden?: Reactive<boolean>;
|
|
367
410
|
tabIndex?: Reactive<number>;
|
|
368
411
|
draggable?: Reactive<boolean>;
|
|
369
|
-
|
|
412
|
+
/**
|
|
413
|
+
* Autofocus on mount (global HTML5 attribute). One-shot by spec — the browser
|
|
414
|
+
* only consults this at insertion time, so it is not reactive.
|
|
415
|
+
*/
|
|
416
|
+
autoFocus?: boolean;
|
|
417
|
+
contentEditable?: Reactive<Booleanish | LiteralUnion<"inherit" | "plaintext-only">>;
|
|
370
418
|
spellcheck?: Reactive<Booleanish>;
|
|
371
|
-
translate?: "yes" | "no"
|
|
419
|
+
translate?: Reactive<LiteralUnion<"yes" | "no">>;
|
|
420
|
+
/** Marks the element as inert — blocks all user interaction and assistive technology. */
|
|
421
|
+
inert?: Reactive<boolean>;
|
|
422
|
+
/** Declares the element as a popover. Use `"auto"` (default, light-dismiss) or `"manual"`. */
|
|
423
|
+
popover?: Reactive<boolean | LiteralUnion<"auto" | "manual">>;
|
|
424
|
+
/** CSS `::part()` export list for shadow DOM styling. */
|
|
425
|
+
part?: Reactive<string>;
|
|
372
426
|
// Input hints
|
|
373
427
|
inputMode?: Reactive<InputMode>;
|
|
374
428
|
enterKeyHint?: Reactive<EnterKeyHint>;
|
|
@@ -377,17 +431,22 @@ export interface HTMLAttributes<T extends Element = HTMLElement>
|
|
|
377
431
|
// Raw HTML injection
|
|
378
432
|
innerHTML?: Reactive<string>;
|
|
379
433
|
// Micro-data
|
|
380
|
-
itemID?: string
|
|
381
|
-
itemProp?: string
|
|
382
|
-
itemRef?: string
|
|
383
|
-
itemScope?: boolean
|
|
384
|
-
itemType?: string
|
|
385
|
-
|
|
434
|
+
itemID?: Reactive<string>;
|
|
435
|
+
itemProp?: Reactive<string>;
|
|
436
|
+
itemRef?: Reactive<string>;
|
|
437
|
+
itemScope?: Reactive<boolean>;
|
|
438
|
+
itemType?: Reactive<string>;
|
|
439
|
+
/**
|
|
440
|
+
* Customized built-in element name (`is="my-button"`). Fixed at
|
|
441
|
+
* `document.createElement(tag, { is })` time — cannot change post-construction.
|
|
442
|
+
*/
|
|
386
443
|
is?: string;
|
|
387
444
|
// JSX internals
|
|
388
445
|
key?: string | number | symbol;
|
|
389
446
|
ref?: (el: T) => void;
|
|
390
447
|
children?: Children;
|
|
448
|
+
// Data attributes
|
|
449
|
+
[key: `data-${string}`]: Reactive<string | number | boolean> | undefined;
|
|
391
450
|
}
|
|
392
451
|
|
|
393
452
|
// ---------------------------------------------------------------------------
|
|
@@ -399,14 +458,14 @@ export interface HTMLAttributes<T extends Element = HTMLElement>
|
|
|
399
458
|
export interface BaseHTMLAttributes<
|
|
400
459
|
T extends HTMLBaseElement = HTMLBaseElement,
|
|
401
460
|
> extends HTMLAttributes<T> {
|
|
402
|
-
href?: string
|
|
403
|
-
target?: LinkTarget
|
|
461
|
+
href?: Reactive<string>;
|
|
462
|
+
target?: Reactive<LinkTarget>;
|
|
404
463
|
}
|
|
405
464
|
|
|
406
465
|
export interface LinkHTMLAttributes<
|
|
407
466
|
T extends HTMLLinkElement = HTMLLinkElement,
|
|
408
467
|
> extends HTMLAttributes<T> {
|
|
409
|
-
as?: LiteralUnion<
|
|
468
|
+
as?: Reactive<LiteralUnion<
|
|
410
469
|
| "audio"
|
|
411
470
|
| "document"
|
|
412
471
|
| "embed"
|
|
@@ -419,49 +478,49 @@ export interface LinkHTMLAttributes<
|
|
|
419
478
|
| "track"
|
|
420
479
|
| "video"
|
|
421
480
|
| "worker"
|
|
422
|
-
|
|
423
|
-
crossOrigin?: CrossOrigin
|
|
424
|
-
href?: string
|
|
425
|
-
hrefLang?: string
|
|
426
|
-
integrity?: string
|
|
427
|
-
media?: string
|
|
428
|
-
referrerPolicy?: ReferrerPolicy
|
|
429
|
-
rel?: string
|
|
430
|
-
sizes?: string
|
|
431
|
-
type?: string
|
|
432
|
-
charSet?: string
|
|
481
|
+
>>;
|
|
482
|
+
crossOrigin?: Reactive<CrossOrigin>;
|
|
483
|
+
href?: Reactive<string>;
|
|
484
|
+
hrefLang?: Reactive<string>;
|
|
485
|
+
integrity?: Reactive<string>;
|
|
486
|
+
media?: Reactive<string>;
|
|
487
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
488
|
+
rel?: Reactive<string>;
|
|
489
|
+
sizes?: Reactive<string>;
|
|
490
|
+
type?: Reactive<string>;
|
|
491
|
+
charSet?: Reactive<string>;
|
|
433
492
|
}
|
|
434
493
|
|
|
435
494
|
export interface MetaHTMLAttributes<
|
|
436
495
|
T extends HTMLMetaElement = HTMLMetaElement,
|
|
437
496
|
> extends HTMLAttributes<T> {
|
|
438
|
-
charSet?: string
|
|
439
|
-
content?: string
|
|
440
|
-
httpEquiv?: string
|
|
441
|
-
name?: string
|
|
442
|
-
media?: string
|
|
497
|
+
charSet?: Reactive<string>;
|
|
498
|
+
content?: Reactive<string>;
|
|
499
|
+
httpEquiv?: Reactive<string>;
|
|
500
|
+
name?: Reactive<string>;
|
|
501
|
+
media?: Reactive<string>;
|
|
443
502
|
}
|
|
444
503
|
|
|
445
504
|
export interface ScriptHTMLAttributes<
|
|
446
505
|
T extends HTMLScriptElement = HTMLScriptElement,
|
|
447
506
|
> extends HTMLAttributes<T> {
|
|
448
|
-
async?: boolean
|
|
449
|
-
crossOrigin?: CrossOrigin
|
|
450
|
-
defer?: boolean
|
|
451
|
-
integrity?: string
|
|
452
|
-
noModule?: boolean
|
|
453
|
-
referrerPolicy?: ReferrerPolicy
|
|
454
|
-
src?: string
|
|
455
|
-
type?: string
|
|
456
|
-
charSet?: string
|
|
507
|
+
async?: Reactive<boolean>;
|
|
508
|
+
crossOrigin?: Reactive<CrossOrigin>;
|
|
509
|
+
defer?: Reactive<boolean>;
|
|
510
|
+
integrity?: Reactive<string>;
|
|
511
|
+
noModule?: Reactive<boolean>;
|
|
512
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
513
|
+
src?: Reactive<string>;
|
|
514
|
+
type?: Reactive<string>;
|
|
515
|
+
charSet?: Reactive<string>;
|
|
457
516
|
}
|
|
458
517
|
|
|
459
518
|
export interface StyleHTMLAttributes<
|
|
460
519
|
T extends HTMLStyleElement = HTMLStyleElement,
|
|
461
520
|
> extends HTMLAttributes<T> {
|
|
462
|
-
media?: string
|
|
463
|
-
scoped?: boolean
|
|
464
|
-
type?: string
|
|
521
|
+
media?: Reactive<string>;
|
|
522
|
+
scoped?: Reactive<boolean>;
|
|
523
|
+
type?: Reactive<string>;
|
|
465
524
|
}
|
|
466
525
|
|
|
467
526
|
// --- Sectioning / grouping ---
|
|
@@ -469,26 +528,26 @@ export interface StyleHTMLAttributes<
|
|
|
469
528
|
export interface BlockquoteHTMLAttributes<
|
|
470
529
|
T extends HTMLQuoteElement = HTMLQuoteElement,
|
|
471
530
|
> extends HTMLAttributes<T> {
|
|
472
|
-
cite?: string
|
|
531
|
+
cite?: Reactive<string>;
|
|
473
532
|
}
|
|
474
533
|
|
|
475
534
|
export interface OlHTMLAttributes<
|
|
476
535
|
T extends HTMLOListElement = HTMLOListElement,
|
|
477
536
|
> extends HTMLAttributes<T> {
|
|
478
|
-
reversed?: boolean
|
|
479
|
-
start?: number
|
|
480
|
-
type?: LiteralUnion<"1" | "a" | "A" | "i" | "I"
|
|
537
|
+
reversed?: Reactive<boolean>;
|
|
538
|
+
start?: Reactive<number>;
|
|
539
|
+
type?: Reactive<LiteralUnion<"1" | "a" | "A" | "i" | "I">>;
|
|
481
540
|
}
|
|
482
541
|
|
|
483
542
|
export interface LiHTMLAttributes<T extends HTMLLIElement = HTMLLIElement>
|
|
484
543
|
extends HTMLAttributes<T> {
|
|
485
|
-
value?: number
|
|
544
|
+
value?: Reactive<number>;
|
|
486
545
|
}
|
|
487
546
|
|
|
488
547
|
export interface MenuHTMLAttributes<
|
|
489
548
|
T extends HTMLMenuElement = HTMLMenuElement,
|
|
490
549
|
> extends HTMLAttributes<T> {
|
|
491
|
-
type?: string
|
|
550
|
+
type?: Reactive<string>;
|
|
492
551
|
}
|
|
493
552
|
|
|
494
553
|
// --- Text-level ---
|
|
@@ -498,13 +557,13 @@ export interface AnchorHTMLAttributes<
|
|
|
498
557
|
> extends HTMLAttributes<T> {
|
|
499
558
|
download?: Reactive<string | boolean>;
|
|
500
559
|
href?: Reactive<string>;
|
|
501
|
-
hrefLang?: string
|
|
502
|
-
media?: string
|
|
503
|
-
ping?: string
|
|
504
|
-
referrerPolicy?: ReferrerPolicy
|
|
505
|
-
rel?: string
|
|
560
|
+
hrefLang?: Reactive<string>;
|
|
561
|
+
media?: Reactive<string>;
|
|
562
|
+
ping?: Reactive<string>;
|
|
563
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
564
|
+
rel?: Reactive<string>;
|
|
506
565
|
target?: Reactive<LinkTarget>;
|
|
507
|
-
type?: string
|
|
566
|
+
type?: Reactive<string>;
|
|
508
567
|
}
|
|
509
568
|
|
|
510
569
|
export interface DataHTMLAttributes<
|
|
@@ -524,32 +583,32 @@ export interface TimeHTMLAttributes<
|
|
|
524
583
|
export interface ImgHTMLAttributes<
|
|
525
584
|
T extends HTMLImageElement = HTMLImageElement,
|
|
526
585
|
> extends HTMLAttributes<T> {
|
|
527
|
-
alt?: string
|
|
528
|
-
crossOrigin?: CrossOrigin
|
|
529
|
-
decoding?: Decoding
|
|
586
|
+
alt?: Reactive<string>;
|
|
587
|
+
crossOrigin?: Reactive<CrossOrigin>;
|
|
588
|
+
decoding?: Reactive<Decoding>;
|
|
530
589
|
height?: Reactive<number | string>;
|
|
531
|
-
loading?: Loading
|
|
532
|
-
referrerPolicy?: ReferrerPolicy
|
|
533
|
-
sizes?: string
|
|
590
|
+
loading?: Reactive<Loading>;
|
|
591
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
592
|
+
sizes?: Reactive<string>;
|
|
534
593
|
src?: Reactive<string>;
|
|
535
594
|
srcSet?: Reactive<string>;
|
|
536
|
-
useMap?: string
|
|
595
|
+
useMap?: Reactive<string>;
|
|
537
596
|
width?: Reactive<number | string>;
|
|
538
|
-
fetchPriority?: "high" | "low" | "auto"
|
|
597
|
+
fetchPriority?: Reactive<LiteralUnion<"high" | "low" | "auto">>;
|
|
539
598
|
}
|
|
540
599
|
|
|
541
600
|
export interface IframeHTMLAttributes<
|
|
542
601
|
T extends HTMLIFrameElement = HTMLIFrameElement,
|
|
543
602
|
> extends HTMLAttributes<T> {
|
|
544
|
-
allow?: string
|
|
603
|
+
allow?: Reactive<string>;
|
|
545
604
|
allowFullScreen?: Reactive<boolean>;
|
|
546
605
|
height?: Reactive<number | string>;
|
|
547
|
-
loading?: Loading
|
|
548
|
-
name?: string
|
|
549
|
-
referrerPolicy?: ReferrerPolicy
|
|
606
|
+
loading?: Reactive<Loading>;
|
|
607
|
+
name?: Reactive<string>;
|
|
608
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
550
609
|
sandbox?: Reactive<string>;
|
|
551
610
|
src?: Reactive<string>;
|
|
552
|
-
srcDoc?: string
|
|
611
|
+
srcDoc?: Reactive<string>;
|
|
553
612
|
title?: Reactive<string>;
|
|
554
613
|
width?: Reactive<number | string>;
|
|
555
614
|
}
|
|
@@ -559,19 +618,19 @@ export interface EmbedHTMLAttributes<
|
|
|
559
618
|
> extends HTMLAttributes<T> {
|
|
560
619
|
height?: Reactive<number | string>;
|
|
561
620
|
src?: Reactive<string>;
|
|
562
|
-
type?: string
|
|
621
|
+
type?: Reactive<string>;
|
|
563
622
|
width?: Reactive<number | string>;
|
|
564
623
|
}
|
|
565
624
|
|
|
566
625
|
export interface ObjectHTMLAttributes<
|
|
567
626
|
T extends HTMLObjectElement = HTMLObjectElement,
|
|
568
627
|
> extends HTMLAttributes<T> {
|
|
569
|
-
data?: string
|
|
570
|
-
form?: string
|
|
628
|
+
data?: Reactive<string>;
|
|
629
|
+
form?: Reactive<string>;
|
|
571
630
|
height?: Reactive<number | string>;
|
|
572
|
-
name?: string
|
|
573
|
-
type?: string
|
|
574
|
-
useMap?: string
|
|
631
|
+
name?: Reactive<string>;
|
|
632
|
+
type?: Reactive<string>;
|
|
633
|
+
useMap?: Reactive<string>;
|
|
575
634
|
width?: Reactive<number | string>;
|
|
576
635
|
}
|
|
577
636
|
|
|
@@ -579,38 +638,64 @@ export interface SourceHTMLAttributes<
|
|
|
579
638
|
T extends HTMLSourceElement = HTMLSourceElement,
|
|
580
639
|
> extends HTMLAttributes<T> {
|
|
581
640
|
height?: Reactive<number | string>;
|
|
582
|
-
media?: string
|
|
583
|
-
sizes?: string
|
|
641
|
+
media?: Reactive<string>;
|
|
642
|
+
sizes?: Reactive<string>;
|
|
584
643
|
src?: Reactive<string>;
|
|
585
644
|
srcSet?: Reactive<string>;
|
|
586
|
-
type?: string
|
|
645
|
+
type?: Reactive<string>;
|
|
587
646
|
width?: Reactive<number | string>;
|
|
588
647
|
}
|
|
589
648
|
|
|
590
649
|
export interface TrackHTMLAttributes<
|
|
591
650
|
T extends HTMLTrackElement = HTMLTrackElement,
|
|
592
651
|
> extends HTMLAttributes<T> {
|
|
593
|
-
default?: boolean
|
|
594
|
-
kind?: LiteralUnion<
|
|
652
|
+
default?: Reactive<boolean>;
|
|
653
|
+
kind?: Reactive<LiteralUnion<
|
|
595
654
|
"subtitles" | "captions" | "descriptions" | "chapters" | "metadata"
|
|
596
|
-
|
|
597
|
-
label?: string
|
|
598
|
-
src?: string
|
|
599
|
-
srcLang?: string
|
|
655
|
+
>>;
|
|
656
|
+
label?: Reactive<string>;
|
|
657
|
+
src?: Reactive<string>;
|
|
658
|
+
srcLang?: Reactive<string>;
|
|
600
659
|
}
|
|
601
660
|
|
|
602
661
|
export interface MediaHTMLAttributes<T extends HTMLMediaElement = HTMLMediaElement>
|
|
603
662
|
extends HTMLAttributes<T> {
|
|
663
|
+
/**
|
|
664
|
+
* One-shot by spec — the browser only consults `autoplay` at insertion
|
|
665
|
+
* time, so it is not reactive.
|
|
666
|
+
*/
|
|
604
667
|
autoPlay?: boolean;
|
|
605
668
|
controls?: Reactive<boolean>;
|
|
606
|
-
controlsList?: string
|
|
607
|
-
crossOrigin?: CrossOrigin
|
|
669
|
+
controlsList?: Reactive<string>;
|
|
670
|
+
crossOrigin?: Reactive<CrossOrigin>;
|
|
608
671
|
loop?: Reactive<boolean>;
|
|
609
|
-
mediaGroup?: string
|
|
672
|
+
mediaGroup?: Reactive<string>;
|
|
610
673
|
muted?: Reactive<boolean>;
|
|
611
|
-
playsInline?: boolean
|
|
612
|
-
preload?: LiteralUnion<"none" | "metadata" | "auto"
|
|
674
|
+
playsInline?: Reactive<boolean>;
|
|
675
|
+
preload?: Reactive<LiteralUnion<"none" | "metadata" | "auto">>;
|
|
613
676
|
src?: Reactive<string>;
|
|
677
|
+
// Media events
|
|
678
|
+
onAbort?: (e: NativeEventOf<Event, T>) => void;
|
|
679
|
+
onCanPlay?: (e: NativeEventOf<Event, T>) => void;
|
|
680
|
+
onCanPlayThrough?: (e: NativeEventOf<Event, T>) => void;
|
|
681
|
+
onDurationChange?: (e: NativeEventOf<Event, T>) => void;
|
|
682
|
+
onEmptied?: (e: NativeEventOf<Event, T>) => void;
|
|
683
|
+
onEnded?: (e: NativeEventOf<Event, T>) => void;
|
|
684
|
+
onLoadedData?: (e: NativeEventOf<Event, T>) => void;
|
|
685
|
+
onLoadedMetadata?: (e: NativeEventOf<Event, T>) => void;
|
|
686
|
+
onLoadStart?: (e: NativeEventOf<Event, T>) => void;
|
|
687
|
+
onPause?: (e: NativeEventOf<Event, T>) => void;
|
|
688
|
+
onPlay?: (e: NativeEventOf<Event, T>) => void;
|
|
689
|
+
onPlaying?: (e: NativeEventOf<Event, T>) => void;
|
|
690
|
+
onProgress?: (e: NativeEventOf<ProgressEvent, T>) => void;
|
|
691
|
+
onRateChange?: (e: NativeEventOf<Event, T>) => void;
|
|
692
|
+
onSeeked?: (e: NativeEventOf<Event, T>) => void;
|
|
693
|
+
onSeeking?: (e: NativeEventOf<Event, T>) => void;
|
|
694
|
+
onStalled?: (e: NativeEventOf<Event, T>) => void;
|
|
695
|
+
onSuspend?: (e: NativeEventOf<Event, T>) => void;
|
|
696
|
+
onTimeUpdate?: (e: NativeEventOf<Event, T>) => void;
|
|
697
|
+
onVolumeChange?: (e: NativeEventOf<Event, T>) => void;
|
|
698
|
+
onWaiting?: (e: NativeEventOf<Event, T>) => void;
|
|
614
699
|
}
|
|
615
700
|
|
|
616
701
|
export type AudioHTMLAttributes<
|
|
@@ -621,11 +706,11 @@ export interface VideoHTMLAttributes<
|
|
|
621
706
|
T extends HTMLVideoElement = HTMLVideoElement,
|
|
622
707
|
> extends MediaHTMLAttributes<T> {
|
|
623
708
|
height?: Reactive<number | string>;
|
|
624
|
-
playsInline?: boolean
|
|
709
|
+
playsInline?: Reactive<boolean>;
|
|
625
710
|
poster?: Reactive<string>;
|
|
626
711
|
width?: Reactive<number | string>;
|
|
627
|
-
disablePictureInPicture?: boolean
|
|
628
|
-
disableRemotePlayback?: boolean
|
|
712
|
+
disablePictureInPicture?: Reactive<boolean>;
|
|
713
|
+
disableRemotePlayback?: Reactive<boolean>;
|
|
629
714
|
}
|
|
630
715
|
|
|
631
716
|
export interface CanvasHTMLAttributes<
|
|
@@ -638,21 +723,21 @@ export interface CanvasHTMLAttributes<
|
|
|
638
723
|
export interface MapHTMLAttributes<
|
|
639
724
|
T extends HTMLMapElement = HTMLMapElement,
|
|
640
725
|
> extends HTMLAttributes<T> {
|
|
641
|
-
name?: string
|
|
726
|
+
name?: Reactive<string>;
|
|
642
727
|
}
|
|
643
728
|
|
|
644
729
|
export interface AreaHTMLAttributes<
|
|
645
730
|
T extends HTMLAreaElement = HTMLAreaElement,
|
|
646
731
|
> extends HTMLAttributes<T> {
|
|
647
|
-
alt?: string
|
|
648
|
-
coords?: string
|
|
649
|
-
download?: string
|
|
732
|
+
alt?: Reactive<string>;
|
|
733
|
+
coords?: Reactive<string>;
|
|
734
|
+
download?: Reactive<string | boolean>;
|
|
650
735
|
href?: Reactive<string>;
|
|
651
|
-
hrefLang?: string
|
|
652
|
-
media?: string
|
|
653
|
-
referrerPolicy?: ReferrerPolicy
|
|
654
|
-
rel?: string
|
|
655
|
-
shape?: string
|
|
736
|
+
hrefLang?: Reactive<string>;
|
|
737
|
+
media?: Reactive<string>;
|
|
738
|
+
referrerPolicy?: Reactive<ReferrerPolicy>;
|
|
739
|
+
rel?: Reactive<string>;
|
|
740
|
+
shape?: Reactive<string>;
|
|
656
741
|
target?: Reactive<LinkTarget>;
|
|
657
742
|
}
|
|
658
743
|
|
|
@@ -661,104 +746,120 @@ export interface AreaHTMLAttributes<
|
|
|
661
746
|
export interface FormHTMLAttributes<
|
|
662
747
|
T extends HTMLFormElement = HTMLFormElement,
|
|
663
748
|
> extends HTMLAttributes<T> {
|
|
664
|
-
acceptCharset?: string
|
|
749
|
+
acceptCharset?: Reactive<string>;
|
|
665
750
|
action?: Reactive<string>;
|
|
666
|
-
autoComplete?: string
|
|
667
|
-
encType?: FormEncType
|
|
668
|
-
method?: FormMethod
|
|
669
|
-
name?: string
|
|
670
|
-
noValidate?: boolean
|
|
671
|
-
target?: LinkTarget
|
|
672
|
-
rel?: string
|
|
751
|
+
autoComplete?: Reactive<string>;
|
|
752
|
+
encType?: Reactive<FormEncType>;
|
|
753
|
+
method?: Reactive<FormMethod>;
|
|
754
|
+
name?: Reactive<string>;
|
|
755
|
+
noValidate?: Reactive<boolean>;
|
|
756
|
+
target?: Reactive<LinkTarget>;
|
|
757
|
+
rel?: Reactive<string>;
|
|
673
758
|
}
|
|
674
759
|
|
|
675
760
|
export interface FieldsetHTMLAttributes<
|
|
676
761
|
T extends HTMLFieldSetElement = HTMLFieldSetElement,
|
|
677
762
|
> extends HTMLAttributes<T> {
|
|
678
763
|
disabled?: Reactive<boolean>;
|
|
679
|
-
form?: string
|
|
680
|
-
name?: string
|
|
764
|
+
form?: Reactive<string>;
|
|
765
|
+
name?: Reactive<string>;
|
|
681
766
|
}
|
|
682
767
|
|
|
683
768
|
export interface InputHTMLAttributes<
|
|
684
769
|
T extends HTMLInputElement = HTMLInputElement,
|
|
685
770
|
> extends HTMLAttributes<T> {
|
|
686
|
-
accept?: string
|
|
687
|
-
alt?: string
|
|
688
|
-
autoComplete?: LiteralUnion<string
|
|
771
|
+
accept?: Reactive<string>;
|
|
772
|
+
alt?: Reactive<string>;
|
|
773
|
+
autoComplete?: Reactive<LiteralUnion<string>>;
|
|
774
|
+
/**
|
|
775
|
+
* Autofocus on mount. One-shot by spec — the browser only consults this
|
|
776
|
+
* at insertion time, so it is not reactive.
|
|
777
|
+
*/
|
|
689
778
|
autoFocus?: boolean;
|
|
690
|
-
capture?: boolean | LiteralUnion<"user" | "environment"
|
|
779
|
+
capture?: Reactive<boolean | LiteralUnion<"user" | "environment">>;
|
|
691
780
|
checked?: Reactive<boolean>;
|
|
692
|
-
crossOrigin?: CrossOrigin
|
|
781
|
+
crossOrigin?: Reactive<CrossOrigin>;
|
|
782
|
+
/** Uncontrolled-baseline value, set once on mount — not reactive. */
|
|
693
783
|
defaultChecked?: boolean;
|
|
784
|
+
/** Uncontrolled-baseline value, set once on mount — not reactive. */
|
|
694
785
|
defaultValue?: string | number | readonly string[];
|
|
695
|
-
dirName?: string
|
|
786
|
+
dirName?: Reactive<string>;
|
|
696
787
|
disabled?: Reactive<boolean>;
|
|
697
788
|
enterKeyHint?: Reactive<EnterKeyHint>;
|
|
698
|
-
form?: string
|
|
699
|
-
formAction?: string
|
|
700
|
-
formEncType?: FormEncType
|
|
701
|
-
formMethod?: FormMethod
|
|
702
|
-
formNoValidate?: boolean
|
|
703
|
-
formTarget?: string
|
|
789
|
+
form?: Reactive<string>;
|
|
790
|
+
formAction?: Reactive<string>;
|
|
791
|
+
formEncType?: Reactive<FormEncType>;
|
|
792
|
+
formMethod?: Reactive<FormMethod>;
|
|
793
|
+
formNoValidate?: Reactive<boolean>;
|
|
794
|
+
formTarget?: Reactive<string>;
|
|
704
795
|
height?: Reactive<number | string>;
|
|
705
|
-
list?: string
|
|
796
|
+
list?: Reactive<string>;
|
|
706
797
|
max?: Reactive<number | string>;
|
|
707
|
-
maxLength?: number
|
|
798
|
+
maxLength?: Reactive<number>;
|
|
708
799
|
min?: Reactive<number | string>;
|
|
709
|
-
minLength?: number
|
|
710
|
-
multiple?: boolean
|
|
711
|
-
name?: string
|
|
712
|
-
pattern?: string
|
|
800
|
+
minLength?: Reactive<number>;
|
|
801
|
+
multiple?: Reactive<boolean>;
|
|
802
|
+
name?: Reactive<string>;
|
|
803
|
+
pattern?: Reactive<string>;
|
|
713
804
|
placeholder?: Reactive<string>;
|
|
714
805
|
readOnly?: Reactive<boolean>;
|
|
715
806
|
required?: Reactive<boolean>;
|
|
716
|
-
size?: number
|
|
717
|
-
src?: string
|
|
807
|
+
size?: Reactive<number>;
|
|
808
|
+
src?: Reactive<string>;
|
|
718
809
|
step?: Reactive<number | string>;
|
|
719
810
|
type?: Reactive<HTMLInputTypeAttribute>;
|
|
720
811
|
value?: Reactive<string | number | readonly string[]>;
|
|
721
812
|
width?: Reactive<number | string>;
|
|
813
|
+
popovertarget?: Reactive<string>;
|
|
814
|
+
popovertargetaction?: Reactive<LiteralUnion<"hide" | "show" | "toggle">>;
|
|
722
815
|
}
|
|
723
816
|
|
|
724
817
|
export interface ButtonHTMLAttributes<
|
|
725
818
|
T extends HTMLButtonElement = HTMLButtonElement,
|
|
726
819
|
> extends HTMLAttributes<T> {
|
|
820
|
+
/**
|
|
821
|
+
* Autofocus on mount. One-shot by spec — the browser only consults this
|
|
822
|
+
* at insertion time, so it is not reactive.
|
|
823
|
+
*/
|
|
727
824
|
autoFocus?: boolean;
|
|
728
825
|
disabled?: Reactive<boolean>;
|
|
729
|
-
form?: string
|
|
730
|
-
formAction?: string
|
|
731
|
-
formEncType?: FormEncType
|
|
732
|
-
formMethod?: FormMethod
|
|
733
|
-
formNoValidate?: boolean
|
|
734
|
-
formTarget?: string
|
|
735
|
-
name?: string
|
|
826
|
+
form?: Reactive<string>;
|
|
827
|
+
formAction?: Reactive<string>;
|
|
828
|
+
formEncType?: Reactive<FormEncType>;
|
|
829
|
+
formMethod?: Reactive<FormMethod>;
|
|
830
|
+
formNoValidate?: Reactive<boolean>;
|
|
831
|
+
formTarget?: Reactive<string>;
|
|
832
|
+
name?: Reactive<string>;
|
|
736
833
|
type?: Reactive<ButtonType>;
|
|
737
834
|
value?: Reactive<string>;
|
|
738
|
-
popovertarget?: string
|
|
739
|
-
popovertargetaction?: LiteralUnion<"hide" | "show" | "toggle"
|
|
835
|
+
popovertarget?: Reactive<string>;
|
|
836
|
+
popovertargetaction?: Reactive<LiteralUnion<"hide" | "show" | "toggle">>;
|
|
740
837
|
}
|
|
741
838
|
|
|
742
839
|
export interface LabelHTMLAttributes<
|
|
743
840
|
T extends HTMLLabelElement = HTMLLabelElement,
|
|
744
841
|
> extends HTMLAttributes<T> {
|
|
745
|
-
form?: string
|
|
746
|
-
htmlFor?: string
|
|
842
|
+
form?: Reactive<string>;
|
|
843
|
+
htmlFor?: Reactive<string>;
|
|
747
844
|
/** DOM attribute alias for `htmlFor`. */
|
|
748
|
-
for?: string
|
|
845
|
+
for?: Reactive<string>;
|
|
749
846
|
}
|
|
750
847
|
|
|
751
848
|
export interface SelectHTMLAttributes<
|
|
752
849
|
T extends HTMLSelectElement = HTMLSelectElement,
|
|
753
850
|
> extends HTMLAttributes<T> {
|
|
754
|
-
autoComplete?: string
|
|
851
|
+
autoComplete?: Reactive<string>;
|
|
852
|
+
/**
|
|
853
|
+
* Autofocus on mount. One-shot by spec — the browser only consults this
|
|
854
|
+
* at insertion time, so it is not reactive.
|
|
855
|
+
*/
|
|
755
856
|
autoFocus?: boolean;
|
|
756
857
|
disabled?: Reactive<boolean>;
|
|
757
|
-
form?: string
|
|
758
|
-
multiple?: boolean
|
|
759
|
-
name?: string
|
|
858
|
+
form?: Reactive<string>;
|
|
859
|
+
multiple?: Reactive<boolean>;
|
|
860
|
+
name?: Reactive<string>;
|
|
760
861
|
required?: Reactive<boolean>;
|
|
761
|
-
size?: number
|
|
862
|
+
size?: Reactive<number>;
|
|
762
863
|
value?: Reactive<string | number | readonly string[]>;
|
|
763
864
|
}
|
|
764
865
|
|
|
@@ -766,14 +867,14 @@ export interface OptgroupHTMLAttributes<
|
|
|
766
867
|
T extends HTMLOptGroupElement = HTMLOptGroupElement,
|
|
767
868
|
> extends HTMLAttributes<T> {
|
|
768
869
|
disabled?: Reactive<boolean>;
|
|
769
|
-
label?: string
|
|
870
|
+
label?: Reactive<string>;
|
|
770
871
|
}
|
|
771
872
|
|
|
772
873
|
export interface OptionHTMLAttributes<
|
|
773
874
|
T extends HTMLOptionElement = HTMLOptionElement,
|
|
774
875
|
> extends HTMLAttributes<T> {
|
|
775
876
|
disabled?: Reactive<boolean>;
|
|
776
|
-
label?: string
|
|
877
|
+
label?: Reactive<string>;
|
|
777
878
|
selected?: Reactive<boolean>;
|
|
778
879
|
value?: Reactive<string | number>;
|
|
779
880
|
}
|
|
@@ -781,48 +882,53 @@ export interface OptionHTMLAttributes<
|
|
|
781
882
|
export interface OutputHTMLAttributes<
|
|
782
883
|
T extends HTMLOutputElement = HTMLOutputElement,
|
|
783
884
|
> extends HTMLAttributes<T> {
|
|
784
|
-
form?: string
|
|
785
|
-
htmlFor?: string
|
|
786
|
-
name?: string
|
|
885
|
+
form?: Reactive<string>;
|
|
886
|
+
htmlFor?: Reactive<string>;
|
|
887
|
+
name?: Reactive<string>;
|
|
787
888
|
}
|
|
788
889
|
|
|
789
890
|
export interface TextareaHTMLAttributes<
|
|
790
891
|
T extends HTMLTextAreaElement = HTMLTextAreaElement,
|
|
791
892
|
> extends HTMLAttributes<T> {
|
|
792
|
-
autoComplete?: string
|
|
893
|
+
autoComplete?: Reactive<string>;
|
|
894
|
+
/**
|
|
895
|
+
* Autofocus on mount. One-shot by spec — the browser only consults this
|
|
896
|
+
* at insertion time, so it is not reactive.
|
|
897
|
+
*/
|
|
793
898
|
autoFocus?: boolean;
|
|
794
|
-
cols?: number
|
|
899
|
+
cols?: Reactive<number>;
|
|
900
|
+
/** Uncontrolled-baseline value, set once on mount — not reactive. */
|
|
795
901
|
defaultValue?: string;
|
|
796
|
-
dirName?: string
|
|
902
|
+
dirName?: Reactive<string>;
|
|
797
903
|
disabled?: Reactive<boolean>;
|
|
798
|
-
form?: string
|
|
799
|
-
maxLength?: number
|
|
800
|
-
minLength?: number
|
|
801
|
-
name?: string
|
|
904
|
+
form?: Reactive<string>;
|
|
905
|
+
maxLength?: Reactive<number>;
|
|
906
|
+
minLength?: Reactive<number>;
|
|
907
|
+
name?: Reactive<string>;
|
|
802
908
|
placeholder?: Reactive<string>;
|
|
803
909
|
readOnly?: Reactive<boolean>;
|
|
804
910
|
required?: Reactive<boolean>;
|
|
805
|
-
rows?: number
|
|
911
|
+
rows?: Reactive<number>;
|
|
806
912
|
value?: Reactive<string>;
|
|
807
|
-
wrap?: LiteralUnion<"hard" | "soft" | "off"
|
|
913
|
+
wrap?: Reactive<LiteralUnion<"hard" | "soft" | "off">>;
|
|
808
914
|
}
|
|
809
915
|
|
|
810
916
|
export interface MeterHTMLAttributes<
|
|
811
917
|
T extends HTMLMeterElement = HTMLMeterElement,
|
|
812
918
|
> extends HTMLAttributes<T> {
|
|
813
|
-
form?: string
|
|
814
|
-
high?: number
|
|
815
|
-
low?: number
|
|
919
|
+
form?: Reactive<string>;
|
|
920
|
+
high?: Reactive<number>;
|
|
921
|
+
low?: Reactive<number>;
|
|
816
922
|
max?: Reactive<number | string>;
|
|
817
923
|
min?: Reactive<number | string>;
|
|
818
|
-
optimum?: number
|
|
924
|
+
optimum?: Reactive<number>;
|
|
819
925
|
value?: Reactive<string | number>;
|
|
820
926
|
}
|
|
821
927
|
|
|
822
928
|
export interface ProgressHTMLAttributes<
|
|
823
929
|
T extends HTMLProgressElement = HTMLProgressElement,
|
|
824
930
|
> extends HTMLAttributes<T> {
|
|
825
|
-
max?: number | string
|
|
931
|
+
max?: Reactive<number | string>;
|
|
826
932
|
value?: Reactive<string | number>;
|
|
827
933
|
}
|
|
828
934
|
|
|
@@ -836,8 +942,9 @@ export interface DetailsHTMLAttributes<
|
|
|
836
942
|
T extends HTMLDetailsElement = HTMLDetailsElement,
|
|
837
943
|
> extends HTMLAttributes<T> {
|
|
838
944
|
open?: Reactive<boolean>;
|
|
839
|
-
name?: string
|
|
945
|
+
name?: Reactive<string>;
|
|
840
946
|
onToggle?: (e: NativeEventOf<Event, T>) => void;
|
|
947
|
+
onBeforeToggle?: (e: NativeEventOf<Event, T>) => void;
|
|
841
948
|
}
|
|
842
949
|
|
|
843
950
|
export interface DialogHTMLAttributes<
|
|
@@ -846,12 +953,14 @@ export interface DialogHTMLAttributes<
|
|
|
846
953
|
open?: Reactive<boolean>;
|
|
847
954
|
onClose?: (e: NativeEventOf<Event, T>) => void;
|
|
848
955
|
onCancel?: (e: NativeEventOf<Event, T>) => void;
|
|
956
|
+
onToggle?: (e: NativeEventOf<Event, T>) => void;
|
|
957
|
+
onBeforeToggle?: (e: NativeEventOf<Event, T>) => void;
|
|
849
958
|
}
|
|
850
959
|
|
|
851
960
|
export interface SlotHTMLAttributes<
|
|
852
961
|
T extends HTMLSlotElement = HTMLSlotElement,
|
|
853
962
|
> extends HTMLAttributes<T> {
|
|
854
|
-
name?: string
|
|
963
|
+
name?: Reactive<string>;
|
|
855
964
|
}
|
|
856
965
|
|
|
857
966
|
// --- Tabular ---
|
|
@@ -859,48 +968,48 @@ export interface SlotHTMLAttributes<
|
|
|
859
968
|
export interface TableHTMLAttributes<
|
|
860
969
|
T extends HTMLTableElement = HTMLTableElement,
|
|
861
970
|
> extends HTMLAttributes<T> {
|
|
862
|
-
cellPadding?: number | string
|
|
863
|
-
cellSpacing?: number | string
|
|
864
|
-
summary?: string
|
|
865
|
-
width?: number | string
|
|
971
|
+
cellPadding?: Reactive<number | string>;
|
|
972
|
+
cellSpacing?: Reactive<number | string>;
|
|
973
|
+
summary?: Reactive<string>;
|
|
974
|
+
width?: Reactive<number | string>;
|
|
866
975
|
}
|
|
867
976
|
|
|
868
977
|
export interface ColHTMLAttributes<
|
|
869
978
|
T extends HTMLTableColElement = HTMLTableColElement,
|
|
870
979
|
> extends HTMLAttributes<T> {
|
|
871
|
-
span?: number
|
|
872
|
-
width?: number | string
|
|
980
|
+
span?: Reactive<number>;
|
|
981
|
+
width?: Reactive<number | string>;
|
|
873
982
|
}
|
|
874
983
|
|
|
875
984
|
export interface ColgroupHTMLAttributes<
|
|
876
985
|
T extends HTMLTableColElement = HTMLTableColElement,
|
|
877
986
|
> extends HTMLAttributes<T> {
|
|
878
|
-
span?: number
|
|
987
|
+
span?: Reactive<number>;
|
|
879
988
|
}
|
|
880
989
|
|
|
881
990
|
export interface TdHTMLAttributes<
|
|
882
991
|
T extends HTMLTableCellElement = HTMLTableCellElement,
|
|
883
992
|
> extends HTMLAttributes<T> {
|
|
884
|
-
align?: LiteralUnion<"left" | "center" | "right" | "justify" | "char"
|
|
885
|
-
colSpan?: number
|
|
886
|
-
headers?: string
|
|
887
|
-
rowSpan?: number
|
|
888
|
-
scope?: LiteralUnion<"col" | "row" | "colgroup" | "rowgroup"
|
|
889
|
-
abbr?: string
|
|
890
|
-
height?: number | string
|
|
891
|
-
width?: number | string
|
|
892
|
-
valign?: LiteralUnion<"top" | "middle" | "bottom" | "baseline"
|
|
993
|
+
align?: Reactive<LiteralUnion<"left" | "center" | "right" | "justify" | "char">>;
|
|
994
|
+
colSpan?: Reactive<number>;
|
|
995
|
+
headers?: Reactive<string>;
|
|
996
|
+
rowSpan?: Reactive<number>;
|
|
997
|
+
scope?: Reactive<LiteralUnion<"col" | "row" | "colgroup" | "rowgroup">>;
|
|
998
|
+
abbr?: Reactive<string>;
|
|
999
|
+
height?: Reactive<number | string>;
|
|
1000
|
+
width?: Reactive<number | string>;
|
|
1001
|
+
valign?: Reactive<LiteralUnion<"top" | "middle" | "bottom" | "baseline">>;
|
|
893
1002
|
}
|
|
894
1003
|
|
|
895
1004
|
export interface ThHTMLAttributes<
|
|
896
1005
|
T extends HTMLTableCellElement = HTMLTableCellElement,
|
|
897
1006
|
> extends HTMLAttributes<T> {
|
|
898
|
-
align?: LiteralUnion<"left" | "center" | "right" | "justify" | "char"
|
|
899
|
-
colSpan?: number
|
|
900
|
-
headers?: string
|
|
901
|
-
rowSpan?: number
|
|
902
|
-
scope?: LiteralUnion<"col" | "row" | "colgroup" | "rowgroup"
|
|
903
|
-
abbr?: string
|
|
1007
|
+
align?: Reactive<LiteralUnion<"left" | "center" | "right" | "justify" | "char">>;
|
|
1008
|
+
colSpan?: Reactive<number>;
|
|
1009
|
+
headers?: Reactive<string>;
|
|
1010
|
+
rowSpan?: Reactive<number>;
|
|
1011
|
+
scope?: Reactive<LiteralUnion<"col" | "row" | "colgroup" | "rowgroup">>;
|
|
1012
|
+
abbr?: Reactive<string>;
|
|
904
1013
|
}
|
|
905
1014
|
|
|
906
1015
|
// --- Content edits ---
|
|
@@ -908,15 +1017,15 @@ export interface ThHTMLAttributes<
|
|
|
908
1017
|
export interface DelHTMLAttributes<
|
|
909
1018
|
T extends HTMLModElement = HTMLModElement,
|
|
910
1019
|
> extends HTMLAttributes<T> {
|
|
911
|
-
cite?: string
|
|
912
|
-
dateTime?: string
|
|
1020
|
+
cite?: Reactive<string>;
|
|
1021
|
+
dateTime?: Reactive<string>;
|
|
913
1022
|
}
|
|
914
1023
|
|
|
915
1024
|
export interface InsHTMLAttributes<
|
|
916
1025
|
T extends HTMLModElement = HTMLModElement,
|
|
917
1026
|
> extends HTMLAttributes<T> {
|
|
918
|
-
cite?: string
|
|
919
|
-
dateTime?: string
|
|
1027
|
+
cite?: Reactive<string>;
|
|
1028
|
+
dateTime?: Reactive<string>;
|
|
920
1029
|
}
|
|
921
1030
|
|
|
922
1031
|
// ---------------------------------------------------------------------------
|
|
@@ -957,6 +1066,15 @@ export interface SVGAttributes<T extends Element = SVGElement>
|
|
|
957
1066
|
mask?: Reactive<string>;
|
|
958
1067
|
filter?: Reactive<string>;
|
|
959
1068
|
transform?: Reactive<string>;
|
|
1069
|
+
cursor?: Reactive<string>;
|
|
1070
|
+
/** Controls whether the element can be a hit-test target for pointer events. */
|
|
1071
|
+
pointerEvents?: Reactive<LiteralUnion<"none" | "auto" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all">>;
|
|
1072
|
+
vectorEffect?: Reactive<LiteralUnion<"none" | "non-scaling-stroke" | "non-scaling-size" | "non-rotation" | "fixed-position">>;
|
|
1073
|
+
shapeRendering?: Reactive<LiteralUnion<"auto" | "optimizeSpeed" | "crispEdges" | "geometricPrecision">>;
|
|
1074
|
+
textRendering?: Reactive<LiteralUnion<"auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision">>;
|
|
1075
|
+
imageRendering?: Reactive<LiteralUnion<"auto" | "optimizeSpeed" | "optimizeQuality" | "pixelated">>;
|
|
1076
|
+
colorInterpolation?: Reactive<LiteralUnion<"auto" | "sRGB" | "linearRGB">>;
|
|
1077
|
+
paintOrder?: Reactive<string>;
|
|
960
1078
|
// Geometry (shared)
|
|
961
1079
|
x?: Reactive<number | string>;
|
|
962
1080
|
y?: Reactive<number | string>;
|