@overvis/hmi-workspace-ui 0.1.1 → 0.1.3

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 (91) hide show
  1. package/README.md +6 -4
  2. package/dist/{alarm-list-sheAq-pb.js → alarm-list-TDg7nwkn.js} +4 -4
  3. package/dist/{alarm-rule-dialog-D_ml7V0v.js → alarm-rule-dialog-DwbRtPZD.js} +10 -10
  4. package/dist/{alarm-rule-lists-DaA4soF4.js → alarm-rule-lists-Ax7PzbQy.js} +4 -4
  5. package/dist/{alarm-rules-page-OFjOQ-dm.js → alarm-rules-page-DisATKLV.js} +11 -11
  6. package/dist/{alert-dialog-B60PF7S9.js → alert-dialog-CskdoiGZ.js} +1 -1
  7. package/dist/{base-revision-DYCOZS0R.js → base-revision-C-tNhqGq.js} +3 -3
  8. package/dist/{breadcrumbs-D2u8KZQo.js → breadcrumbs-B5O9let7.js} +3 -3
  9. package/dist/{catalog-list-LXuRix0-.js → catalog-list-3yaB4bJD.js} +1 -1
  10. package/dist/{code-editor-BMSyzAxu.js → code-editor-B6myrPQm.js} +6 -2
  11. package/dist/{dashboards-page-wnmmLpVC.js → dashboards-page-CoKevu-T.js} +9 -9
  12. package/dist/{de-hkEr2usK.js → de-CPxvTPak.js} +11 -0
  13. package/dist/{diagnostic-text-CsbENUNI.js → diagnostic-text-BS4rdZcE.js} +2 -2
  14. package/dist/{dialogs-AtIYlNSy.js → dialogs-BUyPGimM.js} +6 -6
  15. package/dist/{dialogs-DsHbKgZD.js → dialogs-CF7Baagf.js} +512 -510
  16. package/dist/{display-DSyEwQt8.js → display-DmldtHdd.js} +2 -2
  17. package/dist/{editor-language-CTfJBXMs.js → editor-language-8UJkvBgX.js} +1 -1
  18. package/dist/{editor-page-BWbVGJvU.js → editor-page-_6TxO_iT.js} +14 -14
  19. package/dist/{en-UW_k-Bd6.js → en-DoFtc9Sn.js} +11 -0
  20. package/dist/{entity-controls-BCuRx882.js → entity-controls-rdv-ttvP.js} +3 -3
  21. package/dist/{errors-Cawve9yD.js → errors-BFeJfnyz.js} +2 -2
  22. package/dist/{footer-B9XdpVzq.js → footer-DZUQHVnt.js} +4 -4
  23. package/dist/host.js +1175 -1063
  24. package/dist/{i18n-Dt6xbSK6.js → i18n-D54xfDUE.js} +5 -5
  25. package/dist/i18n.js +1 -1
  26. package/dist/index.js +64 -42
  27. package/dist/{list-page-agHupfNb.js → list-page-Cz5bdD8r.js} +11 -11
  28. package/dist/{location-map-renderer-kxU6cgFl.js → location-map-renderer-Hb5N0AYH.js} +1 -1
  29. package/dist/{notice-card-CH28rYUt.js → notice-card-BMNjc7qi.js} +3 -3
  30. package/dist/{page-CZPHJUmz.js → page-BKnwJyv5.js} +8 -8
  31. package/dist/{page-HCGXXGjy.js → page-CBWLmbIE.js} +11 -11
  32. package/dist/{page-DpdkOGGb.js → page-UoQRnsm3.js} +11 -11
  33. package/dist/{panel-BCwBlB_h.js → panel-Cr3OXiRs.js} +3 -3
  34. package/dist/{pl-BokvsP3J.js → pl-DEPfFtMO.js} +11 -0
  35. package/dist/{presence-code-cT6wxlTg.js → presence-code-DIKs9fBe.js} +2 -2
  36. package/dist/{query-gate-DqmHsZ07.js → query-gate-2sU8OvEb.js} +3 -3
  37. package/dist/{quick-report-DEqqwQxR.js → quick-report-ZvrI5Jkh.js} +3130 -3102
  38. package/dist/{retention-note-nequESpo.js → retention-note-BrkxE2Wo.js} +9 -6
  39. package/dist/{retention-DZ0reGGe.js → retention-wDvnFMbN.js} +2 -2
  40. package/dist/{ru-DZSlsRHq.js → ru-Ct2zNOs8.js} +15 -4
  41. package/dist/{run-text-DneX9rWh.js → run-text-Bmkf_u0N.js} +2 -2
  42. package/dist/{search-DP9_alSQ.js → search-ADhiRT_S.js} +3 -3
  43. package/dist/{sections-BU7NKUOQ.js → sections-BDtBUhxn.js} +1 -1
  44. package/dist/{select-Te6Qv1Zu.js → select-Cpeslz01.js} +2 -2
  45. package/dist/{spinner-BRcNKwjH.js → spinner-LbVGWBQq.js} +2 -2
  46. package/dist/src/code-editor/code-editor.d.ts +3 -0
  47. package/dist/src/code-editor/taskfile-language.d.ts +22 -2
  48. package/dist/src/i18n/catalogs/de/api-error.d.ts +3 -0
  49. package/dist/src/i18n/catalogs/de/audit.d.ts +1 -0
  50. package/dist/src/i18n/catalogs/de/edge-program.d.ts +4 -0
  51. package/dist/src/i18n/catalogs/de/parameter.d.ts +1 -0
  52. package/dist/src/i18n/catalogs/de/starter.d.ts +2 -0
  53. package/dist/src/i18n/catalogs/de.d.ts +11 -0
  54. package/dist/src/i18n/catalogs/en/api-error.d.ts +3 -0
  55. package/dist/src/i18n/catalogs/en/audit.d.ts +1 -0
  56. package/dist/src/i18n/catalogs/en/edge-program.d.ts +4 -0
  57. package/dist/src/i18n/catalogs/en/parameter.d.ts +1 -0
  58. package/dist/src/i18n/catalogs/en/starter.d.ts +2 -0
  59. package/dist/src/i18n/catalogs/en.d.ts +11 -0
  60. package/dist/src/i18n/catalogs/pl/api-error.d.ts +3 -0
  61. package/dist/src/i18n/catalogs/pl/audit.d.ts +1 -0
  62. package/dist/src/i18n/catalogs/pl/edge-program.d.ts +4 -0
  63. package/dist/src/i18n/catalogs/pl/parameter.d.ts +1 -0
  64. package/dist/src/i18n/catalogs/pl/starter.d.ts +2 -0
  65. package/dist/src/i18n/catalogs/pl.d.ts +11 -0
  66. package/dist/src/i18n/catalogs/ru/api-error.d.ts +3 -0
  67. package/dist/src/i18n/catalogs/ru/audit.d.ts +1 -0
  68. package/dist/src/i18n/catalogs/ru/edge-program.d.ts +6 -2
  69. package/dist/src/i18n/catalogs/ru/graphics.d.ts +2 -2
  70. package/dist/src/i18n/catalogs/ru/parameter.d.ts +1 -0
  71. package/dist/src/i18n/catalogs/ru/starter.d.ts +2 -0
  72. package/dist/src/i18n/catalogs/ru.d.ts +15 -4
  73. package/dist/src/i18n/catalogs/uk/api-error.d.ts +3 -0
  74. package/dist/src/i18n/catalogs/uk/audit.d.ts +1 -0
  75. package/dist/src/i18n/catalogs/uk/edge-program.d.ts +6 -2
  76. package/dist/src/i18n/catalogs/uk/graphics.d.ts +2 -2
  77. package/dist/src/i18n/catalogs/uk/parameter.d.ts +1 -0
  78. package/dist/src/i18n/catalogs/uk/starter.d.ts +2 -0
  79. package/dist/src/i18n/catalogs/uk.d.ts +15 -4
  80. package/dist/src/version.d.ts +1 -1
  81. package/dist/src/workspace/device-presets/layout.d.ts +2 -0
  82. package/dist/src/workspace/local-setup-link.d.ts +3 -0
  83. package/dist/src/workspace/parameters/errors.d.ts +5 -0
  84. package/dist/src/workspace/setup/starters/starter-form.d.ts +24 -6
  85. package/dist/starter-fields-BHNS6IQe.js +678 -0
  86. package/dist/styles.css +1 -1
  87. package/dist/ui.js +6 -6
  88. package/dist/{uk-CjXPq9Lk.js → uk-Dbm1i2uh.js} +15 -4
  89. package/dist/{wireguard-docs-CC8XKBR7.js → wireguard-docs-DIBtCviv.js} +3 -3
  90. package/package.json +2 -2
  91. package/dist/starter-fields-yM4B49nd.js +0 -583
