| 
                        123456789101112131415161718192021222324252627282930313233 | 
                        - /**
 -  * @fileoverview ErrorBoundary component for React.
 -  * This component was extracted from the main markdown renderer.
 -  * It catches JavaScript errors anywhere in its child component tree,
 -  * logs those errors, and displays a fallback UI instead of the crashed component tree.
 -  * Primarily used around complex rendering logic like ECharts or SVG within Markdown.
 -  */
 - import React, { Component } from 'react'
 - // **Add an ECharts runtime error handler
 - // Avoid error #7832 (Crash when ECharts accesses undefined objects)
 - // This can happen when a component attempts to access an undefined object that references an unregistered map, causing the program to crash.
 - 
 - export default class ErrorBoundary extends Component {
 -   constructor(props: any) {
 -     super(props)
 -     this.state = { hasError: false }
 -   }
 - 
 -   componentDidCatch(error: any, errorInfo: any) {
 -     this.setState({ hasError: true })
 -     console.error(error, errorInfo)
 -   }
 - 
 -   render() {
 -     // eslint-disable-next-line ts/ban-ts-comment
 -     // @ts-expect-error
 -     if (this.state.hasError)
 -       return <div>Oops! An error occurred. This could be due to an ECharts runtime error or invalid SVG content. <br />(see the browser console for more information)</div>
 -     // eslint-disable-next-line ts/ban-ts-comment
 -     // @ts-expect-error
 -     return this.props.children
 -   }
 - }
 
 
  |