@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
@@ -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-DoFtc9Sn.js"),
51
+ pl: () => import("./pl-DEPfFtMO.js"),
52
+ de: () => import("./de-CPxvTPak.js"),
53
+ uk: () => import("./uk-Dbm1i2uh.js"),
54
+ ru: () => import("./ru-Ct2zNOs8.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-D54xfDUE.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-ZvrI5Jkh.js";
2
+ import { d as vt, f as z, h as yt, m as B, u as bt, v as xt } from "./i18n-D54xfDUE.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-CskdoiGZ.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-LbVGWBQq.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-Cpeslz01.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-BMNjc7qi.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-DZUQHVnt.js";
9
+ import { t as Vr } from "./alarm-list-TDg7nwkn.js";
10
+ import { t as Hr } from "./diagnostic-text-BS4rdZcE.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";
@@ -8281,13 +8281,16 @@ function Oh({ element: e, editing: t, selected: n }) {
8281
8281
  }
8282
8282
  // src/workspace/graphics/node.tsx
8283
8283
  function kh({ data: e, selected: t }) {
8284
- let n = B(), { element: r, props: i, resolved: a, bindings: o, latest: s, locale: c } = e, l = nt(), u = r.kind === "symbol" ? l.get(r.symbolId) : void 0, d = _c(), { appearance: f, width: p, height: m, rotation: h, quality: g } = a, _ = Qa(f.text, c), v = i.editing && r.name || _, y = G(), b = G(), x = Gf({
8284
+ let n = B(), { element: r, props: i, resolved: a, bindings: o, latest: s, locale: c } = e, l = nt(), u = r.kind === "symbol" ? l.get(r.symbolId) : void 0, d = _c(), { appearance: f, width: p, height: m, rotation: h, quality: g } = a, _ = Qa(f.text, c), v = i.editing && r.name || _, y = {
8285
+ "data-context-element-id": r.id,
8286
+ "data-context-label": r.name || _ || r.kind
8287
+ }, b = G(), x = G(), S = Gf({
8285
8288
  ...r,
8286
8289
  width: p,
8287
8290
  height: m,
8288
8291
  rotation: h
8289
- }), S = pp(i.workspaceId, r.kind === "image" ? r.assetId : null), C = "points" in r ? r.points.map((e) => `${String(e.x * p)},${String(e.y * m)}`).join(" ") : "";
8290
- function w(e, t) {
8292
+ }), C = pp(i.workspaceId, r.kind === "image" ? r.assetId : null), w = "points" in r ? r.points.map((e) => `${String(e.x * p)},${String(e.y * m)}`).join(" ") : "";
8293
+ function T(e, t) {
8291
8294
  if (e.buttons !== 1 || !("points" in r)) return;
8292
8295
  e.stopPropagation();
8293
8296
  let n = d.screenToFlowPosition({
@@ -8303,10 +8306,11 @@ function kh({ data: e, selected: t }) {
8303
8306
  }));
8304
8307
  }
8305
8308
  return /* @__PURE__ */ Z(Y, { children: [r.kind === "symbol" ? /* @__PURE__ */ Z("div", {
8306
- "data-graphics-placement": b,
8309
+ ...y,
8310
+ "data-graphics-placement": x,
8307
8311
  className: "absolute",
8308
8312
  children: [
8309
- /* @__PURE__ */ X("style", { children: `[data-graphics-placement="${b}"]{left:${String((x.width - p) / 2)}px;top:${String((x.height - m) / 2)}px;width:${String(p)}px;height:${String(m)}px}` }),
8313
+ /* @__PURE__ */ X("style", { children: `[data-graphics-placement="${x}"]{left:${String((S.width - p) / 2)}px;top:${String((S.height - m) / 2)}px;width:${String(p)}px;height:${String(m)}px}` }),
8310
8314
  /* @__PURE__ */ X(Mm, {
8311
8315
  element: r,
8312
8316
  definition: u,
@@ -8325,6 +8329,7 @@ function kh({ data: e, selected: t }) {
8325
8329
  })
8326
8330
  ]
8327
8331
  }) : /* @__PURE__ */ Z("svg", {
8332
+ ...y,
8328
8333
  width: p,
8329
8334
  height: m,
8330
8335
  viewBox: `0 0 ${String(p)} ${String(m)}`,
@@ -8334,7 +8339,7 @@ function kh({ data: e, selected: t }) {
8334
8339
  children: [
8335
8340
  /* @__PURE__ */ Z("title", { children: [v, g === "fresh" ? "" : ` · ${n(g === "stale" ? "graphics_stale" : "graphics_unknown")}`] }),
8336
8341
  /* @__PURE__ */ X("defs", { children: /* @__PURE__ */ X("clipPath", {
8337
- id: y,
8342
+ id: b,
8338
8343
  children: /* @__PURE__ */ X("rect", {
8339
8344
  x: 0,
8340
8345
  y: m * (1 - f.fillLevel),
@@ -8362,7 +8367,7 @@ function kh({ data: e, selected: t }) {
8362
8367
  width: p,
8363
8368
  height: m,
8364
8369
  rx: r.kind === "rounded-rectangle" ? 12 : 0,
8365
- clipPath: `url(#${y})`
8370
+ clipPath: `url(#${b})`
8366
8371
  })] }),
8367
8372
  i.editing && r.kind === "junction" && /* @__PURE__ */ X("circle", {
8368
8373
  cx: p / 2,
@@ -8382,22 +8387,22 @@ function kh({ data: e, selected: t }) {
8382
8387
  cy: m / 2,
8383
8388
  rx: p / 2,
8384
8389
  ry: m / 2,
8385
- clipPath: `url(#${y})`
8390
+ clipPath: `url(#${b})`
8386
8391
  })] }),
8387
8392
  r.kind === "polygon" && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("polygon", {
8388
- points: C,
8393
+ points: w,
8389
8394
  fill: "none"
8390
8395
  }), /* @__PURE__ */ X("polygon", {
8391
- points: C,
8392
- clipPath: `url(#${y})`
8396
+ points: w,
8397
+ clipPath: `url(#${b})`
8393
8398
  })] }),
8394
- r.kind === "image" && (S.url == null ? /* @__PURE__ */ X(Y, { children: /* @__PURE__ */ X("rect", {
8399
+ r.kind === "image" && (C.url == null ? /* @__PURE__ */ X(Y, { children: /* @__PURE__ */ X("rect", {
8395
8400
  width: p,
8396
8401
  height: m,
8397
8402
  fill: "none",
8398
8403
  strokeDasharray: "5 5"
8399
8404
  }) }) : /* @__PURE__ */ X("image", {
8400
- href: S.url,
8405
+ href: C.url,
8401
8406
  width: p,
8402
8407
  height: m,
8403
8408
  preserveAspectRatio: "xMidYMid meet"
@@ -8429,7 +8434,7 @@ function kh({ data: e, selected: t }) {
8429
8434
  e.stopPropagation(), s.current.onBeginEdit(), e.currentTarget.setPointerCapture(e.pointerId);
8430
8435
  },
8431
8436
  onPointerMove: (e) => {
8432
- w(e, t);
8437
+ T(e, t);
8433
8438
  }
8434
8439
  }, t))
8435
8440
  ]
@@ -8440,10 +8445,11 @@ function kh({ data: e, selected: t }) {
8440
8445
  selected: t
8441
8446
  })
8442
8447
  ]
8443
- }), (g !== "fresh" || r.kind === "image" && S.status === "unavailable") && /* @__PURE__ */ Z("svg", {
8444
- width: x.width,
8445
- height: x.height,
8446
- viewBox: `0 0 ${String(x.width)} ${String(x.height)}`,
8448
+ }), (g !== "fresh" || r.kind === "image" && C.status === "unavailable") && /* @__PURE__ */ Z("svg", {
8449
+ ...y,
8450
+ width: S.width,
8451
+ height: S.height,
8452
+ viewBox: `0 0 ${String(S.width)} ${String(S.height)}`,
8447
8453
  className: "pointer-events-none absolute inset-0 overflow-visible",
8448
8454
  role: "group",
8449
8455
  children: [g !== "fresh" && /* @__PURE__ */ X(hh, {
@@ -8452,15 +8458,15 @@ function kh({ data: e, selected: t }) {
8452
8458
  width: p,
8453
8459
  height: m,
8454
8460
  rotation: h
8455
- }, x) : {
8456
- x: x.width - 6,
8461
+ }, S) : {
8462
+ x: S.width - 6,
8457
8463
  y: 6
8458
8464
  },
8459
8465
  quality: g,
8460
8466
  onInspect: () => {
8461
8467
  s.current.onInspect(r);
8462
8468
  }
8463
- }), r.kind === "image" && S.status === "unavailable" && /* @__PURE__ */ X("foreignObject", {
8469
+ }), r.kind === "image" && C.status === "unavailable" && /* @__PURE__ */ X("foreignObject", {
8464
8470
  width: p,
8465
8471
  height: m,
8466
8472
  children: /* @__PURE__ */ Z("div", {
@@ -8471,7 +8477,7 @@ function kh({ data: e, selected: t }) {
8471
8477
  variant: "outline",
8472
8478
  className: "pointer-events-auto! touch-none select-none",
8473
8479
  onClick: (e) => {
8474
- e.stopPropagation(), S.retry();
8480
+ e.stopPropagation(), C.retry();
8475
8481
  },
8476
8482
  children: n("graphics_image_retry")
8477
8483
  })]
@@ -11288,19 +11294,30 @@ function Yg({ workspaceId: e, onDone: t, onImage: n }) {
11288
11294
  // src/workspace/graphics/dashboard-graphics.tsx
11289
11295
  var Xg = /* @__PURE__ */ new Map();
11290
11296
  function Zg({ onDiscard: e, onKeep: t }) {
11291
- let n = B();
11297
+ let n = B(), r = q(null);
11292
11298
  return /* @__PURE__ */ X(on, {
11293
11299
  open: !0,
11294
11300
  onOpenChange: (e) => {
11295
11301
  e || t();
11296
11302
  },
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
- })] })] })
11303
+ children: /* @__PURE__ */ Z(Yt, {
11304
+ initialFocus: r,
11305
+ children: [/* @__PURE__ */ Z(rn, { children: [/* @__PURE__ */ X(Ut, { children: n("graphics_discard") }), /* @__PURE__ */ X(zt, { children: n("graphics_discard_description") })] }), /* @__PURE__ */ Z($t, {
11306
+ className: "\n flex-col\n sm:flex-wrap\n ",
11307
+ children: [/* @__PURE__ */ X(H, {
11308
+ type: "button",
11309
+ variant: "outline",
11310
+ className: "\n text-destructive\n hover:bg-destructive/10 hover:text-destructive\n sm:grow\n dark:hover:bg-destructive/20\n ",
11311
+ onClick: e,
11312
+ children: n("graphics_discard_confirm")
11313
+ }), /* @__PURE__ */ X(tn, {
11314
+ ref: r,
11315
+ variant: "default",
11316
+ className: "sm:grow",
11317
+ children: n("graphics_keep_editing")
11318
+ })]
11319
+ })]
11320
+ })
11304
11321
  });
11305
11322
  }
11306
11323
  function Qg({ host: e, className: t }) {
@@ -11495,6 +11512,9 @@ function e_({ workspaceId: e, dashboardId: n, drawingId: r, defaultDocument: i,
11495
11512
  className: L || He ? "relative h-full outline-none" : "relative",
11496
11513
  "data-theme": "light",
11497
11514
  "data-testid": "graphics-canvas",
11515
+ "data-context-workspace-id": e,
11516
+ "data-context-dashboard-id": n,
11517
+ "data-context-drawing-id": r,
11498
11518
  children: [
11499
11519
  !L && !He && /* @__PURE__ */ X(fm, {
11500
11520
  viewBox: De,
@@ -12015,7 +12035,7 @@ var f_ = class extends Yr {
12015
12035
  render() {
12016
12036
  return this.state.failed ? null : this.props.children;
12017
12037
  }
12018
- }, p_ = $r(() => import("./location-map-renderer-kxU6cgFl.js"));
12038
+ }, p_ = $r(() => import("./location-map-renderer-Hb5N0AYH.js"));
12019
12039
  function m_({ locations: e, workspaceId: t, dashboardId: n, theme: r, unavailable: i, empty: a, retryLabel: o, clusterLabel: s, legend: c }) {
12020
12040
  let l = Pf({
12021
12041
  workspaceId: t,
@@ -17549,7 +17569,8 @@ function bS({ id: e, title: t, subtitle: n, image: r, workspaceId: i, dashboardI
17549
17569
  d == null ? null : c?.({
17550
17570
  page: d.id,
17551
17571
  connected: v,
17552
- readAgain: _
17572
+ readAgain: _,
17573
+ live: f
17553
17574
  }),
17554
17575
  d == null ? y == null ? null : /* @__PURE__ */ X(fl, { home: {
17555
17576
  path: y.path,
@@ -17557,7 +17578,8 @@ function bS({ id: e, title: t, subtitle: n, image: r, workspaceId: i, dashboardI
17557
17578
  } }) : l({
17558
17579
  page: d.id,
17559
17580
  connected: v,
17560
- readAgain: _
17581
+ readAgain: _,
17582
+ live: f
17561
17583
  })
17562
17584
  ]
17563
17585
  })
@@ -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-ZvrI5Jkh.js";
2
+ import { h as a, m as o, n as s } from "./i18n-D54xfDUE.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-CskdoiGZ.js";
4
+ import { l as g } from "./spinner-LbVGWBQq.js";
5
+ import { a as _, b as v, i as y, n as b } from "./panel-Cr3OXiRs.js";
6
+ import { r as x, t as S } from "./query-gate-2sU8OvEb.js";
7
+ import { t as C } from "./breadcrumbs-B5O9let7.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-3yaB4bJD.js";
9
+ import { t as ne } from "./run-text-Bmkf_u0N.js";
10
+ import { i as re, n as ie, r as ae, t as oe } from "./starter-fields-BHNS6IQe.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-rdv-ttvP.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-CskdoiGZ.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-D54xfDUE.js";
2
+ import { Mt as t, Nt as n, jt as r } from "./alert-dialog-CskdoiGZ.js";
3
+ import { t as i } from "./spinner-LbVGWBQq.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,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-ZvrI5Jkh.js";
2
+ import { f as s, h as c, m as l } from "./i18n-D54xfDUE.js";
3
+ import { jt as u, xt as d } from "./alert-dialog-CskdoiGZ.js";
4
+ import { A as f, M as p, j as m, l as h } from "./spinner-LbVGWBQq.js";
5
+ import { i as g, n as _, r as v, t as y } from "./alarm-list-TDg7nwkn.js";
6
+ import { M as b, a as x, b as S, i as C, n as w, r as T } from "./panel-Cr3OXiRs.js";
7
+ import { r as E, t as D } from "./query-gate-2sU8OvEb.js";
8
+ import { i as O, n as k, t as A } from "./search-ADhiRT_S.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-ZvrI5Jkh.js";
2
+ import { f as n, h as r, m as i, n as a } from "./i18n-D54xfDUE.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-CskdoiGZ.js";
4
+ import { c as v, l as y } from "./spinner-LbVGWBQq.js";
5
+ import { a as b, c as x, d as S, o as C, s as w, u as T } from "./notice-card-BMNjc7qi.js";
6
+ import { b as E } from "./panel-Cr3OXiRs.js";
7
+ import { t as D } from "./query-gate-2sU8OvEb.js";
8
+ import { t as O } from "./breadcrumbs-B5O9let7.js";
9
+ import { l as k, n as ee } from "./catalog-list-3yaB4bJD.js";
10
+ import { a as A, i as j, n as te, o as M, t as ne } from "./retention-wDvnFMbN.js";
11
+ import { a as re, i as ie, n as ae, r as oe, t as se } from "./dialogs-BUyPGimM.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,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-ZvrI5Jkh.js";
3
+ import { f as c, h as l, m as u, n as d } from "./i18n-D54xfDUE.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-CskdoiGZ.js";
5
+ import { G as w, V as T } from "./spinner-LbVGWBQq.js";
6
+ import { b as E } from "./panel-Cr3OXiRs.js";
7
+ import { r as D, t as O } from "./query-gate-2sU8OvEb.js";
8
+ import { i as k, n as A, t as ee } from "./display-DmldtHdd.js";
9
+ import { t as te } from "./breadcrumbs-B5O9let7.js";
10
+ import { a as ne, i as re, n as ie, r as j, t as M } from "./presence-code-DIKs9fBe.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-3yaB4bJD.js";
12
+ import { t as W } from "./wireguard-docs-DIBtCviv.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,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-D54xfDUE.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-CskdoiGZ.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-LbVGWBQq.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";
@@ -106,6 +106,7 @@ var e = {
106
106
  }, s = {
107
107
  error_input_invalid: "Przesłane dane są nieprawidłowe.",
108
108
  error_workspace_no_access: "Nie masz dostępu do tego obszaru roboczego.",
109
+ error_workspace_public_link_not_found: "Ten publiczny adres jest niedostępny.",
109
110
  error_workspace_suspended: "Ten obszar roboczy jest zawieszony. Otwórz go, aby zobaczyć powód.",
110
111
  error_workspace_not_owner: "Tylko właściciel obszaru może to zrobić.",
111
112
  error_workspace_not_admin: "Tylko administrator lub właściciel obszaru może to zrobić.",
@@ -333,6 +334,8 @@ var e = {
333
334
  error_authentication_required: "Zaloguj się, aby kontynuować.",
334
335
  error_admission_required: "Twoje konto nie ma jeszcze dostępu. Użyj zaproszenia lub kodu dostępu, aby kontynuować.",
335
336
  error_onboarding_required: "Uzupełnij swój profil w aplikacji internetowej, aby kontynuować.",
337
+ error_guest_not_allowed: "Zaloguj się, aby to zrobić. Goście mogą tylko przeglądać ten obszar roboczy.",
338
+ error_guest_rate_limited: "Zbyt wiele żądań z Twojej sieci. Odczekaj minutę lub zaloguj się.",
336
339
  error_audit_invalid_cursor: "Ta strona historii jest już nieaktualna. Wczytaj historię ponownie.",
337
340
  error_audit_archived_workspace_required: "Wybierz usunięty obszar roboczy, aby wyświetlić jego historię.",
338
341
  error_checkpoint_not_found: "Ten punkt kontrolny już nie istnieje. Odśwież historię.",
@@ -1252,6 +1255,7 @@ var e = {
1252
1255
  parameter_field_addresses_placeholder: "0, 1, 2",
1253
1256
  parameter_field_addresses_invalid: "Wpisz 1–64 adresy (0–65535), oddzielone przecinkami.",
1254
1257
  parameter_field_addresses_too_short: "Adresy dostarczają {available} B, a ten typ wartości wymaga {required} B. Każdy rejestr dostarcza 2 bajty, każde wyjście lub wejście dyskretne 1. Dodaj adresy lub zmień typ wartości.",
1258
+ parameter_field_write_limit_exceeds_storage: "Ten limit zapisu nie mieści się w pamięci typu wartości. Zmień limit albo zmień typ wartości i zapisz wartość ponownie.",
1255
1259
  parameter_field_write_function: "Funkcja zapisu",
1256
1260
  parameter_field_source_invalid: "Konfiguracja źródła jest nieprawidłowa.",
1257
1261
  parameter_field_value_type_invalid: "Konfiguracja typu wartości jest nieprawidłowa.",
@@ -1444,6 +1448,7 @@ var e = {
1444
1448
  audit_target_type_workspace: "Obszar roboczy",
1445
1449
  audit_target_type_workspace_permission: "Dostęp do obszaru roboczego",
1446
1450
  audit_target_type_workspace_invitation: "Zaproszenie",
1451
+ audit_target_type_workspace_public_link: "Adres publiczny",
1447
1452
  audit_target_type_workspace_file: "Plik obszaru roboczego",
1448
1453
  audit_target_type_dashboard: "Pulpit",
1449
1454
  audit_target_type_endpoint: "Połączenie",
@@ -2603,6 +2608,8 @@ var e = {
2603
2608
  starter_add_row: "Dodaj",
2604
2609
  starter_remove_row: "Usuń: {row}",
2605
2610
  starter_recipients_none: "Nikt",
2611
+ starter_unit: "Jednostka",
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: "Program zostanie usunięty z urządzenia przy następnym wdrożeniu, a urządzenie uruchomi ponownie pozostałe programy.",
3141
3148
  edge_program_delete_submit: "Usuń",
3142
3149
  edge_program_delete_toast: "Usunięto program",
3150
+ edge_program_indent_if_actions: "Wcięcie akcji po IF",
3151
+ edge_program_indent_if_actions_hint: "Wcina akcję po każdym IF o cztery spacje (Shift+Alt+F)",
3143
3152
  edge_program_enabled_label: "Program włączony",
3144
3153
  edge_program_enabled: "Włączony",
3145
3154
  edge_program_disabled: "Wyłączony",
@@ -3270,11 +3279,13 @@ var e = {
3270
3279
  taskfile_error_param_map_multiple_writers: "Inny program zapisuje ten odwzorowany parametr. Zapisywać go może tylko jeden program.",
3271
3280
  taskfile_error_obsolete_file_layout: "Pliki na urządzeniu mają przestarzały układ.",
3272
3281
  taskfile_error_unknown: "Urządzenie zgłosiło błąd {code}.",
3282
+ 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
3283
  taskfile_warning_depends_on_invalid_definition: "Ten wiersz używa definicji, która zawiera błąd.",
3274
3284
  taskfile_warning_filename_ignored: "Urządzenie pomija {filename}: pliki .MAP, .OBJ i .CNF są zarezerwowane.",
3275
3285
  taskfile_warning_filename_invalid: "{filename} nie jest nazwą pliku 8.3, więc urządzenie go pomija.",
3276
3286
  taskfile_warning_implicit_indirect_index: "Zdefiniuj zmienną indeksu przed jej użyciem; z niezdefiniowaną urządzenie może działać nieprzewidywalnie.",
3277
3287
  taskfile_warning_memory_log_target: "Rejestrowanie parametru w pamięci urządzenia kończy się błędem i zatrzymuje całe rejestrowanie programów. Zamiast tego odwzoruj go na rejestr Modbus urządzenia.",
3288
+ taskfile_warning_missing_return: "{name} jest wywoływana przez CALL lub TRYCALL, ale jej akcje mogą bez RETURN przejść do innej funkcji lub poza koniec pliku. RETURN tuż po IF wykonuje się tylko wtedy, gdy warunek jest prawdziwy.",
3278
3289
  taskfile_warning_nonstandard_holding_name: "Urządzenie przyjmuje tu tę nazwę, ale nie jest ona zgodna ze zwykłymi zasadami nazewnictwa.",
3279
3290
  taskfile_warning_string_output_limit: "Ten ciąg może przekroczyć {limit} bajtów, a urządzenie obetnie resztę.",
3280
3291
  taskfile_warning_unknown: "Możliwy problem: {code}.",
@@ -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-ZvrI5Jkh.js";
2
+ import { f as i } from "./i18n-D54xfDUE.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-D54xfDUE.js";
2
+ import { Nt as t } from "./alert-dialog-CskdoiGZ.js";
3
+ import { t as n } from "./notice-card-BMNjc7qi.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 }) {