@overvis/hmi-workspace-ui 0.1.1 → 0.1.2

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 (66) hide show
  1. package/dist/{alarm-list-sheAq-pb.js → alarm-list-DKFio0hg.js} +4 -4
  2. package/dist/{alarm-rule-dialog-D_ml7V0v.js → alarm-rule-dialog-mb4_nHRW.js} +10 -10
  3. package/dist/{alarm-rule-lists-DaA4soF4.js → alarm-rule-lists-CfZXTWkK.js} +4 -4
  4. package/dist/{alarm-rules-page-OFjOQ-dm.js → alarm-rules-page-DBLSkrrG.js} +11 -11
  5. package/dist/{alert-dialog-B60PF7S9.js → alert-dialog-D_iDv2lQ.js} +1 -1
  6. package/dist/{base-revision-DYCOZS0R.js → base-revision-DLF9EnGV.js} +3 -3
  7. package/dist/{breadcrumbs-D2u8KZQo.js → breadcrumbs-D5R6Fz74.js} +3 -3
  8. package/dist/{catalog-list-LXuRix0-.js → catalog-list-BkWosvh1.js} +1 -1
  9. package/dist/{code-editor-BMSyzAxu.js → code-editor-DCM0KdMJ.js} +6 -2
  10. package/dist/{dashboards-page-wnmmLpVC.js → dashboards-page-DLc11Vzu.js} +9 -9
  11. package/dist/{de-hkEr2usK.js → de-Z2er-E5v.js} +3 -0
  12. package/dist/{diagnostic-text-CsbENUNI.js → diagnostic-text-CYZFPiND.js} +2 -2
  13. package/dist/{dialogs-DsHbKgZD.js → dialogs-BX023zml.js} +11 -11
  14. package/dist/{dialogs-AtIYlNSy.js → dialogs-DEOg9lxy.js} +6 -6
  15. package/dist/{display-DSyEwQt8.js → display-VYGzneE0.js} +2 -2
  16. package/dist/{editor-language-CTfJBXMs.js → editor-language-CGENZxbI.js} +1 -1
  17. package/dist/{editor-page-BWbVGJvU.js → editor-page-CaN52OQh.js} +14 -14
  18. package/dist/{en-UW_k-Bd6.js → en-CKPPL6bQ.js} +3 -0
  19. package/dist/{entity-controls-BCuRx882.js → entity-controls-DJT47yeV.js} +3 -3
  20. package/dist/{errors-Cawve9yD.js → errors-BAWoH_5w.js} +2 -2
  21. package/dist/{footer-B9XdpVzq.js → footer-CbPMP8aq.js} +4 -4
  22. package/dist/host.js +1173 -1062
  23. package/dist/{i18n-Dt6xbSK6.js → i18n-ChjEbYEg.js} +5 -5
  24. package/dist/i18n.js +1 -1
  25. package/dist/index.js +29 -18
  26. package/dist/{list-page-agHupfNb.js → list-page-Fa29SkaJ.js} +11 -11
  27. package/dist/{location-map-renderer-kxU6cgFl.js → location-map-renderer-DvXIYc1Z.js} +1 -1
  28. package/dist/{notice-card-CH28rYUt.js → notice-card-V_0K0lO0.js} +3 -3
  29. package/dist/{page-DpdkOGGb.js → page-B5te_1Lc.js} +11 -11
  30. package/dist/{page-CZPHJUmz.js → page-BorlLnMX.js} +8 -8
  31. package/dist/{page-HCGXXGjy.js → page-DxF7FOve.js} +11 -11
  32. package/dist/{panel-BCwBlB_h.js → panel-DuZD-cBP.js} +3 -3
  33. package/dist/{pl-BokvsP3J.js → pl-DVABrn5G.js} +3 -0
  34. package/dist/{presence-code-cT6wxlTg.js → presence-code-DsabLTZs.js} +2 -2
  35. package/dist/{query-gate-DqmHsZ07.js → query-gate-BbIo1Xrj.js} +3 -3
  36. package/dist/{quick-report-DEqqwQxR.js → quick-report-BcZsfkCZ.js} +4 -4
  37. package/dist/{retention-DZ0reGGe.js → retention-C7EZsq8u.js} +2 -2
  38. package/dist/{retention-note-nequESpo.js → retention-note-CmMeHV_u.js} +4 -4
  39. package/dist/{ru-DZSlsRHq.js → ru-CBRLC_xM.js} +7 -4
  40. package/dist/{run-text-DneX9rWh.js → run-text-CDdfbKbg.js} +2 -2
  41. package/dist/{search-DP9_alSQ.js → search-C6xQ_Hvo.js} +3 -3
  42. package/dist/{sections-BU7NKUOQ.js → sections-D_SBfVzV.js} +1 -1
  43. package/dist/{select-Te6Qv1Zu.js → select-nNLG-AMz.js} +2 -2
  44. package/dist/{spinner-BRcNKwjH.js → spinner-B-KLtBjp.js} +2 -2
  45. package/dist/src/code-editor/code-editor.d.ts +3 -0
  46. package/dist/src/code-editor/taskfile-language.d.ts +22 -2
  47. package/dist/src/i18n/catalogs/de/edge-program.d.ts +3 -0
  48. package/dist/src/i18n/catalogs/de.d.ts +3 -0
  49. package/dist/src/i18n/catalogs/en/edge-program.d.ts +3 -0
  50. package/dist/src/i18n/catalogs/en.d.ts +3 -0
  51. package/dist/src/i18n/catalogs/pl/edge-program.d.ts +3 -0
  52. package/dist/src/i18n/catalogs/pl.d.ts +3 -0
  53. package/dist/src/i18n/catalogs/ru/edge-program.d.ts +5 -2
  54. package/dist/src/i18n/catalogs/ru/graphics.d.ts +2 -2
  55. package/dist/src/i18n/catalogs/ru.d.ts +7 -4
  56. package/dist/src/i18n/catalogs/uk/edge-program.d.ts +5 -2
  57. package/dist/src/i18n/catalogs/uk/graphics.d.ts +2 -2
  58. package/dist/src/i18n/catalogs/uk.d.ts +7 -4
  59. package/dist/src/version.d.ts +1 -1
  60. package/dist/src/workspace/graphics/inspector/item.d.ts +6 -6
  61. package/dist/{starter-fields-yM4B49nd.js → starter-fields-7S3LmtGa.js} +7 -7
  62. package/dist/styles.css +1 -1
  63. package/dist/ui.js +6 -6
  64. package/dist/{uk-CjXPq9Lk.js → uk-17pbVYZa.js} +7 -4
  65. package/dist/{wireguard-docs-CC8XKBR7.js → wireguard-docs-Clb-7xRY.js} +3 -3
  66. package/package.json +2 -2
@@ -47,11 +47,11 @@ function C() {
47
47
  }
48
48
  // src/i18n/messages.ts
49
49
  var w = u({
50
- en: () => import("./en-UW_k-Bd6.js"),
51
- pl: () => import("./pl-BokvsP3J.js"),
52
- de: () => import("./de-hkEr2usK.js"),
53
- uk: () => import("./uk-CjXPq9Lk.js"),
54
- ru: () => import("./ru-DZSlsRHq.js")
50
+ en: () => import("./en-CKPPL6bQ.js"),
51
+ pl: () => import("./pl-DVABrn5G.js"),
52
+ de: () => import("./de-Z2er-E5v.js"),
53
+ uk: () => import("./uk-17pbVYZa.js"),
54
+ ru: () => import("./ru-CBRLC_xM.js")
55
55
  });