package/README.md CHANGED
@@ -40,9 +40,9 @@ and creates its own query, router, theme, and workspace providers. The API accep
40
40
  only from its own web app, so proxy `/trpc` and `/static` (published dashboards, rendered reports)
41
41
  from the host's origin and pass `/`; the component appends `/trpc` itself. The key is readable by
42
42
  everyone who can open the host: keep it scoped to the workspace and its intended permissions.
43
- `LocalWorkspaceApp` also reads unpushed dashboard configuration from the `hmi` development server
44
- under `/__hmi/setup/`; a host without that server must answer those paths with 404 or its HTML
45
- page.
43
+ `LocalWorkspaceApp` also reads unpushed dashboard configuration, and dashboards not pushed yet,
44
+ from the `hmi` development server under `/__hmi/setup/`; a host without that server must answer
45
+ those paths with 404 or its HTML page.
46
46
 
47
47
  To embed workspace pages in a TanStack Router host, attach `createWorkspaceRoutes(route)` under its
48
48
  `/workspace/$workspaceId` route and provide `trpc.Provider`, `QueryClientProvider`, and
@@ -66,7 +66,9 @@ are checked by TypeScript against literal catalogs.
66
66
  - API-backed forms keep submission inside `FormRoot`, so Enter and Save use the same validation.
