UNPKG

@keycloakify/keycloak-account-ui

Version:
29 lines 1.17 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { Component, } from "react"; import { createNamedContext } from "../../ui-shared/utils/createNamedContext"; import { useRequiredContext } from "../../ui-shared/utils/useRequiredContext"; const ErrorBoundaryContext = createNamedContext("ErrorBoundaryContext", undefined); export const useErrorBoundary = () => useRequiredContext(ErrorBoundaryContext); export class ErrorBoundaryProvider extends Component { constructor() { super(...arguments); this.state = {}; this.showBoundary = (error) => { this.setState({ error }); }; } render() { return (_jsx(ErrorBoundaryContext.Provider, { value: { error: this.state.error, showBoundary: this.showBoundary }, children: this.props.children })); } } ErrorBoundaryProvider.getDerivedStateFromError = (error) => { return { error }; }; export const ErrorBoundaryFallback = ({ children, fallback: FallbackComponent }) => { const { error } = useErrorBoundary(); if (error) { return _jsx(FallbackComponent, { error: error }); } return children; }; //# sourceMappingURL=ErrorBoundary.js.map