UNPKG

react-native-mathjax-html-to-svg

Version:

React Native component to display mathematics in html using MathJax. Uses [MathJax](https://github.com/mathjax/)

105 lines (104 loc) 4.91 kB
import { OptionList } from '../util/Options.js'; import { InputJax } from './InputJax.js'; import { OutputJax } from './OutputJax.js'; import { MathList } from './MathList.js'; import { MathItem } from './MathItem.js'; import { MmlNode } from './MmlTree/MmlNode.js'; import { MmlFactory } from '../core/MmlTree/MmlFactory.js'; import { DOMAdaptor } from '../core/DOMAdaptor.js'; import { BitField } from '../util/BitField.js'; import { PrioritizedList } from '../util/PrioritizedList.js'; export declare type RenderDoc<N, T, D> = (document: MathDocument<N, T, D>) => boolean; export declare type RenderMath<N, T, D> = (math: MathItem<N, T, D>, document: MathDocument<N, T, D>) => boolean; export declare type RenderData<N, T, D> = { id: string; renderDoc: RenderDoc<N, T, D>; renderMath: RenderMath<N, T, D>; convert: boolean; }; export declare type RenderAction<N, T, D> = [number] | [number, string] | [number, string, string] | [number, RenderDoc<N, T, D>, RenderMath<N, T, D>] | [number, boolean] | [number, string, boolean] | [number, string, string, boolean] | [number, RenderDoc<N, T, D>, RenderMath<N, T, D>, boolean]; export declare type RenderActions<N, T, D> = { [id: string]: RenderAction<N, T, D>; }; export declare class RenderList<N, T, D> extends PrioritizedList<RenderData<N, T, D>> { static create<N, T, D>(actions: RenderActions<N, T, D>): RenderList<N, T, D>; static action<N, T, D>(id: string, action: RenderAction<N, T, D>): [RenderData<N, T, D>, number]; protected static methodActions(method1: string, method2?: string): (((document: any) => boolean) | ((math: any, document: any) => boolean))[]; renderDoc(document: MathDocument<N, T, D>, start?: number): void; renderMath(math: MathItem<N, T, D>, document: MathDocument<N, T, D>, start?: number): void; renderConvert(math: MathItem<N, T, D>, document: MathDocument<N, T, D>, end?: number): void; findID(id: string): RenderData<N, T, D> | null; } export declare type ContainerList<N> = string | N | (string | N | N[])[]; export interface MathDocument<N, T, D> { document: D; kind: string; options: OptionList; math: MathList<N, T, D>; renderActions: RenderList<N, T, D>; processed: BitField; inputJax: InputJax<N, T, D>[]; outputJax: OutputJax<N, T, D>; adaptor: DOMAdaptor<N, T, D>; mmlFactory: MmlFactory; addRenderAction(id: string, ...action: any[]): void; removeRenderAction(id: string): void; render(): MathDocument<N, T, D>; rerender(start?: number): MathDocument<N, T, D>; convert(math: string, options?: OptionList): MmlNode | N; findMath(options?: OptionList): MathDocument<N, T, D>; compile(): MathDocument<N, T, D>; getMetrics(): MathDocument<N, T, D>; typeset(): MathDocument<N, T, D>; updateDocument(): MathDocument<N, T, D>; removeFromDocument(restore?: boolean): MathDocument<N, T, D>; state(state: number, restore?: boolean): MathDocument<N, T, D>; rerender(start?: number, end?: number): MathDocument<N, T, D>; reset(): MathDocument<N, T, D>; clear(): MathDocument<N, T, D>; concat(list: MathList<N, T, D>): MathDocument<N, T, D>; clearMathItemsWithin(containers: ContainerList<N>): void; getMathItemsWithin(elements: ContainerList<N>): MathItem<N, T, D>[]; } export declare abstract class AbstractMathDocument<N, T, D> implements MathDocument<N, T, D> { static KIND: string; static OPTIONS: OptionList; static ProcessBits: typeof BitField; document: D; options: OptionList; math: MathList<N, T, D>; renderActions: RenderList<N, T, D>; processed: BitField; inputJax: InputJax<N, T, D>[]; outputJax: OutputJax<N, T, D>; adaptor: DOMAdaptor<N, T, D>; mmlFactory: MmlFactory; constructor(document: D, adaptor: DOMAdaptor<N, T, D>, options: OptionList); get kind(): string; addRenderAction(id: string, ...action: any[]): void; removeRenderAction(id: string): void; render(): this; rerender(start?: number): this; convert(math: string, options?: OptionList): any; findMath(_options?: OptionList): this; compile(): this; protected compileMath(math: MathItem<N, T, D>): void; compileError(math: MathItem<N, T, D>, err: Error): void; typeset(): this; typesetError(math: MathItem<N, T, D>, err: Error): void; getMetrics(): this; updateDocument(): this; removeFromDocument(_restore?: boolean): this; state(state: number, restore?: boolean): this; reset(): this; clear(): this; concat(list: MathList<N, T, D>): this; clearMathItemsWithin(containers: ContainerList<N>): void; getMathItemsWithin(elements: ContainerList<N>): MathItem<N, T, D>[]; } export interface MathDocumentConstructor<D extends MathDocument<any, any, any>> { KIND: string; OPTIONS: OptionList; ProcessBits: typeof BitField; new (...args: any[]): D; }