56
56
  _.register(w.load);
57
57
  var ee = w.get, T = null;
package/dist/i18n.js CHANGED
@@ -1 +1 @@
1
- export { g as browserLocale, _ as detectLocale, v as getLocale, u as getTranslations, d as inTranslationLocale, y as initializeLocale, b as setLocale, f as t, p as translationLocale, t as useLanguageChange, h as useLocale, m as useTranslation } from "./i18n-Dt6xbSK6.js";
1
+ export { g as browserLocale, _ as detectLocale, v as getLocale, u as getTranslations, d as inTranslationLocale, y as initializeLocale, b as setLocale, f as t, p as translationLocale, t as useLanguageChange, h as useLocale, m as useTranslation } from "./i18n-ChjEbYEg.js";
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- import { $ as e, $n as t, $r as n, $t as r, A as i, B as a, Bn as o, Br as s, C as c, Cr as l, D as u, Dr as d, E as f, Er as p, F as m, Fn as h, Fr as g, Ft as _, G as v, Gn as y, Gr as b, Hn as x, Hr as S, I as C, In as w, J as T, Jn as E, K as D, Kn as O, Kr as k, Ln as A, M as j, Mn as M, Mr as ee, N, Nn as te, Nr as ne, O as re, On as ie, Or as ae, P as oe, Pr as se, Qn as ce, Qr as le, R as ue, Rn as de, Rr as fe, Rt as pe, S as me, Sn as he, T as P, Tr as ge, Un as _e, Ur as ve, V as ye, Vn as F, Vr as be, Wn as xe, Wr as Se, Xn as Ce, Xr as I, Xt as we, Yn as Te, Yt as Ee, Zn as De, Zr as Oe, Zt as ke, _ as Ae, a as je, b as Me, c as Ne, ct as Pe, d as Fe, ei as Ie, en as Le, er as Re, f as ze, g as Be, h as L, i as Ve, ii as R, it as He, j as Ue, k as We, kn as Ge, kr as Ke, kt as qe, l as Je, m as Ye, nr as Xe, ot as Ze, p as Qe, qn as $e, r as et, rr as tt, s as nt, t as rt, ti as it, tr as at, tt as ot, u as st, v as ct, w as lt, wn as ut, wr as dt, x as ft, xn as pt, y as mt, z as ht, zn as gt, zr as _t } from "./quick-report-DEqqwQxR.js";
2
- import { d as vt, f as z, h as yt, m as B, u as bt, v as xt } from "./i18n-Dt6xbSK6.js";
3
- import { $ as St, B as Ct, F as wt, H as Tt, I as Et, K as Dt, L as Ot, Mt as kt, N as At, Nt as V, P as jt, R as Mt, St as Nt, U as Pt, V as Ft, X as It, Y as Lt, _t as Rt, a as zt, at as Bt, bt as Vt, ct as Ht, d as Ut, dt as Wt, et as Gt, ft as Kt, gt as qt, ht as Jt, i as Yt, it as Xt, jt as H, mt as Zt, nt as Qt, o as $t, q as en, r as tn, rt as nn, s as rn, st as an, t as on, tt as sn, vt as cn, xt as ln, yt as un, z as dn } from "./alert-dialog-B60PF7S9.js";
4
- import { A as fn, B as pn, H as mn, J as hn, K as gn, L as _n, M as U, O as vn, V as yn, Y as bn, a as xn, c as Sn, k as Cn, l as wn, n as Tn, o as En, q as Dn, r as On, z as kn } from "./spinner-BRcNKwjH.js";
1
+ import { $ as e, $n as t, $r as n, $t as r, A as i, B as a, Bn as o, Br as s, C as c, Cr as l, D as u, Dr as d, E as f, Er as p, F as m, Fn as h, Fr as g, Ft as _, G as v, Gn as y, Gr as b, Hn as x, Hr as S, I as C, In as w, J as T, Jn as E, K as D, Kn as O, Kr as k, Ln as A, M as j, Mn as M, Mr as ee, N, Nn as te, Nr as ne, O as re, On as ie, Or as ae, P as oe, Pr as se, Qn as ce, Qr as le, R as ue, Rn as de, Rr as fe, Rt as pe, S as me, Sn as he, T as P, Tr as ge, Un as _e, Ur as ve, V as ye, Vn as F, Vr as be, Wn as xe, Wr as Se, Xn as Ce, Xr as I, Xt as we, Yn as Te, Yt as Ee, Zn as De, Zr as Oe, Zt as ke, _ as Ae, a as je, b as Me, c as Ne, ct as Pe, d as Fe, ei as Ie, en as Le, er as Re, f as ze, g as Be, h as L, i as Ve, ii as R, it as He, j as Ue, k as We, kn as Ge, kr as Ke, kt as qe, l as Je, m as Ye, nr as Xe, ot as Ze, p as Qe, qn as $e, r as et, rr as tt, s as nt, t as rt, ti as it, tr as at, tt as ot, u as st, v as ct, w as lt, wn as ut, wr as dt, x as ft, xn as pt, y as mt, z as ht, zn as gt, zr as _t } from "./quick-report-BcZsfkCZ.js";
2
+ import { d as vt, f as z, h as yt, m as B, u as bt, v as xt } from "./i18n-ChjEbYEg.js";
3
+ import { $ as St, B as Ct, F as wt, H as Tt, I as Et, K as Dt, L as Ot, Mt as kt, N as At, Nt as V, P as jt, R as Mt, St as Nt, U as Pt, V as Ft, X as It, Y as Lt, _t as Rt, a as zt, at as Bt, bt as Vt, ct as Ht, d as Ut, dt as Wt, et as Gt, ft as Kt, gt as qt, ht as Jt, i as Yt, it as Xt, jt as H, mt as Zt, nt as Qt, o as $t, q as en, r as tn, rt as nn, s as rn, st as an, t as on, tt as sn, vt as cn, xt as ln, yt as un, z as dn } from "./alert-dialog-D_iDv2lQ.js";
4
+ import { A as fn, B as pn, H as mn, J as hn, K as gn, L as _n, M as U, O as vn, V as yn, Y as bn, a as xn, c as Sn, k as Cn, l as wn, n as Tn, o as En, q as Dn, r as On, z as kn } from "./spinner-B-KLtBjp.js";
5
5
  import { combineParameterValuesDemands as An, groupParameterDiagnostics as jn, isCurrentParameterValue as Mn, isParameterValuePending as Nn, latestParameterReceivedAt as Pn, noDemandParameterValueState as Fn, parameterDiagnosticKey as In, parameterStatesStaleSince as Ln, parameterValueBoolean as Rn, parameterValueComparable as zn, parameterValueFlag as Bn, parameterValueNumber as Vn, parameterValueTime as Hn, parameterWriteOutcome as Un, primaryParameterDiagnosticKind as Wn } from "./parameter-values.js";