67
67
  - `DashboardGraphics` keeps workspace, dashboard, and drawing UUIDs stable; concurrent saves
68
68
  compare the revision captured when editing began. Symbol IDs starting with `hmi.` are reserved
69
- for built-ins.
69
+ for built-ins. Its canvas exposes workspace, dashboard, and drawing IDs in `data-context-*`
70
+ attributes, including in full screen; element wrappers expose the element ID and authoring label
71
+ for assistant picks on nested artwork.
70
72
  - `useToast` from `./ui` records messages in the history of `MessageHistoryProvider identity`;
71
73
  without browser storage the history is kept in memory.
72
74
 
@@ -1,7 +1,7 @@
1
- import { $r as e, Kn as t, Nr as n, Qn as r, _n as i, fn as a, gn as o, ii as s, mn as c, pn as l, vn as u, yn as d, zn as f } from "./quick-report-DEqqwQxR.js";
2
- import { f as p, h as m, m as h } from "./i18n-Dt6xbSK6.js";
3
- import { B as g, H as _, K as v, Mt as y, Nt as b, R as x, U as S, V as C, X as w, Y as T, jt as E, xt as D } from "./alert-dialog-B60PF7S9.js";
4
- import { B as O, H as ee, L as te, V as k, l as A } from "./spinner-BRcNKwjH.js";
1
+ import { $r as e, Kn as t, Nr as n, Qn as r, _n as i, fn as a, gn as o, ii as s, mn as c, pn as l, vn as u, yn as d, zn as f } from "./quick-report-ZvrI5Jkh.js";
2
+ import { f as p, h as m, m as h } from "./i18n-D54xfDUE.js";
3
+ import { B as g, H as _, K as v, Mt as y, Nt as b, R as x, U as S, V as C, X as w, Y as T, jt as E, xt as D } from "./alert-dialog-CskdoiGZ.js";
4
+ import { B as O, H as ee, L as te, V as k, l as A } from "./spinner-LbVGWBQq.js";
5
5
  import { useState as j } from "react";
6
6
  import { jsx as M, jsxs as N } from "react/jsx-runtime";
7
7
  import P from "typebox";
