@xyo-network/react-error 2.81.10 → 2.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts +2 -2
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.mts +2 -2
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.ts +2 -2
- package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.cts +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.cts.map +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.mts +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.mts.map +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.ts +1 -1
- package/dist/browser/components/ErrorBoundary/index.d.ts.map +1 -1
- package/dist/browser/components/ErrorRender/ErrorAlert.d.cts +1 -0
- package/dist/browser/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
- package/dist/browser/components/ErrorRender/ErrorAlert.d.mts +1 -0
- package/dist/browser/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
- package/dist/browser/components/ErrorRender/ErrorAlert.d.ts +1 -0
- package/dist/browser/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
- package/dist/browser/components/ErrorRender/Render.d.cts +2 -1
- package/dist/browser/components/ErrorRender/Render.d.cts.map +1 -1
- package/dist/browser/components/ErrorRender/Render.d.mts +2 -1
- package/dist/browser/components/ErrorRender/Render.d.mts.map +1 -1
- package/dist/browser/components/ErrorRender/Render.d.ts +2 -1
- package/dist/browser/components/ErrorRender/Render.d.ts.map +1 -1
- package/dist/browser/components/ErrorRender/index.d.cts +3 -3
- package/dist/browser/components/ErrorRender/index.d.cts.map +1 -1
- package/dist/browser/components/ErrorRender/index.d.mts +3 -3
- package/dist/browser/components/ErrorRender/index.d.mts.map +1 -1
- package/dist/browser/components/ErrorRender/index.d.ts +3 -3
- package/dist/browser/components/ErrorRender/index.d.ts.map +1 -1
- package/dist/browser/components/index.d.cts +2 -2
- package/dist/browser/components/index.d.mts +2 -2
- package/dist/browser/components/index.d.ts +2 -2
- package/dist/browser/contexts/ErrorReporter/Context.d.cts +1 -1
- package/dist/browser/contexts/ErrorReporter/Context.d.mts +1 -1
- package/dist/browser/contexts/ErrorReporter/Context.d.ts +1 -1
- package/dist/browser/contexts/ErrorReporter/Provider.d.cts +1 -0
- package/dist/browser/contexts/ErrorReporter/Provider.d.cts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/Provider.d.mts +1 -0
- package/dist/browser/contexts/ErrorReporter/Provider.d.mts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/Provider.d.ts +1 -0
- package/dist/browser/contexts/ErrorReporter/Provider.d.ts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/index.d.cts +3 -3
- package/dist/browser/contexts/ErrorReporter/index.d.cts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/index.d.mts +3 -3
- package/dist/browser/contexts/ErrorReporter/index.d.mts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/index.d.ts +3 -3
- package/dist/browser/contexts/ErrorReporter/index.d.ts.map +1 -1
- package/dist/browser/contexts/ErrorReporter/useRollbar.d.cts +1 -1
- package/dist/browser/contexts/ErrorReporter/useRollbar.d.mts +1 -1
- package/dist/browser/contexts/ErrorReporter/useRollbar.d.ts +1 -1
- package/dist/browser/contexts/index.d.cts +1 -1
- package/dist/browser/contexts/index.d.mts +1 -1
- package/dist/browser/contexts/index.d.ts +1 -1
- package/dist/browser/index.cjs +100 -59
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +2 -2
- package/dist/browser/index.d.mts +2 -2
- package/dist/browser/index.d.ts +2 -2
- package/dist/browser/index.mjs +163 -0
- package/dist/browser/index.mjs.map +1 -0
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.cts +2 -2
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.mts +2 -2
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.ts +2 -2
- package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.cts +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.cts.map +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.mts +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.mts.map +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.ts +1 -1
- package/dist/neutral/components/ErrorBoundary/index.d.ts.map +1 -1
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.cts +1 -0
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.mts +1 -0
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.ts +1 -0
- package/dist/neutral/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
- package/dist/neutral/components/ErrorRender/Render.d.cts +2 -1
- package/dist/neutral/components/ErrorRender/Render.d.cts.map +1 -1
- package/dist/neutral/components/ErrorRender/Render.d.mts +2 -1
- package/dist/neutral/components/ErrorRender/Render.d.mts.map +1 -1
- package/dist/neutral/components/ErrorRender/Render.d.ts +2 -1
- package/dist/neutral/components/ErrorRender/Render.d.ts.map +1 -1
- package/dist/neutral/components/ErrorRender/index.d.cts +3 -3
- package/dist/neutral/components/ErrorRender/index.d.cts.map +1 -1
- package/dist/neutral/components/ErrorRender/index.d.mts +3 -3
- package/dist/neutral/components/ErrorRender/index.d.mts.map +1 -1
- package/dist/neutral/components/ErrorRender/index.d.ts +3 -3
- package/dist/neutral/components/ErrorRender/index.d.ts.map +1 -1
- package/dist/neutral/components/index.d.cts +2 -2
- package/dist/neutral/components/index.d.mts +2 -2
- package/dist/neutral/components/index.d.ts +2 -2
- package/dist/neutral/contexts/ErrorReporter/Context.d.cts +1 -1
- package/dist/neutral/contexts/ErrorReporter/Context.d.mts +1 -1
- package/dist/neutral/contexts/ErrorReporter/Context.d.ts +1 -1
- package/dist/neutral/contexts/ErrorReporter/Provider.d.cts +1 -0
- package/dist/neutral/contexts/ErrorReporter/Provider.d.cts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/Provider.d.mts +1 -0
- package/dist/neutral/contexts/ErrorReporter/Provider.d.mts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/Provider.d.ts +1 -0
- package/dist/neutral/contexts/ErrorReporter/Provider.d.ts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/index.d.cts +3 -3
- package/dist/neutral/contexts/ErrorReporter/index.d.cts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/index.d.mts +3 -3
- package/dist/neutral/contexts/ErrorReporter/index.d.mts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/index.d.ts +3 -3
- package/dist/neutral/contexts/ErrorReporter/index.d.ts.map +1 -1
- package/dist/neutral/contexts/ErrorReporter/useRollbar.d.cts +1 -1
- package/dist/neutral/contexts/ErrorReporter/useRollbar.d.mts +1 -1
- package/dist/neutral/contexts/ErrorReporter/useRollbar.d.ts +1 -1
- package/dist/neutral/contexts/index.d.cts +1 -1
- package/dist/neutral/contexts/index.d.mts +1 -1
- package/dist/neutral/contexts/index.d.ts +1 -1
- package/dist/neutral/index.cjs +100 -59
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.d.cts +2 -2
- package/dist/neutral/index.d.mts +2 -2
- package/dist/neutral/index.d.ts +2 -2
- package/dist/neutral/index.mjs +163 -0
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts +2 -2
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.mts +2 -2
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.ts +2 -2
- package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
- package/dist/node/components/ErrorBoundary/index.d.cts +1 -1
- package/dist/node/components/ErrorBoundary/index.d.cts.map +1 -1
- package/dist/node/components/ErrorBoundary/index.d.mts +1 -1
- package/dist/node/components/ErrorBoundary/index.d.mts.map +1 -1
- package/dist/node/components/ErrorBoundary/index.d.ts +1 -1
- package/dist/node/components/ErrorBoundary/index.d.ts.map +1 -1
- package/dist/node/components/ErrorRender/ErrorAlert.d.cts +1 -0
- package/dist/node/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
- package/dist/node/components/ErrorRender/ErrorAlert.d.mts +1 -0
- package/dist/node/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
- package/dist/node/components/ErrorRender/ErrorAlert.d.ts +1 -0
- package/dist/node/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
- package/dist/node/components/ErrorRender/Render.d.cts +2 -1
- package/dist/node/components/ErrorRender/Render.d.cts.map +1 -1
- package/dist/node/components/ErrorRender/Render.d.mts +2 -1
- package/dist/node/components/ErrorRender/Render.d.mts.map +1 -1
- package/dist/node/components/ErrorRender/Render.d.ts +2 -1
- package/dist/node/components/ErrorRender/Render.d.ts.map +1 -1
- package/dist/node/components/ErrorRender/index.d.cts +3 -3
- package/dist/node/components/ErrorRender/index.d.cts.map +1 -1
- package/dist/node/components/ErrorRender/index.d.mts +3 -3
- package/dist/node/components/ErrorRender/index.d.mts.map +1 -1
- package/dist/node/components/ErrorRender/index.d.ts +3 -3
- package/dist/node/components/ErrorRender/index.d.ts.map +1 -1
- package/dist/node/components/index.d.cts +2 -2
- package/dist/node/components/index.d.mts +2 -2
- package/dist/node/components/index.d.ts +2 -2
- package/dist/node/contexts/ErrorReporter/Context.d.cts +1 -1
- package/dist/node/contexts/ErrorReporter/Context.d.mts +1 -1
- package/dist/node/contexts/ErrorReporter/Context.d.ts +1 -1
- package/dist/node/contexts/ErrorReporter/Provider.d.cts +1 -0
- package/dist/node/contexts/ErrorReporter/Provider.d.cts.map +1 -1
- package/dist/node/contexts/ErrorReporter/Provider.d.mts +1 -0
- package/dist/node/contexts/ErrorReporter/Provider.d.mts.map +1 -1
- package/dist/node/contexts/ErrorReporter/Provider.d.ts +1 -0
- package/dist/node/contexts/ErrorReporter/Provider.d.ts.map +1 -1
- package/dist/node/contexts/ErrorReporter/index.d.cts +3 -3
- package/dist/node/contexts/ErrorReporter/index.d.cts.map +1 -1
- package/dist/node/contexts/ErrorReporter/index.d.mts +3 -3
- package/dist/node/contexts/ErrorReporter/index.d.mts.map +1 -1
- package/dist/node/contexts/ErrorReporter/index.d.ts +3 -3
- package/dist/node/contexts/ErrorReporter/index.d.ts.map +1 -1
- package/dist/node/contexts/ErrorReporter/useRollbar.d.cts +1 -1
- package/dist/node/contexts/ErrorReporter/useRollbar.d.mts +1 -1
- package/dist/node/contexts/ErrorReporter/useRollbar.d.ts +1 -1
- package/dist/node/contexts/index.d.cts +1 -1
- package/dist/node/contexts/index.d.mts +1 -1
- package/dist/node/contexts/index.d.ts +1 -1
- package/dist/node/index.cjs +99 -59
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +2 -2
- package/dist/node/index.d.mts +2 -2
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.mjs +162 -0
- package/dist/node/index.mjs.map +1 -0
- package/package.json +13 -13
- package/src/components/ErrorBoundary/ThrownErrorBoundary.stories.tsx +8 -4
- package/src/components/ErrorBoundary/ThrownErrorBoundary.tsx +5 -5
- package/src/components/ErrorBoundary/index.ts +1 -1
- package/src/components/ErrorRender/ErrorAlert.stories.tsx +1 -2
- package/src/components/ErrorRender/ErrorAlert.tsx +18 -14
- package/src/components/ErrorRender/Render.tsx +15 -12
- package/src/components/ErrorRender/index.ts +3 -3
- package/src/components/index.ts +2 -2
- package/src/contexts/ErrorReporter/Context.ts +1 -1
- package/src/contexts/ErrorReporter/Provider.stories.tsx +11 -4
- package/src/contexts/ErrorReporter/Provider.tsx +3 -2
- package/src/contexts/ErrorReporter/index.ts +3 -3
- package/src/contexts/ErrorReporter/useRollbar.tsx +1 -1
- package/src/contexts/index.ts +1 -1
- package/src/index.ts +2 -2
- package/dist/browser/index.js +0 -130
- package/dist/browser/index.js.map +0 -1
- package/dist/neutral/index.js +0 -130
- package/dist/neutral/index.js.map +0 -1
- package/dist/node/index.js +0 -130
- package/dist/node/index.js.map +0 -1
package/dist/node/index.cjs
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
9
|
var __export = (target, all) => {
|
|
7
10
|
for (var name in all)
|
|
8
11
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -15,6 +18,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
18
|
}
|
|
16
19
|
return to;
|
|
17
20
|
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
18
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
30
|
|
|
20
31
|
// src/index.ts
|
|
@@ -30,53 +41,50 @@ module.exports = __toCommonJS(src_exports);
|
|
|
30
41
|
|
|
31
42
|
// src/components/ErrorBoundary/ThrownErrorBoundary.tsx
|
|
32
43
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
33
|
-
var
|
|
44
|
+
var import_react3 = __toESM(require("react"), 1);
|
|
34
45
|
|
|
35
46
|
// src/components/ErrorRender/ErrorAlert.tsx
|
|
36
47
|
var import_icons_material = require("@mui/icons-material");
|
|
37
48
|
var import_material = require("@mui/material");
|
|
38
49
|
var import_react_button = require("@xylabs/react-button");
|
|
39
|
-
var
|
|
40
|
-
var ErrorAlert = ({
|
|
41
|
-
title = "Whoops! Something went wrong",
|
|
42
|
-
onCancel,
|
|
43
|
-
error = "An unknown error occurred",
|
|
44
|
-
errorContext,
|
|
45
|
-
scope,
|
|
46
|
-
...props
|
|
47
|
-
}) => {
|
|
50
|
+
var import_react = __toESM(require("react"), 1);
|
|
51
|
+
var ErrorAlert = /* @__PURE__ */ __name(({ title = "Whoops! Something went wrong", onCancel, error = "An unknown error occurred", errorContext, scope, ...props }) => {
|
|
48
52
|
const finalScope = scope ?? errorContext;
|
|
49
|
-
return /* @__PURE__ */
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
return /* @__PURE__ */ import_react.default.createElement(import_material.Alert, {
|
|
54
|
+
severity: "error",
|
|
55
|
+
...props
|
|
56
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_material.AlertTitle, null, title), finalScope ? /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_material.Typography, {
|
|
57
|
+
variant: "caption",
|
|
58
|
+
mr: 0.5,
|
|
59
|
+
fontWeight: "bold"
|
|
60
|
+
}, "Scope:"), /* @__PURE__ */ import_react.default.createElement(import_material.Typography, {
|
|
61
|
+
variant: "caption"
|
|
62
|
+
}, finalScope)) : null, /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(import_material.Typography, {
|
|
63
|
+
variant: "caption",
|
|
64
|
+
mr: 0.5,
|
|
65
|
+
fontWeight: "bold"
|
|
66
|
+
}, "Error:"), /* @__PURE__ */ import_react.default.createElement(import_material.Typography, {
|
|
67
|
+
variant: "caption"
|
|
68
|
+
}, typeof error === "string" ? error : error == null ? void 0 : error.message)), onCancel ? /* @__PURE__ */ import_react.default.createElement(import_react_button.ButtonEx, {
|
|
69
|
+
variant: "outlined",
|
|
70
|
+
size: "small",
|
|
71
|
+
onClick: onCancel,
|
|
72
|
+
position: "absolute",
|
|
73
|
+
style: {
|
|
74
|
+
right: 8,
|
|
75
|
+
top: 8
|
|
76
|
+
}
|
|
77
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_icons_material.ExitToApp, {
|
|
78
|
+
fontSize: "small"
|
|
79
|
+
})) : null);
|
|
80
|
+
}, "ErrorAlert");
|
|
62
81
|
|
|
63
82
|
// src/components/ErrorRender/Render.tsx
|
|
64
83
|
var import_react_flexbox = require("@xylabs/react-flexbox");
|
|
65
|
-
var
|
|
66
|
-
var
|
|
67
|
-
var ErrorRender = ({
|
|
68
|
-
onCancel,
|
|
69
|
-
error,
|
|
70
|
-
noErrorDisplay = false,
|
|
71
|
-
customError = null,
|
|
72
|
-
children,
|
|
73
|
-
errorContext,
|
|
74
|
-
scope,
|
|
75
|
-
useLocation,
|
|
76
|
-
...props
|
|
77
|
-
}) => {
|
|
84
|
+
var import_react2 = __toESM(require("react"), 1);
|
|
85
|
+
var ErrorRender = /* @__PURE__ */ __name(({ onCancel, error, noErrorDisplay = false, customError = null, children, errorContext, scope, useLocation, ...props }) => {
|
|
78
86
|
const location = useLocation == null ? void 0 : useLocation();
|
|
79
|
-
(0,
|
|
87
|
+
(0, import_react2.useEffect)(() => {
|
|
80
88
|
if (location) {
|
|
81
89
|
location.state = {
|
|
82
90
|
from: {
|
|
@@ -84,21 +92,40 @@ var ErrorRender = ({
|
|
|
84
92
|
}
|
|
85
93
|
};
|
|
86
94
|
}
|
|
87
|
-
}, [
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
}, [
|
|
96
|
+
location
|
|
97
|
+
]);
|
|
98
|
+
return error ? /* @__PURE__ */ import_react2.default.createElement(import_react_flexbox.FlexCol, {
|
|
99
|
+
alignItems: "stretch",
|
|
100
|
+
...props
|
|
101
|
+
}, noErrorDisplay ? customError : /* @__PURE__ */ import_react2.default.createElement(import_react_flexbox.FlexCol, {
|
|
102
|
+
alignItems: "center",
|
|
103
|
+
...props
|
|
104
|
+
}, /* @__PURE__ */ import_react2.default.createElement(ErrorAlert, {
|
|
105
|
+
error,
|
|
106
|
+
errorContext,
|
|
107
|
+
onCancel,
|
|
108
|
+
scope
|
|
109
|
+
}))) : /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, children) ?? null;
|
|
110
|
+
}, "ErrorRender");
|
|
90
111
|
|
|
91
112
|
// src/components/ErrorBoundary/ThrownErrorBoundary.tsx
|
|
92
|
-
var
|
|
93
|
-
var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Component {
|
|
113
|
+
var _ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react3.Component {
|
|
94
114
|
state = {
|
|
95
115
|
xyoError: void 0
|
|
96
116
|
};
|
|
97
117
|
static getDerivedStateFromError(error) {
|
|
98
|
-
return {
|
|
118
|
+
return {
|
|
119
|
+
hasError: true,
|
|
120
|
+
xyoError: _ThrownErrorBoundary.normalizeError(error)
|
|
121
|
+
};
|
|
99
122
|
}
|
|
100
123
|
static normalizeError(error) {
|
|
101
|
-
return error.schema === import_payload_model.ModuleErrorSchema ? error : {
|
|
124
|
+
return error.schema === import_payload_model.ModuleErrorSchema ? error : {
|
|
125
|
+
message: error.message,
|
|
126
|
+
schema: import_payload_model.ModuleErrorSchema,
|
|
127
|
+
sources: []
|
|
128
|
+
};
|
|
102
129
|
}
|
|
103
130
|
componentDidCatch(error, errorInfo) {
|
|
104
131
|
const { rethrow, rollbar } = this.props;
|
|
@@ -116,40 +143,53 @@ var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Compo
|
|
|
116
143
|
if (errorComponent) {
|
|
117
144
|
return errorComponent(xyoError);
|
|
118
145
|
}
|
|
119
|
-
return /* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ import_react3.default.createElement(ErrorRender, {
|
|
147
|
+
error: xyoError,
|
|
148
|
+
errorContext: `${boundaryName} Boundary`,
|
|
149
|
+
scope,
|
|
150
|
+
title
|
|
151
|
+
});
|
|
120
152
|
}
|
|
121
153
|
return children;
|
|
122
154
|
}
|
|
123
155
|
};
|
|
156
|
+
__name(_ThrownErrorBoundary, "ThrownErrorBoundary");
|
|
157
|
+
var ThrownErrorBoundary = _ThrownErrorBoundary;
|
|
124
158
|
|
|
125
159
|
// src/contexts/ErrorReporter/Provider.tsx
|
|
126
|
-
var
|
|
160
|
+
var import_react5 = __toESM(require("react"), 1);
|
|
127
161
|
|
|
128
162
|
// src/contexts/ErrorReporter/Context.ts
|
|
129
|
-
var
|
|
130
|
-
var ErrorReporterContext = (0,
|
|
163
|
+
var import_react4 = require("react");
|
|
164
|
+
var ErrorReporterContext = (0, import_react4.createContext)({});
|
|
131
165
|
|
|
132
166
|
// src/contexts/ErrorReporter/Provider.tsx
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
(0, import_react4.useEffect)(() => {
|
|
167
|
+
var ErrorReporterProvider = /* @__PURE__ */ __name(({ children, rollbar }) => {
|
|
168
|
+
const [rollbarInstance, setRollBarInstance] = (0, import_react5.useState)();
|
|
169
|
+
(0, import_react5.useEffect)(() => {
|
|
137
170
|
if (rollbarInstance) {
|
|
138
171
|
setRollBarInstance(rollbarInstance);
|
|
139
172
|
}
|
|
140
|
-
}, [
|
|
141
|
-
|
|
142
|
-
|
|
173
|
+
}, [
|
|
174
|
+
rollbar,
|
|
175
|
+
rollbarInstance
|
|
176
|
+
]);
|
|
177
|
+
return /* @__PURE__ */ import_react5.default.createElement(ErrorReporterContext.Provider, {
|
|
178
|
+
value: {
|
|
179
|
+
rollbar
|
|
180
|
+
}
|
|
181
|
+
}, children);
|
|
182
|
+
}, "ErrorReporterProvider");
|
|
143
183
|
|
|
144
184
|
// src/contexts/ErrorReporter/useRollbar.tsx
|
|
145
|
-
var
|
|
146
|
-
var useRollbar = () => {
|
|
147
|
-
const context = (0,
|
|
185
|
+
var import_react6 = require("react");
|
|
186
|
+
var useRollbar = /* @__PURE__ */ __name(() => {
|
|
187
|
+
const context = (0, import_react6.useContext)(ErrorReporterContext);
|
|
148
188
|
if (context === void 0) {
|
|
149
189
|
console.warn("useRollbar must be used within a ErrorReporterContext");
|
|
150
190
|
}
|
|
151
191
|
return context ?? {};
|
|
152
|
-
};
|
|
192
|
+
}, "useRollbar");
|
|
153
193
|
// Annotate the CommonJS export names for ESM import in node:
|
|
154
194
|
0 && (module.exports = {
|
|
155
195
|
ErrorAlert,
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx","../../src/components/ErrorRender/ErrorAlert.tsx","../../src/components/ErrorRender/Render.tsx","../../src/contexts/ErrorReporter/Provider.tsx","../../src/contexts/ErrorReporter/Context.ts","../../src/contexts/ErrorReporter/useRollbar.tsx"],"sourcesContent":["export * from './components/index.js'\nexport * from './contexts/index.js'\n","import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { Component, ErrorInfo, ReactNode } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorRender } from '../ErrorRender/index.js'\n\nexport interface ThrownErrorBoundaryProps {\n boundaryName?: string\n children: ReactNode\n errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode\n rethrow?: boolean\n rollbar?: Rollbar\n scope?: string\n title?: string\n}\n\nexport interface ThrownErrorBoundaryState {\n xyoError?: ModuleError\n}\n\nexport class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {\n override state: ThrownErrorBoundaryState = {\n xyoError: undefined,\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, xyoError: ThrownErrorBoundary.normalizeError(error) } as ThrownErrorBoundaryState\n }\n\n static normalizeError(error: Error | ModuleError): ModuleError {\n return (\n (error as ModuleError).schema === ModuleErrorSchema ?\n error\n : { message: error.message, schema: ModuleErrorSchema, sources: [] }) as ModuleError\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n const { rethrow, rollbar } = this.props\n const { xyoError } = this.state\n\n rollbar?.error(error)\n\n console.error('Error:', xyoError, errorInfo)\n if (rethrow) {\n throw error\n }\n }\n\n override render() {\n const { xyoError } = this.state\n const { children, boundaryName, errorComponent, scope, title } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} scope={scope} title={title} />\n }\n\n return children\n }\n}\n","import { ExitToApp as ExitIcon } from '@mui/icons-material'\nimport { Alert, AlertProps, AlertTitle, Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleError } from '@xyo-network/payload-model'\n\nexport interface ErrorAlertProps extends AlertProps {\n error?: ModuleError | Error | string\n /** @deprecated use scope instead */\n errorContext?: string\n onCancel?: () => void\n scope?: string\n}\n\n// eslint-disable-next-line deprecation/deprecation\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({\n title = 'Whoops! Something went wrong',\n onCancel,\n error = 'An unknown error occurred',\n errorContext,\n scope,\n ...props\n}) => {\n const finalScope = scope ?? errorContext\n return (\n <Alert severity=\"error\" {...props}>\n <AlertTitle>{title}</AlertTitle>\n {finalScope ?\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Scope:\n </Typography>\n <Typography variant=\"caption\">{finalScope}</Typography>\n </div>\n : null}\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Error:\n </Typography>\n <Typography variant=\"caption\">{typeof error === 'string' ? error : error?.message}</Typography>\n </div>\n {onCancel ?\n <ButtonEx variant=\"outlined\" size=\"small\" onClick={onCancel} position=\"absolute\" style={{ right: 8, top: 8 }}>\n <ExitIcon fontSize=\"small\" />\n </ButtonEx>\n : null}\n </Alert>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\n\nimport { ErrorAlert } from './ErrorAlert.js'\nimport { ErrorRenderProps } from './Props.js'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n scope,\n useLocation,\n ...props\n}) => {\n const location = useLocation?.()\n useEffect(() => {\n if (location) {\n // ensure we end up at the same place we are now after logging in\n location.state = {\n from: {\n pathname: window.location.pathname,\n },\n }\n }\n }, [location])\n\n return error ?\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay ?\n customError\n : <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} scope={scope} />\n </FlexCol>\n }\n </FlexCol>\n : (<>{children}</> ?? null)\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport { useEffect, useState } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorReporterContext } from './Context.js'\n\nexport interface ErrorReporterProviderProps {\n rollbar: Rollbar\n}\n\nconst ErrorReporterProvider: React.FC<WithChildren<ErrorReporterProviderProps>> = ({ children, rollbar }) => {\n const [rollbarInstance, setRollBarInstance] = useState<Rollbar>()\n\n useEffect(() => {\n if (rollbarInstance) {\n setRollBarInstance(rollbarInstance)\n }\n }, [rollbar, rollbarInstance])\n\n return <ErrorReporterContext.Provider value={{ rollbar }}>{children}</ErrorReporterContext.Provider>\n}\n\nexport { ErrorReporterProvider }\n","import { createContext } from 'react'\n\nimport { ErrorReporterContextState } from './State.js'\n\nexport const ErrorReporterContext = createContext<ErrorReporterContextState>({})\n","import { useContext } from 'react'\n\nimport { ErrorReporterContext } from './Context.js'\n\nconst useRollbar = () => {\n const context = useContext(ErrorReporterContext)\n if (context === undefined) {\n console.warn('useRollbar must be used within a ErrorReporterContext')\n }\n\n return context ?? {}\n}\n\nexport { useRollbar }\n"],"mappings":"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","names":["import_react","ExitIcon","import_jsx_runtime","import_jsx_runtime","import_react","import_react","import_jsx_runtime","import_react"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx","../../src/components/ErrorRender/ErrorAlert.tsx","../../src/components/ErrorRender/Render.tsx","../../src/contexts/ErrorReporter/Provider.tsx","../../src/contexts/ErrorReporter/Context.ts","../../src/contexts/ErrorReporter/useRollbar.tsx"],"sourcesContent":["export * from './components/index.ts'\nexport * from './contexts/index.ts'\n","import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport React, { Component, ErrorInfo, ReactNode } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorRender } from '../ErrorRender/index.ts'\n\nexport interface ThrownErrorBoundaryProps {\n boundaryName?: string\n children: ReactNode\n errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode\n rethrow?: boolean\n rollbar?: Rollbar\n scope?: string\n title?: string\n}\n\nexport interface ThrownErrorBoundaryState {\n xyoError?: ModuleError\n}\n\nexport class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {\n override state: ThrownErrorBoundaryState = {\n xyoError: undefined,\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, xyoError: ThrownErrorBoundary.normalizeError(error) } as ThrownErrorBoundaryState\n }\n\n static normalizeError(error: Error | ModuleError): ModuleError {\n return (\n (error as ModuleError).schema === ModuleErrorSchema\n ? error\n : { message: error.message, schema: ModuleErrorSchema, sources: [] }) as ModuleError\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n const { rethrow, rollbar } = this.props\n const { xyoError } = this.state\n\n rollbar?.error(error)\n\n console.error('Error:', xyoError, errorInfo)\n if (rethrow) {\n throw error\n }\n }\n\n override render() {\n const { xyoError } = this.state\n const { children, boundaryName, errorComponent, scope, title } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} scope={scope} title={title} />\n }\n\n return children\n }\n}\n","import { ExitToApp as ExitIcon } from '@mui/icons-material'\nimport { Alert, AlertProps, AlertTitle, Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleError } from '@xyo-network/payload-model'\nimport React from 'react'\n\nexport interface ErrorAlertProps extends AlertProps {\n error?: ModuleError | Error | string\n /** @deprecated use scope instead */\n errorContext?: string\n onCancel?: () => void\n scope?: string\n}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({\n title = 'Whoops! Something went wrong',\n onCancel,\n error = 'An unknown error occurred',\n errorContext,\n scope,\n ...props\n}) => {\n const finalScope = scope ?? errorContext\n return (\n <Alert severity=\"error\" {...props}>\n <AlertTitle>{title}</AlertTitle>\n {finalScope\n ? (\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Scope:\n </Typography>\n <Typography variant=\"caption\">{finalScope}</Typography>\n </div>\n )\n : null}\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Error:\n </Typography>\n <Typography variant=\"caption\">{typeof error === 'string' ? error : error?.message}</Typography>\n </div>\n {onCancel\n ? (\n <ButtonEx variant=\"outlined\" size=\"small\" onClick={onCancel} position=\"absolute\" style={{ right: 8, top: 8 }}>\n <ExitIcon fontSize=\"small\" />\n </ButtonEx>\n )\n : null}\n </Alert>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport React, { useEffect } from 'react'\n\nimport { ErrorAlert } from './ErrorAlert.tsx'\nimport { ErrorRenderProps } from './Props.ts'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n scope,\n useLocation,\n ...props\n}) => {\n const location = useLocation?.()\n useEffect(() => {\n if (location) {\n // ensure we end up at the same place we are now after logging in\n location.state = {\n from: {\n pathname: window.location.pathname,\n },\n }\n }\n }, [location])\n\n return error\n ? (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay\n ? customError\n : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} scope={scope} />\n </FlexCol>\n )}\n </FlexCol>\n )\n : (<>{children}</> ?? null)\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport React, { useEffect, useState } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorReporterContext } from './Context.ts'\n\nexport interface ErrorReporterProviderProps {\n rollbar: Rollbar\n}\n\nconst ErrorReporterProvider: React.FC<WithChildren<ErrorReporterProviderProps>> = ({ children, rollbar }) => {\n const [rollbarInstance, setRollBarInstance] = useState<Rollbar>()\n\n useEffect(() => {\n if (rollbarInstance) {\n setRollBarInstance(rollbarInstance)\n }\n }, [rollbar, rollbarInstance])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <ErrorReporterContext.Provider value={{ rollbar }}>{children}</ErrorReporterContext.Provider>\n}\n\nexport { ErrorReporterProvider }\n","import { createContext } from 'react'\n\nimport { ErrorReporterContextState } from './State.ts'\n\nexport const ErrorReporterContext = createContext<ErrorReporterContextState>({})\n","import { useContext } from 'react'\n\nimport { ErrorReporterContext } from './Context.ts'\n\nconst useRollbar = () => {\n const context = useContext(ErrorReporterContext)\n if (context === undefined) {\n console.warn('useRollbar must be used within a ErrorReporterContext')\n }\n\n return context ?? {}\n}\n\nexport { useRollbar }\n"],"mappings":"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","names":["import_react","ErrorAlert","title","onCancel","error","errorContext","scope","props","finalScope","React","Alert","severity","AlertTitle","div","Typography","variant","mr","fontWeight","message","ButtonEx","size","onClick","position","style","right","top","ExitIcon","fontSize","import_react","ErrorRender","onCancel","error","noErrorDisplay","customError","children","errorContext","scope","useLocation","props","location","useEffect","state","from","pathname","window","React","FlexCol","alignItems","ErrorAlert","ThrownErrorBoundary","Component","state","xyoError","undefined","getDerivedStateFromError","error","hasError","normalizeError","schema","ModuleErrorSchema","message","sources","componentDidCatch","errorInfo","rethrow","rollbar","props","console","render","children","boundaryName","errorComponent","scope","title","React","ErrorRender","errorContext","import_react","import_react","ErrorReporterContext","createContext","ErrorReporterProvider","children","rollbar","rollbarInstance","setRollBarInstance","useState","useEffect","React","ErrorReporterContext","Provider","value","import_react","useRollbar","context","useContext","ErrorReporterContext","undefined","console","warn"]}
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './components/index.
|
|
2
|
-
export * from './contexts/index.
|
|
1
|
+
export * from './components/index.ts';
|
|
2
|
+
export * from './contexts/index.ts';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './components/index.
|
|
2
|
-
export * from './contexts/index.
|
|
1
|
+
export * from './components/index.ts';
|
|
2
|
+
export * from './contexts/index.ts';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './components/index.
|
|
2
|
-
export * from './contexts/index.
|
|
1
|
+
export * from './components/index.ts';
|
|
2
|
+
export * from './contexts/index.ts';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/components/ErrorBoundary/ThrownErrorBoundary.tsx
|
|
5
|
+
import { ModuleErrorSchema } from "@xyo-network/payload-model";
|
|
6
|
+
import React3, { Component } from "react";
|
|
7
|
+
|
|
8
|
+
// src/components/ErrorRender/ErrorAlert.tsx
|
|
9
|
+
import { ExitToApp as ExitIcon } from "@mui/icons-material";
|
|
10
|
+
import { Alert, AlertTitle, Typography } from "@mui/material";
|
|
11
|
+
import { ButtonEx } from "@xylabs/react-button";
|
|
12
|
+
import React from "react";
|
|
13
|
+
var ErrorAlert = /* @__PURE__ */ __name(({ title = "Whoops! Something went wrong", onCancel, error = "An unknown error occurred", errorContext, scope, ...props }) => {
|
|
14
|
+
const finalScope = scope ?? errorContext;
|
|
15
|
+
return /* @__PURE__ */ React.createElement(Alert, {
|
|
16
|
+
severity: "error",
|
|
17
|
+
...props
|
|
18
|
+
}, /* @__PURE__ */ React.createElement(AlertTitle, null, title), finalScope ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Typography, {
|
|
19
|
+
variant: "caption",
|
|
20
|
+
mr: 0.5,
|
|
21
|
+
fontWeight: "bold"
|
|
22
|
+
}, "Scope:"), /* @__PURE__ */ React.createElement(Typography, {
|
|
23
|
+
variant: "caption"
|
|
24
|
+
}, finalScope)) : null, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Typography, {
|
|
25
|
+
variant: "caption",
|
|
26
|
+
mr: 0.5,
|
|
27
|
+
fontWeight: "bold"
|
|
28
|
+
}, "Error:"), /* @__PURE__ */ React.createElement(Typography, {
|
|
29
|
+
variant: "caption"
|
|
30
|
+
}, typeof error === "string" ? error : error == null ? void 0 : error.message)), onCancel ? /* @__PURE__ */ React.createElement(ButtonEx, {
|
|
31
|
+
variant: "outlined",
|
|
32
|
+
size: "small",
|
|
33
|
+
onClick: onCancel,
|
|
34
|
+
position: "absolute",
|
|
35
|
+
style: {
|
|
36
|
+
right: 8,
|
|
37
|
+
top: 8
|
|
38
|
+
}
|
|
39
|
+
}, /* @__PURE__ */ React.createElement(ExitIcon, {
|
|
40
|
+
fontSize: "small"
|
|
41
|
+
})) : null);
|
|
42
|
+
}, "ErrorAlert");
|
|
43
|
+
|
|
44
|
+
// src/components/ErrorRender/Render.tsx
|
|
45
|
+
import { FlexCol } from "@xylabs/react-flexbox";
|
|
46
|
+
import React2, { useEffect } from "react";
|
|
47
|
+
var ErrorRender = /* @__PURE__ */ __name(({ onCancel, error, noErrorDisplay = false, customError = null, children, errorContext, scope, useLocation, ...props }) => {
|
|
48
|
+
const location = useLocation == null ? void 0 : useLocation();
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (location) {
|
|
51
|
+
location.state = {
|
|
52
|
+
from: {
|
|
53
|
+
pathname: window.location.pathname
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}, [
|
|
58
|
+
location
|
|
59
|
+
]);
|
|
60
|
+
return error ? /* @__PURE__ */ React2.createElement(FlexCol, {
|
|
61
|
+
alignItems: "stretch",
|
|
62
|
+
...props
|
|
63
|
+
}, noErrorDisplay ? customError : /* @__PURE__ */ React2.createElement(FlexCol, {
|
|
64
|
+
alignItems: "center",
|
|
65
|
+
...props
|
|
66
|
+
}, /* @__PURE__ */ React2.createElement(ErrorAlert, {
|
|
67
|
+
error,
|
|
68
|
+
errorContext,
|
|
69
|
+
onCancel,
|
|
70
|
+
scope
|
|
71
|
+
}))) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, children) ?? null;
|
|
72
|
+
}, "ErrorRender");
|
|
73
|
+
|
|
74
|
+
// src/components/ErrorBoundary/ThrownErrorBoundary.tsx
|
|
75
|
+
var _ThrownErrorBoundary = class _ThrownErrorBoundary extends Component {
|
|
76
|
+
state = {
|
|
77
|
+
xyoError: void 0
|
|
78
|
+
};
|
|
79
|
+
static getDerivedStateFromError(error) {
|
|
80
|
+
return {
|
|
81
|
+
hasError: true,
|
|
82
|
+
xyoError: _ThrownErrorBoundary.normalizeError(error)
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static normalizeError(error) {
|
|
86
|
+
return error.schema === ModuleErrorSchema ? error : {
|
|
87
|
+
message: error.message,
|
|
88
|
+
schema: ModuleErrorSchema,
|
|
89
|
+
sources: []
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
componentDidCatch(error, errorInfo) {
|
|
93
|
+
const { rethrow, rollbar } = this.props;
|
|
94
|
+
const { xyoError } = this.state;
|
|
95
|
+
rollbar == null ? void 0 : rollbar.error(error);
|
|
96
|
+
console.error("Error:", xyoError, errorInfo);
|
|
97
|
+
if (rethrow) {
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
render() {
|
|
102
|
+
const { xyoError } = this.state;
|
|
103
|
+
const { children, boundaryName, errorComponent, scope, title } = this.props;
|
|
104
|
+
if (xyoError) {
|
|
105
|
+
if (errorComponent) {
|
|
106
|
+
return errorComponent(xyoError);
|
|
107
|
+
}
|
|
108
|
+
return /* @__PURE__ */ React3.createElement(ErrorRender, {
|
|
109
|
+
error: xyoError,
|
|
110
|
+
errorContext: `${boundaryName} Boundary`,
|
|
111
|
+
scope,
|
|
112
|
+
title
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return children;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
__name(_ThrownErrorBoundary, "ThrownErrorBoundary");
|
|
119
|
+
var ThrownErrorBoundary = _ThrownErrorBoundary;
|
|
120
|
+
|
|
121
|
+
// src/contexts/ErrorReporter/Provider.tsx
|
|
122
|
+
import React4, { useEffect as useEffect2, useState } from "react";
|
|
123
|
+
|
|
124
|
+
// src/contexts/ErrorReporter/Context.ts
|
|
125
|
+
import { createContext } from "react";
|
|
126
|
+
var ErrorReporterContext = createContext({});
|
|
127
|
+
|
|
128
|
+
// src/contexts/ErrorReporter/Provider.tsx
|
|
129
|
+
var ErrorReporterProvider = /* @__PURE__ */ __name(({ children, rollbar }) => {
|
|
130
|
+
const [rollbarInstance, setRollBarInstance] = useState();
|
|
131
|
+
useEffect2(() => {
|
|
132
|
+
if (rollbarInstance) {
|
|
133
|
+
setRollBarInstance(rollbarInstance);
|
|
134
|
+
}
|
|
135
|
+
}, [
|
|
136
|
+
rollbar,
|
|
137
|
+
rollbarInstance
|
|
138
|
+
]);
|
|
139
|
+
return /* @__PURE__ */ React4.createElement(ErrorReporterContext.Provider, {
|
|
140
|
+
value: {
|
|
141
|
+
rollbar
|
|
142
|
+
}
|
|
143
|
+
}, children);
|
|
144
|
+
}, "ErrorReporterProvider");
|
|
145
|
+
|
|
146
|
+
// src/contexts/ErrorReporter/useRollbar.tsx
|
|
147
|
+
import { useContext } from "react";
|
|
148
|
+
var useRollbar = /* @__PURE__ */ __name(() => {
|
|
149
|
+
const context = useContext(ErrorReporterContext);
|
|
150
|
+
if (context === void 0) {
|
|
151
|
+
console.warn("useRollbar must be used within a ErrorReporterContext");
|
|
152
|
+
}
|
|
153
|
+
return context ?? {};
|
|
154
|
+
}, "useRollbar");
|
|
155
|
+
export {
|
|
156
|
+
ErrorAlert,
|
|
157
|
+
ErrorRender,
|
|
158
|
+
ErrorReporterProvider,
|
|
159
|
+
ThrownErrorBoundary,
|
|
160
|
+
useRollbar
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx","../../src/components/ErrorRender/ErrorAlert.tsx","../../src/components/ErrorRender/Render.tsx","../../src/contexts/ErrorReporter/Provider.tsx","../../src/contexts/ErrorReporter/Context.ts","../../src/contexts/ErrorReporter/useRollbar.tsx"],"sourcesContent":["import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport React, { Component, ErrorInfo, ReactNode } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorRender } from '../ErrorRender/index.ts'\n\nexport interface ThrownErrorBoundaryProps {\n boundaryName?: string\n children: ReactNode\n errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode\n rethrow?: boolean\n rollbar?: Rollbar\n scope?: string\n title?: string\n}\n\nexport interface ThrownErrorBoundaryState {\n xyoError?: ModuleError\n}\n\nexport class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {\n override state: ThrownErrorBoundaryState = {\n xyoError: undefined,\n }\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, xyoError: ThrownErrorBoundary.normalizeError(error) } as ThrownErrorBoundaryState\n }\n\n static normalizeError(error: Error | ModuleError): ModuleError {\n return (\n (error as ModuleError).schema === ModuleErrorSchema\n ? error\n : { message: error.message, schema: ModuleErrorSchema, sources: [] }) as ModuleError\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo) {\n const { rethrow, rollbar } = this.props\n const { xyoError } = this.state\n\n rollbar?.error(error)\n\n console.error('Error:', xyoError, errorInfo)\n if (rethrow) {\n throw error\n }\n }\n\n override render() {\n const { xyoError } = this.state\n const { children, boundaryName, errorComponent, scope, title } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} scope={scope} title={title} />\n }\n\n return children\n }\n}\n","import { ExitToApp as ExitIcon } from '@mui/icons-material'\nimport { Alert, AlertProps, AlertTitle, Typography } from '@mui/material'\nimport { ButtonEx } from '@xylabs/react-button'\nimport { ModuleError } from '@xyo-network/payload-model'\nimport React from 'react'\n\nexport interface ErrorAlertProps extends AlertProps {\n error?: ModuleError | Error | string\n /** @deprecated use scope instead */\n errorContext?: string\n onCancel?: () => void\n scope?: string\n}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({\n title = 'Whoops! Something went wrong',\n onCancel,\n error = 'An unknown error occurred',\n errorContext,\n scope,\n ...props\n}) => {\n const finalScope = scope ?? errorContext\n return (\n <Alert severity=\"error\" {...props}>\n <AlertTitle>{title}</AlertTitle>\n {finalScope\n ? (\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Scope:\n </Typography>\n <Typography variant=\"caption\">{finalScope}</Typography>\n </div>\n )\n : null}\n <div>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Error:\n </Typography>\n <Typography variant=\"caption\">{typeof error === 'string' ? error : error?.message}</Typography>\n </div>\n {onCancel\n ? (\n <ButtonEx variant=\"outlined\" size=\"small\" onClick={onCancel} position=\"absolute\" style={{ right: 8, top: 8 }}>\n <ExitIcon fontSize=\"small\" />\n </ButtonEx>\n )\n : null}\n </Alert>\n )\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport React, { useEffect } from 'react'\n\nimport { ErrorAlert } from './ErrorAlert.tsx'\nimport { ErrorRenderProps } from './Props.ts'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n scope,\n useLocation,\n ...props\n}) => {\n const location = useLocation?.()\n useEffect(() => {\n if (location) {\n // ensure we end up at the same place we are now after logging in\n location.state = {\n from: {\n pathname: window.location.pathname,\n },\n }\n }\n }, [location])\n\n return error\n ? (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay\n ? customError\n : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} scope={scope} />\n </FlexCol>\n )}\n </FlexCol>\n )\n : (<>{children}</> ?? null)\n}\n","import { WithChildren } from '@xylabs/react-shared'\nimport React, { useEffect, useState } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorReporterContext } from './Context.ts'\n\nexport interface ErrorReporterProviderProps {\n rollbar: Rollbar\n}\n\nconst ErrorReporterProvider: React.FC<WithChildren<ErrorReporterProviderProps>> = ({ children, rollbar }) => {\n const [rollbarInstance, setRollBarInstance] = useState<Rollbar>()\n\n useEffect(() => {\n if (rollbarInstance) {\n setRollBarInstance(rollbarInstance)\n }\n }, [rollbar, rollbarInstance])\n\n // eslint-disable-next-line @eslint-react/no-unstable-context-value\n return <ErrorReporterContext.Provider value={{ rollbar }}>{children}</ErrorReporterContext.Provider>\n}\n\nexport { ErrorReporterProvider }\n","import { createContext } from 'react'\n\nimport { ErrorReporterContextState } from './State.ts'\n\nexport const ErrorReporterContext = createContext<ErrorReporterContextState>({})\n","import { useContext } from 'react'\n\nimport { ErrorReporterContext } from './Context.ts'\n\nconst useRollbar = () => {\n const context = useContext(ErrorReporterContext)\n if (context === undefined) {\n console.warn('useRollbar must be used within a ErrorReporterContext')\n }\n\n return context ?? {}\n}\n\nexport { useRollbar }\n"],"mappings":"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","names":["ModuleErrorSchema","React","Component","ExitToApp","ExitIcon","Alert","AlertTitle","Typography","ButtonEx","React","ErrorAlert","title","onCancel","error","errorContext","scope","props","finalScope","Alert","severity","AlertTitle","div","Typography","variant","mr","fontWeight","message","ButtonEx","size","onClick","position","style","right","top","ExitIcon","fontSize","FlexCol","React","useEffect","ErrorRender","onCancel","error","noErrorDisplay","customError","children","errorContext","scope","useLocation","props","location","useEffect","state","from","pathname","window","React","FlexCol","alignItems","ErrorAlert","ThrownErrorBoundary","Component","state","xyoError","undefined","getDerivedStateFromError","error","hasError","normalizeError","schema","ModuleErrorSchema","message","sources","componentDidCatch","errorInfo","rethrow","rollbar","props","console","render","children","boundaryName","errorComponent","scope","title","React","ErrorRender","errorContext","React","useEffect","useState","createContext","ErrorReporterContext","ErrorReporterProvider","children","rollbar","rollbarInstance","setRollBarInstance","useState","useEffect","React","ErrorReporterContext","Provider","value","useContext","useRollbar","context","useContext","ErrorReporterContext","undefined","console","warn"]}
|
package/package.json
CHANGED
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/react-button": "^3.4.
|
|
14
|
-
"@xylabs/react-flexbox": "^3.4.
|
|
15
|
-
"@xylabs/react-shared": "^3.4.
|
|
16
|
-
"@xyo-network/payload-model": "^2.
|
|
17
|
-
"react-router-dom": "^6.
|
|
13
|
+
"@xylabs/react-button": "^3.4.2",
|
|
14
|
+
"@xylabs/react-flexbox": "^3.4.2",
|
|
15
|
+
"@xylabs/react-shared": "^3.4.2",
|
|
16
|
+
"@xyo-network/payload-model": "^2.111.3",
|
|
17
|
+
"react-router-dom": "^6.26.0"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"@mui/icons-material": "^5",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"rollbar": "^2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@storybook/react": "^
|
|
29
|
-
"@xylabs/ts-scripts-yarn3": "^3.
|
|
30
|
-
"@xylabs/tsconfig-react": "^3.
|
|
28
|
+
"@storybook/react": "^8.2.7",
|
|
29
|
+
"@xylabs/ts-scripts-yarn3": "^3.15.16",
|
|
30
|
+
"@xylabs/tsconfig-react": "^3.15.16",
|
|
31
31
|
"typescript": "^5.5.4"
|
|
32
32
|
},
|
|
33
33
|
"peerDependenciesMeta": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": {
|
|
43
43
|
"import": {
|
|
44
44
|
"types": "./dist/node/index.d.mts",
|
|
45
|
-
"default": "./dist/node/index.
|
|
45
|
+
"default": "./dist/node/index.mjs"
|
|
46
46
|
},
|
|
47
47
|
"require": {
|
|
48
48
|
"types": "./dist/node/index.d.cts",
|
|
@@ -52,19 +52,19 @@
|
|
|
52
52
|
"browser": {
|
|
53
53
|
"import": {
|
|
54
54
|
"types": "./dist/browser/index.d.mts",
|
|
55
|
-
"default": "./dist/browser/index.
|
|
55
|
+
"default": "./dist/browser/index.mjs"
|
|
56
56
|
},
|
|
57
57
|
"require": {
|
|
58
58
|
"types": "./dist/browser/index.d.cts",
|
|
59
59
|
"default": "./dist/browser/index.cjs"
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
|
-
"default": "./dist/browser/index.
|
|
62
|
+
"default": "./dist/browser/index.mjs"
|
|
63
63
|
},
|
|
64
64
|
"./package.json": "./package.json"
|
|
65
65
|
},
|
|
66
66
|
"main": "dist/browser/index.cjs",
|
|
67
|
-
"module": "dist/browser/index.
|
|
67
|
+
"module": "dist/browser/index.mjs",
|
|
68
68
|
"homepage": "https://xyo.network",
|
|
69
69
|
"keywords": [
|
|
70
70
|
"xyo",
|
|
@@ -86,6 +86,6 @@
|
|
|
86
86
|
},
|
|
87
87
|
"sideEffects": false,
|
|
88
88
|
"types": "dist/browser/index.d.ts",
|
|
89
|
-
"version": "2.
|
|
89
|
+
"version": "2.82.0",
|
|
90
90
|
"type": "module"
|
|
91
91
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/* eslint-disable import/no-internal-modules */
|
|
2
1
|
import { Alert } from '@mui/material'
|
|
3
2
|
import { Meta, StoryFn } from '@storybook/react'
|
|
3
|
+
import React from 'react'
|
|
4
4
|
|
|
5
|
-
import { ThrownErrorBoundary } from './ThrownErrorBoundary.
|
|
5
|
+
import { ThrownErrorBoundary } from './ThrownErrorBoundary.tsx'
|
|
6
6
|
|
|
7
7
|
const StorybookEntry: Meta = {
|
|
8
8
|
component: ThrownErrorBoundary,
|
|
@@ -22,10 +22,14 @@ Default.args = {}
|
|
|
22
22
|
|
|
23
23
|
const CustomErrorComponent = Template.bind({})
|
|
24
24
|
CustomErrorComponent.args = {
|
|
25
|
-
errorComponent:
|
|
25
|
+
errorComponent: e => (
|
|
26
|
+
<Alert severity="error">
|
|
27
|
+
Using Custom Error Component with error:
|
|
28
|
+
{e.message}
|
|
29
|
+
</Alert>
|
|
30
|
+
),
|
|
26
31
|
}
|
|
27
32
|
|
|
28
33
|
export { CustomErrorComponent, Default }
|
|
29
34
|
|
|
30
|
-
// eslint-disable-next-line import/no-default-export
|
|
31
35
|
export default StorybookEntry
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'
|
|
2
|
-
import { Component, ErrorInfo, ReactNode } from 'react'
|
|
2
|
+
import React, { Component, ErrorInfo, ReactNode } from 'react'
|
|
3
3
|
import Rollbar from 'rollbar'
|
|
4
4
|
|
|
5
|
-
import { ErrorRender } from '../ErrorRender/index.
|
|
5
|
+
import { ErrorRender } from '../ErrorRender/index.ts'
|
|
6
6
|
|
|
7
7
|
export interface ThrownErrorBoundaryProps {
|
|
8
8
|
boundaryName?: string
|
|
@@ -29,9 +29,9 @@ export class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, Thr
|
|
|
29
29
|
|
|
30
30
|
static normalizeError(error: Error | ModuleError): ModuleError {
|
|
31
31
|
return (
|
|
32
|
-
(error as ModuleError).schema === ModuleErrorSchema
|
|
33
|
-
error
|
|
34
|
-
|
|
32
|
+
(error as ModuleError).schema === ModuleErrorSchema
|
|
33
|
+
? error
|
|
34
|
+
: { message: error.message, schema: ModuleErrorSchema, sources: [] }) as ModuleError
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
override componentDidCatch(error: Error, errorInfo: ErrorInfo) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './ThrownErrorBoundary.
|
|
1
|
+
export * from './ThrownErrorBoundary.tsx'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, StoryFn } from '@storybook/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
|
-
import { ErrorAlert } from './ErrorAlert.
|
|
4
|
+
import { ErrorAlert } from './ErrorAlert.tsx'
|
|
5
5
|
|
|
6
6
|
const StorybookEntry: Meta = {
|
|
7
7
|
argTypes: {},
|
|
@@ -38,5 +38,4 @@ WithErrorAndScopeAndTitle.args = { error: 'An error happened', scope: 'Storybook
|
|
|
38
38
|
|
|
39
39
|
export { Default, WithError, WithErrorAndScope, WithErrorAndScopeAndTitle, WithScope, WithTitle }
|
|
40
40
|
|
|
41
|
-
// eslint-disable-next-line import/no-default-export
|
|
42
41
|
export default StorybookEntry
|