6
- import { C as Gn, E as Kn, S as qn, T as Jn, _ as Yn, b as Xn, c as Zn, g as Qn, h as $n, i as er, l as tr, m as nr, n as rr, p as ir, s as ar, t as or, v as sr, w as cr, x as lr, y as ur } from "./select-Te6Qv1Zu.js";
7
- import { a as dr, c as fr, d as pr, i as mr, l as hr, n as gr, o as _r, r as vr, s as yr, t as br, u as xr } from "./notice-card-CH28rYUt.js";
8
- import { a as Sr, b as Cr, c as wr, d as Tr, f as Er, g as Dr, h as Or, i as kr, l as Ar, m as jr, n as Mr, o as Nr, p as Pr, r as Fr, s as Ir, t as Lr, u as Rr, v as zr, y as Br } from "./footer-B9XdpVzq.js";
9
- import { t as Vr } from "./alarm-list-sheAq-pb.js";
10
- import { t as Hr } from "./diagnostic-text-CsbENUNI.js";
6
+ import { C as Gn, E as Kn, S as qn, T as Jn, _ as Yn, b as Xn, c as Zn, g as Qn, h as $n, i as er, l as tr, m as nr, n as rr, p as ir, s as ar, t as or, v as sr, w as cr, x as lr, y as ur } from "./select-nNLG-AMz.js";
7
+ import { a as dr, c as fr, d as pr, i as mr, l as hr, n as gr, o as _r, r as vr, s as yr, t as br, u as xr } from "./notice-card-V_0K0lO0.js";
8
+ import { a as Sr, b as Cr, c as wr, d as Tr, f as Er, g as Dr, h as Or, i as kr, l as Ar, m as jr, n as Mr, o as Nr, p as Pr, r as Fr, s as Ir, t as Lr, u as Rr, v as zr, y as Br } from "./footer-CbPMP8aq.js";
9
+ import { t as Vr } from "./alarm-list-DKFio0hg.js";
10
+ import { t as Hr } from "./diagnostic-text-CYZFPiND.js";
11
11
  import { t as Ur } from "./lat-lng-Bl77AGSO.js";
12
12
  import { keepPreviousData as Wr, skipToken as Gr, useQueries as Kr, useQuery as qr, useQueryClient as Jr } from "@tanstack/react-query";
13
13
  import { Component as Yr, Fragment as Xr, Suspense as Zr, createContext as Qr, lazy as $r, memo as ei, useCallback as ti, useContext as ni, useEffect as W, useEffectEvent as ri, useId as G, useLayoutEffect as ii, useMemo as K, useReducer as ai, useRef as q, useState as J, useSyncExternalStore as oi } from "react";
