@wandelbots/wandelbots-js-react-components 5.10.0 → 6.0.0-pr.docs-remove-outdated-refs.623.2d4b028

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 CHANGED
@@ -33,37 +33,33 @@ For 3D-enabled components, use `/3d`:
33
33
  import { Robot, RobotCard } from "@wandelbots/wandelbots-js-react-components/3d"
34
34
  ```
35
35
 
36
- For SVG icon components (general UI icons and safety bar icons), use `/wb-icons`:
36
+ For icons, use the dedicated [`@wandelbots/icons`](https://www.npmjs.com/package/@wandelbots/icons) package (the `/wb-icons` entry point has been removed). Each icon is imported from its own subpath — there is no bulk export:
37
37
 
38
38
  ```typescript
39
- import {
40
- RobotIcon,
41
- HomeIcon,
42
- ControllerTypeVirtualIcon,
43
- SafetyStateNormalIcon,
44
- } from "@wandelbots/wandelbots-js-react-components/wb-icons"
39
+ import { Home } from "@wandelbots/icons/Home"
40
+ import { Robot } from "@wandelbots/icons/Robot"
45
41
  ```
46
42
 
43
+ Browse the full icon set at https://wandelbotsgmbh.github.io/nova-design-system/#icons
44
+
47
45
  You can also import from the top-level package, but then you'll need to provide all optional dependencies:
48
46
 
49
47
  ```bash
50
48
  pnpm add @wandelbots/wandelbots-js-react-components \
51
49
  react react-dom \
52
50
  @mui/material @mui/icons-material @emotion/react @emotion/styled \
53
- three @react-three/fiber @react-three/drei three-stdlib \
54
- @monaco-editor/react shiki @shikijs/monaco
51
+ three @react-three/fiber @react-three/drei three-stdlib
55
52
  ```
56
53
 
57
54
  **Available Entry Points:**
58
55
 
59
56
  - **`.`** (Main) — All components. Requires: React 18+, MUI v6/v7, @emotion/react, @emotion/styled, @mui/icons-material + all below.
60
57
  - **`/core`** — Base components (AppHeader, ProgramControl, SafetyBar, VelocitySlider, JoggingPanel, DataGrid, Timer, themes, i18n, etc.). Requires: React 18+, MUI v6/v7, @emotion/react, @emotion/styled, @mui/icons-material.
61
- - **`/wb-icons`** — SVG icon components (general UI icons, safety bar icons, jogging icons, axis icons). Requires: React 18+.
62
58
  - **`/3d`** — 3D visualization (Robot, RobotCard, CollisionSceneRenderer, SafetyZonesRenderer, TrajectoryRenderer). Requires: all from `/core` + three, @react-three/fiber, @react-three/drei, three-stdlib.
63
59
 
64
- ## 4.x to 5.x Migration Guide
60
+ ## Migration & Breaking Changes
65
61
 
66
- See section in [Migration Guide](https://wandelbotsgmbh.github.io/wandelbots-js-react-components/?path=/docs/migration-guide--docs#breaking-changes-from-4x-api-v1--v2-both-supported-to-5x-api-v2-only) for assistance.
62
+ Breaking changes for each major version are documented in the [GitHub Releases](https://github.com/wandelbotsgmbh/wandelbots-js-react-components/releases).
67
63
 
68
64
  ## 4.x Core Changes
69
65
 
@@ -87,10 +83,6 @@ interface DHParameter {
87
83
  }
88
84
  ```
89
85
 
