@keycloakify/keycloak-account-ui
Version:
Repackaged Keycloak Account UI
29 lines • 1.17 kB
JavaScript
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