@xyo-network/react-error 2.64.0-rc.7 → 2.64.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 (180) hide show
  1. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.cjs +106 -0
  2. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.cjs.map +1 -0
  3. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts +21 -0
  4. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -0
  5. package/dist/browser/components/ErrorBoundary/index.cjs +108 -0
  6. package/dist/browser/components/ErrorBoundary/index.cjs.map +1 -0
  7. package/dist/browser/components/ErrorBoundary/index.d.cts +2 -0
  8. package/dist/browser/components/ErrorBoundary/index.d.cts.map +1 -0
  9. package/dist/browser/components/ErrorRender/ErrorAlert.cjs +39 -0
  10. package/dist/{node/components/ErrorRender/ErrorAlert.mjs.map → browser/components/ErrorRender/ErrorAlert.cjs.map} +1 -1
  11. package/dist/browser/components/ErrorRender/ErrorAlert.d.cts +10 -0
  12. package/dist/browser/components/ErrorRender/ErrorAlert.d.cts.map +1 -0
  13. package/dist/browser/components/ErrorRender/Props.cjs +19 -0
  14. package/dist/browser/components/ErrorRender/Props.cjs.map +1 -0
  15. package/dist/browser/components/ErrorRender/Props.d.cts +12 -0
  16. package/dist/browser/components/ErrorRender/Props.d.cts.map +1 -0
  17. package/dist/browser/components/ErrorRender/Render.cjs +70 -0
  18. package/dist/browser/components/ErrorRender/Render.cjs.map +1 -0
  19. package/dist/browser/components/ErrorRender/Render.d.cts +4 -0
  20. package/dist/browser/components/ErrorRender/Render.d.cts.map +1 -0
  21. package/dist/browser/components/ErrorRender/index.cjs +71 -0
  22. package/dist/browser/components/ErrorRender/index.cjs.map +1 -0
  23. package/dist/browser/components/ErrorRender/index.d.cts +4 -0
  24. package/dist/browser/components/ErrorRender/index.d.cts.map +1 -0
  25. package/dist/browser/components/index.cjs +110 -0
  26. package/dist/browser/components/index.cjs.map +1 -0
  27. package/dist/browser/components/index.d.cts +3 -0
  28. package/dist/browser/components/index.d.cts.map +1 -0
  29. package/dist/browser/contexts/ErrorReporter/Context.cjs +28 -0
  30. package/dist/{node/contexts/ErrorReporter/Context.mjs.map → browser/contexts/ErrorReporter/Context.cjs.map} +1 -1
  31. package/dist/browser/contexts/ErrorReporter/Context.d.cts +4 -0
  32. package/dist/browser/contexts/ErrorReporter/Context.d.cts.map +1 -0
  33. package/dist/browser/contexts/ErrorReporter/Provider.cjs +43 -0
  34. package/dist/browser/contexts/ErrorReporter/Provider.cjs.map +1 -0
  35. package/dist/browser/contexts/ErrorReporter/Provider.d.cts +9 -0
  36. package/dist/browser/contexts/ErrorReporter/Provider.d.cts.map +1 -0
  37. package/dist/browser/contexts/ErrorReporter/State.cjs +19 -0
  38. package/dist/browser/contexts/ErrorReporter/State.cjs.map +1 -0
  39. package/dist/browser/contexts/ErrorReporter/State.d.cts +5 -0
  40. package/dist/browser/contexts/ErrorReporter/State.d.cts.map +1 -0
  41. package/dist/browser/contexts/ErrorReporter/index.cjs +56 -0
  42. package/dist/browser/contexts/ErrorReporter/index.cjs.map +1 -0
  43. package/dist/browser/contexts/ErrorReporter/index.d.cts +4 -0
  44. package/dist/browser/contexts/ErrorReporter/index.d.cts.map +1 -0
  45. package/dist/browser/contexts/ErrorReporter/useRollbar.cjs +40 -0
  46. package/dist/browser/contexts/ErrorReporter/useRollbar.cjs.map +1 -0
  47. package/dist/browser/contexts/ErrorReporter/useRollbar.d.cts +3 -0
  48. package/dist/browser/contexts/ErrorReporter/useRollbar.d.cts.map +1 -0
  49. package/dist/browser/contexts/index.cjs +56 -0
  50. package/dist/browser/contexts/index.cjs.map +1 -0
  51. package/dist/browser/contexts/index.d.cts +2 -0
  52. package/dist/browser/contexts/index.d.cts.map +1 -0
  53. package/dist/browser/index.cjs +141 -0
  54. package/dist/browser/index.cjs.map +1 -0
  55. package/dist/browser/index.d.cts +3 -0
  56. package/dist/browser/index.d.cts.map +1 -0
  57. package/dist/docs.json +25215 -0
  58. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.cjs +110 -0
  59. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.cjs.map +1 -0
  60. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts +21 -0
  61. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.d.cts.map +1 -0
  62. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.js +55 -33
  63. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.js.map +1 -1
  64. package/dist/node/components/ErrorBoundary/index.cjs +112 -0
  65. package/dist/node/components/ErrorBoundary/index.cjs.map +1 -0
  66. package/dist/node/components/ErrorBoundary/index.d.cts +2 -0
  67. package/dist/node/components/ErrorBoundary/index.d.cts.map +1 -0
  68. package/dist/node/components/ErrorBoundary/index.js +82 -20
  69. package/dist/node/components/ErrorBoundary/index.js.map +1 -1
  70. package/dist/node/components/ErrorRender/ErrorAlert.cjs +43 -0
  71. package/dist/node/components/ErrorRender/ErrorAlert.cjs.map +1 -0
  72. package/dist/node/components/ErrorRender/ErrorAlert.d.cts +10 -0
  73. package/dist/node/components/ErrorRender/ErrorAlert.d.cts.map +1 -0
  74. package/dist/node/components/ErrorRender/ErrorAlert.js +14 -37
  75. package/dist/node/components/ErrorRender/ErrorAlert.js.map +1 -1
  76. package/dist/node/components/ErrorRender/Props.cjs +19 -0
  77. package/dist/node/components/ErrorRender/Props.cjs.map +1 -0
  78. package/dist/node/components/ErrorRender/Props.d.cts +12 -0
  79. package/dist/node/components/ErrorRender/Props.d.cts.map +1 -0
  80. package/dist/node/components/ErrorRender/Props.js +0 -16
  81. package/dist/node/components/ErrorRender/Props.js.map +1 -1
  82. package/dist/node/components/ErrorRender/Render.cjs +74 -0
  83. package/dist/node/components/ErrorRender/Render.cjs.map +1 -0
  84. package/dist/node/components/ErrorRender/Render.d.cts +4 -0
  85. package/dist/node/components/ErrorRender/Render.d.cts.map +1 -0
  86. package/dist/node/components/ErrorRender/Render.js +28 -35
  87. package/dist/node/components/ErrorRender/Render.js.map +1 -1
  88. package/dist/node/components/ErrorRender/index.cjs +76 -0
  89. package/dist/node/components/ErrorRender/index.cjs.map +1 -0
  90. package/dist/node/components/ErrorRender/index.d.cts +4 -0
  91. package/dist/node/components/ErrorRender/index.d.cts.map +1 -0
  92. package/dist/node/components/ErrorRender/index.js +45 -24
  93. package/dist/node/components/ErrorRender/index.js.map +1 -1
  94. package/dist/node/components/index.cjs +116 -0
  95. package/dist/node/components/index.cjs.map +1 -0
  96. package/dist/node/components/index.d.cts +3 -0
  97. package/dist/node/components/index.d.cts.map +1 -0
  98. package/dist/node/components/index.js +84 -22
  99. package/dist/node/components/index.js.map +1 -1
  100. package/dist/node/contexts/ErrorReporter/Context.cjs +32 -0
  101. package/dist/node/contexts/ErrorReporter/Context.cjs.map +1 -0
  102. package/dist/node/contexts/ErrorReporter/Context.d.cts +4 -0
  103. package/dist/node/contexts/ErrorReporter/Context.d.cts.map +1 -0
  104. package/dist/node/contexts/ErrorReporter/Context.js +5 -28
  105. package/dist/node/contexts/ErrorReporter/Context.js.map +1 -1
  106. package/dist/node/contexts/ErrorReporter/Provider.cjs +47 -0
  107. package/dist/node/contexts/ErrorReporter/Provider.cjs.map +1 -0
  108. package/dist/node/contexts/ErrorReporter/Provider.d.cts +9 -0
  109. package/dist/node/contexts/ErrorReporter/Provider.d.cts.map +1 -0
  110. package/dist/node/contexts/ErrorReporter/Provider.js +15 -33
  111. package/dist/node/contexts/ErrorReporter/Provider.js.map +1 -1
  112. package/dist/node/contexts/ErrorReporter/State.cjs +19 -0
  113. package/dist/node/contexts/ErrorReporter/State.cjs.map +1 -0
  114. package/dist/node/contexts/ErrorReporter/State.d.cts +5 -0
  115. package/dist/node/contexts/ErrorReporter/State.d.cts.map +1 -0
  116. package/dist/node/contexts/ErrorReporter/State.js +0 -16
  117. package/dist/node/contexts/ErrorReporter/State.js.map +1 -1
  118. package/dist/node/contexts/ErrorReporter/index.cjs +61 -0
  119. package/dist/node/contexts/ErrorReporter/index.cjs.map +1 -0
  120. package/dist/node/contexts/ErrorReporter/index.d.cts +4 -0
  121. package/dist/node/contexts/ErrorReporter/index.d.cts.map +1 -0
  122. package/dist/node/contexts/ErrorReporter/index.js +30 -24
  123. package/dist/node/contexts/ErrorReporter/index.js.map +1 -1
  124. package/dist/node/contexts/ErrorReporter/useRollbar.cjs +44 -0
  125. package/dist/node/contexts/ErrorReporter/useRollbar.cjs.map +1 -0
  126. package/dist/node/contexts/ErrorReporter/useRollbar.d.cts +3 -0
  127. package/dist/node/contexts/ErrorReporter/useRollbar.d.cts.map +1 -0
  128. package/dist/node/contexts/ErrorReporter/useRollbar.js +12 -30
  129. package/dist/node/contexts/ErrorReporter/useRollbar.js.map +1 -1
  130. package/dist/node/contexts/index.cjs +61 -0
  131. package/dist/node/contexts/index.cjs.map +1 -0
  132. package/dist/node/contexts/index.d.cts +2 -0
  133. package/dist/node/contexts/index.d.cts.map +1 -0
  134. package/dist/node/contexts/index.js +30 -20
  135. package/dist/node/contexts/index.js.map +1 -1
  136. package/dist/node/index.cjs +149 -0
  137. package/dist/node/index.cjs.map +1 -0
  138. package/dist/node/index.d.cts +3 -0
  139. package/dist/node/index.d.cts.map +1 -0
  140. package/dist/node/index.js +115 -22
  141. package/dist/node/index.js.map +1 -1
  142. package/package.json +17 -17
  143. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.stories.js +0 -26
  144. package/dist/browser/components/ErrorBoundary/ThrownErrorBoundary.stories.js.map +0 -1
  145. package/dist/browser/contexts/ErrorReporter/Provider.stories.js +0 -35
  146. package/dist/browser/contexts/ErrorReporter/Provider.stories.js.map +0 -1
  147. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.mjs +0 -39
  148. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.mjs.map +0 -1
  149. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.stories.js +0 -51
  150. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.stories.js.map +0 -1
  151. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.stories.mjs +0 -26
  152. package/dist/node/components/ErrorBoundary/ThrownErrorBoundary.stories.mjs.map +0 -1
  153. package/dist/node/components/ErrorBoundary/index.mjs +0 -2
  154. package/dist/node/components/ErrorBoundary/index.mjs.map +0 -1
  155. package/dist/node/components/ErrorRender/ErrorAlert.mjs +0 -17
  156. package/dist/node/components/ErrorRender/Props.mjs +0 -1
  157. package/dist/node/components/ErrorRender/Props.mjs.map +0 -1
  158. package/dist/node/components/ErrorRender/Render.mjs +0 -32
  159. package/dist/node/components/ErrorRender/Render.mjs.map +0 -1
  160. package/dist/node/components/ErrorRender/index.mjs +0 -4
  161. package/dist/node/components/ErrorRender/index.mjs.map +0 -1
  162. package/dist/node/components/index.mjs +0 -3
  163. package/dist/node/components/index.mjs.map +0 -1
  164. package/dist/node/contexts/ErrorReporter/Context.mjs +0 -6
  165. package/dist/node/contexts/ErrorReporter/Provider.mjs +0 -16
  166. package/dist/node/contexts/ErrorReporter/Provider.mjs.map +0 -1
  167. package/dist/node/contexts/ErrorReporter/Provider.stories.js +0 -69
  168. package/dist/node/contexts/ErrorReporter/Provider.stories.js.map +0 -1
  169. package/dist/node/contexts/ErrorReporter/Provider.stories.mjs +0 -35
  170. package/dist/node/contexts/ErrorReporter/Provider.stories.mjs.map +0 -1
  171. package/dist/node/contexts/ErrorReporter/State.mjs +0 -1
  172. package/dist/node/contexts/ErrorReporter/State.mjs.map +0 -1
  173. package/dist/node/contexts/ErrorReporter/index.mjs +0 -4
  174. package/dist/node/contexts/ErrorReporter/index.mjs.map +0 -1
  175. package/dist/node/contexts/ErrorReporter/useRollbar.mjs +0 -13
  176. package/dist/node/contexts/ErrorReporter/useRollbar.mjs.map +0 -1
  177. package/dist/node/contexts/index.mjs +0 -2
  178. package/dist/node/contexts/index.mjs.map +0 -1
  179. package/dist/node/index.mjs +0 -3
  180. package/dist/node/index.mjs.map +0 -1
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/ErrorBoundary/ThrownErrorBoundary.tsx
21
+ var ThrownErrorBoundary_exports = {};
22
+ __export(ThrownErrorBoundary_exports, {
23
+ ThrownErrorBoundary: () => ThrownErrorBoundary
24
+ });
25
+ module.exports = __toCommonJS(ThrownErrorBoundary_exports);
26
+ var import_payload_model = require("@xyo-network/payload-model");
27
+ var import_react2 = require("react");
28
+
29
+ // src/components/ErrorRender/ErrorAlert.tsx
30
+ var import_icons_material = require("@mui/icons-material");
31
+ var import_material = require("@mui/material");
32
+ var import_react_button = require("@xylabs/react-button");
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var ErrorAlert = ({ onCancel, error, errorContext, ...props }) => {
35
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
36
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
37
+ errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
40
+ 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
41
+ ] });
42
+ };
43
+
44
+ // src/components/ErrorRender/Render.tsx
45
+ var import_react_flexbox = require("@xylabs/react-flexbox");
46
+ var import_react = require("react");
47
+ var import_react_router_dom = require("react-router-dom");
48
+ var import_jsx_runtime2 = require("react/jsx-runtime");
49
+ var ErrorRender = ({
50
+ onCancel,
51
+ error,
52
+ noErrorDisplay = false,
53
+ customError = null,
54
+ children,
55
+ errorContext,
56
+ ...props
57
+ }) => {
58
+ const location = (0, import_react_router_dom.useLocation)();
59
+ (0, import_react.useEffect)(() => {
60
+ location.state = {
61
+ from: {
62
+ pathname: window.location.pathname
63
+ }
64
+ };
65
+ }, [location]);
66
+ if (error) {
67
+ return /* @__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 }) }) });
68
+ } else {
69
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children }) ?? null;
70
+ }
71
+ };
72
+
73
+ // src/components/ErrorBoundary/ThrownErrorBoundary.tsx
74
+ var import_jsx_runtime3 = require("react/jsx-runtime");
75
+ var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Component {
76
+ state = {
77
+ xyoError: void 0
78
+ };
79
+ static getDerivedStateFromError(error) {
80
+ return { hasError: true, xyoError: _ThrownErrorBoundary.normalizeError(error) };
81
+ }
82
+ static normalizeError(error) {
83
+ return error.schema === import_payload_model.ModuleErrorSchema ? error : { message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] };
84
+ }
85
+ componentDidCatch(error, errorInfo) {
86
+ const { rethrow, rollbar } = this.props;
87
+ const { xyoError } = this.state;
88
+ rollbar?.error(error);
89
+ console.error("Error:", xyoError, errorInfo);
90
+ if (rethrow) {
91
+ throw error;
92
+ }
93
+ }
94
+ render() {
95
+ const { xyoError } = this.state;
96
+ const { children, boundaryName, errorComponent } = this.props;
97
+ if (xyoError) {
98
+ if (errorComponent) {
99
+ return errorComponent(xyoError);
100
+ }
101
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ErrorRender, { error: xyoError, errorContext: `${boundaryName} Boundary` });
102
+ }
103
+ return children;
104
+ }
105
+ };
106
+ //# sourceMappingURL=ThrownErrorBoundary.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx","../../../../src/components/ErrorRender/ErrorAlert.tsx","../../../../src/components/ErrorRender/Render.tsx"],"sourcesContent":["import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { Component, ErrorInfo, ReactNode } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorRender } from '../ErrorRender'\n\nexport interface ThrownErrorBoundaryProps {\n boundaryName?: string\n children: ReactNode\n errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode\n rethrow?: boolean\n rollbar?: Rollbar\n}\n\nexport interface ThrownErrorBoundaryState {\n xyoError?: ModuleError\n}\n\nexport class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {\n public 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 public static normalizeError(error: Error | ModuleError): ModuleError {\n return (\n (error as ModuleError).schema === ModuleErrorSchema ? error : { message: error.message, schema: ModuleErrorSchema, sources: [] }\n ) as ModuleError\n }\n\n public 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 public override render() {\n const { xyoError } = this.state\n const { children, boundaryName, errorComponent } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} />\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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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'\nimport { useLocation } from 'react-router-dom'\n\nimport { ErrorAlert } from './ErrorAlert'\nimport { ErrorRenderProps } from './Props'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n ...props\n}) => {\n const location = useLocation()\n useEffect(() => {\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 }, [location])\n\n if (error) {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay ? (\n customError\n ) : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} />\n </FlexCol>\n )}\n </FlexCol>\n )\n } else {\n return <>{children}</> ?? null\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAA+C;AAC/C,IAAAA,gBAAgD;;;ACDhD,4BAAsC;AACtC,sBAA0D;AAC1D,0BAAyB;AAWrB;AAFG,IAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,6CAAC,yBAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,gDAAC,8BAAW,0CAA4B;AAAA,IACvC,eACC,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,4CAAC,8BAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,4CAAC,gCAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,sDAAC,sBAAAC,WAAA,EAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;;;AC/BA,2BAAwB;AACxB,mBAA0B;AAC1B,8BAA4B;AA+BhB,IAAAC,sBAAA;AA1BL,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,qCAAY;AAC7B,8BAAU,MAAM;AAEd,aAAS,QAAQ;AAAA,MACf,MAAM;AAAA,QACJ,UAAU,OAAO,SAAS;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,MAAI,OAAO;AACT,WACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B,2BACC,cAEA,6CAAC,gCAAQ,YAAW,UAAU,GAAG,OAC/B,uDAAC,cAAW,OAAc,cAA4B,UAAoB,GAC5E,GAEJ;AAAA,EAEJ,OAAO;AACL,WAAO,6EAAG,UAAS,KAAO;AAAA,EAC5B;AACF;;;AFWa,IAAAC,sBAAA;AAlCN,IAAM,sBAAN,MAAM,6BAA4B,wBAA8D;AAAA,EACrF,QAAkC;AAAA,IAChD,UAAU;AAAA,EACZ;AAAA,EAEA,OAAO,yBAAyB,OAAc;AAC5C,WAAO,EAAE,UAAU,MAAM,UAAU,qBAAoB,eAAe,KAAK,EAAE;AAAA,EAC/E;AAAA,EAEA,OAAc,eAAe,OAAyC;AACpE,WACG,MAAsB,WAAW,yCAAoB,QAAQ,EAAE,SAAS,MAAM,SAAS,QAAQ,wCAAmB,SAAS,CAAC,EAAE;AAAA,EAEnI;AAAA,EAEgB,kBAAkB,OAAc,WAAsB;AACpE,UAAM,EAAE,SAAS,QAAQ,IAAI,KAAK;AAClC,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,aAAS,MAAM,KAAK;AAEpB,YAAQ,MAAM,UAAU,UAAU,SAAS;AAC3C,QAAI,SAAS;AACX,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEgB,SAAS;AACvB,UAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,UAAM,EAAE,UAAU,cAAc,eAAe,IAAI,KAAK;AACxD,QAAI,UAAU;AACZ,UAAI,gBAAgB;AAClB,eAAO,eAAe,QAAQ;AAAA,MAChC;AACA,aAAO,6CAAC,eAAY,OAAO,UAAU,cAAc,GAAG,YAAY,aAAa;AAAA,IACjF;AAEA,WAAO;AAAA,EACT;AACF;","names":["import_react","ExitIcon","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,21 @@
1
+ import { ModuleError } from '@xyo-network/payload-model';
2
+ import { Component, ErrorInfo, ReactNode } from 'react';
3
+ import Rollbar from 'rollbar';
4
+ export interface ThrownErrorBoundaryProps {
5
+ boundaryName?: string;
6
+ children: ReactNode;
7
+ errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode;
8
+ rethrow?: boolean;
9
+ rollbar?: Rollbar;
10
+ }
11
+ export interface ThrownErrorBoundaryState {
12
+ xyoError?: ModuleError;
13
+ }
14
+ export declare class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {
15
+ state: ThrownErrorBoundaryState;
16
+ static getDerivedStateFromError(error: Error): ThrownErrorBoundaryState;
17
+ static normalizeError(error: Error | ModuleError): ModuleError;
18
+ componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
19
+ render(): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
20
+ }
21
+ //# sourceMappingURL=ThrownErrorBoundary.d.ts.map
@@ -0,0 +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;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAA;CACvB;AAED,qBAAa,mBAAoB,SAAQ,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IACpF,KAAK,EAAE,wBAAwB,CAE9C;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK;WAI9B,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;IAMrD,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IAYpD,MAAM;CAYvB"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/ErrorBoundary/index.ts
21
+ var ErrorBoundary_exports = {};
22
+ __export(ErrorBoundary_exports, {
23
+ ThrownErrorBoundary: () => ThrownErrorBoundary
24
+ });
25
+ module.exports = __toCommonJS(ErrorBoundary_exports);
26
+
27
+ // src/components/ErrorBoundary/ThrownErrorBoundary.tsx
28
+ var import_payload_model = require("@xyo-network/payload-model");
29
+ var import_react2 = require("react");
30
+
31
+ // src/components/ErrorRender/ErrorAlert.tsx
32
+ var import_icons_material = require("@mui/icons-material");
33
+ var import_material = require("@mui/material");
34
+ var import_react_button = require("@xylabs/react-button");
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var ErrorAlert = ({ onCancel, error, errorContext, ...props }) => {
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
39
+ errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
40
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
41
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
42
+ 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
43
+ ] });
44
+ };
45
+
46
+ // src/components/ErrorRender/Render.tsx
47
+ var import_react_flexbox = require("@xylabs/react-flexbox");
48
+ var import_react = require("react");
49
+ var import_react_router_dom = require("react-router-dom");
50
+ var import_jsx_runtime2 = require("react/jsx-runtime");
51
+ var ErrorRender = ({
52
+ onCancel,
53
+ error,
54
+ noErrorDisplay = false,
55
+ customError = null,
56
+ children,
57
+ errorContext,
58
+ ...props
59
+ }) => {
60
+ const location = (0, import_react_router_dom.useLocation)();
61
+ (0, import_react.useEffect)(() => {
62
+ location.state = {
63
+ from: {
64
+ pathname: window.location.pathname
65
+ }
66
+ };
67
+ }, [location]);
68
+ if (error) {
69
+ return /* @__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 }) }) });
70
+ } else {
71
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children }) ?? null;
72
+ }
73
+ };
74
+
75
+ // src/components/ErrorBoundary/ThrownErrorBoundary.tsx
76
+ var import_jsx_runtime3 = require("react/jsx-runtime");
77
+ var ThrownErrorBoundary = class _ThrownErrorBoundary extends import_react2.Component {
78
+ state = {
79
+ xyoError: void 0
80
+ };
81
+ static getDerivedStateFromError(error) {
82
+ return { hasError: true, xyoError: _ThrownErrorBoundary.normalizeError(error) };
83
+ }
84
+ static normalizeError(error) {
85
+ return error.schema === import_payload_model.ModuleErrorSchema ? error : { message: error.message, schema: import_payload_model.ModuleErrorSchema, sources: [] };
86
+ }
87
+ componentDidCatch(error, errorInfo) {
88
+ const { rethrow, rollbar } = this.props;
89
+ const { xyoError } = this.state;
90
+ rollbar?.error(error);
91
+ console.error("Error:", xyoError, errorInfo);
92
+ if (rethrow) {
93
+ throw error;
94
+ }
95
+ }
96
+ render() {
97
+ const { xyoError } = this.state;
98
+ const { children, boundaryName, errorComponent } = this.props;
99
+ if (xyoError) {
100
+ if (errorComponent) {
101
+ return errorComponent(xyoError);
102
+ }
103
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ErrorRender, { error: xyoError, errorContext: `${boundaryName} Boundary` });
104
+ }
105
+ return children;
106
+ }
107
+ };
108
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ErrorBoundary/index.ts","../../../../src/components/ErrorBoundary/ThrownErrorBoundary.tsx","../../../../src/components/ErrorRender/ErrorAlert.tsx","../../../../src/components/ErrorRender/Render.tsx"],"sourcesContent":["export * from './ThrownErrorBoundary'\n","import { ModuleError, ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { Component, ErrorInfo, ReactNode } from 'react'\nimport Rollbar from 'rollbar'\n\nimport { ErrorRender } from '../ErrorRender'\n\nexport interface ThrownErrorBoundaryProps {\n boundaryName?: string\n children: ReactNode\n errorComponent?: (e: ModuleError, boundaryName?: string) => ReactNode\n rethrow?: boolean\n rollbar?: Rollbar\n}\n\nexport interface ThrownErrorBoundaryState {\n xyoError?: ModuleError\n}\n\nexport class ThrownErrorBoundary extends Component<ThrownErrorBoundaryProps, ThrownErrorBoundaryState> {\n public 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 public static normalizeError(error: Error | ModuleError): ModuleError {\n return (\n (error as ModuleError).schema === ModuleErrorSchema ? error : { message: error.message, schema: ModuleErrorSchema, sources: [] }\n ) as ModuleError\n }\n\n public 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 public override render() {\n const { xyoError } = this.state\n const { children, boundaryName, errorComponent } = this.props\n if (xyoError) {\n if (errorComponent) {\n return errorComponent(xyoError)\n }\n return <ErrorRender error={xyoError} errorContext={`${boundaryName} Boundary`} />\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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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'\nimport { useLocation } from 'react-router-dom'\n\nimport { ErrorAlert } from './ErrorAlert'\nimport { ErrorRenderProps } from './Props'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n ...props\n}) => {\n const location = useLocation()\n useEffect(() => {\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 }, [location])\n\n if (error) {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay ? (\n customError\n ) : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} />\n </FlexCol>\n )}\n </FlexCol>\n )\n } else {\n return <>{children}</> ?? null\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,2BAA+C;AAC/C,IAAAA,gBAAgD;;;ACDhD,4BAAsC;AACtC,sBAA0D;AAC1D,0BAAyB;AAWrB;AAFG,IAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,6CAAC,yBAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,gDAAC,8BAAW,0CAA4B;AAAA,IACvC,eACC,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,4CAAC,8BAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,4CAAC,gCAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,sDAAC,sBAAAC,WAAA,EAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;;;AC/BA,2BAAwB;AACxB,mBAA0B;AAC1B,8BAA4B;AA+BhB,IAAAC,sBAAA;AA1BL,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,qCAAY;AAC7B,8BAAU,MAAM;AAEd,aAAS,QAAQ;AAAA,MACf,MAAM;AAAA,QACJ,UAAU,OAAO,SAAS;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,MAAI,OAAO;AACT,WACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B,2BACC,cAEA,6CAAC,gCAAQ,YAAW,UAAU,GAAG,OAC/B,uDAAC,cAAW,OAAc,cAA4B,UAAoB,GAC5E,GAEJ;AAAA,EAEJ,OAAO;AACL,WAAO,6EAAG,UAAS,KAAO;AAAA,EAC5B;AACF;;;AFWa,IAAAC,sBAAA;AAlCN,IAAM,sBAAN,MAAM,6BAA4B,wBAA8D;AAAA,EACrF,QAAkC;AAAA,IAChD,UAAU;AAAA,EACZ;AAAA,EAEA,OAAO,yBAAyB,OAAc;AAC5C,WAAO,EAAE,UAAU,MAAM,UAAU,qBAAoB,eAAe,KAAK,EAAE;AAAA,EAC/E;AAAA,EAEA,OAAc,eAAe,OAAyC;AACpE,WACG,MAAsB,WAAW,yCAAoB,QAAQ,EAAE,SAAS,MAAM,SAAS,QAAQ,wCAAmB,SAAS,CAAC,EAAE;AAAA,EAEnI;AAAA,EAEgB,kBAAkB,OAAc,WAAsB;AACpE,UAAM,EAAE,SAAS,QAAQ,IAAI,KAAK;AAClC,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,aAAS,MAAM,KAAK;AAEpB,YAAQ,MAAM,UAAU,UAAU,SAAS;AAC3C,QAAI,SAAS;AACX,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEgB,SAAS;AACvB,UAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,UAAM,EAAE,UAAU,cAAc,eAAe,IAAI,KAAK;AACxD,QAAI,UAAU;AACZ,UAAI,gBAAgB;AAClB,eAAO,eAAe,QAAQ;AAAA,MAChC;AACA,aAAO,6CAAC,eAAY,OAAO,UAAU,cAAc,GAAG,YAAY,aAAa;AAAA,IACjF;AAEA,WAAO;AAAA,EACT;AACF;","names":["import_react","ExitIcon","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,2 @@
1
+ export * from './ThrownErrorBoundary';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorBoundary/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/ErrorRender/ErrorAlert.tsx
21
+ var ErrorAlert_exports = {};
22
+ __export(ErrorAlert_exports, {
23
+ ErrorAlert: () => ErrorAlert
24
+ });
25
+ module.exports = __toCommonJS(ErrorAlert_exports);
26
+ var import_icons_material = require("@mui/icons-material");
27
+ var import_material = require("@mui/material");
28
+ var import_react_button = require("@xylabs/react-button");
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var ErrorAlert = ({ onCancel, error, errorContext, ...props }) => {
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
32
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
33
+ errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
34
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
35
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
36
+ 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
37
+ ] });
38
+ };
39
+ //# sourceMappingURL=ErrorAlert.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ErrorRender/ErrorAlert.tsx"],"sourcesContent":["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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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"],"mappings":"AAaI,SACE,KADF;AAbJ,SAAS,aAAa,gBAAgB;AACtC,SAAS,OAAmB,YAAY,kBAAkB;AAC1D,SAAS,gBAAgB;AASlB,MAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,qBAAC,SAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,wBAAC,cAAW,0CAA4B;AAAA,IACvC,eACC,oBAAC,cAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,oBAAC,cAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,oBAAC,cAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,oBAAC,YAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,8BAAC,YAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/components/ErrorRender/ErrorAlert.tsx"],"sourcesContent":["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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAsC;AACtC,sBAA0D;AAC1D,0BAAyB;AAWrB;AAFG,IAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,6CAAC,yBAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,gDAAC,8BAAW,0CAA4B;AAAA,IACvC,eACC,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,4CAAC,8BAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,4CAAC,gCAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,sDAAC,sBAAAA,WAAA,EAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;","names":["ExitIcon"]}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { AlertProps } from '@mui/material';
3
+ import { ModuleError } from '@xyo-network/payload-model';
4
+ export interface ErrorAlertProps extends AlertProps {
5
+ error?: ModuleError | Error;
6
+ errorContext?: string;
7
+ onCancel?: () => void;
8
+ }
9
+ export declare const ErrorAlert: React.FC<ErrorAlertProps>;
10
+ //# sourceMappingURL=ErrorAlert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorRender/ErrorAlert.tsx"],"names":[],"mappings":";AACA,OAAO,EAAS,UAAU,EAA0B,MAAM,eAAe,CAAA;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoBhD,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/components/ErrorRender/Props.ts
17
+ var Props_exports = {};
18
+ module.exports = __toCommonJS(Props_exports);
19
+ //# sourceMappingURL=Props.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ErrorRender/Props.ts"],"sourcesContent":["import { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { ModuleError } from '@xyo-network/payload-model'\nimport { ReactNode } from 'react'\n\nexport interface ErrorRenderProps extends FlexBoxProps {\n customError?: ReactNode\n error?: ModuleError | Error\n errorContext?: string\n noErrorDisplay?: boolean\n noReAuth?: boolean\n onCancel?: () => void\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,12 @@
1
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
2
+ import { ModuleError } from '@xyo-network/payload-model';
3
+ import { ReactNode } from 'react';
4
+ export interface ErrorRenderProps extends FlexBoxProps {
5
+ customError?: ReactNode;
6
+ error?: ModuleError | Error;
7
+ errorContext?: string;
8
+ noErrorDisplay?: boolean;
9
+ noReAuth?: boolean;
10
+ onCancel?: () => void;
11
+ }
12
+ //# sourceMappingURL=Props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorRender/Props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CACtB"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/ErrorRender/Render.tsx
21
+ var Render_exports = {};
22
+ __export(Render_exports, {
23
+ ErrorRender: () => ErrorRender
24
+ });
25
+ module.exports = __toCommonJS(Render_exports);
26
+ var import_react_flexbox = require("@xylabs/react-flexbox");
27
+ var import_react = require("react");
28
+ var import_react_router_dom = require("react-router-dom");
29
+
30
+ // src/components/ErrorRender/ErrorAlert.tsx
31
+ var import_icons_material = require("@mui/icons-material");
32
+ var import_material = require("@mui/material");
33
+ var import_react_button = require("@xylabs/react-button");
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var ErrorAlert = ({ onCancel, error, errorContext, ...props }) => {
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
37
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
38
+ errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
40
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
41
+ 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
42
+ ] });
43
+ };
44
+
45
+ // src/components/ErrorRender/Render.tsx
46
+ var import_jsx_runtime2 = require("react/jsx-runtime");
47
+ var ErrorRender = ({
48
+ onCancel,
49
+ error,
50
+ noErrorDisplay = false,
51
+ customError = null,
52
+ children,
53
+ errorContext,
54
+ ...props
55
+ }) => {
56
+ const location = (0, import_react_router_dom.useLocation)();
57
+ (0, import_react.useEffect)(() => {
58
+ location.state = {
59
+ from: {
60
+ pathname: window.location.pathname
61
+ }
62
+ };
63
+ }, [location]);
64
+ if (error) {
65
+ return /* @__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 }) }) });
66
+ } else {
67
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children }) ?? null;
68
+ }
69
+ };
70
+ //# sourceMappingURL=Render.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ErrorRender/Render.tsx","../../../../src/components/ErrorRender/ErrorAlert.tsx"],"sourcesContent":["import { FlexCol } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nimport { ErrorAlert } from './ErrorAlert'\nimport { ErrorRenderProps } from './Props'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n ...props\n}) => {\n const location = useLocation()\n useEffect(() => {\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 }, [location])\n\n if (error) {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay ? (\n customError\n ) : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} />\n </FlexCol>\n )}\n </FlexCol>\n )\n } else {\n return <>{children}</> ?? null\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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAAwB;AACxB,mBAA0B;AAC1B,8BAA4B;;;ACF5B,4BAAsC;AACtC,sBAA0D;AAC1D,0BAAyB;AAWrB;AAFG,IAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,6CAAC,yBAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,gDAAC,8BAAW,0CAA4B;AAAA,IACvC,eACC,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,4CAAC,8BAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,4CAAC,gCAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,sDAAC,sBAAAA,WAAA,EAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;;;ADEY,IAAAC,sBAAA;AA1BL,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,qCAAY;AAC7B,8BAAU,MAAM;AAEd,aAAS,QAAQ;AAAA,MACf,MAAM;AAAA,QACJ,UAAU,OAAO,SAAS;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,MAAI,OAAO;AACT,WACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B,2BACC,cAEA,6CAAC,gCAAQ,YAAW,UAAU,GAAG,OAC/B,uDAAC,cAAW,OAAc,cAA4B,UAAoB,GAC5E,GAEJ;AAAA,EAEJ,OAAO;AACL,WAAO,6EAAG,UAAS,KAAO;AAAA,EAC5B;AACF;","names":["ExitIcon","import_jsx_runtime"]}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { ErrorRenderProps } from './Props';
3
+ export declare const ErrorRender: React.FC<ErrorRenderProps>;
4
+ //# sourceMappingURL=Render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Render.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorRender/Render.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkClD,CAAA"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/ErrorRender/index.ts
21
+ var ErrorRender_exports = {};
22
+ __export(ErrorRender_exports, {
23
+ ErrorAlert: () => ErrorAlert,
24
+ ErrorRender: () => ErrorRender
25
+ });
26
+ module.exports = __toCommonJS(ErrorRender_exports);
27
+
28
+ // src/components/ErrorRender/ErrorAlert.tsx
29
+ var import_icons_material = require("@mui/icons-material");
30
+ var import_material = require("@mui/material");
31
+ var import_react_button = require("@xylabs/react-button");
32
+ var import_jsx_runtime = require("react/jsx-runtime");
33
+ var ErrorAlert = ({ onCancel, error, errorContext, ...props }) => {
34
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_material.Alert, { severity: "error", ...props, children: [
35
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.AlertTitle, { children: "Whoops! Something went wrong" }),
36
+ errorContext ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", my: 0.5, lineHeight: "1", display: "block", children: errorContext }) : null,
37
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", mr: 0.5, fontWeight: "bold", children: "Error:" }),
38
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { variant: "caption", children: error?.message }),
39
+ 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
40
+ ] });
41
+ };
42
+
43
+ // src/components/ErrorRender/Render.tsx
44
+ var import_react_flexbox = require("@xylabs/react-flexbox");
45
+ var import_react = require("react");
46
+ var import_react_router_dom = require("react-router-dom");
47
+ var import_jsx_runtime2 = require("react/jsx-runtime");
48
+ var ErrorRender = ({
49
+ onCancel,
50
+ error,
51
+ noErrorDisplay = false,
52
+ customError = null,
53
+ children,
54
+ errorContext,
55
+ ...props
56
+ }) => {
57
+ const location = (0, import_react_router_dom.useLocation)();
58
+ (0, import_react.useEffect)(() => {
59
+ location.state = {
60
+ from: {
61
+ pathname: window.location.pathname
62
+ }
63
+ };
64
+ }, [location]);
65
+ if (error) {
66
+ return /* @__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 }) }) });
67
+ } else {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children }) ?? null;
69
+ }
70
+ };
71
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ErrorRender/index.ts","../../../../src/components/ErrorRender/ErrorAlert.tsx","../../../../src/components/ErrorRender/Render.tsx"],"sourcesContent":["export * from './ErrorAlert'\nexport * from './Props'\nexport * from './Render'\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}\n\nexport const ErrorAlert: React.FC<ErrorAlertProps> = ({ onCancel, error, errorContext, ...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 <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'\nimport { useLocation } from 'react-router-dom'\n\nimport { ErrorAlert } from './ErrorAlert'\nimport { ErrorRenderProps } from './Props'\n\nexport const ErrorRender: React.FC<ErrorRenderProps> = ({\n onCancel,\n error,\n noErrorDisplay = false,\n customError = null,\n children,\n errorContext,\n ...props\n}) => {\n const location = useLocation()\n useEffect(() => {\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 }, [location])\n\n if (error) {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {noErrorDisplay ? (\n customError\n ) : (\n <FlexCol alignItems=\"center\" {...props}>\n <ErrorAlert error={error} errorContext={errorContext} onCancel={onCancel} />\n </FlexCol>\n )}\n </FlexCol>\n )\n } else {\n return <>{children}</> ?? null\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,4BAAsC;AACtC,sBAA0D;AAC1D,0BAAyB;AAWrB;AAFG,IAAM,aAAwC,CAAC,EAAE,UAAU,OAAO,cAAc,GAAG,MAAM,MAAM;AACpG,SACE,6CAAC,yBAAM,UAAS,SAAS,GAAG,OAC1B;AAAA,gDAAC,8BAAW,0CAA4B;AAAA,IACvC,eACC,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,KAAI,SAAQ,SAC3D,wBACH,IACE;AAAA,IACJ,4CAAC,8BAAW,SAAQ,WAAU,IAAI,KAAK,YAAW,QAAO,oBAEzD;AAAA,IACA,4CAAC,8BAAW,SAAQ,WAAW,iBAAO,SAAQ;AAAA,IAC7C,WACC,4CAAC,gCAAS,SAAQ,YAAW,MAAK,SAAQ,SAAS,UAAU,UAAS,YAAW,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,GACzG,sDAAC,sBAAAA,WAAA,EAAS,UAAS,SAAQ,GAC7B,IACE;AAAA,KACN;AAEJ;;;AC/BA,2BAAwB;AACxB,mBAA0B;AAC1B,8BAA4B;AA+BhB,IAAAC,sBAAA;AA1BL,IAAM,cAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,eAAW,qCAAY;AAC7B,8BAAU,MAAM;AAEd,aAAS,QAAQ;AAAA,MACf,MAAM;AAAA,QACJ,UAAU,OAAO,SAAS;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,MAAI,OAAO;AACT,WACE,6CAAC,gCAAQ,YAAW,WAAW,GAAG,OAC/B,2BACC,cAEA,6CAAC,gCAAQ,YAAW,UAAU,GAAG,OAC/B,uDAAC,cAAW,OAAc,cAA4B,UAAoB,GAC5E,GAEJ;AAAA,EAEJ,OAAO;AACL,WAAO,6EAAG,UAAS,KAAO;AAAA,EAC5B;AACF;","names":["ExitIcon","import_jsx_runtime"]}
@@ -0,0 +1,4 @@
1
+ export * from './ErrorAlert';
2
+ export * from './Props';
3
+ export * from './Render';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ErrorRender/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}