Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add mathml definitions #4214

Merged
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
002d552
Introduce MathMLAttributes
fekete965 Nov 15, 2023
4a4f1e1
Add HTMLAnnotationElement interface
fekete965 Nov 16, 2023
59a9f30
Add HTMLAnnotationXmlElement interface
fekete965 Nov 16, 2023
b2e9625
Add HTMLMActionElement interface
fekete965 Nov 16, 2023
8efdf45
Add HTMLMathElement interface
fekete965 Nov 16, 2023
0824148
Add HTMLMEncloseElement interface
fekete965 Nov 16, 2023
2e68f6e
Add HTMLMErrorElement interface
fekete965 Nov 16, 2023
3539fb2
Add HTMLMFracElement interface
fekete965 Nov 16, 2023
01a66e2
Add HTMLMiElement interface
fekete965 Nov 16, 2023
bac764d
Add HTMLMmultiScriptsElement interface
fekete965 Nov 16, 2023
b82bf72
Add HTMLMNElement interface
fekete965 Nov 16, 2023
548f34e
Add HTMLMOElement interface
fekete965 Nov 16, 2023
0a40528
Add HTMLMOverElement interface
fekete965 Nov 16, 2023
ab5da23
Add HTMLMPaddedElement interface
fekete965 Nov 16, 2023
832c670
Add HTMLMPhantomElement interface
fekete965 Nov 16, 2023
47d403b
Add HTMLMPrescriptsElement interface
fekete965 Nov 16, 2023
2368f17
Add HTMLMRootElement interface
fekete965 Nov 16, 2023
5b4b416
Add HTMLMRowElement interface
fekete965 Nov 16, 2023
0a68207
Add HTMLMSElement interface
fekete965 Nov 16, 2023
7a96458
Add HTMLMSpaceElement interface
fekete965 Nov 16, 2023
15f0cc8
Add HTMLMSqrtElement interface
fekete965 Nov 16, 2023
7d71251
Add HTMLMStyleElement interface
fekete965 Nov 16, 2023
037a23c
Add HTMLMSubElement interface
fekete965 Nov 16, 2023
001d5be
Add HTMLMSubsupElement interface
fekete965 Nov 16, 2023
5b0d2fc
Add HTMLMSupElement interface
fekete965 Nov 16, 2023
93648b2
Add HTMLMTableElement interface
fekete965 Nov 16, 2023
d13125e
Add HTMLMTdElement interface
fekete965 Nov 16, 2023
89db29d
Add HTMLMTextElement interface
fekete965 Nov 16, 2023
e877e11
Add HTMLMTrElement interface
fekete965 Nov 16, 2023
14c7ef2
Add HTMLMUnderElement interface
fekete965 Nov 16, 2023
a2093d7
Add HTMLMUnderoverElement interface
fekete965 Nov 16, 2023
ae8d7ef
Add HTMLSemanticsElement interface
fekete965 Nov 16, 2023
6eb5309
Add HTMLMFencedElement interface
fekete965 Dec 8, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
371 changes: 371 additions & 0 deletions src/jsx.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2501,6 +2501,340 @@ export namespace JSXInternal {
| SignalLike<number | string | undefined>;
}

export interface MathMLAttributes<Target extends EventTarget = MathMLElement>
extends HTMLAttributes<Target> {
dir?: 'ltr' | 'rtl' | undefined | SignalLike<'ltr' | 'rtl' | undefined>;
displaystyle?: boolean | undefined | SignalLike<boolean | undefined>;
/** @deprecated This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/href */
href?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathbackground */
mathbackground?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathcolor */
mathcolor?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Global_attributes/mathsize */
mathsize?: string | undefined | SignalLike<string | undefined>;
nonce?: string | undefined | SignalLike<string | undefined>;
scriptlevel?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLAnnotationElement extends MathMLElement {
encoding?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */
src?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLAnnotationXmlElement extends MathMLElement {
encoding?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/semantics#src */
src?: string | undefined | SignalLike<string | undefined>;
}

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<string | undefined>;
}

export interface HTMLMathElement extends MathMLElement {
display?:
| 'block'
| 'inline'
| undefined
| SignalLike<'block' | 'inline' | undefined>;
}

export interface HTMLMEncloseElement extends MathMLElement {
notation?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMErrorElement extends MathMLElement {}

export interface HTMLMFencedElement extends MathMLElement {
close?: string | undefined | SignalLike<string | undefined>;
open?: string | undefined | SignalLike<string | undefined>;
separators?: string | undefined | SignalLike<string | undefined>;
}

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<string | undefined>;
/** @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<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mmultiscripts#superscriptshift */
superscriptshift?: string | undefined | SignalLike<string | undefined>;
}

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<boolean | undefined>;
fence?: boolean | undefined | SignalLike<boolean | undefined>;
largeop?: boolean | undefined | SignalLike<boolean | undefined>;
lspace?: string | undefined | SignalLike<string | undefined>;
maxsize?: string | undefined | SignalLike<string | undefined>;
minsize?: string | undefined | SignalLike<string | undefined>;
movablelimits?: boolean | undefined | SignalLike<boolean | undefined>;
rspace?: string | undefined | SignalLike<string | undefined>;
separator?: boolean | undefined | SignalLike<boolean | undefined>;
stretchy?: boolean | undefined | SignalLike<boolean | undefined>;
symmetric?: boolean | undefined | SignalLike<boolean | undefined>;
}

