analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
49 lines • 1.7 kB
TypeScript
import { CSSProperties, ReactNode } from 'react';
import 'katex/dist/katex.min.css';
/**
* Props for the LatexRenderer component
*/
export interface LatexRendererProps {
/** HTML content containing LaTeX expressions to render */
content: string;
/** Additional CSS classes to apply */
className?: string;
/** Inline styles to apply */
style?: CSSProperties;
/** Custom error renderer for invalid LaTeX expressions */
onError?: (latex: string) => ReactNode;
}
/**
* LatexRenderer component for Analytica Ensino platforms
*
* Renders HTML content with embedded LaTeX/KaTeX mathematical expressions.
* Supports multiple LaTeX formats:
* - Inline math: `$...$` or `<latex>...</latex>`
* - Block math: `$$...$$`
* - LaTeX environments: `\begin{equation}...\end{equation}`, etc.
* - Editor format: `<span class="math-formula" data-latex="...">...</span>`
*
* @param content - HTML content with LaTeX expressions
* @param className - Additional CSS classes
* @param style - Inline styles
* @param onError - Custom error renderer
* @returns Rendered content with mathematical expressions
*
* @example
* ```tsx
* <LatexRenderer content="The formula is $E = mc^2$" />
*
* <LatexRenderer
* content="Block equation: $$\sum_{i=1}^{n} x_i$$"
* className="my-custom-class"
* />
*
* <LatexRenderer
* content="<p>Matrix: \begin{pmatrix} a & b \\ c & d \end{pmatrix}</p>"
* onError={(latex) => <span>Invalid: {latex}</span>}
* />
* ```
*/
declare const LatexRenderer: ({ content, className, style, onError, }: LatexRendererProps) => import("react/jsx-runtime").JSX.Element;
export default LatexRenderer;
//# sourceMappingURL=LatexRenderer.d.ts.map