@xyo-network/react-error 2.81.9 → 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.
Files changed (205) hide show
  1. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts +3 -2
  2. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
  3. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.mts +3 -2
  4. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
  5. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.ts +3 -2
  6. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
  7. package/dist/browser/components/ErrorBoundary/index.d.cts +1 -1
  8. package/dist/browser/components/ErrorBoundary/index.d.cts.map +1 -1
  9. package/dist/browser/components/ErrorBoundary/index.d.mts +1 -1
  10. package/dist/browser/components/ErrorBoundary/index.d.mts.map +1 -1
  11. package/dist/browser/components/ErrorBoundary/index.d.ts +1 -1
  12. package/dist/browser/components/ErrorBoundary/index.d.ts.map +1 -1
  13. package/dist/browser/components/ErrorRender/ErrorAlert.d.cts +2 -1
  14. package/dist/browser/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
  15. package/dist/browser/components/ErrorRender/ErrorAlert.d.mts +2 -1
  16. package/dist/browser/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
  17. package/dist/browser/components/ErrorRender/ErrorAlert.d.ts +2 -1
  18. package/dist/browser/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
  19. package/dist/browser/components/ErrorRender/Render.d.cts +2 -1
  20. package/dist/browser/components/ErrorRender/Render.d.cts.map +1 -1
  21. package/dist/browser/components/ErrorRender/Render.d.mts +2 -1
  22. package/dist/browser/components/ErrorRender/Render.d.mts.map +1 -1
  23. package/dist/browser/components/ErrorRender/Render.d.ts +2 -1
  24. package/dist/browser/components/ErrorRender/Render.d.ts.map +1 -1
  25. package/dist/browser/components/ErrorRender/index.d.cts +3 -3
  26. package/dist/browser/components/ErrorRender/index.d.cts.map +1 -1
  27. package/dist/browser/components/ErrorRender/index.d.mts +3 -3
  28. package/dist/browser/components/ErrorRender/index.d.mts.map +1 -1
  29. package/dist/browser/components/ErrorRender/index.d.ts +3 -3
  30. package/dist/browser/components/ErrorRender/index.d.ts.map +1 -1
  31. package/dist/browser/components/index.d.cts +2 -2
  32. package/dist/browser/components/index.d.mts +2 -2
  33. package/dist/browser/components/index.d.ts +2 -2
  34. package/dist/browser/contexts/ErrorReporter/Context.d.cts +1 -1
  35. package/dist/browser/contexts/ErrorReporter/Context.d.mts +1 -1
  36. package/dist/browser/contexts/ErrorReporter/Context.d.ts +1 -1
  37. package/dist/browser/contexts/ErrorReporter/Provider.d.cts +1 -0
  38. package/dist/browser/contexts/ErrorReporter/Provider.d.cts.map +1 -1
  39. package/dist/browser/contexts/ErrorReporter/Provider.d.mts +1 -0
  40. package/dist/browser/contexts/ErrorReporter/Provider.d.mts.map +1 -1
  41. package/dist/browser/contexts/ErrorReporter/Provider.d.ts +1 -0
  42. package/dist/browser/contexts/ErrorReporter/Provider.d.ts.map +1 -1
  43. package/dist/browser/contexts/ErrorReporter/index.d.cts +3 -3
  44. package/dist/browser/contexts/ErrorReporter/index.d.cts.map +1 -1
  45. package/dist/browser/contexts/ErrorReporter/index.d.mts +3 -3
  46. package/dist/browser/contexts/ErrorReporter/index.d.mts.map +1 -1
  47. package/dist/browser/contexts/ErrorReporter/index.d.ts +3 -3
  48. package/dist/browser/contexts/ErrorReporter/index.d.ts.map +1 -1
  49. package/dist/browser/contexts/ErrorReporter/useRollbar.d.cts +1 -1
  50. package/dist/browser/contexts/ErrorReporter/useRollbar.d.mts +1 -1
  51. package/dist/browser/contexts/ErrorReporter/useRollbar.d.ts +1 -1
  52. package/dist/browser/contexts/index.d.cts +1 -1
  53. package/dist/browser/contexts/index.d.mts +1 -1
  54. package/dist/browser/contexts/index.d.ts +1 -1
  55. package/dist/browser/index.cjs +102 -52
  56. package/dist/browser/index.cjs.map +1 -1
  57. package/dist/browser/index.d.cts +2 -2
  58. package/dist/browser/index.d.mts +2 -2
  59. package/dist/browser/index.d.ts +2 -2
  60. package/dist/browser/index.mjs +163 -0
  61. package/dist/browser/index.mjs.map +1 -0
  62. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.cts +3 -2
  63. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
  64. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.mts +3 -2
  65. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
  66. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.ts +3 -2
  67. package/dist/neutral/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
  68. package/dist/neutral/components/ErrorBoundary/index.d.cts +1 -1
  69. package/dist/neutral/components/ErrorBoundary/index.d.cts.map +1 -1
  70. package/dist/neutral/components/ErrorBoundary/index.d.mts +1 -1
  71. package/dist/neutral/components/ErrorBoundary/index.d.mts.map +1 -1
  72. package/dist/neutral/components/ErrorBoundary/index.d.ts +1 -1
  73. package/dist/neutral/components/ErrorBoundary/index.d.ts.map +1 -1
  74. package/dist/neutral/components/ErrorRender/ErrorAlert.d.cts +2 -1
  75. package/dist/neutral/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
  76. package/dist/neutral/components/ErrorRender/ErrorAlert.d.mts +2 -1
  77. package/dist/neutral/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
  78. package/dist/neutral/components/ErrorRender/ErrorAlert.d.ts +2 -1
  79. package/dist/neutral/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
  80. package/dist/neutral/components/ErrorRender/Render.d.cts +2 -1
  81. package/dist/neutral/components/ErrorRender/Render.d.cts.map +1 -1
  82. package/dist/neutral/components/ErrorRender/Render.d.mts +2 -1
  83. package/dist/neutral/components/ErrorRender/Render.d.mts.map +1 -1
  84. package/dist/neutral/components/ErrorRender/Render.d.ts +2 -1
  85. package/dist/neutral/components/ErrorRender/Render.d.ts.map +1 -1
  86. package/dist/neutral/components/ErrorRender/index.d.cts +3 -3
  87. package/dist/neutral/components/ErrorRender/index.d.cts.map +1 -1
  88. package/dist/neutral/components/ErrorRender/index.d.mts +3 -3
  89. package/dist/neutral/components/ErrorRender/index.d.mts.map +1 -1
  90. package/dist/neutral/components/ErrorRender/index.d.ts +3 -3
  91. package/dist/neutral/components/ErrorRender/index.d.ts.map +1 -1
  92. package/dist/neutral/components/index.d.cts +2 -2
  93. package/dist/neutral/components/index.d.mts +2 -2
  94. package/dist/neutral/components/index.d.ts +2 -2
  95. package/dist/neutral/contexts/ErrorReporter/Context.d.cts +1 -1
  96. package/dist/neutral/contexts/ErrorReporter/Context.d.mts +1 -1
  97. package/dist/neutral/contexts/ErrorReporter/Context.d.ts +1 -1
  98. package/dist/neutral/contexts/ErrorReporter/Provider.d.cts +1 -0
  99. package/dist/neutral/contexts/ErrorReporter/Provider.d.cts.map +1 -1
  100. package/dist/neutral/contexts/ErrorReporter/Provider.d.mts +1 -0
  101. package/dist/neutral/contexts/ErrorReporter/Provider.d.mts.map +1 -1
  102. package/dist/neutral/contexts/ErrorReporter/Provider.d.ts +1 -0
  103. package/dist/neutral/contexts/ErrorReporter/Provider.d.ts.map +1 -1
  104. package/dist/neutral/contexts/ErrorReporter/index.d.cts +3 -3
  105. package/dist/neutral/contexts/ErrorReporter/index.d.cts.map +1 -1
  106. package/dist/neutral/contexts/ErrorReporter/index.d.mts +3 -3
  107. package/dist/neutral/contexts/ErrorReporter/index.d.mts.map +1 -1
  108. package/dist/neutral/contexts/ErrorReporter/index.d.ts +3 -3
  109. package/dist/neutral/contexts/ErrorReporter/index.d.ts.map +1 -1
  110. package/dist/neutral/contexts/ErrorReporter/useRollbar.d.cts +1 -1
  111. package/dist/neutral/contexts/ErrorReporter/useRollbar.d.mts +1 -1
  112. package/dist/neutral/contexts/ErrorReporter/useRollbar.d.ts +1 -1
  113. package/dist/neutral/contexts/index.d.cts +1 -1
  114. package/dist/neutral/contexts/index.d.mts +1 -1
  115. package/dist/neutral/contexts/index.d.ts +1 -1
  116. package/dist/neutral/index.cjs +102 -52
  117. package/dist/neutral/index.cjs.map +1 -1
  118. package/dist/neutral/index.d.cts +2 -2
  119. package/dist/neutral/index.d.mts +2 -2
  120. package/dist/neutral/index.d.ts +2 -2
  121. package/dist/neutral/index.mjs +163 -0
  122. package/dist/neutral/index.mjs.map +1 -0
  123. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts +3 -2
  124. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -1
  125. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.mts +3 -2
  126. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.mts.map +1 -1
  127. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.ts +3 -2
  128. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.ts.map +1 -1
  129. package/dist/node/components/ErrorBoundary/index.d.cts +1 -1
  130. package/dist/node/components/ErrorBoundary/index.d.cts.map +1 -1
  131. package/dist/node/components/ErrorBoundary/index.d.mts +1 -1
  132. package/dist/node/components/ErrorBoundary/index.d.mts.map +1 -1
  133. package/dist/node/components/ErrorBoundary/index.d.ts +1 -1
  134. package/dist/node/components/ErrorBoundary/index.d.ts.map +1 -1
  135. package/dist/node/components/ErrorRender/ErrorAlert.d.cts +2 -1
  136. package/dist/node/components/ErrorRender/ErrorAlert.d.cts.map +1 -1
  137. package/dist/node/components/ErrorRender/ErrorAlert.d.mts +2 -1
  138. package/dist/node/components/ErrorRender/ErrorAlert.d.mts.map +1 -1
  139. package/dist/node/components/ErrorRender/ErrorAlert.d.ts +2 -1
  140. package/dist/node/components/ErrorRender/ErrorAlert.d.ts.map +1 -1
  141. package/dist/node/components/ErrorRender/Render.d.cts +2 -1
  142. package/dist/node/components/ErrorRender/Render.d.cts.map +1 -1
  143. package/dist/node/components/ErrorRender/Render.d.mts +2 -1
  144. package/dist/node/components/ErrorRender/Render.d.mts.map +1 -1
  145. package/dist/node/components/ErrorRender/Render.d.ts +2 -1
  146. package/dist/node/components/ErrorRender/Render.d.ts.map +1 -1
  147. package/dist/node/components/ErrorRender/index.d.cts +3 -3
  148. package/dist/node/components/ErrorRender/index.d.cts.map +1 -1
  149. package/dist/node/components/ErrorRender/index.d.mts +3 -3
  150. package/dist/node/components/ErrorRender/index.d.mts.map +1 -1
  151. package/dist/node/components/ErrorRender/index.d.ts +3 -3
  152. package/dist/node/components/ErrorRender/index.d.ts.map +1 -1
  153. package/dist/node/components/index.d.cts +2 -2
  154. package/dist/node/components/index.d.mts +2 -2
  155. package/dist/node/components/index.d.ts +2 -2
  156. package/dist/node/contexts/ErrorReporter/Context.d.cts +1 -1
  157. package/dist/node/contexts/ErrorReporter/Context.d.mts +1 -1
  158. package/dist/node/contexts/ErrorReporter/Context.d.ts +1 -1
  159. package/dist/node/contexts/ErrorReporter/Provider.d.cts +1 -0
  160. package/dist/node/contexts/ErrorReporter/Provider.d.cts.map +1 -1
  161. package/dist/node/contexts/ErrorReporter/Provider.d.mts +1 -0
  162. package/dist/node/contexts/ErrorReporter/Provider.d.mts.map +1 -1
  163. package/dist/node/contexts/ErrorReporter/Provider.d.ts +1 -0
  164. package/dist/node/contexts/ErrorReporter/Provider.d.ts.map +1 -1
  165. package/dist/node/contexts/ErrorReporter/index.d.cts +3 -3
  166. package/dist/node/contexts/ErrorReporter/index.d.cts.map +1 -1
  167. package/dist/node/contexts/ErrorReporter/index.d.mts +3 -3
  168. package/dist/node/contexts/ErrorReporter/index.d.mts.map +1 -1
  169. package/dist/node/contexts/ErrorReporter/index.d.ts +3 -3
  170. package/dist/node/contexts/ErrorReporter/index.d.ts.map +1 -1
  171. package/dist/node/contexts/ErrorReporter/useRollbar.d.cts +1 -1
  172. package/dist/node/contexts/ErrorReporter/useRollbar.d.mts +1 -1
  173. package/dist/node/contexts/ErrorReporter/useRollbar.d.ts +1 -1
  174. package/dist/node/contexts/index.d.cts +1 -1
  175. package/dist/node/contexts/index.d.mts +1 -1
  176. package/dist/node/contexts/index.d.ts +1 -1
  177. package/dist/node/index.cjs +101 -52
  178. package/dist/node/index.cjs.map +1 -1
  179. package/dist/node/index.d.cts +2 -2
  180. package/dist/node/index.d.mts +2 -2
  181. package/dist/node/index.d.ts +2 -2
  182. package/dist/node/index.mjs +162 -0
  183. package/dist/node/index.mjs.map +1 -0
  184. package/package.json +13 -13
  185. package/src/components/ErrorBoundary/ThrownErrorBoundary.stories.tsx +8 -4
  186. package/src/components/ErrorBoundary/ThrownErrorBoundary.tsx +8 -7
  187. package/src/components/ErrorBoundary/index.ts +1 -1
  188. package/src/components/ErrorRender/ErrorAlert.stories.tsx +41 -0
  189. package/src/components/ErrorRender/ErrorAlert.tsx +35 -24
  190. package/src/components/ErrorRender/Render.tsx +15 -12
  191. package/src/components/ErrorRender/index.ts +3 -3
  192. package/src/components/index.ts +2 -2
  193. package/src/contexts/ErrorReporter/Context.ts +1 -1
  194. package/src/contexts/ErrorReporter/Provider.stories.tsx +11 -4
  195. package/src/contexts/ErrorReporter/Provider.tsx +3 -2
  196. package/src/contexts/ErrorReporter/index.ts +3 -3
  197. package/src/contexts/ErrorReporter/useRollbar.tsx +1 -1
  198. package/src/contexts/index.ts +1 -1
  199. package/src/index.ts +2 -2
  200. package/dist/browser/index.js +0 -121
  201. package/dist/browser/index.js.map +0 -1
  202. package/dist/neutral/index.js +0 -121
  203. package/dist/neutral/index.js.map +0 -1
  204. package/dist/node/index.js +0 -121
  205. package/dist/node/index.js.map +0 -1