90
- ## 2.x to 3.x Migration Guide
91
-
92
- See section in [Migration Guide](https://wandelbotsgmbh.github.io/wandelbots-js-react-components/?path=/docs/migration-guide--docs) for assistance.
93
-
94
86
  ## Components
95
87
 
96
88
  ### Robot Control & Jogging
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../chunks/SafetyBar-VvOZ9aRM.cjs");exports.SafetyBar=e.SafetyBar;exports.default=e.SafetyBar;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../chunks/SafetyBar-DPrv_OQA.cjs");exports.SafetyBar=e.SafetyBar;exports.default=e.SafetyBar;
@@ -1,4 +1,4 @@
1
- import { S as f, S as r } from "../chunks/SafetyBar-CxxIVVeR.js";
1
+ import { S as f, S as r } from "../chunks/SafetyBar-Cy9DiXp9.js";
2
2
  export {
3
3
  f as SafetyBar,
4
4
  r as default
@@ -0,0 +1,453 @@
1
+ import { jsxs as m, Fragment as x, jsx as n } from "react/jsx-runtime";
2
+ import b from "@mui/material/Divider";
3
+ import u from "@mui/material/Stack";
4
+ import { observer as f, useLocalObservable as _ } from "mobx-react-lite";
5
+ import { t as R, e as O } from "./externalizeComponent-EDymnaGR.js";
6
+ import { useTheme as y } from "@mui/material/styles";
7
+ import * as r from "react";
8
+ import { forwardRef as d, useId as v } from "react";
9
+ import { useTranslation as T, Trans as s } from "react-i18next";
10
+ import B from "@mui/material/Popover";
11
+ import F from "@mui/material/SvgIcon";
12
+ import E from "@mui/material/Typography";
13
+ import { AxiosError as w } from "axios";
14
+ function Z(e, t) {
15
+ throw new Error(`${t} ${JSON.stringify(e)}`);
16
+ }
17
+ function me(e) {
18
+ var t, a, o, l;
19
+ return e instanceof w && e.code === "ERR_NETWORK" ? "Failed to connect to the server. Please check your internet connection." : e instanceof w && e.response ? `${(t = e.response) == null ? void 0 : t.status} ${(a = e.response) == null ? void 0 : a.statusText} from ${(o = e.response) == null ? void 0 : o.config.url}: ${JSON.stringify((l = e.response) == null ? void 0 : l.data)}` : e instanceof Error ? e.message : `Unexpected error: ${R(e) || e}`;
20
+ }
21
+ const C = ({
22
+ title: e,
23
+ titleId: t,
24
+ ...a
25
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M5.248 21c-.334 0-.619-.116-.853-.35a1.153 1.153 0 0 1-.351-.848c0-.333.117-.616.351-.85.234-.233.519-.35.853-.35H7.24L4.558 9.87a2.881 2.881 0 0 1-1.126-1.042A2.77 2.77 0 0 1 3 7.317c0-.793.28-1.467.838-2.023a2.774 2.774 0 0 1 2.033-.834 2.71 2.71 0 0 1 1.728.585c.494.389.832.887 1.014 1.493h3.58V5.239c0-.22.076-.406.226-.555a.76.76 0 0 1 .558-.224c.136 0 .263.035.381.104.118.07.209.167.273.292v.14l1.835-1.702a.979.979 0 0 1 .52-.279.881.881 0 0 1 .58.091l4.01 1.85a.74.74 0 0 1 .36.364.537.537 0 0 1-.002.474.592.592 0 0 1-.366.323.657.657 0 0 1-.477-.039l-3.858-1.774L13.76 6.59v1.454l2.473 2.233 3.858-1.774a.648.648 0 0 1 .485-.03.571.571 0 0 1 .358.314.513.513 0 0 1 .01.482.79.79 0 0 1-.367.357l-4.011 1.882a.881.881 0 0 1-.58.09.979.979 0 0 1-.52-.278L13.63 9.638v.14a.92.92 0 0 1-.273.275.665.665 0 0 1-.381.12.76.76 0 0 1-.558-.224.752.752 0 0 1-.225-.555V8.096h-3.58a2.82 2.82 0 0 1-.215.54 2.552 2.552 0 0 1-.323.479l5.139 9.488h2.673c.335 0 .62.116.854.35.234.233.35.516.35.849 0 .332-.116.615-.35.849a1.167 1.167 0 0 1-.854.349H5.248Zm.623-12.385c.362 0 .67-.126.924-.378a1.25 1.25 0 0 0 .38-.92 1.25 1.25 0 0 0-.38-.92 1.261 1.261 0 0 0-.924-.379 1.26 1.26 0 0 0-.925.379 1.25 1.25 0 0 0-.38.92c0 .36.127.667.38.92.254.252.562.378.925.378Z" })), $ = d(C), P = ({
26
+ title: e,
27
+ titleId: t,
28
+ ...a
29
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "m13.37 9.12 1.69 1.69 2.99-2.99-3.73-3.73-.95-.95-7.66 7.66-.95.95 3.99 3.99v3.44h7.55v-3.55l-4.72-4.72 1.79-1.79Zm-.91-2.99.91-.91 2.6 2.6-.91.91-2.6-2.6Zm-2.25 10.24h3.74l-1.34-1.34-.04-.04h-2.5l-3.25-3.25 4.59-4.59.92.92L9.5 10.9l5.33 5.33v1.48H10.2v-1.35l.01.01ZM2 2v4.99h1.41V3.4h3.58V2H2ZM22.21 2h-4.98v1.41h3.59v3.58h1.4V2h-.01ZM20.81 20.65h-3.58v1.4h4.98v-4.99h-1.4v3.59ZM3.4 17.06H2v4.98h4.99v-1.4H3.4v-3.58Z" })), N = d(P), p = f(
30
+ ({
31
+ id: e,
32
+ icon: t,
33
+ color: a,
34
+ title: o,
35
+ name: l,
36
+ label: i,
37
+ explanation: c,
38
+ literalValue: h,
39
+ anchorOrigin: A,
40
+ transformOrigin: g
41
+ }) => {
42
+ const S = _(() => ({
43
+ anchorEl: null,
44
+ get isPopoverOpen() {
45
+ return !!S.anchorEl;
46
+ },
47
+ openPopover(M) {
48
+ S.anchorEl = M.currentTarget;
49
+ },
50
+ closePopover() {
51
+ S.anchorEl = null;
52
+ }
53
+ }));
54
+ return /* @__PURE__ */ m(x, { children: [
55
+ /* @__PURE__ */ m(
56
+ u,
57
+ {
58
+ "aria-owns": S.isPopoverOpen ? e : void 0,
59
+ "aria-haspopup": "true",
60
+ onMouseEnter: S.openPopover,
61
+ onMouseLeave: S.closePopover,
62
+ direction: "row",
63
+ spacing: 1,
64
+ sx: {
65
+ cursor: "pointer"
66
+ },
67
+ children: [
68
+ /* @__PURE__ */ n(
69
+ F,
70
+ {
71
+ component: t,
72
+ sx: {
73
+ color: a
74
+ }
75
+ }
76
+ ),
77
+ i && /* @__PURE__ */ n(
78
+ "div",
79
+ {
80
+ style: {
81
+ color: a
82
+ },
83
+ children: i
84
+ }
85
+ )
86
+ ]
87
+ }
88
+ ),
89
+ /* @__PURE__ */ n(
90
+ B,
91
+ {
92
+ id: e,
93
+ sx: {
94
+ pointerEvents: "none"
95
+ },
96
+ open: S.isPopoverOpen,
97
+ anchorEl: S.anchorEl,
98
+ anchorOrigin: A ?? {
99
+ vertical: "bottom",
100
+ horizontal: "left"
101
+ },
102
+ transformOrigin: g ?? {
103
+ vertical: "top",
104
+ horizontal: "left"
105
+ },
106
+ onClose: S.closePopover,
107
+ disableRestoreFocus: !0,
108
+ children: /* @__PURE__ */ m(
109
+ u,
110
+ {
111
+ gap: "1rem",
112
+ padding: 2,
113
+ maxWidth: "450px",
114
+ sx: {
115
+ wordWrap: "break-word"
116
+ },
117
+ children: [
118
+ /* @__PURE__ */ m("div", { children: [
119
+ o && /* @__PURE__ */ n(E, { component: "span", fontSize: "14px", children: `${o}: ` }),
120
+ /* @__PURE__ */ n(
121
+ E,
122
+ {
123
+ component: "span",
124
+ color: a,
125
+ fontWeight: "bold",
126
+ fontSize: "14px",
127
+ children: l
128
+ }
129
+ )
130
+ ] }),
131
+ /* @__PURE__ */ n(E, { fontSize: "14px", children: c }),
132
+ h && /* @__PURE__ */ n(E, { fontSize: "12px", children: h })
133
+ ]
134
+ }
135
+ )
136
+ }
137
+ )
138
+ ] });
139
+ }
140
+ ), Y = f(
141
+ ({
142
+ isVirtual: e,
143
+ motionGroupId: t,
144
+ anchorOrigin: a,
145
+ transformOrigin: o,
146
+ compact: l
147
+ }) => {
148
+ const i = y(), c = v(), { t: h } = T();
149
+ return e ? /* @__PURE__ */ n(
150
+ p,
151
+ {
152
+ id: `motion-group-virtual-${c}`,
153
+ icon: N,
154
+ color: i.palette.tertiary.main,
155
+ name: h("SafetyBar.ControllerType.Virtual.lb"),
156
+ label: l ? null : h("SafetyBar.ControllerType.Virtual.lb"),
157
+ explanation: /* @__PURE__ */ m(
158
+ s,
159
+ {
160
+ i18nKey: "SafetyBar.MotionGroup.Virtual.Explanation.lb",
161
+ values: {
162
+ motionGroupId: t
163
+ },
164
+ children: [
165
+ "Motion group ",
166
+ /* @__PURE__ */ n("code", { children: t }),
167
+ " refers to a virtual robot with no physical counterpart. It can be freely manipulated without special safety precautions."
168
+ ]
169
+ }
170
+ ),
171
+ anchorOrigin: a,
172
+ transformOrigin: o
173
+ }
174
+ ) : /* @__PURE__ */ n(
175
+ p,
176
+ {
177
+ id: `motion-group-physical-${c}`,
178
+ icon: $,
179
+ color: i.palette.primary.main,
180
+ name: h("SafetyBar.ControllerType.Physical.lb"),
181
+ label: l ? null : h("SafetyBar.ControllerType.Physical.lb"),
182
+ explanation: /* @__PURE__ */ n(
183
+ s,
184
+ {
185
+ i18nKey: "SafetyBar.MotionGroup.Physical.Explanation.lb",
186
+ values: {
187
+ motionGroupId: t
188
+ },
189
+ components: { code: /* @__PURE__ */ n("code", {}), strong: /* @__PURE__ */ n("strong", {}) }
190
+ }
191
+ ),
192
+ anchorOrigin: a,
193
+ transformOrigin: o
194
+ }
195
+ );
196
+ }
197
+ ), V = ({
198
+ title: e,
199
+ titleId: t,
200
+ ...a
201
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15.306 2.768c0-.424.344-.768.768-.768h.406C19.53 2 22 4.551 22 7.699c0 3.237-2.51 5.587-5.31 5.703-.84 1.595-2.478 2.677-4.36 2.677a4.845 4.845 0 0 1-3.146-1.163c-.6 1.783 0 3.922 1.79 4.99 1.929 1.149 4.395.467 5.508-1.524l.212-.378a.75.75 0 1 1 1.308.732l-.231.414c-1.524 2.725-4.9 3.66-7.54 2.085-2.716-1.618-3.432-5.037-2.129-7.599a5.22 5.22 0 0 1-.73-2.677c0-2.192 1.335-4.063 3.212-4.793-1.195-1.427-3.29-1.96-5.08-.892-1.928 1.15-2.589 3.696-1.475 5.687l.231.413a.75.75 0 0 1-1.308.732l-.212-.377c-1.524-2.726-.62-6.211 2.02-7.785 2.716-1.619 5.943-.55 7.44 1.897l.13-.001c2.739 0 4.96 2.292 4.96 5.12 0 .284-.023.563-.066.834 1.795-.354 3.288-1.96 3.288-4.095 0-2.3-1.805-4.163-4.032-4.163h-.406a.768.768 0 0 1-.768-.768Zm.496 8.191c0 .286-.033.564-.094.831a3.62 3.62 0 0 1-.672 1.415 3.425 3.425 0 0 1-2.706 1.338 3.402 3.402 0 0 1-2.384-.98 3.598 3.598 0 0 1-.852-1.306 3.677 3.677 0 0 1-.235-1.298c0-1.623 1.046-2.994 2.48-3.435a3.37 3.37 0 0 1 1.522-.107c1.665.264 2.94 1.75 2.94 3.542Z" })), L = d(V), K = ({
202
+ title: e,
203
+ titleId: t,
204
+ ...a
205
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M19.763 16.432 13.516 5.864c-.674-1.152-2.358-1.152-3.049 0l-6.23 10.568C3.563 17.567 4.405 19 5.753 19H18.23c1.364 0 2.206-1.432 1.532-2.568ZM12 8.498c.539 0 .96.428.96.938v.066l-.32 4.708a.639.639 0 0 1-.64.592.639.639 0 0 1-.64-.592l-.32-4.708A.953.953 0 0 1 12 8.498Zm0 8.79c-.556 0-1.01-.444-1.01-.987 0-.544.454-.988 1.01-.988s1.01.444 1.01.988c0 .542-.454.987-1.01.987Z", fill: "#fff", fillOpacity: 0.56 })), I = d(K), H = ({
206
+ title: e,
207
+ titleId: t,
208
+ ...a
209
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M12.953 5.09a1.497 1.497 0 0 0-1.653-.518l-1.35.43a1.504 1.504 0 0 0-1.726-.376L2.858 6.97c-.736.321-1.06 1.155-.726 1.862.334.707 1.202 1.02 1.937.698l4.27-1.865 1.466 1.973v.402c0 .873-.627 1.63-1.512 1.827l-2.56.567c-1.329.295-2.27 1.431-2.27 2.74v.107c0 .26.22.469.489.469h11.117c1.329 0 2.618.435 3.656 1.233l1.665 1.28A1 1 0 0 0 22 17.47V11.062c0-.312-.108-.616-.308-.863l-3.415-4.218a1.5 1.5 0 0 0-1.618-.471l-.378.12-.866-.475a1.516 1.516 0 0 0-1.188-.114l-1.06.338-.214-.289Z" })), U = d(H), D = f(
210
+ ({
211
+ operationMode: e,
212
+ anchorOrigin: t,
213
+ transformOrigin: a,
214
+ compact: o
215
+ }) => {
216
+ const { t: l } = T(), i = y(), c = v();
217
+ switch (e) {
218
+ case "OPERATION_MODE_AUTO":
219
+ return /* @__PURE__ */ n(
220
+ p,
221
+ {
222
+ id: `operation-mode-auto-${c}`,
223
+ icon: L,
224
+ title: l("SafetyBar.OperationMode.ti"),
225
+ name: l("SafetyBar.OperationMode.Automatic.ti"),
226
+ label: o ? null : l("SafetyBar.OperationMode.Automatic.ti"),
227
+ color: i.palette.text.secondary,
228
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.OperationMode.Auto.Explanation.lb", children: "The robot controller is in automatic operation mode. Automated movement without manual confirmation is possible in this mode." }),
229
+ anchorOrigin: t,
230
+ transformOrigin: a
231
+ }
232
+ );
233
+ case "OPERATION_MODE_MANUAL":
234
+ case "OPERATION_MODE_MANUAL_T1":
235
+ case "OPERATION_MODE_MANUAL_T2":
236
+ return /* @__PURE__ */ n(
237
+ p,
238
+ {
239
+ id: `operation-mode-manual-${c}`,
240
+ icon: U,
241
+ color: i.palette.warning.main,
242
+ title: l("SafetyBar.OperationMode.ti"),
243
+ name: l("SafetyBar.OperationMode.Manual.lb"),
244
+ label: o ? null : l("SafetyBar.OperationMode.Manual.lb"),
245
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.OperationMode.Manual.Explanation.lb", children: "The robot controller is in manual operation mode. On a physical robot, this generally indicates that an enabling switch must be held for the robot to move successfully." }),
246
+ literalValue: e,
247
+ anchorOrigin: t,
248
+ transformOrigin: a
249
+ }
250
+ );
251
+ default:
252
+ return /* @__PURE__ */ n(
253
+ p,
254
+ {
255
+ id: `operation-mode-error-${c}`,
256
+ icon: I,
257
+ color: i.palette.warning.main,
258
+ title: l("SafetyBar.OperationMode.ti"),
259
+ name: l("SafetyBar.OperationMode.Error.lb"),
260
+ label: o ? null : l("SafetyBar.OperationMode.Error.lb"),
261
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.OperationMode.Error.Explanation.lb", children: "The robot controller has entered an unexpected operation mode. Motion group movement may not be possible." }),
262
+ literalValue: e,
263
+ anchorOrigin: t,
264
+ transformOrigin: a
265
+ }
266
+ );
267
+ }
268
+ }
269
+ ), z = ({
270
+ title: e,
271
+ titleId: t,
272
+ ...a
273
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M19.763 16.432 13.516 5.864c-.674-1.152-2.358-1.152-3.049 0l-6.23 10.568C3.563 17.567 4.405 19 5.753 19H18.23c1.364 0 2.206-1.432 1.532-2.568ZM12 8.498c.539 0 .96.428.96.938v.066l-.32 4.708a.639.639 0 0 1-.64.592.639.639 0 0 1-.64-.592l-.32-4.708A.953.953 0 0 1 12 8.498Zm0 8.79c-.556 0-1.01-.444-1.01-.987 0-.544.454-.988 1.01-.988s1.01.444 1.01.988c0 .542-.454.987-1.01.987Z" })), q = d(z), W = ({
274
+ title: e,
275
+ titleId: t,
276
+ ...a
277
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M10.24 10.636 12 13.764l1.76-3.128h-3.52Z" }), /* @__PURE__ */ r.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18.364 12a6.364 6.364 0 1 1-12.728 0 6.364 6.364 0 0 1 12.728 0ZM7.909 9.273 12 16.546l4.09-7.273H7.91Z" }), /* @__PURE__ */ r.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-1.364 0a8.636 8.636 0 1 1-17.273 0 8.636 8.636 0 0 1 17.273 0Z" })), k = d(W), G = ({
278
+ title: e,
279
+ titleId: t,
280
+ ...a
281
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M9.057 15.115c-1.681 0-3.111-.59-4.29-1.768C3.59 12.17 3 10.74 3 9.057c0-.29.021-.582.064-.876a4.1 4.1 0 0 1 .214-.844.78.78 0 0 1 .273-.36c.115-.077.244-.133.389-.168a.857.857 0 0 1 .437.008c.146.04.28.12.4.24l2.806 2.787 2.26-2.261-2.775-2.786a.903.903 0 0 1-.241-.405.875.875 0 0 1-.008-.442 1.13 1.13 0 0 1 .174-.389.82.82 0 0 1 .355-.273c.268-.107.548-.182.838-.224.29-.043.581-.064.871-.064 1.682 0 3.112.59 4.29 1.768 1.179 1.178 1.768 2.608 1.768 4.29 0 .444-.042.858-.126 1.241-.084.384-.21.755-.377 1.113l5.726 5.692A2.2 2.2 0 0 1 21 18.721a2.2 2.2 0 0 1-.662 1.617A2.2 2.2 0 0 1 18.72 21a2.173 2.173 0 0 1-1.617-.679l-5.692-5.709c-.372.161-.75.285-1.133.372-.383.087-.79.13-1.222.13Z", fill: "#fff", fillOpacity: 0.56 })), J = d(G), j = ({
282
+ title: e,
283
+ titleId: t,
284
+ ...a
285
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "m10.6 13.8-2.15-2.15a.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275.948.948 0 0 0-.275.7c0 .283.092.517.275.7L9.9 15.9c.2.2.433.3.7.3.267 0 .5-.1.7-.3l5.65-5.65a.948.948 0 0 0 .275-.7.948.948 0 0 0-.275-.7.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275L10.6 13.8ZM12 22a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z" })), Q = d(j), X = ({
286
+ title: e,
287
+ titleId: t,
288
+ ...a
289
+ }, o) => /* @__PURE__ */ r.createElement("svg", { width: 24, height: 24, xmlns: "http://www.w3.org/2000/svg", ref: o, "aria-labelledby": t, ...a }, e ? /* @__PURE__ */ r.createElement("title", { id: t }, e) : null, /* @__PURE__ */ r.createElement("path", { d: "M9 16h6c.283 0 .52-.096.713-.287A.968.968 0 0 0 16 15V9a.967.967 0 0 0-.287-.713A.968.968 0 0 0 15 8H9a.968.968 0 0 0-.713.287A.968.968 0 0 0 8 9v6c0 .283.096.52.287.713.192.191.43.287.713.287Zm3 6a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z" })), ee = d(X), te = f(
290
+ ({
291
+ safetyState: e,
292
+ anchorOrigin: t,
293
+ transformOrigin: a,
294
+ compact: o
295
+ }) => {
296
+ const { t: l } = T(), i = y(), c = v();
297
+ switch (e) {
298
+ // Normal state, robot can move
299
+ case "SAFETY_STATE_NORMAL":
300
+ return /* @__PURE__ */ n(
301
+ p,
302
+ {
303
+ id: `safety-state-normal-${c}`,
304
+ title: l("SafetyBar.SafetyState.ti"),
305
+ name: l("SafetyBar.SafetyState.Normal.lb"),
306
+ label: o ? null : l("SafetyBar.SafetyState.Normal.lb"),
307
+ icon: Q,
308
+ color: i.palette.text.secondary,
309
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.SafetyState.Normal.Explanation.lb", children: "The robot controller is in a normal safety state. Movement is not prevented by this state." }),
310
+ anchorOrigin: t,
311
+ transformOrigin: a
312
+ }
313
+ );
314
+ // Estop
315
+ case "SAFETY_STATE_DEVICE_EMERGENCY_STOP":
316
+ case "SAFETY_STATE_ROBOT_EMERGENCY_STOP":
317
+ return /* @__PURE__ */ n(
318
+ p,
319
+ {
320
+ id: `safety-state-estop-${c}`,
321
+ title: l("SafetyBar.SafetyState.ti"),
322
+ name: l("SafetyBar.SafetyState.Estop.lb"),
323
+ label: o ? null : l("SafetyBar.SafetyState.Estop.lb"),
324
+ icon: k,
325
+ color: i.palette.error.main,
326
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.StopState.Estop.Explanation.lb", children: "An emergency stop of the robot controller has been triggered. Movement of the robot is no longer possible until the estop is released." }),
327
+ literalValue: e,
328
+ anchorOrigin: t,
329
+ transformOrigin: a
330
+ }
331
+ );
332
+ // General stop
333
+ case "SAFETY_STATE_STOP_0":
334
+ case "SAFETY_STATE_STOP_1":
335
+ case "SAFETY_STATE_STOP_2":
336
+ case "SAFETY_STATE_PROTECTIVE_STOP":
337
+ case "SAFETY_STATE_STOP":
338
+ return /* @__PURE__ */ n(
339
+ p,
340
+ {
341
+ id: `safety-state-stop-${c}`,
342
+ icon: ee,
343
+ title: l("SafetyBar.SafetyState.ti"),
344
+ name: l("SafetyBar.SafetyState.Stop.lb"),
345
+ label: o ? null : l("SafetyBar.SafetyState.Stop.lb"),
346
+ color: i.palette.warning.main,
347
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.SafetyState.Stop.Explanation.lb", children: "The robot controller has entered a stop state. Movement is no longer possible until the stop state is resolved." }),
348
+ literalValue: e,
349
+ anchorOrigin: t,
350
+ transformOrigin: a
351
+ }
352
+ );
353
+ // Manual action required
354
+ case "SAFETY_STATE_REDUCED":
355
+ case "SAFETY_STATE_MASTERING":
356
+ case "SAFETY_STATE_CONFIRM_SAFETY":
357
+ case "SAFETY_STATE_OPERATOR_SAFETY":
358
+ case "SAFETY_STATE_RECOVERY":
359
+ case "SAFETY_STATE_VIOLATION":
360
+ return /* @__PURE__ */ n(
361
+ p,
362
+ {
363
+ id: `safety-state-manual-action-required-${c}`,
364
+ icon: J,
365
+ color: i.palette.warning.main,
366
+ title: l("SafetyBar.SafetyState.ti"),
367
+ name: l("SafetyBar.SafetyState.ManualActionRequired.lb"),
368
+ label: o ? null : l("SafetyBar.SafetyState.ManualActionRequired.lb"),
369
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.SafetyState.ManualActionRequired.Explanation.lb", children: "The robot controller has entered a safety state requiring manual action to resolve." }),
370
+ literalValue: e,
371
+ anchorOrigin: t,
372
+ transformOrigin: a
373
+ }
374
+ );
375
+ // Error
376
+ case "SAFETY_STATE_UNKNOWN":
377
+ case "SAFETY_STATE_FAULT":
378
+ return /* @__PURE__ */ n(
379
+ p,
380
+ {
381
+ id: `safety-state-error-${c}`,
382
+ icon: q,
383
+ color: i.palette.error.main,
384
+ title: l("SafetyBar.SafetyState.ti"),
385
+ name: l("SafetyBar.SafetyState.Error.lb"),
386
+ label: o ? null : l("SafetyBar.SafetyState.Error.lb"),
387
+ explanation: /* @__PURE__ */ n(s, { i18nKey: "SafetyBar.SafetyState.Error.Explanation.lb", children: "The robot controller has entered an unexpected safety state." }),
388
+ literalValue: e,
389
+ anchorOrigin: t,
390
+ transformOrigin: a
391
+ }
392
+ );
393
+ default:
394
+ Z(e, `Unknown safety state ${e}`);
395
+ }
396
+ }
397
+ ), fe = O(
398
+ f(
399
+ ({
400
+ isVirtual: e,
401
+ motionGroupId: t,
402
+ operationMode: a,
403
+ safetyState: o,
404
+ anchorOrigin: l,
405
+ transformOrigin: i,
406
+ compact: c = !0
407
+ }) => /* @__PURE__ */ m(
408
+ u,
409
+ {
410
+ direction: "row",
411
+ gap: c ? 1 : 2,
412
+ alignItems: "center",
413
+ sx: { height: "24px" },
414
+ children: [
415
+ /* @__PURE__ */ n(
416
+ te,
417
+ {
418
+ safetyState: o,
419
+ anchorOrigin: l,
420
+ transformOrigin: i,
421
+ compact: c
422
+ }
423
+ ),
424
+ /* @__PURE__ */ n(b, { orientation: "vertical", flexItem: !0 }),
425
+ /* @__PURE__ */ n(
426
+ D,
427
+ {
428
+ operationMode: a,
429
+ anchorOrigin: l,
430
+ transformOrigin: i,
431
+ compact: c
432
+ }
433
+ ),
434
+ /* @__PURE__ */ n(b, { orientation: "vertical", flexItem: !0 }),
435
+ /* @__PURE__ */ n(
436
+ Y,
437
+ {
438
+ isVirtual: e,
439
+ motionGroupId: t,
440
+ anchorOrigin: l,
441
+ transformOrigin: i,
442
+ compact: c
443
+ }
444
+ )
445
+ ]
446
+ }
447
+ )
448
+ )
449
+ );
450
+ export {
451
+ fe as S,
452
+ me as m
453
+ };
@@ -0,0 +1 @@
1
+ "use strict";const r=require("react/jsx-runtime"),m=require("@mui/material/Divider"),E=require("@mui/material/Stack"),f=require("mobx-react-lite"),x=require("./externalizeComponent-OO4jcrz5.cjs"),y=require("@mui/material/styles"),c=require("react"),d=require("react-i18next"),A=require("@mui/material/Popover"),g=require("@mui/material/SvgIcon"),h=require("@mui/material/Typography"),T=require("axios");function M(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:()=>e[a]})}}return t.default=e,Object.freeze(t)}const l=M(c);function _(e,t){throw new Error(`${t} ${JSON.stringify(e)}`)}function R(e){var t,a,n,o;return e instanceof T.AxiosError&&e.code==="ERR_NETWORK"?"Failed to connect to the server. Please check your internet connection.":e instanceof T.AxiosError&&e.response?`${(t=e.response)==null?void 0:t.status} ${(a=e.response)==null?void 0:a.statusText} from ${(n=e.response)==null?void 0:n.config.url}: ${JSON.stringify((o=e.response)==null?void 0:o.data)}`:e instanceof Error?e.message:`Unexpected error: ${x.tryStringifyJson(e)||e}`}const O=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M5.248 21c-.334 0-.619-.116-.853-.35a1.153 1.153 0 0 1-.351-.848c0-.333.117-.616.351-.85.234-.233.519-.35.853-.35H7.24L4.558 9.87a2.881 2.881 0 0 1-1.126-1.042A2.77 2.77 0 0 1 3 7.317c0-.793.28-1.467.838-2.023a2.774 2.774 0 0 1 2.033-.834 2.71 2.71 0 0 1 1.728.585c.494.389.832.887 1.014 1.493h3.58V5.239c0-.22.076-.406.226-.555a.76.76 0 0 1 .558-.224c.136 0 .263.035.381.104.118.07.209.167.273.292v.14l1.835-1.702a.979.979 0 0 1 .52-.279.881.881 0 0 1 .58.091l4.01 1.85a.74.74 0 0 1 .36.364.537.537 0 0 1-.002.474.592.592 0 0 1-.366.323.657.657 0 0 1-.477-.039l-3.858-1.774L13.76 6.59v1.454l2.473 2.233 3.858-1.774a.648.648 0 0 1 .485-.03.571.571 0 0 1 .358.314.513.513 0 0 1 .01.482.79.79 0 0 1-.367.357l-4.011 1.882a.881.881 0 0 1-.58.09.979.979 0 0 1-.52-.278L13.63 9.638v.14a.92.92 0 0 1-.273.275.665.665 0 0 1-.381.12.76.76 0 0 1-.558-.224.752.752 0 0 1-.225-.555V8.096h-3.58a2.82 2.82 0 0 1-.215.54 2.552 2.552 0 0 1-.323.479l5.139 9.488h2.673c.335 0 .62.116.854.35.234.233.35.516.35.849 0 .332-.116.615-.35.849a1.167 1.167 0 0 1-.854.349H5.248Zm.623-12.385c.362 0 .67-.126.924-.378a1.25 1.25 0 0 0 .38-.92 1.25 1.25 0 0 0-.38-.92 1.261 1.261 0 0 0-.924-.379 1.26 1.26 0 0 0-.925.379 1.25 1.25 0 0 0-.38.92c0 .36.127.667.38.92.254.252.562.378.925.378Z"})),j=c.forwardRef(O),B=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"m13.37 9.12 1.69 1.69 2.99-2.99-3.73-3.73-.95-.95-7.66 7.66-.95.95 3.99 3.99v3.44h7.55v-3.55l-4.72-4.72 1.79-1.79Zm-.91-2.99.91-.91 2.6 2.6-.91.91-2.6-2.6Zm-2.25 10.24h3.74l-1.34-1.34-.04-.04h-2.5l-3.25-3.25 4.59-4.59.92.92L9.5 10.9l5.33 5.33v1.48H10.2v-1.35l.01.01ZM2 2v4.99h1.41V3.4h3.58V2H2ZM22.21 2h-4.98v1.41h3.59v3.58h1.4V2h-.01ZM20.81 20.65h-3.58v1.4h4.98v-4.99h-1.4v3.59ZM3.4 17.06H2v4.98h4.99v-1.4H3.4v-3.58Z"})),F=c.forwardRef(B),p=f.observer(({id:e,icon:t,color:a,title:n,name:o,label:s,explanation:i,literalValue:S,anchorOrigin:b,transformOrigin:v})=>{const u=f.useLocalObservable(()=>({anchorEl:null,get isPopoverOpen(){return!!u.anchorEl},openPopover(w){u.anchorEl=w.currentTarget},closePopover(){u.anchorEl=null}}));return r.jsxs(r.Fragment,{children:[r.jsxs(E,{"aria-owns":u.isPopoverOpen?e:void 0,"aria-haspopup":"true",onMouseEnter:u.openPopover,onMouseLeave:u.closePopover,direction:"row",spacing:1,sx:{cursor:"pointer"},children:[r.jsx(g,{component:t,sx:{color:a}}),s&&r.jsx("div",{style:{color:a},children:s})]}),r.jsx(A,{id:e,sx:{pointerEvents:"none"},open:u.isPopoverOpen,anchorEl:u.anchorEl,anchorOrigin:b??{vertical:"bottom",horizontal:"left"},transformOrigin:v??{vertical:"top",horizontal:"left"},onClose:u.closePopover,disableRestoreFocus:!0,children:r.jsxs(E,{gap:"1rem",padding:2,maxWidth:"450px",sx:{wordWrap:"break-word"},children:[r.jsxs("div",{children:[n&&r.jsx(h,{component:"span",fontSize:"14px",children:`${n}: `}),r.jsx(h,{component:"span",color:a,fontWeight:"bold",fontSize:"14px",children:o})]}),r.jsx(h,{fontSize:"14px",children:i}),S&&r.jsx(h,{fontSize:"12px",children:S})]})})]})}),Z=f.observer(({isVirtual:e,motionGroupId:t,anchorOrigin:a,transformOrigin:n,compact:o})=>{const s=y.useTheme(),i=c.useId(),{t:S}=d.useTranslation();return e?r.jsx(p,{id:`motion-group-virtual-${i}`,icon:F,color:s.palette.tertiary.main,name:S("SafetyBar.ControllerType.Virtual.lb"),label:o?null:S("SafetyBar.ControllerType.Virtual.lb"),explanation:r.jsxs(d.Trans,{i18nKey:"SafetyBar.MotionGroup.Virtual.Explanation.lb",values:{motionGroupId:t},children:["Motion group ",r.jsx("code",{children:t})," refers to a virtual robot with no physical counterpart. It can be freely manipulated without special safety precautions."]}),anchorOrigin:a,transformOrigin:n}):r.jsx(p,{id:`motion-group-physical-${i}`,icon:j,color:s.palette.primary.main,name:S("SafetyBar.ControllerType.Physical.lb"),label:o?null:S("SafetyBar.ControllerType.Physical.lb"),explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.MotionGroup.Physical.Explanation.lb",values:{motionGroupId:t},components:{code:r.jsx("code",{}),strong:r.jsx("strong",{})}}),anchorOrigin:a,transformOrigin:n})}),C=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.306 2.768c0-.424.344-.768.768-.768h.406C19.53 2 22 4.551 22 7.699c0 3.237-2.51 5.587-5.31 5.703-.84 1.595-2.478 2.677-4.36 2.677a4.845 4.845 0 0 1-3.146-1.163c-.6 1.783 0 3.922 1.79 4.99 1.929 1.149 4.395.467 5.508-1.524l.212-.378a.75.75 0 1 1 1.308.732l-.231.414c-1.524 2.725-4.9 3.66-7.54 2.085-2.716-1.618-3.432-5.037-2.129-7.599a5.22 5.22 0 0 1-.73-2.677c0-2.192 1.335-4.063 3.212-4.793-1.195-1.427-3.29-1.96-5.08-.892-1.928 1.15-2.589 3.696-1.475 5.687l.231.413a.75.75 0 0 1-1.308.732l-.212-.377c-1.524-2.726-.62-6.211 2.02-7.785 2.716-1.619 5.943-.55 7.44 1.897l.13-.001c2.739 0 4.96 2.292 4.96 5.12 0 .284-.023.563-.066.834 1.795-.354 3.288-1.96 3.288-4.095 0-2.3-1.805-4.163-4.032-4.163h-.406a.768.768 0 0 1-.768-.768Zm.496 8.191c0 .286-.033.564-.094.831a3.62 3.62 0 0 1-.672 1.415 3.425 3.425 0 0 1-2.706 1.338 3.402 3.402 0 0 1-2.384-.98 3.598 3.598 0 0 1-.852-1.306 3.677 3.677 0 0 1-.235-1.298c0-1.623 1.046-2.994 2.48-3.435a3.37 3.37 0 0 1 1.522-.107c1.665.264 2.94 1.75 2.94 3.542Z"})),P=c.forwardRef(C),$=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M19.763 16.432 13.516 5.864c-.674-1.152-2.358-1.152-3.049 0l-6.23 10.568C3.563 17.567 4.405 19 5.753 19H18.23c1.364 0 2.206-1.432 1.532-2.568ZM12 8.498c.539 0 .96.428.96.938v.066l-.32 4.708a.639.639 0 0 1-.64.592.639.639 0 0 1-.64-.592l-.32-4.708A.953.953 0 0 1 12 8.498Zm0 8.79c-.556 0-1.01-.444-1.01-.987 0-.544.454-.988 1.01-.988s1.01.444 1.01.988c0 .542-.454.987-1.01.987Z",fill:"#fff",fillOpacity:.56})),N=c.forwardRef($),Y=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M12.953 5.09a1.497 1.497 0 0 0-1.653-.518l-1.35.43a1.504 1.504 0 0 0-1.726-.376L2.858 6.97c-.736.321-1.06 1.155-.726 1.862.334.707 1.202 1.02 1.937.698l4.27-1.865 1.466 1.973v.402c0 .873-.627 1.63-1.512 1.827l-2.56.567c-1.329.295-2.27 1.431-2.27 2.74v.107c0 .26.22.469.489.469h11.117c1.329 0 2.618.435 3.656 1.233l1.665 1.28A1 1 0 0 0 22 17.47V11.062c0-.312-.108-.616-.308-.863l-3.415-4.218a1.5 1.5 0 0 0-1.618-.471l-.378.12-.866-.475a1.516 1.516 0 0 0-1.188-.114l-1.06.338-.214-.289Z"})),V=c.forwardRef(Y),q=f.observer(({operationMode:e,anchorOrigin:t,transformOrigin:a,compact:n})=>{const{t:o}=d.useTranslation(),s=y.useTheme(),i=c.useId();switch(e){case"OPERATION_MODE_AUTO":return r.jsx(p,{id:`operation-mode-auto-${i}`,icon:P,title:o("SafetyBar.OperationMode.ti"),name:o("SafetyBar.OperationMode.Automatic.ti"),label:n?null:o("SafetyBar.OperationMode.Automatic.ti"),color:s.palette.text.secondary,explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.OperationMode.Auto.Explanation.lb",children:"The robot controller is in automatic operation mode. Automated movement without manual confirmation is possible in this mode."}),anchorOrigin:t,transformOrigin:a});case"OPERATION_MODE_MANUAL":case"OPERATION_MODE_MANUAL_T1":case"OPERATION_MODE_MANUAL_T2":return r.jsx(p,{id:`operation-mode-manual-${i}`,icon:V,color:s.palette.warning.main,title:o("SafetyBar.OperationMode.ti"),name:o("SafetyBar.OperationMode.Manual.lb"),label:n?null:o("SafetyBar.OperationMode.Manual.lb"),explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.OperationMode.Manual.Explanation.lb",children:"The robot controller is in manual operation mode. On a physical robot, this generally indicates that an enabling switch must be held for the robot to move successfully."}),literalValue:e,anchorOrigin:t,transformOrigin:a});default:return r.jsx(p,{id:`operation-mode-error-${i}`,icon:N,color:s.palette.warning.main,title:o("SafetyBar.OperationMode.ti"),name:o("SafetyBar.OperationMode.Error.lb"),label:n?null:o("SafetyBar.OperationMode.Error.lb"),explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.OperationMode.Error.Explanation.lb",children:"The robot controller has entered an unexpected operation mode. Motion group movement may not be possible."}),literalValue:e,anchorOrigin:t,transformOrigin:a})}}),L=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M19.763 16.432 13.516 5.864c-.674-1.152-2.358-1.152-3.049 0l-6.23 10.568C3.563 17.567 4.405 19 5.753 19H18.23c1.364 0 2.206-1.432 1.532-2.568ZM12 8.498c.539 0 .96.428.96.938v.066l-.32 4.708a.639.639 0 0 1-.64.592.639.639 0 0 1-.64-.592l-.32-4.708A.953.953 0 0 1 12 8.498Zm0 8.79c-.556 0-1.01-.444-1.01-.987 0-.544.454-.988 1.01-.988s1.01.444 1.01.988c0 .542-.454.987-1.01.987Z"})),I=c.forwardRef(L),K=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M10.24 10.636 12 13.764l1.76-3.128h-3.52Z"}),l.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.364 12a6.364 6.364 0 1 1-12.728 0 6.364 6.364 0 0 1 12.728 0ZM7.909 9.273 12 16.546l4.09-7.273H7.91Z"}),l.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-1.364 0a8.636 8.636 0 1 1-17.273 0 8.636 8.636 0 0 1 17.273 0Z"})),D=c.forwardRef(K),H=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M9.057 15.115c-1.681 0-3.111-.59-4.29-1.768C3.59 12.17 3 10.74 3 9.057c0-.29.021-.582.064-.876a4.1 4.1 0 0 1 .214-.844.78.78 0 0 1 .273-.36c.115-.077.244-.133.389-.168a.857.857 0 0 1 .437.008c.146.04.28.12.4.24l2.806 2.787 2.26-2.261-2.775-2.786a.903.903 0 0 1-.241-.405.875.875 0 0 1-.008-.442 1.13 1.13 0 0 1 .174-.389.82.82 0 0 1 .355-.273c.268-.107.548-.182.838-.224.29-.043.581-.064.871-.064 1.682 0 3.112.59 4.29 1.768 1.179 1.178 1.768 2.608 1.768 4.29 0 .444-.042.858-.126 1.241-.084.384-.21.755-.377 1.113l5.726 5.692A2.2 2.2 0 0 1 21 18.721a2.2 2.2 0 0 1-.662 1.617A2.2 2.2 0 0 1 18.72 21a2.173 2.173 0 0 1-1.617-.679l-5.692-5.709c-.372.161-.75.285-1.133.372-.383.087-.79.13-1.222.13Z",fill:"#fff",fillOpacity:.56})),U=c.forwardRef(H),z=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,fill:"none",xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"m10.6 13.8-2.15-2.15a.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275.948.948 0 0 0-.275.7c0 .283.092.517.275.7L9.9 15.9c.2.2.433.3.7.3.267 0 .5-.1.7-.3l5.65-5.65a.948.948 0 0 0 .275-.7.948.948 0 0 0-.275-.7.948.948 0 0 0-.7-.275.948.948 0 0 0-.7.275L10.6 13.8ZM12 22a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z"})),k=c.forwardRef(z),W=({title:e,titleId:t,...a},n)=>l.createElement("svg",{width:24,height:24,xmlns:"http://www.w3.org/2000/svg",ref:n,"aria-labelledby":t,...a},e?l.createElement("title",{id:t},e):null,l.createElement("path",{d:"M9 16h6c.283 0 .52-.096.713-.287A.968.968 0 0 0 16 15V9a.967.967 0 0 0-.287-.713A.968.968 0 0 0 15 8H9a.968.968 0 0 0-.713.287A.968.968 0 0 0 8 9v6c0 .283.096.52.287.713.192.191.43.287.713.287Zm3 6a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z"})),G=c.forwardRef(W),J=f.observer(({safetyState:e,anchorOrigin:t,transformOrigin:a,compact:n})=>{const{t:o}=d.useTranslation(),s=y.useTheme(),i=c.useId();switch(e){case"SAFETY_STATE_NORMAL":return r.jsx(p,{id:`safety-state-normal-${i}`,title:o("SafetyBar.SafetyState.ti"),name:o("SafetyBar.SafetyState.Normal.lb"),label:n?null:o("SafetyBar.SafetyState.Normal.lb"),icon:k,color:s.palette.text.secondary,explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.SafetyState.Normal.Explanation.lb",children:"The robot controller is in a normal safety state. Movement is not prevented by this state."}),anchorOrigin:t,transformOrigin:a});case"SAFETY_STATE_DEVICE_EMERGENCY_STOP":case"SAFETY_STATE_ROBOT_EMERGENCY_STOP":return r.jsx(p,{id:`safety-state-estop-${i}`,title:o("SafetyBar.SafetyState.ti"),name:o("SafetyBar.SafetyState.Estop.lb"),label:n?null:o("SafetyBar.SafetyState.Estop.lb"),icon:D,color:s.palette.error.main,explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.StopState.Estop.Explanation.lb",children:"An emergency stop of the robot controller has been triggered. Movement of the robot is no longer possible until the estop is released."}),literalValue:e,anchorOrigin:t,transformOrigin:a});case"SAFETY_STATE_STOP_0":case"SAFETY_STATE_STOP_1":case"SAFETY_STATE_STOP_2":case"SAFETY_STATE_PROTECTIVE_STOP":case"SAFETY_STATE_STOP":return r.jsx(p,{id:`safety-state-stop-${i}`,icon:G,title:o("SafetyBar.SafetyState.ti"),name:o("SafetyBar.SafetyState.Stop.lb"),label:n?null:o("SafetyBar.SafetyState.Stop.lb"),color:s.palette.warning.main,explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.SafetyState.Stop.Explanation.lb",children:"The robot controller has entered a stop state. Movement is no longer possible until the stop state is resolved."}),literalValue:e,anchorOrigin:t,transformOrigin:a});case"SAFETY_STATE_REDUCED":case"SAFETY_STATE_MASTERING":case"SAFETY_STATE_CONFIRM_SAFETY":case"SAFETY_STATE_OPERATOR_SAFETY":case"SAFETY_STATE_RECOVERY":case"SAFETY_STATE_VIOLATION":return r.jsx(p,{id:`safety-state-manual-action-required-${i}`,icon:U,color:s.palette.warning.main,title:o("SafetyBar.SafetyState.ti"),name:o("SafetyBar.SafetyState.ManualActionRequired.lb"),label:n?null:o("SafetyBar.SafetyState.ManualActionRequired.lb"),explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.SafetyState.ManualActionRequired.Explanation.lb",children:"The robot controller has entered a safety state requiring manual action to resolve."}),literalValue:e,anchorOrigin:t,transformOrigin:a});case"SAFETY_STATE_UNKNOWN":case"SAFETY_STATE_FAULT":return r.jsx(p,{id:`safety-state-error-${i}`,icon:I,color:s.palette.error.main,title:o("SafetyBar.SafetyState.ti"),name:o("SafetyBar.SafetyState.Error.lb"),label:n?null:o("SafetyBar.SafetyState.Error.lb"),explanation:r.jsx(d.Trans,{i18nKey:"SafetyBar.SafetyState.Error.Explanation.lb",children:"The robot controller has entered an unexpected safety state."}),literalValue:e,anchorOrigin:t,transformOrigin:a});default:_(e,`Unknown safety state ${e}`)}}),Q=x.externalizeComponent(f.observer(({isVirtual:e,motionGroupId:t,operationMode:a,safetyState:n,anchorOrigin:o,transformOrigin:s,compact:i=!0})=>{const S=i?1:2;return r.jsxs(E,{direction:"row",gap:S,alignItems:"center",sx:{height:"24px"},children:[r.jsx(J,{safetyState:n,anchorOrigin:o,transformOrigin:s,compact:i}),r.jsx(m,{orientation:"vertical",flexItem:!0}),r.jsx(q,{operationMode:a,anchorOrigin:o,transformOrigin:s,compact:i}),r.jsx(m,{orientation:"vertical",flexItem:!0}),r.jsx(Z,{isVirtual:e,motionGroupId:t,anchorOrigin:o,transformOrigin:s,compact:i})]})}));exports.SafetyBar=Q;exports.makeErrorMessage=R;