@wandelbots/wandelbots-js-react-components 4.7.2 → 5.0.0-pr.feat-icons.568.cbf1817
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -34
- package/dist/3d.cjs.js +1 -1
- package/dist/3d.es.js +1 -1
- package/dist/MotionGroupVisualizer-C6MgXjCN.cjs +2 -0
- package/dist/MotionGroupVisualizer-C6MgXjCN.cjs.map +1 -0
- package/dist/MotionGroupVisualizer-Cm-XYEZe.js +1328 -0
- package/dist/{MotionGroupVisualizer-DP4K1dVw.cjs.map → MotionGroupVisualizer-Cm-XYEZe.js.map} +1 -1
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs +5 -0
- package/dist/auth0-spa-js.production.esm-CVEdrQ4-.cjs.map +1 -0
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js +4217 -0
- package/dist/auth0-spa-js.production.esm-Cr9w0sUa.js.map +1 -0
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts +1 -1
- package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -1
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts +1 -2
- package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts +2 -2
- package/dist/components/3d-viewport/TrajectoryRenderer.d.ts.map +1 -1
- package/dist/components/3d-viewport/collider/ColliderCollection.d.ts +1 -1
- package/dist/components/3d-viewport/collider/ColliderElement.d.ts +1 -1
- package/dist/components/3d-viewport/collider/CollisionSceneRenderer.d.ts +2 -2
- package/dist/components/3d-viewport/collider/colliderShapeToBufferGeometry.d.ts +1 -1
- package/dist/components/safetyBar/icons/index.d.ts +11 -0
- package/dist/components/safetyBar/icons/index.d.ts.map +1 -0
- package/dist/core.cjs.js +1 -1
- package/dist/core.es.js +37 -39
- package/dist/core.es.js.map +1 -1
- package/dist/icons/index.d.ts +9 -4
- package/dist/icons/index.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +72 -52
- package/dist/index.es.js.map +1 -1
- package/dist/interpolation-GwZidExa.cjs +42 -0
- package/dist/interpolation-GwZidExa.cjs.map +1 -0
- package/dist/{interpolation-B8AcxfdD.js → interpolation-JdOMWH6y.js} +3635 -3115
- package/dist/interpolation-JdOMWH6y.js.map +1 -0
- package/dist/lib/ConnectedMotionGroup.d.ts +2 -3
- package/dist/lib/ConnectedMotionGroup.d.ts.map +1 -1
- package/dist/lib/MotionStreamConnection.d.ts +0 -1
- package/dist/lib/MotionStreamConnection.d.ts.map +1 -1
- package/dist/safety-state-stop-ClWLVLMl.cjs +2 -0
- package/dist/safety-state-stop-ClWLVLMl.cjs.map +1 -0
- package/dist/safety-state-stop-DuMBCxN5.js +91 -0
- package/dist/safety-state-stop-DuMBCxN5.js.map +1 -0
- package/dist/themes/createDarkTheme.d.ts.map +1 -1
- package/dist/themes/themeTypes.d.ts +0 -4
- package/dist/themes/themeTypes.d.ts.map +1 -1
- package/dist/theming-B5Q8EK1c.cjs +115 -0
- package/dist/theming-B5Q8EK1c.cjs.map +1 -0
- package/dist/{theming-BKpqgTRM.js → theming-Bt0cspr6.js} +4360 -4385
- package/dist/theming-Bt0cspr6.js.map +1 -0
- package/dist/wb-icons.cjs.js +2 -0
- package/dist/wb-icons.cjs.js.map +1 -0
- package/dist/wb-icons.d.ts +3 -0
- package/dist/wb-icons.d.ts.map +1 -0
- package/dist/wb-icons.es.js +27 -0
- package/dist/wb-icons.es.js.map +1 -0
- package/dist/wbLogo-CObCmqTw.js +31 -0
- package/dist/wbLogo-CObCmqTw.js.map +1 -0
- package/dist/wbLogo-G_IfZ03l.cjs +2 -0
- package/dist/wbLogo-G_IfZ03l.cjs.map +1 -0
- package/package.json +19 -28
- package/src/components/3d-viewport/CoordinateSystemTransform.tsx +29 -18
- package/src/components/3d-viewport/SafetyZonesRenderer.tsx +24 -151
- package/src/components/3d-viewport/TrajectoryRenderer.tsx +9 -10
- package/src/components/3d-viewport/collider/ColliderCollection.tsx +1 -1
- package/src/components/3d-viewport/collider/ColliderElement.tsx +1 -1
- package/src/components/3d-viewport/collider/CollisionSceneRenderer.tsx +2 -2
- package/src/components/3d-viewport/collider/colliderShapeToBufferGeometry.ts +1 -1
- package/src/components/safetyBar/icons/index.ts +10 -0
- package/src/core.ts +0 -1
- package/src/icons/index.ts +9 -4
- package/src/index.ts +1 -1
- package/src/lib/ConnectedMotionGroup.ts +0 -5
- package/src/lib/MotionStreamConnection.ts +0 -5
- package/src/themes/createDarkTheme.ts +1 -22
- package/src/themes/themeTypes.ts +0 -5
- package/src/wb-icons.ts +3 -0
- package/dist/LoadingCover-B3UN1lnU.js +0 -81
- package/dist/LoadingCover-B3UN1lnU.js.map +0 -1
- package/dist/LoadingCover-DXcsXWDy.cjs +0 -2
- package/dist/LoadingCover-DXcsXWDy.cjs.map +0 -1
- package/dist/MotionGroupVisualizer-CPEIGXUC.js +0 -1407
- package/dist/MotionGroupVisualizer-CPEIGXUC.js.map +0 -1
- package/dist/MotionGroupVisualizer-DP4K1dVw.cjs +0 -2
- package/dist/WandelscriptEditor-6sAoniLC.cjs +0 -2
- package/dist/WandelscriptEditor-6sAoniLC.cjs.map +0 -1
- package/dist/WandelscriptEditor-kWC2VyG_.js +0 -140
- package/dist/WandelscriptEditor-kWC2VyG_.js.map +0 -1
- package/dist/auth0-spa-js.production.esm-DNao6_S5.js +0 -4064
- package/dist/auth0-spa-js.production.esm-DNao6_S5.js.map +0 -1
- package/dist/auth0-spa-js.production.esm-DaBMfOV8.cjs +0 -5
- package/dist/auth0-spa-js.production.esm-DaBMfOV8.cjs.map +0 -1
- package/dist/components/wandelscript-editor/WandelscriptEditor.d.ts +0 -16
- package/dist/components/wandelscript-editor/WandelscriptEditor.d.ts.map +0 -1
- package/dist/components/wandelscript-editor/wandelscript.tmLanguage.d.ts +0 -45
- package/dist/components/wandelscript-editor/wandelscript.tmLanguage.d.ts.map +0 -1
- package/dist/externalizeComponent-B98tgTPP.cjs +0 -24
- package/dist/externalizeComponent-B98tgTPP.cjs.map +0 -1
- package/dist/externalizeComponent-BOqKMZMc.js +0 -526
- package/dist/externalizeComponent-BOqKMZMc.js.map +0 -1
- package/dist/interpolation-B8AcxfdD.js.map +0 -1
- package/dist/interpolation-SWzo5zr4.cjs +0 -20
- package/dist/interpolation-SWzo5zr4.cjs.map +0 -1
- package/dist/theming-BKpqgTRM.js.map +0 -1
- package/dist/theming-CatQaIl_.cjs +0 -115
- package/dist/theming-CatQaIl_.cjs.map +0 -1
- package/dist/wandelscript.cjs.js +0 -2
- package/dist/wandelscript.cjs.js.map +0 -1
- package/dist/wandelscript.d.ts +0 -2
- package/dist/wandelscript.d.ts.map +0 -1
- package/dist/wandelscript.es.js +0 -5
- package/dist/wandelscript.es.js.map +0 -1
- package/src/components/wandelscript-editor/WandelscriptEditor.tsx +0 -142
- package/src/components/wandelscript-editor/wandelscript.tmLanguage.ts +0 -62
- package/src/icons/arrowForwardFilled.svg +0 -1
- package/src/icons/chevronDown.svg +0 -3
- package/src/icons/expandFilled.svg +0 -1
- package/src/icons/infoOutlined.svg +0 -1
- package/src/wandelscript.ts +0 -2
package/src/core.ts
CHANGED
package/src/icons/index.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
export { default as
|
|
2
|
-
export { default as
|
|
3
|
-
export { default as
|
|
1
|
+
export { default as AxisXIcon } from "./axis-x.svg"
|
|
2
|
+
export { default as AxisYIcon } from "./axis-y.svg"
|
|
3
|
+
export { default as AxisZIcon } from "./axis-z.svg"
|
|
4
4
|
export { default as HomeIcon } from "./home.svg"
|
|
5
|
-
export { default as
|
|
5
|
+
export { default as JogMinusIcon } from "./jog-minus.svg"
|
|
6
|
+
export { default as JogPlusIcon } from "./jog-plus.svg"
|
|
7
|
+
export { default as JoggingIcon } from "./jogging.svg"
|
|
8
|
+
export { default as OrientationCoordSystemIcon } from "./orientation-coord-system.svg"
|
|
9
|
+
export { default as OrientationToolIcon } from "./orientation-tool.svg"
|
|
6
10
|
export { default as RobotIcon } from "./robot.svg"
|
|
11
|
+
export { default as RotationIcon } from "./rotation.svg"
|
|
7
12
|
export { default as WBLogoIcon } from "./wbLogo.svg"
|
package/src/index.ts
CHANGED
|
@@ -258,11 +258,6 @@ export class ConnectedMotionGroup {
|
|
|
258
258
|
return this.description.motion_group_model
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
-
get wandelscriptIdentifier() {
|
|
262
|
-
const num = this.motionGroupId.split("@")[0]
|
|
263
|
-
return `${this.controllerId.replace(/-/g, "_")}_${num}`
|
|
264
|
-
}
|
|
265
|
-
|
|
266
261
|
/** Jogging velocity in radians for rotation and joint movement */
|
|
267
262
|
get joggingVelocityRads() {
|
|
268
263
|
return (this.joggingVelocity * Math.PI) / 180
|
|
@@ -170,11 +170,6 @@ export class MotionStreamConnection {
|
|
|
170
170
|
return this.controller.controller
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
get wandelscriptIdentifier() {
|
|
174
|
-
const num = this.motionGroupId.split("@")[0]
|
|
175
|
-
return `${this.controllerId.replace(/-/g, "_")}_${num}`
|
|
176
|
-
}
|
|
177
|
-
|
|
178
173
|
get joints() {
|
|
179
174
|
return this.initialMotionState.joint_position.map((_, i) => {
|
|
180
175
|
return {
|
|
@@ -338,28 +338,7 @@ export function createDarkTheme(): Theme {
|
|
|
338
338
|
VelocitySlider: {
|
|
339
339
|
sliderLegendColor: baseTheme.palette.text.primary,
|
|
340
340
|
},
|
|
341
|
-
}
|
|
342
|
-
WandelscriptEditor: {
|
|
343
|
-
monacoTheme: {
|
|
344
|
-
base: "vs-dark",
|
|
345
|
-
inherit: true,
|
|
346
|
-
rules: [
|
|
347
|
-
{
|
|
348
|
-
token: "keyword",
|
|
349
|
-
foreground: "#b349a9ff",
|
|
350
|
-
},
|
|
351
|
-
],
|
|
352
|
-
colors: {
|
|
353
|
-
"editor.background": rgbToHex(
|
|
354
|
-
baseTheme.palette.backgroundPaperElevation?.[5] ?? "",
|
|
355
|
-
),
|
|
356
|
-
"editor.foreground": "#d4d4d4",
|
|
357
|
-
"editorLineNumber.foreground": "#797979",
|
|
358
|
-
"editorLineNumber.activeForeground": "#e9e9e9",
|
|
359
|
-
"editor.lineHighlightBorder": "#e9e9e911",
|
|
360
|
-
},
|
|
361
|
-
},
|
|
362
|
-
},
|
|
341
|
+
}
|
|
363
342
|
},
|
|
364
343
|
} as Theme
|
|
365
344
|
}
|
package/src/themes/themeTypes.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { editor } from "monaco-editor"
|
|
2
|
-
|
|
3
1
|
type NovaColorPaletteExtension = {
|
|
4
2
|
paletteExt?: {
|
|
5
3
|
primary?: {
|
|
@@ -48,9 +46,6 @@ interface NovaComponentsExtension {
|
|
|
48
46
|
sliderLegendColor?: string
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
|
-
WandelscriptEditor?: {
|
|
52
|
-
monacoTheme: editor.IStandaloneThemeData
|
|
53
|
-
}
|
|
54
49
|
}
|
|
55
50
|
}
|
|
56
51
|
|
package/src/wb-icons.ts
ADDED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { t as l, j as t } from "./externalizeComponent-BOqKMZMc.js";
|
|
2
|
-
import { useTheme as c, Stack as i, CircularProgress as g, capitalize as d } from "@mui/material";
|
|
3
|
-
import { lowerFirst as u } from "lodash-es";
|
|
4
|
-
import { useState as f, useEffect as x } from "react";
|
|
5
|
-
import { AxiosError as a } from "axios";
|
|
6
|
-
function T(e, r) {
|
|
7
|
-
throw new Error(r + ` ${JSON.stringify(e)}`);
|
|
8
|
-
}
|
|
9
|
-
function h(e) {
|
|
10
|
-
var r, s, o, n;
|
|
11
|
-
return e instanceof a && e.code === "ERR_NETWORK" ? "Failed to connect to the server. Please check your internet connection." : e instanceof a && e.response ? `${(r = e.response) == null ? void 0 : r.status} ${(s = e.response) == null ? void 0 : s.statusText} from ${(o = e.response) == null ? void 0 : o.config.url}: ${JSON.stringify((n = e.response) == null ? void 0 : n.data)}` : e instanceof Error ? e.message : `Unexpected error: ${l(e) || e}`;
|
|
12
|
-
}
|
|
13
|
-
const k = (e) => {
|
|
14
|
-
const r = e.softTimeout || 3e3, [s, o] = f(!1), n = c();
|
|
15
|
-
return x(() => {
|
|
16
|
-
const m = setTimeout(() => {
|
|
17
|
-
o(!0);
|
|
18
|
-
}, r);
|
|
19
|
-
return () => clearTimeout(m);
|
|
20
|
-
}), /* @__PURE__ */ t.jsx(
|
|
21
|
-
i,
|
|
22
|
-
{
|
|
23
|
-
width: "100%",
|
|
24
|
-
height: "100%",
|
|
25
|
-
alignItems: "center",
|
|
26
|
-
justifyContent: "center",
|
|
27
|
-
sx: { color: n.palette.text.primary },
|
|
28
|
-
children: e.error ? /* @__PURE__ */ t.jsx(
|
|
29
|
-
w,
|
|
30
|
-
{
|
|
31
|
-
loadingMessage: e.message,
|
|
32
|
-
error: e.error
|
|
33
|
-
}
|
|
34
|
-
) : /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
35
|
-
/* @__PURE__ */ t.jsx(g, { sx: { marginBottom: "24px" } }),
|
|
36
|
-
!!e.message && /* @__PURE__ */ t.jsx("div", { children: e.message }),
|
|
37
|
-
/* @__PURE__ */ t.jsx(
|
|
38
|
-
i,
|
|
39
|
-
{
|
|
40
|
-
sx: {
|
|
41
|
-
visibility: s ? "visible" : "hidden",
|
|
42
|
-
marginTop: "1rem",
|
|
43
|
-
color: n.palette.text.secondary
|
|
44
|
-
},
|
|
45
|
-
children: "This is taking longer than expected..."
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
] })
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
}, w = (e) => {
|
|
52
|
-
const r = h(e.error), s = e.error instanceof Error ? e.error.stack : null, o = c();
|
|
53
|
-
return /* @__PURE__ */ t.jsxs(
|
|
54
|
-
i,
|
|
55
|
-
{
|
|
56
|
-
sx: {
|
|
57
|
-
maxHeight: "100%",
|
|
58
|
-
maxWidth: "min(100%, 800px)",
|
|
59
|
-
padding: 2,
|
|
60
|
-
overflow: "auto",
|
|
61
|
-
color: o.palette.error.main,
|
|
62
|
-
"& pre": {
|
|
63
|
-
whiteSpace: "pre-wrap",
|
|
64
|
-
wordBreak: "break-word",
|
|
65
|
-
paddingBottom: "3rem"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
children: [
|
|
69
|
-
(e.loadingMessage ? `Error while ${u(d(e.loadingMessage))} - ` : "") + r,
|
|
70
|
-
/* @__PURE__ */ t.jsx("br", {}),
|
|
71
|
-
s && /* @__PURE__ */ t.jsx("pre", { children: s })
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
export {
|
|
77
|
-
k as L,
|
|
78
|
-
w as a,
|
|
79
|
-
T as b
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=LoadingCover-B3UN1lnU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingCover-B3UN1lnU.js","sources":["../src/components/utils/errorHandling.ts","../src/components/LoadingCover.tsx"],"sourcesContent":["import { AxiosError } from \"axios\"\nimport { tryStringifyJson } from \"./converters\"\n\n// Please note: These helper functions also exist in nova.js\n// (with slightly different formatting), and will be unified\n// at some point in the future.\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport function makeShortErrorMessage(err: unknown) {\n if (err instanceof AxiosError && err.code === \"ERR_NETWORK\") {\n return \"Failed to connect to the server. Please check your internet connection.\"\n } else if (err instanceof AxiosError && err.response) {\n return `${err.response?.status} ${err.response?.statusText}: ${JSON.stringify(err.response?.data)}`\n } else if (err instanceof Error) {\n return err.message\n } else {\n return `Unexpected error: ${err}`\n }\n}\n\nexport function assertUnreachable(x: never, msg: string): never {\n throw new Error(msg + ` ${JSON.stringify(x)}`)\n}\n\nexport function makeErrorMessage(err: unknown) {\n if (err instanceof AxiosError && err.code === \"ERR_NETWORK\") {\n return \"Failed to connect to the server. Please check your internet connection.\"\n } else if (err instanceof AxiosError && err.response) {\n return `${err.response?.status} ${err.response?.statusText} from ${err.response?.config.url}: ${JSON.stringify(err.response?.data)}`\n } else if (err instanceof Error) {\n return err.message\n } else {\n return `Unexpected error: ${tryStringifyJson(err) || err}`\n }\n}\n","import { capitalize, CircularProgress, Stack, useTheme } from \"@mui/material\"\nimport { lowerFirst } from \"lodash-es\"\nimport { useEffect, useState } from \"react\"\nimport { makeErrorMessage } from \"./utils/errorHandling\"\n\nexport const LoadingCover = (props: {\n message?: string\n error?: unknown\n softTimeout?: number\n}) => {\n const softTimeout = props.softTimeout || 3000\n\n const [showSlowLoadingMessage, setShowSlowLoadingMessage] = useState(false)\n const theme = useTheme()\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setShowSlowLoadingMessage(true)\n }, softTimeout)\n\n return () => clearTimeout(timeout)\n })\n\n return (\n <Stack\n width=\"100%\"\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{ color: theme.palette.text.primary }}\n >\n {props.error ? (\n <LoadingErrorMessage\n loadingMessage={props.message}\n error={props.error}\n />\n ) : (\n <>\n <CircularProgress sx={{ marginBottom: \"24px\" }} />\n {!!props.message && <div>{props.message}</div>}\n <Stack\n sx={{\n visibility: showSlowLoadingMessage ? \"visible\" : \"hidden\",\n marginTop: \"1rem\",\n color: theme.palette.text.secondary,\n }}\n >\n {\"This is taking longer than expected...\"}\n </Stack>\n </>\n )}\n </Stack>\n )\n}\n\nexport const LoadingErrorMessage = (props: {\n loadingMessage?: string\n error: unknown\n}) => {\n const errorMessage = makeErrorMessage(props.error)\n const stack = props.error instanceof Error ? props.error.stack : null\n const theme = useTheme()\n\n return (\n <Stack\n sx={{\n maxHeight: \"100%\",\n maxWidth: \"min(100%, 800px)\",\n padding: 2,\n overflow: \"auto\",\n color: theme.palette.error.main,\n \"& pre\": {\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\",\n paddingBottom: \"3rem\",\n },\n }}\n >\n {(props.loadingMessage\n ? `Error while ${lowerFirst(capitalize(props.loadingMessage))} - `\n : \"\") + errorMessage}\n <br />\n {stack && <pre>{stack}</pre>}\n </Stack>\n )\n}\n"],"names":["assertUnreachable","x","msg","makeErrorMessage","err","AxiosError","_a","_b","_c","_d","tryStringifyJson","LoadingCover","props","softTimeout","showSlowLoadingMessage","setShowSlowLoadingMessage","useState","theme","useTheme","useEffect","timeout","jsx","Stack","LoadingErrorMessage","jsxs","Fragment","CircularProgress","errorMessage","stack","lowerFirst","capitalize"],"mappings":";;;;;AAuBO,SAASA,EAAkBC,GAAUC,GAAoB;AAC9D,QAAM,IAAI,MAAMA,IAAM,IAAI,KAAK,UAAUD,CAAC,CAAC,EAAE;AAC/C;AAEO,SAASE,EAAiBC,GAAc;;AAC7C,SAAIA,aAAeC,KAAcD,EAAI,SAAS,gBACrC,4EACEA,aAAeC,KAAcD,EAAI,WACnC,IAAGE,IAAAF,EAAI,aAAJ,gBAAAE,EAAc,MAAM,KAAIC,IAAAH,EAAI,aAAJ,gBAAAG,EAAc,UAAU,UAASC,IAAAJ,EAAI,aAAJ,gBAAAI,EAAc,OAAO,GAAG,KAAK,KAAK,WAAUC,IAAAL,EAAI,aAAJ,gBAAAK,EAAc,IAAI,CAAC,KACzHL,aAAe,QACjBA,EAAI,UAEJ,qBAAqBM,EAAiBN,CAAG,KAAKA,CAAG;AAE5D;AChCO,MAAMO,IAAe,CAACC,MAIvB;AACJ,QAAMC,IAAcD,EAAM,eAAe,KAEnC,CAACE,GAAwBC,CAAyB,IAAIC,EAAS,EAAK,GACpEC,IAAQC,EAAA;AAEd,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAU,WAAW,MAAM;AAC/B,MAAAL,EAA0B,EAAI;AAAA,IAChC,GAAGF,CAAW;AAEd,WAAO,MAAM,aAAaO,CAAO;AAAA,EACnC,CAAC,GAGCC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,QAAO;AAAA,MACP,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,IAAI,EAAE,OAAOL,EAAM,QAAQ,KAAK,QAAA;AAAA,MAE/B,YAAM,QACLI,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,gBAAgBX,EAAM;AAAA,UACtB,OAAOA,EAAM;AAAA,QAAA;AAAA,MAAA,IAGfY,gBAAAA,EAAAA,KAAAC,YAAA,EACE,UAAA;AAAA,QAAAJ,gBAAAA,EAAAA,IAACK,GAAA,EAAiB,IAAI,EAAE,cAAc,UAAU;AAAA,QAC/C,CAAC,CAACd,EAAM,WAAWS,gBAAAA,EAAAA,IAAC,OAAA,EAAK,YAAM,SAAQ;AAAA,QACxCA,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAYR,IAAyB,YAAY;AAAA,cACjD,WAAW;AAAA,cACX,OAAOG,EAAM,QAAQ,KAAK;AAAA,YAAA;AAAA,YAG3B,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAIR,GAEaM,IAAsB,CAACX,MAG9B;AACJ,QAAMe,IAAexB,EAAiBS,EAAM,KAAK,GAC3CgB,IAAQhB,EAAM,iBAAiB,QAAQA,EAAM,MAAM,QAAQ,MAC3DK,IAAQC,EAAA;AAEd,SACEM,gBAAAA,EAAAA;AAAAA,IAACF;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,WAAW;AAAA,QACX,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAOL,EAAM,QAAQ,MAAM;AAAA,QAC3B,SAAS;AAAA,UACP,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,eAAe;AAAA,QAAA;AAAA,MACjB;AAAA,MAGA,UAAA;AAAA,SAAAL,EAAM,iBACJ,eAAeiB,EAAWC,EAAWlB,EAAM,cAAc,CAAC,CAAC,QAC3D,MAAMe;AAAA,8BACT,MAAA,EAAG;AAAA,QACHC,KAASP,gBAAAA,EAAAA,IAAC,OAAA,EAAK,UAAAO,EAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG5B;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("./externalizeComponent-B98tgTPP.cjs"),o=require("@mui/material"),u=require("lodash-es"),a=require("react"),c=require("axios");function m(e,s){throw new Error(s+` ${JSON.stringify(e)}`)}function g(e){var s,r,n,i;return e instanceof c.AxiosError&&e.code==="ERR_NETWORK"?"Failed to connect to the server. Please check your internet connection.":e instanceof c.AxiosError&&e.response?`${(s=e.response)==null?void 0:s.status} ${(r=e.response)==null?void 0:r.statusText} from ${(n=e.response)==null?void 0:n.config.url}: ${JSON.stringify((i=e.response)==null?void 0:i.data)}`:e instanceof Error?e.message:`Unexpected error: ${t.tryStringifyJson(e)||e}`}const d=e=>{const s=e.softTimeout||3e3,[r,n]=a.useState(!1),i=o.useTheme();return a.useEffect(()=>{const l=setTimeout(()=>{n(!0)},s);return()=>clearTimeout(l)}),t.jsxRuntimeExports.jsx(o.Stack,{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",sx:{color:i.palette.text.primary},children:e.error?t.jsxRuntimeExports.jsx(x,{loadingMessage:e.message,error:e.error}):t.jsxRuntimeExports.jsxs(t.jsxRuntimeExports.Fragment,{children:[t.jsxRuntimeExports.jsx(o.CircularProgress,{sx:{marginBottom:"24px"}}),!!e.message&&t.jsxRuntimeExports.jsx("div",{children:e.message}),t.jsxRuntimeExports.jsx(o.Stack,{sx:{visibility:r?"visible":"hidden",marginTop:"1rem",color:i.palette.text.secondary},children:"This is taking longer than expected..."})]})})},x=e=>{const s=g(e.error),r=e.error instanceof Error?e.error.stack:null,n=o.useTheme();return t.jsxRuntimeExports.jsxs(o.Stack,{sx:{maxHeight:"100%",maxWidth:"min(100%, 800px)",padding:2,overflow:"auto",color:n.palette.error.main,"& pre":{whiteSpace:"pre-wrap",wordBreak:"break-word",paddingBottom:"3rem"}},children:[(e.loadingMessage?`Error while ${u.lowerFirst(o.capitalize(e.loadingMessage))} - `:"")+s,t.jsxRuntimeExports.jsx("br",{}),r&&t.jsxRuntimeExports.jsx("pre",{children:r})]})};exports.LoadingCover=d;exports.LoadingErrorMessage=x;exports.assertUnreachable=m;
|
|
2
|
-
//# sourceMappingURL=LoadingCover-DXcsXWDy.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingCover-DXcsXWDy.cjs","sources":["../src/components/utils/errorHandling.ts","../src/components/LoadingCover.tsx"],"sourcesContent":["import { AxiosError } from \"axios\"\nimport { tryStringifyJson } from \"./converters\"\n\n// Please note: These helper functions also exist in nova.js\n// (with slightly different formatting), and will be unified\n// at some point in the future.\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport function makeShortErrorMessage(err: unknown) {\n if (err instanceof AxiosError && err.code === \"ERR_NETWORK\") {\n return \"Failed to connect to the server. Please check your internet connection.\"\n } else if (err instanceof AxiosError && err.response) {\n return `${err.response?.status} ${err.response?.statusText}: ${JSON.stringify(err.response?.data)}`\n } else if (err instanceof Error) {\n return err.message\n } else {\n return `Unexpected error: ${err}`\n }\n}\n\nexport function assertUnreachable(x: never, msg: string): never {\n throw new Error(msg + ` ${JSON.stringify(x)}`)\n}\n\nexport function makeErrorMessage(err: unknown) {\n if (err instanceof AxiosError && err.code === \"ERR_NETWORK\") {\n return \"Failed to connect to the server. Please check your internet connection.\"\n } else if (err instanceof AxiosError && err.response) {\n return `${err.response?.status} ${err.response?.statusText} from ${err.response?.config.url}: ${JSON.stringify(err.response?.data)}`\n } else if (err instanceof Error) {\n return err.message\n } else {\n return `Unexpected error: ${tryStringifyJson(err) || err}`\n }\n}\n","import { capitalize, CircularProgress, Stack, useTheme } from \"@mui/material\"\nimport { lowerFirst } from \"lodash-es\"\nimport { useEffect, useState } from \"react\"\nimport { makeErrorMessage } from \"./utils/errorHandling\"\n\nexport const LoadingCover = (props: {\n message?: string\n error?: unknown\n softTimeout?: number\n}) => {\n const softTimeout = props.softTimeout || 3000\n\n const [showSlowLoadingMessage, setShowSlowLoadingMessage] = useState(false)\n const theme = useTheme()\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n setShowSlowLoadingMessage(true)\n }, softTimeout)\n\n return () => clearTimeout(timeout)\n })\n\n return (\n <Stack\n width=\"100%\"\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{ color: theme.palette.text.primary }}\n >\n {props.error ? (\n <LoadingErrorMessage\n loadingMessage={props.message}\n error={props.error}\n />\n ) : (\n <>\n <CircularProgress sx={{ marginBottom: \"24px\" }} />\n {!!props.message && <div>{props.message}</div>}\n <Stack\n sx={{\n visibility: showSlowLoadingMessage ? \"visible\" : \"hidden\",\n marginTop: \"1rem\",\n color: theme.palette.text.secondary,\n }}\n >\n {\"This is taking longer than expected...\"}\n </Stack>\n </>\n )}\n </Stack>\n )\n}\n\nexport const LoadingErrorMessage = (props: {\n loadingMessage?: string\n error: unknown\n}) => {\n const errorMessage = makeErrorMessage(props.error)\n const stack = props.error instanceof Error ? props.error.stack : null\n const theme = useTheme()\n\n return (\n <Stack\n sx={{\n maxHeight: \"100%\",\n maxWidth: \"min(100%, 800px)\",\n padding: 2,\n overflow: \"auto\",\n color: theme.palette.error.main,\n \"& pre\": {\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\",\n paddingBottom: \"3rem\",\n },\n }}\n >\n {(props.loadingMessage\n ? `Error while ${lowerFirst(capitalize(props.loadingMessage))} - `\n : \"\") + errorMessage}\n <br />\n {stack && <pre>{stack}</pre>}\n </Stack>\n )\n}\n"],"names":["assertUnreachable","x","msg","makeErrorMessage","err","AxiosError","_a","_b","_c","_d","tryStringifyJson","LoadingCover","props","softTimeout","showSlowLoadingMessage","setShowSlowLoadingMessage","useState","theme","useTheme","useEffect","timeout","jsx","Stack","LoadingErrorMessage","jsxs","Fragment","CircularProgress","errorMessage","stack","lowerFirst","capitalize"],"mappings":"4JAuBO,SAASA,EAAkBC,EAAUC,EAAoB,CAC9D,MAAM,IAAI,MAAMA,EAAM,IAAI,KAAK,UAAUD,CAAC,CAAC,EAAE,CAC/C,CAEO,SAASE,EAAiBC,EAAc,aAC7C,OAAIA,aAAeC,EAAAA,YAAcD,EAAI,OAAS,cACrC,0EACEA,aAAeC,cAAcD,EAAI,SACnC,IAAGE,EAAAF,EAAI,WAAJ,YAAAE,EAAc,MAAM,KAAIC,EAAAH,EAAI,WAAJ,YAAAG,EAAc,UAAU,UAASC,EAAAJ,EAAI,WAAJ,YAAAI,EAAc,OAAO,GAAG,KAAK,KAAK,WAAUC,EAAAL,EAAI,WAAJ,YAAAK,EAAc,IAAI,CAAC,GACzHL,aAAe,MACjBA,EAAI,QAEJ,qBAAqBM,EAAAA,iBAAiBN,CAAG,GAAKA,CAAG,EAE5D,CChCO,MAAMO,EAAgBC,GAIvB,CACJ,MAAMC,EAAcD,EAAM,aAAe,IAEnC,CAACE,EAAwBC,CAAyB,EAAIC,EAAAA,SAAS,EAAK,EACpEC,EAAQC,EAAAA,SAAA,EAEdC,OAAAA,EAAAA,UAAU,IAAM,CACd,MAAMC,EAAU,WAAW,IAAM,CAC/BL,EAA0B,EAAI,CAChC,EAAGF,CAAW,EAEd,MAAO,IAAM,aAAaO,CAAO,CACnC,CAAC,EAGCC,EAAAA,kBAAAA,IAACC,EAAAA,MAAA,CACC,MAAM,OACN,OAAO,OACP,WAAW,SACX,eAAe,SACf,GAAI,CAAE,MAAOL,EAAM,QAAQ,KAAK,OAAA,EAE/B,WAAM,MACLI,EAAAA,kBAAAA,IAACE,EAAA,CACC,eAAgBX,EAAM,QACtB,MAAOA,EAAM,KAAA,CAAA,EAGfY,EAAAA,kBAAAA,KAAAC,6BAAA,CACE,SAAA,CAAAJ,EAAAA,kBAAAA,IAACK,EAAAA,iBAAA,CAAiB,GAAI,CAAE,aAAc,QAAU,EAC/C,CAAC,CAACd,EAAM,SAAWS,EAAAA,kBAAAA,IAAC,MAAA,CAAK,WAAM,QAAQ,EACxCA,EAAAA,kBAAAA,IAACC,EAAAA,MAAA,CACC,GAAI,CACF,WAAYR,EAAyB,UAAY,SACjD,UAAW,OACX,MAAOG,EAAM,QAAQ,KAAK,SAAA,EAG3B,SAAA,wCAAA,CAAA,CACH,CAAA,CACF,CAAA,CAAA,CAIR,EAEaM,EAAuBX,GAG9B,CACJ,MAAMe,EAAexB,EAAiBS,EAAM,KAAK,EAC3CgB,EAAQhB,EAAM,iBAAiB,MAAQA,EAAM,MAAM,MAAQ,KAC3DK,EAAQC,EAAAA,SAAA,EAEd,OACEM,EAAAA,kBAAAA,KAACF,EAAAA,MAAA,CACC,GAAI,CACF,UAAW,OACX,SAAU,mBACV,QAAS,EACT,SAAU,OACV,MAAOL,EAAM,QAAQ,MAAM,KAC3B,QAAS,CACP,WAAY,WACZ,UAAW,aACX,cAAe,MAAA,CACjB,EAGA,SAAA,EAAAL,EAAM,eACJ,eAAeiB,EAAAA,WAAWC,EAAAA,WAAWlB,EAAM,cAAc,CAAC,CAAC,MAC3D,IAAMe,0BACT,KAAA,EAAG,EACHC,GAASP,EAAAA,kBAAAA,IAAC,MAAA,CAAK,SAAAO,CAAA,CAAM,CAAA,CAAA,CAAA,CAG5B"}
|