From 3be267c7f6a972f7439af6327980ff63eff6fdd5 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 05:12:04 -0300 Subject: [PATCH 01/27] prettier --- packages/dom-expressions/src/jsx.d.ts | 67 +++++++++++++++++---------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index e7f49478..2852436e 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -30,30 +30,29 @@ export namespace JSX { } interface BoundEventHandler< - T, - E extends Event, - EHandler extends EventHandler = EventHandler, + T, + E extends Event, + EHandler extends EventHandler = EventHandler > { - 0: ( - data: any, - ...e: Parameters, - ) => void; + 0: (data: any, ...e: Parameters) => void; 1: any; } type EventHandlerUnion< T, E extends Event, - EHandler extends EventHandler = EventHandler, + EHandler extends EventHandler = EventHandler > = EHandler | BoundEventHandler; interface EventHandlerWithOptions> - extends AddEventListenerOptions { + extends AddEventListenerOptions { handleEvent: EHandler; } - type EventHandlerWithOptionsUnion = EventHandler> = - | EHandler - | EventHandlerWithOptions; + type EventHandlerWithOptionsUnion< + T, + E extends Event, + EHandler extends EventHandler = EventHandler + > = EHandler | EventHandlerWithOptions; interface InputEventHandler { ( @@ -65,7 +64,11 @@ export namespace JSX { } ): void; } - type InputEventHandlerUnion = EventHandlerUnion>; + type InputEventHandlerUnion = EventHandlerUnion< + T, + E, + InputEventHandler + >; interface ChangeEventHandler { ( @@ -77,7 +80,11 @@ export namespace JSX { } ): void; } - type ChangeEventHandlerUnion = EventHandlerUnion>; + type ChangeEventHandlerUnion = EventHandlerUnion< + T, + E, + ChangeEventHandler + >; interface FocusEventHandler { ( @@ -89,7 +96,11 @@ export namespace JSX { } ): void; } - type FocusEventHandlerUnion = EventHandlerUnion>; + type FocusEventHandlerUnion = EventHandlerUnion< + T, + E, + FocusEventHandler + >; const SERIALIZABLE: unique symbol; interface SerializableAttributeValue { @@ -102,9 +113,11 @@ export namespace JSX { } interface CustomAttributes { ref?: T | ((el: T) => void) | undefined; - classList?: { - [k: string]: boolean | undefined; - } | undefined; + classList?: + | { + [k: string]: boolean | undefined; + } + | undefined; $ServerOnly?: boolean | undefined; } type Accessor = () => T; @@ -201,9 +214,11 @@ export namespace JSX { "on:compositionstart"?: EventHandlerWithOptionsUnion | undefined; "on:compositionupdate"?: EventHandlerWithOptionsUnion | undefined; "on:focusout"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:focusin"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:encrypted"?: EventHandlerWithOptionsUnion | undefined; "on:dragexit"?: EventHandlerWithOptionsUnion | undefined; } @@ -377,10 +392,12 @@ export namespace JSX { "on:animationstart"?: EventHandlerWithOptionsUnion | undefined; "on:auxclick"?: EventHandlerWithOptionsUnion | undefined; "on:beforeinput"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:beforetoggle"?: EventHandlerWithOptionsUnion | undefined; "on:blur"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:canplay"?: EventHandlerWithOptionsUnion | undefined; "on:canplaythrough"?: EventHandlerWithOptionsUnion | undefined; "on:change"?: EventHandlerWithOptionsUnion> | undefined; @@ -399,10 +416,12 @@ export namespace JSX { "on:ended"?: EventHandlerWithOptionsUnion | undefined; "on:error"?: EventHandlerWithOptionsUnion | undefined; "on:focus"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:gotpointercapture"?: EventHandlerWithOptionsUnion | undefined; "on:input"?: - EventHandlerWithOptionsUnion> | undefined; + | EventHandlerWithOptionsUnion> + | undefined; "on:invalid"?: EventHandlerWithOptionsUnion | undefined; "on:keydown"?: EventHandlerWithOptionsUnion | undefined; "on:keypress"?: EventHandlerWithOptionsUnion | undefined; From a0c6c9d4c4709caf1961a6e0cf026b14efbda3f8 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 05:41:47 -0300 Subject: [PATCH 02/27] add deprecation notice --- packages/dom-expressions/src/jsx.d.ts | 106 ++++++++++++++++++++++---- 1 file changed, 91 insertions(+), 15 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 2852436e..50efb738 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -889,7 +889,7 @@ export namespace JSX { interface HTMLAttributes extends AriaAttributes, DOMAttributes { // [key: ClassKeys]: boolean; - accessKey?: string | undefined; + accesskey?: string | undefined; class?: string | undefined; contenteditable?: boolean | "plaintext-only" | "inherit" | undefined; contextmenu?: string | undefined; @@ -934,16 +934,18 @@ export namespace JSX { | "decimal" | "search" | undefined; + + /** @deprecated Use lowercase attributes */ + accessKey?: string | undefined; + /** @deprecated Use lowercase attributes */ + autoCapitalize?: HTMLAutocapitalize | undefined; + /** @deprecated Use lowercase attributes */ contentEditable?: boolean | "plaintext-only" | "inherit" | undefined; + /** @deprecated Use lowercase attributes */ contextMenu?: string | undefined; - tabIndex?: number | string | undefined; - autoCapitalize?: HTMLAutocapitalize | undefined; - itemProp?: string | undefined; - itemScope?: boolean | undefined; - itemType?: string | undefined; - itemId?: string | undefined; - itemRef?: string | undefined; + /** @deprecated Use lowercase attributes */ exportParts?: string | undefined; + /** @deprecated Use lowercase attributes */ inputMode?: | "none" | "text" @@ -954,6 +956,18 @@ export namespace JSX { | "decimal" | "search" | undefined; + /** @deprecated Use lowercase attributes */ + itemId?: string | undefined; + /** @deprecated Use lowercase attributes */ + itemProp?: string | undefined; + /** @deprecated Use lowercase attributes */ + itemRef?: string | undefined; + /** @deprecated Use lowercase attributes */ + itemScope?: boolean | undefined; + /** @deprecated Use lowercase attributes */ + itemType?: string | undefined; + /** @deprecated Use lowercase attributes */ + tabIndex?: number | string | undefined; } interface AnchorHTMLAttributes extends HTMLAttributes { download?: any | undefined; @@ -965,6 +979,8 @@ export namespace JSX { rel?: string | undefined; target?: string | undefined; type?: string | undefined; + + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface AudioHTMLAttributes extends MediaHTMLAttributes {} @@ -979,6 +995,8 @@ export namespace JSX { rel?: string | undefined; shape?: "rect" | "circle" | "poly" | "default" | undefined; target?: string | undefined; + + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface BaseHTMLAttributes extends HTMLAttributes { @@ -1002,12 +1020,20 @@ export namespace JSX { name?: string | undefined; type?: "submit" | "reset" | "button" | undefined; value?: string | undefined; + + /** @deprecated Use lowercase attributes */ formAction?: string | SerializableAttributeValue | undefined; + /** @deprecated Use lowercase attributes */ formEnctype?: HTMLFormEncType | undefined; + /** @deprecated Use lowercase attributes */ formMethod?: HTMLFormMethod | undefined; + /** @deprecated Use lowercase attributes */ formNoValidate?: boolean | undefined; + /** @deprecated Use lowercase attributes */ formTarget?: string | undefined; + /** @deprecated Use lowercase attributes */ popoverTarget?: string | undefined; + /** @deprecated Use lowercase attributes */ popoverTargetAction?: "hide" | "show" | "toggle" | undefined; } interface CanvasHTMLAttributes extends HTMLAttributes { @@ -1055,6 +1081,8 @@ export namespace JSX { name?: string | undefined; novalidate?: boolean | undefined; target?: string | undefined; + + /** @deprecated Use lowercase attributes */ noValidate?: boolean | undefined; } interface IframeHTMLAttributes extends HTMLAttributes { @@ -1068,6 +1096,8 @@ export namespace JSX { src?: string | undefined; srcdoc?: string | undefined; width?: number | string | undefined; + + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface ImgHTMLAttributes extends HTMLAttributes { @@ -1076,20 +1106,26 @@ export namespace JSX { decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; ismap?: boolean | undefined; - isMap?: boolean | undefined; loading?: "eager" | "lazy" | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; - referrerPolicy?: HTMLReferrerPolicy | undefined; sizes?: string | undefined; src?: string | undefined; srcset?: string | undefined; - srcSet?: string | undefined; usemap?: string | undefined; - useMap?: string | undefined; width?: number | string | undefined; - crossOrigin?: HTMLCrossorigin | undefined; elementtiming?: string | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; + + /** @deprecated Use lowercase attributes */ + crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ + isMap?: boolean | undefined; + /** @deprecated Use lowercase attributes */ + referrerPolicy?: HTMLReferrerPolicy | undefined; + /** @deprecated Use lowercase attributes */ + srcSet?: string | undefined; + /** @deprecated Use lowercase attributes */ + useMap?: string | undefined; } interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined; @@ -1128,18 +1164,31 @@ export namespace JSX { type?: string | undefined; value?: string | string[] | number | undefined; width?: number | string | undefined; + + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ formAction?: string | SerializableAttributeValue | undefined; + /** @deprecated Use lowercase attributes */ formEnctype?: HTMLFormEncType | undefined; + /** @deprecated Use lowercase attributes */ formMethod?: HTMLFormMethod | undefined; + /** @deprecated Use lowercase attributes */ formNoValidate?: boolean | undefined; + /** @deprecated Use lowercase attributes */ formTarget?: string | undefined; + /** @deprecated Use lowercase attributes */ maxLength?: number | string | undefined; + /** @deprecated Use lowercase attributes */ minLength?: number | string | undefined; + /** @deprecated Use lowercase attributes */ readOnly?: boolean | undefined; } interface InsHTMLAttributes extends HTMLAttributes { cite?: string | undefined; + datetime?: string | undefined; + + /** @deprecated Use lowercase attributes */ dateTime?: string | undefined; } interface KeygenHTMLAttributes extends HTMLAttributes { @@ -1173,7 +1222,10 @@ export namespace JSX { rel?: string | undefined; sizes?: string | undefined; type?: string | undefined; + + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface MapHTMLAttributes extends HTMLAttributes { @@ -1188,7 +1240,10 @@ export namespace JSX { muted?: boolean | undefined; preload?: "none" | "metadata" | "auto" | "" | undefined; src?: string | undefined; + + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ mediaGroup?: string | undefined; } interface MenuHTMLAttributes extends HTMLAttributes { @@ -1222,6 +1277,8 @@ export namespace JSX { type?: string | undefined; usemap?: string | undefined; width?: number | string | undefined; + + /** @deprecated Use lowercase attributes */ useMap?: string | undefined; } interface OlHTMLAttributes extends HTMLAttributes { @@ -1263,8 +1320,12 @@ export namespace JSX { referrerpolicy?: HTMLReferrerPolicy | undefined; src?: string | undefined; type?: string | undefined; + + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ noModule?: boolean | undefined; + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface SelectHTMLAttributes extends HTMLAttributes { @@ -1300,10 +1361,14 @@ export namespace JSX { colspan?: number | string | undefined; headers?: string | undefined; rowspan?: number | string | undefined; + + /** @deprecated Use lowercase attributes */ colSpan?: number | string | undefined; + /** @deprecated Use lowercase attributes */ rowSpan?: number | string | undefined; } interface TemplateHTMLAttributes extends HTMLAttributes { + /** @deprecated */ content?: DocumentFragment | undefined; } interface TextareaHTMLAttributes extends HTMLAttributes { @@ -1323,20 +1388,29 @@ export namespace JSX { rows?: number | string | undefined; value?: string | string[] | number | undefined; wrap?: "hard" | "soft" | "off" | undefined; + + /** @deprecated Use lowercase attributes */ maxLength?: number | string | undefined; + /** @deprecated Use lowercase attributes */ minLength?: number | string | undefined; + /** @deprecated Use lowercase attributes */ readOnly?: boolean | undefined; } interface ThHTMLAttributes extends HTMLAttributes { colspan?: number | string | undefined; headers?: string | undefined; rowspan?: number | string | undefined; + scope?: "col" | "row" | "rowgroup" | "colgroup" | undefined; + + /** @deprecated Use lowercase attributes */ colSpan?: number | string | undefined; + /** @deprecated Use lowercase attributes */ rowSpan?: number | string | undefined; - scope?: "col" | "row" | "rowgroup" | "colgroup" | undefined; } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: string | undefined; + + /** @deprecated Use lowercase attributes */ dateTime?: string | undefined; } interface TrackHTMLAttributes extends HTMLAttributes { @@ -1416,8 +1490,10 @@ export namespace JSX { interface CoreSVGAttributes extends AriaAttributes, DOMAttributes { id?: string | undefined; lang?: string | undefined; - tabIndex?: number | string | undefined; tabindex?: number | string | undefined; + + /** @deprecated Use lowercase attributes */ + tabIndex?: number | string | undefined; } interface StylableSVGAttributes { class?: string | undefined; From 44a3507eacaa4cc10ccfd9866eb4a98355e09f34 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 07:43:55 -0300 Subject: [PATCH 03/27] update types --- packages/dom-expressions/src/jsx.d.ts | 66 ++++++++++++++++++++------- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 50efb738..8a3e5f2c 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1051,6 +1051,7 @@ export namespace JSX { value?: string | string[] | number | undefined; } interface DetailsHtmlAttributes extends HTMLAttributes { + name?: string | undefined; open?: boolean | undefined; onToggle?: EventHandlerUnion | undefined; ontoggle?: EventHandlerUnion | undefined; @@ -1106,6 +1107,7 @@ export namespace JSX { decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; ismap?: boolean | undefined; + indeterminate?: boolean | undefined; loading?: "eager" | "lazy" | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; sizes?: string | undefined; @@ -1184,7 +1186,7 @@ export namespace JSX { /** @deprecated Use lowercase attributes */ readOnly?: boolean | undefined; } - interface InsHTMLAttributes extends HTMLAttributes { + interface ModHTMLAttributes extends HTMLAttributes { cite?: string | undefined; datetime?: string | undefined; @@ -1234,6 +1236,7 @@ export namespace JSX { interface MediaHTMLAttributes extends HTMLAttributes { autoplay?: boolean | undefined; controls?: boolean | undefined; + controlslist?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; loop?: boolean | undefined; mediagroup?: string | undefined; @@ -1339,7 +1342,7 @@ export namespace JSX { size?: number | string | undefined; value?: string | string[] | number | undefined; } - interface HTMLSlotElementAttributes extends HTMLAttributes { + interface HTMLSlotElementAttributes extends HTMLAttributes { name?: string | undefined; } interface SourceHTMLAttributes extends HTMLAttributes { @@ -1367,7 +1370,12 @@ export namespace JSX { /** @deprecated Use lowercase attributes */ rowSpan?: number | string | undefined; } - interface TemplateHTMLAttributes extends HTMLAttributes { + interface TemplateHTMLAttributes extends HTMLAttributes { + shadowrootmode?: "open" | "closed" | undefined; + shadowrootclonable?: boolean | undefined; + shadowrootdelegatesfocus?: boolean | undefined; + shadowrootserializable?: boolean | undefined; + /** @deprecated */ content?: DocumentFragment | undefined; } @@ -1397,6 +1405,7 @@ export namespace JSX { readOnly?: boolean | undefined; } interface ThHTMLAttributes extends HTMLAttributes { + abbr?: string | undefined; colspan?: number | string | undefined; headers?: string | undefined; rowspan?: number | string | undefined; @@ -1425,8 +1434,30 @@ export namespace JSX { playsinline?: boolean | undefined; poster?: string | undefined; width?: number | string | undefined; - disablepictureinpicture?: boolean; + disablepictureinpicture?: boolean | undefined; + disableremoteplayback?: boolean | undefined; + } + + interface WebViewHTMLAttributes extends HTMLAttributes { + allowfullscreen?: boolean | undefined; + allowpopups?: boolean | undefined; + autofocus?: boolean | undefined; + autosize?: boolean | undefined; + blinkfeatures?: string | undefined; + disableblinkfeatures?: string | undefined; + disableguestresize?: boolean | undefined; + disablewebsecurity?: boolean | undefined; + guestinstance?: string | undefined; + httpreferrer?: string | undefined; + nodeintegration?: boolean | undefined; + partition?: string | undefined; + plugins?: boolean | undefined; + preload?: string | undefined; + src?: string | undefined; + useragent?: string | undefined; + webpreferences?: string | undefined; } + type SVGPreserveAspectRatio = | "none" | "xMinYMin" @@ -2293,20 +2324,20 @@ export namespace JSX { base: BaseHTMLAttributes; bdi: HTMLAttributes; bdo: HTMLAttributes; - blockquote: BlockquoteHTMLAttributes; + blockquote: BlockquoteHTMLAttributes; body: HTMLAttributes; br: HTMLAttributes; button: ButtonHTMLAttributes; canvas: CanvasHTMLAttributes; - caption: HTMLAttributes; + caption: HTMLAttributes; cite: HTMLAttributes; code: HTMLAttributes; col: ColHTMLAttributes; colgroup: ColgroupHTMLAttributes; - data: DataHTMLAttributes; + data: DataHTMLAttributes; datalist: HTMLAttributes; dd: HTMLAttributes; - del: HTMLAttributes; + del: ModHTMLAttributes; details: DetailsHtmlAttributes; dfn: HTMLAttributes; dialog: DialogHtmlAttributes; @@ -2335,7 +2366,7 @@ export namespace JSX { iframe: IframeHTMLAttributes; img: ImgHTMLAttributes; input: InputHTMLAttributes; - ins: InsHTMLAttributes; + ins: ModHTMLAttributes; kbd: HTMLAttributes; label: LabelHTMLAttributes; legend: HTMLAttributes; @@ -2346,16 +2377,16 @@ export namespace JSX { mark: HTMLAttributes; menu: MenuHTMLAttributes; meta: MetaHTMLAttributes; - meter: MeterHTMLAttributes; + meter: MeterHTMLAttributes; nav: HTMLAttributes; noscript: HTMLAttributes; object: ObjectHTMLAttributes; ol: OlHTMLAttributes; optgroup: OptgroupHTMLAttributes; option: OptionHTMLAttributes; - output: OutputHTMLAttributes; + output: OutputHTMLAttributes; p: HTMLAttributes; - picture: HTMLAttributes; + picture: HTMLAttributes; pre: HTMLAttributes; progress: ProgressHTMLAttributes; q: QuoteHTMLAttributes; @@ -2368,7 +2399,7 @@ export namespace JSX { search: HTMLAttributes; section: HTMLAttributes; select: SelectHTMLAttributes; - slot: HTMLSlotElementAttributes; + slot: HTMLSlotElementAttributes; small: HTMLAttributes; source: SourceHTMLAttributes; span: HTMLAttributes; @@ -2385,7 +2416,7 @@ export namespace JSX { tfoot: HTMLAttributes; th: ThHTMLAttributes; thead: HTMLAttributes; - time: TimeHTMLAttributes; + time: TimeHTMLAttributes; title: HTMLAttributes; tr: HTMLAttributes; track: TrackHTMLAttributes; @@ -2394,13 +2425,14 @@ export namespace JSX { var: HTMLAttributes; video: VideoHTMLAttributes; wbr: HTMLAttributes; + webview: WebViewHTMLAttributes; } /** @type {HTMLElementDeprecatedTagNameMap} */ interface HTMLElementDeprecatedTags { big: HTMLAttributes; - keygen: KeygenHTMLAttributes; - menuitem: HTMLAttributes; - noindex: HTMLAttributes; + keygen: KeygenHTMLAttributes; + menuitem: HTMLAttributes; + noindex: HTMLAttributes; param: ParamHTMLAttributes; } /** @type {SVGElementTagNameMap} */ From 8caa76dd400f6fcc792f1ca37357416bb6020a50 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 07:44:39 -0300 Subject: [PATCH 04/27] add MathML types --- packages/dom-expressions/src/jsx.d.ts | 309 +++++++++++++++++++++++++- 1 file changed, 308 insertions(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 8a3e5f2c..f377585f 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -2311,6 +2311,270 @@ export namespace JSX { ZoomAndPanSVGAttributes { viewTarget?: string | undefined; } + + /** MathML typings come mostly from Preact */ + + interface MathMLAnnotationElementAttributes extends HTMLAttributes { + encoding?: string; + } + interface MathMLAnnotationXmlElementAttributes extends HTMLAttributes { + encoding?: string; + } + interface MathMLMactionElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype + */ + actiontype?: "statusline" | "toggle"; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ + selection?: string; + } + interface MathMLMathElementAttributes extends HTMLAttributes { + display?: "block" | "inline"; + } + interface MathMLMerrorElementAttributes extends HTMLAttributes {} + interface MathMLMfracElementAttributes extends HTMLAttributes { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ + denomalign?: "center" | "left" | "right"; + linethickness?: string; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ + numalign?: "center" | "left" | "right"; + } + interface MathMLMiElementAttributes extends HTMLAttributes { + /** + * The only value allowed in the current specification is normal (case insensitive) See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi#mathvariant + */ + mathvariant?: + | "normal" + | "bold" + | "italic" + | "bold-italic" + | "double-struck" + | "bold-fraktur" + | "script" + | "bold-script" + | "fraktur" + | "sans-serif" + | "bold-sans-serif" + | "sans-serif-italic" + | "sans-serif-bold-italic" + | "monospace" + | "initial" + | "tailed" + | "looped" + | "stretched"; + } + + interface MathMLMmultiscriptsElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift + */ + subscriptshift?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift + */ + superscriptshift?: string; + } + interface MathMLMnElementAttributes extends HTMLAttributes {} + interface MathMLMoElementAttributes extends HTMLAttributes { + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent + */ + accent?: boolean; + fence?: boolean; + largeop?: boolean; + lspace?: string; + maxsize?: string; + minsize?: string; + movablelimits?: boolean; + rspace?: string; + separator?: boolean; + stretchy?: boolean; + symmetric?: boolean; + } + interface MathMLMoverElementAttributes extends HTMLAttributes { + accent?: boolean; + } + interface MathMLMpaddedElementAttributes extends HTMLAttributes { + depth?: string; + height?: string; + lspace?: string; + voffset?: string; + width?: string; + } + interface MathMLMphantomElementAttributes extends HTMLAttributes {} + interface MathMLMprescriptsElementAttributes extends HTMLAttributes {} + interface MathMLMrootElementAttributes extends HTMLAttributes {} + interface MathMLMrowElementAttributes extends HTMLAttributes {} + interface MathMLMsElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility + */ + lquote?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility + */ + rquote?: string; + } + interface MathMLMspaceElementAttributes extends HTMLAttributes { + depth?: string; + height?: string; + width?: string; + } + interface MathMLMsqrtElementAttributes extends HTMLAttributes {} + interface MathMLMstyleElementAttributes extends HTMLAttributes { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ + background?: string; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ + color?: string; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */ + fontsize?: string; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */ + fontstyle?: string; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */ + fontweight?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize + */ + scriptminsize?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier + */ + scriptsizemultiplier?: string; + } + interface MathMLMsubElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift + */ + subscriptshift?: string; + } + interface MathMLMsubsupElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift + */ + subscriptshift?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift + */ + superscriptshift?: string; + } + interface MathMLMsupElementAttributes extends HTMLAttributes { + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift + */ + superscriptshift?: string; + } + interface MathMLMtableElementAttributes extends HTMLAttributes { + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align + */ + align?: "axis" | "baseline" | "bottom" | "center" | "top"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnalign + */ + columnalign?: "center" | "left" | "right"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnlines + */ + columnlines?: "dashed" | "none" | "solid"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnspacing + */ + columnspacing?: string; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#frame + */ + frame?: "dashed" | "none" | "solid"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#framespacing + */ + framespacing?: string; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowalign + */ + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowlines + */ + rowlines?: "dashed" | "none" | "solid"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowspacing + */ + rowspacing?: string; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width + */ + width?: string; + } + interface MathMLMtdElementAttributes extends HTMLAttributes { + columnspan?: number; + rowspan?: number; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#columnalign + */ + columnalign?: "center" | "left" | "right"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#rowalign + */ + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + } + interface MathMLMtextElementAttributes extends HTMLAttributes {} + interface MathMLMtrElementAttributes extends HTMLAttributes { + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign + */ + columnalign?: "center" | "left" | "right"; + /** + * Non-standard attribute See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#rowalign + */ + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + } + interface MathMLMunderElementAttributes extends HTMLAttributes { + accentunder?: boolean; + } + interface MathMLMunderoverElementAttributes extends HTMLAttributes { + accent?: boolean; + accentunder?: boolean; + } + interface MathMLSemanticsElementAttributes extends HTMLAttributes {} + + /* MathMLDeprecatedElements */ + + interface MathMLMencloseElementAttributes extends HTMLAttributes { + notation?: string; + } + interface MathMLMfencedElementAttributes extends HTMLAttributes { + close?: string; + open?: string; + separators?: string; + } + /** @type {HTMLElementTagNameMap} */ interface HTMLElementTags { a: AnchorHTMLAttributes; @@ -2497,5 +2761,48 @@ export namespace JSX { use: UseSVGAttributes; view: ViewSVGAttributes; } - interface IntrinsicElements extends HTMLElementTags, HTMLElementDeprecatedTags, SVGElementTags {} + + interface MathMLElementTags { + annotation: MathMLAnnotationElementAttributes; + "annotation-xml": MathMLAnnotationXmlElementAttributes; + math: MathMLMathElementAttributes; + merror: MathMLMerrorElementAttributes; + mfrac: MathMLMfracElementAttributes; + mi: MathMLMiElementAttributes; + mmultiscripts: MathMLMmultiscriptsElementAttributes; + mn: MathMLMnElementAttributes; + mo: MathMLMoElementAttributes; + mover: MathMLMoverElementAttributes; + mpadded: MathMLMpaddedElementAttributes; + mphantom: MathMLMphantomElementAttributes; + mprescripts: MathMLMprescriptsElementAttributes; + mroot: MathMLMrootElementAttributes; + mrow: MathMLMrowElementAttributes; + ms: MathMLMsElementAttributes; + mspace: MathMLMspaceElementAttributes; + msqrt: MathMLMsqrtElementAttributes; + mstyle: MathMLMstyleElementAttributes; + msub: MathMLMsubElementAttributes; + msubsup: MathMLMsubsupElementAttributes; + msup: MathMLMsupElementAttributes; + mtable: MathMLMtableElementAttributes; + mtd: MathMLMtdElementAttributes; + mtext: MathMLMtextElementAttributes; + mtr: MathMLMtrElementAttributes; + munder: MathMLMunderElementAttributes; + munderover: MathMLMunderoverElementAttributes; + semantics: MathMLSemanticsElementAttributes; + /** @deprecated */ + maction: MathMLMactionElementAttributes; + /** @deprecated */ + menclose: MathMLMencloseElementAttributes; + /** @deprecated */ + mfenced: MathMLMfencedElementAttributes; + } + + interface IntrinsicElements + extends HTMLElementTags, + HTMLElementDeprecatedTags, + SVGElementTags, + MathMLElementTags {} } From 1d46ae153e905785f90d08a778d5aaef04ad0a1d Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 07:55:47 -0300 Subject: [PATCH 05/27] fix wrong locataion of `indeterminate` --- packages/dom-expressions/src/jsx.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index f377585f..3c5f2a7e 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1107,7 +1107,6 @@ export namespace JSX { decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; ismap?: boolean | undefined; - indeterminate?: boolean | undefined; loading?: "eager" | "lazy" | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; sizes?: string | undefined; @@ -1148,6 +1147,7 @@ export namespace JSX { formtarget?: string | undefined; height?: number | string | undefined; incremental?: boolean | undefined; + indeterminate?: boolean | undefined; list?: string | undefined; max?: number | string | undefined; maxlength?: number | string | undefined; From 35f578226596227ba3a5116bb0008d9813a4b96c Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 08:04:30 -0300 Subject: [PATCH 06/27] remove `indeterminate` --- packages/dom-expressions/src/jsx.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 3c5f2a7e..27f72569 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1147,7 +1147,6 @@ export namespace JSX { formtarget?: string | undefined; height?: number | string | undefined; incremental?: boolean | undefined; - indeterminate?: boolean | undefined; list?: string | undefined; max?: number | string | undefined; maxlength?: number | string | undefined; From 25c432e008b7af42f28897f3c257a664098db695 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 08:14:22 -0300 Subject: [PATCH 07/27] deprecate `classList` --- packages/dom-expressions/src/jsx.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 27f72569..ee874591 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -113,6 +113,7 @@ export namespace JSX { } interface CustomAttributes { ref?: T | ((el: T) => void) | undefined; + /** @deprecated Use `clsx` instead. https://www.npmjs.com/package/clsx */ classList?: | { [k: string]: boolean | undefined; From 3c3e0cb9e7960495f13fe7f8abbea05c3cee3bf1 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 21:50:05 -0300 Subject: [PATCH 08/27] add `MathMLAttributes` --- packages/dom-expressions/src/jsx.d.ts | 90 +++++++++++++++++---------- 1 file changed, 58 insertions(+), 32 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index ee874591..860834dd 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -2314,13 +2314,39 @@ export namespace JSX { /** MathML typings come mostly from Preact */ - interface MathMLAnnotationElementAttributes extends HTMLAttributes { + interface MathMLAttributes extends HTMLAttributes { + displaystyle?: boolean; + /** + * @deprecated This feature is non-standard. See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href + */ + href?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground + */ + mathbackground?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor + */ + mathcolor?: string; + /** + * @deprecated See + * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize + */ + mathsize?: string; + nonce?: string; + scriptlevel?: string; + } + + interface MathMLAnnotationElementAttributes extends MathMLAttributes { encoding?: string; } - interface MathMLAnnotationXmlElementAttributes extends HTMLAttributes { + interface MathMLAnnotationXmlElementAttributes extends MathMLAttributes { encoding?: string; } - interface MathMLMactionElementAttributes extends HTMLAttributes { + interface MathMLMactionElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype @@ -2329,18 +2355,18 @@ export namespace JSX { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ selection?: string; } - interface MathMLMathElementAttributes extends HTMLAttributes { + interface MathMLMathElementAttributes extends MathMLAttributes { display?: "block" | "inline"; } - interface MathMLMerrorElementAttributes extends HTMLAttributes {} - interface MathMLMfracElementAttributes extends HTMLAttributes { + interface MathMLMerrorElementAttributes extends MathMLAttributes {} + interface MathMLMfracElementAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ denomalign?: "center" | "left" | "right"; linethickness?: string; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ numalign?: "center" | "left" | "right"; } - interface MathMLMiElementAttributes extends HTMLAttributes { + interface MathMLMiElementAttributes extends MathMLAttributes { /** * The only value allowed in the current specification is normal (case insensitive) See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi#mathvariant @@ -2366,7 +2392,7 @@ export namespace JSX { | "stretched"; } - interface MathMLMmultiscriptsElementAttributes extends HTMLAttributes { + interface MathMLMmultiscriptsElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift @@ -2378,8 +2404,8 @@ export namespace JSX { */ superscriptshift?: string; } - interface MathMLMnElementAttributes extends HTMLAttributes {} - interface MathMLMoElementAttributes extends HTMLAttributes { + interface MathMLMnElementAttributes extends MathMLAttributes {} + interface MathMLMoElementAttributes extends MathMLAttributes { /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent @@ -2396,21 +2422,21 @@ export namespace JSX { stretchy?: boolean; symmetric?: boolean; } - interface MathMLMoverElementAttributes extends HTMLAttributes { + interface MathMLMoverElementAttributes extends MathMLAttributes { accent?: boolean; } - interface MathMLMpaddedElementAttributes extends HTMLAttributes { + interface MathMLMpaddedElementAttributes extends MathMLAttributes { depth?: string; height?: string; lspace?: string; voffset?: string; width?: string; } - interface MathMLMphantomElementAttributes extends HTMLAttributes {} - interface MathMLMprescriptsElementAttributes extends HTMLAttributes {} - interface MathMLMrootElementAttributes extends HTMLAttributes {} - interface MathMLMrowElementAttributes extends HTMLAttributes {} - interface MathMLMsElementAttributes extends HTMLAttributes { + interface MathMLMphantomElementAttributes extends MathMLAttributes {} + interface MathMLMprescriptsElementAttributes extends MathMLAttributes {} + interface MathMLMrootElementAttributes extends MathMLAttributes {} + interface MathMLMrowElementAttributes extends MathMLAttributes {} + interface MathMLMsElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility @@ -2422,13 +2448,13 @@ export namespace JSX { */ rquote?: string; } - interface MathMLMspaceElementAttributes extends HTMLAttributes { + interface MathMLMspaceElementAttributes extends MathMLAttributes { depth?: string; height?: string; width?: string; } - interface MathMLMsqrtElementAttributes extends HTMLAttributes {} - interface MathMLMstyleElementAttributes extends HTMLAttributes { + interface MathMLMsqrtElementAttributes extends MathMLAttributes {} + interface MathMLMstyleElementAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ background?: string; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ @@ -2450,14 +2476,14 @@ export namespace JSX { */ scriptsizemultiplier?: string; } - interface MathMLMsubElementAttributes extends HTMLAttributes { + interface MathMLMsubElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift */ subscriptshift?: string; } - interface MathMLMsubsupElementAttributes extends HTMLAttributes { + interface MathMLMsubsupElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift @@ -2469,14 +2495,14 @@ export namespace JSX { */ superscriptshift?: string; } - interface MathMLMsupElementAttributes extends HTMLAttributes { + interface MathMLMsupElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift */ superscriptshift?: string; } - interface MathMLMtableElementAttributes extends HTMLAttributes { + interface MathMLMtableElementAttributes extends MathMLAttributes { /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align @@ -2528,7 +2554,7 @@ export namespace JSX { */ width?: string; } - interface MathMLMtdElementAttributes extends HTMLAttributes { + interface MathMLMtdElementAttributes extends MathMLAttributes { columnspan?: number; rowspan?: number; /** @@ -2542,8 +2568,8 @@ export namespace JSX { */ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; } - interface MathMLMtextElementAttributes extends HTMLAttributes {} - interface MathMLMtrElementAttributes extends HTMLAttributes { + interface MathMLMtextElementAttributes extends MathMLAttributes {} + interface MathMLMtrElementAttributes extends MathMLAttributes { /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign @@ -2555,21 +2581,21 @@ export namespace JSX { */ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; } - interface MathMLMunderElementAttributes extends HTMLAttributes { + interface MathMLMunderElementAttributes extends MathMLAttributes { accentunder?: boolean; } - interface MathMLMunderoverElementAttributes extends HTMLAttributes { + interface MathMLMunderoverElementAttributes extends MathMLAttributes { accent?: boolean; accentunder?: boolean; } - interface MathMLSemanticsElementAttributes extends HTMLAttributes {} + interface MathMLSemanticsElementAttributes extends MathMLAttributes {} /* MathMLDeprecatedElements */ - interface MathMLMencloseElementAttributes extends HTMLAttributes { + interface MathMLMencloseElementAttributes extends MathMLAttributes { notation?: string; } - interface MathMLMfencedElementAttributes extends HTMLAttributes { + interface MathMLMfencedElementAttributes extends MathMLAttributes { close?: string; open?: string; separators?: string; From c70884e03b15ced905b9f93af4dec38b3ecd1f82 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sat, 2 Nov 2024 23:19:48 -0300 Subject: [PATCH 09/27] update events --- packages/dom-expressions/src/jsx.d.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 860834dd..65bec93c 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -194,7 +194,7 @@ export namespace JSX { onCompositionUpdate?: EventHandlerUnion | undefined; onFocusOut?: FocusEventHandlerUnion | undefined; onFocusIn?: FocusEventHandlerUnion | undefined; - onEncrypted?: EventHandlerUnion | undefined; + onEncrypted?: EventHandlerUnion | undefined; onDragExit?: EventHandlerUnion | undefined; // lower case events oncopy?: EventHandlerUnion | undefined; @@ -205,7 +205,7 @@ export namespace JSX { oncompositionupdate?: EventHandlerUnion | undefined; onfocusout?: FocusEventHandlerUnion | undefined; onfocusin?: FocusEventHandlerUnion | undefined; - onencrypted?: EventHandlerUnion | undefined; + onencrypted?: EventHandlerUnion | undefined; ondragexit?: EventHandlerUnion | undefined; // lower case events "on:copy"?: EventHandlerWithOptionsUnion | undefined; @@ -220,11 +220,11 @@ export namespace JSX { "on:focusin"?: | EventHandlerWithOptionsUnion> | undefined; - "on:encrypted"?: EventHandlerWithOptionsUnion | undefined; + "on:encrypted"?: EventHandlerWithOptionsUnion | undefined; "on:dragexit"?: EventHandlerWithOptionsUnion | undefined; } interface CustomEventHandlersCamelCase { - onAbort?: EventHandlerUnion | undefined; + onAbort?: EventHandlerUnion | undefined; onAnimationEnd?: EventHandlerUnion | undefined; onAnimationIteration?: EventHandlerUnion | undefined; onAnimationStart?: EventHandlerUnion | undefined; @@ -248,7 +248,7 @@ export namespace JSX { onDurationChange?: EventHandlerUnion | undefined; onEmptied?: EventHandlerUnion | undefined; onEnded?: EventHandlerUnion | undefined; - onError?: EventHandlerUnion | undefined; + onError?: EventHandlerUnion | undefined; onFocus?: FocusEventHandlerUnion | undefined; onGotPointerCapture?: EventHandlerUnion | undefined; onInput?: InputEventHandlerUnion | undefined; @@ -306,7 +306,7 @@ export namespace JSX { } /** @type {GlobalEventHandlers} */ interface CustomEventHandlersLowerCase { - onabort?: EventHandlerUnion | undefined; + onabort?: EventHandlerUnion | undefined; onanimationend?: EventHandlerUnion | undefined; onanimationiteration?: EventHandlerUnion | undefined; onanimationstart?: EventHandlerUnion | undefined; @@ -330,7 +330,7 @@ export namespace JSX { ondurationchange?: EventHandlerUnion | undefined; onemptied?: EventHandlerUnion | undefined; onended?: EventHandlerUnion | undefined; - onerror?: EventHandlerUnion | undefined; + onerror?: EventHandlerUnion | undefined; onfocus?: FocusEventHandlerUnion | undefined; ongotpointercapture?: EventHandlerUnion | undefined; oninput?: InputEventHandlerUnion | undefined; @@ -387,7 +387,7 @@ export namespace JSX { onwheel?: EventHandlerUnion | undefined; } interface CustomEventHandlersNamespaced { - "on:abort"?: EventHandlerWithOptionsUnion | undefined; + "on:abort"?: EventHandlerWithOptionsUnion | undefined; "on:animationend"?: EventHandlerWithOptionsUnion | undefined; "on:animationiteration"?: EventHandlerWithOptionsUnion | undefined; "on:animationstart"?: EventHandlerWithOptionsUnion | undefined; @@ -415,7 +415,7 @@ export namespace JSX { "on:durationchange"?: EventHandlerWithOptionsUnion | undefined; "on:emptied"?: EventHandlerWithOptionsUnion | undefined; "on:ended"?: EventHandlerWithOptionsUnion | undefined; - "on:error"?: EventHandlerWithOptionsUnion | undefined; + "on:error"?: EventHandlerWithOptionsUnion | undefined; "on:focus"?: | EventHandlerWithOptionsUnion> | undefined; @@ -1054,8 +1054,8 @@ export namespace JSX { interface DetailsHtmlAttributes extends HTMLAttributes { name?: string | undefined; open?: boolean | undefined; - onToggle?: EventHandlerUnion | undefined; - ontoggle?: EventHandlerUnion | undefined; + onToggle?: EventHandlerUnion | undefined; + ontoggle?: EventHandlerUnion | undefined; } interface DialogHtmlAttributes extends HTMLAttributes { open?: boolean | undefined; From cd1fcbe190707d0581e8c0522d44622b77ae49be Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 3 Nov 2024 10:13:56 -0300 Subject: [PATCH 10/27] improvements --- packages/dom-expressions/src/jsx.d.ts | 53 ++++++++++++++++++++++----- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 65bec93c..45fc314c 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -971,14 +971,14 @@ export namespace JSX { tabIndex?: number | string | undefined; } interface AnchorHTMLAttributes extends HTMLAttributes { - download?: any | undefined; + download?: string | undefined; href?: string | undefined; hreflang?: string | undefined; media?: string | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; - target?: string | undefined; + target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; type?: string | undefined; /** @deprecated Use lowercase attributes */ @@ -988,21 +988,21 @@ export namespace JSX { interface AreaHTMLAttributes extends HTMLAttributes { alt?: string | undefined; coords?: string | undefined; - download?: any | undefined; + download?: string | undefined; href?: string | undefined; hreflang?: string | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; shape?: "rect" | "circle" | "poly" | "default" | undefined; - target?: string | undefined; + target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; } interface BaseHTMLAttributes extends HTMLAttributes { href?: string | undefined; - target?: string | undefined; + target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; } interface BlockquoteHTMLAttributes extends HTMLAttributes { cite?: string | undefined; @@ -1082,7 +1082,7 @@ export namespace JSX { method?: HTMLFormMethod | undefined; name?: string | undefined; novalidate?: boolean | undefined; - target?: string | undefined; + target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; /** @deprecated Use lowercase attributes */ noValidate?: boolean | undefined; @@ -1135,7 +1135,7 @@ export namespace JSX { autocomplete?: string | undefined; autocorrect?: "on" | "off" | undefined; autofocus?: boolean | undefined; - capture?: boolean | string | undefined; + capture?: "user" | "environment" | undefined; checked?: boolean | undefined; crossorigin?: HTMLCrossorigin | undefined; disabled?: boolean | undefined; @@ -1163,7 +1163,30 @@ export namespace JSX { size?: number | string | undefined; src?: string | undefined; step?: number | string | undefined; - type?: string | undefined; + type?: + | "button" + | "checkbox" + | "color" + | "date" + | "datetime-local" + | "email" + | "file" + | "hidden" + | "image" + | "month" + | "number" + | "password" + | "radio" + | "range" + | "reset" + | "search" + | "submit" + | "tel" + | "text" + | "time" + | "url" + | "week" + | undefined; value?: string | string[] | number | undefined; width?: number | string | undefined; @@ -1424,7 +1447,19 @@ export namespace JSX { } interface TrackHTMLAttributes extends HTMLAttributes { default?: boolean | undefined; - kind?: "subtitles" | "captions" | "descriptions" | "chapters" | "metadata" | undefined; + kind?: // MDN + | "alternative" + | "descriptions" + | "main" + | "main-desc" + | "translation" + | "commentary" + // ?? + | "subtitles" + | "captions" + | "chapters" + | "metadata" + | undefined; label?: string | undefined; src?: string | undefined; srclang?: string | undefined; From 6820b45324ffa87cce8ab79f2f42b29214cafc18 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 3 Nov 2024 10:38:59 -0300 Subject: [PATCH 11/27] follow suit and use `undefined` for MathML attributes --- packages/dom-expressions/src/jsx.d.ts | 149 +++++++++++++------------- 1 file changed, 75 insertions(+), 74 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 45fc314c..c90ed0bd 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -2350,56 +2350,56 @@ export namespace JSX { /** MathML typings come mostly from Preact */ interface MathMLAttributes extends HTMLAttributes { - displaystyle?: boolean; + displaystyle?: boolean | undefined; /** * @deprecated This feature is non-standard. See * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href */ - href?: string; + href?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground */ - mathbackground?: string; + mathbackground?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor */ - mathcolor?: string; + mathcolor?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize */ - mathsize?: string; - nonce?: string; - scriptlevel?: string; + mathsize?: string | undefined; + nonce?: string | undefined; + scriptlevel?: string | undefined; } interface MathMLAnnotationElementAttributes extends MathMLAttributes { - encoding?: string; + encoding?: string | undefined; } interface MathMLAnnotationXmlElementAttributes extends MathMLAttributes { - encoding?: string; + encoding?: string | undefined; } interface MathMLMactionElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype */ - actiontype?: "statusline" | "toggle"; + actiontype?: "statusline" | "toggle" | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ - selection?: string; + selection?: string | undefined; } interface MathMLMathElementAttributes extends MathMLAttributes { - display?: "block" | "inline"; + display?: "block" | "inline" | undefined; } interface MathMLMerrorElementAttributes extends MathMLAttributes {} interface MathMLMfracElementAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ - denomalign?: "center" | "left" | "right"; - linethickness?: string; + denomalign?: "center" | "left" | "right" | undefined; + linethickness?: string | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ - numalign?: "center" | "left" | "right"; + numalign?: "center" | "left" | "right" | undefined; } interface MathMLMiElementAttributes extends MathMLAttributes { /** @@ -2424,7 +2424,8 @@ export namespace JSX { | "initial" | "tailed" | "looped" - | "stretched"; + | "stretched" + | undefined; } interface MathMLMmultiscriptsElementAttributes extends MathMLAttributes { @@ -2432,12 +2433,12 @@ export namespace JSX { * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift */ - subscriptshift?: string; + subscriptshift?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift */ - superscriptshift?: string; + superscriptshift?: string | undefined; } interface MathMLMnElementAttributes extends MathMLAttributes {} interface MathMLMoElementAttributes extends MathMLAttributes { @@ -2445,27 +2446,27 @@ export namespace JSX { * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent */ - accent?: boolean; - fence?: boolean; - largeop?: boolean; - lspace?: string; - maxsize?: string; - minsize?: string; - movablelimits?: boolean; - rspace?: string; - separator?: boolean; - stretchy?: boolean; - symmetric?: boolean; + accent?: boolean | undefined; + fence?: boolean | undefined; + largeop?: boolean | undefined; + lspace?: string | undefined; + maxsize?: string | undefined; + minsize?: string | undefined; + movablelimits?: boolean | undefined; + rspace?: string | undefined; + separator?: boolean | undefined; + stretchy?: boolean | undefined; + symmetric?: boolean | undefined; } interface MathMLMoverElementAttributes extends MathMLAttributes { - accent?: boolean; + accent?: boolean | undefined; } interface MathMLMpaddedElementAttributes extends MathMLAttributes { - depth?: string; - height?: string; - lspace?: string; - voffset?: string; - width?: string; + depth?: string | undefined; + height?: string | undefined; + lspace?: string | undefined; + voffset?: string | undefined; + width?: string | undefined; } interface MathMLMphantomElementAttributes extends MathMLAttributes {} interface MathMLMprescriptsElementAttributes extends MathMLAttributes {} @@ -2476,132 +2477,132 @@ export namespace JSX { * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ - lquote?: string; + lquote?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ - rquote?: string; + rquote?: string | undefined; } interface MathMLMspaceElementAttributes extends MathMLAttributes { - depth?: string; - height?: string; - width?: string; + depth?: string | undefined; + height?: string | undefined; + width?: string | undefined; } interface MathMLMsqrtElementAttributes extends MathMLAttributes {} interface MathMLMstyleElementAttributes extends MathMLAttributes { /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ - background?: string; + background?: string | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ - color?: string; + color?: string | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */ - fontsize?: string; + fontsize?: string | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */ - fontstyle?: string; + fontstyle?: string | undefined; /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */ - fontweight?: string; + fontweight?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize */ - scriptminsize?: string; + scriptminsize?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier */ - scriptsizemultiplier?: string; + scriptsizemultiplier?: string | undefined; } interface MathMLMsubElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift */ - subscriptshift?: string; + subscriptshift?: string | undefined; } interface MathMLMsubsupElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift */ - subscriptshift?: string; + subscriptshift?: string | undefined; /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift */ - superscriptshift?: string; + superscriptshift?: string | undefined; } interface MathMLMsupElementAttributes extends MathMLAttributes { /** * @deprecated See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift */ - superscriptshift?: string; + superscriptshift?: string | undefined; } interface MathMLMtableElementAttributes extends MathMLAttributes { /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align */ - align?: "axis" | "baseline" | "bottom" | "center" | "top"; + align?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnalign */ - columnalign?: "center" | "left" | "right"; + columnalign?: "center" | "left" | "right" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnlines */ - columnlines?: "dashed" | "none" | "solid"; + columnlines?: "dashed" | "none" | "solid" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnspacing */ - columnspacing?: string; + columnspacing?: string | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#frame */ - frame?: "dashed" | "none" | "solid"; + frame?: "dashed" | "none" | "solid" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#framespacing */ - framespacing?: string; + framespacing?: string | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowalign */ - rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowlines */ - rowlines?: "dashed" | "none" | "solid"; + rowlines?: "dashed" | "none" | "solid" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowspacing */ - rowspacing?: string; + rowspacing?: string | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width */ - width?: string; + width?: string | undefined; } interface MathMLMtdElementAttributes extends MathMLAttributes { - columnspan?: number; - rowspan?: number; + columnspan?: number | undefined; + rowspan?: number | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#columnalign */ - columnalign?: "center" | "left" | "right"; + columnalign?: "center" | "left" | "right" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#rowalign */ - rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; } interface MathMLMtextElementAttributes extends MathMLAttributes {} interface MathMLMtrElementAttributes extends MathMLAttributes { @@ -2609,31 +2610,31 @@ export namespace JSX { * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign */ - columnalign?: "center" | "left" | "right"; + columnalign?: "center" | "left" | "right" | undefined; /** * Non-standard attribute See * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#rowalign */ - rowalign?: "axis" | "baseline" | "bottom" | "center" | "top"; + rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; } interface MathMLMunderElementAttributes extends MathMLAttributes { - accentunder?: boolean; + accentunder?: boolean | undefined; } interface MathMLMunderoverElementAttributes extends MathMLAttributes { - accent?: boolean; - accentunder?: boolean; + accent?: boolean | undefined; + accentunder?: boolean | undefined; } interface MathMLSemanticsElementAttributes extends MathMLAttributes {} /* MathMLDeprecatedElements */ interface MathMLMencloseElementAttributes extends MathMLAttributes { - notation?: string; + notation?: string | undefined; } interface MathMLMfencedElementAttributes extends MathMLAttributes { - close?: string; - open?: string; - separators?: string; + close?: string | undefined; + open?: string | undefined; + separators?: string | undefined; } /** @type {HTMLElementTagNameMap} */ From 8472295c0d0b12f09223e75f48195be07e6cdbe0 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 5 Nov 2024 10:12:52 -0300 Subject: [PATCH 12/27] add links to MDN --- packages/dom-expressions/src/jsx.d.ts | 844 +++++++++++++++++++++++++- 1 file changed, 841 insertions(+), 3 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index c90ed0bd..2b5779eb 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -2639,226 +2639,1064 @@ export namespace JSX { /** @type {HTMLElementTagNameMap} */ interface HTMLElementTags { + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement + */ a: AnchorHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ abbr: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ address: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAreaElement + */ area: AreaHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/article + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ article: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ aside: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement + */ audio: AudioHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ b: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBaseElement + */ base: BaseHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ bdi: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ bdo: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement + */ blockquote: BlockquoteHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBodyElement + */ body: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLBRElement + */ br: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement + */ button: ButtonHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement + */ canvas: CanvasHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCaptionElement + */ caption: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ cite: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ code: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement + */ col: ColHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableColElement + */ colgroup: ColgroupHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/data + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataElement + */ data: DataHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDataListElement + */ datalist: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ dd: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement + */ del: ModHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement + */ details: DetailsHtmlAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ dfn: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement + */ dialog: DialogHtmlAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDivElement + */ div: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLDListElement + */ dl: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ dt: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ em: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLEmbedElement + */ embed: EmbedHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFieldSetElement + */ fieldset: FieldsetHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ figcaption: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ figure: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ footer: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement + */ form: FormHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h1: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h2: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h3: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h4: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h5: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6 + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadingElement + */ h6: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHeadElement + */ head: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ header: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hgroup + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ hgroup: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHRElement + */ hr: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/html + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLHtmlElement + */ html: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ i: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement + */ iframe: IframeHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement + */ img: ImgHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement + */ input: InputHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLModElement + */ ins: ModHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ kbd: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLabelElement + */ label: LabelHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLegendElement + */ legend: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLIElement + */ li: LiHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement + */ link: LinkHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ main: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/map + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMapElement + */ map: MapHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ mark: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMenuElement + */ menu: MenuHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMetaElement + */ meta: MetaHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLMeterElement + */ meter: MeterHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ nav: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/noscript + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ noscript: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement + */ object: ObjectHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOListElement + */ ol: OlHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement + */ optgroup: OptgroupHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement + */ option: OptionHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLOutputElement + */ output: OutputHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParagraphElement + */ p: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPictureElement + */ picture: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLPreElement + */ pre: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLProgressElement + */ progress: ProgressHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLQuoteElement + */ q: QuoteHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ rp: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ rt: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ ruby: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ s: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ samp: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement + */ script: ScriptHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ search: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/section + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ section: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement + */ select: SelectHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSlotElement + */ slot: HTMLSlotElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ small: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSourceElement + */ source: SourceHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLSpanElement + */ span: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ strong: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLStyleElement + */ style: StyleHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ sub: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ summary: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ sup: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement + */ table: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement + */ tbody: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement + */ td: TdHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement + */ template: TemplateHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement + */ textarea: TextareaHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement + */ tfoot: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement + */ th: ThHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableSectionElement + */ thead: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement + */ time: TimeHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTitleElement + */ title: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableRowElement + */ tr: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLTrackElement + */ track: TrackHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ u: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUListElement + */ ul: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ var: HTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement + */ video: VideoHTMLAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ wbr: HTMLAttributes; + /** @url https://www.electronjs.org/docs/latest/api/webview-tag */ webview: WebViewHTMLAttributes; } /** @type {HTMLElementDeprecatedTagNameMap} */ interface HTMLElementDeprecatedTags { + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/big + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + */ big: HTMLAttributes; + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement + */ keygen: KeygenHTMLAttributes; + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement + */ menuitem: HTMLAttributes; + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/xxxxx + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement + */ noindex: HTMLAttributes; + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param + * @url https://developer.mozilla.org/en-US/docs/Web/API/HTMLParamElement + */ param: ParamHTMLAttributes; } /** @type {SVGElementTagNameMap} */ interface SVGElementTags { + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animate + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateElement + */ animate: AnimateSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateMotionElement + */ animateMotion: AnimateMotionSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateTransform + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimateTransformElement + */ animateTransform: AnimateTransformSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGCircleElement + */ circle: CircleSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGClipPathElement + */ clipPath: ClipPathSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defs + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDefsElement + */ defs: DefsSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/desc + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGDescElement + */ desc: DescSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGEllipseElement + */ ellipse: EllipseSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEBlendElement + */ feBlend: FeBlendSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEColorMatrixElement + */ feColorMatrix: FeColorMatrixSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfer + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEComponentTransferElemen + */ feComponentTransfer: FeComponentTransferSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComposite + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFECompositeElement + */ feComposite: FeCompositeSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrix + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEConvolveMatrixElement + */ feConvolveMatrix: FeConvolveMatrixSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLighting + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDiffuseLightingElement + */ feDiffuseLighting: FeDiffuseLightingSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMap + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDisplacementMapElement + */ feDisplacementMap: FeDisplacementMapSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDistantLightElement + */ feDistantLight: FeDistantLightSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDropShadow + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEDropShadowElement + */ feDropShadow: FeDropShadowSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFlood + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFloodElement + */ feFlood: FeFloodSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncA + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncAElement + */ feFuncA: FeFuncSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncB + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncBElement + */ feFuncB: FeFuncSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncG + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncGElement + */ feFuncG: FeFuncSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncR + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEFuncRElement + */ feFuncR: FeFuncSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlur + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEGaussianBlurElement + */ feGaussianBlur: FeGaussianBlurSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImage + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEImageElement + */ feImage: FeImageSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeElement + */ feMerge: FeMergeSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMergeNodeElement + */ feMergeNode: FeMergeNodeSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorphology + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEMorphologyElement + */ feMorphology: FeMorphologySVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEOffsetElement + */ feOffset: FeOffsetSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFEPointLightElement + */ fePointLight: FePointLightSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpecularLightingElement + */ feSpecularLighting: FeSpecularLightingSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement + */ feSpotLight: FeSpotLightSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETileElement + */ feTile: FeTileSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement + */ feTurbulence: FeTurbulanceSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGFilterElement + */ filter: FilterSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGForeignObjectElement + */ foreignObject: ForeignObjectSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/g + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGGElement + */ g: GSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGImageElement + */ image: ImageSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLineElement + */ line: LineSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGLinearGradientElement + */ linearGradient: LinearGradientSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMarkerElement + */ marker: MarkerSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMaskElement + */ mask: MaskSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadata + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMetadataElement + */ metadata: MetadataSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpath + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGMPathElement + */ mpath: MPathSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/path + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPathElement + */ path: PathSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pattern + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement + */ pattern: PatternSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygon + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolygonElement + */ polygon: PolygonSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polyline + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGPolylineElement + */ polyline: PolylineSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRadialGradientElement + */ radialGradient: RadialGradientSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rect + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement + */ rect: RectSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/set + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSetElement + */ set: SetSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGStopElement + */ stop: StopSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/svg + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement + */ svg: SvgSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switch + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSwitchElement + */ switch: SwitchSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbol + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGSymbolElement + */ symbol: SymbolSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextElement + */ text: TextSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTextPathElement + */ textPath: TextPathSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspan + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGTSpanElement + */ tspan: TSpanSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGUseElement + */ use: UseSVGAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/SVG/Element/view + * @url https://developer.mozilla.org/en-US/docs/Web/API/SVGViewElement + */ view: ViewSVGAttributes; } interface MathMLElementTags { + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ annotation: MathMLAnnotationElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/annotation-xml + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ "annotation-xml": MathMLAnnotationXmlElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/math + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ math: MathMLMathElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/merror + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ merror: MathMLMerrorElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mfrac: MathMLMfracElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mi: MathMLMiElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mmultiscripts: MathMLMmultiscriptsElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mn + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mn: MathMLMnElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mo: MathMLMoElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mover + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mover: MathMLMoverElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mpadded + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mpadded: MathMLMpaddedElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mphantom + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mphantom: MathMLMphantomElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mprescripts + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mprescripts: MathMLMprescriptsElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mroot + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mroot: MathMLMrootElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mrow + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mrow: MathMLMrowElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ ms: MathMLMsElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mspace + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mspace: MathMLMspaceElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msqrt + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ msqrt: MathMLMsqrtElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mstyle: MathMLMstyleElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ msub: MathMLMsubElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ msubsup: MathMLMsubsupElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ msup: MathMLMsupElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mtable: MathMLMtableElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mtd: MathMLMtdElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtext + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mtext: MathMLMtextElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mtr: MathMLMtrElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munder + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ munder: MathMLMunderElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/munderover + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ munderover: MathMLMunderoverElementAttributes; + /** + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ semantics: MathMLSemanticsElementAttributes; - /** @deprecated */ + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ maction: MathMLMactionElementAttributes; - /** @deprecated */ + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ menclose: MathMLMencloseElementAttributes; - /** @deprecated */ + /** + * @deprecated + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced + * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement + */ mfenced: MathMLMfencedElementAttributes; } From f65c4d472ed64f55c21c00d91b81dfa373ec3d19 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 5 Nov 2024 10:13:50 -0300 Subject: [PATCH 13/27] update MathML typings --- packages/dom-expressions/src/jsx.d.ts | 207 +++++++------------------- 1 file changed, 51 insertions(+), 156 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 2b5779eb..b6b6391a 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -2347,29 +2347,15 @@ export namespace JSX { viewTarget?: string | undefined; } - /** MathML typings come mostly from Preact */ - interface MathMLAttributes extends HTMLAttributes { displaystyle?: boolean | undefined; - /** - * @deprecated This feature is non-standard. See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href - */ + /** @deprecated */ href?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground - */ + /** @deprecated */ mathbackground?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor - */ + /** @deprecated */ mathcolor?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize - */ + /** @deprecated */ mathsize?: string | undefined; nonce?: string | undefined; scriptlevel?: string | undefined; @@ -2377,17 +2363,20 @@ export namespace JSX { interface MathMLAnnotationElementAttributes extends MathMLAttributes { encoding?: string | undefined; + + /** @deprecated */ + src?: string | undefined; } interface MathMLAnnotationXmlElementAttributes extends MathMLAttributes { encoding?: string | undefined; + + /** @deprecated */ + src?: string | undefined; } interface MathMLMactionElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype - */ + /** @deprecated */ actiontype?: "statusline" | "toggle" | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ + /** @deprecated */ selection?: string | undefined; } interface MathMLMathElementAttributes extends MathMLAttributes { @@ -2395,59 +2384,27 @@ export namespace JSX { } interface MathMLMerrorElementAttributes extends MathMLAttributes {} interface MathMLMfracElementAttributes extends MathMLAttributes { - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ - denomalign?: "center" | "left" | "right" | undefined; linethickness?: string | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ + + /** @deprecated */ + denomalign?: "center" | "left" | "right" | undefined; + /** @deprecated */ numalign?: "center" | "left" | "right" | undefined; } interface MathMLMiElementAttributes extends MathMLAttributes { - /** - * The only value allowed in the current specification is normal (case insensitive) See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mi#mathvariant - */ - mathvariant?: - | "normal" - | "bold" - | "italic" - | "bold-italic" - | "double-struck" - | "bold-fraktur" - | "script" - | "bold-script" - | "fraktur" - | "sans-serif" - | "bold-sans-serif" - | "sans-serif-italic" - | "sans-serif-bold-italic" - | "monospace" - | "initial" - | "tailed" - | "looped" - | "stretched" - | undefined; + mathvariant?: "normal" | undefined; } interface MathMLMmultiscriptsElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift - */ + /** @deprecated */ subscriptshift?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift - */ + /** @deprecated */ superscriptshift?: string | undefined; } interface MathMLMnElementAttributes extends MathMLAttributes {} interface MathMLMoElementAttributes extends MathMLAttributes { - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent - */ - accent?: boolean | undefined; fence?: boolean | undefined; + form?: "prefix" | "infix" | "postfix" | undefined; largeop?: boolean | undefined; lspace?: string | undefined; maxsize?: string | undefined; @@ -2457,6 +2414,9 @@ export namespace JSX { separator?: boolean | undefined; stretchy?: boolean | undefined; symmetric?: boolean | undefined; + + /** @non-standard */ + accent?: boolean | undefined; } interface MathMLMoverElementAttributes extends MathMLAttributes { accent?: boolean | undefined; @@ -2473,15 +2433,9 @@ export namespace JSX { interface MathMLMrootElementAttributes extends MathMLAttributes {} interface MathMLMrowElementAttributes extends MathMLAttributes {} interface MathMLMsElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility - */ + /** @deprecated */ lquote?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility - */ + /** @deprecated */ rquote?: string | undefined; } interface MathMLMspaceElementAttributes extends MathMLAttributes { @@ -2491,130 +2445,70 @@ export namespace JSX { } interface MathMLMsqrtElementAttributes extends MathMLAttributes {} interface MathMLMstyleElementAttributes extends MathMLAttributes { - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ + /** @deprecated */ background?: string | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ + /** @deprecated */ color?: string | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */ + /** @deprecated */ fontsize?: string | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */ + /** @deprecated */ fontstyle?: string | undefined; - /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */ + /** @deprecated */ fontweight?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize - */ + /** @deprecated */ scriptminsize?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier - */ + /** @deprecated */ scriptsizemultiplier?: string | undefined; } interface MathMLMsubElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift - */ + /** @deprecated */ subscriptshift?: string | undefined; } interface MathMLMsubsupElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift - */ + /** @deprecated */ subscriptshift?: string | undefined; - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift - */ + /** @deprecated */ superscriptshift?: string | undefined; } interface MathMLMsupElementAttributes extends MathMLAttributes { - /** - * @deprecated See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift - */ + /** @deprecated */ superscriptshift?: string | undefined; } interface MathMLMtableElementAttributes extends MathMLAttributes { - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align - */ + /** @non-standard */ align?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnalign - */ + /** @non-standard */ columnalign?: "center" | "left" | "right" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnlines - */ + /** @non-standard */ columnlines?: "dashed" | "none" | "solid" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnspacing - */ + /** @non-standard */ columnspacing?: string | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#frame - */ + /** @non-standard */ frame?: "dashed" | "none" | "solid" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#framespacing - */ + /** @non-standard */ framespacing?: string | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowalign - */ + /** @non-standard */ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowlines - */ + /** @non-standard */ rowlines?: "dashed" | "none" | "solid" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowspacing - */ + /** @non-standard */ rowspacing?: string | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width - */ + /** @non-standard */ width?: string | undefined; } interface MathMLMtdElementAttributes extends MathMLAttributes { columnspan?: number | undefined; rowspan?: number | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#columnalign - */ + /** @non-standard */ columnalign?: "center" | "left" | "right" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#rowalign - */ + /** @non-standard */ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; } interface MathMLMtextElementAttributes extends MathMLAttributes {} interface MathMLMtrElementAttributes extends MathMLAttributes { - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign - */ + /** @non-standard */ columnalign?: "center" | "left" | "right" | undefined; - /** - * Non-standard attribute See - * https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#rowalign - */ + /** @non-standard */ rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; } interface MathMLMunderElementAttributes extends MathMLAttributes { @@ -2629,6 +2523,7 @@ export namespace JSX { /* MathMLDeprecatedElements */ interface MathMLMencloseElementAttributes extends MathMLAttributes { + /** @non-standard */ notation?: string | undefined; } interface MathMLMfencedElementAttributes extends MathMLAttributes { From 1e75431671339a102c68444948ee23afea8dc86d Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 5 Nov 2024 10:16:35 -0300 Subject: [PATCH 14/27] add some missing fields, remove invalid fields, add obsolete fields (so we dont have to check why is not there, we will know it has been deprecated) --- packages/dom-expressions/src/jsx.d.ts | 397 ++++++++++++++++++++++++-- 1 file changed, 377 insertions(+), 20 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index b6b6391a..ac80d3fc 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -5,6 +5,15 @@ import * as csstype from "csstype"; * * https://github.com/adamhaile/surplus/blob/master/index.d.ts * https://github.com/infernojs/inferno/blob/master/packages/inferno/src/core/types.ts + * + * MathML typings coming mostly from Preact + * https://github.com/preactjs/preact/blob/07dc9f324e58569ce66634aa03fe8949b4190358/src/jsx.d.ts#L2575 + * + * Checked against other frameworks via the following table: + * https://github.com/potahtml/namespace-jsx-project/blob/master/jsx/readme.md + * + * Note: Typings must include attributes and not properties (unless the property is special-cased, + * such textContent, event handlers, etc). */ type DOMElement = Element; @@ -926,14 +935,14 @@ export namespace JSX { part?: string | undefined; exportparts?: string | undefined; inputmode?: - | "none" - | "text" - | "tel" - | "url" + | "decimal" | "email" + | "none" | "numeric" - | "decimal" | "search" + | "tel" + | "text" + | "url" | undefined; /** @deprecated Use lowercase attributes */ @@ -974,15 +983,28 @@ export namespace JSX { download?: string | undefined; href?: string | undefined; hreflang?: string | undefined; - media?: string | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; type?: string | undefined; + /** @experimental */ + attributionsrc?: string | undefined; + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @deprecated */ + charset?: string | undefined; + /** @deprecated */ + coords?: string | undefined; + /** @deprecated */ + name?: string | undefined; + /** @deprecated */ + rev?: string | undefined; + /** @deprecated */ + shape?: "rect" | "circle" | "poly" | "default" | undefined; } interface AudioHTMLAttributes extends MediaHTMLAttributes {} interface AreaHTMLAttributes extends HTMLAttributes { @@ -990,7 +1012,6 @@ export namespace JSX { coords?: string | undefined; download?: string | undefined; href?: string | undefined; - hreflang?: string | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; @@ -1009,17 +1030,26 @@ export namespace JSX { } interface ButtonHTMLAttributes extends HTMLAttributes { autofocus?: boolean | undefined; + command?: + | "show-modal" + | "close" + | "show-popover" + | "hide-popover" + | "toggle-popover" + | (string & {}) + | undefined; + commandfor?: string | undefined; disabled?: boolean | undefined; form?: string | undefined; formaction?: string | SerializableAttributeValue | undefined; formenctype?: HTMLFormEncType | undefined; formmethod?: HTMLFormMethod | undefined; formnovalidate?: boolean | undefined; - formtarget?: string | undefined; + formtarget?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; popovertarget?: string | undefined; popovertargetaction?: "hide" | "show" | "toggle" | undefined; name?: string | undefined; - type?: "submit" | "reset" | "button" | undefined; + type?: "submit" | "reset" | "button" | "menu" | undefined; value?: string | undefined; /** @deprecated Use lowercase attributes */ @@ -1043,6 +1073,18 @@ export namespace JSX { } interface ColHTMLAttributes extends HTMLAttributes { span?: number | string | undefined; + + /** @deprecated */ + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + /** @deprecated */ + bgcolor?: string | undefined; + /** @deprecated */ + char?: string | undefined; + /** @deprecated */ + charoff?: string | undefined; + /** @deprecated */ + valign?: "baseline" | "bottom" | "middle" | "top" | undefined; + /** @deprecated */ width?: number | string | undefined; } interface ColgroupHTMLAttributes extends HTMLAttributes { @@ -1061,12 +1103,18 @@ export namespace JSX { open?: boolean | undefined; onClose?: EventHandlerUnion | undefined; onCancel?: EventHandlerUnion | undefined; + tabindex?: never | undefined; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string | undefined; src?: string | undefined; type?: string | undefined; width?: number | string | undefined; + + /** @deprecated */ + align?: "left" | "right" | "justify" | "center" | undefined; + /** @deprecated */ + name?: string | undefined; } interface FieldsetHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined; @@ -1076,16 +1124,20 @@ export namespace JSX { interface FormHTMLAttributes extends HTMLAttributes { "accept-charset"?: string | undefined; action?: string | SerializableAttributeValue | undefined; - autocomplete?: string | undefined; + autocomplete?: "on" | "off" | undefined; encoding?: HTMLFormEncType | undefined; enctype?: HTMLFormEncType | undefined; method?: HTMLFormMethod | undefined; name?: string | undefined; novalidate?: boolean | undefined; + rel?: string | undefined; target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; /** @deprecated Use lowercase attributes */ noValidate?: boolean | undefined; + + /** @deprecated */ + accept?: string | undefined; } interface IframeHTMLAttributes extends HTMLAttributes { allow?: string | undefined; @@ -1099,11 +1151,39 @@ export namespace JSX { srcdoc?: string | undefined; width?: number | string | undefined; + /** @experimental */ + browsingtopics?: boolean | undefined; + /** @experimental */ + credentialless?: boolean | undefined; + /** @experimental */ + csp?: string | undefined; + /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @deprecated */ + allowpaymentrequest?: boolean | undefined; + /** @deprecated */ + allowtransparency?: boolean | undefined; + /** @deprecated */ + align?: string | undefined; + /** @deprecated */ + frameborder?: string | undefined; + /** @deprecated */ + longdesc?: string | undefined; + /** @deprecated */ + marginheight?: string | undefined; + /** @deprecated */ + marginwidth?: string | undefined; + /** @deprecated */ + scrolling?: "yes" | "no" | "auto" | undefined; + + /** @deprecated */ + seamless?: boolean | undefined; } interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined; + attributionsrc?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; @@ -1128,16 +1208,94 @@ export namespace JSX { srcSet?: string | undefined; /** @deprecated Use lowercase attributes */ useMap?: string | undefined; + + /** @deprecated */ + align?: "top" | "middle" | "bottom" | "left" | "right" | undefined; + /** @deprecated */ + border?: string | undefined; + /** @deprecated */ + hspace?: number | undefined; + /** @deprecated */ + longdesc?: string | undefined; + /** @deprecated */ + name?: string | undefined; + /** @deprecated */ + vspace?: number | undefined; } interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined; alt?: string | undefined; - autocomplete?: string | undefined; + autocomplete?: + | "additional-name" + | "address-level1" + | "address-level2" + | "address-level3" + | "address-level4" + | "address-line1" + | "address-line2" + | "address-line3" + | "bday" + | "bday-day" + | "bday-month" + | "bday-year" + | "billing" + | "cc-additional-name" + | "cc-csc" + | "cc-exp" + | "cc-exp-month" + | "cc-exp-year" + | "cc-family-name" + | "cc-given-name" + | "cc-name" + | "cc-number" + | "cc-type" + | "country" + | "country-name" + | "current-password" + | "email" + | "family-name" + | "fax" + | "given-name" + | "home" + | "honorific-prefix" + | "honorific-suffix" + | "impp" + | "language" + | "mobile" + | "name" + | "new-password" + | "nickname" + | "off" + | "on" + | "organization" + | "organization-title" + | "pager" + | "photo" + | "postal-code" + | "sex" + | "shipping" + | "street-address" + | "tel" + | "tel-area-code" + | "tel-country-code" + | "tel-extension" + | "tel-local" + | "tel-local-prefix" + | "tel-local-suffix" + | "tel-national" + | "transaction-amount" + | "transaction-currency" + | "url" + | "username" + | "work" + | (string & {}) + | undefined; autocorrect?: "on" | "off" | undefined; autofocus?: boolean | undefined; capture?: "user" | "environment" | undefined; checked?: boolean | undefined; crossorigin?: HTMLCrossorigin | undefined; + dirname?: string | undefined; disabled?: boolean | undefined; enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; form?: string | undefined; @@ -1157,8 +1315,9 @@ export namespace JSX { name?: string | undefined; pattern?: string | undefined; placeholder?: string | undefined; + popovertarget?: string | undefined; + popovertargetaction?: "hide" | "show" | "toggle" | undefined; readonly?: boolean | undefined; - results?: number | undefined; required?: boolean | undefined; size?: number | string | undefined; src?: string | undefined; @@ -1208,6 +1367,11 @@ export namespace JSX { minLength?: number | string | undefined; /** @deprecated Use lowercase attributes */ readOnly?: boolean | undefined; + + /** @deprecated */ + align?: string | undefined; + /** @deprecated */ + usemap?: string | undefined; } interface ModHTMLAttributes extends HTMLAttributes { cite?: string | undefined; @@ -1217,12 +1381,19 @@ export namespace JSX { dateTime?: string | undefined; } interface KeygenHTMLAttributes extends HTMLAttributes { + /** @deprecated */ autofocus?: boolean | undefined; + /** @deprecated */ challenge?: string | undefined; + /** @deprecated */ disabled?: boolean | undefined; + /** @deprecated */ form?: string | undefined; - keytype?: string | undefined; + /** @deprecated */ keyparams?: string | undefined; + /** @deprecated */ + keytype?: string | undefined; + /** @deprecated */ name?: string | undefined; } interface LabelHTMLAttributes extends HTMLAttributes { @@ -1231,6 +1402,9 @@ export namespace JSX { } interface LiHTMLAttributes extends HTMLAttributes { value?: number | string | undefined; + + /** @deprecated */ + type?: "1" | "a" | "A" | "i" | "I" | undefined; } interface LinkHTMLAttributes extends HTMLAttributes { as?: HTMLLinkAs | undefined; @@ -1248,10 +1422,20 @@ export namespace JSX { sizes?: string | undefined; type?: string | undefined; + /** @experimental */ + blocking?: "render" | undefined; + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @deprecated */ + charset?: string | undefined; + /** @deprecated */ + rev?: string | undefined; + /** @deprecated */ + target?: string | undefined; } interface MapHTMLAttributes extends HTMLAttributes { name?: string | undefined; @@ -1262,7 +1446,6 @@ export namespace JSX { controlslist?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; loop?: boolean | undefined; - mediagroup?: string | undefined; muted?: boolean | undefined; preload?: "none" | "metadata" | "auto" | "" | undefined; src?: string | undefined; @@ -1271,17 +1454,32 @@ export namespace JSX { crossOrigin?: HTMLCrossorigin | undefined; /** @deprecated Use lowercase attributes */ mediaGroup?: string | undefined; + /** @deprecated */ + mediagroup?: string | undefined; } interface MenuHTMLAttributes extends HTMLAttributes { + /** @deprecated */ + compact?: boolean | undefined; + /** @deprecated */ label?: string | undefined; + /** @deprecated */ type?: "context" | "toolbar" | undefined; } interface MetaHTMLAttributes extends HTMLAttributes { charset?: string | undefined; content?: string | undefined; - "http-equiv"?: string | undefined; + "http-equiv"?: + | "content-security-policy" + | "content-type" + | "default-style" + | "x-ua-compatible" + | "refresh" + | undefined; name?: string | undefined; media?: string | undefined; + + /** @deprecated */ + scheme?: string | undefined; } interface MeterHTMLAttributes extends HTMLAttributes { form?: string | undefined; @@ -1301,16 +1499,45 @@ export namespace JSX { height?: number | string | undefined; name?: string | undefined; type?: string | undefined; - usemap?: string | undefined; width?: number | string | undefined; /** @deprecated Use lowercase attributes */ useMap?: string | undefined; + + /** @deprecated */ + align?: string | undefined; + /** @deprecated */ + archive?: string | undefined; + /** @deprecated */ + border?: string | undefined; + /** @deprecated */ + classid?: string | undefined; + /** @deprecated */ + code?: string | undefined; + /** @deprecated */ + codebase?: string | undefined; + /** @deprecated */ + codetype?: string | undefined; + /** @deprecated */ + declare?: string | undefined; + /** @deprecated */ + hspace?: string | undefined; + /** @deprecated */ + standby?: string | undefined; + /** @deprecated */ + usemap?: string | undefined; + /** @deprecated */ + vspace?: string | undefined; + /** @deprecated */ + typemustmatch?: boolean | undefined; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: boolean | undefined; start?: number | string | undefined; type?: "1" | "a" | "A" | "i" | "I" | undefined; + + /** @deprecated */ + compact?: boolean | undefined; } interface OptgroupHTMLAttributes extends HTMLAttributes { disabled?: boolean | undefined; @@ -1328,8 +1555,14 @@ export namespace JSX { name?: string | undefined; } interface ParamHTMLAttributes extends HTMLAttributes { + /** @deprecated */ name?: string | undefined; - value?: string | string[] | number | undefined; + /** @deprecated */ + value?: string | number | undefined; + /** @deprecated */ + type?: string | undefined; + /** @deprecated */ + valuetype?: "data" | "ref" | "object" | undefined; } interface ProgressHTMLAttributes extends HTMLAttributes { max?: number | string | undefined; @@ -1337,15 +1570,20 @@ export namespace JSX { } interface ScriptHTMLAttributes extends HTMLAttributes { async?: boolean | undefined; - charset?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; defer?: boolean | undefined; + fetchpriority?: "high" | "low" | "auto" | undefined; integrity?: string | undefined; nomodule?: boolean | undefined; nonce?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; src?: string | undefined; - type?: string | undefined; + type?: "importmap" | "module" | "speculationrules" | (string & {}) | undefined; + + /** @experimental */ + attributionsrc?: string | undefined; + /** @experimental */ + blocking?: boolean | undefined; /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; @@ -1353,6 +1591,13 @@ export namespace JSX { noModule?: boolean | undefined; /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @deprecated */ + charset?: string | undefined; + /** @deprecated */ + event?: string | undefined; + /** @deprecated */ + language?: string | undefined; } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined; @@ -1380,7 +1625,12 @@ export namespace JSX { interface StyleHTMLAttributes extends HTMLAttributes { media?: string | undefined; nonce?: string | undefined; + + /** @experimental */ + blocking?: boolean | undefined; + /** @deprecated */ scoped?: boolean | undefined; + /** @deprecated */ type?: string | undefined; } interface TdHTMLAttributes extends HTMLAttributes { @@ -1392,6 +1642,29 @@ export namespace JSX { colSpan?: number | string | undefined; /** @deprecated Use lowercase attributes */ rowSpan?: number | string | undefined; + + /** @deprecated */ + abbr?: string | undefined; + /** @deprecated */ + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + /** @deprecated */ + axis?: string | undefined; + /** @deprecated */ + bgcolor?: string | undefined; + /** @deprecated */ + char?: string | undefined; + /** @deprecated */ + charoff?: string | undefined; + /** @deprecated */ + height?: string | undefined; + /** @deprecated */ + nowrap?: boolean | undefined; + /** @deprecated */ + scope?: "col" | "row" | "rowgroup" | "colgroup" | undefined; + /** @deprecated */ + valign?: "baseline" | "bottom" | "middle" | "top" | undefined; + /** @deprecated */ + width?: number | string | undefined; } interface TemplateHTMLAttributes extends HTMLAttributes { shadowrootmode?: "open" | "closed" | undefined; @@ -1403,7 +1676,72 @@ export namespace JSX { content?: DocumentFragment | undefined; } interface TextareaHTMLAttributes extends HTMLAttributes { - autocomplete?: string | undefined; + autocomplete?: + | "additional-name" + | "address-level1" + | "address-level2" + | "address-level3" + | "address-level4" + | "address-line1" + | "address-line2" + | "address-line3" + | "bday" + | "bday-day" + | "bday-month" + | "bday-year" + | "billing" + | "cc-additional-name" + | "cc-csc" + | "cc-exp" + | "cc-exp-month" + | "cc-exp-year" + | "cc-family-name" + | "cc-given-name" + | "cc-name" + | "cc-number" + | "cc-type" + | "country" + | "country-name" + | "current-password" + | "email" + | "family-name" + | "fax" + | "given-name" + | "home" + | "honorific-prefix" + | "honorific-suffix" + | "impp" + | "language" + | "mobile" + | "name" + | "new-password" + | "nickname" + | "off" + | "on" + | "organization" + | "organization-title" + | "pager" + | "photo" + | "postal-code" + | "sex" + | "shipping" + | "street-address" + | "tel" + | "tel-area-code" + | "tel-country-code" + | "tel-extension" + | "tel-local" + | "tel-local-prefix" + | "tel-local-suffix" + | "tel-national" + | "transaction-amount" + | "transaction-currency" + | "url" + | "username" + | "work" + | (string & {}) + | undefined; + autocorrect?: "on" | "off" | undefined; autofocus?: boolean | undefined; cols?: number | string | undefined; dirname?: string | undefined; @@ -1438,6 +1776,25 @@ export namespace JSX { colSpan?: number | string | undefined; /** @deprecated Use lowercase attributes */ rowSpan?: number | string | undefined; + + /** @deprecated */ + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + /** @deprecated */ + axis?: string | undefined; + /** @deprecated */ + bgcolor?: string | undefined; + /** @deprecated */ + char?: string | undefined; + /** @deprecated */ + charoff?: string | undefined; + /** @deprecated */ + height?: string | undefined; + /** @deprecated */ + nowrap?: boolean | undefined; + /** @deprecated */ + valign?: "baseline" | "bottom" | "middle" | "top" | undefined; + /** @deprecated */ + width?: number | string | undefined; } interface TimeHTMLAttributes extends HTMLAttributes { datetime?: string | undefined; From 0307e920e446e591ab5d3e725b8b4fe66cb485e6 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Thu, 7 Nov 2024 17:20:34 -0300 Subject: [PATCH 15/27] add `results` back, as the page on which is described has been found --- packages/dom-expressions/src/jsx.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index ac80d3fc..61e74f69 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1319,6 +1319,8 @@ export namespace JSX { popovertargetaction?: "hide" | "show" | "toggle" | undefined; readonly?: boolean | undefined; required?: boolean | undefined; + // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#results + results?: number | undefined; size?: number | string | undefined; src?: string | undefined; step?: number | string | undefined; From 2fd47389eb82ac9325c9f0ded61b8c2172dc0f16 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 10 Nov 2024 00:05:26 -0300 Subject: [PATCH 16/27] update webview --- packages/dom-expressions/src/jsx.d.ts | 28 +++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 61e74f69..a709fd73 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1833,23 +1833,31 @@ export namespace JSX { } interface WebViewHTMLAttributes extends HTMLAttributes { - allowfullscreen?: boolean | undefined; - allowpopups?: boolean | undefined; - autofocus?: boolean | undefined; - autosize?: boolean | undefined; - blinkfeatures?: string | undefined; + allowpopups?: "true" | boolean | undefined; disableblinkfeatures?: string | undefined; - disableguestresize?: boolean | undefined; - disablewebsecurity?: boolean | undefined; - guestinstance?: string | undefined; + disablewebsecurity?: "true" | boolean | undefined; + enableblinkfeatures?: string | undefined; httpreferrer?: string | undefined; - nodeintegration?: boolean | undefined; + nodeintegration?: "true" | boolean | undefined; + nodeintegrationinsubframes?: "true" | boolean | undefined; partition?: string | undefined; - plugins?: boolean | undefined; + plugins?: "true" | boolean | undefined; preload?: string | undefined; src?: string | undefined; useragent?: string | undefined; webpreferences?: string | undefined; + + // does this exists? + allowfullscreen?: boolean | undefined; + autofocus?: boolean | undefined; + autosize?: boolean | undefined; + + /** @deprecated */ + disableguestresize?: "true" | boolean | undefined; + /** @deprecated */ + guestinstance?: string | undefined; + /** @deprecated */ + blinkfeatures?: string | undefined; } type SVGPreserveAspectRatio = From fd62f7de2fd200e19e9ec2946a31cd992a99a98f Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 10 Nov 2024 00:08:27 -0300 Subject: [PATCH 17/27] for `boolean` attributes the preferred form would be the string `"true"`. The string `"false"` should be a type error --- packages/dom-expressions/src/jsx.d.ts | 167 ++++++++++++++------------ 1 file changed, 87 insertions(+), 80 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index a709fd73..bfd015e7 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -901,16 +901,16 @@ export namespace JSX { // [key: ClassKeys]: boolean; accesskey?: string | undefined; class?: string | undefined; - contenteditable?: boolean | "plaintext-only" | "inherit" | undefined; + contenteditable?: "true" | "false" | boolean | "plaintext-only" | "inherit" | undefined; contextmenu?: string | undefined; dir?: HTMLDir | undefined; draggable?: boolean | "false" | "true" | undefined; hidden?: boolean | "hidden" | "until-found" | undefined; id?: string | undefined; is?: string | undefined; - inert?: boolean | undefined; + inert?: "true" | boolean | undefined; lang?: string | undefined; - spellcheck?: boolean | undefined; + spellcheck?: "true" | boolean | undefined; style?: CSSProperties | string | undefined; tabindex?: number | string | undefined; title?: string | undefined; @@ -928,7 +928,7 @@ export namespace JSX { slot?: string | undefined; color?: string | undefined; itemprop?: string | undefined; - itemscope?: boolean | undefined; + itemscope?: "true" | boolean | undefined; itemtype?: string | undefined; itemid?: string | undefined; itemref?: string | undefined; @@ -1012,6 +1012,7 @@ export namespace JSX { coords?: string | undefined; download?: string | undefined; href?: string | undefined; + nohref?: "true" | boolean | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; @@ -1039,12 +1040,12 @@ export namespace JSX { | (string & {}) | undefined; commandfor?: string | undefined; - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; form?: string | undefined; formaction?: string | SerializableAttributeValue | undefined; formenctype?: HTMLFormEncType | undefined; formmethod?: HTMLFormMethod | undefined; - formnovalidate?: boolean | undefined; + formnovalidate?: "true" | boolean | undefined; formtarget?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; popovertarget?: string | undefined; popovertargetaction?: "hide" | "show" | "toggle" | undefined; @@ -1095,12 +1096,12 @@ export namespace JSX { } interface DetailsHtmlAttributes extends HTMLAttributes { name?: string | undefined; - open?: boolean | undefined; + open?: "true" | boolean | undefined; onToggle?: EventHandlerUnion | undefined; ontoggle?: EventHandlerUnion | undefined; } interface DialogHtmlAttributes extends HTMLAttributes { - open?: boolean | undefined; + open?: "true" | boolean | undefined; onClose?: EventHandlerUnion | undefined; onCancel?: EventHandlerUnion | undefined; tabindex?: never | undefined; @@ -1117,7 +1118,7 @@ export namespace JSX { name?: string | undefined; } interface FieldsetHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; form?: string | undefined; name?: string | undefined; } @@ -1129,7 +1130,7 @@ export namespace JSX { enctype?: HTMLFormEncType | undefined; method?: HTMLFormMethod | undefined; name?: string | undefined; - novalidate?: boolean | undefined; + novalidate?: "true" | boolean | undefined; rel?: string | undefined; target?: "_self" | "_blank" | "_parent" | "_top" | (string & {}) | undefined; @@ -1141,7 +1142,7 @@ export namespace JSX { } interface IframeHTMLAttributes extends HTMLAttributes { allow?: string | undefined; - allowfullscreen?: boolean | undefined; + allowfullscreen?: "true" | boolean | undefined; height?: number | string | undefined; loading?: "eager" | "lazy" | undefined; name?: string | undefined; @@ -1151,35 +1152,37 @@ export namespace JSX { srcdoc?: string | undefined; width?: number | string | undefined; + /** @non-standard */ + browsingtopics?: "true" | boolean | undefined; /** @experimental */ - browsingtopics?: boolean | undefined; - /** @experimental */ - credentialless?: boolean | undefined; + credentialless?: "true" | boolean | undefined; /** @experimental */ csp?: string | undefined; + /** @experimental */ + sharedstoragewritable?: "true" | boolean | undefined; /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; /** @deprecated */ - allowpaymentrequest?: boolean | undefined; + allowpaymentrequest?: "true" | boolean | undefined; /** @deprecated */ - allowtransparency?: boolean | undefined; + allowtransparency?: "true" | boolean | undefined; /** @deprecated */ align?: string | undefined; /** @deprecated */ - frameborder?: string | undefined; + frameborder?: number | string | undefined; /** @deprecated */ longdesc?: string | undefined; /** @deprecated */ - marginheight?: string | undefined; + marginheight?: number | string | undefined; /** @deprecated */ - marginwidth?: string | undefined; + marginwidth?: number | string | undefined; /** @deprecated */ scrolling?: "yes" | "no" | "auto" | undefined; /** @deprecated */ - seamless?: boolean | undefined; + seamless?: "true" | boolean | undefined; } interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined; @@ -1187,7 +1190,7 @@ export namespace JSX { crossorigin?: HTMLCrossorigin | undefined; decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; - ismap?: boolean | undefined; + ismap?: "true" | boolean | undefined; loading?: "eager" | "lazy" | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; sizes?: string | undefined; @@ -1214,13 +1217,17 @@ export namespace JSX { /** @deprecated */ border?: string | undefined; /** @deprecated */ - hspace?: number | undefined; + hspace?: number | string | undefined; /** @deprecated */ longdesc?: string | undefined; /** @deprecated */ name?: string | undefined; /** @deprecated */ - vspace?: number | undefined; + vspace?: number | string | undefined; + /** @deprecated */ + intrinsicsize?: string | undefined; + /** @deprecated */ + lowsrc?: string | undefined; } interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined; @@ -1293,32 +1300,32 @@ export namespace JSX { autocorrect?: "on" | "off" | undefined; autofocus?: boolean | undefined; capture?: "user" | "environment" | undefined; - checked?: boolean | undefined; + checked?: "true" | boolean | undefined; crossorigin?: HTMLCrossorigin | undefined; dirname?: string | undefined; - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; form?: string | undefined; formaction?: string | SerializableAttributeValue | undefined; formenctype?: HTMLFormEncType | undefined; formmethod?: HTMLFormMethod | undefined; - formnovalidate?: boolean | undefined; + formnovalidate?: "true" | boolean | undefined; formtarget?: string | undefined; height?: number | string | undefined; - incremental?: boolean | undefined; + incremental?: "true" | boolean | undefined; list?: string | undefined; max?: number | string | undefined; maxlength?: number | string | undefined; min?: number | string | undefined; minlength?: number | string | undefined; - multiple?: boolean | undefined; + multiple?: "true" | boolean | undefined; name?: string | undefined; pattern?: string | undefined; placeholder?: string | undefined; popovertarget?: string | undefined; popovertargetaction?: "hide" | "show" | "toggle" | undefined; - readonly?: boolean | undefined; - required?: boolean | undefined; + readonly?: "true" | boolean | undefined; + required?: "true" | boolean | undefined; // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search#results results?: number | undefined; size?: number | string | undefined; @@ -1411,7 +1418,7 @@ export namespace JSX { interface LinkHTMLAttributes extends HTMLAttributes { as?: HTMLLinkAs | undefined; crossorigin?: HTMLCrossorigin | undefined; - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; href?: string | undefined; hreflang?: string | undefined; @@ -1443,12 +1450,12 @@ export namespace JSX { name?: string | undefined; } interface MediaHTMLAttributes extends HTMLAttributes { - autoplay?: boolean | undefined; - controls?: boolean | undefined; + autoplay?: "true" | boolean | undefined; + controls?: "true" | boolean | undefined; controlslist?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; - loop?: boolean | undefined; - muted?: boolean | undefined; + loop?: "true" | boolean | undefined; + muted?: "true" | boolean | undefined; preload?: "none" | "metadata" | "auto" | "" | undefined; src?: string | undefined; @@ -1461,7 +1468,7 @@ export namespace JSX { } interface MenuHTMLAttributes extends HTMLAttributes { /** @deprecated */ - compact?: boolean | undefined; + compact?: "true" | boolean | undefined; /** @deprecated */ label?: string | undefined; /** @deprecated */ @@ -1521,34 +1528,34 @@ export namespace JSX { /** @deprecated */ codetype?: string | undefined; /** @deprecated */ - declare?: string | undefined; + declare?: "true" | boolean | undefined; /** @deprecated */ - hspace?: string | undefined; + hspace?: number | string | undefined; /** @deprecated */ standby?: string | undefined; /** @deprecated */ usemap?: string | undefined; /** @deprecated */ - vspace?: string | undefined; + vspace?: number | string | undefined; /** @deprecated */ typemustmatch?: boolean | undefined; } interface OlHTMLAttributes extends HTMLAttributes { - reversed?: boolean | undefined; + reversed?: "true" | boolean | undefined; start?: number | string | undefined; type?: "1" | "a" | "A" | "i" | "I" | undefined; /** @deprecated */ - compact?: boolean | undefined; + compact?: "true" | boolean | undefined; } interface OptgroupHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; label?: string | undefined; } interface OptionHTMLAttributes extends HTMLAttributes { - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; label?: string | undefined; - selected?: boolean | undefined; + selected?: "true" | boolean | undefined; value?: string | string[] | number | undefined; } interface OutputHTMLAttributes extends HTMLAttributes { @@ -1571,12 +1578,12 @@ export namespace JSX { value?: string | string[] | number | undefined; } interface ScriptHTMLAttributes extends HTMLAttributes { - async?: boolean | undefined; + async?: "true" | boolean | undefined; crossorigin?: HTMLCrossorigin | undefined; - defer?: boolean | undefined; + defer?: "true" | boolean | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; integrity?: string | undefined; - nomodule?: boolean | undefined; + nomodule?: "true" | boolean | undefined; nonce?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; src?: string | undefined; @@ -1585,7 +1592,7 @@ export namespace JSX { /** @experimental */ attributionsrc?: string | undefined; /** @experimental */ - blocking?: boolean | undefined; + blocking?: string | undefined; /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; @@ -1604,11 +1611,11 @@ export namespace JSX { interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined; autofocus?: boolean | undefined; - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; form?: string | undefined; - multiple?: boolean | undefined; + multiple?: "true" | boolean | undefined; name?: string | undefined; - required?: boolean | undefined; + required?: "true" | boolean | undefined; size?: number | string | undefined; value?: string | string[] | number | undefined; } @@ -1629,9 +1636,9 @@ export namespace JSX { nonce?: string | undefined; /** @experimental */ - blocking?: boolean | undefined; + blocking?: string | undefined; /** @deprecated */ - scoped?: boolean | undefined; + scoped?: "true" | boolean | undefined; /** @deprecated */ type?: string | undefined; } @@ -1658,9 +1665,9 @@ export namespace JSX { /** @deprecated */ charoff?: string | undefined; /** @deprecated */ - height?: string | undefined; + height?: number | string | undefined; /** @deprecated */ - nowrap?: boolean | undefined; + nowrap?: "true" | boolean | undefined; /** @deprecated */ scope?: "col" | "row" | "rowgroup" | "colgroup" | undefined; /** @deprecated */ @@ -1670,9 +1677,9 @@ export namespace JSX { } interface TemplateHTMLAttributes extends HTMLAttributes { shadowrootmode?: "open" | "closed" | undefined; - shadowrootclonable?: boolean | undefined; - shadowrootdelegatesfocus?: boolean | undefined; - shadowrootserializable?: boolean | undefined; + shadowrootclonable?: "true" | boolean | undefined; + shadowrootdelegatesfocus?: "true" | boolean | undefined; + shadowrootserializable?: "true" | boolean | undefined; /** @deprecated */ content?: DocumentFragment | undefined; @@ -1747,15 +1754,15 @@ export namespace JSX { autofocus?: boolean | undefined; cols?: number | string | undefined; dirname?: string | undefined; - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; enterkeyhint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined; form?: string | undefined; maxlength?: number | string | undefined; minlength?: number | string | undefined; name?: string | undefined; placeholder?: string | undefined; - readonly?: boolean | undefined; - required?: boolean | undefined; + readonly?: "true" | boolean | undefined; + required?: "true" | boolean | undefined; rows?: number | string | undefined; value?: string | string[] | number | undefined; wrap?: "hard" | "soft" | "off" | undefined; @@ -1792,7 +1799,7 @@ export namespace JSX { /** @deprecated */ height?: string | undefined; /** @deprecated */ - nowrap?: boolean | undefined; + nowrap?: "true" | boolean | undefined; /** @deprecated */ valign?: "baseline" | "bottom" | "middle" | "top" | undefined; /** @deprecated */ @@ -1805,7 +1812,7 @@ export namespace JSX { dateTime?: string | undefined; } interface TrackHTMLAttributes extends HTMLAttributes { - default?: boolean | undefined; + default?: "true" | boolean | undefined; kind?: // MDN | "alternative" | "descriptions" @@ -1825,11 +1832,11 @@ export namespace JSX { } interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string | undefined; - playsinline?: boolean | undefined; + playsinline?: "true" | boolean | undefined; poster?: string | undefined; width?: number | string | undefined; - disablepictureinpicture?: boolean | undefined; - disableremoteplayback?: boolean | undefined; + disablepictureinpicture?: "true" | boolean | undefined; + disableremoteplayback?: "true" | boolean | undefined; } interface WebViewHTMLAttributes extends HTMLAttributes { @@ -2715,7 +2722,7 @@ export namespace JSX { } interface MathMLAttributes extends HTMLAttributes { - displaystyle?: boolean | undefined; + displaystyle?: "true" | boolean | undefined; /** @deprecated */ href?: string | undefined; /** @deprecated */ @@ -2770,23 +2777,23 @@ export namespace JSX { } interface MathMLMnElementAttributes extends MathMLAttributes {} interface MathMLMoElementAttributes extends MathMLAttributes { - fence?: boolean | undefined; + fence?: "true" | boolean | undefined; form?: "prefix" | "infix" | "postfix" | undefined; - largeop?: boolean | undefined; + largeop?: "true" | boolean | undefined; lspace?: string | undefined; maxsize?: string | undefined; minsize?: string | undefined; - movablelimits?: boolean | undefined; + movablelimits?: "true" | boolean | undefined; rspace?: string | undefined; - separator?: boolean | undefined; - stretchy?: boolean | undefined; - symmetric?: boolean | undefined; + separator?: "true" | boolean | undefined; + stretchy?: "true" | boolean | undefined; + symmetric?: "true" | boolean | undefined; /** @non-standard */ - accent?: boolean | undefined; + accent?: "true" | boolean | undefined; } interface MathMLMoverElementAttributes extends MathMLAttributes { - accent?: boolean | undefined; + accent?: "true" | boolean | undefined; } interface MathMLMpaddedElementAttributes extends MathMLAttributes { depth?: string | undefined; @@ -2864,8 +2871,8 @@ export namespace JSX { width?: string | undefined; } interface MathMLMtdElementAttributes extends MathMLAttributes { - columnspan?: number | undefined; - rowspan?: number | undefined; + columnspan?: number | string | undefined; + rowspan?: number | string | undefined; /** @non-standard */ columnalign?: "center" | "left" | "right" | undefined; /** @non-standard */ @@ -2879,11 +2886,11 @@ export namespace JSX { rowalign?: "axis" | "baseline" | "bottom" | "center" | "top" | undefined; } interface MathMLMunderElementAttributes extends MathMLAttributes { - accentunder?: boolean | undefined; + accentunder?: "true" | boolean | undefined; } interface MathMLMunderoverElementAttributes extends MathMLAttributes { - accent?: boolean | undefined; - accentunder?: boolean | undefined; + accent?: "true" | boolean | undefined; + accentunder?: "true" | boolean | undefined; } interface MathMLSemanticsElementAttributes extends MathMLAttributes {} From 95de3ffcc2865d66cc8c7b2b5d32b874bc2b31e9 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 10 Nov 2024 00:11:55 -0300 Subject: [PATCH 18/27] update link to table --- packages/dom-expressions/src/jsx.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index bfd015e7..b86d4b6e 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -10,7 +10,7 @@ import * as csstype from "csstype"; * https://github.com/preactjs/preact/blob/07dc9f324e58569ce66634aa03fe8949b4190358/src/jsx.d.ts#L2575 * * Checked against other frameworks via the following table: - * https://github.com/potahtml/namespace-jsx-project/blob/master/jsx/readme.md + * https://potahtml.github.io/namespace-jsx-project/index.html * * Note: Typings must include attributes and not properties (unless the property is special-cased, * such textContent, event handlers, etc). From da2f6753a3f7a8eb6c2412cf829fe17e8c5271ad Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 12 Nov 2024 00:17:19 -0300 Subject: [PATCH 19/27] couple of missing deprecations --- packages/dom-expressions/src/jsx.d.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index b86d4b6e..162587d0 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1012,7 +1012,6 @@ export namespace JSX { coords?: string | undefined; download?: string | undefined; href?: string | undefined; - nohref?: "true" | boolean | undefined; ping?: string | undefined; referrerpolicy?: HTMLReferrerPolicy | undefined; rel?: string | undefined; @@ -1021,6 +1020,9 @@ export namespace JSX { /** @deprecated Use lowercase attributes */ referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @deprecated */ + nohref?: "true" | boolean | undefined; } interface BaseHTMLAttributes extends HTMLAttributes { href?: string | undefined; @@ -1071,6 +1073,9 @@ export namespace JSX { interface CanvasHTMLAttributes extends HTMLAttributes { width?: number | string | undefined; height?: number | string | undefined; + + /** @deprecated */ + "moz-opaque"?: "true" | boolean | undefined; } interface ColHTMLAttributes extends HTMLAttributes { span?: number | string | undefined; From 1471dd3bc5b526d8336405cf6308dbcc09cb9751 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 12 Nov 2024 09:35:55 -0300 Subject: [PATCH 20/27] add `"true"` to autofocus, disabled, typemustmatch, and some webview attributes --- packages/dom-expressions/src/jsx.d.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 162587d0..adb12f56 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1032,7 +1032,7 @@ export namespace JSX { cite?: string | undefined; } interface ButtonHTMLAttributes extends HTMLAttributes { - autofocus?: boolean | undefined; + autofocus?: "true" | boolean | undefined; command?: | "show-modal" | "close" @@ -1303,7 +1303,7 @@ export namespace JSX { | (string & {}) | undefined; autocorrect?: "on" | "off" | undefined; - autofocus?: boolean | undefined; + autofocus?: "true" | boolean | undefined; capture?: "user" | "environment" | undefined; checked?: "true" | boolean | undefined; crossorigin?: HTMLCrossorigin | undefined; @@ -1396,11 +1396,11 @@ export namespace JSX { } interface KeygenHTMLAttributes extends HTMLAttributes { /** @deprecated */ - autofocus?: boolean | undefined; + autofocus?: "true" | boolean | undefined; /** @deprecated */ challenge?: string | undefined; /** @deprecated */ - disabled?: boolean | undefined; + disabled?: "true" | boolean | undefined; /** @deprecated */ form?: string | undefined; /** @deprecated */ @@ -1543,7 +1543,7 @@ export namespace JSX { /** @deprecated */ vspace?: number | string | undefined; /** @deprecated */ - typemustmatch?: boolean | undefined; + typemustmatch?: "true" | boolean | undefined; } interface OlHTMLAttributes extends HTMLAttributes { reversed?: "true" | boolean | undefined; @@ -1615,7 +1615,7 @@ export namespace JSX { } interface SelectHTMLAttributes extends HTMLAttributes { autocomplete?: string | undefined; - autofocus?: boolean | undefined; + autofocus?: "true" | boolean | undefined; disabled?: "true" | boolean | undefined; form?: string | undefined; multiple?: "true" | boolean | undefined; @@ -1756,7 +1756,7 @@ export namespace JSX { | (string & {}) | undefined; autocorrect?: "on" | "off" | undefined; - autofocus?: boolean | undefined; + autofocus?: "true" | boolean | undefined; cols?: number | string | undefined; dirname?: string | undefined; disabled?: "true" | boolean | undefined; @@ -1860,9 +1860,9 @@ export namespace JSX { webpreferences?: string | undefined; // does this exists? - allowfullscreen?: boolean | undefined; - autofocus?: boolean | undefined; - autosize?: boolean | undefined; + allowfullscreen?: "true" | boolean | undefined; + autofocus?: "true" | boolean | undefined; + autosize?: "true" | boolean | undefined; /** @deprecated */ disableguestresize?: "true" | boolean | undefined; From 17c73baa2eebfa8eeb11daabbf03283d19f3b579 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 12 Nov 2024 09:36:58 -0300 Subject: [PATCH 21/27] sort list --- packages/dom-expressions/src/jsx.d.ts | 50 +++++++++++++-------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index adb12f56..6e615bc1 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -899,41 +899,21 @@ export namespace JSX { interface HTMLAttributes extends AriaAttributes, DOMAttributes { // [key: ClassKeys]: boolean; + about?: string | undefined; accesskey?: string | undefined; + autocapitalize?: HTMLAutocapitalize | undefined; class?: string | undefined; + color?: string | undefined; contenteditable?: "true" | "false" | boolean | "plaintext-only" | "inherit" | undefined; contextmenu?: string | undefined; + datatype?: string | undefined; dir?: HTMLDir | undefined; draggable?: boolean | "false" | "true" | undefined; + exportparts?: string | undefined; hidden?: boolean | "hidden" | "until-found" | undefined; id?: string | undefined; - is?: string | undefined; inert?: "true" | boolean | undefined; - lang?: string | undefined; - spellcheck?: "true" | boolean | undefined; - style?: CSSProperties | string | undefined; - tabindex?: number | string | undefined; - title?: string | undefined; - translate?: "yes" | "no" | undefined; - about?: string | undefined; - datatype?: string | undefined; inlist?: any | undefined; - popover?: boolean | "manual" | "auto" | undefined; - prefix?: string | undefined; - property?: string | undefined; - resource?: string | undefined; - typeof?: string | undefined; - vocab?: string | undefined; - autocapitalize?: HTMLAutocapitalize | undefined; - slot?: string | undefined; - color?: string | undefined; - itemprop?: string | undefined; - itemscope?: "true" | boolean | undefined; - itemtype?: string | undefined; - itemid?: string | undefined; - itemref?: string | undefined; - part?: string | undefined; - exportparts?: string | undefined; inputmode?: | "decimal" | "email" @@ -944,6 +924,26 @@ export namespace JSX { | "text" | "url" | undefined; + is?: string | undefined; + itemid?: string | undefined; + itemprop?: string | undefined; + itemref?: string | undefined; + itemscope?: "true" | boolean | undefined; + itemtype?: string | undefined; + lang?: string | undefined; + part?: string | undefined; + popover?: boolean | "manual" | "auto" | undefined; + prefix?: string | undefined; + property?: string | undefined; + resource?: string | undefined; + slot?: string | undefined; + spellcheck?: "true" | boolean | undefined; + style?: CSSProperties | string | undefined; + tabindex?: number | string | undefined; + title?: string | undefined; + translate?: "yes" | "no" | undefined; + typeof?: string | undefined; + vocab?: string | undefined; /** @deprecated Use lowercase attributes */ accessKey?: string | undefined; From 81f25576fcba7e75863dc54606a253f325c31f0a Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 12 Nov 2024 10:12:56 -0300 Subject: [PATCH 22/27] `audio` also allows `disableremoteplayback` --- packages/dom-expressions/src/jsx.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 6e615bc1..ea5413ec 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1463,6 +1463,7 @@ export namespace JSX { muted?: "true" | boolean | undefined; preload?: "none" | "metadata" | "auto" | "" | undefined; src?: string | undefined; + disableremoteplayback?: "true" | boolean | undefined; /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; @@ -1841,7 +1842,6 @@ export namespace JSX { poster?: string | undefined; width?: number | string | undefined; disablepictureinpicture?: "true" | boolean | undefined; - disableremoteplayback?: "true" | boolean | undefined; } interface WebViewHTMLAttributes extends HTMLAttributes { From de55d02aba88673fedc8126c28b584d3d685a56c Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 12 Nov 2024 10:14:01 -0300 Subject: [PATCH 23/27] sort list --- packages/dom-expressions/src/jsx.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index ea5413ec..bdd4c705 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1459,11 +1459,11 @@ export namespace JSX { controls?: "true" | boolean | undefined; controlslist?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; + disableremoteplayback?: "true" | boolean | undefined; loop?: "true" | boolean | undefined; muted?: "true" | boolean | undefined; preload?: "none" | "metadata" | "auto" | "" | undefined; src?: string | undefined; - disableremoteplayback?: "true" | boolean | undefined; /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; From a59f4d813fb1dcfea90cc0e20f09b65ab847f31d Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Thu, 14 Nov 2024 13:39:26 -0300 Subject: [PATCH 24/27] double-check and correct: experimental, non-standard, deprecated --- packages/dom-expressions/src/jsx.d.ts | 219 ++++++++++++++++++-------- 1 file changed, 157 insertions(+), 62 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index bdd4c705..a74d52fb 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1033,15 +1033,6 @@ export namespace JSX { } interface ButtonHTMLAttributes extends HTMLAttributes { autofocus?: "true" | boolean | undefined; - command?: - | "show-modal" - | "close" - | "show-popover" - | "hide-popover" - | "toggle-popover" - | (string & {}) - | undefined; - commandfor?: string | undefined; disabled?: "true" | boolean | undefined; form?: string | undefined; formaction?: string | SerializableAttributeValue | undefined; @@ -1055,6 +1046,18 @@ export namespace JSX { type?: "submit" | "reset" | "button" | "menu" | undefined; value?: string | undefined; + /** @experimental */ + command?: + | "show-modal" + | "close" + | "show-popover" + | "hide-popover" + | "toggle-popover" + | (string & {}) + | undefined; + /** @experimental */ + commandfor?: string | undefined; + /** @deprecated Use lowercase attributes */ formAction?: string | SerializableAttributeValue | undefined; /** @deprecated Use lowercase attributes */ @@ -1074,7 +1077,10 @@ export namespace JSX { width?: number | string | undefined; height?: number | string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ "moz-opaque"?: "true" | boolean | undefined; } interface ColHTMLAttributes extends HTMLAttributes { @@ -1095,6 +1101,19 @@ export namespace JSX { } interface ColgroupHTMLAttributes extends HTMLAttributes { span?: number | string | undefined; + + /** @deprecated */ + align?: "left" | "center" | "right" | "justify" | "char" | undefined; + /** @deprecated */ + bgcolor?: string | undefined; + /** @deprecated */ + char?: string | undefined; + /** @deprecated */ + charoff?: string | undefined; + /** @deprecated */ + valign?: "baseline" | "bottom" | "middle" | "top" | undefined; + /** @deprecated */ + width?: number | string | undefined; } interface DataHTMLAttributes extends HTMLAttributes { value?: string | string[] | number | undefined; @@ -1157,25 +1176,35 @@ export namespace JSX { srcdoc?: string | undefined; width?: number | string | undefined; - /** @non-standard */ + /** @deprecated Use lowercase attributes */ + referrerPolicy?: HTMLReferrerPolicy | undefined; + + /** @experimental */ + adauctionheaders?: "true" | boolean | undefined; + /** + * @non-standard + * @experimental + */ browsingtopics?: "true" | boolean | undefined; /** @experimental */ credentialless?: "true" | boolean | undefined; /** @experimental */ csp?: string | undefined; /** @experimental */ + privatetoken?: string | undefined; + /** @experimental */ sharedstoragewritable?: "true" | boolean | undefined; - /** @deprecated Use lowercase attributes */ - referrerPolicy?: HTMLReferrerPolicy | undefined; - /** @deprecated */ + align?: string | undefined; + /** + * @deprecated + * @non-standard + */ allowpaymentrequest?: "true" | boolean | undefined; /** @deprecated */ allowtransparency?: "true" | boolean | undefined; /** @deprecated */ - align?: string | undefined; - /** @deprecated */ frameborder?: number | string | undefined; /** @deprecated */ longdesc?: string | undefined; @@ -1185,13 +1214,11 @@ export namespace JSX { marginwidth?: number | string | undefined; /** @deprecated */ scrolling?: "yes" | "no" | "auto" | undefined; - /** @deprecated */ seamless?: "true" | boolean | undefined; } interface ImgHTMLAttributes extends HTMLAttributes { alt?: string | undefined; - attributionsrc?: string | undefined; crossorigin?: HTMLCrossorigin | undefined; decoding?: "sync" | "async" | "auto" | undefined; height?: number | string | undefined; @@ -1206,6 +1233,11 @@ export namespace JSX { elementtiming?: string | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; + /** @experimental */ + attributionsrc?: string | undefined; + /** @experimental */ + sharedstoragewritable?: "true" | boolean | undefined; + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; /** @deprecated Use lowercase attributes */ @@ -1224,15 +1256,15 @@ export namespace JSX { /** @deprecated */ hspace?: number | string | undefined; /** @deprecated */ + intrinsicsize?: string | undefined; + /** @deprecated */ longdesc?: string | undefined; /** @deprecated */ + lowsrc?: string | undefined; + /** @deprecated */ name?: string | undefined; /** @deprecated */ vspace?: number | string | undefined; - /** @deprecated */ - intrinsicsize?: string | undefined; - /** @deprecated */ - lowsrc?: string | undefined; } interface InputHTMLAttributes extends HTMLAttributes { accept?: string | undefined; @@ -1317,7 +1349,6 @@ export namespace JSX { formnovalidate?: "true" | boolean | undefined; formtarget?: string | undefined; height?: number | string | undefined; - incremental?: "true" | boolean | undefined; list?: string | undefined; max?: number | string | undefined; maxlength?: number | string | undefined; @@ -1363,6 +1394,9 @@ export namespace JSX { value?: string | string[] | number | undefined; width?: number | string | undefined; + /** @non-standard */ + incremental?: "true" | boolean | undefined; + /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; /** @deprecated Use lowercase attributes */ @@ -1422,6 +1456,7 @@ export namespace JSX { } interface LinkHTMLAttributes extends HTMLAttributes { as?: HTMLLinkAs | undefined; + blocking?: "render" | undefined; crossorigin?: HTMLCrossorigin | undefined; disabled?: "true" | boolean | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; @@ -1436,9 +1471,6 @@ export namespace JSX { sizes?: string | undefined; type?: string | undefined; - /** @experimental */ - blocking?: "render" | undefined; - /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; /** @deprecated Use lowercase attributes */ @@ -1467,6 +1499,7 @@ export namespace JSX { /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; + /** @deprecated Use lowercase attributes */ mediaGroup?: string | undefined; /** @deprecated */ @@ -1551,7 +1584,10 @@ export namespace JSX { start?: number | string | undefined; type?: "1" | "a" | "A" | "i" | "I" | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ compact?: "true" | boolean | undefined; } interface OptgroupHTMLAttributes extends HTMLAttributes { @@ -1573,10 +1609,10 @@ export namespace JSX { /** @deprecated */ name?: string | undefined; /** @deprecated */ - value?: string | number | undefined; - /** @deprecated */ type?: string | undefined; /** @deprecated */ + value?: string | number | undefined; + /** @deprecated */ valuetype?: "data" | "ref" | "object" | undefined; } interface ProgressHTMLAttributes extends HTMLAttributes { @@ -1585,6 +1621,7 @@ export namespace JSX { } interface ScriptHTMLAttributes extends HTMLAttributes { async?: "true" | boolean | undefined; + blocking?: "render" | undefined; crossorigin?: HTMLCrossorigin | undefined; defer?: "true" | boolean | undefined; fetchpriority?: "high" | "low" | "auto" | undefined; @@ -1597,8 +1634,6 @@ export namespace JSX { /** @experimental */ attributionsrc?: string | undefined; - /** @experimental */ - blocking?: string | undefined; /** @deprecated Use lowercase attributes */ crossOrigin?: HTMLCrossorigin | undefined; @@ -1638,11 +1673,10 @@ export namespace JSX { height?: number | string | undefined; } interface StyleHTMLAttributes extends HTMLAttributes { + blocking?: "render" | undefined; media?: string | undefined; nonce?: string | undefined; - /** @experimental */ - blocking?: string | undefined; /** @deprecated */ scoped?: "true" | boolean | undefined; /** @deprecated */ @@ -1685,6 +1719,8 @@ export namespace JSX { shadowrootmode?: "open" | "closed" | undefined; shadowrootclonable?: "true" | boolean | undefined; shadowrootdelegatesfocus?: "true" | boolean | undefined; + + /** @experimental */ shadowrootserializable?: "true" | boolean | undefined; /** @deprecated */ @@ -1835,6 +1871,11 @@ export namespace JSX { label?: string | undefined; src?: string | undefined; srclang?: string | undefined; + + /** @deprecated Use lowercase attributes */ + mediaGroup?: string | undefined; + /** @deprecated */ + mediagroup?: string | undefined; } interface VideoHTMLAttributes extends MediaHTMLAttributes { height?: number | string | undefined; @@ -1864,12 +1905,12 @@ export namespace JSX { autofocus?: "true" | boolean | undefined; autosize?: "true" | boolean | undefined; + /** @deprecated */ + blinkfeatures?: string | undefined; /** @deprecated */ disableguestresize?: "true" | boolean | undefined; /** @deprecated */ guestinstance?: string | undefined; - /** @deprecated */ - blinkfeatures?: string | undefined; } type SVGPreserveAspectRatio = @@ -2225,6 +2266,10 @@ export namespace JSX { | "stroke-opacity" > {} interface ZoomAndPanSVGAttributes { + /** + * @deprecated + * @non-standard + */ zoomAndPan?: "disable" | "magnify" | undefined; } interface AnimateSVGAttributes @@ -2623,16 +2668,19 @@ export namespace JSX { FitToViewBoxSVGAttributes, ZoomAndPanSVGAttributes, PresentationSVGAttributes { - version?: string | undefined; - baseProfile?: string | undefined; - x?: number | string | undefined; - y?: number | string | undefined; - width?: number | string | undefined; - height?: number | string | undefined; + "xmlns:xlink"?: string | undefined; contentScriptType?: string | undefined; contentStyleType?: string | undefined; + height?: number | string | undefined; + width?: number | string | undefined; + x?: number | string | undefined; xmlns?: string | undefined; - "xmlns:xlink"?: string | undefined; + y?: number | string | undefined; + + /** @deprecated */ + baseProfile?: string | undefined; + /** @deprecated */ + version?: string | undefined; } interface SwitchSVGAttributes extends ContainerElementSVGAttributes, @@ -2753,9 +2801,15 @@ export namespace JSX { src?: string | undefined; } interface MathMLMactionElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ actiontype?: "statusline" | "toggle" | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ selection?: string | undefined; } interface MathMLMathElementAttributes extends MathMLAttributes { @@ -2765,9 +2819,15 @@ export namespace JSX { interface MathMLMfracElementAttributes extends MathMLAttributes { linethickness?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ denomalign?: "center" | "left" | "right" | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ numalign?: "center" | "left" | "right" | undefined; } interface MathMLMiElementAttributes extends MathMLAttributes { @@ -2775,9 +2835,15 @@ export namespace JSX { } interface MathMLMmultiscriptsElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ subscriptshift?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ superscriptshift?: string | undefined; } interface MathMLMnElementAttributes extends MathMLAttributes {} @@ -2824,33 +2890,61 @@ export namespace JSX { } interface MathMLMsqrtElementAttributes extends MathMLAttributes {} interface MathMLMstyleElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ background?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ color?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ fontsize?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ fontstyle?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ fontweight?: string | undefined; + /** @deprecated */ scriptminsize?: string | undefined; /** @deprecated */ scriptsizemultiplier?: string | undefined; } interface MathMLMsubElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ subscriptshift?: string | undefined; } interface MathMLMsubsupElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ subscriptshift?: string | undefined; - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ superscriptshift?: string | undefined; } interface MathMLMsupElementAttributes extends MathMLAttributes { - /** @deprecated */ + /** + * @deprecated + * @non-standard + */ superscriptshift?: string | undefined; } interface MathMLMtableElementAttributes extends MathMLAttributes { @@ -3955,19 +4049,20 @@ export namespace JSX { */ semantics: MathMLSemanticsElementAttributes; /** - * @deprecated - * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction + * @non-standard + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement */ - maction: MathMLMactionElementAttributes; + menclose: MathMLMencloseElementAttributes; /** * @deprecated - * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose + * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement */ - menclose: MathMLMencloseElementAttributes; + maction: MathMLMactionElementAttributes; /** * @deprecated + * @non-standard * @url https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced * @url https://developer.mozilla.org/en-US/docs/Web/API/MathMLElement */ From fa6ec722ff9a5313d7b405819110bf714d29a7b5 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 1 Dec 2024 16:11:57 -0300 Subject: [PATCH 25/27] already included in DOMAttributes --- packages/dom-expressions/src/jsx.d.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index a74d52fb..4d95de3d 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1121,8 +1121,6 @@ export namespace JSX { interface DetailsHtmlAttributes extends HTMLAttributes { name?: string | undefined; open?: "true" | boolean | undefined; - onToggle?: EventHandlerUnion | undefined; - ontoggle?: EventHandlerUnion | undefined; } interface DialogHtmlAttributes extends HTMLAttributes { open?: "true" | boolean | undefined; From 2eb7a746d4133ae1135294f5077d6421c8d4b93a Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Sun, 1 Dec 2024 16:12:20 -0300 Subject: [PATCH 26/27] add lowercase version of `onclose` and `oncancel` --- packages/dom-expressions/src/jsx.d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 4d95de3d..370dead4 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -1124,9 +1124,12 @@ export namespace JSX { } interface DialogHtmlAttributes extends HTMLAttributes { open?: "true" | boolean | undefined; + tabindex?: never | undefined; + + onclose?: EventHandlerUnion | undefined; onClose?: EventHandlerUnion | undefined; + oncancel?: EventHandlerUnion | undefined; onCancel?: EventHandlerUnion | undefined; - tabindex?: never | undefined; } interface EmbedHTMLAttributes extends HTMLAttributes { height?: number | string | undefined; From 106a8e1b6ece9a3d2a81e08c425d80b7c36124d6 Mon Sep 17 00:00:00 2001 From: Tito Bouzout Date: Tue, 3 Dec 2024 16:09:39 -0300 Subject: [PATCH 27/27] remove deprecation of classlist, would be added in a new PR --- packages/dom-expressions/src/jsx.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/dom-expressions/src/jsx.d.ts b/packages/dom-expressions/src/jsx.d.ts index 370dead4..295e3298 100644 --- a/packages/dom-expressions/src/jsx.d.ts +++ b/packages/dom-expressions/src/jsx.d.ts @@ -122,7 +122,6 @@ export namespace JSX { } interface CustomAttributes { ref?: T | ((el: T) => void) | undefined; - /** @deprecated Use `clsx` instead. https://www.npmjs.com/package/clsx */ classList?: | { [k: string]: boolean | undefined;