@@ -1,13 +1,13 @@
1
- import { At as e, Bn as t, Kn as n, Mt as r, Ot as i, Qn as a, Wn as o, ii as s, kt as c, zn as l } from "./quick-report-DEqqwQxR.js";
2
- import { h as u, m as d, n as f } from "./i18n-Dt6xbSK6.js";
3
- import { jt as p, xt as m } from "./alert-dialog-B60PF7S9.js";
4
- import { A as h, G as g, H as _, L as v, M as y, U as b, V as x, Y as S, z as C } from "./spinner-BRcNKwjH.js";
5
- import { t as w } from "./diagnostic-text-CsbENUNI.js";
6
- import { n as T, r as E, t as D } from "./query-gate-DqmHsZ07.js";
7
- import { i as O, n as k, r as A, t as j } from "./alarm-rule-lists-DaA4soF4.js";
8
- import { n as ee, t as te } from "./base-revision-DYCOZS0R.js";
9
- import { i as ne } from "./run-text-DneX9rWh.js";
10
- import { r as M } from "./editor-language-CTfJBXMs.js";
1
+ import { At as e, Bn as t, Kn as n, Mt as r, Ot as i, Qn as a, Wn as o, ii as s, kt as c, zn as l } from "./quick-report-ZvrI5Jkh.js";
2
+ import { h as u, m as d, n as f } from "./i18n-D54xfDUE.js";
3
+ import { jt as p, xt as m } from "./alert-dialog-CskdoiGZ.js";
4
+ import { A as h, G as g, H as _, L as v, M as y, U as b, V as x, Y as S, z as C } from "./spinner-LbVGWBQq.js";
5
+ import { t as w } from "./diagnostic-text-BS4rdZcE.js";
6
+ import { n as T, r as E, t as D } from "./query-gate-2sU8OvEb.js";
7
+ import { i as O, n as k, r as A, t as j } from "./alarm-rule-lists-Ax7PzbQy.js";
8
+ import { n as ee, t as te } from "./base-revision-C-tNhqGq.js";
9
+ import { i as ne } from "./run-text-Bmkf_u0N.js";
10
+ import { r as M } from "./editor-language-8UJkvBgX.js";
11
11
  import { t as N } from "./starter-handoff-BaK8Ss8I.js";
12
12
  import { useMemo as P, useRef as re, useState as F } from "react";
13
13
  import { Fragment as ie, jsx as I, jsxs as L } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
- import { qr as e, rr as t } from "./quick-report-DEqqwQxR.js";
2
- import { f as n, m as r } from "./i18n-Dt6xbSK6.js";
3
- import { jt as i } from "./alert-dialog-B60PF7S9.js";
4
- import { A as a, H as o, L as s, M as c, Y as l, c as u } from "./spinner-BRcNKwjH.js";
1
+ import { qr as e, rr as t } from "./quick-report-ZvrI5Jkh.js";
2
+ import { f as n, m as r } from "./i18n-D54xfDUE.js";
3
+ import { jt as i } from "./alert-dialog-CskdoiGZ.js";
4
+ import { A as a, H as o, L as s, M as c, Y as l, c as u } from "./spinner-LbVGWBQq.js";
5
5
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
6
  import { PlusIcon as p, Trash2Icon as m } from "lucide-react";
7
7
  import { alarmRuleFormVariable as h, alarmRuleFormVariableKinds as g, automationAlarmInputStates as _ } from "@overvis/hmi-shared/automation";
@@ -1,14 +1,14 @@
1
- import { Wn as e, ii as t } from "./quick-report-DEqqwQxR.js";
2
- import { h as n, m as r, n as i } from "./i18n-Dt6xbSK6.js";
3
- import { jt as a, xt as o } from "./alert-dialog-B60PF7S9.js";
4
- import { l as s } from "./spinner-BRcNKwjH.js";
5
- import { b as c } from "./panel-BCwBlB_h.js";
6
- import { r as l, t as u } from "./query-gate-DqmHsZ07.js";
7
- import { t as d } from "./breadcrumbs-D2u8KZQo.js";
8
- import { a as f, c as p, d as m, i as h, l as g, n as _, o as v, r as y, s as b, t as x, u as S } from "./catalog-list-LXuRix0-.js";
9
- import { i as C } from "./run-text-DneX9rWh.js";
10
- import { n as w } from "./entity-controls-BCuRx882.js";
11
- import { AutomationSectionTabs as T, DeleteDialog as E, ProblemBadges as D, t as O, useDashboardNames as k } from "./list-page-agHupfNb.js";
1
+ import { Wn as e, ii as t } from "./quick-report-ZvrI5Jkh.js";
2
+ import { h as n, m as r, n as i } from "./i18n-D54xfDUE.js";
3
+ import { jt as a, xt as o } from "./alert-dialog-CskdoiGZ.js";
4
+ import { l as s } from "./spinner-LbVGWBQq.js";
5
+ import { b as c } from "./panel-Cr3OXiRs.js";
6
+ import { r as l, t as u } from "./query-gate-2sU8OvEb.js";
7
+ import { t as d } from "./breadcrumbs-B5O9let7.js";
8
+ import { a as f, c as p, d as m, i as h, l as g, n as _, o as v, r as y, s as b, t as x, u as S } from "./catalog-list-3yaB4bJD.js";
9
+ import { i as C } from "./run-text-Bmkf_u0N.js";
10
+ import { n as w } from "./entity-controls-rdv-ttvP.js";
11
+ import { AutomationSectionTabs as T, DeleteDialog as E, ProblemBadges as D, t as O, useDashboardNames as k } from "./list-page-Cz5bdD8r.js";
12
12
  import { useState as A } from "react";
