@solidjs/h 2.0.0-beta.3 → 2.0.0-beta.30

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,4 +1,6 @@
1
1
  import * as csstype from "csstype";
2
+ import type { PropKey, WidenPropValue } from "./jsx-properties.js";
3
+ import type { Element as SolidElement } from "solid-js";
2
4
 
3
5
  /**
4
6
  * Originally based on JSX types for Surplus and Inferno and adapted for `dom-expressions`.
@@ -28,10 +30,9 @@ import * as csstype from "csstype";
28
30
  *
29
31
  * - Event handlers use `camelCase` such `onClick` and will be delegated when possible, bubbling
30
32
  * through the component tree, not the dom tree.
31
- * - Native event handlers use the namespace `on:` such `on:click`, and wont be delegated. bubbling
32
- * the dom tree.
33
+ * - Event handlers use camelCase attributes; native listener options should be handled with `ref`
34
+ * callbacks that call `addEventListener` directly.
33
35
  * - A global case-insensitive event handler can be added by extending `EventHandlersElement<T>`
34
- * - A native `on:` event handler can be added by extending `CustomEvents<T>` interface
35
36
  *
36
37
  * ## Boolean Attributes (property setter that accepts `true | false`):
37
38
  *
@@ -109,6 +110,19 @@ import * as csstype from "csstype";
109
110
 
110
111
  type DOMElement = Element;
111
112
 
113
+ /**
114
+ * Fallback declarations for event types that are not yet defined in older TypeScript
115
+ * `lib.dom.d.ts` versions. When the user's TS lib defines these, declaration merging
116
+ * yields the full specialized type; otherwise these serve as a bare `Event` fallback.
117
+ */
118
+ declare global {
119
+ interface CommandEvent extends Event {}
120
+ interface PageRevealEvent extends Event {}
121
+ interface PageSwapEvent extends Event {}
122
+ interface SnapEvent extends Event {}
123
+ interface TimeEvent extends Event {}
124
+ }
125
+
112
126
  export namespace JSX {
113
127
  // START - difference between `jsx.d.ts` and `jsx-h.d.ts`
114
128
  type FunctionMaybe<T = unknown> = { (): T } | T;
@@ -116,15 +130,7 @@ export namespace JSX {
116
130
  (): Element;
117
131
  }
118
132
 
119
- type Element =
120
- | Node
121
- | ArrayElement
122
- | FunctionElement
123
- | (string & {})
124
- | number
125
- | boolean
126
- | null
127
- | undefined;
133
+ type Element = SolidElement | Node | FunctionElement | ArrayElement;
128
134
  // END - difference between `jsx.d.ts` and `jsx-h.d.ts`
129
135
 
130
136
  interface ArrayElement extends Array<Element> {}
@@ -164,18 +170,6 @@ export namespace JSX {
164
170
  EHandler extends EventHandler<T, any> = EventHandler<T, E>
165
171
  > = EHandler | BoundEventHandler<T, E, EHandler>;
166
172
 
167
- interface EventHandlerWithOptions<T, E extends Event, EHandler = EventHandler<T, E>>
168
- extends AddEventListenerOptions,
169
- EventListenerOptions {
170
- handleEvent: EHandler;
171
- }
172
-
173
- type EventHandlerWithOptionsUnion<
174
- T,
175
- E extends Event,
176
- EHandler extends EventHandler<T, any> = EventHandler<T, E>
177
- > = EHandler | EventHandlerWithOptions<T, E, EHandler>;
178
-
179
173
  interface InputEventHandler<T, E extends InputEvent> {
180
174
  (
181
175
  e: E & {
@@ -225,9 +219,14 @@ export namespace JSX {
225
219
  >;
226
220
  // end event handlers
227
221
 
228
- type ClassList =
222
+ export type ClassValue =
223
+ | string
224
+ | number
225
+ | boolean
226
+ | null
227
+ | undefined
229
228
  | Record<string, boolean>
230
- | Array<string | number | boolean | null | undefined | Record<string, boolean>>;
229
+ | ClassValue[];
231
230
 
232
231
  const SERIALIZABLE: unique symbol;
233
232
  interface SerializableAttributeValue {
@@ -235,45 +234,30 @@ export namespace JSX {
235
234
  [SERIALIZABLE]: never;
236
235
  }
237
236
 
237
+ type RefCallback<T> = (el: T) => void;
238
+ type Ref<T> = T | RefCallback<T> | Ref<T>[];
239
+
238
240
  interface IntrinsicAttributes {
239
- ref?: unknown | ((e: unknown) => void) | undefined;
241
+ ref?: Ref<unknown> | undefined;
240
242
  }
241
243
  interface CustomAttributes<T> {
242
- ref?: T | ((el: T) => void) | undefined;
244
+ ref?: Ref<T> | undefined;
243
245
  children?: FunctionMaybe<Element | undefined>;
244
246
  $ServerOnly?: boolean | undefined;
245
247
  }
246
- type Accessor<T> = () => T;
247
- interface Directives {}
248
- interface DirectiveFunctions {
249
- [x: string]: (el: DOMElement, accessor: Accessor<any>) => void;
250
- }
251
248
  interface ExplicitProperties {}
252
- interface CustomEvents {}
253
- type DirectiveAttributes = {
254
- [Key in keyof Directives as `use:${Key}`]?: Directives[Key];
255
- };
256
- type DirectiveFunctionAttributes<T> = {
257
- [K in keyof DirectiveFunctions as string extends K
258
- ? never
259
- : `use:${K}`]?: DirectiveFunctions[K] extends (
260
- el: infer E, // will be unknown if not provided
261
- ...rest: infer R // use rest so that we can check whether it's provided or not
262
- ) => void
263
- ? T extends E // everything extends unknown if E is unknown
264
- ? R extends [infer A] // check if has accessor provided
265
- ? A extends Accessor<infer V>
266
- ? V // it's an accessor
267
- : never // it isn't, type error
268
- : true // no accessor provided
269
- : never // T is the wrong element
270
- : never; // it isn't a function
271
- };
272
249
  type PropAttributes = {
273
250
  [Key in keyof ExplicitProperties as `prop:${Key}`]?: ExplicitProperties[Key];
274
251
  };
275
- type OnAttributes<T> = {
276
- [Key in keyof CustomEvents as `on:${Key}`]?: EventHandlerWithOptionsUnion<T, CustomEvents[Key]>;
252
+
253
+ /**
254
+ * Writable, element-specific DOM properties exposed as `prop:*` attributes, auto-derived
255
+ * from the element interface `T`. See `./jsx-properties.d.ts` for the filtering rules.
256
+ * Existing element interfaces can locally disable an auto-derived key with
257
+ * `"prop:foo"?: never;` to redirect users to a plain attribute form.
258
+ */
259
+ type Properties<T> = {
260
+ [K in keyof T as PropKey<T, K>]?: FunctionMaybe<WidenPropValue<T[K]>>;
277
261
  };
278
262
 
279
263
  // CSS
@@ -285,11 +269,6 @@ export namespace JSX {
285
269
 
286
270
  // TODO: Should we allow this?
287
271
  // type ClassKeys = `class:${string}`;
288
- // type CSSKeys = Exclude<keyof csstype.PropertiesHyphen, `-${string}`>;
289
-
290
- // type CSSAttributes = {
291
- // [key in CSSKeys as `style:${key}`]: csstype.PropertiesHyphen[key];
292
- // };
293
272
 
294
273
  // BOOLEAN
295
274
 
@@ -302,12 +281,16 @@ export namespace JSX {
302
281
 
303
282
  type BooleanAttribute = true | false | "";
304
283
 
284
+ type BooleanProperty = true | false;
285
+
305
286
  type EnumeratedPseudoBoolean = "false" | "true";
306
287
 
307
288
  type EnumeratedAcceptsEmpty = "" | true;
308
289
 
309
290
  type RemoveAttribute = undefined | false;
310
291
 
292
+ type RemoveProperty = undefined;
293
+
311
294
  // ARIA
312
295
 
313
296
  // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
@@ -701,6 +684,9 @@ export namespace JSX {
701
684
  onAfterPrint?: EventHandlerUnion<T, Event> | undefined;
702
685
  onBeforePrint?: EventHandlerUnion<T, Event> | undefined;
703
686
  onBeforeUnload?: EventHandlerUnion<T, BeforeUnloadEvent> | undefined;
687
+ onDeviceMotion?: EventHandlerUnion<T, DeviceMotionEvent> | undefined;
688
+ onDeviceOrientation?: EventHandlerUnion<T, DeviceOrientationEvent> | undefined;
689
+ onDeviceOrientationAbsolute?: EventHandlerUnion<T, DeviceOrientationEvent> | undefined;
704
690
  onGamepadConnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
705
691
  onGamepadDisconnected?: EventHandlerUnion<T, GamepadEvent> | undefined;
706
692
  onHashchange?: EventHandlerUnion<T, HashChangeEvent> | undefined;
@@ -709,40 +695,19 @@ export namespace JSX {
709
695
  onMessageError?: EventHandlerUnion<T, MessageEvent> | undefined;
710
696
  onOffline?: EventHandlerUnion<T, Event> | undefined;
711
697
  onOnline?: EventHandlerUnion<T, Event> | undefined;
698
+ /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
699
+ onOrientationChange?: EventHandlerUnion<T, Event> | undefined;
712
700
  onPageHide?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
713
- // TODO `PageRevealEvent` is currently undefined on TS
714
- onPageReveal?: EventHandlerUnion<T, Event> | undefined;
701
+ onPageReveal?: EventHandlerUnion<T, PageRevealEvent> | undefined;
715
702
  onPageShow?: EventHandlerUnion<T, PageTransitionEvent> | undefined;
716
- // TODO `PageSwapEvent` is currently undefined on TS
717
- onPageSwap?: EventHandlerUnion<T, Event> | undefined;
703
+ onPageSwap?: EventHandlerUnion<T, PageSwapEvent> | undefined;
718
704
  onPopstate?: EventHandlerUnion<T, PopStateEvent> | undefined;
719
705
  onRejectionHandled?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
720
706
  onStorage?: EventHandlerUnion<T, StorageEvent> | undefined;
721
707
  onUnhandledRejection?: EventHandlerUnion<T, PromiseRejectionEvent> | undefined;
722
708
  onUnload?: EventHandlerUnion<T, Event> | undefined;
723
709
 
724
- "on:afterprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
725
- "on:beforeprint"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
726
- "on:beforeunload"?: EventHandlerWithOptionsUnion<T, BeforeUnloadEvent> | undefined;
727
- "on:gamepadconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
728
- "on:gamepaddisconnected"?: EventHandlerWithOptionsUnion<T, GamepadEvent> | undefined;
729
- "on:hashchange"?: EventHandlerWithOptionsUnion<T, HashChangeEvent> | undefined;
730
- "on:languagechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
731
- "on:message"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
732
- "on:messageerror"?: EventHandlerWithOptionsUnion<T, MessageEvent> | undefined;
733
- "on:offline"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
734
- "on:online"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
735
- "on:pagehide"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
736
- // TODO `PageRevealEvent` is currently undefined in TS
737
- "on:pagereveal"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
738
- "on:pageshow"?: EventHandlerWithOptionsUnion<T, PageTransitionEvent> | undefined;
739
- // TODO `PageSwapEvent` is currently undefined in TS
740
- "on:pageswap"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
741
- "on:popstate"?: EventHandlerWithOptionsUnion<T, PopStateEvent> | undefined;
742
- "on:rejectionhandled"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
743
- "on:storage"?: EventHandlerWithOptionsUnion<T, StorageEvent> | undefined;
744
- "on:unhandledrejection"?: EventHandlerWithOptionsUnion<T, PromiseRejectionEvent> | undefined;
745
- "on:unload"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
710
+ /** @deprecated Use `screen.orientation` (`ScreenOrientation.change`) instead. */
746
711
  }
747
712
 
748
713
  /**
@@ -774,8 +739,7 @@ export namespace JSX {
774
739
  onChange?: ChangeEventHandlerUnion<T, Event> | undefined;
775
740
  onClick?: EventHandlerUnion<T, MouseEvent> | undefined;
776
741
  onClose?: EventHandlerUnion<T, Event> | undefined;
777
- // TODO `CommandEvent` is currently undefined in TS
778
- onCommand?: EventHandlerUnion<T, Event> | undefined;
742
+ onCommand?: EventHandlerUnion<T, CommandEvent> | undefined;
779
743
  onCompositionEnd?: EventHandlerUnion<T, CompositionEvent> | undefined;
780
744
  onCompositionStart?: EventHandlerUnion<T, CompositionEvent> | undefined;
781
745
  onCompositionUpdate?: EventHandlerUnion<T, CompositionEvent> | undefined;
@@ -844,10 +808,8 @@ export namespace JSX {
844
808
  onResize?: EventHandlerUnion<T, UIEvent> | undefined;
845
809
  onScroll?: EventHandlerUnion<T, Event> | undefined;
846
810
  onScrollEnd?: EventHandlerUnion<T, Event> | undefined;
847
- // todo `SnapEvent` is currently undefined in TS
848
- onScrollSnapChange?: EventHandlerUnion<T, Event> | undefined;
849
- // todo `SnapEvent` is currently undefined in TS
850
- onScrollSnapChanging?: EventHandlerUnion<T, Event> | undefined;
811
+ onScrollSnapChange?: EventHandlerUnion<T, SnapEvent> | undefined;
812
+ onScrollSnapChanging?: EventHandlerUnion<T, SnapEvent> | undefined;
851
813
  onSecurityPolicyViolation?: EventHandlerUnion<T, SecurityPolicyViolationEvent> | undefined;
852
814
  onSeeked?: EventHandlerUnion<T, Event> | undefined;
853
815
  onSeeking?: EventHandlerUnion<T, Event> | undefined;
@@ -871,157 +833,37 @@ export namespace JSX {
871
833
  onVolumeChange?: EventHandlerUnion<T, Event> | undefined;
872
834
  onWaiting?: EventHandlerUnion<T, Event> | undefined;
873
835
  onWheel?: EventHandlerUnion<T, WheelEvent> | undefined;
836
+ }
874
837
 
875
- "on:abort"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
876
- "on:animationcancel"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
877
- "on:animationend"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
878
- "on:animationiteration"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
879
- "on:animationstart"?: EventHandlerWithOptionsUnion<T, AnimationEvent> | undefined;
880
- "on:auxclick"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
881
- "on:beforecopy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
882
- "on:beforecut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
883
- "on:beforeinput"?:
884
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
885
- | undefined;
886
- "on:beforematch"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
887
- "on:beforepaste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
888
- "on:beforetoggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
889
- "on:beforexrselect"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
890
- "on:blur"?:
891
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
892
- | undefined;
893
- "on:cancel"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
894
- "on:canplay"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
895
- "on:canplaythrough"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
896
- "on:change"?: EventHandlerWithOptionsUnion<T, Event, ChangeEventHandler<T, Event>> | undefined;
897
- "on:click"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
898
- "on:close"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
899
- // TODO `CommandEvent` is currently undefined in TS
900
- "on:command"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
901
- "on:compositionend"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
902
- "on:compositionstart"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
903
- "on:compositionupdate"?: EventHandlerWithOptionsUnion<T, CompositionEvent> | undefined;
904
- "on:contentvisibilityautostatechange"?:
905
- | EventHandlerWithOptionsUnion<T, ContentVisibilityAutoStateChangeEvent>
906
- | undefined;
907
- "on:contextlost"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
908
- "on:contextmenu"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
909
- "on:contextrestored"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
910
- "on:copy"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
911
- "on:cuechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
912
- "on:cut"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
913
- "on:dblclick"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
914
- "on:drag"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
915
- "on:dragend"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
916
- "on:dragenter"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
917
- "on:dragexit"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
918
- "on:dragleave"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
919
- "on:dragover"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
920
- "on:dragstart"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
921
- "on:drop"?: EventHandlerWithOptionsUnion<T, DragEvent> | undefined;
922
- "on:durationchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
923
- "on:emptied"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
924
- "on:ended"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
925
- "on:error"?: EventHandlerWithOptionsUnion<T, ErrorEvent> | undefined;
926
- "on:focus"?:
927
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
928
- | undefined;
929
- "on:focusin"?:
930
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
931
- | undefined;
932
- "on:focusout"?:
933
- | EventHandlerWithOptionsUnion<T, FocusEvent, FocusEventHandler<T, FocusEvent>>
934
- | undefined;
935
- "on:formdata"?: EventHandlerWithOptionsUnion<T, FormDataEvent> | undefined;
936
- "on:fullscreenchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
937
- "on:fullscreenerror"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
938
- "on:gotpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
939
- "on:input"?:
940
- | EventHandlerWithOptionsUnion<T, InputEvent, InputEventHandler<T, InputEvent>>
941
- | undefined;
942
- "on:invalid"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
943
- "on:keydown"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
944
- "on:keypress"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
945
- "on:keyup"?: EventHandlerWithOptionsUnion<T, KeyboardEvent> | undefined;
946
- "on:load"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
947
- "on:loadeddata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
948
- "on:loadedmetadata"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
949
- "on:loadstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
950
- "on:lostpointercapture"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
951
- "on:mousedown"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
952
- "on:mouseenter"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
953
- "on:mouseleave"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
954
- "on:mousemove"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
955
- "on:mouseout"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
956
- "on:mouseover"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
957
- "on:mouseup"?: EventHandlerWithOptionsUnion<T, MouseEvent> | undefined;
958
- "on:paste"?: EventHandlerWithOptionsUnion<T, ClipboardEvent> | undefined;
959
- "on:pause"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
960
- "on:play"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
961
- "on:playing"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
962
- "on:pointercancel"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
963
- "on:pointerdown"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
964
- "on:pointerenter"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
965
- "on:pointerleave"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
966
- "on:pointermove"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
967
- "on:pointerout"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
968
- "on:pointerover"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
969
- "on:pointerrawupdate"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
970
- "on:pointerup"?: EventHandlerWithOptionsUnion<T, PointerEvent> | undefined;
971
- "on:progress"?: EventHandlerWithOptionsUnion<T, ProgressEvent> | undefined;
972
- "on:ratechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
973
- "on:reset"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
974
- "on:resize"?: EventHandlerWithOptionsUnion<T, UIEvent> | undefined;
975
- "on:scroll"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
976
- "on:scrollend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
977
- // todo `SnapEvent` is currently undefined in TS
978
- "on:scrollsnapchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
979
- // todo `SnapEvent` is currently undefined in TS
980
- "on:scrollsnapchanging"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
981
- "on:securitypolicyviolation"?:
982
- | EventHandlerWithOptionsUnion<T, SecurityPolicyViolationEvent>
983
- | undefined;
984
- "on:seeked"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
985
- "on:seeking"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
986
- "on:select"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
987
- "on:selectionchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
988
- "on:selectstart"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
989
- "on:slotchange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
990
- "on:stalled"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
991
- "on:submit"?: EventHandlerWithOptionsUnion<T, SubmitEvent> | undefined;
992
- "on:suspend"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
993
- "on:timeupdate"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
994
- "on:toggle"?: EventHandlerWithOptionsUnion<T, ToggleEvent> | undefined;
995
- "on:touchcancel"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
996
- "on:touchend"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
997
- "on:touchmove"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
998
- "on:touchstart"?: EventHandlerWithOptionsUnion<T, TouchEvent> | undefined;
999
- "on:transitioncancel"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1000
- "on:transitionend"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1001
- "on:transitionrun"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1002
- "on:transitionstart"?: EventHandlerWithOptionsUnion<T, TransitionEvent> | undefined;
1003
- "on:volumechange"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1004
- "on:waiting"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1005
- "on:wheel"?: EventHandlerWithOptionsUnion<T, WheelEvent> | undefined;
1006
- }
1007
-
1008
- type EventType =
838
+ // EventName = "click" | "mousedown" ...
839
+
840
+ type EventName =
1009
841
  | (keyof EventHandlersWindow<any> extends infer K
1010
- ? K extends `on:${infer T}`
1011
- ? T
1012
- : K extends `on${infer T}`
842
+ ? K extends `on${infer T}`
1013
843
  ? Lowercase<T>
1014
844
  : never
1015
845
  : never)
1016
846
  | (keyof EventHandlersElement<any> extends infer K
1017
- ? K extends `on:${infer T}`
1018
- ? T
1019
- : K extends `on${infer T}`
847
+ ? K extends `on${infer T}`
1020
848
  ? Lowercase<T>
1021
849
  : never
1022
850
  : never)
1023
851
  | (string & {});
1024
852
 
853
+ type ExtractEventType<T> = {
854
+ [K in keyof T as K extends `on${infer Name}` ? Name : never]: T[K] extends EventHandlerUnion<
855
+ Element,
856
+ infer E
857
+ >
858
+ ? E
859
+ : never;
860
+ };
861
+
862
+ // EventType["click"] = MouseEvent
863
+
864
+ type EventType = ExtractEventType<EventHandlersElement<Element>> &
865
+ ExtractEventType<EventHandlersWindow<Element>>;
866
+
1025
867
  // GLOBAL ATTRIBUTES
1026
868
 
1027
869
  /**
@@ -1031,13 +873,7 @@ export namespace JSX {
1031
873
  * 2. Includes `keys` defined by `Element` and `Node` interfaces.
1032
874
  */
1033
875
  interface ElementAttributes<T>
1034
- extends CustomAttributes<T>,
1035
- DirectiveAttributes,
1036
- DirectiveFunctionAttributes<T>,
1037
- PropAttributes,
1038
- OnAttributes<T>,
1039
- EventHandlersElement<T>,
1040
- AriaAttributes {
876
+ extends CustomAttributes<T>, PropAttributes, EventHandlersElement<T>, AriaAttributes {
1041
877
  // [key: ClassKeys]: boolean;
1042
878
 
1043
879
  // properties
@@ -1046,7 +882,20 @@ export namespace JSX {
1046
882
 
1047
883
  // attributes
1048
884
  autofocus?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1049
- class?: FunctionMaybe<string | ClassList | RemoveAttribute>;
885
+ /**
886
+ * Class names to apply. Accepts a string, an object whose keys are class
887
+ * names and values are booleans (`{ active: isActive() }` — truthy keys
888
+ * are added), or an array merging strings/objects/nested arrays
889
+ * (`["card", props.class, { active: isActive() }]`).
890
+ *
891
+ * For conditional classes, prefer the array+object form. Don't build
892
+ * class strings manually with concatenation, template literals, or
893
+ * `.filter(Boolean).join(" ")` — that's the React/`classnames` reflex
894
+ * and the array+object form replaces it. The array+object form composes
895
+ * with reactive values directly; manually-built strings re-run the whole
896
+ * concatenation on every change instead of toggling the affected classes.
897
+ */
898
+ class?: FunctionMaybe<ClassValue | RemoveAttribute>;
1050
899
  elementtiming?: FunctionMaybe<string | RemoveAttribute>;
1051
900
  id?: FunctionMaybe<string | RemoveAttribute>;
1052
901
  nonce?: FunctionMaybe<string | RemoveAttribute>;
@@ -1107,7 +956,7 @@ export namespace JSX {
1107
956
  >;
1108
957
  is?: FunctionMaybe<string | RemoveAttribute>;
1109
958
  lang?: FunctionMaybe<string | RemoveAttribute>;
1110
- popover?: FunctionMaybe<EnumeratedAcceptsEmpty | "manual" | "auto" | RemoveAttribute>;
959
+ popover?: FunctionMaybe<EnumeratedAcceptsEmpty | "manual" | "auto" | "hint" | RemoveAttribute>;
1111
960
  spellcheck?: FunctionMaybe<EnumeratedPseudoBoolean | EnumeratedAcceptsEmpty | RemoveAttribute>;
1112
961
  title?: FunctionMaybe<string | RemoveAttribute>;
1113
962
  translate?: FunctionMaybe<"yes" | "no" | RemoveAttribute>;
@@ -1251,8 +1100,8 @@ export namespace JSX {
1251
1100
  | "worker";
1252
1101
 
1253
1102
  interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
1254
- download?: FunctionMaybe<string | RemoveAttribute>;
1255
- href?: FunctionMaybe<string | RemoveAttribute>;
1103
+ download?: FunctionMaybe<string | EnumeratedAcceptsEmpty | RemoveAttribute>;
1104
+ href?: FunctionMaybe<string | SerializableAttributeValue | RemoveAttribute>;
1256
1105
  hreflang?: FunctionMaybe<string | RemoveAttribute>;
1257
1106
  ping?: FunctionMaybe<string | RemoveAttribute>;
1258
1107
  referrerpolicy?: FunctionMaybe<HTMLReferrerPolicy | RemoveAttribute>;
@@ -1262,6 +1111,21 @@ export namespace JSX {
1262
1111
  >;
1263
1112
  type?: FunctionMaybe<string | RemoveAttribute>;
1264
1113
 
1114
+ // Client-side navigation contract. These attributes are inert markup on
1115
+ // their own — a routing integration that delegates anchor clicks (e.g.
1116
+ // @solidjs/router) reads them off the element at event time. Typed here
1117
+ // so plain `<a>` elements participate without per-router augmentation.
1118
+ /** Marks the anchor as a client-navigation link when the integration requires explicit opt-in. */
1119
+ link?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1120
+ /** Serialized (JSON) history state pushed alongside the navigation. */
1121
+ state?: FunctionMaybe<string | RemoveAttribute>;
1122
+ /** Suppress scroll restoration/reset after the navigation. */
1123
+ noScroll?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1124
+ /** Replace the current history entry instead of pushing a new one. */
1125
+ replace?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1126
+ /** Route preload intent; `"false"` disables the integration's default eager preload. */
1127
+ preload?: FunctionMaybe<boolean | "false" | RemoveAttribute>;
1128
+
1265
1129
  /** @experimental */
1266
1130
  attributionsrc?: FunctionMaybe<string | RemoveAttribute>;
1267
1131
 
@@ -1280,8 +1144,8 @@ export namespace JSX {
1280
1144
  interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
1281
1145
  alt?: FunctionMaybe<string | RemoveAttribute>;
1282
1146
  coords?: FunctionMaybe<string | RemoveAttribute>;
1283
- download?: FunctionMaybe<string | RemoveAttribute>;
1284
- href?: FunctionMaybe<string | RemoveAttribute>;
1147
+ download?: FunctionMaybe<string | EnumeratedAcceptsEmpty | RemoveAttribute>;
1148
+ href?: FunctionMaybe<string | SerializableAttributeValue | RemoveAttribute>;
1285
1149
  ping?: FunctionMaybe<string | RemoveAttribute>;
1286
1150
  referrerpolicy?: FunctionMaybe<HTMLReferrerPolicy | RemoveAttribute>;
1287
1151
  rel?: FunctionMaybe<string | RemoveAttribute>;
@@ -1401,6 +1265,7 @@ export namespace JSX {
1401
1265
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog#usage_notes
1402
1266
  */
1403
1267
  tabindex?: never;
1268
+ "prop:tabIndex"?: never;
1404
1269
 
1405
1270
  /** @experimental */
1406
1271
  closedby?: FunctionMaybe<"any" | "closerequest" | "none" | RemoveAttribute>;
@@ -1532,7 +1397,7 @@ export namespace JSX {
1532
1397
  alt?: FunctionMaybe<string | RemoveAttribute>;
1533
1398
  autocomplete?: FunctionMaybe<HTMLAutocomplete | RemoveAttribute>;
1534
1399
  capture?: FunctionMaybe<"user" | "environment" | RemoveAttribute>;
1535
- checked?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1400
+
1536
1401
  colorspace?: FunctionMaybe<string | RemoveAttribute>;
1537
1402
  dirname?: FunctionMaybe<string | RemoveAttribute>;
1538
1403
  disabled?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
@@ -1587,8 +1452,8 @@ export namespace JSX {
1587
1452
  | (string & {})
1588
1453
  | RemoveAttribute
1589
1454
  >;
1590
- value?: FunctionMaybe<string | string[] | number | RemoveAttribute>;
1591
1455
  width?: FunctionMaybe<number | string | RemoveAttribute>;
1456
+ webkitdirectory?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1592
1457
 
1593
1458
  /** @non-standard */
1594
1459
  incremental?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
@@ -1597,6 +1462,24 @@ export namespace JSX {
1597
1462
  align?: FunctionMaybe<string | RemoveAttribute>;
1598
1463
  /** @deprecated */
1599
1464
  usemap?: FunctionMaybe<string | RemoveAttribute>;
1465
+
1466
+ // special cases locked to properties
1467
+
1468
+ checked?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1469
+ /** @error use `<input checked={..}/>` instead */
1470
+ "prop:checked"?: never;
1471
+
1472
+ defaultChecked?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1473
+ /** @error use `<input defaultChecked={..}/>` instead */
1474
+ "prop:defaultChecked"?: never;
1475
+
1476
+ value?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1477
+ /** @error use `<input value={..}/>` instead */
1478
+ "prop:value"?: never;
1479
+
1480
+ defaultValue?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1481
+ /** @error use `<input defaultValue={..}/>` instead */
1482
+ "prop:defaultValue"?: never;
1600
1483
  }
1601
1484
  interface ModHTMLAttributes<T> extends HTMLAttributes<T> {
1602
1485
  cite?: FunctionMaybe<string | RemoveAttribute>;
@@ -1667,20 +1550,27 @@ export namespace JSX {
1667
1550
  crossorigin?: FunctionMaybe<HTMLCrossorigin | RemoveAttribute>;
1668
1551
  disableremoteplayback?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1669
1552
  loop?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1670
- muted?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1553
+
1671
1554
  preload?: FunctionMaybe<
1672
1555
  "none" | "metadata" | "auto" | EnumeratedAcceptsEmpty | RemoveAttribute
1673
1556
  >;
1674
1557
  src?: FunctionMaybe<string | RemoveAttribute>;
1675
1558
 
1676
1559
  onEncrypted?: EventHandlerUnion<T, MediaEncryptedEvent> | undefined;
1677
- "on:encrypted"?: EventHandlerWithOptionsUnion<T, MediaEncryptedEvent> | undefined;
1678
-
1679
1560
  onWaitingForKey?: EventHandlerUnion<T, Event> | undefined;
1680
- "on:waitingforkey"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
1681
1561
 
1682
1562
  /** @deprecated */
1683
1563
  mediagroup?: FunctionMaybe<string | RemoveAttribute>;
1564
+
1565
+ // special cases locked to properties
1566
+
1567
+ muted?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1568
+ /** @error use `<video/audio muted={..}/>` instead */
1569
+ "prop:muted"?: never;
1570
+
1571
+ defaultMuted?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1572
+ /** @error use `<video/audio defaultMuted={..}/>` instead */
1573
+ "prop:defaultMuted"?: never;
1684
1574
  }
1685
1575
  interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
1686
1576
  /** @deprecated */
@@ -1773,8 +1663,27 @@ export namespace JSX {
1773
1663
  interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
1774
1664
  disabled?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1775
1665
  label?: FunctionMaybe<string | RemoveAttribute>;
1776
- selected?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1777
- value?: FunctionMaybe<string | string[] | number | RemoveAttribute>;
1666
+
1667
+ // special cases locked to properties
1668
+
1669
+ selected?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1670
+ /** @error use `<option selected={..}/>` instead */
1671
+ "prop:selected"?: never;
1672
+
1673
+ defaultSelected?: FunctionMaybe<BooleanProperty | RemoveProperty>;
1674
+ /** @error use `<option defaultSelected={..}/>` instead */
1675
+ "prop:defaultSelected"?: never;
1676
+
1677
+ value?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1678
+ /** @error use `<option value={..}/>` instead */
1679
+ "prop:value"?: never;
1680
+
1681
+ // for sanity
1682
+
1683
+ /** @error This doesn't exists for `<option/>` */
1684
+ "prop:defaultValue"?: never;
1685
+ /** @error This doesn't exists for `<option/>` */
1686
+ defaultValue?: never;
1778
1687
  }
1779
1688
  interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
1780
1689
  for?: FunctionMaybe<string | RemoveAttribute>;
@@ -1828,7 +1737,24 @@ export namespace JSX {
1828
1737
  name?: FunctionMaybe<string | RemoveAttribute>;
1829
1738
  required?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1830
1739
  size?: FunctionMaybe<number | string | RemoveAttribute>;
1831
- value?: FunctionMaybe<string | string[] | number | RemoveAttribute>;
1740
+
1741
+ // special cases locked to properties
1742
+
1743
+ value?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1744
+ /** @error use `<select value={..}/>` instead */
1745
+ "prop:value"?: never;
1746
+
1747
+ // for sanity
1748
+
1749
+ /** @error use `<option defaultSelected={..}/>` instead */
1750
+ defaultSelected?: never;
1751
+ /** @error use `<option defaultSelected={..}/>` instead */
1752
+ "prop:defaultSelected"?: never;
1753
+
1754
+ /** @error use `<option defaultSelected={..}/>` instead */
1755
+ selected?: never;
1756
+ /** @error use `<option defaultSelected={..}/>` instead */
1757
+ "prop:selected"?: never;
1832
1758
  }
1833
1759
  interface HTMLSlotElementAttributes<T> extends HTMLAttributes<T> {
1834
1760
  name?: FunctionMaybe<string | RemoveAttribute>;
@@ -1902,8 +1828,17 @@ export namespace JSX {
1902
1828
  readonly?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1903
1829
  required?: FunctionMaybe<BooleanAttribute | RemoveAttribute>;
1904
1830
  rows?: FunctionMaybe<number | string | RemoveAttribute>;
1905
- value?: FunctionMaybe<string | string[] | number | RemoveAttribute>;
1906
1831
  wrap?: FunctionMaybe<"hard" | "soft" | "off" | RemoveAttribute>;
1832
+
1833
+ // special cases locked to properties
1834
+
1835
+ value?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1836
+ /** @error use `<textarea value={..}/>` instead */
1837
+ "prop:value"?: never;
1838
+
1839
+ defaultValue?: FunctionMaybe<string | string[] | number | RemoveProperty>;
1840
+ /** @error use `<textarea defaultValue={..}/>` instead */
1841
+ "prop:defaultValue"?: never;
1907
1842
  }
1908
1843
  interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
1909
1844
  abbr?: FunctionMaybe<string | RemoveAttribute>;
@@ -1964,10 +1899,7 @@ export namespace JSX {
1964
1899
  width?: FunctionMaybe<number | string | RemoveAttribute>;
1965
1900
 
1966
1901
  onEnterPictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
1967
- "on:enterpictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
1968
-
1969
1902
  onLeavePictureInPicture?: EventHandlerUnion<T, PictureInPictureEvent> | undefined;
1970
- "on:leavepictureinpicture"?: EventHandlerWithOptionsUnion<T, PictureInPictureEvent> | undefined;
1971
1903
  }
1972
1904
 
1973
1905
  interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
@@ -2061,7 +1993,20 @@ export namespace JSX {
2061
1993
  type SVGUnits = "userSpaceOnUse" | "objectBoundingBox";
2062
1994
 
2063
1995
  interface StylableSVGAttributes {
2064
- class?: FunctionMaybe<string | ClassList | RemoveAttribute>;
1996
+ /**
1997
+ * Class names to apply. Accepts a string, an object whose keys are class
1998
+ * names and values are booleans (`{ active: isActive() }` — truthy keys
1999
+ * are added), or an array merging strings/objects/nested arrays
2000
+ * (`["card", props.class, { active: isActive() }]`).
2001
+ *
2002
+ * For conditional classes, prefer the array+object form. Don't build
2003
+ * class strings manually with concatenation, template literals, or
2004
+ * `.filter(Boolean).join(" ")` — that's the React/`classnames` reflex
2005
+ * and the array+object form replaces it. The array+object form composes
2006
+ * with reactive values directly; manually-built strings re-run the whole
2007
+ * concatenation on every change instead of toggling the affected classes.
2008
+ */
2009
+ class?: FunctionMaybe<ClassValue | RemoveAttribute>;
2065
2010
  style?: FunctionMaybe<CSSProperties | string | RemoveAttribute>;
2066
2011
  }
2067
2012
  interface TransformableSVGAttributes {
@@ -2233,23 +2178,15 @@ export namespace JSX {
2233
2178
  visibility?: FunctionMaybe<"visible" | "hidden" | "collapse" | "inherit" | RemoveAttribute>;
2234
2179
  }
2235
2180
  interface AnimationElementSVGAttributes<T>
2236
- extends SVGAttributes<T>,
2237
- ExternalResourceSVGAttributes,
2238
- ConditionalProcessingSVGAttributes {
2239
- // TODO TimeEvent is currently undefined on TS
2240
- onBegin?: EventHandlerUnion<T, Event> | undefined;
2241
- "on:begin"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2242
-
2243
- // TODO TimeEvent is currently undefined on TS
2244
- onEnd?: EventHandlerUnion<T, Event> | undefined;
2245
- "on:end"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2246
-
2247
- // TODO TimeEvent is currently undefined on TS
2248
- onRepeat?: EventHandlerUnion<T, Event> | undefined;
2249
- "on:repeat"?: EventHandlerWithOptionsUnion<T, Event> | undefined;
2181
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, ConditionalProcessingSVGAttributes {
2182
+ onBegin?: EventHandlerUnion<T, TimeEvent> | undefined;
2183
+ onEnd?: EventHandlerUnion<T, TimeEvent> | undefined;
2184
+ onRepeat?: EventHandlerUnion<T, TimeEvent> | undefined;
2250
2185
  }
2186
+
2251
2187
  interface ContainerElementSVGAttributes<T>
2252
- extends SVGAttributes<T>,
2188
+ extends
2189
+ SVGAttributes<T>,
2253
2190
  ShapeElementSVGAttributes<T>,
2254
2191
  Pick<
2255
2192
  PresentationSVGAttributes,
@@ -2262,9 +2199,9 @@ export namespace JSX {
2262
2199
  | "color-interpolation"
2263
2200
  | "color-rendering"
2264
2201
  > {}
2202
+
2265
2203
  interface FilterPrimitiveElementSVGAttributes<T>
2266
- extends SVGAttributes<T>,
2267
- Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2204
+ extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "color-interpolation-filters"> {
2268
2205
  height?: FunctionMaybe<number | string | RemoveAttribute>;
2269
2206
  result?: FunctionMaybe<string | RemoveAttribute>;
2270
2207
  width?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2283,16 +2220,15 @@ export namespace JSX {
2283
2220
  viewBox?: FunctionMaybe<string | RemoveAttribute>;
2284
2221
  }
2285
2222
  interface GradientElementSVGAttributes<T>
2286
- extends SVGAttributes<T>,
2287
- ExternalResourceSVGAttributes,
2288
- StylableSVGAttributes {
2223
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
2289
2224
  gradientTransform?: FunctionMaybe<string | RemoveAttribute>;
2290
2225
  gradientUnits?: FunctionMaybe<SVGUnits | RemoveAttribute>;
2291
2226
  href?: FunctionMaybe<string | RemoveAttribute>;
2292
2227
  spreadMethod?: FunctionMaybe<"pad" | "reflect" | "repeat" | RemoveAttribute>;
2293
2228
  }
2294
2229
  interface GraphicsElementSVGAttributes<T>
2295
- extends SVGAttributes<T>,
2230
+ extends
2231
+ SVGAttributes<T>,
2296
2232
  Pick<
2297
2233
  PresentationSVGAttributes,
2298
2234
  | "clip-rule"
@@ -2308,12 +2244,12 @@ export namespace JSX {
2308
2244
  > {}
2309
2245
  interface LightSourceElementSVGAttributes<T> extends SVGAttributes<T> {}
2310
2246
  interface NewViewportSVGAttributes<T>
2311
- extends SVGAttributes<T>,
2312
- Pick<PresentationSVGAttributes, "overflow" | "clip"> {
2247
+ extends SVGAttributes<T>, Pick<PresentationSVGAttributes, "overflow" | "clip"> {
2313
2248
  viewBox?: FunctionMaybe<string | RemoveAttribute>;
2314
2249
  }
2315
2250
  interface ShapeElementSVGAttributes<T>
2316
- extends SVGAttributes<T>,
2251
+ extends
2252
+ SVGAttributes<T>,
2317
2253
  Pick<
2318
2254
  PresentationSVGAttributes,
2319
2255
  | "color"
@@ -2332,7 +2268,8 @@ export namespace JSX {
2332
2268
  | "pathLength"
2333
2269
  > {}
2334
2270
  interface TextContentElementSVGAttributes<T>
2335
- extends SVGAttributes<T>,
2271
+ extends
2272
+ SVGAttributes<T>,
2336
2273
  Pick<
2337
2274
  PresentationSVGAttributes,
2338
2275
  | "font-family"
@@ -2373,14 +2310,16 @@ export namespace JSX {
2373
2310
  zoomAndPan?: FunctionMaybe<"disable" | "magnify" | RemoveAttribute>;
2374
2311
  }
2375
2312
  interface AnimateSVGAttributes<T>
2376
- extends AnimationElementSVGAttributes<T>,
2313
+ extends
2314
+ AnimationElementSVGAttributes<T>,
2377
2315
  AnimationAttributeTargetSVGAttributes,
2378
2316
  AnimationTimingSVGAttributes,
2379
2317
  AnimationValueSVGAttributes,
2380
2318
  AnimationAdditionSVGAttributes,
2381
2319
  Pick<PresentationSVGAttributes, "color-interpolation" | "color-rendering"> {}
2382
2320
  interface AnimateMotionSVGAttributes<T>
2383
- extends AnimationElementSVGAttributes<T>,
2321
+ extends
2322
+ AnimationElementSVGAttributes<T>,
2384
2323
  AnimationTimingSVGAttributes,
2385
2324
  AnimationValueSVGAttributes,
2386
2325
  AnimationAdditionSVGAttributes {
@@ -2390,7 +2329,8 @@ export namespace JSX {
2390
2329
  rotate?: FunctionMaybe<number | string | "auto" | "auto-reverse" | RemoveAttribute>;
2391
2330
  }
2392
2331
  interface AnimateTransformSVGAttributes<T>
2393
- extends AnimationElementSVGAttributes<T>,
2332
+ extends
2333
+ AnimationElementSVGAttributes<T>,
2394
2334
  AnimationAttributeTargetSVGAttributes,
2395
2335
  AnimationTimingSVGAttributes,
2396
2336
  AnimationValueSVGAttributes,
@@ -2398,7 +2338,8 @@ export namespace JSX {
2398
2338
  type?: FunctionMaybe<"translate" | "scale" | "rotate" | "skewX" | "skewY" | RemoveAttribute>;
2399
2339
  }
2400
2340
  interface CircleSVGAttributes<T>
2401
- extends GraphicsElementSVGAttributes<T>,
2341
+ extends
2342
+ GraphicsElementSVGAttributes<T>,
2402
2343
  ShapeElementSVGAttributes<T>,
2403
2344
  ConditionalProcessingSVGAttributes,
2404
2345
  StylableSVGAttributes,
@@ -2409,7 +2350,8 @@ export namespace JSX {
2409
2350
  r?: FunctionMaybe<number | string | RemoveAttribute>;
2410
2351
  }
2411
2352
  interface ClipPathSVGAttributes<T>
2412
- extends SVGAttributes<T>,
2353
+ extends
2354
+ SVGAttributes<T>,
2413
2355
  ConditionalProcessingSVGAttributes,
2414
2356
  ExternalResourceSVGAttributes,
2415
2357
  StylableSVGAttributes,
@@ -2418,14 +2360,16 @@ export namespace JSX {
2418
2360
  clipPathUnits?: FunctionMaybe<SVGUnits | RemoveAttribute>;
2419
2361
  }
2420
2362
  interface DefsSVGAttributes<T>
2421
- extends ContainerElementSVGAttributes<T>,
2363
+ extends
2364
+ ContainerElementSVGAttributes<T>,
2422
2365
  ConditionalProcessingSVGAttributes,
2423
2366
  ExternalResourceSVGAttributes,
2424
2367
  StylableSVGAttributes,
2425
2368
  TransformableSVGAttributes {}
2426
2369
  interface DescSVGAttributes<T> extends SVGAttributes<T>, StylableSVGAttributes {}
2427
2370
  interface EllipseSVGAttributes<T>
2428
- extends GraphicsElementSVGAttributes<T>,
2371
+ extends
2372
+ GraphicsElementSVGAttributes<T>,
2429
2373
  ShapeElementSVGAttributes<T>,
2430
2374
  ConditionalProcessingSVGAttributes,
2431
2375
  ExternalResourceSVGAttributes,
@@ -2438,13 +2382,15 @@ export namespace JSX {
2438
2382
  ry?: FunctionMaybe<number | string | RemoveAttribute>;
2439
2383
  }
2440
2384
  interface FeBlendSVGAttributes<T>
2441
- extends FilterPrimitiveElementSVGAttributes<T>,
2385
+ extends
2386
+ FilterPrimitiveElementSVGAttributes<T>,
2442
2387
  DoubleInputFilterSVGAttributes,
2443
2388
  StylableSVGAttributes {
2444
2389
  mode?: FunctionMaybe<"normal" | "multiply" | "screen" | "darken" | "lighten" | RemoveAttribute>;
2445
2390
  }
2446
2391
  interface FeColorMatrixSVGAttributes<T>
2447
- extends FilterPrimitiveElementSVGAttributes<T>,
2392
+ extends
2393
+ FilterPrimitiveElementSVGAttributes<T>,
2448
2394
  SingleInputFilterSVGAttributes,
2449
2395
  StylableSVGAttributes {
2450
2396
  type?: FunctionMaybe<
@@ -2453,11 +2399,13 @@ export namespace JSX {
2453
2399
  values?: FunctionMaybe<string | RemoveAttribute>;
2454
2400
  }
2455
2401
  interface FeComponentTransferSVGAttributes<T>
2456
- extends FilterPrimitiveElementSVGAttributes<T>,
2402
+ extends
2403
+ FilterPrimitiveElementSVGAttributes<T>,
2457
2404
  SingleInputFilterSVGAttributes,
2458
2405
  StylableSVGAttributes {}
2459
2406
  interface FeCompositeSVGAttributes<T>
2460
- extends FilterPrimitiveElementSVGAttributes<T>,
2407
+ extends
2408
+ FilterPrimitiveElementSVGAttributes<T>,
2461
2409
  DoubleInputFilterSVGAttributes,
2462
2410
  StylableSVGAttributes {
2463
2411
  k1?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2469,7 +2417,8 @@ export namespace JSX {
2469
2417
  >;
2470
2418
  }
2471
2419
  interface FeConvolveMatrixSVGAttributes<T>
2472
- extends FilterPrimitiveElementSVGAttributes<T>,
2420
+ extends
2421
+ FilterPrimitiveElementSVGAttributes<T>,
2473
2422
  SingleInputFilterSVGAttributes,
2474
2423
  StylableSVGAttributes {
2475
2424
  bias?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2483,7 +2432,8 @@ export namespace JSX {
2483
2432
  targetY?: FunctionMaybe<number | string | RemoveAttribute>;
2484
2433
  }
2485
2434
  interface FeDiffuseLightingSVGAttributes<T>
2486
- extends FilterPrimitiveElementSVGAttributes<T>,
2435
+ extends
2436
+ FilterPrimitiveElementSVGAttributes<T>,
2487
2437
  SingleInputFilterSVGAttributes,
2488
2438
  StylableSVGAttributes,
2489
2439
  Pick<PresentationSVGAttributes, "color" | "lighting-color"> {
@@ -2492,7 +2442,8 @@ export namespace JSX {
2492
2442
  surfaceScale?: FunctionMaybe<number | string | RemoveAttribute>;
2493
2443
  }
2494
2444
  interface FeDisplacementMapSVGAttributes<T>
2495
- extends FilterPrimitiveElementSVGAttributes<T>,
2445
+ extends
2446
+ FilterPrimitiveElementSVGAttributes<T>,
2496
2447
  DoubleInputFilterSVGAttributes,
2497
2448
  StylableSVGAttributes {
2498
2449
  scale?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2504,7 +2455,8 @@ export namespace JSX {
2504
2455
  elevation?: FunctionMaybe<number | string | RemoveAttribute>;
2505
2456
  }
2506
2457
  interface FeDropShadowSVGAttributes<T>
2507
- extends SVGAttributes<T>,
2458
+ extends
2459
+ SVGAttributes<T>,
2508
2460
  FilterPrimitiveElementSVGAttributes<T>,
2509
2461
  StylableSVGAttributes,
2510
2462
  Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {
@@ -2513,7 +2465,8 @@ export namespace JSX {
2513
2465
  stdDeviation?: FunctionMaybe<number | string | RemoveAttribute>;
2514
2466
  }
2515
2467
  interface FeFloodSVGAttributes<T>
2516
- extends FilterPrimitiveElementSVGAttributes<T>,
2468
+ extends
2469
+ FilterPrimitiveElementSVGAttributes<T>,
2517
2470
  StylableSVGAttributes,
2518
2471
  Pick<PresentationSVGAttributes, "color" | "flood-color" | "flood-opacity"> {}
2519
2472
  interface FeFuncSVGAttributes<T> extends SVGAttributes<T> {
@@ -2526,31 +2479,34 @@ export namespace JSX {
2526
2479
  type?: FunctionMaybe<"identity" | "table" | "discrete" | "linear" | "gamma" | RemoveAttribute>;
2527
2480
  }
2528
2481
  interface FeGaussianBlurSVGAttributes<T>
2529
- extends FilterPrimitiveElementSVGAttributes<T>,
2482
+ extends
2483
+ FilterPrimitiveElementSVGAttributes<T>,
2530
2484
  SingleInputFilterSVGAttributes,
2531
2485
  StylableSVGAttributes {
2532
2486
  stdDeviation?: FunctionMaybe<number | string | RemoveAttribute>;
2533
2487
  }
2534
2488
  interface FeImageSVGAttributes<T>
2535
- extends FilterPrimitiveElementSVGAttributes<T>,
2489
+ extends
2490
+ FilterPrimitiveElementSVGAttributes<T>,
2536
2491
  ExternalResourceSVGAttributes,
2537
2492
  StylableSVGAttributes {
2538
2493
  href?: FunctionMaybe<string | RemoveAttribute>;
2539
2494
  preserveAspectRatio?: FunctionMaybe<SVGPreserveAspectRatio | RemoveAttribute>;
2540
2495
  }
2541
2496
  interface FeMergeSVGAttributes<T>
2542
- extends FilterPrimitiveElementSVGAttributes<T>,
2543
- StylableSVGAttributes {}
2497
+ extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {}
2544
2498
  interface FeMergeNodeSVGAttributes<T> extends SVGAttributes<T>, SingleInputFilterSVGAttributes {}
2545
2499
  interface FeMorphologySVGAttributes<T>
2546
- extends FilterPrimitiveElementSVGAttributes<T>,
2500
+ extends
2501
+ FilterPrimitiveElementSVGAttributes<T>,
2547
2502
  SingleInputFilterSVGAttributes,
2548
2503
  StylableSVGAttributes {
2549
2504
  operator?: FunctionMaybe<"erode" | "dilate" | RemoveAttribute>;
2550
2505
  radius?: FunctionMaybe<number | string | RemoveAttribute>;
2551
2506
  }
2552
2507
  interface FeOffsetSVGAttributes<T>
2553
- extends FilterPrimitiveElementSVGAttributes<T>,
2508
+ extends
2509
+ FilterPrimitiveElementSVGAttributes<T>,
2554
2510
  SingleInputFilterSVGAttributes,
2555
2511
  StylableSVGAttributes {
2556
2512
  dx?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2562,7 +2518,8 @@ export namespace JSX {
2562
2518
  z?: FunctionMaybe<number | string | RemoveAttribute>;
2563
2519
  }
2564
2520
  interface FeSpecularLightingSVGAttributes<T>
2565
- extends FilterPrimitiveElementSVGAttributes<T>,
2521
+ extends
2522
+ FilterPrimitiveElementSVGAttributes<T>,
2566
2523
  SingleInputFilterSVGAttributes,
2567
2524
  StylableSVGAttributes,
2568
2525
  Pick<PresentationSVGAttributes, "color" | "lighting-color"> {
@@ -2582,12 +2539,12 @@ export namespace JSX {
2582
2539
  z?: FunctionMaybe<number | string | RemoveAttribute>;
2583
2540
  }
2584
2541
  interface FeTileSVGAttributes<T>
2585
- extends FilterPrimitiveElementSVGAttributes<T>,
2542
+ extends
2543
+ FilterPrimitiveElementSVGAttributes<T>,
2586
2544
  SingleInputFilterSVGAttributes,
2587
2545
  StylableSVGAttributes {}
2588
2546
  interface FeTurbulanceSVGAttributes<T>
2589
- extends FilterPrimitiveElementSVGAttributes<T>,
2590
- StylableSVGAttributes {
2547
+ extends FilterPrimitiveElementSVGAttributes<T>, StylableSVGAttributes {
2591
2548
  baseFrequency?: FunctionMaybe<number | string | RemoveAttribute>;
2592
2549
  numOctaves?: FunctionMaybe<number | string | RemoveAttribute>;
2593
2550
  seed?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2595,9 +2552,7 @@ export namespace JSX {
2595
2552
  type?: FunctionMaybe<"fractalNoise" | "turbulence" | RemoveAttribute>;
2596
2553
  }
2597
2554
  interface FilterSVGAttributes<T>
2598
- extends SVGAttributes<T>,
2599
- ExternalResourceSVGAttributes,
2600
- StylableSVGAttributes {
2555
+ extends SVGAttributes<T>, ExternalResourceSVGAttributes, StylableSVGAttributes {
2601
2556
  filterRes?: FunctionMaybe<number | string | RemoveAttribute>;
2602
2557
  filterUnits?: FunctionMaybe<SVGUnits | RemoveAttribute>;
2603
2558
  height?: FunctionMaybe<number | string | RemoveAttribute>;
@@ -2607,7 +2562,8 @@ export namespace JSX {
2607
2562
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2608
2563
  }
2609
2564
  interface ForeignObjectSVGAttributes<T>
2610
- extends NewViewportSVGAttributes<T>,
2565
+ extends
2566
+ NewViewportSVGAttributes<T>,
2611
2567
  ConditionalProcessingSVGAttributes,
2612
2568
  ExternalResourceSVGAttributes,
2613
2569
  StylableSVGAttributes,
@@ -2619,14 +2575,16 @@ export namespace JSX {
2619
2575
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2620
2576
  }
2621
2577
  interface GSVGAttributes<T>
2622
- extends ContainerElementSVGAttributes<T>,
2578
+ extends
2579
+ ContainerElementSVGAttributes<T>,
2623
2580
  ConditionalProcessingSVGAttributes,
2624
2581
  ExternalResourceSVGAttributes,
2625
2582
  StylableSVGAttributes,
2626
2583
  TransformableSVGAttributes,
2627
2584
  Pick<PresentationSVGAttributes, "clip-path" | "display" | "visibility"> {}
2628
2585
  interface ImageSVGAttributes<T>
2629
- extends NewViewportSVGAttributes<T>,
2586
+ extends
2587
+ NewViewportSVGAttributes<T>,
2630
2588
  GraphicsElementSVGAttributes<T>,
2631
2589
  ConditionalProcessingSVGAttributes,
2632
2590
  StylableSVGAttributes,
@@ -2640,7 +2598,8 @@ export namespace JSX {
2640
2598
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2641
2599
  }
2642
2600
  interface LineSVGAttributes<T>
2643
- extends GraphicsElementSVGAttributes<T>,
2601
+ extends
2602
+ GraphicsElementSVGAttributes<T>,
2644
2603
  ShapeElementSVGAttributes<T>,
2645
2604
  ConditionalProcessingSVGAttributes,
2646
2605
  ExternalResourceSVGAttributes,
@@ -2659,7 +2618,8 @@ export namespace JSX {
2659
2618
  y2?: FunctionMaybe<number | string | RemoveAttribute>;
2660
2619
  }
2661
2620
  interface MarkerSVGAttributes<T>
2662
- extends ContainerElementSVGAttributes<T>,
2621
+ extends
2622
+ ContainerElementSVGAttributes<T>,
2663
2623
  ExternalResourceSVGAttributes,
2664
2624
  StylableSVGAttributes,
2665
2625
  FitToViewBoxSVGAttributes,
@@ -2672,7 +2632,8 @@ export namespace JSX {
2672
2632
  refY?: FunctionMaybe<number | string | RemoveAttribute>;
2673
2633
  }
2674
2634
  interface MaskSVGAttributes<T>
2675
- extends Omit<ContainerElementSVGAttributes<T>, "opacity" | "filter">,
2635
+ extends
2636
+ Omit<ContainerElementSVGAttributes<T>, "opacity" | "filter">,
2676
2637
  ConditionalProcessingSVGAttributes,
2677
2638
  ExternalResourceSVGAttributes,
2678
2639
  StylableSVGAttributes,
@@ -2687,7 +2648,8 @@ export namespace JSX {
2687
2648
  interface MetadataSVGAttributes<T> extends SVGAttributes<T> {}
2688
2649
  interface MPathSVGAttributes<T> extends SVGAttributes<T> {}
2689
2650
  interface PathSVGAttributes<T>
2690
- extends GraphicsElementSVGAttributes<T>,
2651
+ extends
2652
+ GraphicsElementSVGAttributes<T>,
2691
2653
  ShapeElementSVGAttributes<T>,
2692
2654
  ConditionalProcessingSVGAttributes,
2693
2655
  ExternalResourceSVGAttributes,
@@ -2698,7 +2660,8 @@ export namespace JSX {
2698
2660
  pathLength?: FunctionMaybe<number | string | RemoveAttribute>;
2699
2661
  }
2700
2662
  interface PatternSVGAttributes<T>
2701
- extends ContainerElementSVGAttributes<T>,
2663
+ extends
2664
+ ContainerElementSVGAttributes<T>,
2702
2665
  ConditionalProcessingSVGAttributes,
2703
2666
  ExternalResourceSVGAttributes,
2704
2667
  StylableSVGAttributes,
@@ -2714,7 +2677,8 @@ export namespace JSX {
2714
2677
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2715
2678
  }
2716
2679
  interface PolygonSVGAttributes<T>
2717
- extends GraphicsElementSVGAttributes<T>,
2680
+ extends
2681
+ GraphicsElementSVGAttributes<T>,
2718
2682
  ShapeElementSVGAttributes<T>,
2719
2683
  ConditionalProcessingSVGAttributes,
2720
2684
  ExternalResourceSVGAttributes,
@@ -2724,7 +2688,8 @@ export namespace JSX {
2724
2688
  points?: FunctionMaybe<string | RemoveAttribute>;
2725
2689
  }
2726
2690
  interface PolylineSVGAttributes<T>
2727
- extends GraphicsElementSVGAttributes<T>,
2691
+ extends
2692
+ GraphicsElementSVGAttributes<T>,
2728
2693
  ShapeElementSVGAttributes<T>,
2729
2694
  ConditionalProcessingSVGAttributes,
2730
2695
  ExternalResourceSVGAttributes,
@@ -2741,7 +2706,8 @@ export namespace JSX {
2741
2706
  r?: FunctionMaybe<number | string | RemoveAttribute>;
2742
2707
  }
2743
2708
  interface RectSVGAttributes<T>
2744
- extends GraphicsElementSVGAttributes<T>,
2709
+ extends
2710
+ GraphicsElementSVGAttributes<T>,
2745
2711
  ShapeElementSVGAttributes<T>,
2746
2712
  ConditionalProcessingSVGAttributes,
2747
2713
  ExternalResourceSVGAttributes,
@@ -2756,17 +2722,17 @@ export namespace JSX {
2756
2722
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2757
2723
  }
2758
2724
  interface SetSVGAttributes<T>
2759
- extends AnimationElementSVGAttributes<T>,
2760
- StylableSVGAttributes,
2761
- AnimationTimingSVGAttributes {}
2725
+ extends AnimationElementSVGAttributes<T>, StylableSVGAttributes, AnimationTimingSVGAttributes {}
2762
2726
  interface StopSVGAttributes<T>
2763
- extends SVGAttributes<T>,
2727
+ extends
2728
+ SVGAttributes<T>,
2764
2729
  StylableSVGAttributes,
2765
2730
  Pick<PresentationSVGAttributes, "color" | "stop-color" | "stop-opacity"> {
2766
2731
  offset?: FunctionMaybe<number | string | RemoveAttribute>;
2767
2732
  }
2768
2733
  interface SvgSVGAttributes<T>
2769
- extends ContainerElementSVGAttributes<T>,
2734
+ extends
2735
+ ContainerElementSVGAttributes<T>,
2770
2736
  NewViewportSVGAttributes<T>,
2771
2737
  ConditionalProcessingSVGAttributes,
2772
2738
  ExternalResourceSVGAttributes,
@@ -2789,14 +2755,16 @@ export namespace JSX {
2789
2755
  version?: FunctionMaybe<string | RemoveAttribute>;
2790
2756
  }
2791
2757
  interface SwitchSVGAttributes<T>
2792
- extends ContainerElementSVGAttributes<T>,
2758
+ extends
2759
+ ContainerElementSVGAttributes<T>,
2793
2760
  ConditionalProcessingSVGAttributes,
2794
2761
  ExternalResourceSVGAttributes,
2795
2762
  StylableSVGAttributes,
2796
2763
  TransformableSVGAttributes,
2797
2764
  Pick<PresentationSVGAttributes, "display" | "visibility"> {}
2798
2765
  interface SymbolSVGAttributes<T>
2799
- extends ContainerElementSVGAttributes<T>,
2766
+ extends
2767
+ ContainerElementSVGAttributes<T>,
2800
2768
  NewViewportSVGAttributes<T>,
2801
2769
  ExternalResourceSVGAttributes,
2802
2770
  StylableSVGAttributes,
@@ -2812,7 +2780,8 @@ export namespace JSX {
2812
2780
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2813
2781
  }
2814
2782
  interface TextSVGAttributes<T>
2815
- extends TextContentElementSVGAttributes<T>,
2783
+ extends
2784
+ TextContentElementSVGAttributes<T>,
2816
2785
  GraphicsElementSVGAttributes<T>,
2817
2786
  ConditionalProcessingSVGAttributes,
2818
2787
  ExternalResourceSVGAttributes,
@@ -2828,7 +2797,8 @@ export namespace JSX {
2828
2797
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2829
2798
  }
2830
2799
  interface TextPathSVGAttributes<T>
2831
- extends TextContentElementSVGAttributes<T>,
2800
+ extends
2801
+ TextContentElementSVGAttributes<T>,
2832
2802
  ConditionalProcessingSVGAttributes,
2833
2803
  ExternalResourceSVGAttributes,
2834
2804
  StylableSVGAttributes,
@@ -2842,7 +2812,8 @@ export namespace JSX {
2842
2812
  startOffset?: FunctionMaybe<number | string | RemoveAttribute>;
2843
2813
  }
2844
2814
  interface TSpanSVGAttributes<T>
2845
- extends TextContentElementSVGAttributes<T>,
2815
+ extends
2816
+ TextContentElementSVGAttributes<T>,
2846
2817
  ConditionalProcessingSVGAttributes,
2847
2818
  ExternalResourceSVGAttributes,
2848
2819
  StylableSVGAttributes,
@@ -2860,7 +2831,8 @@ export namespace JSX {
2860
2831
  }
2861
2832
  /** @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use */
2862
2833
  interface UseSVGAttributes<T>
2863
- extends SVGAttributes<T>,
2834
+ extends
2835
+ SVGAttributes<T>,
2864
2836
  StylableSVGAttributes,
2865
2837
  ConditionalProcessingSVGAttributes,
2866
2838
  GraphicsElementSVGAttributes<T>,
@@ -2874,7 +2846,8 @@ export namespace JSX {
2874
2846
  y?: FunctionMaybe<number | string | RemoveAttribute>;
2875
2847
  }
2876
2848
  interface ViewSVGAttributes<T>
2877
- extends SVGAttributes<T>,
2849
+ extends
2850
+ SVGAttributes<T>,
2878
2851
  ExternalResourceSVGAttributes,
2879
2852
  FitToViewBoxSVGAttributes,
2880
2853
  ZoomAndPanSVGAttributes {
@@ -3106,564 +3079,564 @@ export namespace JSX {
3106
3079
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
3107
3080
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement
3108
3081
  */
3109
- a: AnchorHTMLAttributes<HTMLAnchorElement>;
3082
+ a: AnchorHTMLAttributes<HTMLAnchorElement> & Properties<HTMLAnchorElement>;
3110
3083
  /**
3111
3084
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr
3112
3085
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3113
3086
  */
3114
- abbr: HTMLAttributes<HTMLElement>;
3087
+ abbr: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3115
3088
  /**
3116
3089
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address
3117
3090
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3118
3091
  */
3119
- address: HTMLAttributes<HTMLElement>;
3092
+ address: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3120
3093
  /**
3121
3094
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area
3122
3095
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement
3123
3096
  */
3124
- area: AreaHTMLAttributes<HTMLAreaElement>;
3097
+ area: AreaHTMLAttributes<HTMLAreaElement> & Properties<HTMLAreaElement>;
3125
3098
  /**
3126
3099
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article
3127
3100
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3128
3101
  */
3129
- article: HTMLAttributes<HTMLElement>;
3102
+ article: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3130
3103
  /**
3131
3104
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside
3132
3105
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3133
3106
  */
3134
- aside: HTMLAttributes<HTMLElement>;
3107
+ aside: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3135
3108
  /**
3136
3109
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
3137
3110
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement
3138
3111
  */
3139
- audio: AudioHTMLAttributes<HTMLAudioElement>;
3112
+ audio: AudioHTMLAttributes<HTMLAudioElement> & Properties<HTMLAudioElement>;
3140
3113
  /**
3141
3114
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b
3142
3115
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3143
3116
  */
3144
- b: HTMLAttributes<HTMLElement>;
3117
+ b: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3145
3118
  /**
3146
3119
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
3147
3120
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBaseElement
3148
3121
  */
3149
- base: BaseHTMLAttributes<HTMLBaseElement>;
3122
+ base: BaseHTMLAttributes<HTMLBaseElement> & Properties<HTMLBaseElement>;
3150
3123
  /**
3151
3124
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi
3152
3125
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3153
3126
  */
3154
- bdi: HTMLAttributes<HTMLElement>;
3127
+ bdi: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3155
3128
  /**
3156
3129
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo
3157
3130
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3158
3131
  */
3159
- bdo: BdoHTMLAttributes<HTMLElement>;
3132
+ bdo: BdoHTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3160
3133
  /**
3161
3134
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote
3162
3135
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
3163
3136
  */
3164
- blockquote: BlockquoteHTMLAttributes<HTMLQuoteElement>;
3137
+ blockquote: BlockquoteHTMLAttributes<HTMLQuoteElement> & Properties<HTMLQuoteElement>;
3165
3138
  /**
3166
3139
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body
3167
3140
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBodyElement
3168
3141
  */
3169
- body: BodyHTMLAttributes<HTMLBodyElement>;
3142
+ body: BodyHTMLAttributes<HTMLBodyElement> & Properties<HTMLBodyElement>;
3170
3143
  /**
3171
3144
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br
3172
3145
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBRElement
3173
3146
  */
3174
- br: HTMLAttributes<HTMLBRElement>;
3147
+ br: HTMLAttributes<HTMLBRElement> & Properties<HTMLBRElement>;
3175
3148
  /**
3176
3149
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
3177
3150
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement
3178
3151
  */
3179
- button: ButtonHTMLAttributes<HTMLButtonElement>;
3152
+ button: ButtonHTMLAttributes<HTMLButtonElement> & Properties<HTMLButtonElement>;
3180
3153
  /**
3181
3154
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas
3182
3155
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement
3183
3156
  */
3184
- canvas: CanvasHTMLAttributes<HTMLCanvasElement>;
3157
+ canvas: CanvasHTMLAttributes<HTMLCanvasElement> & Properties<HTMLCanvasElement>;
3185
3158
  /**
3186
3159
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption
3187
3160
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCaptionElement
3188
3161
  */
3189
- caption: CaptionHTMLAttributes<HTMLTableCaptionElement>;
3162
+ caption: CaptionHTMLAttributes<HTMLTableCaptionElement> & Properties<HTMLTableCaptionElement>;
3190
3163
  /**
3191
3164
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite
3192
3165
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3193
3166
  */
3194
- cite: HTMLAttributes<HTMLElement>;
3167
+ cite: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3195
3168
  /**
3196
3169
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code
3197
3170
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3198
3171
  */
3199
- code: HTMLAttributes<HTMLElement>;
3172
+ code: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3200
3173
  /**
3201
3174
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col
3202
3175
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement
3203
3176
  */
3204
- col: ColHTMLAttributes<HTMLTableColElement>;
3177
+ col: ColHTMLAttributes<HTMLTableColElement> & Properties<HTMLTableColElement>;
3205
3178
  /**
3206
3179
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup
3207
3180
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement
3208
3181
  */
3209
- colgroup: ColgroupHTMLAttributes<HTMLTableColElement>;
3182
+ colgroup: ColgroupHTMLAttributes<HTMLTableColElement> & Properties<HTMLTableColElement>;
3210
3183
  /**
3211
3184
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data
3212
3185
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataElement
3213
3186
  */
3214
- data: DataHTMLAttributes<HTMLDataElement>;
3187
+ data: DataHTMLAttributes<HTMLDataElement> & Properties<HTMLDataElement>;
3215
3188
  /**
3216
3189
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist
3217
3190
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataListElement
3218
3191
  */
3219
- datalist: HTMLAttributes<HTMLDataListElement>;
3192
+ datalist: HTMLAttributes<HTMLDataListElement> & Properties<HTMLDataListElement>;
3220
3193
  /**
3221
3194
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd
3222
3195
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3223
3196
  */
3224
- dd: HTMLAttributes<HTMLElement>;
3197
+ dd: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3225
3198
  /**
3226
3199
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del
3227
3200
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement
3228
3201
  */
3229
- del: ModHTMLAttributes<HTMLModElement>;
3202
+ del: ModHTMLAttributes<HTMLModElement> & Properties<HTMLModElement>;
3230
3203
  /**
3231
3204
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details
3232
3205
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement
3233
3206
  */
3234
- details: DetailsHtmlAttributes<HTMLDetailsElement>;
3207
+ details: DetailsHtmlAttributes<HTMLDetailsElement> & Properties<HTMLDetailsElement>;
3235
3208
  /**
3236
3209
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn
3237
3210
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3238
3211
  */
3239
- dfn: HTMLAttributes<HTMLElement>;
3212
+ dfn: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3240
3213
  /**
3241
3214
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog
3242
3215
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement
3243
3216
  */
3244
- dialog: DialogHtmlAttributes<HTMLDialogElement>;
3217
+ dialog: DialogHtmlAttributes<HTMLDialogElement> & Properties<HTMLDialogElement>;
3245
3218
  /**
3246
3219
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div
3247
3220
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement
3248
3221
  */
3249
- div: HTMLAttributes<HTMLDivElement>;
3222
+ div: HTMLAttributes<HTMLDivElement> & Properties<HTMLDivElement>;
3250
3223
  /**
3251
3224
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl
3252
3225
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDListElement
3253
3226
  */
3254
- dl: HTMLAttributes<HTMLDListElement>;
3227
+ dl: HTMLAttributes<HTMLDListElement> & Properties<HTMLDListElement>;
3255
3228
  /**
3256
3229
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt
3257
3230
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3258
3231
  */
3259
- dt: HTMLAttributes<HTMLElement>;
3232
+ dt: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3260
3233
  /**
3261
3234
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em
3262
3235
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3263
3236
  */
3264
- em: HTMLAttributes<HTMLElement>;
3237
+ em: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3265
3238
  /**
3266
3239
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed
3267
3240
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLEmbedElement
3268
3241
  */
3269
- embed: EmbedHTMLAttributes<HTMLEmbedElement>;
3242
+ embed: EmbedHTMLAttributes<HTMLEmbedElement> & Properties<HTMLEmbedElement>;
3270
3243
  /**
3271
3244
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset
3272
3245
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement
3273
3246
  */
3274
- fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement>;
3247
+ fieldset: FieldsetHTMLAttributes<HTMLFieldSetElement> & Properties<HTMLFieldSetElement>;
3275
3248
  /**
3276
3249
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption
3277
3250
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3278
3251
  */
3279
- figcaption: HTMLAttributes<HTMLElement>;
3252
+ figcaption: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3280
3253
  /**
3281
3254
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure
3282
3255
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3283
3256
  */
3284
- figure: HTMLAttributes<HTMLElement>;
3257
+ figure: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3285
3258
  /**
3286
3259
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer
3287
3260
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3288
3261
  */
3289
- footer: HTMLAttributes<HTMLElement>;
3262
+ footer: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3290
3263
  /**
3291
3264
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form
3292
3265
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement
3293
3266
  */
3294
- form: FormHTMLAttributes<HTMLFormElement>;
3267
+ form: FormHTMLAttributes<HTMLFormElement> & Properties<HTMLFormElement>;
3295
3268
  /**
3296
3269
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1
3297
3270
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3298
3271
  */
3299
- h1: HTMLAttributes<HTMLHeadingElement>;
3272
+ h1: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3300
3273
  /**
3301
3274
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2
3302
3275
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3303
3276
  */
3304
- h2: HTMLAttributes<HTMLHeadingElement>;
3277
+ h2: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3305
3278
  /**
3306
3279
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3
3307
3280
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3308
3281
  */
3309
- h3: HTMLAttributes<HTMLHeadingElement>;
3282
+ h3: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3310
3283
  /**
3311
3284
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4
3312
3285
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3313
3286
  */
3314
- h4: HTMLAttributes<HTMLHeadingElement>;
3287
+ h4: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3315
3288
  /**
3316
3289
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5
3317
3290
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3318
3291
  */
3319
- h5: HTMLAttributes<HTMLHeadingElement>;
3292
+ h5: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3320
3293
  /**
3321
3294
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6
3322
3295
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement
3323
3296
  */
3324
- h6: HTMLAttributes<HTMLHeadingElement>;
3297
+ h6: HTMLAttributes<HTMLHeadingElement> & Properties<HTMLHeadingElement>;
3325
3298
  /**
3326
3299
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head
3327
3300
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadElement
3328
3301
  */
3329
- head: HTMLAttributes<HTMLHeadElement>;
3302
+ head: HTMLAttributes<HTMLHeadElement> & Properties<HTMLHeadElement>;
3330
3303
  /**
3331
3304
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header
3332
3305
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3333
3306
  */
3334
- header: HTMLAttributes<HTMLElement>;
3307
+ header: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3335
3308
  /**
3336
3309
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup
3337
3310
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3338
3311
  */
3339
- hgroup: HTMLAttributes<HTMLElement>;
3312
+ hgroup: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3340
3313
  /**
3341
3314
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr
3342
3315
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHRElement
3343
3316
  */
3344
- hr: HTMLAttributes<HTMLHRElement>;
3317
+ hr: HTMLAttributes<HTMLHRElement> & Properties<HTMLHRElement>;
3345
3318
  /**
3346
3319
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html
3347
3320
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHtmlElement
3348
3321
  */
3349
- html: HTMLAttributes<HTMLHtmlElement>;
3322
+ html: HTMLAttributes<HTMLHtmlElement> & Properties<HTMLHtmlElement>;
3350
3323
  /**
3351
3324
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i
3352
3325
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3353
3326
  */
3354
- i: HTMLAttributes<HTMLElement>;
3327
+ i: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3355
3328
  /**
3356
3329
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
3357
3330
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement
3358
3331
  */
3359
- iframe: IframeHTMLAttributes<HTMLIFrameElement>;
3332
+ iframe: IframeHTMLAttributes<HTMLIFrameElement> & Properties<HTMLIFrameElement>;
3360
3333
  /**
3361
3334
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img
3362
3335
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement
3363
3336
  */
3364
- img: ImgHTMLAttributes<HTMLImageElement>;
3337
+ img: ImgHTMLAttributes<HTMLImageElement> & Properties<HTMLImageElement>;
3365
3338
  /**
3366
3339
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input
3367
3340
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement
3368
3341
  */
3369
- input: InputHTMLAttributes<HTMLInputElement>;
3342
+ input: InputHTMLAttributes<HTMLInputElement> & Properties<HTMLInputElement>;
3370
3343
  /**
3371
3344
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins
3372
3345
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement
3373
3346
  */
3374
- ins: ModHTMLAttributes<HTMLModElement>;
3347
+ ins: ModHTMLAttributes<HTMLModElement> & Properties<HTMLModElement>;
3375
3348
  /**
3376
3349
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd
3377
3350
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3378
3351
  */
3379
- kbd: HTMLAttributes<HTMLElement>;
3352
+ kbd: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3380
3353
  /**
3381
3354
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label
3382
3355
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement
3383
3356
  */
3384
- label: LabelHTMLAttributes<HTMLLabelElement>;
3357
+ label: LabelHTMLAttributes<HTMLLabelElement> & Properties<HTMLLabelElement>;
3385
3358
  /**
3386
3359
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend
3387
3360
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLegendElement
3388
3361
  */
3389
- legend: HTMLAttributes<HTMLLegendElement>;
3362
+ legend: HTMLAttributes<HTMLLegendElement> & Properties<HTMLLegendElement>;
3390
3363
  /**
3391
3364
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li
3392
3365
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLIElement
3393
3366
  */
3394
- li: LiHTMLAttributes<HTMLLIElement>;
3367
+ li: LiHTMLAttributes<HTMLLIElement> & Properties<HTMLLIElement>;
3395
3368
  /**
3396
3369
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
3397
3370
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement
3398
3371
  */
3399
- link: LinkHTMLAttributes<HTMLLinkElement>;
3372
+ link: LinkHTMLAttributes<HTMLLinkElement> & Properties<HTMLLinkElement>;
3400
3373
  /**
3401
3374
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main
3402
3375
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3403
3376
  */
3404
- main: HTMLAttributes<HTMLElement>;
3377
+ main: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3405
3378
  /**
3406
3379
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map
3407
3380
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMapElement
3408
3381
  */
3409
- map: MapHTMLAttributes<HTMLMapElement>;
3382
+ map: MapHTMLAttributes<HTMLMapElement> & Properties<HTMLMapElement>;
3410
3383
  /**
3411
3384
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark
3412
3385
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3413
3386
  */
3414
- mark: HTMLAttributes<HTMLElement>;
3387
+ mark: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3415
3388
  /**
3416
3389
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
3417
3390
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMenuElement
3418
3391
  */
3419
- menu: MenuHTMLAttributes<HTMLMenuElement>;
3392
+ menu: MenuHTMLAttributes<HTMLMenuElement> & Properties<HTMLMenuElement>;
3420
3393
  /**
3421
3394
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
3422
3395
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMetaElement
3423
3396
  */
3424
- meta: MetaHTMLAttributes<HTMLMetaElement>;
3397
+ meta: MetaHTMLAttributes<HTMLMetaElement> & Properties<HTMLMetaElement>;
3425
3398
  /**
3426
3399
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter
3427
3400
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMeterElement
3428
3401
  */
3429
- meter: MeterHTMLAttributes<HTMLMeterElement>;
3402
+ meter: MeterHTMLAttributes<HTMLMeterElement> & Properties<HTMLMeterElement>;
3430
3403
  /**
3431
3404
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav
3432
3405
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3433
3406
  */
3434
- nav: HTMLAttributes<HTMLElement>;
3407
+ nav: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3435
3408
  /**
3436
3409
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript
3437
3410
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3438
3411
  */
3439
- noscript: HTMLAttributes<HTMLElement>;
3412
+ noscript: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3440
3413
  /**
3441
3414
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object
3442
3415
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement
3443
3416
  */
3444
- object: ObjectHTMLAttributes<HTMLObjectElement>;
3417
+ object: ObjectHTMLAttributes<HTMLObjectElement> & Properties<HTMLObjectElement>;
3445
3418
  /**
3446
3419
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol
3447
3420
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOListElement
3448
3421
  */
3449
- ol: OlHTMLAttributes<HTMLOListElement>;
3422
+ ol: OlHTMLAttributes<HTMLOListElement> & Properties<HTMLOListElement>;
3450
3423
  /**
3451
3424
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup
3452
3425
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement
3453
3426
  */
3454
- optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement>;
3427
+ optgroup: OptgroupHTMLAttributes<HTMLOptGroupElement> & Properties<HTMLOptGroupElement>;
3455
3428
  /**
3456
3429
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option
3457
3430
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement
3458
3431
  */
3459
- option: OptionHTMLAttributes<HTMLOptionElement>;
3432
+ option: OptionHTMLAttributes<HTMLOptionElement> & Properties<HTMLOptionElement>;
3460
3433
  /**
3461
3434
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output
3462
3435
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement
3463
3436
  */
3464
- output: OutputHTMLAttributes<HTMLOutputElement>;
3437
+ output: OutputHTMLAttributes<HTMLOutputElement> & Properties<HTMLOutputElement>;
3465
3438
  /**
3466
3439
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p
3467
3440
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParagraphElement
3468
3441
  */
3469
- p: HTMLAttributes<HTMLParagraphElement>;
3442
+ p: HTMLAttributes<HTMLParagraphElement> & Properties<HTMLParagraphElement>;
3470
3443
  /**
3471
3444
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture
3472
3445
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPictureElement
3473
3446
  */
3474
- picture: HTMLAttributes<HTMLPictureElement>;
3447
+ picture: HTMLAttributes<HTMLPictureElement> & Properties<HTMLPictureElement>;
3475
3448
  /**
3476
3449
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre
3477
3450
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPreElement
3478
3451
  */
3479
- pre: HTMLAttributes<HTMLPreElement>;
3452
+ pre: HTMLAttributes<HTMLPreElement> & Properties<HTMLPreElement>;
3480
3453
  /**
3481
3454
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress
3482
3455
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement
3483
3456
  */
3484
- progress: ProgressHTMLAttributes<HTMLProgressElement>;
3457
+ progress: ProgressHTMLAttributes<HTMLProgressElement> & Properties<HTMLProgressElement>;
3485
3458
  /**
3486
3459
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q
3487
3460
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement
3488
3461
  */
3489
- q: QuoteHTMLAttributes<HTMLQuoteElement>;
3462
+ q: QuoteHTMLAttributes<HTMLQuoteElement> & Properties<HTMLQuoteElement>;
3490
3463
  /**
3491
3464
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp
3492
3465
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3493
3466
  */
3494
- rp: HTMLAttributes<HTMLElement>;
3467
+ rp: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3495
3468
  /**
3496
3469
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt
3497
3470
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3498
3471
  */
3499
- rt: HTMLAttributes<HTMLElement>;
3472
+ rt: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3500
3473
  /**
3501
3474
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby
3502
3475
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3503
3476
  */
3504
- ruby: HTMLAttributes<HTMLElement>;
3477
+ ruby: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3505
3478
  /**
3506
3479
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s
3507
3480
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3508
3481
  */
3509
- s: HTMLAttributes<HTMLElement>;
3482
+ s: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3510
3483
  /**
3511
3484
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp
3512
3485
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3513
3486
  */
3514
- samp: HTMLAttributes<HTMLElement>;
3487
+ samp: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3515
3488
  /**
3516
3489
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script
3517
3490
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement
3518
3491
  */
3519
- script: ScriptHTMLAttributes<HTMLScriptElement>;
3492
+ script: ScriptHTMLAttributes<HTMLScriptElement> & Properties<HTMLScriptElement>;
3520
3493
  /**
3521
3494
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search
3522
3495
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3523
3496
  */
3524
- search: HTMLAttributes<HTMLElement>;
3497
+ search: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3525
3498
  /**
3526
3499
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section
3527
3500
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3528
3501
  */
3529
- section: HTMLAttributes<HTMLElement>;
3502
+ section: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3530
3503
  /**
3531
3504
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select
3532
3505
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement
3533
3506
  */
3534
- select: SelectHTMLAttributes<HTMLSelectElement>;
3507
+ select: SelectHTMLAttributes<HTMLSelectElement> & Properties<HTMLSelectElement>;
3535
3508
  /**
3536
3509
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot
3537
3510
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement
3538
3511
  */
3539
- slot: HTMLSlotElementAttributes<HTMLSlotElement>;
3512
+ slot: HTMLSlotElementAttributes<HTMLSlotElement> & Properties<HTMLSlotElement>;
3540
3513
  /**
3541
3514
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small
3542
3515
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3543
3516
  */
3544
- small: HTMLAttributes<HTMLElement>;
3517
+ small: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3545
3518
  /**
3546
3519
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source
3547
3520
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSourceElement
3548
3521
  */
3549
- source: SourceHTMLAttributes<HTMLSourceElement>;
3522
+ source: SourceHTMLAttributes<HTMLSourceElement> & Properties<HTMLSourceElement>;
3550
3523
  /**
3551
3524
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span
3552
3525
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSpanElement
3553
3526
  */
3554
- span: HTMLAttributes<HTMLSpanElement>;
3527
+ span: HTMLAttributes<HTMLSpanElement> & Properties<HTMLSpanElement>;
3555
3528
  /**
3556
3529
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong
3557
3530
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3558
3531
  */
3559
- strong: HTMLAttributes<HTMLElement>;
3532
+ strong: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3560
3533
  /**
3561
3534
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style
3562
3535
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement
3563
3536
  */
3564
- style: StyleHTMLAttributes<HTMLStyleElement>;
3537
+ style: StyleHTMLAttributes<HTMLStyleElement> & Properties<HTMLStyleElement>;
3565
3538
  /**
3566
3539
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub
3567
3540
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3568
3541
  */
3569
- sub: HTMLAttributes<HTMLElement>;
3542
+ sub: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3570
3543
  /**
3571
3544
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary
3572
3545
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3573
3546
  */
3574
- summary: HTMLAttributes<HTMLElement>;
3547
+ summary: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3575
3548
  /**
3576
3549
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup
3577
3550
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3578
3551
  */
3579
- sup: HTMLAttributes<HTMLElement>;
3552
+ sup: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3580
3553
  /**
3581
3554
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table
3582
3555
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement
3583
3556
  */
3584
- table: HTMLAttributes<HTMLTableElement>;
3557
+ table: HTMLAttributes<HTMLTableElement> & Properties<HTMLTableElement>;
3585
3558
  /**
3586
3559
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody
3587
3560
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3588
3561
  */
3589
- tbody: HTMLAttributes<HTMLTableSectionElement>;
3562
+ tbody: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3590
3563
  /**
3591
3564
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td
3592
3565
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement
3593
3566
  */
3594
- td: TdHTMLAttributes<HTMLTableCellElement>;
3567
+ td: TdHTMLAttributes<HTMLTableCellElement> & Properties<HTMLTableCellElement>;
3595
3568
  /**
3596
3569
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template
3597
3570
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement
3598
3571
  */
3599
- template: TemplateHTMLAttributes<HTMLTemplateElement>;
3572
+ template: TemplateHTMLAttributes<HTMLTemplateElement> & Properties<HTMLTemplateElement>;
3600
3573
  /**
3601
3574
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea
3602
3575
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement
3603
3576
  */
3604
- textarea: TextareaHTMLAttributes<HTMLTextAreaElement>;
3577
+ textarea: TextareaHTMLAttributes<HTMLTextAreaElement> & Properties<HTMLTextAreaElement>;
3605
3578
  /**
3606
3579
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot
3607
3580
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3608
3581
  */
3609
- tfoot: HTMLAttributes<HTMLTableSectionElement>;
3582
+ tfoot: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3610
3583
  /**
3611
3584
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th
3612
3585
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement
3613
3586
  */
3614
- th: ThHTMLAttributes<HTMLTableCellElement>;
3587
+ th: ThHTMLAttributes<HTMLTableCellElement> & Properties<HTMLTableCellElement>;
3615
3588
  /**
3616
3589
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead
3617
3590
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement
3618
3591
  */
3619
- thead: HTMLAttributes<HTMLTableSectionElement>;
3592
+ thead: HTMLAttributes<HTMLTableSectionElement> & Properties<HTMLTableSectionElement>;
3620
3593
  /**
3621
3594
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time
3622
3595
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement
3623
3596
  */
3624
- time: TimeHTMLAttributes<HTMLTimeElement>;
3597
+ time: TimeHTMLAttributes<HTMLTimeElement> & Properties<HTMLTimeElement>;
3625
3598
  /**
3626
3599
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title
3627
3600
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTitleElement
3628
3601
  */
3629
- title: HTMLAttributes<HTMLTitleElement>;
3602
+ title: HTMLAttributes<HTMLTitleElement> & Properties<HTMLTitleElement>;
3630
3603
  /**
3631
3604
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr
3632
3605
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement
3633
3606
  */
3634
- tr: HTMLAttributes<HTMLTableRowElement>;
3607
+ tr: HTMLAttributes<HTMLTableRowElement> & Properties<HTMLTableRowElement>;
3635
3608
  /**
3636
3609
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track
3637
3610
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement
3638
3611
  */
3639
- track: TrackHTMLAttributes<HTMLTrackElement>;
3612
+ track: TrackHTMLAttributes<HTMLTrackElement> & Properties<HTMLTrackElement>;
3640
3613
  /**
3641
3614
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u
3642
3615
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3643
3616
  */
3644
- u: HTMLAttributes<HTMLElement>;
3617
+ u: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3645
3618
  /**
3646
3619
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul
3647
3620
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUListElement
3648
3621
  */
3649
- ul: HTMLAttributes<HTMLUListElement>;
3622
+ ul: HTMLAttributes<HTMLUListElement> & Properties<HTMLUListElement>;
3650
3623
  /**
3651
3624
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var
3652
3625
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3653
3626
  */
3654
- var: HTMLAttributes<HTMLElement>;
3627
+ var: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3655
3628
  /**
3656
3629
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video
3657
3630
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement
3658
3631
  */
3659
- video: VideoHTMLAttributes<HTMLVideoElement>;
3632
+ video: VideoHTMLAttributes<HTMLVideoElement> & Properties<HTMLVideoElement>;
3660
3633
  /**
3661
3634
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr
3662
3635
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3663
3636
  */
3664
- wbr: HTMLAttributes<HTMLElement>;
3637
+ wbr: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3665
3638
  /** @url https://www.electronjs.org/docs/latest/api/webview-tag */
3666
- webview: WebViewHTMLAttributes<HTMLElement>;
3639
+ webview: WebViewHTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3667
3640
  }
3668
3641
  /** @type {HTMLElementDeprecatedTagNameMap} */
3669
3642
  interface HTMLElementDeprecatedTags {
@@ -3672,25 +3645,25 @@ export namespace JSX {
3672
3645
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/big
3673
3646
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement
3674
3647
  */
3675
- big: HTMLAttributes<HTMLElement>;
3648
+ big: HTMLAttributes<HTMLElement> & Properties<HTMLElement>;
3676
3649
  /**
3677
3650
  * @deprecated
3678
3651
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen
3679
3652
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3680
3653
  */
3681
- keygen: KeygenHTMLAttributes<HTMLUnknownElement>;
3654
+ keygen: KeygenHTMLAttributes<HTMLUnknownElement> & Properties<HTMLUnknownElement>;
3682
3655
  /**
3683
3656
  * @deprecated
3684
3657
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem
3685
3658
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement
3686
3659
  */
3687
- menuitem: HTMLAttributes<HTMLUnknownElement>;
3660
+ menuitem: HTMLAttributes<HTMLUnknownElement> & Properties<HTMLUnknownElement>;
3688
3661
  /**
3689
3662
  * @deprecated
3690
3663
  * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param
3691
3664
  * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParamElement
3692
3665
  */
3693
- param: ParamHTMLAttributes<HTMLParamElement>;
3666
+ param: ParamHTMLAttributes<HTMLParamElement> & Properties<HTMLParamElement>;
3694
3667
  }
3695
3668
  /** @type {SVGElementTagNameMap} */
3696
3669
  interface SVGElementTags {
@@ -3698,297 +3671,317 @@ export namespace JSX {
3698
3671
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate
3699
3672
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateElement
3700
3673
  */
3701
- animate: AnimateSVGAttributes<SVGAnimateElement>;
3674
+ animate: AnimateSVGAttributes<SVGAnimateElement> & Properties<SVGAnimateElement>;
3702
3675
  /**
3703
3676
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion
3704
3677
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateMotionElement
3705
3678
  */
3706
- animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement>;
3679
+ animateMotion: AnimateMotionSVGAttributes<SVGAnimateMotionElement> &
3680
+ Properties<SVGAnimateMotionElement>;
3707
3681
  /**
3708
3682
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform
3709
3683
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateTransformElement
3710
3684
  */
3711
- animateTransform: AnimateTransformSVGAttributes<SVGAnimateTransformElement>;
3685
+ animateTransform: AnimateTransformSVGAttributes<SVGAnimateTransformElement> &
3686
+ Properties<SVGAnimateTransformElement>;
3712
3687
  /**
3713
3688
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle
3714
3689
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGCircleElement
3715
3690
  */
3716
- circle: CircleSVGAttributes<SVGCircleElement>;
3691
+ circle: CircleSVGAttributes<SVGCircleElement> & Properties<SVGCircleElement>;
3717
3692
  /**
3718
3693
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath
3719
3694
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGClipPathElement
3720
3695
  */
3721
- clipPath: ClipPathSVGAttributes<SVGClipPathElement>;
3696
+ clipPath: ClipPathSVGAttributes<SVGClipPathElement> & Properties<SVGClipPathElement>;
3722
3697
  /**
3723
3698
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs
3724
3699
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDefsElement
3725
3700
  */
3726
- defs: DefsSVGAttributes<SVGDefsElement>;
3701
+ defs: DefsSVGAttributes<SVGDefsElement> & Properties<SVGDefsElement>;
3727
3702
  /**
3728
3703
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc
3729
3704
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDescElement
3730
3705
  */
3731
- desc: DescSVGAttributes<SVGDescElement>;
3706
+ desc: DescSVGAttributes<SVGDescElement> & Properties<SVGDescElement>;
3732
3707
  /**
3733
3708
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse
3734
3709
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGEllipseElement
3735
3710
  */
3736
- ellipse: EllipseSVGAttributes<SVGEllipseElement>;
3711
+ ellipse: EllipseSVGAttributes<SVGEllipseElement> & Properties<SVGEllipseElement>;
3737
3712
  /**
3738
3713
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend
3739
3714
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEBlendElement
3740
3715
  */
3741
- feBlend: FeBlendSVGAttributes<SVGFEBlendElement>;
3716
+ feBlend: FeBlendSVGAttributes<SVGFEBlendElement> & Properties<SVGFEBlendElement>;
3742
3717
  /**
3743
3718
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix
3744
3719
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEColorMatrixElement
3745
3720
  */
3746
- feColorMatrix: FeColorMatrixSVGAttributes<SVGFEColorMatrixElement>;
3721
+ feColorMatrix: FeColorMatrixSVGAttributes<SVGFEColorMatrixElement> &
3722
+ Properties<SVGFEColorMatrixElement>;
3747
3723
  /**
3748
3724
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer
3749
3725
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEComponentTransferElemen
3750
3726
  */
3751
- feComponentTransfer: FeComponentTransferSVGAttributes<SVGFEComponentTransferElement>;
3727
+ feComponentTransfer: FeComponentTransferSVGAttributes<SVGFEComponentTransferElement> &
3728
+ Properties<SVGFEComponentTransferElement>;
3752
3729
  /**
3753
3730
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite
3754
3731
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFECompositeElement
3755
3732
  */
3756
- feComposite: FeCompositeSVGAttributes<SVGFECompositeElement>;
3733
+ feComposite: FeCompositeSVGAttributes<SVGFECompositeElement> &
3734
+ Properties<SVGFECompositeElement>;
3757
3735
  /**
3758
3736
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix
3759
3737
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEConvolveMatrixElement
3760
3738
  */
3761
- feConvolveMatrix: FeConvolveMatrixSVGAttributes<SVGFEConvolveMatrixElement>;
3739
+ feConvolveMatrix: FeConvolveMatrixSVGAttributes<SVGFEConvolveMatrixElement> &
3740
+ Properties<SVGFEConvolveMatrixElement>;
3762
3741
  /**
3763
3742
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting
3764
3743
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDiffuseLightingElement
3765
3744
  */
3766
- feDiffuseLighting: FeDiffuseLightingSVGAttributes<SVGFEDiffuseLightingElement>;
3745
+ feDiffuseLighting: FeDiffuseLightingSVGAttributes<SVGFEDiffuseLightingElement> &
3746
+ Properties<SVGFEDiffuseLightingElement>;
3767
3747
  /**
3768
3748
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap
3769
3749
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDisplacementMapElement
3770
3750
  */
3771
- feDisplacementMap: FeDisplacementMapSVGAttributes<SVGFEDisplacementMapElement>;
3751
+ feDisplacementMap: FeDisplacementMapSVGAttributes<SVGFEDisplacementMapElement> &
3752
+ Properties<SVGFEDisplacementMapElement>;
3772
3753
  /**
3773
3754
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight
3774
3755
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDistantLightElement
3775
3756
  */
3776
- feDistantLight: FeDistantLightSVGAttributes<SVGFEDistantLightElement>;
3757
+ feDistantLight: FeDistantLightSVGAttributes<SVGFEDistantLightElement> &
3758
+ Properties<SVGFEDistantLightElement>;
3777
3759
  /**
3778
3760
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow
3779
3761
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDropShadowElement
3780
3762
  */
3781
- feDropShadow: FeDropShadowSVGAttributes<SVGFEDropShadowElement>;
3763
+ feDropShadow: FeDropShadowSVGAttributes<SVGFEDropShadowElement> &
3764
+ Properties<SVGFEDropShadowElement>;
3782
3765
  /**
3783
3766
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood
3784
3767
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFloodElement
3785
3768
  */
3786
- feFlood: FeFloodSVGAttributes<SVGFEFloodElement>;
3769
+ feFlood: FeFloodSVGAttributes<SVGFEFloodElement> & Properties<SVGFEFloodElement>;
3787
3770
  /**
3788
3771
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA
3789
3772
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncAElement
3790
3773
  */
3791
- feFuncA: FeFuncSVGAttributes<SVGFEFuncAElement>;
3774
+ feFuncA: FeFuncSVGAttributes<SVGFEFuncAElement> & Properties<SVGFEFuncAElement>;
3792
3775
  /**
3793
3776
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB
3794
3777
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncBElement
3795
3778
  */
3796
- feFuncB: FeFuncSVGAttributes<SVGFEFuncBElement>;
3779
+ feFuncB: FeFuncSVGAttributes<SVGFEFuncBElement> & Properties<SVGFEFuncBElement>;
3797
3780
  /**
3798
3781
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG
3799
3782
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncGElement
3800
3783
  */
3801
- feFuncG: FeFuncSVGAttributes<SVGFEFuncGElement>;
3784
+ feFuncG: FeFuncSVGAttributes<SVGFEFuncGElement> & Properties<SVGFEFuncGElement>;
3802
3785
  /**
3803
3786
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR
3804
3787
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncRElement
3805
3788
  */
3806
- feFuncR: FeFuncSVGAttributes<SVGFEFuncRElement>;
3789
+ feFuncR: FeFuncSVGAttributes<SVGFEFuncRElement> & Properties<SVGFEFuncRElement>;
3807
3790
  /**
3808
3791
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur
3809
3792
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEGaussianBlurElement
3810
3793
  */
3811
- feGaussianBlur: FeGaussianBlurSVGAttributes<SVGFEGaussianBlurElement>;
3794
+ feGaussianBlur: FeGaussianBlurSVGAttributes<SVGFEGaussianBlurElement> &
3795
+ Properties<SVGFEGaussianBlurElement>;
3812
3796
  /**
3813
3797
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage
3814
3798
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEImageElement
3815
3799
  */
3816
- feImage: FeImageSVGAttributes<SVGFEImageElement>;
3800
+ feImage: FeImageSVGAttributes<SVGFEImageElement> & Properties<SVGFEImageElement>;
3817
3801
  /**
3818
3802
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge
3819
3803
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeElement
3820
3804
  */
3821
- feMerge: FeMergeSVGAttributes<SVGFEMergeElement>;
3805
+ feMerge: FeMergeSVGAttributes<SVGFEMergeElement> & Properties<SVGFEMergeElement>;
3822
3806
  /**
3823
3807
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode
3824
3808
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeNodeElement
3825
3809
  */
3826
- feMergeNode: FeMergeNodeSVGAttributes<SVGFEMergeNodeElement>;
3810
+ feMergeNode: FeMergeNodeSVGAttributes<SVGFEMergeNodeElement> &
3811
+ Properties<SVGFEMergeNodeElement>;
3827
3812
  /**
3828
3813
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology
3829
3814
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMorphologyElement
3830
3815
  */
3831
- feMorphology: FeMorphologySVGAttributes<SVGFEMorphologyElement>;
3816
+ feMorphology: FeMorphologySVGAttributes<SVGFEMorphologyElement> &
3817
+ Properties<SVGFEMorphologyElement>;
3832
3818
  /**
3833
3819
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset
3834
3820
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEOffsetElement
3835
3821
  */
3836
- feOffset: FeOffsetSVGAttributes<SVGFEOffsetElement>;
3822
+ feOffset: FeOffsetSVGAttributes<SVGFEOffsetElement> & Properties<SVGFEOffsetElement>;
3837
3823
  /**
3838
3824
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight
3839
3825
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEPointLightElement
3840
3826
  */
3841
- fePointLight: FePointLightSVGAttributes<SVGFEPointLightElement>;
3827
+ fePointLight: FePointLightSVGAttributes<SVGFEPointLightElement> &
3828
+ Properties<SVGFEPointLightElement>;
3842
3829
  /**
3843
3830
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting
3844
3831
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpecularLightingElement
3845
3832
  */
3846
- feSpecularLighting: FeSpecularLightingSVGAttributes<SVGFESpecularLightingElement>;
3833
+ feSpecularLighting: FeSpecularLightingSVGAttributes<SVGFESpecularLightingElement> &
3834
+ Properties<SVGFESpecularLightingElement>;
3847
3835
  /**
3848
3836
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight
3849
3837
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement
3850
3838
  */
3851
- feSpotLight: FeSpotLightSVGAttributes<SVGFESpotLightElement>;
3839
+ feSpotLight: FeSpotLightSVGAttributes<SVGFESpotLightElement> &
3840
+ Properties<SVGFESpotLightElement>;
3852
3841
  /**
3853
3842
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile
3854
3843
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETileElement
3855
3844
  */
3856
- feTile: FeTileSVGAttributes<SVGFETileElement>;
3845
+ feTile: FeTileSVGAttributes<SVGFETileElement> & Properties<SVGFETileElement>;
3857
3846
  /**
3858
3847
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence
3859
3848
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement
3860
3849
  */
3861
- feTurbulence: FeTurbulanceSVGAttributes<SVGFETurbulenceElement>;
3850
+ feTurbulence: FeTurbulanceSVGAttributes<SVGFETurbulenceElement> &
3851
+ Properties<SVGFETurbulenceElement>;
3862
3852
  /**
3863
3853
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter
3864
3854
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFilterElement
3865
3855
  */
3866
- filter: FilterSVGAttributes<SVGFilterElement>;
3856
+ filter: FilterSVGAttributes<SVGFilterElement> & Properties<SVGFilterElement>;
3867
3857
  /**
3868
3858
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject
3869
3859
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGForeignObjectElement
3870
3860
  */
3871
- foreignObject: ForeignObjectSVGAttributes<SVGForeignObjectElement>;
3861
+ foreignObject: ForeignObjectSVGAttributes<SVGForeignObjectElement> &
3862
+ Properties<SVGForeignObjectElement>;
3872
3863
  /**
3873
3864
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g
3874
3865
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGGElement
3875
3866
  */
3876
- g: GSVGAttributes<SVGGElement>;
3867
+ g: GSVGAttributes<SVGGElement> & Properties<SVGGElement>;
3877
3868
  /**
3878
3869
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image
3879
3870
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement
3880
3871
  */
3881
- image: ImageSVGAttributes<SVGImageElement>;
3872
+ image: ImageSVGAttributes<SVGImageElement> & Properties<SVGImageElement>;
3882
3873
  /**
3883
3874
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line
3884
3875
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLineElement
3885
3876
  */
3886
- line: LineSVGAttributes<SVGLineElement>;
3877
+ line: LineSVGAttributes<SVGLineElement> & Properties<SVGLineElement>;
3887
3878
  /**
3888
3879
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
3889
3880
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLinearGradientElement
3890
3881
  */
3891
- linearGradient: LinearGradientSVGAttributes<SVGLinearGradientElement>;
3882
+ linearGradient: LinearGradientSVGAttributes<SVGLinearGradientElement> &
3883
+ Properties<SVGLinearGradientElement>;
3892
3884
  /**
3893
3885
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker
3894
3886
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement
3895
3887
  */
3896
- marker: MarkerSVGAttributes<SVGMarkerElement>;
3888
+ marker: MarkerSVGAttributes<SVGMarkerElement> & Properties<SVGMarkerElement>;
3897
3889
  /**
3898
3890
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask
3899
3891
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMaskElement
3900
3892
  */
3901
- mask: MaskSVGAttributes<SVGMaskElement>;
3893
+ mask: MaskSVGAttributes<SVGMaskElement> & Properties<SVGMaskElement>;
3902
3894
  /**
3903
3895
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata
3904
3896
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMetadataElement
3905
3897
  */
3906
- metadata: MetadataSVGAttributes<SVGMetadataElement>;
3898
+ metadata: MetadataSVGAttributes<SVGMetadataElement> & Properties<SVGMetadataElement>;
3907
3899
  /**
3908
3900
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath
3909
3901
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMPathElement
3910
3902
  */
3911
- mpath: MPathSVGAttributes<SVGMPathElement>;
3903
+ mpath: MPathSVGAttributes<SVGMPathElement> & Properties<SVGMPathElement>;
3912
3904
  /**
3913
3905
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path
3914
3906
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement
3915
3907
  */
3916
- path: PathSVGAttributes<SVGPathElement>;
3908
+ path: PathSVGAttributes<SVGPathElement> & Properties<SVGPathElement>;
3917
3909
  /**
3918
3910
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern
3919
3911
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement
3920
3912
  */
3921
- pattern: PatternSVGAttributes<SVGPatternElement>;
3913
+ pattern: PatternSVGAttributes<SVGPatternElement> & Properties<SVGPatternElement>;
3922
3914
  /**
3923
3915
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon
3924
3916
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolygonElement
3925
3917
  */
3926
- polygon: PolygonSVGAttributes<SVGPolygonElement>;
3918
+ polygon: PolygonSVGAttributes<SVGPolygonElement> & Properties<SVGPolygonElement>;
3927
3919
  /**
3928
3920
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline
3929
3921
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolylineElement
3930
3922
  */
3931
- polyline: PolylineSVGAttributes<SVGPolylineElement>;
3923
+ polyline: PolylineSVGAttributes<SVGPolylineElement> & Properties<SVGPolylineElement>;
3932
3924
  /**
3933
3925
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient
3934
3926
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRadialGradientElement
3935
3927
  */
3936
- radialGradient: RadialGradientSVGAttributes<SVGRadialGradientElement>;
3928
+ radialGradient: RadialGradientSVGAttributes<SVGRadialGradientElement> &
3929
+ Properties<SVGRadialGradientElement>;
3937
3930
  /**
3938
3931
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect
3939
3932
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement
3940
3933
  */
3941
- rect: RectSVGAttributes<SVGRectElement>;
3934
+ rect: RectSVGAttributes<SVGRectElement> & Properties<SVGRectElement>;
3942
3935
  /**
3943
3936
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/set
3944
3937
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSetElement
3945
3938
  */
3946
- set: SetSVGAttributes<SVGSetElement>;
3939
+ set: SetSVGAttributes<SVGSetElement> & Properties<SVGSetElement>;
3947
3940
  /**
3948
3941
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop
3949
3942
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGStopElement
3950
3943
  */
3951
- stop: StopSVGAttributes<SVGStopElement>;
3944
+ stop: StopSVGAttributes<SVGStopElement> & Properties<SVGStopElement>;
3952
3945
  /**
3953
3946
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg
3954
3947
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement
3955
3948
  */
3956
- svg: SvgSVGAttributes<SVGSVGElement>;
3949
+ svg: SvgSVGAttributes<SVGSVGElement> & Properties<SVGSVGElement>;
3957
3950
  /**
3958
3951
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switch
3959
3952
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSwitchElement
3960
3953
  */
3961
- switch: SwitchSVGAttributes<SVGSwitchElement>;
3954
+ switch: SwitchSVGAttributes<SVGSwitchElement> & Properties<SVGSwitchElement>;
3962
3955
  /**
3963
3956
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbol
3964
3957
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSymbolElement
3965
3958
  */
3966
- symbol: SymbolSVGAttributes<SVGSymbolElement>;
3959
+ symbol: SymbolSVGAttributes<SVGSymbolElement> & Properties<SVGSymbolElement>;
3967
3960
  /**
3968
3961
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text
3969
3962
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextElement
3970
3963
  */
3971
- text: TextSVGAttributes<SVGTextElement>;
3964
+ text: TextSVGAttributes<SVGTextElement> & Properties<SVGTextElement>;
3972
3965
  /**
3973
3966
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath
3974
3967
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextPathElement
3975
3968
  */
3976
- textPath: TextPathSVGAttributes<SVGTextPathElement>;
3969
+ textPath: TextPathSVGAttributes<SVGTextPathElement> & Properties<SVGTextPathElement>;
3977
3970
  /**
3978
3971
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspan
3979
3972
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTSpanElement
3980
3973
  */
3981
- tspan: TSpanSVGAttributes<SVGTSpanElement>;
3974
+ tspan: TSpanSVGAttributes<SVGTSpanElement> & Properties<SVGTSpanElement>;
3982
3975
  /**
3983
3976
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use
3984
3977
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGUseElement
3985
3978
  */
3986
- use: UseSVGAttributes<SVGUseElement>;
3979
+ use: UseSVGAttributes<SVGUseElement> & Properties<SVGUseElement>;
3987
3980
  /**
3988
3981
  * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/view
3989
3982
  * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGViewElement
3990
3983
  */
3991
- view: ViewSVGAttributes<SVGViewElement>;
3984
+ view: ViewSVGAttributes<SVGViewElement> & Properties<SVGViewElement>;
3992
3985
  }
3993
3986
 
3994
3987
  interface MathMLElementTags {
@@ -3996,7 +3989,7 @@ export namespace JSX {
3996
3989
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation
3997
3990
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
3998
3991
  */
3999
- annotation: MathMLAnnotationElementAttributes<MathMLElement>;
3992
+ annotation: MathMLAnnotationElementAttributes<MathMLElement> & Properties<MathMLElement>;
4000
3993
  /**
4001
3994
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation-xml
4002
3995
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
@@ -4006,161 +3999,158 @@ export namespace JSX {
4006
3999
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math
4007
4000
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4008
4001
  */
4009
- math: MathMLMathElementAttributes<MathMLElement>;
4002
+ math: MathMLMathElementAttributes<MathMLElement> & Properties<MathMLElement>;
4010
4003
  /**
4011
4004
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/merror
4012
4005
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4013
4006
  */
4014
- merror: MathMLMerrorElementAttributes<MathMLElement>;
4007
+ merror: MathMLMerrorElementAttributes<MathMLElement> & Properties<MathMLElement>;
4015
4008
  /**
4016
4009
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac
4017
4010
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4018
4011
  */
4019
- mfrac: MathMLMfracElementAttributes<MathMLElement>;
4012
+ mfrac: MathMLMfracElementAttributes<MathMLElement> & Properties<MathMLElement>;
4020
4013
  /**
4021
4014
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi
4022
4015
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4023
4016
  */
4024
- mi: MathMLMiElementAttributes<MathMLElement>;
4017
+ mi: MathMLMiElementAttributes<MathMLElement> & Properties<MathMLElement>;
4025
4018
  /**
4026
4019
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts
4027
4020
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4028
4021
  */
4029
- mmultiscripts: MathMLMmultiscriptsElementAttributes<MathMLElement>;
4022
+ mmultiscripts: MathMLMmultiscriptsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4030
4023
  /**
4031
4024
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mn
4032
4025
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4033
4026
  */
4034
- mn: MathMLMnElementAttributes<MathMLElement>;
4027
+ mn: MathMLMnElementAttributes<MathMLElement> & Properties<MathMLElement>;
4035
4028
  /**
4036
4029
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo
4037
4030
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4038
4031
  */
4039
- mo: MathMLMoElementAttributes<MathMLElement>;
4032
+ mo: MathMLMoElementAttributes<MathMLElement> & Properties<MathMLElement>;
4040
4033
  /**
4041
4034
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mover
4042
4035
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4043
4036
  */
4044
- mover: MathMLMoverElementAttributes<MathMLElement>;
4037
+ mover: MathMLMoverElementAttributes<MathMLElement> & Properties<MathMLElement>;
4045
4038
  /**
4046
4039
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded
4047
4040
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4048
4041
  */
4049
- mpadded: MathMLMpaddedElementAttributes<MathMLElement>;
4042
+ mpadded: MathMLMpaddedElementAttributes<MathMLElement> & Properties<MathMLElement>;
4050
4043
  /**
4051
4044
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom
4052
4045
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4053
4046
  */
4054
- mphantom: MathMLMphantomElementAttributes<MathMLElement>;
4047
+ mphantom: MathMLMphantomElementAttributes<MathMLElement> & Properties<MathMLElement>;
4055
4048
  /**
4056
4049
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mprescripts
4057
4050
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4058
4051
  */
4059
- mprescripts: MathMLMprescriptsElementAttributes<MathMLElement>;
4052
+ mprescripts: MathMLMprescriptsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4060
4053
  /**
4061
4054
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mroot
4062
4055
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4063
4056
  */
4064
- mroot: MathMLMrootElementAttributes<MathMLElement>;
4057
+ mroot: MathMLMrootElementAttributes<MathMLElement> & Properties<MathMLElement>;
4065
4058
  /**
4066
4059
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mrow
4067
4060
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4068
4061
  */
4069
- mrow: MathMLMrowElementAttributes<MathMLElement>;
4062
+ mrow: MathMLMrowElementAttributes<MathMLElement> & Properties<MathMLElement>;
4070
4063
  /**
4071
4064
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms
4072
4065
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4073
4066
  */
4074
- ms: MathMLMsElementAttributes<MathMLElement>;
4067
+ ms: MathMLMsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4075
4068
  /**
4076
4069
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace
4077
4070
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4078
4071
  */
4079
- mspace: MathMLMspaceElementAttributes<MathMLElement>;
4072
+ mspace: MathMLMspaceElementAttributes<MathMLElement> & Properties<MathMLElement>;
4080
4073
  /**
4081
4074
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msqrt
4082
4075
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4083
4076
  */
4084
- msqrt: MathMLMsqrtElementAttributes<MathMLElement>;
4077
+ msqrt: MathMLMsqrtElementAttributes<MathMLElement> & Properties<MathMLElement>;
4085
4078
  /**
4086
4079
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle
4087
4080
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4088
4081
  */
4089
- mstyle: MathMLMstyleElementAttributes<MathMLElement>;
4082
+ mstyle: MathMLMstyleElementAttributes<MathMLElement> & Properties<MathMLElement>;
4090
4083
  /**
4091
4084
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub
4092
4085
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4093
4086
  */
4094
- msub: MathMLMsubElementAttributes<MathMLElement>;
4087
+ msub: MathMLMsubElementAttributes<MathMLElement> & Properties<MathMLElement>;
4095
4088
  /**
4096
4089
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup
4097
4090
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4098
4091
  */
4099
- msubsup: MathMLMsubsupElementAttributes<MathMLElement>;
4092
+ msubsup: MathMLMsubsupElementAttributes<MathMLElement> & Properties<MathMLElement>;
4100
4093
  /**
4101
4094
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup
4102
4095
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4103
4096
  */
4104
- msup: MathMLMsupElementAttributes<MathMLElement>;
4097
+ msup: MathMLMsupElementAttributes<MathMLElement> & Properties<MathMLElement>;
4105
4098
  /**
4106
4099
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable
4107
4100
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4108
4101
  */
4109
- mtable: MathMLMtableElementAttributes<MathMLElement>;
4102
+ mtable: MathMLMtableElementAttributes<MathMLElement> & Properties<MathMLElement>;
4110
4103
  /**
4111
4104
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd
4112
4105
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4113
4106
  */
4114
- mtd: MathMLMtdElementAttributes<MathMLElement>;
4107
+ mtd: MathMLMtdElementAttributes<MathMLElement> & Properties<MathMLElement>;
4115
4108
  /**
4116
4109
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtext
4117
4110
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4118
4111
  */
4119
- mtext: MathMLMtextElementAttributes<MathMLElement>;
4112
+ mtext: MathMLMtextElementAttributes<MathMLElement> & Properties<MathMLElement>;
4120
4113
  /**
4121
4114
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr
4122
4115
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4123
4116
  */
4124
- mtr: MathMLMtrElementAttributes<MathMLElement>;
4117
+ mtr: MathMLMtrElementAttributes<MathMLElement> & Properties<MathMLElement>;
4125
4118
  /**
4126
4119
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munder
4127
4120
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4128
4121
  */
4129
- munder: MathMLMunderElementAttributes<MathMLElement>;
4122
+ munder: MathMLMunderElementAttributes<MathMLElement> & Properties<MathMLElement>;
4130
4123
  /**
4131
4124
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munderover
4132
4125
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4133
4126
  */
4134
- munderover: MathMLMunderoverElementAttributes<MathMLElement>;
4127
+ munderover: MathMLMunderoverElementAttributes<MathMLElement> & Properties<MathMLElement>;
4135
4128
  /**
4136
4129
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics
4137
4130
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4138
4131
  */
4139
- semantics: MathMLSemanticsElementAttributes<MathMLElement>;
4132
+ semantics: MathMLSemanticsElementAttributes<MathMLElement> & Properties<MathMLElement>;
4140
4133
  /**
4141
4134
  * @non-standard
4142
4135
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose
4143
4136
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4144
4137
  */
4145
- menclose: MathMLMencloseElementAttributes<MathMLElement>;
4138
+ menclose: MathMLMencloseElementAttributes<MathMLElement> & Properties<MathMLElement>;
4146
4139
  /**
4147
4140
  * @deprecated
4148
4141
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction
4149
4142
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4150
4143
  */
4151
- maction: MathMLMactionElementAttributes<MathMLElement>;
4144
+ maction: MathMLMactionElementAttributes<MathMLElement> & Properties<MathMLElement>;
4152
4145
  /**
4153
4146
  * @deprecated
4154
4147
  * @non-standard
4155
4148
  * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced
4156
4149
  * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement
4157
4150
  */
4158
- mfenced: MathMLMfencedElementAttributes<MathMLElement>;
4151
+ mfenced: MathMLMfencedElementAttributes<MathMLElement> & Properties<MathMLElement>;
4159
4152
  }
4160
4153
 
4161
4154
  interface IntrinsicElements
4162
- extends HTMLElementTags,
4163
- HTMLElementDeprecatedTags,
4164
- SVGElementTags,
4165
- MathMLElementTags {}
4155
+ extends HTMLElementTags, HTMLElementDeprecatedTags, SVGElementTags, MathMLElementTags {}
4166
4156
  }