@estjs/template 0.0.15-beta.1 → 0.0.15-beta.5

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.
@@ -1,37 +1,55 @@
1
- import { Signal as Signal$1, Computed } from '@estjs/signals';
2
- import * as csstype from 'csstype';
1
+ import { Signal } from '@estjs/signals';
3
2
  export { escapeHTML } from '@estjs/shared';
4
3
 
4
+ /**
5
+ * InjectionKey is a unique identifier for provided values.
6
+ * Using Symbol ensures type safety and prevents key collisions.
7
+ */
5
8
  interface InjectionKey<T> extends Symbol {
6
9
  }
7
10
  /**
8
- * provide a value to the context
9
- * @param {InjectionKey<T>|string|number} key - the key to provide the value to
10
- * @param {T} value - the value to provide
11
+ * Provide a value in the current scope.
12
+ * The value can be injected by this scope or any descendant scope.
13
+ *
14
+ * @param key - The injection key
15
+ * @param value - The value to provide
11
16
  */
12
17
  declare function provide<T>(key: InjectionKey<T> | string | number, value: T): void;
13
18
  /**
14
- * inject a value from the context
15
- * @param {InjectionKey<T>|string|number} key - the key to inject the value from
16
- * @param {T} defaultValue - the default value to return if the key is not found
17
- * @returns {T} the value injected
19
+ * Inject a value from the scope hierarchy.
20
+ * Traverses up the parent chain until finding a matching key.
21
+ *
22
+ * @param key - The injection key
23
+ * @param defaultValue - Default value if key is not found
24
+ * @returns The injected value or default value
18
25
  */
19
26
  declare function inject<T>(key: InjectionKey<T> | string | number, defaultValue?: T): T;
20
27
 
