diff --git a/src/jsx.d.ts b/src/jsx.d.ts index a87297d97c..8f2b98cc92 100644 --- a/src/jsx.d.ts +++ b/src/jsx.d.ts @@ -2501,6 +2501,340 @@ export namespace JSXInternal { | SignalLike; } + export interface MathMLAttributes + extends HTMLAttributes { + dir?: 'ltr' | 'rtl' | undefined | SignalLike<'ltr' | 'rtl' | undefined>; + displaystyle?: boolean | undefined | SignalLike; + /** @deprecated This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href */ + href?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground */ + mathbackground?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor */ + mathcolor?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize */ + mathsize?: string | undefined | SignalLike; + nonce?: string | undefined | SignalLike; + scriptlevel?: string | undefined | SignalLike; + } + + export interface HTMLAnnotationElement extends MathMLElement { + encoding?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */ + src?: string | undefined | SignalLike; + } + + export interface HTMLAnnotationXmlElement extends MathMLElement { + encoding?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */ + src?: string | undefined | SignalLike; + } + + export interface HTMLMActionElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#actiontype */ + actiontype?: + | 'statusline' + | 'toggle' + | undefined + | SignalLike<'statusline' | 'toggle' | undefined>; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction#selection */ + selection?: string | undefined | SignalLike; + } + + export interface HTMLMathElement extends MathMLElement { + display?: + | 'block' + | 'inline' + | undefined + | SignalLike<'block' | 'inline' | undefined>; + } + + export interface HTMLMEncloseElement extends MathMLElement { + notation?: string | undefined | SignalLike; + } + + export interface HTMLMErrorElement extends MathMLElement {} + + export interface HTMLMFencedElement extends MathMLElement { + close?: string | undefined | SignalLike; + open?: string | undefined | SignalLike; + separators?: string | undefined | SignalLike; + } + + export interface HTMLMFracElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#denomalign */ + denomalign?: + | 'center' + | 'left' + | 'right' + | undefined + | SignalLike<'center' | 'left' | 'right' | undefined>; + linethickness?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfrac#numalign */ + numalign?: + | 'center' + | 'left' + | 'right' + | undefined + | SignalLike<'center' | 'left' | 'right' | undefined>; + } + + export interface HTMLMiElement extends MathMLElement { + /** 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 + | SignalLike< + | '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 + >; + } + + export interface HTMLMmultiScriptsElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#subscriptshift */ + subscriptshift?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift */ + superscriptshift?: string | undefined | SignalLike; + } + + export interface HTMLMNElement extends MathMLElement {} + + export interface HTMLMOElement extends MathMLElement { + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo#accent */ + accent?: boolean | undefined | SignalLike; + fence?: boolean | undefined | SignalLike; + largeop?: boolean | undefined | SignalLike; + lspace?: string | undefined | SignalLike; + maxsize?: string | undefined | SignalLike; + minsize?: string | undefined | SignalLike; + movablelimits?: boolean | undefined | SignalLike; + rspace?: string | undefined | SignalLike; + separator?: boolean | undefined | SignalLike; + stretchy?: boolean | undefined | SignalLike; + symmetric?: boolean | undefined | SignalLike; + } + + export interface HTMLMOverElement extends MathMLElement { + accent?: boolean | undefined | SignalLike; + } + + export interface HTMLMPaddedElement extends MathMLElement { + depth?: string | undefined | SignalLike; + height?: string | undefined | SignalLike; + lspace?: string | undefined | SignalLike; + voffset?: string | undefined | SignalLike; + width?: string | undefined | SignalLike; + } + + export interface HTMLMPhantomElement extends MathMLElement {} + + export interface HTMLMPrescriptsElement extends MathMLElement {} + + export interface HTMLMRootElement extends MathMLElement {} + + export interface HTMLMRowElement extends MathMLElement {} + + export interface HTMLMSElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ + lquote?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */ + rquote?: string | undefined | SignalLike; + } + + export interface HTMLMSpaceElement extends MathMLElement { + depth?: string | undefined | SignalLike; + height?: string | undefined | SignalLike; + width?: string | undefined | SignalLike; + } + + export interface HTMLMSqrtElement extends MathMLElement {} + + export interface HTMLMStyleElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#background */ + background?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */ + color?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */ + fontsize?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */ + fontstyle?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */ + fontweight?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize */ + scriptminsize?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier */ + scriptsizemultiplier?: string | undefined | SignalLike; + } + + export interface HTMLMSubElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift */ + subscriptshift?: string | undefined | SignalLike; + } + + export interface HTMLMSubsupElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift */ + subscriptshift?: string | undefined | SignalLike; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift */ + superscriptshift?: string | undefined | SignalLike; + } + + export interface HTMLMSupElement extends MathMLElement { + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift */ + superscriptshift?: string | undefined | SignalLike; + } + + export interface HTMLMTableElement extends MathMLElement { + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#align */ + align?: + | 'axis' + | 'baseline' + | 'bottom' + | 'center' + | 'top' + | undefined + | SignalLike< + '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' + | undefined + | SignalLike<'center' | 'left' | 'right' | undefined>; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnlines */ + columnlines?: + | 'dashed' + | 'none' + | 'solid' + | undefined + | SignalLike<'dashed' | 'none' | 'solid' | undefined>; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#columnspacing */ + columnspacing?: string | undefined | SignalLike; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#frame */ + frame?: + | 'dashed' + | 'none' + | 'solid' + | undefined + | SignalLike<'dashed' | 'none' | 'solid' | undefined>; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#framespacing */ + framespacing?: string | undefined | SignalLike; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowalign */ + rowalign?: + | 'axis' + | 'baseline' + | 'bottom' + | 'center' + | 'top' + | undefined + | SignalLike< + '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' + | undefined + | SignalLike<'dashed' | 'none' | 'solid' | undefined>; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#rowspacing */ + rowspacing?: string | undefined | SignalLike; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width */ + width?: string | undefined | SignalLike; + } + + export interface HTMLMTdElement extends MathMLElement { + columnspan?: number | undefined | SignalLike; + rowspan?: number | undefined | SignalLike; + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtd#columnalign */ + columnalign?: + | 'center' + | 'left' + | 'right' + | undefined + | SignalLike<'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' + | undefined + | SignalLike< + 'axis' | 'baseline' | 'bottom' | 'center' | 'top' | undefined + >; + } + + export interface HTMLMTextElement extends MathMLElement {} + + export interface HTMLMTrElement extends MathMLElement { + /** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtr#columnalign */ + columnalign?: + | 'center' + | 'left' + | 'right' + | undefined + | SignalLike<'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' + | undefined + | SignalLike< + 'axis' | 'baseline' | 'bottom' | 'center' | 'top' | undefined + >; + } + + export interface HTMLMUnderElement extends MathMLElement { + accentunder?: boolean | undefined | SignalLike; + } + + export interface HTMLMUnderoverElement extends MathMLElement { + accent?: boolean | undefined | SignalLike; + accentunder?: boolean | undefined | SignalLike; + } + + export interface HTMLSemanticsElement extends MathMLElement {} + export interface IntrinsicElements { // HTML a: HTMLAttributes; @@ -2680,5 +3014,42 @@ export namespace JSXInternal { tspan: SVGAttributes; use: SVGAttributes; view: SVGAttributes; + + // MathML See https://developer.mozilla.org/en-US/docs/Web/MathML + 'annotation-xml': MathMLAttributes; + annotation: MathMLAttributes; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction */ + maction: MathMLAttributes; + math: MathMLAttributes; + /** This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose */ + menclose: MathMLAttributes; + merror: MathMLAttributes; + /** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced */ + mfenced: HTMLAttributes; + mfrac: MathMLAttributes; + mi: MathMLAttributes; + mmultiscripts: MathMLAttributes; + mn: MathMLAttributes; + mo: MathMLAttributes; + mover: MathMLAttributes; + mpadded: MathMLAttributes; + mphantom: MathMLAttributes; + mprescripts: MathMLAttributes; + mroot: MathMLAttributes; + mrow: MathMLAttributes; + ms: MathMLAttributes; + mspace: MathMLAttributes; + msqrt: MathMLAttributes; + mstyle: MathMLAttributes; + msub: MathMLAttributes; + msubsup: MathMLAttributes; + msup: MathMLAttributes; + mtable: MathMLAttributes; + mtd: MathMLAttributes; + mtext: MathMLAttributes; + mtr: MathMLAttributes; + munder: MathMLAttributes; + munderover: MathMLAttributes; + semantics: MathMLAttributes; } }