sesaparcours
    Preparing search index...

    Class MathfieldElement

    The MathfieldElement class represent a DOM element that displays math equations. It is a subclass of the standard HTMLElement class and as such inherits all of its properties and methods.

    It inherits many useful properties and methods from [[HTMLElement]] such as style, tabIndex, addEventListener(), getAttribute(), etc...

    It is the main entry point to the MathLive library.

    It is typically used to render a single equation. To render multiple equations, use multiple instances of MathfieldElement. The MathfieldElement class provides special properties and methods to control the display and behavior of <math-field> elements.

    To create a new MathfieldElement:

    // 1. Create a new MathfieldElement
    const mf = new MathfieldElement();

    // 2. Attach it to the DOM
    document.body.appendChild(mf);

    The MathfieldElement constructor has an optional argument of [[MathfieldOptions]] to configure the element. The options can also be modified later:

    // Setting options during construction
    const mf = new MathfieldElement({ smartFence: false });

    // Modifying options after construction
    mf.smartFence = true;

    To customize the appearance of the mathfield, declare the following CSS variables (custom properties) in a ruleset that applies to the mathfield.

    math-field {
    --hue: 10 // Set the highlight color and caret to a reddish hue
    }

    Alternatively you can set these CSS variables programatically:

    document.body.style.setProperty("--hue", "10");
    
    CSS Variable Usage
    --hue Hue of the highlight color and the caret
    --contains-highlight-background-color Backround property for items that contain the caret
    --primary-color Primary accent color, used for example in the virtual keyboard
    --text-font-family The font stack used in text mode
    --smart-fence-opacity Opacity of a smart fence (default is 50%)
    --smart-fence-color Color of a smart fence (default is current color)

    You can customize the appearance and zindex of the virtual keyboard panel with some CSS variables associated with a selector that applies to the virtual keyboard panel container.

    Read more about customizing the virtual keyboard appearance

    To style the virtual keyboard toggle, use the virtual-keyboard-toggle CSS part. To use it, define a CSS rule with a ::part() selector for example:

    math-field::part(virtual-keyboard-toggle) {
    color: red;
    }

    An attribute is a key-value pair set as part of the tag:

    <math-field letter-shape-style="tex"></math-field>
    

    The supported attributes are listed in the table below with their corresponding property.

    The property can also be changed directly on the MathfieldElement object:

     getElementById('mf').value = "\\sin x";
    getElementById('mf').letterShapeStyle = "text";

    The values of attributes and properties are reflected, which means you can change one or the other, for example:

    getElementById('mf').setAttribute('letter-shape-style',  'french');
    console.log(getElementById('mf').letterShapeStyle);
    // Result: "french"
    getElementById('mf').letterShapeStyle ='tex;
    console.log(getElementById('mf').getAttribute('letter-shape-style');
    // Result: 'tex'

    An exception is the value property, which is not reflected on the value attribute: for consistency with other DOM elements, the value attribute remains at its initial value.

    Attribute Property
    disabled mf.disabled
    default-mode mf.defaultMode
    letter-shape-style mf.letterShapeStyle
    min-font-scale mf.minFontScale
    popover-policy mf.popoverPolicy
    math-mode-space mf.mathModeSpace
    read-only mf.readOnly
    remove-extraneous-parentheses mf.removeExtraneousParentheses
    smart-fence mf.smartFence
    smart-mode mf.smartMode
    smart-superscript mf.smartSuperscript
    inline-shortcut-timeout mf.inlineShortcutTimeout
    script-depth mf.scriptDepth
    value value
    math-virtual-keyboard-policy mathVirtualKeyboardPolicy

    See [[MathfieldOptions]] for more details about these options.

    In addition, the following global attributes can also be used:

    • class
    • data-*
    • hidden
    • id
    • item*
    • style
    • tabindex

    Listen to these events by using addEventListener(). For events with additional arguments, the arguments are available in event.detail.

    Event Name Description
    beforeinput The value of the mathfield is about to be modified.
    input The value of the mathfield has been modified. This happens on almost every keystroke in the mathfield. The evt.data property includes a copy of evt.inputType. See InputEvent
    change The user has committed the value of the mathfield. This happens when the user presses Return or leaves the mathfield.
    selection-change The selection (or caret position) in the mathfield has changed
    mode-change The mode (math, text) of the mathfield has changed
    undo-state-change The state of the undo stack has changed. The evt.detail.type indicate if a snapshot was taken or an undo performed.
    read-aloud-status-change The status of a read aloud operation has changed
    before-virtual-keyboard-toggle The visibility of the virtual keyboard panel is about to change. The evt.detail.visible property indicate if the keyboard will be visible or not. Listen for this event on window.mathVirtualKeyboard
    virtual-keyboard-toggle The visibility of the virtual keyboard panel has changed. Listen for this event on window.mathVirtualKeyboard
    geometrychange The geometry of the virtual keyboard has changed. The evt.detail.boundingRect property is the new bounding rectangle of the virtual keyboard. Listen for this event on window.mathVirtualKeyboard
    blur The mathfield is losing focus
    focus The mathfield is gaining focus
    move-out The user has pressed an arrow key or the tab key, but there is nowhere to go. This is an opportunity to change the focus to another element if desired.
    `detail: {direction: 'forward'
    keypress The user pressed a physical keyboard key
    mount The element has been attached to the DOM
    unmount The element is about to be removed from the DOM

    zindex, events, attribute, attributes, property, properties, parts, variables, css, mathfield, mathfieldelement

    Hierarchy (View Summary)

    Implements

    Index

    Accessing and changing the content

    Customization

    Focus

    Hooks

    Localization

    Other

    constructor accessKey accessKeyLabel ariaActiveDescendantElement ariaAtomic ariaAutoComplete ariaBrailleLabel ariaBrailleRoleDescription ariaBusy ariaChecked ariaColCount ariaColIndex ariaColIndexText ariaColSpan ariaControlsElements ariaCurrent ariaDescribedByElements ariaDescription ariaDetailsElements ariaDisabled ariaErrorMessageElements ariaExpanded ariaFlowToElements ariaHasPopup ariaHidden ariaInvalid ariaKeyShortcuts ariaLabel ariaLabelledByElements ariaLevel ariaLive ariaModal ariaMultiLine ariaMultiSelectable ariaOrientation ariaOwnsElements ariaPlaceholder ariaPosInSet ariaPressed ariaReadOnly ariaRelevant ariaRequired ariaRoleDescription ariaRowCount ariaRowIndex ariaRowIndexText ariaRowSpan ariaSelected ariaSetSize ariaSort ariaValueMax ariaValueMin ariaValueNow ariaValueText assignedSlot ATTRIBUTE_NODE attributes attributeStyleMap autocapitalize autocorrect autofocus baseURI CDATA_SECTION_NODE childElementCount childNodes children className clientHeight clientLeft clientTop clientWidth COMMENT_NODE contentEditable currentCSSZoom dataset dir DOCUMENT_FRAGMENT_NODE DOCUMENT_NODE DOCUMENT_POSITION_CONTAINED_BY DOCUMENT_POSITION_CONTAINS DOCUMENT_POSITION_DISCONNECTED DOCUMENT_POSITION_FOLLOWING DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC DOCUMENT_POSITION_PRECEDING DOCUMENT_TYPE_NODE draggable ELEMENT_NODE enterKeyHint ENTITY_NODE ENTITY_REFERENCE_NODE firstChild firstElementChild hidden id inert innerHTML innerText inputMode isConnected isContentEditable lang lastChild lastElementChild localName namespaceURI nextElementSibling nextSibling nodeName nodeType nodeValue nonce? NOTATION_NODE offsetHeight offsetLeft offsetParent offsetTop offsetWidth onabort onanimationcancel onanimationend onanimationiteration onanimationstart onauxclick onbeforeinput onbeforematch onbeforetoggle onblur oncancel oncanplay oncanplaythrough onchange onclick onclose oncontextlost oncontextmenu oncontextrestored oncopy oncuechange oncut ondblclick ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange onemptied onended onerror onfocus onformdata onfullscreenchange onfullscreenerror ongotpointercapture oninput oninvalid onkeydown onkeypress onkeyup onload onloadeddata onloadedmetadata onloadstart onlostpointercapture onmousedown onmouseenter onmouseleave onmousemove onmouseout onmouseover onmouseup onpaste onpause onplay onplaying onpointercancel onpointerdown onpointerenter onpointerleave onpointermove onpointerout onpointerover onpointerrawupdate onpointerup onprogress onratechange onreset onresize onscroll onscrollend onsecuritypolicyviolation onseeked onseeking onselect onselectionchange onselectstart onslotchange onstalled onsubmit onsuspend ontimeupdate ontoggle ontouchcancel? ontouchend? ontouchmove? ontouchstart? ontransitioncancel ontransitionend ontransitionrun ontransitionstart onvolumechange onwaiting onwebkitanimationend onwebkitanimationiteration onwebkitanimationstart onwebkittransitionend onwheel outerHTML outerText ownerDocument parentElement parentNode popover prefix previousElementSibling previousSibling PROCESSING_INSTRUCTION_NODE role scrollHeight scrollLeft scrollTop scrollWidth shadowRoot slot spellcheck tabIndex tagName TEXT_NODE title translate writingSuggestions createHTML readAloudHook speakHook version classList computeEngine decimalSeparator disabled fontsDirectory form isSelectionEditable locale mathVirtualKeyboard mode name part readonly readOnly soundsDirectory strings style textContent type computeEngine fontsDirectory formAssociated isFunction observedAttributes optionsAttributes plonkSound speechEngine speechEngineRate speechEngineVoice textToSpeechMarkup textToSpeechRules textToSpeechRulesOptions addEventListener after animate append appendChild attachInternals attachShadow attributeChangedCallback before checkVisibility click cloneNode closest compareDocumentPosition computedStyleMap connectedCallback contains disconnectedCallback dispatchEvent executeCommand getAnimations getAttribute getAttributeNames getAttributeNode getAttributeNodeNS getAttributeNS getBoundingClientRect getClientRects getElementsByClassName getElementsByTagName getElementsByTagNameNS getHTML getPromptState getRootNode handleEvent hasAttribute hasAttributeNS hasAttributes hasChildNodes hasPointerCapture hidePopover insertAdjacentElement insertAdjacentHTML insertAdjacentText insertBefore isDefaultNamespace isEqualNode isSameNode lookupNamespaceURI lookupPrefix matches normalize onPointerDown prepend querySelector querySelectorAll releasePointerCapture remove removeAttribute removeAttributeNode removeAttributeNS removeChild removeEventListener replaceChild replaceChildren replaceWith requestFullscreen requestPointerLock scroll scrollBy scrollIntoView scrollTo setAttribute setAttributeNode setAttributeNodeNS setAttributeNS setHTMLUnsafe setPointerCapture showMenu showPopover toggleAttribute togglePopover upgradeProperty webkitMatchesSelector loadSound playSound

    Prompts

    Selection

    Undo

    Virtual Keyboard

    Accessing and changing the content

    • get errors(): readonly LatexSyntaxError[]

      Return an array of LaTeX syntax errors, if any.

      Returns readonly LatexSyntaxError[]

    • get expression(): any

      If the Compute Engine library is available, return a boxed MathJSON expression representing the value of the mathfield.

      To load the Compute Engine library, use:

      import 'https://unpkg.com/@cortex-js/compute-engine?module';
      

      Returns any

    • set expression(mathJson: any): void

      Parameters

      • mathJson: any

      Returns void

    • get value(): string

      The content of the mathfield as a LaTeX expression.

      document.querySelector('mf').value = '\\frac{1}{\\pi}'
      

      Returns string

    • set value(value: string): void

      Parameters

      • value: string

      Returns void

    • Update the style (color, bold, italic, etc...) of the selection or sets the style to be applied to future input.

      If there is no selection and no range is specified, the style will apply to the next character typed.

      If a range is specified, the style is applied to the range, otherwise, if there is a selection, the style is applied to the selection.

      If the operation is "toggle" and the range already has this style, remove it. If the range has the style partially applied (i.e. only some sections), remove it from those sections, and apply it to the entire range.

      If the operation is "set", the style is applied to the range, whether it already has the style or not.

      The default operation is "set".

      Parameters

      Returns void

    • Return a textual representation of the content of the mathfield.

      Parameters

      • Optionalformat: OutputFormat

        The format of the result. If using math-json the Compute Engine library must be loaded, for example with:

        import "https://unpkg.com/@cortex-js/compute-engine?module";
        

        Default: "latex"

      Returns string

    • Return the value of the mathfield from start to end

      Parameters

      Returns string

    • Return the value of the mathfield in range

      Parameters

      Returns string

    • Internal

      Parameters

      Returns string

    • Insert a block of text at the current insertion point.

      This method can be called explicitly or invoked as a selector with executeCommand("insert").

      After the insertion, the selection will be set according to the options.selectionMode.

      Parameters

      Returns boolean

    • Parameters

      Returns "some" | "none" | "all"

    • Set the content of the mathfield to the text interpreted as a LaTeX expression.

      Parameters

      Returns void

    Customization

    • get backgroundColorMap(): (name: string) => undefined | string

      Returns (name: string) => undefined | string

    • set backgroundColorMap(value: (name: string) => undefined | string): void

      Parameters

      • value: (name: string) => undefined | string

      Returns void

    • get colorMap(): (name: string) => undefined | string

      Map a color name as used in commands such as \textcolor{}{} or \colorbox{}{} to a CSS color value.

      Use this option to override the standard mapping of colors such as "yellow" or "red".

      If the name is not one you expected, return undefined and the default color mapping will be applied.

      If a backgroundColorMap() function is not provided, the colorMap() function will be used instead.

      If colorMap() is not provided, default color mappings are applied.

      The following color names have been optimized for a legible foreground and background values, and are recommended:

      • red, orange, yellow, lime, green, teal, blue, indigo, purple, magenta, black, dark-grey, grey, light-grey, white

      Returns (name: string) => undefined | string

    • set colorMap(value: (name: string) => undefined | string): void

      Parameters

      • value: (name: string) => undefined | string

      Returns void

    • get defaultMode(): "text" | "math" | "inline-math"

      The mode of the element when it is empty:

      • "math": equivalent to \displaystyle (display math mode)
      • "inline-math": equivalent to \inlinestyle (inline math mode)
      • "text": text mode

      Returns "text" | "math" | "inline-math"

    • set defaultMode(value: "text" | "math" | "inline-math"): void

      Parameters

      • value: "text" | "math" | "inline-math"

      Returns void

    • get environmentPopoverPolicy(): "auto" | "off" | "on"

      If "auto" a popover with commands to edit an environment (matrix) is displayed when the virtual keyboard is displayed.

      Default: "auto"

      Returns "auto" | "off" | "on"

    • set environmentPopoverPolicy(value: "auto" | "off" | "on"): void

      Parameters

      • value: "auto" | "off" | "on"

      Returns void

    • get inlineShortcutTimeout(): number

      Returns number

    • set inlineShortcutTimeout(value: number): void

      Parameters

      • value: number

      Returns void

    • get keybindings(): readonly Keybinding[]

      Returns readonly Keybinding[]

    • set keybindings(value: readonly Keybinding[]): void

      Parameters

      Returns void

    • get letterShapeStyle(): "auto" | "tex" | "iso" | "french" | "upright"

      Control the letter shape style:

      letterShapeStyle xyz ABC αβɣ ΓΔΘ
      iso it it it it
      tex it it it up
      french it up up up
      upright up up up up

      (it) = italic (up) = upright

      The default letter shape style is auto, which indicates that french should be used if the locale is "french", and tex otherwise.

      (Historical Note)

      Where do the "french" rules come from? The TeX standard font, Computer Modern, is based on Monotype 155M, itself based on the Porson greek font which was one of the most widely used Greek fonts in english-speaking countries. This font had upright capitals, but slanted lowercase. In France, the traditional font for greek was Didot, which has both upright capitals and lowercase.

      Returns "auto" | "tex" | "iso" | "french" | "upright"

    • set letterShapeStyle(value: "auto" | "tex" | "iso" | "french" | "upright"): void

      Parameters

      • value: "auto" | "tex" | "iso" | "french" | "upright"

      Returns void

    • get macros(): Readonly<MacroDictionary>

      A dictionary of LaTeX macros to be used to interpret and render the content.

      For example, to add a new macro to the default macro dictionary:

      mf.macros = {
      ...mf.macros,
      smallfrac: '^{#1}\\!\\!/\\!_{#2}',
      };

      Note that ...mf.macros is used to keep the existing macros and add to them. Otherwise, all the macros are replaced with the new definition.

      The code above will support the following notation:

      \smallfrac{5}{16}
      

      Returns Readonly<MacroDictionary>

    • set macros(value: MacroDictionary): void

      Parameters

      Returns void

    • get mathModeSpace(): string

      The LaTeX string to insert when the spacebar is pressed (on the physical or virtual keyboard).

      Use "\;" for a thick space, "\:" for a medium space, "\," for a thin space.

      Do not use " " (a regular space), as whitespace is skipped by LaTeX so this will do nothing.

      Default: "" (empty string)

      Returns string

    • set mathModeSpace(value: string): void

      Parameters

      • value: string

      Returns void

    • get mathVirtualKeyboardPolicy(): VirtualKeyboardPolicy

      Returns VirtualKeyboardPolicy

    • set mathVirtualKeyboardPolicy(value: VirtualKeyboardPolicy): void

      Parameters

      Returns void

    • Returns readonly MenuItem[]

    • Parameters

      Returns void

    • get minFontScale(): number

      Set the minimum relative font size for nested superscripts and fractions. The value should be a number between 0 and 1. The size is in releative em units relative to the font size of the math-field element. Specifying a value of 0 allows the math-field to use its default sizing logic.

      Default: 0

      Returns number

    • set minFontScale(value: number): void

      Parameters

      • value: number

      Returns void

    • get placeholderSymbol(): string

      The symbol used to represent a placeholder in an expression.

      Default: â–¢ U+25A2 WHITE SQUARE WITH ROUNDED CORNERS

      Returns string

    • set placeholderSymbol(value: string): void

      Parameters

      • value: string

      Returns void

    • get popoverPolicy(): "auto" | "off"

      If "auto" a popover with suggestions may be displayed when a LaTeX command is input.

      Default: "auto"

      Returns "auto" | "off"

    • set popoverPolicy(value: "auto" | "off"): void

      Parameters

      • value: "auto" | "off"

      Returns void

    • get registers(): Readonly<Registers>

      TeX registers represent "variables" and "constants".

      Changing the values of some registers can modify the layout of math expressions.

      The following registers might be of interest:

      • thinmuskip: space between items of math lists
      • medmuskip: space between binary operations
      • thickmuskip: space between relational operators
      • nulldelimiterspace: minimum space to leave blank in delimiter constructions, for example around a fraction
      • delimitershortfall: maximum space to overlap adjacent elements when a delimiter is too short
      • jot: space between lines in an array, or between rows in a multiline construct
      • arraycolsep: space between columns in an array
      • arraystretch: factor by which to stretch the height of each row in an array

      To modify a register, use:

      mf.registers.arraystretch = 1.5;
      mf.registers.thinmuskip = { dimension: 2, unit: "mu" };
      mf.registers.medmuskip = "3mu";

      Returns Readonly<Registers>

    • set registers(value: Registers): void

      Parameters

      Returns void

    • get removeExtraneousParentheses(): boolean

      If true, extra parentheses around a numerator or denominator are removed automatically.

      Default: true

      Returns boolean

    • set removeExtraneousParentheses(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get scriptDepth(): number | [number, number]

      This option controls how many levels of subscript/superscript can be entered. For example, if scriptDepth is "1", there can be one level of superscript or subscript. Attempting to enter a superscript while inside a superscript will be rejected. Setting a value of 0 will prevent entry of any superscript or subscript (but not limits for sum, integrals, etc...)

      This can make it easier to enter equations that fit what's expected for the domain where the mathfield is used.

      To control the depth of superscript and subscript independently, provide an array: the first element indicate the maximum depth for subscript and the second element the depth of superscript. Thus, a value of [0, 1] would suppress the entry of subscripts, and allow one level of superscripts.

      Returns number | [number, number]

    • set scriptDepth(value: number | [number, number]): void

      Parameters

      • value: number | [number, number]

      Returns void

    • get smartFence(): boolean

      When true and an open fence is entered via typedText() it will generate a contextually appropriate markup, for example using \left...\right if applicable.

      When false, the literal value of the character will be inserted instead.

      Returns boolean

    • set smartFence(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get smartMode(): boolean

      When true, during text input the field will switch automatically between 'math' and 'text' mode depending on what is typed and the context of the formula. If necessary, what was previously typed will be 'fixed' to account for the new info.

      For example, when typing "if x >0":

      Type Interpretation
      i math mode, imaginary unit
      if text mode, english word "if"
      if x all in text mode, maybe the next word is xylophone?
      if x > "if" stays in text mode, but now "x >" is in math mode
      if x > 0 "if" in text mode, "x > 0" in math mode

      Default: false

      Manually switching mode (by typing alt/option+=) will temporarily turn off smart mode.

      Examples

      • slope = rise/run
      • If x > 0, then f(x) = sin(x)
      • x^2 + sin (x) when x > 0
      • When x<0, x^{2n+1}<0
      • Graph x^2 -x+3 =0 for 0<=x<=5
      • Divide by x-3 and then add x^2-1 to both sides
      • Given g(x) = 4x – 3, when does g(x)=0?
      • Let D be the set {(x,y)|0<=x<=1 and 0<=y<=x}
      • \int\_{the unit square} f(x,y) dx dy
      • For all n in NN

      Returns boolean

    • set smartMode(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get smartSuperscript(): boolean

      When true and a digit is entered in an empty superscript, the cursor leaps automatically out of the superscript. This makes entry of common polynomials easier and faster. If entering other characters (for example "n+1") the navigation out of the superscript must be done manually (by using the cursor keys or the spacebar to leap to the next insertion point).

      When false, the navigation out of the superscript must always be done manually.

      Returns boolean

    • set smartSuperscript(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    Focus

    • Remove the focus from the mathfield (will no longer respond to keyboard input).

      Returns void

    • Sets the focus to the mathfield (will respond to keyboard input).

      Returns void

    • Return true if the mathfield is currently focused (responds to keyboard input).

      Returns boolean

    Hooks

    • get onExport(): (from: Mathfield, latex: string, range: Range) => string

      This hooks is invoked when the user has requested to export the content of the mathfield, for example when pressing ctrl/command+C.

      This hook should return as a string what should be exported.

      The range argument indicates which portion of the mathfield should be exported. It is not always equal to the current selection, but it can be used to export a format other than LaTeX.

      By default this is:

       return `\\begin{equation*}${latex}\\end{equation*}`;
      

      Returns (from: Mathfield, latex: string, range: Range) => string

    • set onExport(
          value: (from: Mathfield, latex: string, range: Range) => string,
      ): void

      Parameters

      Returns void

    • get onInlineShortcut(): (sender: Mathfield, symbol: string) => string

      A hook invoked when a string of characters that could be interpreted as shortcut has been typed.

      If not a special shortcut, return the empty string "".

      Use this handler to detect multi character symbols, and return them wrapped appropriately, for example \mathrm{${symbol}}.

      Returns (sender: Mathfield, symbol: string) => string

    • set onInlineShortcut(value: (sender: Mathfield, symbol: string) => string): void

      Parameters

      • value: (sender: Mathfield, symbol: string) => string

      Returns void

    • get onScrollIntoView(): null | ((sender: Mathfield) => void)

      A hook invoked when a scrolling the mathfield into view is necessary.

      Use when scrolling the page would not solve the problem, e.g. when the mathfield is in another div that has scrollable content.

      Returns null | ((sender: Mathfield) => void)

    • set onScrollIntoView(value: null | ((sender: Mathfield) => void)): void

      Parameters

      Returns void

    Localization

    fractionNavigationOrder: "numerator-denominator" | "denominator-numerator"

    When using the keyboard to navigate a fraction, the order in which the numerator and navigator are traversed:

    • "numerator-denominator": first the elements in the numerator, then the elements in the denominator.
    • "denominator-numerator": first the elements in the denominator, then the elements in the numerator. In some East-Asian cultures, fractions are read and written denominator first ("fÄ“nzhÄ«"). With this option the keyboard navigation follows this convention.

    Default: "numerator-denominator"

    • get decimalSeparator(): "," | "."

      The symbol used to separate the integer part from the fractional part of a number.

      When "," is used, the corresponding LaTeX string is {,}, in order to ensure proper spacing (otherwise an extra gap is displayed after the comma).

      This affects:

      • what happens when the , key is pressed (if decimalSeparator is ",", the {,} LaTeX string is inserted when following some digits)
      • the label and behavior of the "." key in the default virtual keyboard

      Default: "."

      Returns "," | "."

    • set decimalSeparator(value: "," | "."): void

      Parameters

      • value: "," | "."

      Returns void

    • get locale(): string

      The locale (language + region) to use for string localization.

      If none is provided, the locale of the browser is used.

      Returns string

    • set locale(value: string): void

      Parameters

      • value: string

      Returns void

    • get strings(): Readonly<Record<string, Record<string, string>>>

      An object whose keys are a locale string, and whose values are an object of string identifier to localized string.

      Example

      mf.strings = {
      "fr-CA": {
      "tooltip.undo": "Annuler",
      "tooltip.redo": "Refaire",
      }
      }

      If the locale is already supported, this will override the existing strings. If the locale is not supported, it will be added.

      Returns Readonly<Record<string, Record<string, string>>>

    • set strings(value: Record<string, Record<string, string>>): void

      Parameters

      Returns void

    Other

    • To create programmatically a new mathfield use:

      let mfe = new MathfieldElement();

      // Set initial value and options
      mfe.value = "\\frac{\\sin(x)}{\\cos(x)}";

      // Options can be set either as an attribute (for simple options)...
      mfe.setAttribute("letter-shape-style", "french");

      // ... or using properties
      mfe.letterShapeStyle = "french";

      // Attach the element to the DOM
      document.body.appendChild(mfe);

      Parameters

      Returns MathfieldElement

    accessKey: string

    The HTMLElement.accessKey property sets the keystroke which a user can press to jump to a given element.

    MDN Reference

    accessKeyLabel: string

    The HTMLElement.accessKeyLabel read-only property returns a string containing the element's browser-assigned access key (if any); otherwise it returns an empty string.

    MDN Reference

    ariaActiveDescendantElement: null | Element
    ariaAtomic: null | string
    ariaAutoComplete: null | string
    ariaBrailleLabel: null | string
    ariaBrailleRoleDescription: null | string
    ariaBusy: null | string
    ariaChecked: null | string
    ariaColCount: null | string
    ariaColIndex: null | string
    ariaColIndexText: null | string
    ariaColSpan: null | string
    ariaControlsElements: null | readonly Element[]
    ariaCurrent: null | string
    ariaDescribedByElements: null | readonly Element[]
    ariaDescription: null | string
    ariaDetailsElements: null | readonly Element[]
    ariaDisabled: null | string
    ariaErrorMessageElements: null | readonly Element[]
    ariaExpanded: null | string
    ariaFlowToElements: null | readonly Element[]
    ariaHasPopup: null | string
    ariaHidden: null | string
    ariaInvalid: null | string
    ariaKeyShortcuts: null | string
    ariaLabel: null | string
    ariaLabelledByElements: null | readonly Element[]
    ariaLevel: null | string
    ariaLive: null | string
    ariaModal: null | string
    ariaMultiLine: null | string
    ariaMultiSelectable: null | string
    ariaOrientation: null | string
    ariaOwnsElements: null | readonly Element[]
    ariaPlaceholder: null | string
    ariaPosInSet: null | string
    ariaPressed: null | string
    ariaReadOnly: null | string
    ariaRelevant: null | string
    ariaRequired: null | string
    ariaRoleDescription: null | string
    ariaRowCount: null | string
    ariaRowIndex: null | string
    ariaRowIndexText: null | string
    ariaRowSpan: null | string
    ariaSelected: null | string
    ariaSetSize: null | string
    ariaSort: null | string
    ariaValueMax: null | string
    ariaValueMin: null | string
    ariaValueNow: null | string
    ariaValueText: null | string
    assignedSlot: null | HTMLSlotElement
    ATTRIBUTE_NODE: 2
    attributes: NamedNodeMap

    The Element.attributes property returns a live collection of all attribute nodes registered to the specified node.

    MDN Reference

    attributeStyleMap: StylePropertyMap
    autocapitalize: string

    The autocapitalize property of the HTMLElement interface represents the element's capitalization behavior for user input.

    MDN Reference

    autocorrect: boolean

    The autocorrect property of the HTMLElement interface controls whether or not autocorrection of editable text is enabled for spelling and/or punctuation errors.

    MDN Reference

    autofocus: boolean
    baseURI: string

    The read-only baseURI property of the Node interface returns the absolute base URL of the document containing the node.

    MDN Reference

    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    The read-only childNodes property of the Node interface returns a live the first child node is assigned index 0.

    MDN Reference

    children: HTMLCollection

    Returns the child elements.

    MDN Reference

    className: string

    The className property of the of the specified element.

    MDN Reference

    clientHeight: number

    The clientHeight read-only property of the Element interface is zero for elements with no CSS or inline layout boxes; otherwise, it's the inner height of an element in pixels.

    MDN Reference

    clientLeft: number

    The clientLeft read-only property of the Element interface returns the width of the left border of an element in pixels.

    MDN Reference

    clientTop: number

    The clientTop read-only property of the Element interface returns the width of the top border of an element in pixels.

    MDN Reference

    clientWidth: number

    The clientWidth read-only property of the Element interface is zero for inline elements and elements with no CSS; otherwise, it's the inner width of an element in pixels.

    MDN Reference

    COMMENT_NODE: 8

    node is a Comment node.

    contentEditable: string
    currentCSSZoom: number

    The currentCSSZoom read-only property of the Element interface provides the 'effective' CSS zoom of an element, taking into account the zoom applied to the element and all its parent elements.

    MDN Reference

    dataset: DOMStringMap
    dir: string

    The HTMLElement.dir property indicates the text writing directionality of the content of the current element.

    MDN Reference

    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    DOCUMENT_NODE: 9

    node is a document.

    DOCUMENT_POSITION_CONTAINED_BY: 16

    Set when other is a descendant of node.

    DOCUMENT_POSITION_CONTAINS: 8

    Set when other is an ancestor of node.

    DOCUMENT_POSITION_DISCONNECTED: 1

    Set when node and other are not in the same tree.

    DOCUMENT_POSITION_FOLLOWING: 4

    Set when other is following node.

    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32
    DOCUMENT_POSITION_PRECEDING: 2

    Set when other is preceding node.

    DOCUMENT_TYPE_NODE: 10

    node is a doctype.

    draggable: boolean

    The draggable property of the HTMLElement interface gets and sets a Boolean primitive indicating if the element is draggable.

    MDN Reference

    ELEMENT_NODE: 1

    node is an element.

    enterKeyHint: string
    ENTITY_NODE: 6
    ENTITY_REFERENCE_NODE: 5
    firstChild: null | ChildNode

    The read-only firstChild property of the Node interface returns the node's first child in the tree, or null if the node has no children.

    MDN Reference

    firstElementChild: null | Element

    Returns the first child that is an element, and null otherwise.

    MDN Reference

    hidden: boolean

    The HTMLElement property hidden reflects the value of the element's hidden attribute.

    MDN Reference

    id: string

    The id property of the Element interface represents the element's identifier, reflecting the id global attribute.

    MDN Reference

    inert: boolean

    The HTMLElement property inert reflects the value of the element's inert attribute.

    MDN Reference

    innerHTML: string

    The innerHTML property of the Element interface gets or sets the HTML or XML markup contained within the element.

    MDN Reference

    innerText: string

    The innerText property of the HTMLElement interface represents the rendered text content of a node and its descendants.

    MDN Reference

    inputMode: string
    isConnected: boolean

    The read-only isConnected property of the Node interface returns a boolean indicating whether the node is connected (directly or indirectly) to a Document object.

    MDN Reference

    isContentEditable: boolean
    lang: string

    The lang property of the HTMLElement interface indicates the base language of an element's attribute values and text content, in the form of a MISSING: RFC(5646, 'BCP 47 language identifier tag')].

    MDN Reference

    lastChild: null | ChildNode

    The read-only lastChild property of the Node interface returns the last child of the node, or null if there are no child nodes.

    MDN Reference

    lastElementChild: null | Element

    Returns the last child that is an element, and null otherwise.

    MDN Reference

    localName: string

    The Element.localName read-only property returns the local part of the qualified name of an element.

    MDN Reference

    namespaceURI: null | string

    The Element.namespaceURI read-only property returns the namespace URI of the element, or null if the element is not in a namespace.

    MDN Reference

    nextElementSibling: null | Element

    Returns the first following sibling that is an element, and null otherwise.

    MDN Reference

    nextSibling: null | ChildNode

    The read-only nextSibling property of the Node interface returns the node immediately following the specified one in their parent's Node.childNodes, or returns null if the specified node is the last child in the parent element.

    MDN Reference

    nodeName: string

    The read-only nodeName property of Node returns the name of the current node as a string.

    MDN Reference

    nodeType: number

    The read-only nodeType property of a Node interface is an integer that identifies what the node is.

    MDN Reference

    nodeValue: null | string

    The nodeValue property of the Node interface returns or sets the value of the current node.

    MDN Reference

    nonce?: string
    NOTATION_NODE: 12
    offsetHeight: number

    The offsetHeight read-only property of the HTMLElement interface returns the height of an element, including vertical padding and borders, as an integer.

    MDN Reference

    offsetLeft: number

    The offsetLeft read-only property of the HTMLElement interface returns the number of pixels that the upper left corner of the current element is offset to the left within the HTMLElement.offsetParent node.

    MDN Reference

    offsetParent: null | Element

    The HTMLElement.offsetParent read-only property returns a reference to the element which is the closest (nearest in the containment hierarchy) positioned ancestor element.

    MDN Reference

    offsetTop: number

    The offsetTop read-only property of the HTMLElement interface returns the distance from the outer border of the current element (including its margin) to the top padding edge of the HTMLelement.offsetParent, the closest positioned ancestor element.

    MDN Reference

    offsetWidth: number

    The offsetWidth read-only property of the HTMLElement interface returns the layout width of an element as an integer.

    MDN Reference

    onabort: null | ((this: GlobalEventHandlers, ev: UIEvent) => any)
    onanimationcancel:
        | null
        | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
    onanimationend: null | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
    onanimationiteration:
        | null
        | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
    onanimationstart:
        | null
        | ((this: GlobalEventHandlers, ev: AnimationEvent) => any)
    onauxclick: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onbeforeinput: null | ((this: GlobalEventHandlers, ev: InputEvent) => any)
    onbeforematch: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onbeforetoggle: null | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)
    onblur: null | ((this: GlobalEventHandlers, ev: FocusEvent) => any)
    oncancel: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncanplay: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncanplaythrough: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onclick: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onclose: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncontextlost: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncontextmenu: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    oncontextrestored: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncopy: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
    oncuechange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oncut: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
    ondblclick: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    ondrag: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondragend: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondragenter: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondragleave: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondragover: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondragstart: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondrop: null | ((this: GlobalEventHandlers, ev: DragEvent) => any)
    ondurationchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onemptied: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onended: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onfocus: null | ((this: GlobalEventHandlers, ev: FocusEvent) => any)
    onformdata: null | ((this: GlobalEventHandlers, ev: FormDataEvent) => any)
    onfullscreenchange: null | ((this: Element, ev: Event) => any)
    onfullscreenerror: null | ((this: Element, ev: Event) => any)
    ongotpointercapture:
        | null
        | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    oninput: null | ((this: GlobalEventHandlers, ev: Event) => any)
    oninvalid: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onkeydown: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)
    onkeypress: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)

    MDN Reference

    onkeyup: null | ((this: GlobalEventHandlers, ev: KeyboardEvent) => any)
    onload: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onloadeddata: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onloadedmetadata: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onloadstart: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onlostpointercapture:
        | null
        | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onmousedown: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmouseenter: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmouseleave: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmousemove: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmouseout: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmouseover: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onmouseup: null | ((this: GlobalEventHandlers, ev: MouseEvent) => any)
    onpaste: null | ((this: GlobalEventHandlers, ev: ClipboardEvent) => any)
    onpause: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onplay: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onplaying: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onpointercancel: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerdown: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerenter: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerleave: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointermove: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerout: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerover: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onpointerrawupdate: null | ((this: GlobalEventHandlers, ev: Event) => any)

    Available only in secure contexts.

    MDN Reference

    onpointerup: null | ((this: GlobalEventHandlers, ev: PointerEvent) => any)
    onprogress: null | ((this: GlobalEventHandlers, ev: ProgressEvent) => any)
    onratechange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onreset: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onresize: null | ((this: GlobalEventHandlers, ev: UIEvent) => any)
    onscroll: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onscrollend: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onsecuritypolicyviolation:
        | null
        | ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any)
    onseeked: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onseeking: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onselect: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onselectionchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onselectstart: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onslotchange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onstalled: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onsubmit: null | ((this: GlobalEventHandlers, ev: SubmitEvent) => any)
    onsuspend: null | ((this: GlobalEventHandlers, ev: Event) => any)
    ontimeupdate: null | ((this: GlobalEventHandlers, ev: Event) => any)
    ontoggle: null | ((this: GlobalEventHandlers, ev: ToggleEvent) => any)
    ontouchcancel?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
    ontouchend?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
    ontouchmove?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
    ontouchstart?: null | ((this: GlobalEventHandlers, ev: TouchEvent) => any)
    ontransitioncancel:
        | null
        | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
    ontransitionend:
        | null
        | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
    ontransitionrun:
        | null
        | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
    ontransitionstart:
        | null
        | ((this: GlobalEventHandlers, ev: TransitionEvent) => any)
    onvolumechange: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onwaiting: null | ((this: GlobalEventHandlers, ev: Event) => any)
    onwebkitanimationend: null | ((this: GlobalEventHandlers, ev: Event) => any)

    This is a legacy alias of onanimationend.

    MDN Reference

    onwebkitanimationiteration:
        | null
        | ((this: GlobalEventHandlers, ev: Event) => any)

    This is a legacy alias of onanimationiteration.

    MDN Reference

    onwebkitanimationstart: null | ((this: GlobalEventHandlers, ev: Event) => any)

    This is a legacy alias of onanimationstart.

    MDN Reference

    onwebkittransitionend: null | ((this: GlobalEventHandlers, ev: Event) => any)

    This is a legacy alias of ontransitionend.

    MDN Reference

    onwheel: null | ((this: GlobalEventHandlers, ev: WheelEvent) => any)
    outerHTML: string

    The outerHTML attribute of the Element DOM interface gets the serialized HTML fragment describing the element including its descendants.

    MDN Reference

    outerText: string

    The outerText property of the HTMLElement interface returns the same value as HTMLElement.innerText.

    MDN Reference

    ownerDocument: Document

    The read-only ownerDocument property of the Node interface returns the top-level document object of the node.

    MDN Reference

    parentElement: null | HTMLElement

    The read-only parentElement property of Node interface returns the DOM node's parent Element, or null if the node either has no parent, or its parent isn't a DOM Element.

    MDN Reference

    parentNode: null | ParentNode

    The read-only parentNode property of the Node interface returns the parent of the specified node in the DOM tree.

    MDN Reference

    popover: null | string

    The popover property of the HTMLElement interface gets and sets an element's popover state via JavaScript ('auto', 'hint', or 'manual'), and can be used for feature detection.

    MDN Reference

    prefix: null | string

    The Element.prefix read-only property returns the namespace prefix of the specified element, or null if no prefix is specified.

    MDN Reference

    previousElementSibling: null | Element

    Returns the first preceding sibling that is an element, and null otherwise.

    MDN Reference

    previousSibling: null | ChildNode

    The read-only previousSibling property of the Node interface returns the node immediately preceding the specified one in its parent's or null if the specified node is the first in that list.

    MDN Reference

    PROCESSING_INSTRUCTION_NODE: 7

    node is a ProcessingInstruction node.

    role: null | string
    scrollHeight: number

    The scrollHeight read-only property of the Element interface is a measurement of the height of an element's content, including content not visible on the screen due to overflow.

    MDN Reference

    scrollLeft: number

    The scrollLeft property of the Element interface gets or sets the number of pixels by which an element's content is scrolled from its left edge.

    MDN Reference

    scrollTop: number

    The scrollTop property of the Element interface gets or sets the number of pixels by which an element's content is scrolled from its top edge.

    MDN Reference

    scrollWidth: number

    The scrollWidth read-only property of the Element interface is a measurement of the width of an element's content, including content not visible on the screen due to overflow.

    MDN Reference

    shadowRoot: null | ShadowRoot

    The Element.shadowRoot read-only property represents the shadow root hosted by the element.

    MDN Reference

    slot: string

    The slot property of the Element interface returns the name of the shadow DOM slot the element is inserted in.

    MDN Reference

    spellcheck: boolean

    The spellcheck property of the HTMLElement interface represents a boolean value that controls the spell-checking hint.

    MDN Reference

    tabIndex: number
    tagName: string

    The tagName read-only property of the Element interface returns the tag name of the element on which it's called.

    MDN Reference

    TEXT_NODE: 3

    node is a Text node.

    title: string

    The HTMLElement.title property represents the title of the element: the text usually displayed in a 'tooltip' popup when the mouse is over the node.

    MDN Reference

    translate: boolean

    The translate property of the HTMLElement interface indicates whether an element's attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged.

    MDN Reference

    writingSuggestions: string

    The writingSuggestions property of the HTMLElement interface is a string indicating if browser-provided writing suggestions should be enabled under the scope of the element or not.

    MDN Reference

    createHTML: (html: string) => any

    Support for Trusted Type.

    This optional function will be called before a string of HTML is injected in the DOM, allowing that string to be sanitized according to a policy defined by the host.

    readAloudHook: (element: HTMLElement, text: string) => void
    speakHook: (text: string) => void
    version: string
    • get classList(): DOMTokenList

      The Element.classList is a read-only property that returns a live DOMTokenList collection of the class attributes of the element.

      MDN Reference

      Returns DOMTokenList

    • set classList(value: string): void

      Parameters

      • value: string

      Returns void

    • get computeEngine(): never
      Internal

      Returns never

    • set computeEngine(_val: unknown): void
      Internal

      Parameters

      • _val: unknown

      Returns void

    • get decimalSeparator(): never
      Internal

      Returns never

    • set decimalSeparator(_val: unknown): void
      Internal

      Parameters

      • _val: unknown

      Returns void

    • get disabled(): boolean

      Returns boolean

    • set disabled(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get fontsDirectory(): never
      Internal

      Returns never

    • set fontsDirectory(_value: unknown): void
      Internal

      Parameters

      • _value: unknown

      Returns void

    • get form(): null | HTMLFormElement

      Returns null | HTMLFormElement

    • get isSelectionEditable(): boolean

      Returns boolean

    • get locale(): never
      Internal

      Returns never

    • set locale(_value: unknown): void
      Internal

      Parameters

      • _value: unknown

      Returns void

    • get mathVirtualKeyboard(): never
      Internal

      Returns never

    • get mode(): ParseMode

      Returns ParseMode

    • set mode(value: ParseMode): void

      Parameters

      Returns void

    • get name(): string

      Returns string

    • get part(): DOMTokenList

      The part property of the Element interface represents the part identifier(s) of the element (i.e., set using the part attribute), returned as a DOMTokenList.

      MDN Reference

      Returns DOMTokenList

    • set part(value: string): void

      Parameters

      • value: string

      Returns void

    • get readonly(): boolean

      Returns boolean

    • set readonly(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get readOnly(): boolean

      Returns boolean

    • set readOnly(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get soundsDirectory(): never
      Internal

      Returns never

    • set soundsDirectory(_value: unknown): void
      Internal

      Parameters

      • _value: unknown

      Returns void

    • get strings(): never
      Internal

      Returns never

    • set strings(_val: unknown): void
      Internal

      Parameters

      • _val: unknown

      Returns void

    • get textContent(): string

      Returns string

    • set textContent(value: null | string): void

      The textContent property of the Node interface represents the text content of the node and its descendants.

      MDN Reference

      Parameters

      • value: null | string

      Returns void

    • get type(): string

      Returns string

    • get computeEngine(): null | ComputeEngine

      A custom compute engine instance. If none is provided, a default one is used. If null is specified, no compute engine is used.

      Returns null | ComputeEngine

    • set computeEngine(value: null | ComputeEngine): void

      Parameters

      Returns void

    • get fontsDirectory(): null | string

      A URL fragment pointing to the directory containing the fonts necessary to render a formula.

      These fonts are available in the /dist/fonts directory of the SDK.

      Customize this value to reflect where you have copied these fonts, or to use the CDN version.

      The default value is "./fonts". Use null to prevent any fonts from being loaded.

      Changing this setting after the mathfield has been created will have no effect.

      {
      // Use the CDN version
      fontsDirectory: ''
      }
      {
      // Use a directory called "fonts", located next to the
      // `mathlive.js` (or `mathlive.mjs`) file.
      fontsDirectory: './fonts'
      }
      {
      // Use a directory located at the root of your website
      fontsDirectory: 'https://example.com/fonts'
      }

      Returns null | string

    • set fontsDirectory(value: null | string): void

      Parameters

      • value: null | string

      Returns void

    • get formAssociated(): boolean

      Returns boolean

    • get isFunction(): (command: string) => boolean

      Returns (command: string) => boolean

    • set isFunction(value: (command: string) => boolean): void

      Parameters

      • value: (command: string) => boolean

      Returns void

    • get observedAttributes(): readonly string[]
      Internal

      Custom elements lifecycle hooks

      Returns readonly string[]

    • get optionsAttributes(): Readonly<
          Record<string, "number" | "boolean" | "string" | "on/off">,
      >
      Internal

      Private lifecycle hooks. If adding a 'boolean' attribute, add its default value to getOptionsFromAttributes

      Returns Readonly<Record<string, "number" | "boolean" | "string" | "on/off">>

    • get plonkSound(): null | string

      Sound played to provide feedback when a command has no effect, for example when pressing the spacebar at the root level.

      The property is either:

      • a string, the name of an audio file in the soundsDirectory directory
      • null to turn off the sound

      Returns null | string

    • set plonkSound(value: null | string): void

      Parameters

      • value: null | string

      Returns void

    • get speechEngine(): "local" | "amazon"

      Indicates which speech engine to use for speech output.

      Use local to use the OS-specific TTS engine.

      Use amazon for Amazon Text-to-Speech cloud API. You must include the AWS API library and configure it with your API key before use.

      See Guide: Speech

      Returns "local" | "amazon"

    • set speechEngine(value: "local" | "amazon"): void

      Parameters

      • value: "local" | "amazon"

      Returns void

    • get speechEngineRate(): string

      Sets the speed of the selected voice.

      One of x-slow, slow, medium, fast, x-fast or a value as a percentage.

      Range is 20% to 200% For example 200% to indicate a speaking rate twice the default rate.

      Returns string

    • set speechEngineRate(value: string): void

      Parameters

      • value: string

      Returns void

    • get speechEngineVoice(): string

      Indicates the voice to use with the speech engine.

      This is dependent on the speech engine. For Amazon Polly, see here: https://docs.aws.amazon.com/polly/latest/dg/voicelist.html

      Returns string

    • set speechEngineVoice(value: string): void

      Parameters

      • value: string

      Returns void

    • get textToSpeechMarkup(): "" | "ssml" | "ssml_step" | "mac"

      The markup syntax to use for the output of conversion to spoken text.

      Possible values are ssml for the SSML markup or mac for the macOS markup, i.e. &#91;&#91;ltr&#93;&#93;.

      Returns "" | "ssml" | "ssml_step" | "mac"

    • set textToSpeechMarkup(value: "" | "ssml" | "ssml_step" | "mac"): void

      Parameters

      • value: "" | "ssml" | "ssml_step" | "mac"

      Returns void

    • get textToSpeechRules(): "mathlive" | "sre"

      Specify which set of text to speech rules to use.

      A value of mathlive indicates that the simple rules built into MathLive should be used.

      A value of sre indicates that the Speech Rule Engine from Volker Sorge should be used.

      (Caution) SRE is not included or loaded by MathLive. For this option to work SRE should be loaded separately.

      See Guide: Speech

      Returns "mathlive" | "sre"

    • set textToSpeechRules(value: "mathlive" | "sre"): void

      Parameters

      • value: "mathlive" | "sre"

      Returns void

    • get textToSpeechRulesOptions(): Readonly<Record<string, string>>

      A set of key/value pairs that can be used to configure the speech rule engine.

      Which options are available depends on the speech rule engine in use. There are no options available with MathLive's built-in engine. The options for the SRE engine are documented here

      Returns Readonly<Record<string, string>>

    • set textToSpeechRulesOptions(value: Record<string, string>): void

      Parameters

      Returns void

    • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • The appendChild() method of the Node interface adds a node to the end of the list of children of a specified parent node.

      MDN Reference

      Type Parameters

      Parameters

      • node: T

      Returns T

    • Internal

      Custom elements lifecycle hooks

      Parameters

      • name: string
      • oldValue: unknown
      • newValue: unknown

      Returns void

    • Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • The HTMLElement.click() method simulates a mouse click on an element.

      MDN Reference

      Returns void

    • The cloneNode() method of the Node interface returns a duplicate of the node on which this method was called.

      MDN Reference

      Parameters

      • Optionalsubtree: boolean

      Returns Node

    • The compareDocumentPosition() method of the Node interface reports the position of its argument node relative to the node on which it is called.

      MDN Reference

      Parameters

      Returns number

    • The computedStyleMap() method of the Element interface returns a StylePropertyMapReadOnly interface which provides a read-only representation of a CSS declaration block that is an alternative to CSSStyleDeclaration.

      MDN Reference

      Returns StylePropertyMapReadOnly

    • Internal

      Custom elements lifecycle hooks

      Returns void

    • The contains() method of the Node interface returns a boolean value indicating whether a node is a descendant of a given node, that is the node itself, one of its direct children (Node.childNodes), one of the children's direct children, and so on.

      MDN Reference

      Parameters

      Returns boolean

    • Internal

      Custom elements lifecycle hooks

      Returns void

    • The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

      MDN Reference

      Parameters

      Returns boolean

    • Execute a [[Commands|command]] defined by a selector.

      mfe.executeCommand('add-column-after');
      mfe.executeCommand(['switch-mode', 'math']);

      Parameters

      • command: Selector | [Selector, ...any[]]

        A selector, or an array whose first element is a selector, and whose subsequent elements are arguments to the selector.

        Selectors can be passed either in camelCase or kebab-case.

        // Both calls do the same thing
        mfe.executeCommand('selectAll');
        mfe.executeCommand('select-all');

      Returns boolean

    • The getAttribute() method of the element.

      MDN Reference

      Parameters

      • qualifiedName: string

      Returns null | string

    • The getAttributeNames() method of the array.

      MDN Reference

      Returns string[]

    • Returns the specified attribute of the specified element, as an Attr node.

      MDN Reference

      Parameters

      • qualifiedName: string

      Returns null | Attr

    • The getAttributeNodeNS() method of the Element interface returns the namespaced Attr node of an element.

      MDN Reference

      Parameters

      • namespace: null | string
      • localName: string

      Returns null | Attr

    • The getAttributeNS() method of the Element interface returns the string value of the attribute with the specified namespace and name.

      MDN Reference

      Parameters

      • namespace: null | string
      • localName: string

      Returns null | string

    • The getClientRects() method of the Element interface returns a collection of DOMRect objects that indicate the bounding rectangles for each CSS border box in a client.

      MDN Reference

      Returns DOMRectList

    • The Element method getElementsByClassName() returns a live specified class name or names.

      MDN Reference

      Parameters

      • classNames: string

      Returns HTMLCollectionOf<Element>

    • The Element.getElementsByTagNameNS() method returns a live HTMLCollection of elements with the given tag name belonging to the given namespace.

      MDN Reference

      Parameters

      • namespaceURI: "http://www.w3.org/1999/xhtml"
      • localName: string

      Returns HTMLCollectionOf<HTMLElement>

    • Parameters

      • namespaceURI: "http://www.w3.org/2000/svg"
      • localName: string

      Returns HTMLCollectionOf<SVGElement>

    • Parameters

      • namespaceURI: "http://www.w3.org/1998/Math/MathML"
      • localName: string

      Returns HTMLCollectionOf<MathMLElement>

    • Parameters

      • namespace: null | string
      • localName: string

      Returns HTMLCollectionOf<Element>

    • The getHTML() method of the Element interface is used to serialize an element's DOM to an HTML string.

      MDN Reference

      Parameters

      Returns string

    • Parameters

      • id: string

      Returns [undefined | "correct" | "incorrect", boolean]

    • Internal

      Parameters

      Returns void

    • The Element.hasAttribute() method returns a Boolean value indicating whether the specified element has the specified attribute or not.

      MDN Reference

      Parameters

      • qualifiedName: string

      Returns boolean

    • The hasAttributeNS() method of the Element interface returns a boolean value indicating whether the current element has the specified attribute with the specified namespace.

      MDN Reference

      Parameters

      • namespace: null | string
      • localName: string

      Returns boolean

    • The hasAttributes() method of the Element interface returns a boolean value indicating whether the current element has any attributes or not.

      MDN Reference

      Returns boolean

    • The hasChildNodes() method of the Node interface returns a boolean value indicating whether the given Node has child nodes or not.

      MDN Reference

      Returns boolean

    • The hasPointerCapture() method of the pointer capture for the pointer identified by the given pointer ID.

      MDN Reference

      Parameters

      • pointerId: number

      Returns boolean

    • The hidePopover() method of the HTMLElement interface hides a popover element (i.e., one that has a valid popover attribute) by removing it from the top layer and styling it with display: none.

      MDN Reference

      Returns void

    • The insertAdjacentHTML() method of the the resulting nodes into the DOM tree at a specified position.

      MDN Reference

      Parameters

      Returns void

    • The insertAdjacentText() method of the Element interface, given a relative position and a string, inserts a new text node at the given position relative to the element it is called from.

      MDN Reference

      Parameters

      Returns void

    • The insertBefore() method of the Node interface inserts a node before a reference node as a child of a specified parent node.

      MDN Reference

      Type Parameters

      Parameters

      • node: T
      • child: null | Node

      Returns T

    • The isDefaultNamespace() method of the Node interface accepts a namespace URI as an argument.

      MDN Reference

      Parameters

      • namespace: null | string

      Returns boolean

    • The isEqualNode() method of the Node interface tests whether two nodes are equal.

      MDN Reference

      Parameters

      • otherNode: null | Node

      Returns boolean

    • The isSameNode() method of the Node interface is a legacy alias the for the === strict equality operator.

      MDN Reference

      Parameters

      • otherNode: null | Node

      Returns boolean

    • The lookupNamespaceURI() method of the Node interface takes a prefix as parameter and returns the namespace URI associated with it on the given node if found (and null if not).

      MDN Reference

      Parameters

      • prefix: null | string

      Returns null | string

    • The lookupPrefix() method of the Node interface returns a string containing the prefix for a given namespace URI, if present, and null if not.

      MDN Reference

      Parameters

      • namespace: null | string

      Returns null | string

    • The matches() method of the Element interface tests whether the element would be selected by the specified CSS selector.

      MDN Reference

      Parameters

      • selectors: string

      Returns boolean

    • The normalize() method of the Node interface puts the specified node and all of its sub-tree into a normalized form.

      MDN Reference

      Returns void

    • Internal

      Returns void

    • Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • The releasePointerCapture() method of the previously set for a specific (PointerEvent) pointer.

      MDN Reference

      Parameters

      • pointerId: number

      Returns void

    • Removes node.

      MDN Reference

      Returns void

    • The Element method removeAttribute() removes the attribute with the specified name from the element.

      MDN Reference

      Parameters

      • qualifiedName: string

      Returns void

    • The removeAttributeNode() method of the Element interface removes the specified Attr node from the element.

      MDN Reference

      Parameters

      Returns Attr

    • The removeAttributeNS() method of the If you are working with HTML and you don't need to specify the requested attribute as being part of a specific namespace, use the Element.removeAttribute() method instead.

      MDN Reference

      Parameters

      • namespace: null | string
      • localName: string

      Returns void

    • The removeChild() method of the Node interface removes a child node from the DOM and returns the removed node.

      MDN Reference

      Type Parameters

      Parameters

      • child: T

      Returns T

    • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

      MDN Reference

      Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any
      • Optionaloptions: boolean | EventListenerOptions

      Returns void

    • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

      MDN Reference

      Parameters

      Returns void

    • The replaceChild() method of the Node interface replaces a child node within the given (parent) node.

      MDN Reference

      Type Parameters

      Parameters

      Returns T

    • Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • ...nodes: (string | Node)[]

      Returns void

    • The scroll() method of the Element interface scrolls the element to a particular set of coordinates inside a given element.

      MDN Reference

      Parameters

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • The scrollBy() method of the Element interface scrolls an element by the given amount.

      MDN Reference

      Parameters

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • The Element interface's scrollIntoView() method scrolls the element's ancestor containers such that the element on which scrollIntoView() is called is visible to the user.

      MDN Reference

      Parameters

      Returns void

    • The scrollTo() method of the Element interface scrolls to a particular set of coordinates inside a given element.

      MDN Reference

      Parameters

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • The setAttribute() method of the Element interface sets the value of an attribute on the specified element.

      MDN Reference

      Parameters

      • qualifiedName: string
      • value: string

      Returns void

    • The setAttributeNode() method of the Element interface adds a new Attr node to the specified element.

      MDN Reference

      Parameters

      Returns null | Attr

    • The setAttributeNodeNS() method of the Element interface adds a new namespaced Attr node to an element.

      MDN Reference

      Parameters

      Returns null | Attr

    • setAttributeNS adds a new attribute or changes the value of an attribute with the given namespace and name.

      MDN Reference

      Parameters

      • namespace: null | string
      • qualifiedName: string
      • value: string

      Returns void

    • The setHTMLUnsafe() method of the Element interface is used to parse a string of HTML into a DocumentFragment, optionally filtering out unwanted elements and attributes, and those that don't belong in the context, and then using it to replace the element's subtree in the DOM.

      MDN Reference

      Parameters

      • html: string

      Returns void

    • The setPointerCapture() method of the capture target of future pointer events.

      MDN Reference

      Parameters

      • pointerId: number

      Returns void

    • Parameters

      Returns boolean

    • The showPopover() method of the HTMLElement interface shows a Popover_API element (i.e., one that has a valid popover attribute) by adding it to the top layer.

      MDN Reference

      Returns void

    • The toggleAttribute() method of the present and adding it if it is not present) on the given element.

      MDN Reference

      Parameters

      • qualifiedName: string
      • Optionalforce: boolean

      Returns boolean

    • The togglePopover() method of the HTMLElement interface toggles a Popover_API element (i.e., one that has a valid popover attribute) between the hidden and showing states.

      MDN Reference

      Parameters

      • Optionaloptions: boolean

      Returns boolean

    • Internal

      Private lifecycle hooks

      Parameters

      • prop: string

      Returns void

    • Parameters

      • selectors: string

      Returns boolean

      This is a legacy alias of matches.

      MDN Reference

    • Parameters

      • sound: "keypress" | "delete" | "plonk" | "spacebar" | "return"

      Returns Promise<void>

    • Parameters

      • name: "keypress" | "delete" | "plonk" | "spacebar" | "return"

      Returns Promise<void>

    Prompts

    • Return the selection range for the specified prompt.

      This can be used for example to select the content of the prompt.

      mf.selection = mf.getPromptRange('my-prompt-id');
      

      Parameters

      • id: string

      Returns null | Range

    • Return the id of the prompts matching the filter.

      Parameters

      • Optionalfilter: {
            correctness?: "undefined" | "correct" | "incorrect";
            id?: string;
            locked?: boolean;
        }

      Returns string[]

    • Return the content of the \placeholder{} command with the placeholderId

      Parameters

      Returns string

    • Parameters

      • id: string
      • state: undefined | "undefined" | "correct" | "incorrect"
      • Optionallocked: boolean

      Returns void

    • Parameters

      Returns void

    Selection

    • get caretPoint(): null | Readonly<{ x: number; y: number }>

      The bottom location of the caret (insertion point) in viewport coordinates.

      See also [[setCaretPoint]]

      Returns null | Readonly<{ x: number; y: number }>

    • set caretPoint(point: null | { x: number; y: number }): void

      Parameters

      • point: null | { x: number; y: number }

      Returns void

    • get lastOffset(): number

      The last valid offset.

      Returns number

    • get position(): number

      The position of the caret/insertion point, from 0 to lastOffset.

      Returns number

    • set position(offset: number): void

      Parameters

      • offset: number

      Returns void

    • get selection(): Readonly<Selection>

      An array of ranges representing the selection.

      It is guaranteed there will be at least one element. If a discontinuous selection is present, the result will include more than one element.

      Returns Readonly<Selection>

    • set selection(sel: number | Selection): void

      Parameters

      Returns void

    • get selectionIsCollapsed(): boolean

      Returns boolean

    • The depth of an offset represent the depth in the expression tree.

      Parameters

      • offset: number

      Returns number

    • The bounding rect of the atom at offset

      Parameters

      • offset: number

      Returns null | DOMRect

    • The offset closest to the location (x, y) in viewport coordinate.

      bias: if 0, the vertical midline is considered to the left or right sibling. If -1, the left sibling is favored, if +1, the right sibling is favored.

      Parameters

      • x: number
      • y: number
      • Optionaloptions: { bias?: 0 | 1 | -1 }

      Returns number

    • Select the content of the mathfield.

      Returns void

    • x and y are in viewport coordinates.

      Return true if the location of the point is a valid caret location.

      See also [[caretPoint]]

      Parameters

      • x: number
      • y: number

      Returns boolean

    Undo

    • Return whether there are redoable items

      Returns boolean

    • Return whether there are undoable items

      Returns boolean

    • Reset the undo stack

      Returns void

    Virtual Keyboard

    keypressVibration: boolean

    When a key on the virtual keyboard is pressed, produce a short haptic feedback, if the device supports it.

    • get mathVirtualKeyboardPolicy(): VirtualKeyboardPolicy

      Returns VirtualKeyboardPolicy

    • set mathVirtualKeyboardPolicy(value: VirtualKeyboardPolicy): void

      Parameters

      Returns void

    • get virtualKeyboardTargetOrigin(): string

      Returns string

    • set virtualKeyboardTargetOrigin(value: string): void

      Parameters

      • value: string

      Returns void

    • get keypressSound(): Readonly<
          {
              default: null
              | string;
              delete: null | string;
              return: null | string;
              spacebar: null | string;
          },
      >

      When a key on the virtual keyboard is pressed, produce a short audio feedback.

      If the property is set to a string, the same sound is played in all cases. Otherwise, a distinct sound is played:

      • delete a sound played when the delete key is pressed
      • return ... when the return/tab key is pressed
      • spacebar ... when the spacebar is pressed
      • default ... when any other key is pressed. This property is required, the others are optional. If they are missing, this sound is played as well.

      The value of the properties should be either a string, the name of an audio file in the soundsDirectory directory or null to suppress the sound.

      Returns Readonly<
          {
              default: null
              | string;
              delete: null | string;
              return: null | string;
              spacebar: null | string;
          },
      >

    • set keypressSound(
          value:
              | null
              | string
              | {
                  default: null
                  | string;
                  delete?: null | string;
                  return?: null | string;
                  spacebar?: null | string;
              },
      ): void

      Parameters

      • value:
            | null
            | string
            | {
                default: null
                | string;
                delete?: null | string;
                return?: null | string;
                spacebar?: null | string;
            }

      Returns void

    • get soundsDirectory(): null | string

      A URL fragment pointing to the directory containing the optional sounds used to provide feedback while typing.

      Some default sounds are available in the /dist/sounds directory of the SDK.

      Use null to prevent any sound from being loaded.

      Returns null | string

    • set soundsDirectory(value: null | string): void

      Parameters

      • value: null | string

      Returns void