@@ -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,44 +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 import_react2 = require("react");
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 import_jsx_runtime = require("react/jsx-runtime");
40
- var ErrorAlert = ({ onCancel, error, errorContext, scope, ...props }) => {
41
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
42
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
43
- errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
44
- scope ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
45
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Scope:" }),
46
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: scope })
47
- ] }) : null,
48
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
49
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
50
- onCancel ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_button.ButtonEx, { variant: "outlined", size: "small", onClick: onCancel, position: "absolute", style: { right: 8, top: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icons_material.ExitToApp, { fontSize: "small" }) }) : null
51
- ] });
52
- };
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 }) => {
52
+ const finalScope = scope ?? errorContext;
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?.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");
53
81
 
54
82
  // src/components/ErrorRender/Render.tsx
55
83
  var import_react_flexbox = require("@xylabs/react-flexbox");
56
- var import_react = require("react");
57
- var import_jsx_runtime2 = require("react/jsx-runtime");
58
- var ErrorRender = ({
59
- onCancel,
60
- error,
61
- noErrorDisplay = false,
62
- customError = null,
63
- children,
64
- errorContext,
65
- scope,
66
- useLocation,
67
- ...props
68
- }) => {
84
+ var import_react2 = __toESM(require("react"), 1);
85
+ var ErrorRender = /* @__PURE__ */ __name(({ onCancel, error, noErrorDisplay = false, customError = null, children, errorContext, scope, useLocation, ...props }) => {
69
86
  const location = useLocation?.();
70
- (0, import_react.useEffect)(() => {
87
+ (0, import_react2.useEffect)(() => {
71
88
  if (location) {
72
89
  location.state = {
73
90
  from: {
@@ -75,21 +92,43 @@ var ErrorRender = ({
75
92
  }
76
93
  };
77
94
  }
78
- }, [location]);
79
- return error ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox.FlexCol, { alignItems: "stretch", ...props, children: noErrorDisplay ? customError : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox.FlexCol, { alignItems: "center", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ErrorAlert, { error, errorContext, onCancel, scope }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children }) ?? null;
80
- };
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");
81
111
 
82
112
  // src/components/ErrorBoundary/ThrownErrorBoundary.tsx
83
- var import_jsx_runtime3 = require("react/jsx-runtime");
84
- var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Component {
113
+ var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react3.Component {
114
+ static {
115
+ __name(this, "ThrownErrorBoundary");
116
+ }
85
117
  state = {
86
118
  xyoError: void 0
87
119
  };
88
120
  static getDerivedStateFromError(error) {
89
- return { hasError: true, xyoError: _ThrownErrorBoundary.normalizeError(error) };
121
+ return {
122
+ hasError: true,
123
+ xyoError: _ThrownErrorBoundary.normalizeError(error)
124
+ };
90
125
  }
91
126
  static normalizeError(error) {
92
- return error.schema === import_payload_model.ModuleErrorSchema ? error : { message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] };
127
+ return error.schema === import_payload_model.ModuleErrorSchema ? error : {
128
+ message: error.message,
129
+ schema: import_payload_model.ModuleErrorSchema,
130
+ sources: []
131
+ };
93
132
  }
94
133
  componentDidCatch(error, errorInfo) {
95
134
  const { rethrow, rollbar } = this.props;
@@ -102,43 +141,54 @@ var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Compo
102
141
  }
103
142
  render() {
104
143
  const { xyoError } = this.state;
105
- const { children, boundaryName, errorComponent, scope } = this.props;
144
+ const { children, boundaryName, errorComponent, scope, title } = this.props;
106
145
  if (xyoError) {
107
146
  if (errorComponent) {
108
147
  return errorComponent(xyoError);
109
148
  }
110
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ErrorRender, { error: xyoError, errorContext: `${boundaryName} Boundary`, scope });
149
+ return /* @__PURE__ */ import_react3.default.createElement(ErrorRender, {
150
+ error: xyoError,
151
+ errorContext: `${boundaryName} Boundary`,
152
+ scope,
153
+ title
154
+ });
111
155
  }
112
156
  return children;
113
157
  }
114
158
  };
115
159
 
116
160
  // src/contexts/ErrorReporter/Provider.tsx
117
- var import_react4 = require("react");
161
+ var import_react5 = __toESM(require("react"), 1);
118
162
 
119
163
  // src/contexts/ErrorReporter/Context.ts
120
- var import_react3 = require("react");
121
- var ErrorReporterContext = (0, import_react3.createContext)({});
164
+ var import_react4 = require("react");
165
+ var ErrorReporterContext = (0, import_react4.createContext)({});
122
166
 
123
167
  // src/contexts/ErrorReporter/Provider.tsx
124
- var import_jsx_runtime4 = require("react/jsx-runtime");
125
- var ErrorReporterProvider = ({ children, rollbar }) => {
126
- const [rollbarInstance, setRollBarInstance] = (0, import_react4.useState)();
127
- (0, import_react4.useEffect)(() => {
168
+ var ErrorReporterProvider = /* @__PURE__ */ __name(({ children, rollbar }) => {
169
+ const [rollbarInstance, setRollBarInstance] = (0, import_react5.useState)();
170
+ (0, import_react5.useEffect)(() => {
128
171
  if (rollbarInstance) {
129
172
  setRollBarInstance(rollbarInstance);
130
173
  }
131
- }, [rollbar, rollbarInstance]);
132
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ErrorReporterContext.Provider, { value: { rollbar }, children });
133
- };
174
+ }, [
175
+ rollbar,
176
+ rollbarInstance
177
+ ]);
178
+ return /* @__PURE__ */ import_react5.default.createElement(ErrorReporterContext.Provider, {
179
+ value: {
180
+ rollbar
181
+ }
182
+ }, children);
183
+ }, "ErrorReporterProvider");
134
184
 
135
185
  // src/contexts/ErrorReporter/useRollbar.tsx
136
- var import_react5 = require("react");
137
- var useRollbar = () => {
138
- const context = (0, import_react5.useContext)(ErrorReporterContext);
186
+ var import_react6 = require("react");
187
+ var useRollbar = /* @__PURE__ */ __name(() => {
188
+ const context = (0, import_react6.useContext)(ErrorReporterContext);
139
189
  if (context === void 0) {
140
190
  console.warn("useRollbar must be used within a ErrorReporterContext");
141
191
  }
142
192
  return context ?? {};
143
- };
193
+ }, "useRollbar");
144
194
  //# sourceMappingURL=index.cjs.map
@@ -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}\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 } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} scope={scope} />\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\n errorContext?: string\n onCancel?: () => void\n scope?: string\n}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, scope, ...props }) => {\n return (\n <Alert severity=\"error\" {...props}>\n <AlertTitle>Whoops! Something went wrong</AlertTitle>\n {errorContext ?\n <Typography variant=\"caption\" my={0.5} lineHeight=\"1\" display=\"block\">\n {errorContext}\n </Typography>\n : null}\n {scope ?\n <>\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Scope:\n </Typography>\n <Typography variant=\"caption\">{scope}</Typography>\n </>\n : null}\n <Typography variant=\"caption\" mr={0.5} fontWeight=\"bold\">\n Error:\n </Typography>\n <Typography variant=\"caption\">{error?.message}</Typography>\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"]}
@@ -1,3 +1,3 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
- export * from './components/index.js';
2
- export * from './contexts/index.js';
1
+ export * from './components/index.ts';
2
+ export * from './contexts/index.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,163 @@
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?.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?.();
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
+ static {
77
+ __name(this, "ThrownErrorBoundary");
78
+ }
79
+ state = {
80
+ xyoError: void 0
81
+ };
82
+ static getDerivedStateFromError(error) {
83
+ return {
84
+ hasError: true,
85
+ xyoError: _ThrownErrorBoundary.normalizeError(error)
86
+ };
87
+ }
88
+ static normalizeError(error) {
89
+ return error.schema === ModuleErrorSchema ? error : {
90
+ message: error.message,
91
+ schema: ModuleErrorSchema,
92
+ sources: []
93
+ };
94
+ }
95
+ componentDidCatch(error, errorInfo) {
96
+ const { rethrow, rollbar } = this.props;
97
+ const { xyoError } = this.state;
98
+ rollbar?.error(error);
99
+ console.error("Error:", xyoError, errorInfo);
100
+ if (rethrow) {
101
+ throw error;
102
+ }
103
+ }
104
+ render() {
105
+ const { xyoError } = this.state;
106
+ const { children, boundaryName, errorComponent, scope, title } = this.props;
107
+ if (xyoError) {
108
+ if (errorComponent) {
109
+ return errorComponent(xyoError);
110
+ }
111
+ return /* @__PURE__ */ React3.createElement(ErrorRender, {
112
+ error: xyoError,
113
+ errorContext: `${boundaryName} Boundary`,
114
+ scope,
115
+ title
116
+ });
117
+ }
118
+ return children;
119
+ }
120
+ };
121
+
122
+ // src/contexts/ErrorReporter/Provider.tsx
123
+ import React4, { useEffect as useEffect2, useState } from "react";
124
+
125
+ // src/contexts/ErrorReporter/Context.ts
126
+ import { createContext } from "react";
127
+ var ErrorReporterContext = createContext({});
128
+
129
+ // src/contexts/ErrorReporter/Provider.tsx
130
+ var ErrorReporterProvider = /* @__PURE__ */ __name(({ children, rollbar }) => {
131
+ const [rollbarInstance, setRollBarInstance] = useState();
132
+ useEffect2(() => {
133
+ if (rollbarInstance) {
134
+ setRollBarInstance(rollbarInstance);
135
+ }
136
+ }, [
137
+ rollbar,
138
+ rollbarInstance
139
+ ]);
140
+ return /* @__PURE__ */ React4.createElement(ErrorReporterContext.Provider, {
141
+ value: {
142
+ rollbar
143
+ }
144
+ }, children);
145
+ }, "ErrorReporterProvider");
146
+
147
+ // src/contexts/ErrorReporter/useRollbar.tsx
148
+ import { useContext } from "react";
149
+ var useRollbar = /* @__PURE__ */ __name(() => {
150
+ const context = useContext(ErrorReporterContext);
151
+ if (context === void 0) {
152
+ console.warn("useRollbar must be used within a ErrorReporterContext");
153
+ }
154
+ return context ?? {};
155
+ }, "useRollbar");
156
+ export {
157
+ ErrorAlert,
158
+ ErrorRender,
159
+ ErrorReporterProvider,
160
+ ThrownErrorBoundary,
161
+ useRollbar
162
+ };
163
+ //# 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"]}
@@ -1,5 +1,5 @@
1
1
  import { ModuleError } 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
  export interface ThrownErrorBoundaryProps {
5
5
  boundaryName?: string;
@@ -8,6 +8,7 @@ export interface ThrownErrorBoundaryProps {
8
8
  rethrow?: boolean;
9
9
  rollbar?: Rollbar;
10
10
  scope?: string;
11
+ title?: string;
11
12
  }
12
13
  export interface ThrownErrorBoundaryState {
13
14
  xyoError?: ModuleError;
@@ -17,6 +18,6 @@ export declare class ThrownErrorBoundary extends Component<ThrownErrorBoundaryPr
17
18
  static getDerivedStateFromError(error: Error): ThrownErrorBoundaryState;
18
19
  static normalizeError(error: Error | ModuleError): ModuleError;
19
20
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
20
- render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
21
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
21
22
  }
22
23
  //# sourceMappingURL=ThrownErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
1
+ {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
@@ -1,5 +1,5 @@
1
1
  import { ModuleError } 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
  export interface ThrownErrorBoundaryProps {
5
5
  boundaryName?: string;
@@ -8,6 +8,7 @@ export interface ThrownErrorBoundaryProps {
8
8
  rethrow?: boolean;
9
9
  rollbar?: Rollbar;
10
10
  scope?: string;
11
+ title?: string;
11
12
  }
12
13
  export interface ThrownErrorBoundaryState {
13
14
  xyoError?: ModuleError;
@@ -17,6 +18,6 @@ export declare class ThrownErrorBoundary extends Component<ThrownErrorBoundaryPr
17
18
  static getDerivedStateFromError(error: Error): ThrownErrorBoundaryState;
18
19
  static normalizeError(error: Error | ModuleError): ModuleError;
19
20
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
20
- render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
21
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
21
22
  }
22
23
  //# sourceMappingURL=ThrownErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
1
+ {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
@@ -1,5 +1,5 @@
1
1
  import { ModuleError } 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
  export interface ThrownErrorBoundaryProps {
5
5
  boundaryName?: string;
@@ -8,6 +8,7 @@ export interface ThrownErrorBoundaryProps {
8
8
  rethrow?: boolean;
9
9
  rollbar?: Rollbar;
10
10
  scope?: string;
11
+ title?: string;
11
12
  }
12
13
  export interface ThrownErrorBoundaryState {
13
14
  xyoError?: ModuleError;
@@ -17,6 +18,6 @@ export declare class ThrownErrorBoundary extends Component<ThrownErrorBoundaryPr
17
18
  static getDerivedStateFromError(error: Error): ThrownErrorBoundaryState;
18
19
  static normalizeError(error: Error | ModuleError): ModuleError;
19
20
  componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
20
- render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
21
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | null | undefined;
21
22
  }
22
23
  //# sourceMappingURL=ThrownErrorBoundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
1
+ {"version":3,"file":"ThrownErrorBoundary.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,4BAA4B,CAAA;AAC3E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,OAAO,MAAM,SAAS,CAAA;AAI7B,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,SAAS,CAAA;IACrE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC3F,KAAK,EAAE,wBAAwB,CAEvC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GACwC,wBAAwB;IAG5G,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAOrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYhB"}
@@ -1,2 +1,2 @@
1
- export * from './ThrownErrorBoundary.js';
1
+ export * from './ThrownErrorBoundary.tsx';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './ThrownErrorBoundary.js';
1
+ export * from './ThrownErrorBoundary.tsx';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,2 +1,2 @@
1
- export * from './ThrownErrorBoundary.js';
1
+ export * from './ThrownErrorBoundary.tsx';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import { AlertProps } from '@mui/material';
2
2
  import { ModuleError } from '@xyo-network/payload-model';
3
+ import React from 'react';
3
4
  export interface ErrorAlertProps extends AlertProps {
4
- error?: ModuleError | Error;
5
+ error?: ModuleError | Error | string;
5
6
  errorContext?: string;
6
7
  onCancel?: () => void;
7
8
  scope?: string;