21
28
  /**
22
- * context interface
23
- */
24
- interface Context {
25
- id: number;
26
- parent: Context | null;
27
- provides: Map<InjectionKey<unknown> | number | string | symbol, any>;
28
- cleanup: Set<() => void>;
29
- mount: Set<() => void | Promise<void>>;
30
- update: Set<() => void | Promise<void>>;
31
- destroy: Set<() => void | Promise<void>>;
32
- isMount: boolean;
33
- isDestroy: boolean;
34
- children: Set<Context>;
29
+ * Scope represents an execution context in the component tree.
30
+ * It manages provides, cleanup functions, and lifecycle hooks.
31
+ */
32
+ interface Scope {
33
+ /** Unique identifier for debugging */
34
+ readonly id: number;
35
+ /** Parent scope in the hierarchy */
36
+ parent: Scope | null;
37
+ /** Child scopes (lazy initialized) */
38
+ children: Set<Scope> | null;
39
+ /** Provided values (lazy initialized) */
40
+ provides: Map<InjectionKey<unknown> | string | number | symbol, unknown> | null;
41
+ /** Cleanup functions (lazy initialized) */
42
+ cleanup: Set<() => void> | null;
43
+ /** Mount lifecycle hooks (lazy initialized) */
44
+ onMount: Set<() => void | Promise<void>> | null;
45
+ /** Update lifecycle hooks (lazy initialized) */
46
+ onUpdate: Set<() => void | Promise<void>> | null;
47
+ /** Destroy lifecycle hooks (lazy initialized) */
48
+ onDestroy: Set<() => void | Promise<void>> | null;
49
+ /** Whether the scope has been mounted */
50
+ isMounted: boolean;
51
+ /** Whether the scope has been destroyed */
52
+ isDestroyed: boolean;
35
53
  }
36
54
 
37
55
  declare enum COMPONENT_TYPE {
@@ -42,26 +60,26 @@ declare enum COMPONENT_TYPE {
42
60
  FOR = "for"
43
61
  }
44
62
 
45
- type ComponentFn = (props?: ComponentProps) => Node | Signal$1<Node> | Computed<Node>;
63
+ type AnyNode = Node | Component | Element | string | number | boolean | null | undefined | AnyNode[] | (() => AnyNode);
46
64
  type ComponentProps = Record<string, unknown>;
65
+ type ComponentFn = (props?: ComponentProps) => AnyNode;
66
+
47
67
  declare class Component {
48
68
  component: ComponentFn;
49
69
  props: ComponentProps | undefined;
50
- protected renderedNode: Node | null;
51
- protected componentContext: Context | null;
52
- protected parentNode: Node | null;
53
- protected beforeNode: Node | null;
70
+ protected renderedNodes: AnyNode[];
71
+ protected scope: Scope | null;
72
+ protected parentNode: Node | undefined;
73
+ beforeNode: Node | undefined;
54
74
  private reactiveProps;
55
- private _propSnapshots;
56
75
  readonly key: string | undefined;
57
76
  protected state: number;
58
- protected context: Context | null;
59
- protected parentContext: Context | null;
77
+ protected parentScope: Scope | null;
60
78
  private [COMPONENT_TYPE.NORMAL];
61
79
  get isConnected(): boolean;
62
- get firstChild(): Node | null;
80
+ get firstChild(): Node | undefined;
63
81
  constructor(component: ComponentFn, props: ComponentProps | undefined);
64
- mount(parentNode: Node, beforeNode?: Node | null): Node | null | Promise<Node | null>;
82
+ mount(parentNode: Node, beforeNode?: Node): AnyNode[];
65
83
  update(prevNode: Component): Component;
66
84
  forceUpdate(): Promise<void>;
67
85
  /**
@@ -124,13 +142,31 @@ declare function template(html: string): () => Node;
124
142
  */
125
143
  declare function createApp(component: ComponentFn, target: string | Element): Component | undefined;
126
144
 
127
- type LifecycleHook = () => void;
145
+ type LifecycleHook = () => void | Promise<void>;
146
+ /**
147
+ * Register a mount lifecycle hook.
148
+ * Called after the component is mounted to the DOM.
149
+ *
150
+ * @param hook - The hook function to execute on mount
151
+ */
128
152
  declare function onMount(hook: LifecycleHook): void;
153
+ /**
154
+ * Register a destroy lifecycle hook.
155
+ * Called before the component is removed from the DOM.
156
+ *
157
+ * @param hook - The hook function to execute on destroy
158
+ */
129
159
  declare function onDestroy(hook: LifecycleHook): void;
160
+ /**
161
+ * Register an update lifecycle hook.
162
+ * Called after the component updates.
163
+ *
164
+ * @param hook - The hook function to execute on update
165
+ */
130
166
  declare function onUpdate(hook: LifecycleHook): void;
131
167
 
132
168
  /**
133
- * Add event listener with automatic cleanup on context destruction
169
+ * Add event listener with automatic cleanup on scope destruction
134
170
  */
135
171
  declare function addEventListener(element: Element, event: string, handler: EventListener, options?: AddEventListenerOptions): void;
136
172
  /**
@@ -140,23 +176,6 @@ declare function addEventListener(element: Element, event: string, handler: Even
140
176
  * @param setter The setter function to call when the element's value changes.
141
177
  */
142
178
  declare function bindElement(node: Element, key: any, defaultValue: any, setter: (value: unknown) => void): void;
143
- /**
144
- * Reactive node insertion with binding support
145
- *
146
- * @param parent Parent node
147
- * @param nodeFactory Node factory function or static node
148
- * @param before Reference node for insertion position
149
- *
150
- * @example
151
- * ```typescript
152
- * insert(container, () => message.value, null);
153
- * insert(container, staticElement, referenceNode);
154
- * insert(container, "Hello World", null); // Direct string support
155
- * ```
156
- */
157
- interface InsertOptions {
158
- preserveOnCleanup?: boolean;
159
- }
160
179
  /**
161
180
  * Reactive node insertion with binding support
162
181
  *
@@ -172,7 +191,7 @@ interface InsertOptions {
172
191
  * insert(container, "Hello World", null); // Direct string support
173
192
  * ```
174
193
  */
175
- declare function insert(parent: Node, nodeFactory: Function | Node | string, before?: Node, options?: InsertOptions): void;
194
+ declare function insert(parent: Node, nodeFactory: (() => Node | AnyNode[]) | Node | string | AnyNode[], before?: Node): AnyNode[] | undefined;
176
195
  /**
177
196
  * Map nodes from template by indexes
178
197
  */
@@ -185,6 +204,15 @@ declare function mapNodes(template: Node, indexes: number[]): Node[];
185
204
  */
186
205
  declare function delegateEvents(eventNames: string[], document?: Document): void;
187
206
 
207
+ /**
208
+ * Create a reactive proxy that excludes specified properties
209
+ *
210
+ * @param target - The original reactive object
211
+ * @param keys - List of property names to exclude
212
+ * @returns A reactive proxy with specified properties excluded
213
+ */
214
+ declare function omitProps<T extends object, K extends keyof T>(target: T, keys: K[]): Omit<T, K>;
215
+
188
216
  /**
189
217
  * Patches the class attribute of an element
190
218
  * Supports silent hydration (skips DOM updates during hydration phase)
@@ -223,7 +251,7 @@ declare function patchStyle(el: HTMLElement, prev: unknown, next: unknown): void
223
251
  */
224
252
  declare function setStyle(style: CSSStyleDeclaration, name: string, val: string | string[]): void;
225
253
 
226
- type AttrValue = string | boolean | number | null | undefined;
254
+ type AttrValue = string | boolean | number | null | undefined | Record<string, unknown>;
227
255
  declare function patchAttr(el: Element, key: string, prev: AttrValue, next: AttrValue): void;
228
256
 
229
257
  /**
@@ -254,2232 +282,8 @@ type EventCleanup = () => void;
254
282
  */
255
283
  declare function addEvent(el: Element, event: string, handler: EventListener, options?: EventOptions): EventCleanup;
256
284
 
257
- type estComponent = (props: Record<string, unknown>) => JSX.Element | TemplateNode;
258
-
259
- interface estNode<T = Record<string, any>> {
260
- props?: T;
261
- template: estComponent | HTMLTemplateElement;
262
-
263
- get firstChild(): Node | null;
264
- get isConnected(): boolean;
265
-
266
- addEventListener(event: string, listener: any): void;
267
- removeEventListener(event: string, listener: any): void;
268
- inheritNode(node: ComponentNode): void;
269
- mount(parent: Node, before?: Node | null): Node[];
270
- unmount(): void;
271
- }
272
-
273
- /**
274
- * Based on JSX types for Surplus and Inferno and adapted for `dom-expressions`.
275
- *
276
- * https://github.com/adamhaile/surplus/blob/master/index.d.ts
277
- * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts
278
- */
279
- type DOMElement = Element;
280
- declare const SERIALIZABLE: unique symbol;
281
-
282
- declare global {
283
- export namespace JSX {
284
- export type Element = estNode;
285
- export type JSXElement = estNode;
286
-
287
- type Children =
288
- | string
289
- | number
290
- | boolean
291
- | Date
292
- | Node
293
- | Element
294
- | Effect
295
- | Children[]
296
- | null
297
- | undefined;
298
- type Effect = () => Children;
299
- interface ArrayElement extends Array<Element> {}
300
- interface ElementClass {
301
- // empty, libs can define requirements downstream
302
- }
303
- interface ElementAttributesProperty {
304
- // empty, libs can define requirements downstream
305
- }
306
- interface ElementChildrenAttribute {
307
- children: {};
308
- }
309
- type EventHandler<T, E extends Event> = (
310
- e: E & {
311
- currentTarget: T;
312
- target: DOMElement;
313
- },
314
- ) => void;
315
- interface BoundEventHandler<T, E extends Event> {
316
- 0: (
317
- data: any,
318
- e: E & {
319
- currentTarget: T;
320
- target: DOMElement;
321
- },
322
- ) => void;
323
- 1: any;
324
- }
325
- type EventHandlerUnion<T, E extends Event> = EventHandler<T, E> | BoundEventHandler<T, E>;
326
-
327
- type InputEventHandler<T, E extends InputEvent> = (
328
- e: E & {
329
- currentTarget: T;
330
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
331
- ? T
332
- : DOMElement;
333
- },
334
- ) => void;
335
- interface BoundInputEventHandler<T, E extends InputEvent> {
336
- 0: (
337
- data: any,
338
- e: E & {
339
- currentTarget: T;
340
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
341
- ? T
342
- : DOMElement;
343
- },
344
- ) => void;
345
- 1: any;
346
- }
347
- type InputEventHandlerUnion<T, E extends InputEvent> =
348
- | InputEventHandler<T, E>
349
- | BoundInputEventHandler<T, E>;
350
-
351
- type ChangeEventHandler<T, E extends Event> = (
352
- e: E & {
353
- currentTarget: T;
354
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
355
- ? T
356
- : DOMElement;
357
- },
358
- ) => void;
359
- interface BoundChangeEventHandler<T, E extends Event> {
360
- 0: (
361
- data: any,
362
- e: E & {
363
- currentTarget: T;
364
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
365
- ? T
366
- : DOMElement;
367
- },
368
- ) => void;
369
- 1: any;
370
- }
371
- type ChangeEventHandlerUnion<T, E extends Event> =
372
- | ChangeEventHandler<T, E>
373
- | BoundChangeEventHandler<T, E>;
374
-
375
- type FocusEventHandler<T, E extends FocusEvent> = (
376
- e: E & {
377
- currentTarget: T;
378
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
379
- ? T
380
- : DOMElement;
381
- },
382
- ) => void;
383
- interface BoundFocusEventHandler<T, E extends FocusEvent> {
384
- 0: (
385
- data: any,
386
- e: E & {
387
- currentTarget: T;
388
- target: T extends HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement
389
- ? T
390
- : DOMElement;
391
- },
392
- ) => void;
393
- 1: any;
394
- }
395
- type FocusEventHandlerUnion<T, E extends FocusEvent> =
396
- | FocusEventHandler<T, E>
397
- | BoundFocusEventHandler<T, E>;
398
-
399
- interface SerializableAttributeValue {
400
- toString(): string;
401
- [SERIALIZABLE]: never;
402
- }
403
-
404
- interface IntrinsicAttributes {
405
- ref?: unknown | ((e: unknown) => void);
406
- }
407
- interface CustomAttributes<T> {
408
- ref?: Signal<T> | ((el: T) => void);
409
- key?: string | number | symbol;
410
- }
411
- type Accest<T> = () => T;
412
- interface Directives {}
413
- interface DirectiveFunctions {
414
- [x: string]: (el: DOMElement, accest: Accest<any>) => void;
415
- }
416
- interface ExplicitProperties<T> {
417
- value: Signal<T>;
418
- updateValue: (value: T) => void;
419
- }
420
-
421
- interface ExplicitAttributes {}
422
- interface CustomEvents {}
423
- interface CustomCaptureEvents {}
424
- type OnCaptureAttributes<T> = {
425
- [Key in keyof CustomCaptureEvents as `oncapture:${Key}`]?: EventHandler<
426
- T,
427
- CustomCaptureEvents[Key]
428
- >;
429
- };
430
- type PropAttributes<T> = {
431
- [Key in keyof ExplicitProperties]?: ExplicitProperties<T>[Key];
432
- };
433
- interface DOMAttributes<T>
434
- extends
435
- CustomAttributes<T>,
436
- PropAttributes<T>,
437
- OnCaptureAttributes<T>,
438
- CustomEventHandlersCamelCase<T>,
439
- CustomEventHandlersLowerCase<T> {
440
- children?: Children;
441
- innerHTML?: string;
442
- innerText?: string | number;
443
- textContent?: string | number;
444
- // camel case events
445
- onCopy?: EventHandlerUnion<T, ClipboardEvent>;
446
- onCut?: EventHandlerUnion<T, ClipboardEvent>;
447
- onPaste?: EventHandlerUnion<T, ClipboardEvent>;
448
- onCompositionEnd?: EventHandlerUnion<T, CompositionEvent>;
449
- onCompositionStart?: EventHandlerUnion<T, CompositionEvent>;
450
- onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent>;
451
- onFocusOut?: FocusEventHandlerUnion<T, FocusEvent>;
452
- onFocusIn?: FocusEventHandlerUnion<T, FocusEvent>;
453
- onEncrypted?: EventHandlerUnion<T, Event>;
454
- onDragExit?: EventHandlerUnion<T, DragEvent>;
455
- // lower case events
456
- oncopy?: EventHandlerUnion<T, ClipboardEvent>;
457
- oncut?: EventHandlerUnion<T, ClipboardEvent>;
458
- onpaste?: EventHandlerUnion<T, ClipboardEvent>;
459
- oncompositionend?: EventHandlerUnion<T, CompositionEvent>;
460
- oncompositionstart?: EventHandlerUnion<T, CompositionEvent>;
461
- oncompositionupdate?: EventHandlerUnion<T, CompositionEvent>;
462
- onfocusout?: FocusEventHandlerUnion<T, FocusEvent>;
463
- onfocusin?: FocusEventHandlerUnion<T, FocusEvent>;
464
- onencrypted?: EventHandlerUnion<T, Event>;
465
- ondragexit?: EventHandlerUnion<T, DragEvent>;
466
- }
467
- interface CustomEventHandlersCamelCase<T> {
468
- onAbort?: EventHandlerUnion<T, Event>;
469
- onAnimationEnd?: EventHandlerUnion<T, AnimationEvent>;
470
- onAnimationIteration?: EventHandlerUnion<T, AnimationEvent>;
471
- onAnimationStart?: EventHandlerUnion<T, AnimationEvent>;
472
- onAuxClick?: EventHandlerUnion<T, MouseEvent>;
473
- onBeforeInput?: InputEventHandlerUnion<T, InputEvent>;
474
- onBlur?: FocusEventHandlerUnion<T, FocusEvent>;
475
- onCanPlay?: EventHandlerUnion<T, Event>;
476
- onCanPlayThrough?: EventHandlerUnion<T, Event>;
477
- onChange?: ChangeEventHandlerUnion<T, Event>;
478
- onClick?: EventHandlerUnion<T, MouseEvent>;
479
- onContextMenu?: EventHandlerUnion<T, MouseEvent>;
480
- onDblClick?: EventHandlerUnion<T, MouseEvent>;
481
- onDrag?: EventHandlerUnion<T, DragEvent>;
482
- onDragEnd?: EventHandlerUnion<T, DragEvent>;
483
- onDragEnter?: EventHandlerUnion<T, DragEvent>;
484
- onDragLeave?: EventHandlerUnion<T, DragEvent>;
485
- onDragOver?: EventHandlerUnion<T, DragEvent>;
486
- onDragStart?: EventHandlerUnion<T, DragEvent>;
487
- onDrop?: EventHandlerUnion<T, DragEvent>;
488
- onDurationChange?: EventHandlerUnion<T, Event>;
489
- onEmptied?: EventHandlerUnion<T, Event>;
490
- onEnded?: EventHandlerUnion<T, Event>;
491
- onError?: EventHandlerUnion<T, Event>;
492
- onFocus?: FocusEventHandlerUnion<T, FocusEvent>;
493
- onGotPointerCapture?: EventHandlerUnion<T, PointerEvent>;
494
- onInput?: InputEventHandlerUnion<T, InputEvent>;
495
- onInvalid?: EventHandlerUnion<T, Event>;
496
- onKeyDown?: EventHandlerUnion<T, KeyboardEvent>;
497
- onKeyPress?: EventHandlerUnion<T, KeyboardEvent>;
498
- onKeyUp?: EventHandlerUnion<T, KeyboardEvent>;
499
- onLoad?: EventHandlerUnion<T, Event>;
500
- onLoadedData?: EventHandlerUnion<T, Event>;
501
- onLoadedMetadata?: EventHandlerUnion<T, Event>;
502
- onLoadStart?: EventHandlerUnion<T, Event>;
503
- onLostPointerCapture?: EventHandlerUnion<T, PointerEvent>;
504
- onMouseDown?: EventHandlerUnion<T, MouseEvent>;
505
- onMouseEnter?: EventHandlerUnion<T, MouseEvent>;
506
- onMouseLeave?: EventHandlerUnion<T, MouseEvent>;
507
- onMouseMove?: EventHandlerUnion<T, MouseEvent>;
508
- onMouseOut?: EventHandlerUnion<T, MouseEvent>;
509
- onMouseOver?: EventHandlerUnion<T, MouseEvent>;
510
- onMouseUp?: EventHandlerUnion<T, MouseEvent>;
511
- onPause?: EventHandlerUnion<T, Event>;
512
- onPlay?: EventHandlerUnion<T, Event>;
513
- onPlaying?: EventHandlerUnion<T, Event>;
514
- onPointerCancel?: EventHandlerUnion<T, PointerEvent>;
515
- onPointerDown?: EventHandlerUnion<T, PointerEvent>;
516
- onPointerEnter?: EventHandlerUnion<T, PointerEvent>;
517
- onPointerLeave?: EventHandlerUnion<T, PointerEvent>;
518
- onPointerMove?: EventHandlerUnion<T, PointerEvent>;
519
- onPointerOut?: EventHandlerUnion<T, PointerEvent>;
520
- onPointerOver?: EventHandlerUnion<T, PointerEvent>;
521
- onPointerUp?: EventHandlerUnion<T, PointerEvent>;
522
- onProgress?: EventHandlerUnion<T, Event>;
523
- onRateChange?: EventHandlerUnion<T, Event>;
524
- onReset?: EventHandlerUnion<T, Event>;
525
- onScroll?: EventHandlerUnion<T, Event>;
526
- onScrollEnd?: EventHandlerUnion<T, Event>;
527
- onSeeked?: EventHandlerUnion<T, Event>;
528
- onSeeking?: EventHandlerUnion<T, Event>;
529
- onSelect?: EventHandlerUnion<T, UIEvent>;
530
- onStalled?: EventHandlerUnion<T, Event>;
531
- onSubmit?: EventHandlerUnion<
532
- T,
533
- Event & {
534
- submitter: HTMLElement;
535
- }
536
- >;
537
- onSuspend?: EventHandlerUnion<T, Event>;
538
- onTimeUpdate?: EventHandlerUnion<T, Event>;
539
- onTouchCancel?: EventHandlerUnion<T, TouchEvent>;
540
- onTouchEnd?: EventHandlerUnion<T, TouchEvent>;
541
- onTouchMove?: EventHandlerUnion<T, TouchEvent>;
542
- onTouchStart?: EventHandlerUnion<T, TouchEvent>;
543
- onTransitionStart?: EventHandlerUnion<T, TransitionEvent>;
544
- onTransitionEnd?: EventHandlerUnion<T, TransitionEvent>;
545
- onTransitionRun?: EventHandlerUnion<T, TransitionEvent>;
546
- onTransitionCancel?: EventHandlerUnion<T, TransitionEvent>;
547
- onVolumeChange?: EventHandlerUnion<T, Event>;
548
- onWaiting?: EventHandlerUnion<T, Event>;
549
- onWheel?: EventHandlerUnion<T, WheelEvent>;
550
- }
551
- /**
552
- * @type {GlobalEventHandlers}
553
- */
554
- interface CustomEventHandlersLowerCase<T> {
555
- onabort?: EventHandlerUnion<T, Event>;
556
- onanimationend?: EventHandlerUnion<T, AnimationEvent>;
557
- onanimationiteration?: EventHandlerUnion<T, AnimationEvent>;
558
- onanimationstart?: EventHandlerUnion<T, AnimationEvent>;
559
- onauxclick?: EventHandlerUnion<T, MouseEvent>;
560
- onbeforeinput?: InputEventHandlerUnion<T, InputEvent>;
561
- onblur?: FocusEventHandlerUnion<T, FocusEvent>;
562
- oncanplay?: EventHandlerUnion<T, Event>;
563
- oncanplaythrough?: EventHandlerUnion<T, Event>;
564
- onchange?: ChangeEventHandlerUnion<T, Event>;
565
- onclick?: EventHandlerUnion<T, MouseEvent>;
566
- oncontextmenu?: EventHandlerUnion<T, MouseEvent>;
567
- ondblclick?: EventHandlerUnion<T, MouseEvent>;
568
- ondrag?: EventHandlerUnion<T, DragEvent>;
569
- ondragend?: EventHandlerUnion<T, DragEvent>;
570
- ondragenter?: EventHandlerUnion<T, DragEvent>;
571
- ondragleave?: EventHandlerUnion<T, DragEvent>;
572
- ondragover?: EventHandlerUnion<T, DragEvent>;
573
- ondragstart?: EventHandlerUnion<T, DragEvent>;
574
- ondrop?: EventHandlerUnion<T, DragEvent>;
575
- ondurationchange?: EventHandlerUnion<T, Event>;
576
- onemptied?: EventHandlerUnion<T, Event>;
577
- onended?: EventHandlerUnion<T, Event>;
578
- onerror?: EventHandlerUnion<T, Event>;
579
- onfocus?: FocusEventHandlerUnion<T, FocusEvent>;
580
- ongotpointercapture?: EventHandlerUnion<T, PointerEvent>;
581
- oninput?: InputEventHandlerUnion<T, InputEvent>;
582
- oninvalid?: EventHandlerUnion<T, Event>;
583
- onkeydown?: EventHandlerUnion<T, KeyboardEvent>;
584
- onkeypress?: EventHandlerUnion<T, KeyboardEvent>;
585
- onkeyup?: EventHandlerUnion<T, KeyboardEvent>;
586
- onload?: EventHandlerUnion<T, Event>;
587
- onloadeddata?: EventHandlerUnion<T, Event>;
588
- onloadedmetadata?: EventHandlerUnion<T, Event>;
589
- onloadstart?: EventHandlerUnion<T, Event>;
590
- onlostpointercapture?: EventHandlerUnion<T, PointerEvent>;
591
- onmousedown?: EventHandlerUnion<T, MouseEvent>;
592
- onmouseenter?: EventHandlerUnion<T, MouseEvent>;
593
- onmouseleave?: EventHandlerUnion<T, MouseEvent>;
594
- onmousemove?: EventHandlerUnion<T, MouseEvent>;
595
- onmouseout?: EventHandlerUnion<T, MouseEvent>;
596
- onmouseover?: EventHandlerUnion<T, MouseEvent>;
597
- onmouseup?: EventHandlerUnion<T, MouseEvent>;
598
- onpause?: EventHandlerUnion<T, Event>;
599
- onplay?: EventHandlerUnion<T, Event>;
600
- onplaying?: EventHandlerUnion<T, Event>;
601
- onpointercancel?: EventHandlerUnion<T, PointerEvent>;
602
- onpointerdown?: EventHandlerUnion<T, PointerEvent>;
603
- onpointerenter?: EventHandlerUnion<T, PointerEvent>;
604
- onpointerleave?: EventHandlerUnion<T, PointerEvent>;
605
- onpointermove?: EventHandlerUnion<T, PointerEvent>;
606
- onpointerout?: EventHandlerUnion<T, PointerEvent>;
607
- onpointerover?: EventHandlerUnion<T, PointerEvent>;
608
- onpointerup?: EventHandlerUnion<T, PointerEvent>;
609
- onprogress?: EventHandlerUnion<T, Event>;
610
- onratechange?: EventHandlerUnion<T, Event>;
611
- onreset?: EventHandlerUnion<T, Event>;
612
- onscroll?: EventHandlerUnion<T, Event>;
613
- onscrollend?: EventHandlerUnion<T, Event>;
614
- onseeked?: EventHandlerUnion<T, Event>;
615
- onseeking?: EventHandlerUnion<T, Event>;
616
- onselect?: EventHandlerUnion<T, UIEvent>;
617
- onstalled?: EventHandlerUnion<T, Event>;
618
- onsubmit?: EventHandlerUnion<
619
- T,
620
- Event & {
621
- submitter: HTMLElement;
622
- }
623
- >;
624
- onsuspend?: EventHandlerUnion<T, Event>;
625
- ontimeupdate?: EventHandlerUnion<T, Event>;
626
- ontouchcancel?: EventHandlerUnion<T, TouchEvent>;
627
- ontouchend?: EventHandlerUnion<T, TouchEvent>;
628
- ontouchmove?: EventHandlerUnion<T, TouchEvent>;
629
- ontouchstart?: EventHandlerUnion<T, TouchEvent>;
630
- ontransitionstart?: EventHandlerUnion<T, TransitionEvent>;
631
- ontransitionend?: EventHandlerUnion<T, TransitionEvent>;
632
- ontransitionrun?: EventHandlerUnion<T, TransitionEvent>;
633
- ontransitioncancel?: EventHandlerUnion<T, TransitionEvent>;
634
- onvolumechange?: EventHandlerUnion<T, Event>;
635
- onwaiting?: EventHandlerUnion<T, Event>;
636
- onwheel?: EventHandlerUnion<T, WheelEvent>;
637
- }
638
-
639
- interface CSSProperties extends csstype.PropertiesHyphen {
640
- // Override
641
- [key: `-${string}`]: string | number | undefined;
642
- }
643
-
644
- type HTMLAutocapitalize = 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
645
- type HTMLDir = 'ltr' | 'rtl' | 'auto';
646
- type HTMLFormEncType =
647
- | 'application/x-www-form-urlencoded'
648
- | 'multipart/form-data'
649
- | 'text/plain';
650
- type HTMLFormMethod = 'post' | 'get' | 'dialog';
651
- type HTMLCrossorigin = 'anonymous' | 'use-credentials' | '';
652
- type HTMLReferrerPolicy =
653
- | 'no-referrer'
654
- | 'no-referrer-when-downgrade'
655
- | 'origin'
656
- | 'origin-when-cross-origin'
657
- | 'same-origin'
658
- | 'strict-origin'
659
- | 'strict-origin-when-cross-origin'
660
- | 'unsafe-url';
661
- type HTMLIframeSandbox =
662
- | 'allow-downloads-without-user-activation'
663
- | 'allow-downloads'
664
- | 'allow-forms'
665
- | 'allow-modals'
666
- | 'allow-orientation-lock'
667
- | 'allow-pointer-lock'
668
- | 'allow-popups'
669
- | 'allow-popups-to-escapeHTML-sandbox'
670
- | 'allow-presentation'
671
- | 'allow-same-origin'
672
- | 'allow-scripts'
673
- | 'allow-storage-access-by-user-activation'
674
- | 'allow-top-navigation'
675
- | 'allow-top-navigation-by-user-activation'
676
- | 'allow-top-navigation-to-custom-protocols';
677
- type HTMLLinkAs =
678
- | 'audio'
679
- | 'document'
680
- | 'embed'
681
- | 'fetch'
682
- | 'font'
683
- | 'image'
684
- | 'object'
685
- | 'script'
686
- | 'style'
687
- | 'track'
688
- | 'video'
689
- | 'worker';
690
-
691
- // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
692
- interface AriaAttributes {
693
- /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
694
- 'aria-activedescendant'?: string;
695
- /** 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. */
696
- 'aria-atomic'?: boolean | 'false' | 'true';
697
- /**
698
- * 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
699
- * presented if they are made.
700
- */
701
- 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both';
702
- /** 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. */
703
- 'aria-busy'?: boolean | 'false' | 'true';
704
- /**
705
- * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
706
- * @see aria-pressed @see aria-selected.
707
- */
708
- 'aria-checked'?: boolean | 'false' | 'mixed' | 'true';
709
- /**
710
- * Defines the total number of columns in a table, grid, or treegrid.
711
- * @see aria-colindex.
712
- */
713
- 'aria-colcount'?: number | string;
714
- /**
715
- * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
716
- * @see aria-colcount @see aria-colspan.
717
- */
718
- 'aria-colindex'?: number | string;
719
- /**
720
- * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
721
- * @see aria-colindex @see aria-rowspan.
722
- */
723
- 'aria-colspan'?: number | string;
724
- /**
725
- * Identifies the element (or elements) whose contents or presence are controlled by the current element.
726
- * @see aria-owns.
727
- */
728
- 'aria-controls'?: string;
729
- /** Indicates the element that represents the current item within a container or set of related elements. */
730
- 'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time';
731
- /**
732
- * Identifies the element (or elements) that describes the object.
733
- * @see aria-labelledby
734
- */
735
- 'aria-describedby'?: string;
736
- /**
737
- * Identifies the element that provides a detailed, extended description for the object.
738
- * @see aria-describedby.
739
- */
740
- 'aria-details'?: string;
741
- /**
742
- * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
743
- * @see aria-hidden @see aria-readonly.
744
- */
745
- 'aria-disabled'?: boolean | 'false' | 'true';
746
- /**
747
- * Indicates what functions can be performed when a dragged object is released on the drop target.
748
- * @deprecated in ARIA 1.1
749
- */
750
- 'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
751
- /**
752
- * Identifies the element that provides an error message for the object.
753
- * @see aria-invalid @see aria-describedby.
754
- */
755
- 'aria-errormessage'?: string;
756
- /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
757
- 'aria-expanded'?: boolean | 'false' | 'true';
758
- /**
759
- * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
760
- * allows assistive technology to override the general default of reading in document source order.
761
- */
762
- 'aria-flowto'?: string;
763
- /**
764
- * Indicates an element's "grabbed" state in a drag-and-drop operation.
765
- * @deprecated in ARIA 1.1
766
- */
767
- 'aria-grabbed'?: boolean | 'false' | 'true';
768
- /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
769
- 'aria-haspopup'?:
770
- | boolean
771
- | 'false'
772
- | 'true'
773
- | 'menu'
774
- | 'listbox'
775
- | 'tree'
776
- | 'grid'
777
- | 'dialog';
778
- /**
779
- * Indicates whether the element is exposed to an accessibility API.
780
- * @see aria-disabled.
781
- */
782
- 'aria-hidden'?: boolean | 'false' | 'true';
783
- /**
784
- * Indicates the entered value does not conform to the format expected by the application.
785
- * @see aria-errormessage.
786
- */
787
- 'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling';
788
- /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
789
- 'aria-keyshortcuts'?: string;
790
- /**
791
- * Defines a string value that labels the current element.
792
- * @see aria-labelledby.
793
- */
794
- 'aria-label'?: string;
795
- /**
796
- * Identifies the element (or elements) that labels the current element.
797
- * @see aria-describedby.
798
- */
799
- 'aria-labelledby'?: string;
800
- /** Defines the hierarchical level of an element within a structure. */
801
- 'aria-level'?: number | string;
802
- /** Indicates that an element will be update, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
803
- 'aria-live'?: 'off' | 'assertive' | 'polite';
804
- /** Indicates whether an element is modal when displayed. */
805
- 'aria-modal'?: boolean | 'false' | 'true';
806
- /** Indicates whether a text box accepts multiple lines of input or only a single line. */
807
- 'aria-multiline'?: boolean | 'false' | 'true';
808
- /** Indicates that the user may select more than one item from the current selectable descendants. */
809
- 'aria-multiselectable'?: boolean | 'false' | 'true';
810
- /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
811
- 'aria-orientation'?: 'horizontal' | 'vertical';
812
- /**
813
- * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
814
- * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
815
- * @see aria-controls.
816
- */
817
- 'aria-owns'?: string;
818
- /**
819
- * Defines a short hint (a word or short phrase) intended to aid the user with data entry when the control has no value.
820
- * A hint could be a sample value or a brief description of the expected format.
821
- */
822
- 'aria-placeholder'?: string;
823
- /**
824
- * 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.
825
- * @see aria-setsize.
826
- */
827
- 'aria-posinset'?: number | string;
828
- /**
829
- * Indicates the current "pressed" state of toggle buttons.
830
- * @see aria-checked @see aria-selected.
831
- */
832
- 'aria-pressed'?: boolean | 'false' | 'mixed' | 'true';
833
- /**
834
- * Indicates that the element is not editable, but is otherwise operable.
835
- * @see aria-disabled.
836
- */
837
- 'aria-readonly'?: boolean | 'false' | 'true';
838
- /**
839
- * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
840
- * @see aria-atomic.
841
- */
842
- 'aria-relevant'?:
843
- | 'additions'
844
- | 'additions removals'
845
- | 'additions text'
846
- | 'all'
847
- | 'removals'
848
- | 'removals additions'
849
- | 'removals text'
850
- | 'text'
851
- | 'text additions'
852
- | 'text removals';
853
- /** Indicates that user input is required on the element before a form may be submitted. */
854
- 'aria-required'?: boolean | 'false' | 'true';
855
- /** Defines a human-readable, author-localized description for the role of an element. */
856
- 'aria-roledescription'?: string;
857
- /**
858
- * Defines the total number of rows in a table, grid, or treegrid.
859
- * @see aria-rowindex.
860
- */
861
- 'aria-rowcount'?: number | string;
862
- /**
863
- * Defines an element's row index or position with respect to the total number of rows within a table, grid, or treegrid.
864
- * @see aria-rowcount @see aria-rowspan.
865
- */
866
- 'aria-rowindex'?: number | string;
867
- /**
868
- * Defines the number of rows spanned by a cell or gridcell within a table, grid, or treegrid.
869
- * @see aria-rowindex @see aria-colspan.
870
- */
871
- 'aria-rowspan'?: number | string;
872
- /**
873
- * Indicates the current "selected" state of various widgets.
874
- * @see aria-checked @see aria-pressed.
875
- */
876
- 'aria-selected'?: boolean | 'false' | 'true';
877
- /**
878
- * 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.
879
- * @see aria-posinset.
880
- */
881
- 'aria-setsize'?: number | string;
882
- /** Indicates if items in a table or grid are sorted in ascending or descending order. */
883
- 'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other';
884
- /** Defines the maximum allowed value for a range widget. */
885
- 'aria-valuemax'?: number | string;
886
- /** Defines the minimum allowed value for a range widget. */
887
- 'aria-valuemin'?: number | string;
888
- /**
889
- * Defines the current value for a range widget.
890
- * @see aria-valuetext.
891
- */
892
- 'aria-valuenow'?: number | string;
893
- /** Defines the human readable text alternative of aria-valuenow for a range widget. */
894
- 'aria-valuetext'?: string;
895
- 'role'?:
896
- | 'alert'
897
- | 'alertdialog'
898
- | 'application'
899
- | 'article'
900
- | 'banner'
901
- | 'button'
902
- | 'cell'
903
- | 'checkbox'
904
- | 'columnheader'
905
- | 'combobox'
906
- | 'complementary'
907
- | 'contentinfo'
908
- | 'definition'
909
- | 'dialog'
910
- | 'directory'
911
- | 'document'
912
- | 'feed'
913
- | 'figure'
914
- | 'form'
915
- | 'grid'
916
- | 'gridcell'
917
- | 'group'
918
- | 'heading'
919
- | 'img'
920
- | 'link'
921
- | 'list'
922
- | 'listbox'
923
- | 'listitem'
924
- | 'log'
925
- | 'main'
926
- | 'marquee'
927
- | 'math'
928
- | 'menu'
929
- | 'menubar'
930
- | 'menuitem'
931
- | 'menuitemcheckbox'
932
- | 'menuitemradio'
933
- | 'meter'
934
- | 'navigation'
935
- | 'none'
936
- | 'note'
937
- | 'option'
938
- | 'presentation'
939
- | 'progressbar'
940
- | 'radio'
941
- | 'radiogroup'
942
- | 'region'
943
- | 'row'
944
- | 'rowgroup'
945
- | 'rowheader'
946
- | 'scrollbar'
947
- | 'search'
948
- | 'searchbox'
949
- | 'separator'
950
- | 'slider'
951
- | 'spinbutton'
952
- | 'status'
953
- | 'switch'
954
- | 'tab'
955
- | 'table'
956
- | 'tablist'
957
- | 'tabpanel'
958
- | 'term'
959
- | 'textbox'
960
- | 'timer'
961
- | 'toolbar'
962
- | 'tooltip'
963
- | 'tree'
964
- | 'treegrid'
965
- | 'treeitem';
966
- }
967
-
968
- interface HTMLAttributes<T> extends AriaAttributes, DOMAttributes<T> {
969
- accessKey?: string;
970
- class?: string | undefined;
971
- contenteditable?: boolean | 'plaintext-only' | 'inherit';
972
- contextmenu?: string;
973
- dir?: HTMLDir;
974
- draggable?: boolean | 'false' | 'true';
975
- hidden?: boolean | 'hidden' | 'until-found';
976
- id?: string;
977
- inert?: boolean;
978
- lang?: string;
979
- spellcheck?: boolean;
980
- style?: CSSProperties | string;
981
- tabindex?: number | string;
982
- title?: string;
983
- translate?: 'yes' | 'no';
984
- about?: string;
985
- datatype?: string;
986
- inlist?: any;
987
- popover?: boolean | 'manual' | 'auto';
988
- prefix?: string;
989
- property?: string;
990
- resource?: string;
991
- typeof?: string;
992
- vocab?: string;
993
- autocapitalize?: HTMLAutocapitalize;
994
- slot?: string;
995
- color?: string;
996
- itemprop?: string;
997
- itemscope?: boolean;
998
- itemtype?: string;
999
- itemid?: string;
1000
- itemref?: string;
1001
- part?: string;
1002
- exportparts?: string;
1003
- inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
1004
- contentEditable?: boolean | 'plaintext-only' | 'inherit';
1005
- contextMenu?: string;
1006
- tabIndex?: number | string;
1007
- autoCapitalize?: HTMLAutocapitalize;
1008
- itemProp?: string;
1009
- itemScope?: boolean;
1010
- itemType?: string;
1011
- itemId?: string;
1012
- itemRef?: string;
1013
- exportParts?: string;
1014
- inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
1015
- }
1016
- interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
1017
- download?: any;
1018
- href?: string;
1019
- hreflang?: string;
1020
- media?: string;
1021
- ping?: string;
1022
- referrerpolicy?: HTMLReferrerPolicy;
1023
- rel?: string;
1024
- target?: string;
1025
- type?: string;
1026
- referrerPolicy?: HTMLReferrerPolicy;
1027
- }
1028
- interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {}
1029
- interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
1030
- alt?: string;
1031
- coords?: string;
1032
- download?: any;
1033
- href?: string;
1034
- hreflang?: string;
1035
- ping?: string;
1036
- referrerpolicy?: HTMLReferrerPolicy;
1037
- rel?: string;
1038
- shape?: 'rect' | 'circle' | 'poly' | 'default';
1039
- target?: string;
1040
- referrerPolicy?: HTMLReferrerPolicy;
1041
- }
1042
- interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
1043
- href?: string;
1044
- target?: string;
1045
- }
1046
- interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
1047
- cite?: string;
1048
- }
1049
- interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
1050
- autofocus?: boolean;
1051
- disabled?: boolean;
1052
- form?: string;
1053
- formaction?: string | SerializableAttributeValue;
1054
- formenctype?: HTMLFormEncType;
1055
- formmethod?: HTMLFormMethod;
1056
- formnovalidate?: boolean;
1057
- formtarget?: string;
1058
- popovertarget?: string;
1059
- popovertargetaction?: 'hide' | 'show' | 'toggle';
1060
- name?: string;
1061
- type?: 'submit' | 'reset' | 'button';
1062
- value?: string;
1063
- formAction?: string | SerializableAttributeValue;
1064
- formEnctype?: HTMLFormEncType;
1065
- formMethod?: HTMLFormMethod;
1066
- formNoValidate?: boolean;
1067
- formTarget?: string;
1068
- popoverTarget?: string;
1069
- popoverTargetAction?: 'hide' | 'show' | 'toggle';
1070
- }
1071
- interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
1072
- width?: number | string;
1073
- height?: number | string;
1074
- }
1075
- interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
1076
- span?: number | string;
1077
- width?: number | string;
1078
- }
1079
- interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1080
- span?: number | string;
1081
- }
1082
- interface DataHTMLAttributes<T> extends HTMLAttributes<T> {
1083
- value?: string | string[] | number;
1084
- }
1085
- interface DetailsHtmlAttributes<T> extends HTMLAttributes<T> {
1086
- open?: boolean;
1087
- onToggle?: EventHandlerUnion<T, Event>;
1088
- ontoggle?: EventHandlerUnion<T, Event>;
1089
- }
1090
- interface DialogHtmlAttributes<T> extends HTMLAttributes<T> {
1091
- open?: boolean;
1092
- onClose?: EventHandlerUnion<T, Event>;
1093
- onCancel?: EventHandlerUnion<T, Event>;
1094
- }
1095
- interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
1096
- height?: number | string;
1097
- src?: string;
1098
- type?: string;
1099
- width?: number | string;
1100
- }
1101
- interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
1102
- disabled?: boolean;
1103
- form?: string;
1104
- name?: string;
1105
- }
1106
- interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
1107
- 'accept-charset'?: string;
1108
- 'action'?: string | SerializableAttributeValue;
1109
- 'autocomplete'?: string;
1110
- 'encoding'?: HTMLFormEncType;
1111
- 'enctype'?: HTMLFormEncType;
1112
- 'method'?: HTMLFormMethod;
1113
- 'name'?: string;
1114
- 'novalidate'?: boolean;
1115
- 'target'?: string;
1116
- 'noValidate'?: boolean;
1117
- }
1118
- interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
1119
- allow?: string;
1120
- allowfullscreen?: boolean;
1121
- height?: number | string;
1122
- loading?: 'eager' | 'lazy';
1123
- name?: string;
1124
- referrerpolicy?: HTMLReferrerPolicy;
1125
- sandbox?: HTMLIframeSandbox | string;
1126
- src?: string;
1127
- srcdoc?: string;
1128
- width?: number | string;
1129
- referrerPolicy?: HTMLReferrerPolicy;
1130
- }
1131
- interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
1132
- alt?: string;
1133
- crossorigin?: HTMLCrossorigin;
1134
- decoding?: 'sync' | 'async' | 'auto';
1135
- height?: number | string;
1136
- ismap?: boolean;
1137
- isMap?: boolean;
1138
- loading?: 'eager' | 'lazy';
1139
- referrerpolicy?: HTMLReferrerPolicy;
1140
- referrerPolicy?: HTMLReferrerPolicy;
1141
- sizes?: string;
1142
- src?: string;
1143
- srcset?: string;
1144
- srcSet?: string;
1145
- usemap?: string;
1146
- useMap?: string;
1147
- width?: number | string;
1148
- crossOrigin?: HTMLCrossorigin;
1149
- elementtiming?: string;
1150
- fetchpriority?: 'high' | 'low' | 'auto';
1151
- }
1152
- interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
1153
- accept?: string;
1154
- alt?: string;
1155
- autocomplete?: string;
1156
- autocorrect?: 'on' | 'off';
1157
- autofocus?: boolean;
1158
- capture?: boolean | string;
1159
- checked?: boolean;
1160
- crossorigin?: HTMLCrossorigin;
1161
- disabled?: boolean;
1162
- enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
1163
- form?: string;
1164
- formaction?: string | SerializableAttributeValue;
1165
- formenctype?: HTMLFormEncType;
1166
- formmethod?: HTMLFormMethod;
1167
- formnovalidate?: boolean;
1168
- formtarget?: string;
1169
- height?: number | string;
1170
- incremental?: boolean;
1171
- list?: string;
1172
- max?: number | string;
1173
- maxlength?: number | string;
1174
- min?: number | string;
1175
- minlength?: number | string;
1176
- multiple?: boolean;
1177
- name?: string;
1178
- pattern?: string;
1179
- placeholder?: string;
1180
- readonly?: boolean;
1181
- results?: number;
1182
- required?: boolean;
1183
- size?: number | string;
1184
- src?: string;
1185
- step?: number | string;
1186
- type?: string;
1187
- value?: string | string[] | number;
1188
- width?: number | string;
1189
- crossOrigin?: HTMLCrossorigin;
1190
- formAction?: string | SerializableAttributeValue;
1191
- formEnctype?: HTMLFormEncType;
1192
- formMethod?: HTMLFormMethod;
1193
- formNoValidate?: boolean;
1194
- formTarget?: string;
1195
- maxLength?: number | string;
1196
- minLength?: number | string;
1197
- readOnly?: boolean;
1198
- }
1199
- interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
1200
- cite?: string;
1201
- dateTime?: string;
1202
- }
1203
- interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
1204
- autofocus?: boolean;
1205
- challenge?: string;
1206
- disabled?: boolean;
1207
- form?: string;
1208
- keytype?: string;
1209
- keyparams?: string;
1210
- name?: string;
1211
- }
1212
- interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
1213
- for?: string;
1214
- form?: string;
1215
- }
1216
- interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
1217
- value?: number | string;
1218
- }
1219
- interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
1220
- as?: HTMLLinkAs;
1221
- crossorigin?: HTMLCrossorigin;
1222
- disabled?: boolean;
1223
- fetchpriority?: 'high' | 'low' | 'auto';
1224
- href?: string;
1225
- hreflang?: string;
1226
- imagesizes?: string;
1227
- imagesrcset?: string;
1228
- integrity?: string;
1229
- media?: string;
1230
- referrerpolicy?: HTMLReferrerPolicy;
1231
- rel?: string;
1232
- sizes?: string;
1233
- type?: string;
1234
- crossOrigin?: HTMLCrossorigin;
1235
- referrerPolicy?: HTMLReferrerPolicy;
1236
- }
1237
- interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
1238
- name?: string;
1239
- }
1240
- interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1241
- autoplay?: boolean;
1242
- controls?: boolean;
1243
- crossorigin?: HTMLCrossorigin;
1244
- loop?: boolean;
1245
- mediagroup?: string;
1246
- muted?: boolean;
1247
- preload?: 'none' | 'metadata' | 'auto' | '';
1248
- src?: string;
1249
- crossOrigin?: HTMLCrossorigin;
1250
- mediaGroup?: string;
1251
- }
1252
- interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1253
- label?: string;
1254
- type?: 'context' | 'toolbar';
1255
- }
1256
- interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
1257
- 'charset'?: string;
1258
- 'content'?: string;
1259
- 'http-equiv'?: string;
1260
- 'name'?: string;
1261
- 'media'?: string;
1262
- }
1263
- interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
1264
- form?: string;
1265
- high?: number | string;
1266
- low?: number | string;
1267
- max?: number | string;
1268
- min?: number | string;
1269
- optimum?: number | string;
1270
- value?: string | string[] | number;
1271
- }
1272
- interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
1273
- cite?: string;
1274
- }
1275
- interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
1276
- data?: string;
1277
- form?: string;
1278
- height?: number | string;
1279
- name?: string;
1280
- type?: string;
1281
- usemap?: string;
1282
- width?: number | string;
1283
- useMap?: string;
1284
- }
1285
- interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
1286
- reversed?: boolean;
1287
- start?: number | string;
1288
- type?: '1' | 'a' | 'A' | 'i' | 'I';
1289
- }
1290
- interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
1291
- disabled?: boolean;
1292
- label?: string;
1293
- }
1294
- interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1295
- disabled?: boolean;
1296
- label?: string;
1297
- selected?: boolean;
1298
- value?: string | string[] | number;
1299
- }
1300
- interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1301
- form?: string;
1302
- for?: string;
1303
- name?: string;
1304
- }
1305
- interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
1306
- name?: string;
1307
- value?: string | string[] | number;
1308
- }
1309
- interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
1310
- max?: number | string;
1311
- value?: string | string[] | number;
1312
- }
1313
- interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
1314
- async?: boolean;
1315
- charset?: string;
1316
- crossorigin?: HTMLCrossorigin;
1317
- defer?: boolean;
1318
- integrity?: string;
1319
- nomodule?: boolean;
1320
- nonce?: string;
1321
- referrerpolicy?: HTMLReferrerPolicy;
1322
- src?: string;
1323
- type?: string;
1324
- crossOrigin?: HTMLCrossorigin;
1325
- noModule?: boolean;
1326
- referrerPolicy?: HTMLReferrerPolicy;
1327
- }
1328
- interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
1329
- autocomplete?: string;
1330
- autofocus?: boolean;
1331
- disabled?: boolean;
1332
- form?: string;
1333
- multiple?: boolean;
1334
- name?: string;
1335
- required?: boolean;
1336
- size?: number | string;
1337
- value?: string | string[] | number;
1338
- }
1339
- interface HTMLSlotElementAttributes<T = HTMLSlotElement> extends HTMLAttributes<T> {
1340
- name?: string;
1341
- }
1342
- interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
1343
- media?: string;
1344
- sizes?: string;
1345
- src?: string;
1346
- srcset?: string;
1347
- type?: string;
1348
- }
1349
- interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
1350
- media?: string;
1351
- nonce?: string;
1352
- scoped?: boolean;
1353
- type?: string;
1354
- }
1355
- interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
1356
- colspan?: number | string;
1357
- headers?: string;
1358
- rowspan?: number | string;
1359
- colSpan?: number | string;
1360
- rowSpan?: number | string;
1361
- }
1362
- interface TemplateHTMLAttributes<T extends HTMLTemplateElement> extends HTMLAttributes<T> {
1363
- content?: DocumentFragment;
1364
- }
1365
- interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
1366
- autocomplete?: string;
1367
- autofocus?: boolean;
1368
- cols?: number | string;
1369
- dirname?: string;
1370
- disabled?: boolean;
1371
- enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
1372
- form?: string;
1373
- maxlength?: number | string;
1374
- minlength?: number | string;
1375
- name?: string;
1376
- placeholder?: string;
1377
- readonly?: boolean;
1378
- required?: boolean;
1379
- rows?: number | string;
1380
- value?: string | string[] | number;
1381
- wrap?: 'hard' | 'soft' | 'off';
1382
- maxLength?: number | string;
1383
- minLength?: number | string;
1384
- readOnly?: boolean;
1385
- }
1386
- interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1387
- colspan?: number | string;
1388
- headers?: string;
1389
- rowspan?: number | string;
1390
- colSpan?: number | string;
1391
- rowSpan?: number | string;
1392
- scope?: 'col' | 'row' | 'rowgroup' | 'colgroup';
1393
- }
1394
- interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
1395
- datetime?: string;
1396
- dateTime?: string;
1397
- }
1398
- interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
1399
- default?: boolean;
1400
- kind?: 'subtitles' | 'captions' | 'descriptions' | 'chapters' | 'metadata';
1401
- label?: string;
1402
- src?: string;
1403
- srclang?: string;
1404
- }
1405
- interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
1406
- height?: number | string;
1407
- playsinline?: boolean;
1408
- poster?: string;
1409
- width?: number | string;
1410
- }
1411
- type SVGPreserveAspectRatio =
1412
- | 'none'
1413
- | 'xMinYMin'
1414
- | 'xMidYMin'
1415
- | 'xMaxYMin'
1416
- | 'xMinYMid'
1417
- | 'xMidYMid'
1418
- | 'xMaxYMid'
1419
- | 'xMinYMax'
1420
- | 'xMidYMax'
1421
- | 'xMaxYMax'
1422
- | 'xMinYMin meet'
1423
- | 'xMidYMin meet'
1424
- | 'xMaxYMin meet'
1425
- | 'xMinYMid meet'
1426
- | 'xMidYMid meet'
1427
- | 'xMaxYMid meet'
1428
- | 'xMinYMax meet'
1429
- | 'xMidYMax meet'
1430
- | 'xMaxYMax meet'
1431
- | 'xMinYMin slice'
1432
- | 'xMidYMin slice'
1433
- | 'xMaxYMin slice'
1434
- | 'xMinYMid slice'
1435
- | 'xMidYMid slice'
1436
- | 'xMaxYMid slice'
1437
- | 'xMinYMax slice'
1438
- | 'xMidYMax slice'
1439
- | 'xMaxYMax slice';
1440
- type ImagePreserveAspectRatio =
1441
- | SVGPreserveAspectRatio
1442
- | 'defer none'
1443
- | 'defer xMinYMin'
1444
- | 'defer xMidYMin'
1445
- | 'defer xMaxYMin'
1446
- | 'defer xMinYMid'
1447
- | 'defer xMidYMid'
1448
- | 'defer xMaxYMid'
1449
- | 'defer xMinYMax'
1450
- | 'defer xMidYMax'
1451
- | 'defer xMaxYMax'
1452
- | 'defer xMinYMin meet'
1453
- | 'defer xMidYMin meet'
1454
- | 'defer xMaxYMin meet'
1455
- | 'defer xMinYMid meet'
1456
- | 'defer xMidYMid meet'
1457
- | 'defer xMaxYMid meet'
1458
- | 'defer xMinYMax meet'
1459
- | 'defer xMidYMax meet'
1460
- | 'defer xMaxYMax meet'
1461
- | 'defer xMinYMin slice'
1462
- | 'defer xMidYMin slice'
1463
- | 'defer xMaxYMin slice'
1464
- | 'defer xMinYMid slice'
1465
- | 'defer xMidYMid slice'
1466
- | 'defer xMaxYMid slice'
1467
- | 'defer xMinYMax slice'
1468
- | 'defer xMidYMax slice'
1469
- | 'defer xMaxYMax slice';
1470
- type SVGUnits = 'userSpaceOnUse' | 'objectBoundingBox';
1471
- interface estSVGAttributes<T> extends AriaAttributes, DOMAttributes<T> {
1472
- id?: string;
1473
- lang?: string;
1474
- tabIndex?: number | string;
1475
- tabindex?: number | string;
1476
- }
1477
- interface StylableSVGAttributes {
1478
- class?: string | undefined;
1479
- style?: CSSProperties | string;
1480
- }
1481
- interface TransformableSVGAttributes {
1482
- transform?: string;
1483
- }
1484
- interface ConditionalProcessingSVGAttributes {
1485
- requiredExtensions?: string;
1486
- requiredFeatures?: string;
1487
- systemLanguage?: string;
1488
- }
1489
- interface ExternalResourceSVGAttributes {
1490
- externalResourcesRequired?: 'true' | 'false';
1491
- }
1492
- interface AnimationTimingSVGAttributes {
1493
- begin?: string;
1494
- dur?: string;
1495
- end?: string;
1496
- min?: string;
1497
- max?: string;
1498
- restart?: 'always' | 'whenNotActive' | 'never';
1499
- repeatCount?: number | 'indefinite';
1500
- repeatDur?: string;
1501
- fill?: 'freeze' | 'remove';
1502
- }
1503
- interface AnimationValueSVGAttributes {
1504
- calcMode?: 'discrete' | 'linear' | 'paced' | 'spline';
1505
- values?: string;
1506
- keyTimes?: string;
1507
- keySplines?: string;
1508
- from?: number | string;
1509
- to?: number | string;
1510
- by?: number | string;
1511
- }
1512
- interface AnimationAdditionSVGAttributes {
1513
- attributeName?: string;
1514
- additive?: 'replace' | 'sum';
1515
- accumulate?: 'none' | 'sum';
1516
- }
1517
- interface AnimationAttributeTargetSVGAttributes {
1518
- attributeName?: string;
1519
- attributeType?: 'CSS' | 'XML' | 'auto';
1520
- }
1521
- interface PresentationSVGAttributes {
1522
- 'alignment-baseline'?:
1523
- | 'auto'
1524
- | 'baseline'
1525
- | 'before-edge'
1526
- | 'text-before-edge'
1527
- | 'middle'
1528
- | 'central'
1529
- | 'after-edge'
1530
- | 'text-after-edge'
1531
- | 'ideographic'
1532
- | 'alphabetic'
1533
- | 'hanging'
1534
- | 'mathematical'
1535
- | 'inherit';
1536
- 'baseline-shift'?: number | string;
1537
- 'clip'?: string;
1538
- 'clip-path'?: string;
1539
- 'clip-rule'?: 'nonzero' | 'evenodd' | 'inherit';
1540
- 'color'?: string;
1541
- 'color-interpolation'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
1542
- 'color-interpolation-filters'?: 'auto' | 'sRGB' | 'linearRGB' | 'inherit';
1543
- 'color-profile'?: string;
1544
- 'color-rendering'?: 'auto' | 'optimizeSpeed' | 'optimizeQuality' | 'inherit';
1545
- 'cursor'?: string;
1546
- 'direction'?: 'ltr' | 'rtl' | 'inherit';
1547
- 'display'?: string;
1548
- 'dominant-baseline'?:
1549
- | 'auto'
1550
- | 'text-bottom'
1551
- | 'alphabetic'
1552
- | 'ideographic'
1553
- | 'middle'
1554
- | 'central'
1555
- | 'mathematical'
1556
- | 'hanging'
1557
- | 'text-top'
1558
- | 'inherit';
1559
- 'enable-background'?: string;
1560
- 'fill'?: string;
1561
- 'fill-opacity'?: number | string | 'inherit';
1562
- 'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
1563
- 'filter'?: string;
1564
- 'flood-color'?: string;
1565
- 'flood-opacity'?: number | string | 'inherit';
1566
- 'font-family'?: string;
1567
- 'font-size'?: string;
1568
- 'font-size-adjust'?: number | string;
1569
- 'font-stretch'?: string;
1570
- 'font-style'?: 'normal' | 'italic' | 'oblique' | 'inherit';
1571
- 'font-variant'?: string;
1572
- 'font-weight'?: number | string;
1573
- 'glyph-orientation-horizontal'?: string;
1574
- 'glyph-orientation-vertical'?: string;
1575
- 'image-rendering'?: 'auto' | 'optimizeQuality' | 'optimizeSpeed' | 'inherit';
1576
- 'kerning'?: string;
1577
- 'letter-spacing'?: number | string;
1578
- 'lighting-color'?: string;
1579
- 'marker-end'?: string;
1580
- 'marker-mid'?: string;
1581
- 'marker-start'?: string;
1582
- 'mask'?: string;
1583
- 'opacity'?: number | string | 'inherit';
1584
- 'overflow'?: 'visible' | 'hidden' | 'scroll' | 'auto' | 'inherit';
1585
- 'pathLength'?: string | number;
1586
- 'pointer-events'?:
1587
- | 'bounding-box'
1588
- | 'visiblePainted'
1589
- | 'visibleFill'
1590
- | 'visibleStroke'
1591
- | 'visible'
1592
- | 'painted'
1593
- | 'color'
1594
- | 'fill'
1595
- | 'stroke'
1596
- | 'all'
1597
- | 'none'
1598
- | 'inherit';
1599
- 'shape-rendering'?:
1600
- | 'auto'
1601
- | 'optimizeSpeed'
1602
- | 'crispEdges'
1603
- | 'geometricPrecision'
1604
- | 'inherit';
1605
- 'stop-color'?: string;
1606
- 'stop-opacity'?: number | string | 'inherit';
1607
- 'stroke'?: string;
1608
- 'stroke-dasharray'?: string;
1609
- 'stroke-dashoffset'?: number | string;
1610
- 'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
1611
- 'stroke-linejoin'?: 'arcs' | 'bevel' | 'miter' | 'miter-clip' | 'round' | 'inherit';
1612
- 'stroke-miterlimit'?: number | string | 'inherit';
1613
- 'stroke-opacity'?: number | string | 'inherit';
1614
- 'stroke-width'?: number | string;
1615
- 'text-anchor'?: 'start' | 'middle' | 'end' | 'inherit';
1616
- 'text-decoration'?: 'none' | 'underline' | 'overline' | 'line-through' | 'blink' | 'inherit';
1617
- 'text-rendering'?:
1618
- | 'auto'
1619
- | 'optimizeSpeed'
1620
- | 'optimizeLegibility'
1621
- | 'geometricPrecision'
1622
- | 'inherit';
1623
- 'unicode-bidi'?: string;
1624
- 'visibility'?: 'visible' | 'hidden' | 'collapse' | 'inherit';
1625
- 'word-spacing'?: number | string;
1626
- 'writing-mode'?: 'lr-tb' | 'rl-tb' | 'tb-rl' | 'lr' | 'rl' | 'tb' | 'inherit';
1627
- }
1628
- interface AnimationElementSVGAttributes<T>
1629
- extends
1630
- estSVGAttributes<T>,
1631
- ExternalResourceSVGAttributes,
1632
- ConditionalProcessingSVGAttributes {}
1633
- interface ContainerElementSVGAttributes<T>
1634
- extends
1635
- estSVGAttributes<T>,
1636
- ShapeElementSVGAttributes<T>,
1637
- Pick<
1638
- PresentationSVGAttributes,
1639
- | 'clip-path'
1640
- | 'mask'
1641
- | 'cursor'
1642
- | 'opacity'
1643
- | 'filter'
1644
- | 'enable-background'
1645
- | 'color-interpolation'
1646
- | 'color-rendering'
1647
- > {}
1648
- interface FilterPrimitiveElementSVGAttributes<T>
1649
- extends estSVGAttributes<T>, Pick<PresentationSVGAttributes, 'color-interpolation-filters'> {
1650
- x?: number | string;
1651
- y?: number | string;
1652
- width?: number | string;
1653
- height?: number | string;
1654
- result?: string;
1655
- }
1656
- interface SingleInputFilterSVGAttributes {
1657
- in?: string;
1658
- }
1659
- interface DoubleInputFilterSVGAttributes {
1660
- in?: string;
1661
- in2?: string;
1662
- }
1663
- interface FitToViewBoxSVGAttributes {
1664
- viewBox?: string;
1665
- preserveAspectRatio?: SVGPreserveAspectRatio;
1666
- }
1667
- interface GradientElementSVGAttributes<T>
1668
- extends estSVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
1669
- gradientUnits?: SVGUnits;
1670
- gradientTransform?: string;
1671
- spreadMethod?: 'pad' | 'reflect' | 'repeat';
1672
- href?: string;
1673
- }
1674
- interface GraphicsElementSVGAttributes<T>
1675
- extends
1676
- estSVGAttributes<T>,
1677
- Pick<
1678
- PresentationSVGAttributes,
1679
- | 'clip-rule'
1680
- | 'mask'
1681
- | 'pointer-events'
1682
- | 'cursor'
1683
- | 'opacity'
1684
- | 'filter'
1685
- | 'display'
1686
- | 'visibility'
1687
- | 'color-interpolation'
1688
- | 'color-rendering'
1689
- > {}
1690
- interface LightSourceElementSVGAttributes<T> extends estSVGAttributes<T> {}
1691
- interface NewViewportSVGAttributes<T>
1692
- extends estSVGAttributes<T>, Pick<PresentationSVGAttributes, 'overflow' | 'clip'> {
1693
- viewBox?: string;
1694
- }
1695
- interface ShapeElementSVGAttributes<T>
1696
- extends
1697
- estSVGAttributes<T>,
1698
- Pick<
1699
- PresentationSVGAttributes,
1700
- | 'color'
1701
- | 'fill'
1702
- | 'fill-rule'
1703
- | 'fill-opacity'
1704
- | 'stroke'
1705
- | 'stroke-width'
1706
- | 'stroke-linecap'
1707
- | 'stroke-linejoin'
1708
- | 'stroke-miterlimit'
1709
- | 'stroke-dasharray'
1710
- | 'stroke-dashoffset'
1711
- | 'stroke-opacity'
1712
- | 'shape-rendering'
1713
- | 'pathLength'
1714
- > {}
1715
- interface TextContentElementSVGAttributes<T>
1716
- extends
1717
- estSVGAttributes<T>,
1718
- Pick<
1719
- PresentationSVGAttributes,
1720
- | 'font-family'
1721
- | 'font-style'
1722
- | 'font-variant'
1723
- | 'font-weight'
1724
- | 'font-stretch'
1725
- | 'font-size'
1726
- | 'font-size-adjust'
1727
- | 'kerning'
1728
- | 'letter-spacing'
1729
- | 'word-spacing'
1730
- | 'text-decoration'
1731
- | 'glyph-orientation-horizontal'
1732
- | 'glyph-orientation-vertical'
1733
- | 'direction'
1734
- | 'unicode-bidi'
1735
- | 'text-anchor'
1736
- | 'dominant-baseline'
1737
- | 'color'
1738
- | 'fill'
1739
- | 'fill-rule'
1740
- | 'fill-opacity'
1741
- | 'stroke'
1742
- | 'stroke-width'
1743
- | 'stroke-linecap'
1744
- | 'stroke-linejoin'
1745
- | 'stroke-miterlimit'
1746
- | 'stroke-dasharray'
1747
- | 'stroke-dashoffset'
1748
- | 'stroke-opacity'
1749
- > {}
1750
- interface ZoomAndPanSVGAttributes {
1751
- zoomAndPan?: 'disable' | 'magnify';
1752
- }
1753
- interface AnimateSVGAttributes<T>
1754
- extends
1755
- AnimationElementSVGAttributes<T>,
1756
- AnimationAttributeTargetSVGAttributes,
1757
- AnimationTimingSVGAttributes,
1758
- AnimationValueSVGAttributes,
1759
- AnimationAdditionSVGAttributes,
1760
- Pick<PresentationSVGAttributes, 'color-interpolation' | 'color-rendering'> {}
1761
- interface AnimateMotionSVGAttributes<T>
1762
- extends
1763
- AnimationElementSVGAttributes<T>,
1764
- AnimationTimingSVGAttributes,
1765
- AnimationValueSVGAttributes,
1766
- AnimationAdditionSVGAttributes {
1767
- path?: string;
1768
- keyPoints?: string;
1769
- rotate?: number | string | 'auto' | 'auto-reverse';
1770
- origin?: 'default';
1771
- }
1772
- interface AnimateTransformSVGAttributes<T>
1773
- extends
1774
- AnimationElementSVGAttributes<T>,
1775
- AnimationAttributeTargetSVGAttributes,
1776
- AnimationTimingSVGAttributes,
1777
- AnimationValueSVGAttributes,
1778
- AnimationAdditionSVGAttributes {
1779
- type?: 'translate' | 'scale' | 'rotate' | 'skewX' | 'skewY';
1780
- }
1781
- interface CircleSVGAttributes<T>
1782
- extends
1783
- GraphicsElementSVGAttributes<T>,
1784
- ShapeElementSVGAttributes<T>,
1785
- ConditionalProcessingSVGAttributes,
1786
- StylableSVGAttributes,
1787
- TransformableSVGAttributes {
1788
- cx?: number | string;
1789
- cy?: number | string;
1790
- r?: number | string;
1791
- }
1792
- interface ClipPathSVGAttributes<T>
1793
- extends
1794
- estSVGAttributes<T>,
1795
- ConditionalProcessingSVGAttributes,
1796
- ExternalResourceSVGAttributes,
1797
- StylableSVGAttributes,
1798
- TransformableSVGAttributes,
1799
- Pick<PresentationSVGAttributes, 'clip-path'> {
1800
- clipPathUnits?: SVGUnits;
1801
- }
1802
- interface DefsSVGAttributes<T>
1803
- extends
1804
- ContainerElementSVGAttributes<T>,
1805
- ConditionalProcessingSVGAttributes,
1806
- ExternalResourceSVGAttributes,
1807
- StylableSVGAttributes,
1808
- TransformableSVGAttributes {}
1809
- interface DescSVGAttributes<T> extends estSVGAttributes<T>, StylableSVGAttributes {}
1810
- interface EllipseSVGAttributes<T>
1811
- extends
1812
- GraphicsElementSVGAttributes<T>,
1813
- ShapeElementSVGAttributes<T>,
1814
- ConditionalProcessingSVGAttributes,
1815
- ExternalResourceSVGAttributes,
1816
- StylableSVGAttributes,
1817
- TransformableSVGAttributes {
1818
- cx?: number | string;
1819
- cy?: number | string;
1820
- rx?: number | string;
1821
- ry?: number | string;
1822
- }
1823
- interface FeBlendSVGAttributes<T>
1824
- extends
1825
- FilterPrimitiveElementSVGAttributes<T>,
1826
- DoubleInputFilterSVGAttributes,
1827
- StylableSVGAttributes {
1828
- mode?: 'normal' | 'multiply' | 'screen' | 'darken' | 'lighten';
1829
- }
1830
- interface FeColorMatrixSVGAttributes<T>
1831
- extends
1832
- FilterPrimitiveElementSVGAttributes<T>,
1833
- SingleInputFilterSVGAttributes,
1834
- StylableSVGAttributes {
1835
- type?: 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';
1836
- values?: string;
1837
- }
1838
- interface FeComponentTransferSVGAttributes<T>
1839
- extends
1840
- FilterPrimitiveElementSVGAttributes<T>,
1841
- SingleInputFilterSVGAttributes,
1842
- StylableSVGAttributes {}
1843
- interface FeCompositeSVGAttributes<T>
1844
- extends
1845
- FilterPrimitiveElementSVGAttributes<T>,
1846
- DoubleInputFilterSVGAttributes,
1847
- StylableSVGAttributes {
1848
- operator?: 'over' | 'in' | 'out' | 'atop' | 'xor' | 'arithmetic';
1849
- k1?: number | string;
1850
- k2?: number | string;
1851
- k3?: number | string;
1852
- k4?: number | string;
1853
- }
1854
- interface FeConvolveMatrixSVGAttributes<T>
1855
- extends
1856
- FilterPrimitiveElementSVGAttributes<T>,
1857
- SingleInputFilterSVGAttributes,
1858
- StylableSVGAttributes {
1859
- order?: number | string;
1860
- kernelMatrix?: string;
1861
- divisor?: number | string;
1862
- bias?: number | string;
1863
- targetX?: number | string;
1864
- targetY?: number | string;
1865
- edgeMode?: 'duplicate' | 'wrap' | 'none';
1866
- kernelUnitLength?: number | string;
1867
- preserveAlpha?: 'true' | 'false';
1868
- }
1869
- interface FeDiffuseLightingSVGAttributes<T>
1870
- extends
1871
- FilterPrimitiveElementSVGAttributes<T>,
1872
- SingleInputFilterSVGAttributes,
1873
- StylableSVGAttributes,
1874
- Pick<PresentationSVGAttributes, 'color' | 'lighting-color'> {
1875
- surfaceScale?: number | string;
1876
- diffuseConstant?: number | string;
1877
- kernelUnitLength?: number | string;
1878
- }
1879
- interface FeDisplacementMapSVGAttributes<T>
1880
- extends
1881
- FilterPrimitiveElementSVGAttributes<T>,
1882
- DoubleInputFilterSVGAttributes,
1883
- StylableSVGAttributes {
1884
- scale?: number | string;
1885
- xChannelSelector?: 'R' | 'G' | 'B' | 'A';
1886
- yChannelSelector?: 'R' | 'G' | 'B' | 'A';
1887
- }
1888
- interface FeDistantLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
1889
- azimuth?: number | string;
1890
- elevation?: number | string;
1891
- }
1892
- interface FeDropShadowSVGAttributes<T>
1893
- extends
1894
- estSVGAttributes<T>,
1895
- FilterPrimitiveElementSVGAttributes<T>,
1896
- StylableSVGAttributes,
1897
- Pick<PresentationSVGAttributes, 'color' | 'flood-color' | 'flood-opacity'> {
1898
- dx?: number | string;
1899
- dy?: number | string;
1900
- stdDeviation?: number | string;
1901
- }
1902
- interface FeFloodSVGAttributes<T>
1903
- extends
1904
- FilterPrimitiveElementSVGAttributes<T>,
1905
- StylableSVGAttributes,
1906
- Pick<PresentationSVGAttributes, 'color' | 'flood-color' | 'flood-opacity'> {}
1907
- interface FeFuncSVGAttributes<T> extends estSVGAttributes<T> {
1908
- type?: 'identity' | 'table' | 'discrete' | 'linear' | 'gamma';
1909
- tableValues?: string;
1910
- slope?: number | string;
1911
- intercept?: number | string;
1912
- amplitude?: number | string;
1913
- exponent?: number | string;
1914
- offset?: number | string;
1915
- }
1916
- interface FeGaussianBlurSVGAttributes<T>
1917
- extends
1918
- FilterPrimitiveElementSVGAttributes<T>,
1919
- SingleInputFilterSVGAttributes,
1920
- StylableSVGAttributes {
1921
- stdDeviation?: number | string;
1922
- }
1923
- interface FeImageSVGAttributes<T>
1924
- extends
1925
- FilterPrimitiveElementSVGAttributes<T>,
1926
- ExternalResourceSVGAttributes,
1927
- StylableSVGAttributes {
1928
- preserveAspectRatio?: SVGPreserveAspectRatio;
1929
- href?: string;
1930
- }
1931
- interface FeMergeSVGAttributes<T>
1932
- extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {}
1933
- interface FeMergeNodeSVGAttributes<T>
1934
- extends estSVGAttributes<T>, SingleInputFilterSVGAttributes {}
1935
- interface FeMorphologySVGAttributes<T>
1936
- extends
1937
- FilterPrimitiveElementSVGAttributes<T>,
1938
- SingleInputFilterSVGAttributes,
1939
- StylableSVGAttributes {
1940
- operator?: 'erode' | 'dilate';
1941
- radius?: number | string;
1942
- }
1943
- interface FeOffsetSVGAttributes<T>
1944
- extends
1945
- FilterPrimitiveElementSVGAttributes<T>,
1946
- SingleInputFilterSVGAttributes,
1947
- StylableSVGAttributes {
1948
- dx?: number | string;
1949
- dy?: number | string;
1950
- }
1951
- interface FePointLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
1952
- x?: number | string;
1953
- y?: number | string;
1954
- z?: number | string;
1955
- }
1956
- interface FeSpecularLightingSVGAttributes<T>
1957
- extends
1958
- FilterPrimitiveElementSVGAttributes<T>,
1959
- SingleInputFilterSVGAttributes,
1960
- StylableSVGAttributes,
1961
- Pick<PresentationSVGAttributes, 'color' | 'lighting-color'> {
1962
- surfaceScale?: string;
1963
- specularConstant?: string;
1964
- specularExponent?: string;
1965
- kernelUnitLength?: number | string;
1966
- }
1967
- interface FeSpotLightSVGAttributes<T> extends LightSourceElementSVGAttributes<T> {
1968
- x?: number | string;
1969
- y?: number | string;
1970
- z?: number | string;
1971
- pointsAtX?: number | string;
1972
- pointsAtY?: number | string;
1973
- pointsAtZ?: number | string;
1974
- specularExponent?: number | string;
1975
- limitingConeAngle?: number | string;
1976
- }
1977
- interface FeTileSVGAttributes<T>
1978
- extends
1979
- FilterPrimitiveElementSVGAttributes<T>,
1980
- SingleInputFilterSVGAttributes,
1981
- StylableSVGAttributes {}
1982
- interface FeTurbulanceSVGAttributes<T>
1983
- extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {
1984
- baseFrequency?: number | string;
1985
- numOctaves?: number | string;
1986
- seed?: number | string;
1987
- stitchTiles?: 'stitch' | 'noStitch';
1988
- type?: 'fractalNoise' | 'turbulence';
1989
- }
1990
- interface FilterSVGAttributes<T>
1991
- extends estSVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
1992
- filterUnits?: SVGUnits;
1993
- primitiveUnits?: SVGUnits;
1994
- x?: number | string;
1995
- y?: number | string;
1996
- width?: number | string;
1997
- height?: number | string;
1998
- filterRes?: number | string;
1999
- }
2000
- interface ForeignObjectSVGAttributes<T>
2001
- extends
2002
- NewViewportSVGAttributes<T>,
2003
- ConditionalProcessingSVGAttributes,
2004
- ExternalResourceSVGAttributes,
2005
- StylableSVGAttributes,
2006
- TransformableSVGAttributes,
2007
- Pick<PresentationSVGAttributes, 'display' | 'visibility'> {
2008
- x?: number | string;
2009
- y?: number | string;
2010
- width?: number | string;
2011
- height?: number | string;
2012
- }
2013
- interface GSVGAttributes<T>
2014
- extends
2015
- ContainerElementSVGAttributes<T>,
2016
- ConditionalProcessingSVGAttributes,
2017
- ExternalResourceSVGAttributes,
2018
- StylableSVGAttributes,
2019
- TransformableSVGAttributes,
2020
- Pick<PresentationSVGAttributes, 'display' | 'visibility'> {}
2021
- interface ImageSVGAttributes<T>
2022
- extends
2023
- NewViewportSVGAttributes<T>,
2024
- GraphicsElementSVGAttributes<T>,
2025
- ConditionalProcessingSVGAttributes,
2026
- StylableSVGAttributes,
2027
- TransformableSVGAttributes,
2028
- Pick<PresentationSVGAttributes, 'color-profile' | 'image-rendering'> {
2029
- x?: number | string;
2030
- y?: number | string;
2031
- width?: number | string;
2032
- height?: number | string;
2033
- preserveAspectRatio?: ImagePreserveAspectRatio;
2034
- href?: string;
2035
- }
2036
- interface LineSVGAttributes<T>
2037
- extends
2038
- GraphicsElementSVGAttributes<T>,
2039
- ShapeElementSVGAttributes<T>,
2040
- ConditionalProcessingSVGAttributes,
2041
- ExternalResourceSVGAttributes,
2042
- StylableSVGAttributes,
2043
- TransformableSVGAttributes,
2044
- Pick<PresentationSVGAttributes, 'marker-start' | 'marker-mid' | 'marker-end'> {
2045
- x1?: number | string;
2046
- y1?: number | string;
2047
- x2?: number | string;
2048
- y2?: number | string;
2049
- }
2050
- interface LinearGradientSVGAttributes<T> extends GradientElementSVGAttributes<T> {
2051
- x1?: number | string;
2052
- x2?: number | string;
2053
- y1?: number | string;
2054
- y2?: number | string;
2055
- }
2056
- interface MarkerSVGAttributes<T>
2057
- extends
2058
- ContainerElementSVGAttributes<T>,
2059
- ExternalResourceSVGAttributes,
2060
- StylableSVGAttributes,
2061
- FitToViewBoxSVGAttributes,
2062
- Pick<PresentationSVGAttributes, 'overflow' | 'clip'> {
2063
- markerUnits?: 'strokeWidth' | 'userSpaceOnUse';
2064
- refX?: number | string;
2065
- refY?: number | string;
2066
- markerWidth?: number | string;
2067
- markerHeight?: number | string;
2068
- orient?: string;
2069
- }
2070
- interface MaskSVGAttributes<T>
2071
- extends
2072
- Omit<ContainerElementSVGAttributes<T>, 'opacity' | 'filter'>,
2073
- ConditionalProcessingSVGAttributes,
2074
- ExternalResourceSVGAttributes,
2075
- StylableSVGAttributes {
2076
- maskUnits?: SVGUnits;
2077
- maskContentUnits?: SVGUnits;
2078
- x?: number | string;
2079
- y?: number | string;
2080
- width?: number | string;
2081
- height?: number | string;
2082
- }
2083
- interface MetadataSVGAttributes<T> extends estSVGAttributes<T> {}
2084
- interface MPathSVGAttributes<T> extends estSVGAttributes<T> {}
2085
- interface PathSVGAttributes<T>
2086
- extends
2087
- GraphicsElementSVGAttributes<T>,
2088
- ShapeElementSVGAttributes<T>,
2089
- ConditionalProcessingSVGAttributes,
2090
- ExternalResourceSVGAttributes,
2091
- StylableSVGAttributes,
2092
- TransformableSVGAttributes,
2093
- Pick<PresentationSVGAttributes, 'marker-start' | 'marker-mid' | 'marker-end'> {
2094
- d?: string;
2095
- pathLength?: number | string;
2096
- }
2097
- interface PatternSVGAttributes<T>
2098
- extends
2099
- ContainerElementSVGAttributes<T>,
2100
- ConditionalProcessingSVGAttributes,
2101
- ExternalResourceSVGAttributes,
2102
- StylableSVGAttributes,
2103
- FitToViewBoxSVGAttributes,
2104
- Pick<PresentationSVGAttributes, 'overflow' | 'clip'> {
2105
- x?: number | string;
2106
- y?: number | string;
2107
- width?: number | string;
2108
- height?: number | string;
2109
- patternUnits?: SVGUnits;
2110
- patternContentUnits?: SVGUnits;
2111
- patternTransform?: string;
2112
- href?: string;
2113
- }
2114
- interface PolygonSVGAttributes<T>
2115
- extends
2116
- GraphicsElementSVGAttributes<T>,
2117
- ShapeElementSVGAttributes<T>,
2118
- ConditionalProcessingSVGAttributes,
2119
- ExternalResourceSVGAttributes,
2120
- StylableSVGAttributes,
2121
- TransformableSVGAttributes,
2122
- Pick<PresentationSVGAttributes, 'marker-start' | 'marker-mid' | 'marker-end'> {
2123
- points?: string;
2124
- }
2125
- interface PolylineSVGAttributes<T>
2126
- extends
2127
- GraphicsElementSVGAttributes<T>,
2128
- ShapeElementSVGAttributes<T>,
2129
- ConditionalProcessingSVGAttributes,
2130
- ExternalResourceSVGAttributes,
2131
- StylableSVGAttributes,
2132
- TransformableSVGAttributes,
2133
- Pick<PresentationSVGAttributes, 'marker-start' | 'marker-mid' | 'marker-end'> {
2134
- points?: string;
2135
- }
2136
- interface RadialGradientSVGAttributes<T> extends GradientElementSVGAttributes<T> {
2137
- cx?: number | string;
2138
- cy?: number | string;
2139
- r?: number | string;
2140
- fx?: number | string;
2141
- fy?: number | string;
2142
- }
2143
- interface RectSVGAttributes<T>
2144
- extends
2145
- GraphicsElementSVGAttributes<T>,
2146
- ShapeElementSVGAttributes<T>,
2147
- ConditionalProcessingSVGAttributes,
2148
- ExternalResourceSVGAttributes,
2149
- StylableSVGAttributes,
2150
- TransformableSVGAttributes {
2151
- x?: number | string;
2152
- y?: number | string;
2153
- width?: number | string;
2154
- height?: number | string;
2155
- rx?: number | string;
2156
- ry?: number | string;
2157
- }
2158
- interface SetSVGAttributes<T>
2159
- extends estSVGAttributes<T>, StylableSVGAttributes, AnimationTimingSVGAttributes {}
2160
- interface StopSVGAttributes<T>
2161
- extends
2162
- estSVGAttributes<T>,
2163
- StylableSVGAttributes,
2164
- Pick<PresentationSVGAttributes, 'color' | 'stop-color' | 'stop-opacity'> {
2165
- offset?: number | string;
2166
- }
2167
- interface SvgSVGAttributes<T>
2168
- extends
2169
- ContainerElementSVGAttributes<T>,
2170
- NewViewportSVGAttributes<T>,
2171
- ConditionalProcessingSVGAttributes,
2172
- ExternalResourceSVGAttributes,
2173
- StylableSVGAttributes,
2174
- FitToViewBoxSVGAttributes,
2175
- ZoomAndPanSVGAttributes,
2176
- PresentationSVGAttributes {
2177
- version?: string;
2178
- baseProfile?: string;
2179
- x?: number | string;
2180
- y?: number | string;
2181
- width?: number | string;
2182
- height?: number | string;
2183
- contentScriptType?: string;
2184
- contentStyleType?: string;
2185
- xmlns?: string;
2186
- }
2187
- interface SwitchSVGAttributes<T>
2188
- extends
2189
- ContainerElementSVGAttributes<T>,
2190
- ConditionalProcessingSVGAttributes,
2191
- ExternalResourceSVGAttributes,
2192
- StylableSVGAttributes,
2193
- TransformableSVGAttributes,
2194
- Pick<PresentationSVGAttributes, 'display' | 'visibility'> {}
2195
- interface SymbolSVGAttributes<T>
2196
- extends
2197
- ContainerElementSVGAttributes<T>,
2198
- NewViewportSVGAttributes<T>,
2199
- ExternalResourceSVGAttributes,
2200
- StylableSVGAttributes,
2201
- FitToViewBoxSVGAttributes {
2202
- width?: number | string;
2203
- height?: number | string;
2204
- preserveAspectRatio?: SVGPreserveAspectRatio;
2205
- refX?: number | string;
2206
- refY?: number | string;
2207
- viewBox?: string;
2208
- x?: number | string;
2209
- y?: number | string;
2210
- }
2211
- interface TextSVGAttributes<T>
2212
- extends
2213
- TextContentElementSVGAttributes<T>,
2214
- GraphicsElementSVGAttributes<T>,
2215
- ConditionalProcessingSVGAttributes,
2216
- ExternalResourceSVGAttributes,
2217
- StylableSVGAttributes,
2218
- TransformableSVGAttributes,
2219
- Pick<PresentationSVGAttributes, 'writing-mode' | 'text-rendering'> {
2220
- x?: number | string;
2221
- y?: number | string;
2222
- dx?: number | string;
2223
- dy?: number | string;
2224
- rotate?: number | string;
2225
- textLength?: number | string;
2226
- lengthAdjust?: 'spacing' | 'spacingAndGlyphs';
2227
- }
2228
- interface TextPathSVGAttributes<T>
2229
- extends
2230
- TextContentElementSVGAttributes<T>,
2231
- ConditionalProcessingSVGAttributes,
2232
- ExternalResourceSVGAttributes,
2233
- StylableSVGAttributes,
2234
- Pick<
2235
- PresentationSVGAttributes,
2236
- 'alignment-baseline' | 'baseline-shift' | 'display' | 'visibility'
2237
- > {
2238
- startOffset?: number | string;
2239
- method?: 'align' | 'stretch';
2240
- spacing?: 'auto' | 'exact';
2241
- href?: string;
2242
- }
2243
- interface TSpanSVGAttributes<T>
2244
- extends
2245
- TextContentElementSVGAttributes<T>,
2246
- ConditionalProcessingSVGAttributes,
2247
- ExternalResourceSVGAttributes,
2248
- StylableSVGAttributes,
2249
- Pick<
2250
- PresentationSVGAttributes,
2251
- 'alignment-baseline' | 'baseline-shift' | 'display' | 'visibility'
2252
- > {
2253
- x?: number | string;
2254
- y?: number | string;
2255
- dx?: number | string;
2256
- dy?: number | string;
2257
- rotate?: number | string;
2258
- textLength?: number | string;
2259
- lengthAdjust?: 'spacing' | 'spacingAndGlyphs';
2260
- }
2261
- interface UseSVGAttributes<T>
2262
- extends
2263
- GraphicsElementSVGAttributes<T>,
2264
- ConditionalProcessingSVGAttributes,
2265
- ExternalResourceSVGAttributes,
2266
- StylableSVGAttributes,
2267
- TransformableSVGAttributes {
2268
- x?: number | string;
2269
- y?: number | string;
2270
- width?: number | string;
2271
- height?: number | string;
2272
- href?: string;
2273
- }
2274
- interface ViewSVGAttributes<T>
2275
- extends
2276
- estSVGAttributes<T>,
2277
- ExternalResourceSVGAttributes,
2278
- FitToViewBoxSVGAttributes,
2279
- ZoomAndPanSVGAttributes {
2280
- viewTarget?: string;
2281
- }
2282
- /**
2283
- * @type {HTMLElementTagNameMap}
2284
- */
2285
- interface HTMLElementTags {
2286
- a: AnchorHTMLAttributes<HTMLAnchorElement>;
2287
- abbr: HTMLAttributes<HTMLElement>;
2288
- address: HTMLAttributes<HTMLElement>;
2289
- area: AreaHTMLAttributes<HTMLAreaElement>;
2290
- article: HTMLAttributes<HTMLElement>;
2291
- aside: HTMLAttributes<HTMLElement>;
2292
- audio: AudioHTMLAttributes<HTMLAudioElement>;
2293
- b: HTMLAttributes<HTMLElement>;
2294
- base: BaseHTMLAttributes<HTMLBaseElement>;
2295
- bdi: HTMLAttributes<HTMLElement>;
2296
- bdo: HTMLAttributes<HTMLElement>;
2297
- blockquote: BlockquoteHTMLAttributes<HTMLElement>;
2298
- body: HTMLAttributes<HTMLBodyElement>;
2299
- br: HTMLAttributes<HTMLBRElement>;
2300
- button: ButtonHTMLAttributes<HTMLButtonElement>;
2301
- canvas: CanvasHTMLAttributes<HTMLCanvasElement>;
2302
- caption: HTMLAttributes<HTMLElement>;
2303
- cite: HTMLAttributes<HTMLElement>;
2304
- code: HTMLAttributes<HTMLElement>;
2305
- col: ColHTMLAttributes<HTMLTableColElement>;
2306
- colgroup: ColgroupHTMLAttributes<HTMLTableColElement>;
2307
- data: DataHTMLAttributes<HTMLElement>;
2308
- datalist: HTMLAttributes<HTMLDataListElement>;
2309
- dd: HTMLAttributes<HTMLElement>;
2310
- del: HTMLAttributes<HTMLElement>;
2311
- details: DetailsHtmlAttributes<HTMLDetailsElement>;
2312
- dfn: HTMLAttributes<HTMLElement>;
2313
- dialog: DialogHtmlAttributes<HTMLDialogElement>;
2314
- div: HTMLAttributes<HTMLDivElement>;
2315
- dl: HTMLAttributes<HTMLDListElement>;
2316
- dt: HTMLAttributes<HTMLElement>;
2317
- em: HTMLAttributes<HTMLElement>;
2318
- embed: EmbedHTMLAttributes<HTMLEmbedElement>;
2319
- fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>;
2320
- figcaption: HTMLAttributes<HTMLElement>;
2321
- figure: HTMLAttributes<HTMLElement>;
2322
- footer: HTMLAttributes<HTMLElement>;
2323
- form: FormHTMLAttributes<HTMLFormElement>;
2324
- h1: HTMLAttributes<HTMLHeadingElement>;
2325
- h2: HTMLAttributes<HTMLHeadingElement>;
2326
- h3: HTMLAttributes<HTMLHeadingElement>;
2327
- h4: HTMLAttributes<HTMLHeadingElement>;
2328
- h5: HTMLAttributes<HTMLHeadingElement>;
2329
- h6: HTMLAttributes<HTMLHeadingElement>;
2330
- head: HTMLAttributes<HTMLHeadElement>;
2331
- header: HTMLAttributes<HTMLElement>;
2332
- hgroup: HTMLAttributes<HTMLElement>;
2333
- hr: HTMLAttributes<HTMLHRElement>;
2334
- html: HTMLAttributes<HTMLHtmlElement>;
2335
- i: HTMLAttributes<HTMLElement>;
2336
- iframe: IframeHTMLAttributes<HTMLIFrameElement>;
2337
- img: ImgHTMLAttributes<HTMLImageElement>;
2338
- input: InputHTMLAttributes<HTMLInputElement>;
2339
- ins: InsHTMLAttributes<HTMLModElement>;
2340
- kbd: HTMLAttributes<HTMLElement>;
2341
- label: LabelHTMLAttributes<HTMLLabelElement>;
2342
- legend: HTMLAttributes<HTMLLegendElement>;
2343
- li: LiHTMLAttributes<HTMLLIElement>;
2344
- link: LinkHTMLAttributes<HTMLLinkElement>;
2345
- main: HTMLAttributes<HTMLElement>;
2346
- map: MapHTMLAttributes<HTMLMapElement>;
2347
- mark: HTMLAttributes<HTMLElement>;
2348
- menu: MenuHTMLAttributes<HTMLElement>;
2349
- meta: MetaHTMLAttributes<HTMLMetaElement>;
2350
- meter: MeterHTMLAttributes<HTMLElement>;
2351
- nav: HTMLAttributes<HTMLElement>;
2352
- noscript: HTMLAttributes<HTMLElement>;
2353
- object: ObjectHTMLAttributes<HTMLObjectElement>;
2354
- ol: OlHTMLAttributes<HTMLOListElement>;
2355
- optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>;
2356
- option: OptionHTMLAttributes<HTMLOptionElement>;
2357
- output: OutputHTMLAttributes<HTMLElement>;
2358
- p: HTMLAttributes<HTMLParagraphElement>;
2359
- picture: HTMLAttributes<HTMLElement>;
2360
- pre: HTMLAttributes<HTMLPreElement>;
2361
- progress: ProgressHTMLAttributes<HTMLProgressElement>;
2362
- q: QuoteHTMLAttributes<HTMLQuoteElement>;
2363
- rp: HTMLAttributes<HTMLElement>;
2364
- rt: HTMLAttributes<HTMLElement>;
2365
- ruby: HTMLAttributes<HTMLElement>;
2366
- s: HTMLAttributes<HTMLElement>;
2367
- samp: HTMLAttributes<HTMLElement>;
2368
- script: ScriptHTMLAttributes<HTMLScriptElement>;
2369
- search: HTMLAttributes<HTMLElement>;
2370
- section: HTMLAttributes<HTMLElement>;
2371
- select: SelectHTMLAttributes<HTMLSelectElement>;
2372
- slot: HTMLSlotElementAttributes;
2373
- small: HTMLAttributes<HTMLElement>;
2374
- source: SourceHTMLAttributes<HTMLSourceElement>;
2375
- span: HTMLAttributes<HTMLSpanElement>;
2376
- strong: HTMLAttributes<HTMLElement>;
2377
- style: StyleHTMLAttributes<HTMLStyleElement>;
2378
- sub: HTMLAttributes<HTMLElement>;
2379
- summary: HTMLAttributes<HTMLElement>;
2380
- sup: HTMLAttributes<HTMLElement>;
2381
- table: HTMLAttributes<HTMLTableElement>;
2382
- tbody: HTMLAttributes<HTMLTableSectionElement>;
2383
- td: TdHTMLAttributes<HTMLTableCellElement>;
2384
- template: TemplateHTMLAttributes<HTMLTemplateElement>;
2385
- textarea: TextareaHTMLAttributes<HTMLTextAreaElement>;
2386
- tfoot: HTMLAttributes<HTMLTableSectionElement>;
2387
- th: ThHTMLAttributes<HTMLTableCellElement>;
2388
- thead: HTMLAttributes<HTMLTableSectionElement>;
2389
- time: TimeHTMLAttributes<HTMLElement>;
2390
- title: HTMLAttributes<HTMLTitleElement>;
2391
- tr: HTMLAttributes<HTMLTableRowElement>;
2392
- track: TrackHTMLAttributes<HTMLTrackElement>;
2393
- u: HTMLAttributes<HTMLElement>;
2394
- ul: HTMLAttributes<HTMLUListElement>;
2395
- var: HTMLAttributes<HTMLElement>;
2396
- video: VideoHTMLAttributes<HTMLVideoElement>;
2397
- wbr: HTMLAttributes<HTMLElement>;
2398
- }
2399
- /**
2400
- * @type {HTMLElementDeprecatedTagNameMap}
2401
- */
2402
- interface HTMLElementDeprecatedTags {
2403
- big: HTMLAttributes<HTMLElement>;
2404
- keygen: KeygenHTMLAttributes<HTMLElement>;
2405
- menuitem: HTMLAttributes<HTMLElement>;
2406
- noindex: HTMLAttributes<HTMLElement>;
2407
- param: ParamHTMLAttributes<HTMLParamElement>;
2408
- }
2409
- /**
2410
- * @type {SVGElementTagNameMap}
2411
- */
2412
- interface SVGElementTags {
2413
- animate: AnimateSVGAttributes<SVGAnimateElement>;
2414
- animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement>;
2415
- animateTransform: AnimateTransformSVGAttributes<SVGAnimateTransformElement>;
2416
- circle: CircleSVGAttributes<SVGCircleElement>;
2417
- clipPath: ClipPathSVGAttributes<SVGClipPathElement>;
2418
- defs: DefsSVGAttributes<SVGDefsElement>;
2419
- desc: DescSVGAttributes<SVGDescElement>;
2420
- ellipse: EllipseSVGAttributes<SVGEllipseElement>;
2421
- feBlend: FeBlendSVGAttributes<SVGFEBlendElement>;
2422
- feColorMatrix: FeColorMatrixSVGAttributes<SVGFEColorMatrixElement>;
2423
- feComponentTransfer: FeComponentTransferSVGAttributes<SVGFEComponentTransferElement>;
2424
- feComposite: FeCompositeSVGAttributes<SVGFECompositeElement>;
2425
- feConvolveMatrix: FeConvolveMatrixSVGAttributes<SVGFEConvolveMatrixElement>;
2426
- feDiffuseLighting: FeDiffuseLightingSVGAttributes<SVGFEDiffuseLightingElement>;
2427
- feDisplacementMap: FeDisplacementMapSVGAttributes<SVGFEDisplacementMapElement>;
2428
- feDistantLight: FeDistantLightSVGAttributes<SVGFEDistantLightElement>;
2429
- feDropShadow: FeDropShadowSVGAttributes<SVGFEDropShadowElement>;
2430
- feFlood: FeFloodSVGAttributes<SVGFEFloodElement>;
2431
- feFuncA: FeFuncSVGAttributes<SVGFEFuncAElement>;
2432
- feFuncB: FeFuncSVGAttributes<SVGFEFuncBElement>;
2433
- feFuncG: FeFuncSVGAttributes<SVGFEFuncGElement>;
2434
- feFuncR: FeFuncSVGAttributes<SVGFEFuncRElement>;
2435
- feGaussianBlur: FeGaussianBlurSVGAttributes<SVGFEGaussianBlurElement>;
2436
- feImage: FeImageSVGAttributes<SVGFEImageElement>;
2437
- feMerge: FeMergeSVGAttributes<SVGFEMergeElement>;
2438
- feMergeNode: FeMergeNodeSVGAttributes<SVGFEMergeNodeElement>;
2439
- feMorphology: FeMorphologySVGAttributes<SVGFEMorphologyElement>;
2440
- feOffset: FeOffsetSVGAttributes<SVGFEOffsetElement>;
2441
- fePointLight: FePointLightSVGAttributes<SVGFEPointLightElement>;
2442
- feSpecularLighting: FeSpecularLightingSVGAttributes<SVGFESpecularLightingElement>;
2443
- feSpotLight: FeSpotLightSVGAttributes<SVGFESpotLightElement>;
2444
- feTile: FeTileSVGAttributes<SVGFETileElement>;
2445
- feTurbulence: FeTurbulanceSVGAttributes<SVGFETurbulenceElement>;
2446
- filter: FilterSVGAttributes<SVGFilterElement>;
2447
- foreignObject: ForeignObjectSVGAttributes<SVGForeignObjectElement>;
2448
- g: GSVGAttributes<SVGGElement>;
2449
- image: ImageSVGAttributes<SVGImageElement>;
2450
- line: LineSVGAttributes<SVGLineElement>;
2451
- linearGradient: LinearGradientSVGAttributes<SVGLinearGradientElement>;
2452
- marker: MarkerSVGAttributes<SVGMarkerElement>;
2453
- mask: MaskSVGAttributes<SVGMaskElement>;
2454
- metadata: MetadataSVGAttributes<SVGMetadataElement>;
2455
- mpath: MPathSVGAttributes<SVGMPathElement>;
2456
- path: PathSVGAttributes<SVGPathElement>;
2457
- pattern: PatternSVGAttributes<SVGPatternElement>;
2458
- polygon: PolygonSVGAttributes<SVGPolygonElement>;
2459
- polyline: PolylineSVGAttributes<SVGPolylineElement>;
2460
- radialGradient: RadialGradientSVGAttributes<SVGRadialGradientElement>;
2461
- rect: RectSVGAttributes<SVGRectElement>;
2462
- set: SetSVGAttributes<SVGSetElement>;
2463
- stop: StopSVGAttributes<SVGStopElement>;
2464
- svg: SvgSVGAttributes<SVGSVGElement>;
2465
- switch: SwitchSVGAttributes<SVGSwitchElement>;
2466
- symbol: SymbolSVGAttributes<SVGSymbolElement>;
2467
- text: TextSVGAttributes<SVGTextElement>;
2468
- textPath: TextPathSVGAttributes<SVGTextPathElement>;
2469
- tspan: TSpanSVGAttributes<SVGTSpanElement>;
2470
- use: UseSVGAttributes<SVGUseElement>;
2471
- view: ViewSVGAttributes<SVGViewElement>;
2472
- }
2473
- interface IntrinsicElements
2474
- extends HTMLElementTags, HTMLElementDeprecatedTags, SVGElementTags {}
2475
- }
2476
- }
2477
-
2478
- type AnyNode = Node | Component;
2479
-
2480
- interface FragmentProps {
2481
- children?: AnyNode | AnyNode[];
2482
- key?: string;
285
+ interface FragmentProps extends ComponentProps {
286
+ children: AnyNode | AnyNode[];
2483
287
  }
2484
288
  /**
2485
289
  * Fragment component - renders multiple children without wrapper elements
@@ -2495,7 +299,7 @@ interface FragmentProps {
2495
299
  * </Fragment>
2496
300
  * ```
2497
301
  */
2498
- declare function Fragment(props: FragmentProps): DocumentFragment | string;
302
+ declare function Fragment(props?: FragmentProps): AnyNode;
2499
303
  declare namespace Fragment {
2500
304
  var fragment: boolean;
2501
305
  }
@@ -2575,7 +379,7 @@ interface SuspenseContextType {
2575
379
  * </Suspense>
2576
380
  * ```
2577
381
  */
2578
- declare function Suspense(props: SuspenseProps): Node | string;
382
+ declare function Suspense(props: SuspenseProps): AnyNode;
2579
383
  declare namespace Suspense {
2580
384
  var suspense: boolean;
2581
385
  }
@@ -2589,9 +393,9 @@ declare function isSuspense(node: unknown): boolean;
2589
393
  type ResourceState = 'pending' | 'ready' | 'errored';
2590
394
  interface Resource<T> {
2591
395
  (): T | undefined;
2592
- loading: Signal$1<boolean>;
2593
- error: Signal$1<Error | null>;
2594
- state: Signal$1<ResourceState>;
396
+ loading: Signal<boolean>;
397
+ error: Signal<Error | null>;
398
+ state: Signal<ResourceState>;
2595
399
  }
2596
400
  interface ResourceActions<T> {
2597
401
  mutate: (value: T) => void;
@@ -2713,4 +517,4 @@ declare function mapSSRNodes(template: HTMLElement, idx: number[]): Node[];
2713
517
  */
2714
518
  declare function hydrate(component: (props?: any) => any, container: HTMLElement | string, props?: Record<string, unknown>): any;
2715
519
 
2716
- export { Component, type ComponentFn, type ComponentProps, Fragment, type FragmentProps, type InjectionKey, Portal, type PortalProps, type Resource, type ResourceActions, type ResourceOptions, type ResourceState, Suspense, SuspenseContext, type SuspenseContextType, type SuspenseProps, addEvent, addEventListener, bindElement, createApp, createComponent, createResource, createSSGComponent, delegateEvents, getHydrationKey, getRenderedElement, hydrate, inject, insert, isComponent, isFragment, isPortal, isSuspense, mapNodes, mapSSRNodes, normalizeClass, onDestroy, onMount, onUpdate, patchAttr, patchClass, patchStyle, provide, render, renderToString, setSSGAttr, setStyle, template };
520
+ export { type AnyNode, Component, type ComponentFn, type ComponentProps, Fragment, type FragmentProps, type InjectionKey, Portal, type PortalProps, type Resource, type ResourceActions, type ResourceOptions, type ResourceState, Suspense, SuspenseContext, type SuspenseContextType, type SuspenseProps, addEvent, addEventListener, bindElement, createApp, createComponent, createResource, createSSGComponent, delegateEvents, getHydrationKey, getRenderedElement, hydrate, inject, insert, isComponent, isFragment, isPortal, isSuspense, mapNodes, mapSSRNodes, normalizeClass, omitProps, onDestroy, onMount, onUpdate, patchAttr, patchClass, patchStyle, provide, render, renderToString, setSSGAttr, setStyle, template };