13
13
  import { jsx as j, jsxs as M } from "react/jsx-runtime";
14
14
  import { LayoutTemplateIcon as N, PlusIcon as P, Trash2Icon as F, WorkflowIcon as I } from "lucide-react";
@@ -1,4 +1,4 @@
1
- import { m as e } from "./i18n-Dt6xbSK6.js";
1
+ import { m as e } from "./i18n-D54xfDUE.js";
2
2
  import * as t from "react";
3
3
  import { createContext as n, useCallback as r, useContext as i, useEffect as a, useMemo as o, useState as s } from "react";
4
4
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
- import { Gn as e, Hn as t, Un as n, Wn as r } from "./quick-report-DEqqwQxR.js";
2
- import { m as i } from "./i18n-Dt6xbSK6.js";
3
- import { jt as a, rt as o, tt as s } from "./alert-dialog-B60PF7S9.js";
1
+ import { Gn as e, Hn as t, Un as n, Wn as r } from "./quick-report-ZvrI5Jkh.js";
2
+ import { m as i } from "./i18n-D54xfDUE.js";
3
+ import { jt as a, rt as o, tt as s } from "./alert-dialog-CskdoiGZ.js";
4
4
  import { useCallback as c, useReducer as l, useState as u } from "react";
5
5
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
6
6
  import { SETUP_CONFLICT_CODE as p, parseSetupConflictDetails as m } from "@overvis/hmi-shared/setup";
@@ -1,6 +1,6 @@
1
- import { m as e } from "./i18n-Dt6xbSK6.js";
2
- import { F as t, L as n, R as r, V as i, z as a } from "./panel-BCwBlB_h.js";
3
- import { n as o } from "./sections-BU7NKUOQ.js";
1
+ import { m as e } from "./i18n-D54xfDUE.js";
2
+ import { F as t, L as n, R as r, V as i, z as a } from "./panel-Cr3OXiRs.js";
3
+ import { n as o } from "./sections-BDtBUhxn.js";
4
4
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
5
5
  import { Link as u } from "@tanstack/react-router";
6
6
  // src/workspace/setup/breadcrumbs.tsx
@@ -1,4 +1,4 @@
1
- import { Nt as e, jt as t } from "./alert-dialog-B60PF7S9.js";
1
+ import { Nt as e, jt as t } from "./alert-dialog-CskdoiGZ.js";
2
2
  import { jsx as n } from "react/jsx-runtime";
3
3
  import { createLink as r } from "@tanstack/react-router";
4
4
  // src/workspace/setup/catalog-list.tsx
@@ -1,5 +1,5 @@
1
- import { Yr as e } from "./quick-report-DEqqwQxR.js";
2
- import { Nt as t } from "./alert-dialog-B60PF7S9.js";
1
+ import { Yr as e } from "./quick-report-ZvrI5Jkh.js";
2
+ import { Nt as t } from "./alert-dialog-CskdoiGZ.js";
3
3
  import { useEffect as n, useImperativeHandle as r, useRef as i } from "react";
4
4
  import { jsx as a } from "react/jsx-runtime";
5
5
  import { defaultKeymap as o, history as s, historyKeymap as c, indentWithTab as l } from "@codemirror/commands";
