import { Component, type ReactNode } from 'react';
type ErrorBoundaryProps = {
children: ReactNode;
fallback?: ReactNode | ((error: Error, reset: () => void) => ReactNode);
onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
};
type ErrorBoundaryState = {
error: Error | null;
};
/**
* A client-side error boundary component for React applications.
*
* Usage:
* ```tsx
* // With a static fallback
*
Error: {error.message}
* *