@@ -11288,19 +11288,30 @@ function Yg({ workspaceId: e, onDone: t, onImage: n }) {
11288
11288
  // src/workspace/graphics/dashboard-graphics.tsx
11289
11289
  var Xg = /* @__PURE__ */ new Map();
11290
11290
  function Zg({ onDiscard: e, onKeep: t }) {
11291
- let n = B();
11291
+ let n = B(), r = q(null);
11292
11292
  return /* @__PURE__ */ X(on, {
11293
11293
  open: !0,
11294
11294
  onOpenChange: (e) => {
11295
11295
  e || t();
11296
11296
  },
11297
- children: /* @__PURE__ */ Z(Yt, { children: [/* @__PURE__ */ Z(rn, { children: [/* @__PURE__ */ X(Ut, { children: n("graphics_discard") }), /* @__PURE__ */ X(zt, { children: n("graphics_discard_description") })] }), /* @__PURE__ */ Z($t, { children: [/* @__PURE__ */ X(tn, { children: n("graphics_keep_editing") }), /* @__PURE__ */ X(H, {
11298
- type: "button",
11299
- variant: "destructive",
11300
- className: "\n bg-destructive text-white\n hover:bg-destructive/90\n dark:bg-destructive/70\n dark:hover:bg-destructive/80\n ",
11301
- onClick: e,
11302
- children: n("graphics_discard_confirm")
11303
- })] })] })
11297
+ children: /* @__PURE__ */ Z(Yt, {
11298
+ initialFocus: r,
11299
+ children: [/* @__PURE__ */ Z(rn, { children: [/* @__PURE__ */ X(Ut, { children: n("graphics_discard") }), /* @__PURE__ */ X(zt, { children: n("graphics_discard_description") })] }), /* @__PURE__ */ Z($t, {
11300
+ className: "\n flex-col\n sm:flex-wrap\n ",
11301
+ children: [/* @__PURE__ */ X(H, {
11302
+ type: "button",
11303
+ variant: "outline",
11304
+ className: "\n text-destructive\n hover:bg-destructive/10 hover:text-destructive\n sm:grow\n dark:hover:bg-destructive/20\n ",
11305
+ onClick: e,
11306
+ children: n("graphics_discard_confirm")
11307
+ }), /* @__PURE__ */ X(tn, {
11308
+ ref: r,
11309
+ variant: "default",
11310
+ className: "sm:grow",
11311
+ children: n("graphics_keep_editing")
11312
+ })]
11313
+ })]
11314
+ })
11304
11315
  });
11305
11316
  }
11306
11317
  function Qg({ host: e, className: t }) {
@@ -12015,7 +12026,7 @@ var f_ = class extends Yr {
12015
12026
  render() {
12016
12027
  return this.state.failed ? null : this.props.children;
12017
12028
  }
12018
- }, p_ = $r(() => import("./location-map-renderer-kxU6cgFl.js"));
12029
+ }, p_ = $r(() => import("./location-map-renderer-DvXIYc1Z.js"));
12019
12030
  function m_({ locations: e, workspaceId: t, dashboardId: n, theme: r, unavailable: i, empty: a, retryLabel: o, clusterLabel: s, legend: c }) {
12020
12031
  let l = Pf({
12021
12032
  workspaceId: t,
@@ -1,15 +1,15 @@
1
- import { Kn as e, Qn as t, Wn as n, ii as r, zn as i } from "./quick-report-DEqqwQxR.js";
2
- import { h as a, m as o, n as s } from "./i18n-Dt6xbSK6.js";
3
- import { B as c, H as l, K as u, R as d, U as f, V as p, jt as m, xt as h } from "./alert-dialog-B60PF7S9.js";
4
- import { l as g } from "./spinner-BRcNKwjH.js";
5
- import { a as _, b as v, i as y, n as b } from "./panel-BCwBlB_h.js";
6
- import { r as x, t as S } from "./query-gate-DqmHsZ07.js";
7
- import { t as C } from "./breadcrumbs-D2u8KZQo.js";
8
- import { a as w, c as T, d as E, i as D, l as O, n as k, o as A, r as j, s as M, t as ee, u as te } from "./catalog-list-LXuRix0-.js";
9
- import { t as ne } from "./run-text-DneX9rWh.js";
10
- import { i as re, n as ie, r as ae, t as oe } from "./starter-fields-yM4B49nd.js";
1
+ import { Kn as e, Qn as t, Wn as n, ii as r, zn as i } from "./quick-report-BcZsfkCZ.js";
2
+ import { h as a, m as o, n as s } from "./i18n-ChjEbYEg.js";
3
+ import { B as c, H as l, K as u, R as d, U as f, V as p, jt as m, xt as h } from "./alert-dialog-D_iDv2lQ.js";
4
+ import { l as g } from "./spinner-B-KLtBjp.js";
5
+ import { a as _, b as v, i as y, n as b } from "./panel-DuZD-cBP.js";
6
+ import { r as x, t as S } from "./query-gate-BbIo1Xrj.js";
7
+ import { t as C } from "./breadcrumbs-D5R6Fz74.js";
8
+ import { a as w, c as T, d as E, i as D, l as O, n as k, o as A, r as j, s as M, t as ee, u as te } from "./catalog-list-BkWosvh1.js";
9
+ import { t as ne } from "./run-text-CDdfbKbg.js";
10
+ import { i as re, n as ie, r as ae, t as oe } from "./starter-fields-7S3LmtGa.js";
11
11
  import { r as N } from "./starter-handoff-BaK8Ss8I.js";
12
- import { n as P, t as F } from "./entity-controls-BCuRx882.js";
12
+ import { n as P, t as F } from "./entity-controls-DJT47yeV.js";
13
13
  import { useRef as I, useState as L } from "react";
14
14
  import { Fragment as R, jsx as z, jsxs as B } from "react/jsx-runtime";
15
15
  import { LayoutTemplateIcon as V, PlusIcon as H, Trash2Icon as U, WorkflowIcon as W } from "lucide-react";
@@ -1,4 +1,4 @@
1
- import { Nt as e } from "./alert-dialog-B60PF7S9.js";
1
+ import { Nt as e } from "./alert-dialog-D_iDv2lQ.js";
2
2
  import { useCallback as t, useEffect as n, useEffectEvent as r, useState as i } from "react";
3
3
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
4
4
  import { APIProvider as c, AdvancedMarker as l, InfoWindow as u, Map as d, useMap as f } from "@vis.gl/react-google-maps";
@@ -1,6 +1,6 @@
1
- import { m as e } from "./i18n-Dt6xbSK6.js";
2
- import { Mt as t, Nt as n, jt as r } from "./alert-dialog-B60PF7S9.js";
3
- import { t as i } from "./spinner-BRcNKwjH.js";
1
+ import { m as e } from "./i18n-ChjEbYEg.js";
2
+ import { Mt as t, Nt as n, jt as r } from "./alert-dialog-D_iDv2lQ.js";
3
+ import { t as i } from "./spinner-B-KLtBjp.js";
4
4
  import * as a from "react";
5
5
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
6
  import { ChevronRightIcon as l, CircleAlertIcon as u, InfoIcon as d, RefreshCwIcon as f, TriangleAlertIcon as p } from "lucide-react";
@@ -1,15 +1,15 @@
1
1
  import { t as e } from "./rolldown-runtime-CGnMp29N.js";
2
- import { Bn as t, Kn as n, Lt as r, Qn as i, Wn as a, ii as o, zn as s } from "./quick-report-DEqqwQxR.js";
3
- import { f as c, h as l, m as u, n as d } from "./i18n-Dt6xbSK6.js";
4
- import { $ as f, B as p, H as m, K as h, Nt as g, R as _, U as v, V as y, X as b, Y as x, jt as S, xt as C } from "./alert-dialog-B60PF7S9.js";
5
- import { G as w, V as T } from "./spinner-BRcNKwjH.js";
6
- import { b as E } from "./panel-BCwBlB_h.js";
7
- import { r as D, t as O } from "./query-gate-DqmHsZ07.js";
8
- import { i as k, n as A, t as ee } from "./display-DSyEwQt8.js";
9
- import { t as te } from "./breadcrumbs-D2u8KZQo.js";
10
- import { a as ne, i as re, n as ie, r as j, t as M } from "./presence-code-cT6wxlTg.js";
11
- import { a as N, c as P, d as F, i as I, l as L, n as R, o as z, r as B, s as V, t as H, u as U } from "./catalog-list-LXuRix0-.js";
12
- import { t as W } from "./wireguard-docs-CC8XKBR7.js";
2
+ import { Bn as t, Kn as n, Lt as r, Qn as i, Wn as a, ii as o, zn as s } from "./quick-report-BcZsfkCZ.js";
3
+ import { f as c, h as l, m as u, n as d } from "./i18n-ChjEbYEg.js";
4
+ import { $ as f, B as p, H as m, K as h, Nt as g, R as _, U as v, V as y, X as b, Y as x, jt as S, xt as C } from "./alert-dialog-D_iDv2lQ.js";
5
+ import { G as w, V as T } from "./spinner-B-KLtBjp.js";
6
+ import { b as E } from "./panel-DuZD-cBP.js";
7
+ import { r as D, t as O } from "./query-gate-BbIo1Xrj.js";
8
+ import { i as k, n as A, t as ee } from "./display-VYGzneE0.js";
9
+ import { t as te } from "./breadcrumbs-D5R6Fz74.js";
10
+ import { a as ne, i as re, n as ie, r as j, t as M } from "./presence-code-DsabLTZs.js";
11
+ import { a as N, c as P, d as F, i as I, l as L, n as R, o as z, r as B, s as V, t as H, u as U } from "./catalog-list-BkWosvh1.js";
12
+ import { t as W } from "./wireguard-docs-Clb-7xRY.js";
13
13
  import { useState as G } from "react";
14
14
  import { Fragment as K, jsx as q, jsxs as J } from "react/jsx-runtime";
15
15
  import { BookOpenIcon as Y, CableIcon as ae, PencilIcon as oe, PlusIcon as se, Trash2Icon as ce } from "lucide-react";
@@ -1,11 +1,11 @@
1
- import { Nr as e, Wn as t, fn as n, hn as r, ii as i, mn as a, pn as o } from "./quick-report-DEqqwQxR.js";
2
- import { f as s, h as c, m as l } from "./i18n-Dt6xbSK6.js";
3
- import { jt as u, xt as d } from "./alert-dialog-B60PF7S9.js";
4
- import { A as f, M as p, j as m, l as h } from "./spinner-BRcNKwjH.js";
5
- import { i as g, n as _, r as v, t as y } from "./alarm-list-sheAq-pb.js";
6
- import { M as b, a as x, b as S, i as C, n as w, r as T } from "./panel-BCwBlB_h.js";
7
- import { r as E, t as D } from "./query-gate-DqmHsZ07.js";
8
- import { i as O, n as k, t as A } from "./search-DP9_alSQ.js";
1
+ import { Nr as e, Wn as t, fn as n, hn as r, ii as i, mn as a, pn as o } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as s, h as c, m as l } from "./i18n-ChjEbYEg.js";
3
+ import { jt as u, xt as d } from "./alert-dialog-D_iDv2lQ.js";
4
+ import { A as f, M as p, j as m, l as h } from "./spinner-B-KLtBjp.js";
5
+ import { i as g, n as _, r as v, t as y } from "./alarm-list-DKFio0hg.js";
6
+ import { M as b, a as x, b as S, i as C, n as w, r as T } from "./panel-DuZD-cBP.js";
7
+ import { r as E, t as D } from "./query-gate-BbIo1Xrj.js";
8
+ import { i as O, n as k, t as A } from "./search-C6xQ_Hvo.js";
9
9
  import { jsx as j, jsxs as M } from "react/jsx-runtime";
10
10
  import { SirenIcon as N, XIcon as P } from "lucide-react";
11
11
  import { formatAppDateTime as F, parseExactAppDateTime as I } from "@overvis/hmi-shared";
@@ -1,14 +1,14 @@
1
- import { Pr as e, ii as t } from "./quick-report-DEqqwQxR.js";
2
- import { f as n, h as r, m as i, n as a } from "./i18n-Dt6xbSK6.js";
3
- import { B as o, R as s, _t as c, dt as l, ft as u, gt as d, jt as f, mt as p, rt as m, tt as h, vt as g, xt as _ } from "./alert-dialog-B60PF7S9.js";
4
- import { c as v, l as y } from "./spinner-BRcNKwjH.js";
5
- import { a as b, c as x, d as S, o as C, s as w, u as T } from "./notice-card-CH28rYUt.js";
6
- import { b as E } from "./panel-BCwBlB_h.js";
7
- import { t as D } from "./query-gate-DqmHsZ07.js";
8
- import { t as O } from "./breadcrumbs-D2u8KZQo.js";
9
- import { l as k, n as ee } from "./catalog-list-LXuRix0-.js";
10
- import { a as A, i as j, n as te, o as M, t as ne } from "./retention-DZ0reGGe.js";
11
- import { a as re, i as ie, n as ae, r as oe, t as se } from "./dialogs-AtIYlNSy.js";
1
+ import { Pr as e, ii as t } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as n, h as r, m as i, n as a } from "./i18n-ChjEbYEg.js";
3
+ import { B as o, R as s, _t as c, dt as l, ft as u, gt as d, jt as f, mt as p, rt as m, tt as h, vt as g, xt as _ } from "./alert-dialog-D_iDv2lQ.js";
4
+ import { c as v, l as y } from "./spinner-B-KLtBjp.js";
5
+ import { a as b, c as x, d as S, o as C, s as w, u as T } from "./notice-card-V_0K0lO0.js";
6
+ import { b as E } from "./panel-DuZD-cBP.js";
7
+ import { t as D } from "./query-gate-BbIo1Xrj.js";
8
+ import { t as O } from "./breadcrumbs-D5R6Fz74.js";
9
+ import { l as k, n as ee } from "./catalog-list-BkWosvh1.js";
10
+ import { a as A, i as j, n as te, o as M, t as ne } from "./retention-C7EZsq8u.js";
11
+ import { a as re, i as ie, n as ae, r as oe, t as se } from "./dialogs-DEOg9lxy.js";
12
12
  import { useEffect as N, useMemo as ce, useState as P } from "react";
13
13
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
14
14
  import { FolderIcon as le, HardDriveIcon as ue, PencilIcon as R, PlusIcon as de, Trash2Icon as z, TriangleAlertIcon as B } from "lucide-react";
@@ -1,6 +1,6 @@
1
- import { a as e, f as t, l as n, m as r, o as i } from "./i18n-Dt6xbSK6.js";
2
- import { J as a, Mt as o, N as s, Nt as c, Ot as l, at as u, ct as d, jt as f, kt as p, lt as m, st as h, ut as g, wt as _ } from "./alert-dialog-B60PF7S9.js";
3
- import { c as v, d as y, f as b, g as x, l as S, q as C, t as ee } from "./spinner-BRcNKwjH.js";
1
+ import { a as e, f as t, l as n, m as r, o as i } from "./i18n-ChjEbYEg.js";
2
+ import { J as a, Mt as o, N as s, Nt as c, Ot as l, at as u, ct as d, jt as f, kt as p, lt as m, st as h, ut as g, wt as _ } from "./alert-dialog-D_iDv2lQ.js";
3
+ import { c as v, d as y, f as b, g as x, l as S, q as C, t as ee } from "./spinner-B-KLtBjp.js";
4
4
  import * as w from "react";
5
5
  import { createContext as te, useCallback as ne, useContext as re, useEffect as T, useMemo as ie, useRef as E, useState as D } from "react";
6
6
  import { Toaster as ae } from "sonner";
@@ -3140,6 +3140,8 @@ var e = {
3140
3140
  edge_program_delete_description: "Program zostanie usunięty z urządzenia przy następnym wdrożeniu, a urządzenie uruchomi ponownie pozostałe programy.",
3141
3141
  edge_program_delete_submit: "Usuń",
3142
3142
  edge_program_delete_toast: "Usunięto program",
3143
+ edge_program_indent_if_actions: "Wcięcie akcji po IF",
3144
+ edge_program_indent_if_actions_hint: "Wcina akcję po każdym IF o cztery spacje (Shift+Alt+F)",
3143
3145
  edge_program_enabled_label: "Program włączony",
3144
3146
  edge_program_enabled: "Włączony",
3145
3147
  edge_program_disabled: "Wyłączony",
@@ -3270,6 +3272,7 @@ var e = {
3270
3272
  taskfile_error_param_map_multiple_writers: "Inny program zapisuje ten odwzorowany parametr. Zapisywać go może tylko jeden program.",
3271
3273
  taskfile_error_obsolete_file_layout: "Pliki na urządzeniu mają przestarzały układ.",
3272
3274
  taskfile_error_unknown: "Urządzenie zgłosiło błąd {code}.",
3275
+ taskfile_warning_consecutive_if: "To IF jest sprawdzane tylko wtedy, gdy IF przed nim jest prawdziwe; w przeciwnym razie jest pomijane, a akcja po nim zostaje wykonana. Aby wymagać obu warunków, użyj IF AND.",
3273
3276
  taskfile_warning_depends_on_invalid_definition: "Ten wiersz używa definicji, która zawiera błąd.",
3274
3277
  taskfile_warning_filename_ignored: "Urządzenie pomija {filename}: pliki .MAP, .OBJ i .CNF są zarezerwowane.",
3275
3278
  taskfile_warning_filename_invalid: "{filename} nie jest nazwą pliku 8.3, więc urządzenie go pomija.",
@@ -1,5 +1,5 @@
1
- import { Hn as e, Un as t, Wn as n, ii as r } from "./quick-report-DEqqwQxR.js";
2
- import { f as i } from "./i18n-Dt6xbSK6.js";
1
+ import { Hn as e, Un as t, Wn as n, ii as r } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as i } from "./i18n-ChjEbYEg.js";
3
3
  import { useEffect as a, useRef as o } from "react";
4
4
  import { jsx as s } from "react/jsx-runtime";
5
5
  // src/workspace/setup/endpoints/presence-challenge.tsx
@@ -1,6 +1,6 @@
1
- import { m as e } from "./i18n-Dt6xbSK6.js";
2
- import { Nt as t } from "./alert-dialog-B60PF7S9.js";
3
- import { t as n } from "./notice-card-CH28rYUt.js";
1
+ import { m as e } from "./i18n-ChjEbYEg.js";
2
+ import { Nt as t } from "./alert-dialog-D_iDv2lQ.js";
3
+ import { t as n } from "./notice-card-V_0K0lO0.js";
4
4
  import { jsx as r } from "react/jsx-runtime";
5
5
  // src/workspace/query-gate.tsx
6
6
  function i({ query: e, loading: t, error: n, isEmpty: r, empty: i, children: a }) {
@@ -1,8 +1,8 @@
1
- import { f as e, h as t, i as n, m as r, n as i, p as a, u as o, v as s } from "./i18n-Dt6xbSK6.js";
2
- import { B as c, H as l, K as u, M as d, Nt as f, R as p, S as m, St as h, U as g, V as _, b as v, bt as y, jt as b, v as ee, xt as te, yt as ne } from "./alert-dialog-B60PF7S9.js";
3
- import { A as re, B as x, D as ie, E as ae, F as oe, H as se, I as S, L as ce, M as le, N as ue, O as de, P as fe, R as pe, S as me, Y as he, _ as ge, a as _e, c as ve, d as ye, f as be, g as xe, i as Se, l as Ce, n as we, r as Te, y as Ee, z as De } from "./spinner-BRcNKwjH.js";
1
+ import { f as e, h as t, i as n, m as r, n as i, p as a, u as o, v as s } from "./i18n-ChjEbYEg.js";
2
+ import { B as c, H as l, K as u, M as d, Nt as f, R as p, S as m, St as h, U as g, V as _, b as v, bt as y, jt as b, v as ee, xt as te, yt as ne } from "./alert-dialog-D_iDv2lQ.js";
3
+ import { A as re, B as x, D as ie, E as ae, F as oe, H as se, I as S, L as ce, M as le, N as ue, O as de, P as fe, R as pe, S as me, Y as he, _ as ge, a as _e, c as ve, d as ye, f as be, g as xe, i as Se, l as Ce, n as we, r as Te, y as Ee, z as De } from "./spinner-B-KLtBjp.js";
4
4
  import { aggregateParameterValues as Oe, isCurrentParameterValue as ke, isParameterValuePending as Ae, noDemandParameterValueState as je, parameterDiagnosticFromResult as Me, parameterValueBoolean as Ne, parameterValueFlag as Pe } from "./parameter-values.js";
5
- import { t as Fe } from "./notice-card-CH28rYUt.js";
5
+ import { t as Fe } from "./notice-card-V_0K0lO0.js";
6
6
  import { QueryClient as Ie, skipToken as Le, useQueryClient as Re } from "@tanstack/react-query";
7
7
  import { TRPCClientError as ze, createTRPCClient as Be, httpBatchStreamLink as Ve, httpSubscriptionLink as He, splitLink as Ue } from "@trpc/client";
8
8
  import { createTRPCReact as We } from "@trpc/react-query";
@@ -1,5 +1,5 @@
1
- import { ii as e } from "./quick-report-DEqqwQxR.js";
2
- import { f as t, h as n } from "./i18n-Dt6xbSK6.js";
1
+ import { ii as e } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as t, h as n } from "./i18n-ChjEbYEg.js";
3
3
  import { useMemo as r } from "react";
4
4
  import { resolveLocalized as i } from "@overvis/hmi-shared";
5
5
  import { createRetentionResolver as a } from "@overvis/hmi-shared/workspace";
@@ -1,7 +1,7 @@
1
- import { Gn as e } from "./quick-report-DEqqwQxR.js";
2
- import { f as t, m as n } from "./i18n-Dt6xbSK6.js";
3
- import { H as r, L as i, z as a } from "./spinner-BRcNKwjH.js";
4
- import { r as o, t as s } from "./retention-DZ0reGGe.js";
1
+ import { Gn as e } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as t, m as n } from "./i18n-ChjEbYEg.js";
3
+ import { H as r, L as i, z as a } from "./spinner-B-KLtBjp.js";
4
+ import { r as o, t as s } from "./retention-C7EZsq8u.js";
5
5
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
6
  import { Link as u } from "@tanstack/react-router";
7
7
  // src/workspace/parameters/errors.ts
@@ -1633,7 +1633,7 @@ var e = {
1633
1633
  graphics_review_saved: "Проверить сохранённую версию",
1634
1634
  graphics_keep_draft: "Оставить мой черновик",
1635
1635
  graphics_use_saved: "Использовать сохранённую версию",
1636
- graphics_discard: "Отменить несохранённые изменения?",
1636
+ graphics_discard: "Сбросить несохранённые изменения?",
1637
1637
  graphics_empty: "Добавьте фигуру или символ с панели инструментов, чтобы начать схему.",
1638
1638
  graphics_empty_view: "На этой схеме пока нет объектов.",
1639
1639
  graphics_action_title: "Сведения",
@@ -1820,7 +1820,7 @@ var e = {
1820
1820
  graphics_invalid_object: "{object}: проверьте настройки.",
1821
1821
  graphics_slot_object: "Назначение параметра «{name}»",
1822
1822
  graphics_discard_description: "Ваши изменения в этом рисунке будут потеряны.",
1823
- graphics_discard_confirm: "Отменить изменения",
1823
+ graphics_discard_confirm: "Сбросить изменения",
1824
1824
  graphics_keep_editing: "Продолжить",
1825
1825
  graphics_save_warnings: "Сохранено. Некоторые объекты требуют внимания:",
1826
1826
  graphics_dismiss: "Скрыть",
@@ -3140,6 +3140,8 @@ var e = {
3140
3140
  edge_program_delete_description: "Программа будет удалена с устройства при следующем развёртывании, а устройство перезапустит остальные программы.",
3141
3141
  edge_program_delete_submit: "Удалить",
3142
3142
  edge_program_delete_toast: "Программа удалена",
3143
+ edge_program_indent_if_actions: "Отступ для действий после IF",
3144
+ edge_program_indent_if_actions_hint: "Сдвигает действие после каждого IF на четыре пробела (Shift+Alt+F)",
3143
3145
  edge_program_enabled_label: "Программа включена",
3144
3146
  edge_program_enabled: "Включена",
3145
3147
  edge_program_disabled: "Выключена",
@@ -3156,9 +3158,9 @@ var e = {
3156
3158
  edge_program_insert_example: "Начать с примера",
3157
3159
  edge_program_disabled_hint: "Эта программа выключена: она не развёртывается и проверяется отдельно.",
3158
3160
  edge_program_read_only: "Вы можете просматривать эту программу. Для редактирования нужна роль «Редактор».",
3159
- edge_program_discard_title: "Отменить несохранённые изменения?",
3161
+ edge_program_discard_title: "Сбросить несохранённые изменения?",
3160
3162
  edge_program_discard_description: "Ваши изменения в {file} будут потеряны.",
3161
- edge_program_discard_confirm: "Отменить изменения",
3163
+ edge_program_discard_confirm: "Сбросить изменения",
3162
3164
  edge_program_keep_editing: "Продолжить редактирование",
3163
3165
  edge_program_keys_hint: "Ctrl+S или ⌘S — сохранить · Esc, затем Tab — выйти из редактора",
3164
3166
  edge_program_select: "Программа",
@@ -3270,6 +3272,7 @@ var e = {
3270
3272
  taskfile_error_param_map_multiple_writers: "Этот отображённый параметр записывает другая программа. Записывать его может только одна программа.",
3271
3273
  taskfile_error_obsolete_file_layout: "Файлы на устройстве имеют устаревшую структуру.",
3272
3274
  taskfile_error_unknown: "Устройство сообщило об ошибке {code}.",
3275
+ taskfile_warning_consecutive_if: "Этот IF проверяется, только когда IF перед ним истинен; иначе он пропускается, а действие после него выполняется. Чтобы требовать оба условия, используйте IF AND.",
3273
3276
  taskfile_warning_depends_on_invalid_definition: "Эта строка использует определение с ошибкой.",
3274
3277
  taskfile_warning_filename_ignored: "Устройство пропускает {filename}: файлы .MAP, .OBJ и .CNF зарезервированы.",
3275
3278
  taskfile_warning_filename_invalid: "{filename} не является именем файла 8.3, поэтому устройство его пропускает.",
@@ -1,5 +1,5 @@
1
- import { Zt as e } from "./quick-report-DEqqwQxR.js";
2
- import { f as t, p as n } from "./i18n-Dt6xbSK6.js";
1
+ import { Zt as e } from "./quick-report-BcZsfkCZ.js";
2
+ import { f as t, p as n } from "./i18n-ChjEbYEg.js";
3
3
  import { formatAppDateTime as r } from "@overvis/hmi-shared";
4
4
  import { Value as i } from "typebox/value";
5
5
  import { automationTypedValueType as a } from "@overvis/hmi-shared/automation";
@@ -1,6 +1,6 @@
1
- import { bn as e, dn as t } from "./quick-report-DEqqwQxR.js";
2
- import { m as n } from "./i18n-Dt6xbSK6.js";
3
- import { $ as r, Mt as i, jt as a } from "./alert-dialog-B60PF7S9.js";
1
+ import { bn as e, dn as t } from "./quick-report-BcZsfkCZ.js";
2
+ import { m as n } from "./i18n-ChjEbYEg.js";
3
+ import { $ as r, Mt as i, jt as a } from "./alert-dialog-D_iDv2lQ.js";
4
4
  import { useEffect as o, useId as s, useState as c, useSyncExternalStore as l } from "react";
5
5
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
6
6
  import { BellOffIcon as f, Volume2Icon as p, VolumeXIcon as m } from "lucide-react";
@@ -1,4 +1,4 @@
1
- import { f as e } from "./i18n-Dt6xbSK6.js";
1
+ import { f as e } from "./i18n-ChjEbYEg.js";
2
2
  import { CableIcon as t, ChartLineIcon as n, FolderIcon as r, HardDriveIcon as i, HistoryIcon as a, LayoutDashboardIcon as o, ListTreeIcon as s, WorkflowIcon as c } from "lucide-react";
3
3
  // src/workspace/setup/sections.ts
4
4
  var l = [
@@ -1,5 +1,5 @@
1
- import { Nt as e } from "./alert-dialog-B60PF7S9.js";
2
- import { q as t } from "./spinner-BRcNKwjH.js";
1
+ import { Nt as e } from "./alert-dialog-D_iDv2lQ.js";
2
+ import { q as t } from "./spinner-B-KLtBjp.js";
3
3
  import * as n from "react";
4
4
  import { useEffect as r, useId as i, useState as a } from "react";
5
5
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
- import { m as e } from "./i18n-Dt6xbSK6.js";
2
- import { At as t, Ct as n, Nt as r, Ot as i, jt as a, kt as o, wt as s, yt as c } from "./alert-dialog-B60PF7S9.js";
1
+ import { m as e } from "./i18n-ChjEbYEg.js";
2
+ import { At as t, Ct as n, Nt as r, Ot as i, jt as a, kt as o, wt as s, yt as c } from "./alert-dialog-D_iDv2lQ.js";
3
3
  import * as l from "react";
4
4
  import { useMemo as u, useSyncExternalStore as d } from "react";
5
5
  import { Fragment as ee, jsx as f, jsxs as p } from "react/jsx-runtime";
@@ -1,5 +1,6 @@
1
1
  import { type Ref } from "react";
2
2
  import { type Extension } from "@codemirror/state";
3
+ import { type Command } from "@codemirror/view";
3
4
  /** A change to make in the text: an edit, then the cursor, then completion when `complete`. */
4
5
  export interface CodeEditorEdit {
5
6
  readonly from: number;
@@ -32,6 +33,8 @@ export interface CodeEditorHandle {
32
33
  text(): string;
33
34
  /** Makes a change, as a fix does, and focuses the editor. */
34
35
  apply(edit: CodeEditorEdit): void;
36
+ /** Runs a command, as its key does, and focuses the editor. */
37
+ run(command: Command): void;
35
38
  }
36
39
  /**
37
40
  * A CodeMirror 6 code editor bound to `value`: typing calls `onChange` with the whole text, and a
@@ -1,10 +1,30 @@
1
1
  import { StreamLanguage } from "@codemirror/language";
2
+ import { type Command } from "@codemirror/view";
2
3
  interface TaskfileState {
3
4
  /** Nothing but blanks and a label came before on this line. */
4
5
  lineStart: boolean;
5
6
  /** The previous word was `DEF`: this one is the defined name. */
6
7
  defining: boolean;
7
8
  }
8
- /** MC252 taskfile highlighting for `CodeEditor`. Lines are case-insensitive, as on the device. */
9
- export declare function taskfile(): StreamLanguage<TaskfileState>;
9
+ /**
10
+ * The indent for a new line after `lines`: one step right of the level of an `IF` that comes
11
+ * right before, else the level of the action before. Null when no action comes before.
12
+ */
13
+ export declare function taskfileNewLineIndent(lines: readonly string[]): string | null;
14
+ /**
15
+ * The changes that put each action an `IF` covers four spaces right of the `IF`'s level, in the
16
+ * text itself. A line the spaces would make too long for the device stays as it is.
17
+ */
18
+ export declare function taskfileIfIndentEdits(text: string): {
19
+ readonly from: number;
20
+ readonly to: number;
21
+ readonly insert: string;
22
+ }[];
23
+ /** Indents each action an `IF` covers in the text, as one change to undo. */
24
+ export declare const indentIfActions: Command;
25
+ /**
26
+ * MC252 taskfile highlighting for `CodeEditor`, with Enter indenting the action after an `IF` and
27
+ * Shift-Alt-F indenting every such action. Lines are case-insensitive, as on the device.
28
+ */
29
+ export declare function taskfile(): (StreamLanguage<TaskfileState> | import("@codemirror/state").Extension)[];
10
30
  export {};
@@ -63,6 +63,8 @@ declare const _default: {
63
63
  readonly 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.";
64
64
  readonly edge_program_delete_submit: "Löschen";
65
65
  readonly edge_program_delete_toast: "Programm gelöscht";
66
+ readonly edge_program_indent_if_actions: "Aktionen nach IF einrücken";
67
+ readonly edge_program_indent_if_actions_hint: "Rückt die Aktion nach jedem IF um vier Leerzeichen ein (Umschalt+Alt+F)";
66
68
  readonly edge_program_enabled_label: "Programm aktiviert";
67
69
  readonly edge_program_enabled: "Aktiviert";
68
70
  readonly edge_program_disabled: "Deaktiviert";
@@ -193,6 +195,7 @@ declare const _default: {
193
195
  readonly taskfile_error_param_map_multiple_writers: "Ein anderes Programm schreibt diesen abgebildeten Parameter. Nur ein Programm darf ihn schreiben.";
194
196
  readonly taskfile_error_obsolete_file_layout: "Die Dateien auf dem Gerät verwenden ein veraltetes Layout.";
195
197
  readonly taskfile_error_unknown: "Das Gerät hat den Fehler {code} gemeldet.";
198
+ readonly 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.";
196
199
  readonly taskfile_warning_depends_on_invalid_definition: "Diese Zeile verwendet eine Definition, die einen Fehler enthält.";
197
200
  readonly taskfile_warning_filename_ignored: "Das Gerät überspringt {filename}: .MAP-, .OBJ- und .CNF-Dateien sind reserviert.";
198
201
  readonly taskfile_warning_filename_invalid: "{filename} ist kein 8.3-Dateiname, daher überspringt das Gerät die Datei.";
@@ -3115,6 +3115,8 @@ declare const _default: {
3115
3115
  readonly 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.";
3116
3116
  readonly edge_program_delete_submit: "Löschen";
3117
3117
  readonly edge_program_delete_toast: "Programm gelöscht";
3118
+ readonly edge_program_indent_if_actions: "Aktionen nach IF einrücken";
3119
+ readonly edge_program_indent_if_actions_hint: "Rückt die Aktion nach jedem IF um vier Leerzeichen ein (Umschalt+Alt+F)";
3118
3120
  readonly edge_program_enabled_label: "Programm aktiviert";
3119
3121
  readonly edge_program_enabled: "Aktiviert";
3120
3122
  readonly edge_program_disabled: "Deaktiviert";
@@ -3245,6 +3247,7 @@ declare const _default: {
3245
3247
  readonly taskfile_error_param_map_multiple_writers: "Ein anderes Programm schreibt diesen abgebildeten Parameter. Nur ein Programm darf ihn schreiben.";
3246
3248
  readonly taskfile_error_obsolete_file_layout: "Die Dateien auf dem Gerät verwenden ein veraltetes Layout.";
3247
3249
  readonly taskfile_error_unknown: "Das Gerät hat den Fehler {code} gemeldet.";
3250
+ readonly 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.";
3248
3251
  readonly taskfile_warning_depends_on_invalid_definition: "Diese Zeile verwendet eine Definition, die einen Fehler enthält.";
3249
3252
  readonly taskfile_warning_filename_ignored: "Das Gerät überspringt {filename}: .MAP-, .OBJ- und .CNF-Dateien sind reserviert.";
3250
3253
  readonly taskfile_warning_filename_invalid: "{filename} ist kein 8.3-Dateiname, daher überspringt das Gerät die Datei.";
@@ -63,6 +63,8 @@ declare const _default: {
63
63
  readonly edge_program_delete_description: "The program is removed from the device at the next deploy, and the device restarts its other programs.";
64
64
  readonly edge_program_delete_submit: "Delete";
65
65
  readonly edge_program_delete_toast: "Program deleted";
66
+ readonly edge_program_indent_if_actions: "Indent actions after IF";
67
+ readonly edge_program_indent_if_actions_hint: "Indents the action after each IF by four spaces (Shift+Alt+F)";
66
68
  readonly edge_program_enabled_label: "Program enabled";
67
69
  readonly edge_program_enabled: "Enabled";
68
70
  readonly edge_program_disabled: "Disabled";
@@ -193,6 +195,7 @@ declare const _default: {
193
195
  readonly taskfile_error_param_map_multiple_writers: "Another program writes this mapped parameter. Only one program may write it.";
194
196
  readonly taskfile_error_obsolete_file_layout: "The files on the device use an obsolete layout.";
195
197
  readonly taskfile_error_unknown: "The device reported error {code}.";
198
+ readonly taskfile_warning_consecutive_if: "This IF is checked only when the IF before it is true; otherwise it is skipped and the action after it runs. To require both conditions, use IF AND.";
196
199
  readonly taskfile_warning_depends_on_invalid_definition: "This line uses a definition that has an error.";
197
200
  readonly taskfile_warning_filename_ignored: "The device skips {filename}: .MAP, .OBJ and .CNF files are reserved.";
198
201
  readonly taskfile_warning_filename_invalid: "{filename} is not an 8.3 file name, so the device skips it.";
@@ -3115,6 +3115,8 @@ declare const _default: {
3115
3115
  readonly edge_program_delete_description: "The program is removed from the device at the next deploy, and the device restarts its other programs.";
3116
3116
  readonly edge_program_delete_submit: "Delete";
3117
3117
  readonly edge_program_delete_toast: "Program deleted";
3118
+ readonly edge_program_indent_if_actions: "Indent actions after IF";
3119
+ readonly edge_program_indent_if_actions_hint: "Indents the action after each IF by four spaces (Shift+Alt+F)";
3118
3120
  readonly edge_program_enabled_label: "Program enabled";
3119
3121
  readonly edge_program_enabled: "Enabled";
3120
3122
  readonly edge_program_disabled: "Disabled";
@@ -3245,6 +3247,7 @@ declare const _default: {
3245
3247
  readonly taskfile_error_param_map_multiple_writers: "Another program writes this mapped parameter. Only one program may write it.";
3246
3248
  readonly taskfile_error_obsolete_file_layout: "The files on the device use an obsolete layout.";
3247
3249
  readonly taskfile_error_unknown: "The device reported error {code}.";
3250
+ readonly taskfile_warning_consecutive_if: "This IF is checked only when the IF before it is true; otherwise it is skipped and the action after it runs. To require both conditions, use IF AND.";
3248
3251
  readonly taskfile_warning_depends_on_invalid_definition: "This line uses a definition that has an error.";
3249
3252
  readonly taskfile_warning_filename_ignored: "The device skips {filename}: .MAP, .OBJ and .CNF files are reserved.";
3250
3253
  readonly taskfile_warning_filename_invalid: "{filename} is not an 8.3 file name, so the device skips it.";
@@ -63,6 +63,8 @@ declare const _default: {
63
63
  readonly edge_program_delete_description: "Program zostanie usunięty z urządzenia przy następnym wdrożeniu, a urządzenie uruchomi ponownie pozostałe programy.";
64
64
  readonly edge_program_delete_submit: "Usuń";
65
65
  readonly edge_program_delete_toast: "Usunięto program";
66
+ readonly edge_program_indent_if_actions: "Wcięcie akcji po IF";
67
+ readonly edge_program_indent_if_actions_hint: "Wcina akcję po każdym IF o cztery spacje (Shift+Alt+F)";
66
68
  readonly edge_program_enabled_label: "Program włączony";
67
69
  readonly edge_program_enabled: "Włączony";
68
70
  readonly edge_program_disabled: "Wyłączony";
@@ -193,6 +195,7 @@ declare const _default: {
193
195
  readonly taskfile_error_param_map_multiple_writers: "Inny program zapisuje ten odwzorowany parametr. Zapisywać go może tylko jeden program.";
194
196
  readonly taskfile_error_obsolete_file_layout: "Pliki na urządzeniu mają przestarzały układ.";
195
197
  readonly taskfile_error_unknown: "Urządzenie zgłosiło błąd {code}.";
198
+ readonly taskfile_warning_consecutive_if: "To IF jest sprawdzane tylko wtedy, gdy IF przed nim jest prawdziwe; w przeciwnym razie jest pomijane, a akcja po nim zostaje wykonana. Aby wymagać obu warunków, użyj IF AND.";
196
199
  readonly taskfile_warning_depends_on_invalid_definition: "Ten wiersz używa definicji, która zawiera błąd.";
197
200
  readonly taskfile_warning_filename_ignored: "Urządzenie pomija {filename}: pliki .MAP, .OBJ i .CNF są zarezerwowane.";
198
201
  readonly taskfile_warning_filename_invalid: "{filename} nie jest nazwą pliku 8.3, więc urządzenie go pomija.";
@@ -3115,6 +3115,8 @@ declare const _default: {
3115
3115
  readonly edge_program_delete_description: "Program zostanie usunięty z urządzenia przy następnym wdrożeniu, a urządzenie uruchomi ponownie pozostałe programy.";
3116
3116
  readonly edge_program_delete_submit: "Usuń";
3117
3117
  readonly edge_program_delete_toast: "Usunięto program";
3118
+ readonly edge_program_indent_if_actions: "Wcięcie akcji po IF";
3119
+ readonly edge_program_indent_if_actions_hint: "Wcina akcję po każdym IF o cztery spacje (Shift+Alt+F)";
3118
3120
  readonly edge_program_enabled_label: "Program włączony";
3119
3121
  readonly edge_program_enabled: "Włączony";
3120
3122
  readonly edge_program_disabled: "Wyłączony";
@@ -3245,6 +3247,7 @@ declare const _default: {
3245
3247
  readonly taskfile_error_param_map_multiple_writers: "Inny program zapisuje ten odwzorowany parametr. Zapisywać go może tylko jeden program.";
3246
3248
  readonly taskfile_error_obsolete_file_layout: "Pliki na urządzeniu mają przestarzały układ.";
3247
3249
  readonly taskfile_error_unknown: "Urządzenie zgłosiło błąd {code}.";
3250
+ readonly taskfile_warning_consecutive_if: "To IF jest sprawdzane tylko wtedy, gdy IF przed nim jest prawdziwe; w przeciwnym razie jest pomijane, a akcja po nim zostaje wykonana. Aby wymagać obu warunków, użyj IF AND.";
3248
3251
  readonly taskfile_warning_depends_on_invalid_definition: "Ten wiersz używa definicji, która zawiera błąd.";
3249
3252
  readonly taskfile_warning_filename_ignored: "Urządzenie pomija {filename}: pliki .MAP, .OBJ i .CNF są zarezerwowane.";
3250
3253
  readonly taskfile_warning_filename_invalid: "{filename} nie jest nazwą pliku 8.3, więc urządzenie go pomija.";