@@ -132,6 +132,10 @@ function O({ value: e, onChange: O, extensions: k = [], diagnostics: A = [], rea
132
132
  },
133
133
  apply(e) {
134
134
  z.current !== null && E(z.current, e);
135
+ },
136
+ run(e) {
137
+ let t = z.current;
138
+ t !== null && (e(t), t.focus());
135
139
  }
136
140
  }), []), /* @__PURE__ */ a("div", {
137
141
  ref: R,
@@ -1,13 +1,13 @@
1
1
  import { t as e } from "./rolldown-runtime-CGnMp29N.js";
2
- import { $r as t, Bn as n, Fr as r, Ft as i, Gt as a, Hn as o, Kn as s, Mr as c, Qn as l, Wn as u, Wt as d, c as f, ii as p, kt as m, o as h, zn as g } from "./quick-report-DEqqwQxR.js";
3
- import { f as _, h as v, m as y, n as b } from "./i18n-Dt6xbSK6.js";
4
- import { $ as x, B as S, H as C, K as w, R as T, U as E, V as D, X as O, Y as ee, jt as k, xt as A } from "./alert-dialog-B60PF7S9.js";
5
- import { A as te, B as j, H as M, L as N, M as P, V as F, z as I } from "./spinner-BRcNKwjH.js";
6
- import { b as ne } from "./panel-BCwBlB_h.js";
7
- import { n as re, r as L, t as ie } from "./query-gate-DqmHsZ07.js";
8
- import { t as ae } from "./breadcrumbs-D2u8KZQo.js";
9
- import { n as oe, t as se } from "./base-revision-DYCOZS0R.js";
10
- import { a as ce, c as le, d as R, i as ue, l as de, n as fe, o as pe, r as me, s as he, t as ge, u as _e } from "./catalog-list-LXuRix0-.js";
2
+ import { $r as t, Bn as n, Fr as r, Ft as i, Gt as a, Hn as o, Kn as s, Mr as c, Qn as l, Wn as u, Wt as d, c as f, ii as p, kt as m, o as h, zn as g } from "./quick-report-ZvrI5Jkh.js";
3
+ import { f as _, h as v, m as y, n as b } from "./i18n-D54xfDUE.js";
4
+ import { $ as x, B as S, H as C, K as w, R as T, U as E, V as D, X as O, Y as ee, jt as k, xt as A } from "./alert-dialog-CskdoiGZ.js";
5
+ import { A as te, B as j, H as M, L as N, M as P, V as F, z as I } from "./spinner-LbVGWBQq.js";
6
+ import { b as ne } from "./panel-Cr3OXiRs.js";
7
+ import { n as re, r as L, t as ie } from "./query-gate-2sU8OvEb.js";
8
+ import { t as ae } from "./breadcrumbs-B5O9let7.js";
9
+ import { n as oe, t as se } from "./base-revision-C-tNhqGq.js";
10
+ import { a as ce, c as le, d as R, i as ue, l as de, n as fe, o as pe, r as me, s as he, t as ge, u as _e } from "./catalog-list-3yaB4bJD.js";
11
11
  import { useQuery as ve } from "@tanstack/react-query";
12
12
  import { createElement as ye, useRef as be, useState as z } from "react";
13
13
  import { DASHBOARD_ABI_VERSION as xe, DASHBOARD_ICON_IDS as Se, DASHBOARD_MANIFEST_FILE as Ce, DEFAULT_DASHBOARD_ICON_ID as B, DEFAULT_DASHBOARD_TEMPLATE_ID as V, dashboardConfigurationIssues as we, dashboardCopyFormSchema as Te, dashboardCopyFormToInput as Ee, dashboardCreateFormToInput as De, dashboardCreateFromReportFormSchema as Oe, dashboardCreateFromReportFormToInput as ke, dashboardEntrypointUrl as Ae, dashboardManifestSchema as je, dashboardNameFormSchema as Me, dashboardSettingsFormSchema as Ne, dashboardSettingsFormToInput as Pe, dashboardSettingsFormValues as Fe, dashboardSupportedLocalesType as Ie, formatDashboardConfigurationIssues as Le, isDashboardConfigType as Re } from "@overvis/hmi-shared/dashboard";
@@ -106,6 +106,7 @@ var e = {
106
106
  }, s = {
107
107
  error_input_invalid: "Die übermittelten Daten sind ungültig.",
108
108
  error_workspace_no_access: "Sie haben keinen Zugriff auf diesen Arbeitsbereich.",
109
+ error_workspace_public_link_not_found: "Diese öffentliche Adresse ist nicht verfügbar.",
109
110
  error_workspace_suspended: "Dieser Arbeitsbereich ist gesperrt. Öffnen Sie ihn, um den Grund zu sehen.",
110
111
  error_workspace_not_owner: "Nur der Eigentümer des Arbeitsbereichs kann diese Aktion ausführen.",
111
112
  error_workspace_not_admin: "Nur Administratoren oder Eigentümer des Arbeitsbereichs können diese Aktion ausführen.",
@@ -333,6 +334,8 @@ var e = {
333
334
  error_authentication_required: "Melden Sie sich an, um fortzufahren.",
334
335
  error_admission_required: "Ihr Konto hat noch keinen Zugang. Verwenden Sie eine Einladung oder einen Zugangscode, um fortzufahren.",
335
336
  error_onboarding_required: "Vervollständigen Sie Ihr Profil in der Web-App, um fortzufahren.",
337
+ error_guest_not_allowed: "Melden Sie sich an, um das zu tun. Gäste können diesen Arbeitsbereich nur ansehen.",
338
+ error_guest_rate_limited: "Zu viele Anfragen aus Ihrem Netzwerk. Warten Sie eine Minute oder melden Sie sich an.",
336
339
  error_audit_invalid_cursor: "Diese Verlaufsseite ist nicht mehr gültig. Laden Sie den Verlauf neu.",
337
340
  error_audit_archived_workspace_required: "Wählen Sie einen gelöschten Arbeitsbereich, um seinen Verlauf anzuzeigen.",
338
341
  error_checkpoint_not_found: "Dieser Checkpoint existiert nicht mehr. Laden Sie den Verlauf neu.",
@@ -1252,6 +1255,7 @@ var e = {
1252
1255
  parameter_field_addresses_placeholder: "0, 1, 2",
1253
1256
  parameter_field_addresses_invalid: "Geben Sie 1–64 Adressen (0–65535) durch Kommas getrennt ein.",
1254
1257
  parameter_field_addresses_too_short: "Die Adressen liefern {available} Bytes, dieser Werttyp benötigt aber {required}. Jedes Register liefert 2 Bytes, jeder digitale Ausgang oder diskrete Eingang 1. Fügen Sie Adressen hinzu oder ändern Sie den Werttyp.",
1258
+ parameter_field_write_limit_exceeds_storage: "Dieses Schreiblimit passt nicht in den Speicher des Werttyps. Ändern Sie das Limit, oder ändern Sie den Werttyp und schreiben Sie den Wert danach erneut.",
1255
1259
  parameter_field_write_function: "Schreibfunktion",
1256
1260
  parameter_field_source_invalid: "Die Quellkonfiguration ist ungültig.",
1257
1261
  parameter_field_value_type_invalid: "Die Werttypkonfiguration ist ungültig.",
@@ -1444,6 +1448,7 @@ var e = {
1444
1448
  audit_target_type_workspace: "Arbeitsbereich",
1445
1449
  audit_target_type_workspace_permission: "Arbeitsbereichszugriff",
1446
1450
  audit_target_type_workspace_invitation: "Einladung",
1451
+ audit_target_type_workspace_public_link: "Öffentliche Adresse",
1447
1452
  audit_target_type_workspace_file: "Arbeitsbereichsdatei",
1448
1453
  audit_target_type_dashboard: "Dashboard",
1449
1454
  audit_target_type_endpoint: "Verbindung",
@@ -2603,6 +2608,8 @@ var e = {
2603
2608
  starter_add_row: "Hinzufügen",
2604
2609
  starter_remove_row: "{row} entfernen",
2605
2610
  starter_recipients_none: "Niemand",
2611
+ starter_unit: "Einheit",
2612
+ starter_unit_ms: "ms",
2606
2613
  starter_unit_s: "s",
2607
2614
  starter_unit_min: "min",
2608
2615
  starter_unit_h: "h",
@@ -3140,6 +3147,8 @@ var e = {
3140
3147
  edge_program_delete_description: "Das Programm wird bei der nächsten Bereitstellung vom Gerät entfernt, und das Gerät startet seine anderen Programme neu.",
3141
3148
  edge_program_delete_submit: "Löschen",
3142
3149
  edge_program_delete_toast: "Programm gelöscht",
3150
+ edge_program_indent_if_actions: "Aktionen nach IF einrücken",
3151
+ edge_program_indent_if_actions_hint: "Rückt die Aktion nach jedem IF um vier Leerzeichen ein (Umschalt+Alt+F)",
3143
3152
  edge_program_enabled_label: "Programm aktiviert",
3144
3153
  edge_program_enabled: "Aktiviert",
3145
3154
  edge_program_disabled: "Deaktiviert",
@@ -3270,11 +3279,13 @@ var e = {
3270
3279
  taskfile_error_param_map_multiple_writers: "Ein anderes Programm schreibt diesen abgebildeten Parameter. Nur ein Programm darf ihn schreiben.",
3271
3280
  taskfile_error_obsolete_file_layout: "Die Dateien auf dem Gerät verwenden ein veraltetes Layout.",
3272
3281
  taskfile_error_unknown: "Das Gerät hat den Fehler {code} gemeldet.",
3282
+ taskfile_warning_consecutive_if: "Dieses IF wird nur geprüft, wenn das IF davor wahr ist; sonst wird es übersprungen und die Aktion danach ausgeführt. Um beide Bedingungen zu verlangen, verwenden Sie IF AND.",
3273
3283
  taskfile_warning_depends_on_invalid_definition: "Diese Zeile verwendet eine Definition, die einen Fehler enthält.",
3274
3284
  taskfile_warning_filename_ignored: "Das Gerät überspringt {filename}: .MAP-, .OBJ- und .CNF-Dateien sind reserviert.",
3275
3285
  taskfile_warning_filename_invalid: "{filename} ist kein 8.3-Dateiname, daher überspringt das Gerät die Datei.",
3276
3286
  taskfile_warning_implicit_indirect_index: "Definieren Sie die Indexvariable vor ihrer Verwendung; mit einer undefinierten verhält sich das Gerät möglicherweise unvorhersehbar.",
3277
3287
  taskfile_warning_memory_log_target: "Das Protokollieren eines Parameters im Gerätespeicher schlägt fehl und stoppt die gesamte Programmprotokollierung. Bilden Sie ihn stattdessen auf ein Modbus-Register eines Geräts ab.",
3288
+ taskfile_warning_missing_return: "{name} wird mit CALL oder TRYCALL aufgerufen, aber ihre Aktionen können ohne RETURN in eine andere Funktion oder über das Dateiende hinaus weiterlaufen. Ein RETURN direkt nach IF wird nur ausgeführt, wenn die Bedingung wahr ist.",
3278
3289
  taskfile_warning_nonstandard_holding_name: "Das Gerät akzeptiert diesen Namen hier, er folgt aber nicht den üblichen Namensregeln.",
3279
3290
  taskfile_warning_string_output_limit: "Dieser String kann länger als {limit} Byte werden, und das Gerät schneidet den Rest ab.",
3280
3291
  taskfile_warning_unknown: "Mögliches Problem: {code}.",
@@ -1,5 +1,5 @@
1
- import { Qt as e, Zt as t } from "./quick-report-DEqqwQxR.js";
2
- import { f as n, p as r } from "./i18n-Dt6xbSK6.js";
1
+ import { Qt as e, Zt as t } from "./quick-report-ZvrI5Jkh.js";
2
+ import { f as n, p as r } from "./i18n-D54xfDUE.js";
3
3
  // src/workspace/automations/diagnostic-text.ts
4
4
  function i(e) {
5
5
  return String(e ?? "");
@@ -1,9 +1,9 @@
1
- import { Kn as e, Mn as t, Qn as n, Vn as r, dr as i, ii as a, ur as o, zn as s } from "./quick-report-DEqqwQxR.js";
2
- import { f as c, h as l, m as u } from "./i18n-Dt6xbSK6.js";
3
- import { H as d, K as f, Nt as p, U as m, V as h, jt as g, rt as _, tt as v } from "./alert-dialog-B60PF7S9.js";
4
- import { B as y, H as b, L as x, V as S, Y as C, c as w, z as T } from "./spinner-BRcNKwjH.js";
5
- import { M as E, j as D, v as O, y as k } from "./panel-BCwBlB_h.js";
6
- import { a as A, o as j } from "./retention-DZ0reGGe.js";
1
+ import { Kn as e, Mn as t, Qn as n, Vn as r, dr as i, ii as a, ur as o, zn as s } from "./quick-report-ZvrI5Jkh.js";
2
+ import { f as c, h as l, m as u } from "./i18n-D54xfDUE.js";
3
+ import { H as d, K as f, Nt as p, U as m, V as h, jt as g, rt as _, tt as v } from "./alert-dialog-CskdoiGZ.js";
4
+ import { B as y, H as b, L as x, V as S, Y as C, c as w, z as T } from "./spinner-LbVGWBQq.js";
5
+ import { M as E, j as D, v as O, y as k } from "./panel-Cr3OXiRs.js";
6
+ import { a as A, o as j } from "./retention-wDvnFMbN.js";
7
7
  import { useMemo as M, useState as N } from "react";
8
8
  import { jsx as P, jsxs as F } from "react/jsx-runtime";
9
9
  import { ChevronDownIcon as I, ChevronRightIcon as L, FolderIcon as R, TriangleAlertIcon as z } from "lucide-react";