export interface HTMLMOverElement extends MathMLElement {
accent?: boolean | undefined | SignalLike<boolean | undefined>;
}

export interface HTMLMPaddedElement extends MathMLElement {
depth?: string | undefined | SignalLike<string | undefined>;
height?: string | undefined | SignalLike<string | undefined>;
lspace?: string | undefined | SignalLike<string | undefined>;
voffset?: string | undefined | SignalLike<string | undefined>;
width?: string | undefined | SignalLike<string | undefined>;
}

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<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/ms#browser_compatibility */
rquote?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMSpaceElement extends MathMLElement {
depth?: string | undefined | SignalLike<string | undefined>;
height?: string | undefined | SignalLike<string | undefined>;
width?: string | undefined | SignalLike<string | undefined>;
}

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<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#color */
color?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontsize */
fontsize?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontstyle */
fontstyle?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#fontweight */
fontweight?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptminsize */
scriptminsize?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mstyle#scriptsizemultiplier */
scriptsizemultiplier?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMSubElement extends MathMLElement {
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msub#subscriptshift */
subscriptshift?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMSubsupElement extends MathMLElement {
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#subscriptshift */
subscriptshift?: string | undefined | SignalLike<string | undefined>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msubsup#superscriptshift */
superscriptshift?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMSupElement extends MathMLElement {
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/msup#superscriptshift */
superscriptshift?: string | undefined | SignalLike<string | undefined>;
}

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<string | undefined>;
/** 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<string | undefined>;
/** 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<string | undefined>;
/** Non-standard attribute See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mtable#width */
width?: string | undefined | SignalLike<string | undefined>;
}

export interface HTMLMTdElement extends MathMLElement {
columnspan?: number | undefined | SignalLike<number | undefined>;
rowspan?: number | undefined | SignalLike<number | undefined>;
/** 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<boolean | undefined>;
}

export interface HTMLMUnderoverElement extends MathMLElement {
accent?: boolean | undefined | SignalLike<boolean | undefined>;
accentunder?: boolean | undefined | SignalLike<boolean | undefined>;
}

export interface HTMLSemanticsElement extends MathMLElement {}

export interface IntrinsicElements {
// HTML
a: HTMLAttributes<HTMLAnchorElement>;
Expand Down Expand Up @@ -2680,5 +3014,42 @@ export namespace JSXInternal {
tspan: SVGAttributes<SVGTSpanElement>;
use: SVGAttributes<SVGUseElement>;
view: SVGAttributes<SVGViewElement>;

// MathML See https://developer.mozilla.org/en-US/docs/Web/MathML
'annotation-xml': MathMLAttributes<HTMLAnnotationXmlElement>;
annotation: MathMLAttributes<HTMLAnnotationElement>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/maction */
maction: MathMLAttributes<HTMLMActionElement>;
math: MathMLAttributes<HTMLMathElement>;
/** This feature is non-standard. See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/menclose */
menclose: MathMLAttributes<HTMLMEncloseElement>;
merror: MathMLAttributes<HTMLMErrorElement>;
/** @deprecated See https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mfenced */
mfenced: HTMLAttributes<HTMLMFencedElement>;
mfrac: MathMLAttributes<HTMLMFracElement>;
mi: MathMLAttributes<HTMLMiElement>;
mmultiscripts: MathMLAttributes<HTMLMmultiScriptsElement>;
mn: MathMLAttributes<HTMLMNElement>;
mo: MathMLAttributes<HTMLMOElement>;
mover: MathMLAttributes<HTMLMOverElement>;
mpadded: MathMLAttributes<HTMLMPaddedElement>;
mphantom: MathMLAttributes<HTMLMPhantomElement>;
mprescripts: MathMLAttributes<HTMLMPrescriptsElement>;
mroot: MathMLAttributes<HTMLMRootElement>;
mrow: MathMLAttributes<HTMLMRowElement>;
ms: MathMLAttributes<HTMLMSElement>;
mspace: MathMLAttributes<HTMLMSpaceElement>;
msqrt: MathMLAttributes<HTMLMSqrtElement>;
mstyle: MathMLAttributes<HTMLMStyleElement>;
msub: MathMLAttributes<HTMLMSubElement>;
msubsup: MathMLAttributes<HTMLMSubsupElement>;
msup: MathMLAttributes<HTMLMSupElement>;
mtable: MathMLAttributes<HTMLMTableElement>;
mtd: MathMLAttributes<HTMLMTdElement>;
mtext: MathMLAttributes<HTMLMTextElement>;
mtr: MathMLAttributes<HTMLMTrElement>;
munder: MathMLAttributes<HTMLMUnderElement>;
munderover: MathMLAttributes<HTMLMUnderoverElement>;
semantics: MathMLAttributes<HTMLSemanticsElement>;
}
}