@object-ui/plugin-designer 16.1.0 → 17.1.0

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 (72) hide show
  1. package/CHANGELOG.md +288 -0
  2. package/dist/AppCreationWizard.d.ts +1 -0
  3. package/dist/AppCreationWizard.d.ts.map +1 -0
  4. package/dist/BrandingEditor.d.ts +1 -0
  5. package/dist/BrandingEditor.d.ts.map +1 -0
  6. package/dist/CollaborationProvider.d.ts +1 -0
  7. package/dist/CollaborationProvider.d.ts.map +1 -0
  8. package/dist/DashboardEditor.d.ts +6 -5
  9. package/dist/DashboardEditor.d.ts.map +1 -0
  10. package/dist/DataModelDesigner.d.ts +1 -0
  11. package/dist/DataModelDesigner.d.ts.map +1 -0
  12. package/dist/EditorModeToggle.d.ts +1 -0
  13. package/dist/EditorModeToggle.d.ts.map +1 -0
  14. package/dist/FieldDesigner.d.ts +12 -1
  15. package/dist/FieldDesigner.d.ts.map +1 -0
  16. package/dist/MetadataFieldsPage.d.ts +1 -0
  17. package/dist/MetadataFieldsPage.d.ts.map +1 -0
  18. package/dist/MetadataObjectsPage.d.ts +1 -0
  19. package/dist/MetadataObjectsPage.d.ts.map +1 -0
  20. package/dist/NavigationDesigner.d.ts +1 -0
  21. package/dist/NavigationDesigner.d.ts.map +1 -0
  22. package/dist/ObjectManager.d.ts +1 -0
  23. package/dist/ObjectManager.d.ts.map +1 -0
  24. package/dist/PageDesigner.d.ts +1 -0
  25. package/dist/PageDesigner.d.ts.map +1 -0
  26. package/dist/ProcessDesigner.d.ts +1 -0
  27. package/dist/ProcessDesigner.d.ts.map +1 -0
  28. package/dist/ReportDesigner.d.ts +1 -0
  29. package/dist/ReportDesigner.d.ts.map +1 -0
  30. package/dist/__tests__/__mocks__/plugin-form.d.ts +1 -0
  31. package/dist/__tests__/__mocks__/plugin-form.d.ts.map +1 -0
  32. package/dist/__tests__/__mocks__/plugin-grid.d.ts +1 -0
  33. package/dist/__tests__/__mocks__/plugin-grid.d.ts.map +1 -0
  34. package/dist/components/ConfirmDialog.d.ts +1 -0
  35. package/dist/components/ConfirmDialog.d.ts.map +1 -0
  36. package/dist/components/HistoryPanel.d.ts +1 -0
  37. package/dist/components/HistoryPanel.d.ts.map +1 -0
  38. package/dist/components/Minimap.d.ts +1 -0
  39. package/dist/components/Minimap.d.ts.map +1 -0
  40. package/dist/components/PropertyEditor.d.ts +1 -0
  41. package/dist/components/PropertyEditor.d.ts.map +1 -0
  42. package/dist/components/VersionHistory.d.ts +1 -0
  43. package/dist/components/VersionHistory.d.ts.map +1 -0
  44. package/dist/components/index.d.ts +1 -0
  45. package/dist/components/index.d.ts.map +1 -0
  46. package/dist/hooks/index.d.ts +1 -0
  47. package/dist/hooks/index.d.ts.map +1 -0
  48. package/dist/hooks/useCanvasPanZoom.d.ts +1 -0
  49. package/dist/hooks/useCanvasPanZoom.d.ts.map +1 -0
  50. package/dist/hooks/useClipboard.d.ts +1 -0
  51. package/dist/hooks/useClipboard.d.ts.map +1 -0
  52. package/dist/hooks/useConfirmDialog.d.ts +1 -0
  53. package/dist/hooks/useConfirmDialog.d.ts.map +1 -0
  54. package/dist/hooks/useDesignerHistory.d.ts +1 -0
  55. package/dist/hooks/useDesignerHistory.d.ts.map +1 -0
  56. package/dist/hooks/useDesignerTranslation.d.ts +8 -1
  57. package/dist/hooks/useDesignerTranslation.d.ts.map +1 -0
  58. package/dist/hooks/useMultiSelect.d.ts +1 -0
  59. package/dist/hooks/useMultiSelect.d.ts.map +1 -0
  60. package/dist/hooks/useUndoRedo.d.ts +1 -0
  61. package/dist/hooks/useUndoRedo.d.ts.map +1 -0
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +208 -221
  65. package/dist/index.umd.cjs +2 -2
  66. package/dist/pages/CreateAppPage.d.ts +1 -0
  67. package/dist/pages/CreateAppPage.d.ts.map +1 -0
  68. package/dist/pages/DashboardDesignPage.d.ts +1 -0
  69. package/dist/pages/DashboardDesignPage.d.ts.map +1 -0
  70. package/dist/pages/EditAppPage.d.ts +1 -0
  71. package/dist/pages/EditAppPage.d.ts.map +1 -0
  72. package/package.json +12 -11
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
1
  import { ComponentRegistry as e, ValueDataSource as t } from "@object-ui/core";
2
2
  import n, { createContext as r, useCallback as i, useContext as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
3
- import { AlertTriangle as u, ArrowLeft as d, AtSign as f, BarChart3 as p, Calendar as m, Check as h, ChevronDown as g, ChevronLeft as _, ChevronRight as v, ChevronUp as y, Clipboard as b, Clock as x, Code as S, Columns3 as C, Copy as w, Database as T, Diamond as E, Download as D, Eye as O, EyeOff as k, FileText as A, FolderOpen as j, GitBranch as M, Globe as N, Grid3X3 as P, GripVertical as F, Hash as I, History as L, Image as R, ImageIcon as z, Layers as ee, Layout as B, LayoutDashboard as te, LayoutGrid as ne, LayoutTemplate as re, LineChart as ie, Link as V, Link2 as ae, ListOrdered as H, Lock as oe, Map as se, MapPin as ce, Maximize2 as le, Minus as ue, Moon as de, MousePointerClick as fe, Palette as pe, PanelLeft as me, PanelLeftClose as he, PanelRightClose as ge, PanelRightOpen as U, Pencil as W, Phone as _e, PieChart as ve, Play as ye, Plus as be, Redo2 as xe, RotateCcw as Se, Search as Ce, SlidersHorizontal as we, Square as Te, Star as Ee, Sun as De, Table2 as Oe, ToggleLeft as ke, Trash2 as Ae, TrendingUp as je, Type as Me, Undo2 as Ne, Upload as Pe, User as Fe, Users as Ie, X as Le, ZoomIn as Re, ZoomOut as ze } from "lucide-react";
3
+ import { AlertTriangle as u, ArrowLeft as d, AtSign as f, BarChart3 as p, Calendar as m, Check as h, ChevronDown as g, ChevronLeft as _, ChevronRight as v, ChevronUp as y, Clipboard as b, Clock as x, Code as S, Columns3 as C, Copy as w, Database as T, Diamond as E, Download as D, Eye as O, EyeOff as k, FileText as A, FolderOpen as j, GitBranch as M, Globe as N, Grid3X3 as P, GripVertical as F, Hash as I, History as L, Image as R, ImageIcon as z, Layers as ee, Layout as B, LayoutDashboard as te, LayoutGrid as ne, LayoutTemplate as re, LineChart as ie, Link as V, Link2 as ae, ListOrdered as H, Lock as oe, Map as se, MapPin as ce, Maximize2 as le, Minus as ue, Moon as de, MousePointerClick as fe, Palette as pe, PanelLeft as me, PanelLeftClose as he, PanelRightClose as ge, PanelRightOpen as U, Pencil as W, Phone as _e, PieChart as ve, Play as ye, Plus as be, Puzzle as xe, Redo2 as Se, RotateCcw as Ce, Search as we, SlidersHorizontal as Te, Square as Ee, Star as De, Sun as Oe, Table2 as ke, ToggleLeft as Ae, Trash2 as je, TrendingUp as Me, Type as Ne, Undo2 as Pe, Upload as Fe, User as Ie, Users as Le, X as Re, ZoomIn as ze, ZoomOut as Be } from "lucide-react";
4
4
  import { clsx as G } from "clsx";
5
5
  import { twMerge as K } from "tailwind-merge";
6
6
  import { Fragment as q, jsx as J, jsxs as Y } from "react/jsx-runtime";
7
- import { isValidAppName as Be, wizardDraftToAppSchema as Ve } from "@object-ui/types";
8
- import { resolveI18nLabel as He, useAdapter as Ue, useMetadata as We } from "@object-ui/react";
9
- import { useObjectTranslation as Ge } from "@object-ui/i18n";
10
- import { ObjectGrid as Ke } from "@object-ui/plugin-grid";
11
- import { DrawerForm as qe, ModalForm as Je } from "@object-ui/plugin-form";
12
- import { useNavigate as Ye, useParams as Xe } from "react-router-dom";
13
- import { toast as Ze } from "sonner";
14
- import { MetadataClient as Qe } from "@object-ui/data-objectstack";
7
+ import { DESIGNER_FIELD_TYPES as Ve, isValidAppName as He, wizardDraftToAppSchema as Ue } from "@object-ui/types";
8
+ import { resolveI18nLabel as We, useAdapter as Ge, useMetadata as Ke } from "@object-ui/react";
9
+ import { createSafeTranslation as qe } from "@object-ui/i18n";
10
+ import { ObjectGrid as Je } from "@object-ui/plugin-grid";
11
+ import { DrawerForm as Ye, ModalForm as Xe } from "@object-ui/plugin-form";
12
+ import { useNavigate as Ze, useParams as Qe } from "react-router-dom";
13
+ import { toast as $e } from "sonner";
14
+ import { MetadataClient as et } from "@object-ui/data-objectstack";
15
15
  //#region src/hooks/useUndoRedo.ts
16
- function $e(e) {
16
+ function tt(e) {
17
17
  return e || (typeof window < "u" && window.sessionStorage ? window.sessionStorage : null);
18
18
  }
19
- function et(e, t = {}) {
20
- let { maxHistory: n = 50, persistKey: r, storage: a } = t, s = $e(a), u = (() => {
19
+ function nt(e, t = {}) {
20
+ let { maxHistory: n = 50, persistKey: r, storage: a } = t, s = tt(a), u = (() => {
21
21
  if (!r || !s) return null;
22
22
  try {
23
23
  let e = s.getItem(r);
@@ -93,7 +93,7 @@ function et(e, t = {}) {
93
93
  }
94
94
  //#endregion
95
95
  //#region src/hooks/useConfirmDialog.ts
96
- function tt() {
96
+ function rt() {
97
97
  let [e, t] = l(!1), [n, r] = l(""), [a, o] = l(""), s = c(null);
98
98
  return {
99
99
  isOpen: e,
@@ -112,7 +112,7 @@ function tt() {
112
112
  }
113
113
  //#endregion
114
114
  //#region src/hooks/useMultiSelect.ts
115
- function nt() {
115
+ function it() {
116
116
  let [e, t] = l(/* @__PURE__ */ new Set());
117
117
  return {
118
118
  selectedIds: e,
@@ -137,7 +137,7 @@ function nt() {
137
137
  }
138
138
  //#endregion
139
139
  //#region src/hooks/useClipboard.ts
140
- function rt() {
140
+ function at() {
141
141
  let [e, t] = l(null);
142
142
  return {
143
143
  clipboard: e,
@@ -150,7 +150,7 @@ function rt() {
150
150
  }
151
151
  //#endregion
152
152
  //#region src/hooks/useCanvasPanZoom.ts
153
- function it(e = {}) {
153
+ function ot(e = {}) {
154
154
  let { minZoom: t = .25, maxZoom: n = 3, zoomStep: r = .1, initialZoom: a = 1 } = e, [o, s] = l(a), [u, d] = l({
155
155
  x: 0,
156
156
  y: 0
@@ -207,10 +207,10 @@ function it(e = {}) {
207
207
  }
208
208
  //#endregion
209
209
  //#region src/components/ConfirmDialog.tsx
210
- function at(...e) {
210
+ function st(...e) {
211
211
  return K(G(e));
212
212
  }
213
- function ot({ isOpen: e, title: t, message: n, confirmLabel: r = "Delete", cancelLabel: i = "Cancel", destructive: a = !0, onConfirm: s, onCancel: l }) {
213
+ function ct({ isOpen: e, title: t, message: n, confirmLabel: r = "Delete", cancelLabel: i = "Cancel", destructive: a = !0, onConfirm: s, onCancel: l }) {
214
214
  let d = c(null);
215
215
  return o(() => {
216
216
  let t = d.current;
@@ -248,7 +248,7 @@ function ot({ isOpen: e, title: t, message: n, confirmLabel: r = "Delete", cance
248
248
  children: i
249
249
  }), /* @__PURE__ */ J("button", {
250
250
  onClick: s,
251
- className: at("px-4 py-2 text-sm rounded-md font-medium", a ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "bg-primary text-primary-foreground hover:bg-primary/90"),
251
+ className: st("px-4 py-2 text-sm rounded-md font-medium", a ? "bg-destructive text-destructive-foreground hover:bg-destructive/90" : "bg-primary text-primary-foreground hover:bg-primary/90"),
252
252
  autoFocus: !0,
253
253
  children: r
254
254
  })]
@@ -259,10 +259,10 @@ function ot({ isOpen: e, title: t, message: n, confirmLabel: r = "Delete", cance
259
259
  }
260
260
  //#endregion
261
261
  //#region src/components/PropertyEditor.tsx
262
- function st(...e) {
262
+ function lt(...e) {
263
263
  return K(G(e));
264
264
  }
265
- function ct({ title: e = "Properties", fields: t, onChange: n, className: r }) {
265
+ function ut({ title: e = "Properties", fields: t, onChange: n, className: r }) {
266
266
  let [a, o] = l(/* @__PURE__ */ new Set()), s = i((e) => {
267
267
  o((t) => {
268
268
  let n = new Set(t);
@@ -273,7 +273,7 @@ function ct({ title: e = "Properties", fields: t, onChange: n, className: r }) {
273
273
  return e[n] || (e[n] = []), e[n].push(t), e;
274
274
  }, {});
275
275
  return /* @__PURE__ */ Y("div", {
276
- className: st("flex flex-col", r),
276
+ className: lt("flex flex-col", r),
277
277
  role: "region",
278
278
  "aria-label": e,
279
279
  children: [/* @__PURE__ */ J("div", {
@@ -289,7 +289,7 @@ function ct({ title: e = "Properties", fields: t, onChange: n, className: r }) {
289
289
  children: [a.has(e) ? /* @__PURE__ */ J(v, { className: "h-3 w-3" }) : /* @__PURE__ */ J(g, { className: "h-3 w-3" }), e]
290
290
  }), !a.has(e) && /* @__PURE__ */ J("div", {
291
291
  className: "px-3 pb-2 space-y-2",
292
- children: t.map((e) => /* @__PURE__ */ J(lt, {
292
+ children: t.map((e) => /* @__PURE__ */ J(dt, {
293
293
  field: e,
294
294
  onChange: n
295
295
  }, e.name))
@@ -301,7 +301,7 @@ function ct({ title: e = "Properties", fields: t, onChange: n, className: r }) {
301
301
  })]
302
302
  });
303
303
  }
304
- function lt({ field: e, onChange: t }) {
304
+ function dt({ field: e, onChange: t }) {
305
305
  let n = (n) => {
306
306
  t(e.name, n);
307
307
  };
@@ -372,13 +372,13 @@ function lt({ field: e, onChange: t }) {
372
372
  }
373
373
  //#endregion
374
374
  //#region src/components/Minimap.tsx
375
- function ut(...e) {
375
+ function ft(...e) {
376
376
  return K(G(e));
377
377
  }
378
- function dt({ items: e, canvasWidth: t, canvasHeight: n, position: r = "bottom-right", size: i = 150, className: a }) {
378
+ function pt({ items: e, canvasWidth: t, canvasHeight: n, position: r = "bottom-right", size: i = 150, className: a }) {
379
379
  let o = Math.min(i / t, i / n), s = t * o, c = n * o;
380
380
  return /* @__PURE__ */ J("div", {
381
- className: ut("absolute border rounded bg-background/90 shadow-sm overflow-hidden", {
381
+ className: ft("absolute border rounded bg-background/90 shadow-sm overflow-hidden", {
382
382
  "top-left": "top-2 left-2",
383
383
  "top-right": "top-2 right-2",
384
384
  "bottom-left": "bottom-2 left-2",
@@ -408,12 +408,12 @@ function dt({ items: e, canvasWidth: t, canvasHeight: n, position: r = "bottom-r
408
408
  }
409
409
  //#endregion
410
410
  //#region src/CollaborationProvider.tsx
411
- function ft(...e) {
411
+ function mt(...e) {
412
412
  return K(G(e));
413
413
  }
414
- var pt = r(null);
415
- pt.displayName = "CollaborationContext";
416
- function mt({ config: e, user: t, onOperation: n, onPresenceChange: r, children: a }) {
414
+ var ht = r(null);
415
+ ht.displayName = "CollaborationContext";
416
+ function gt({ config: e, user: t, onOperation: n, onPresenceChange: r, children: a }) {
417
417
  let u = c(null), [d, f] = l([]), [p, m] = l("disconnected"), h = c(0), g = c(null);
418
418
  o(() => {
419
419
  if (!e.enabled || !t || !e.serverUrl || !(typeof WebSocket < "u")) return;
@@ -463,7 +463,7 @@ function mt({ config: e, user: t, onOperation: n, onPresenceChange: r, children:
463
463
  userId: t.id,
464
464
  userName: t.name,
465
465
  avatar: t.avatar,
466
- color: _t(t.id),
466
+ color: yt(t.id),
467
467
  status: "active",
468
468
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
469
469
  }, ...d], [
@@ -502,16 +502,16 @@ function mt({ config: e, user: t, onOperation: n, onPresenceChange: r, children:
502
502
  t?.id,
503
503
  p
504
504
  ]);
505
- return /* @__PURE__ */ J(pt.Provider, {
505
+ return /* @__PURE__ */ J(ht.Provider, {
506
506
  value: b,
507
507
  children: a
508
508
  });
509
509
  }
510
- function ht() {
511
- return a(pt);
510
+ function _t() {
511
+ return a(ht);
512
512
  }
513
- function gt({ className: e }) {
514
- let t = a(pt);
513
+ function vt({ className: e }) {
514
+ let t = a(ht);
515
515
  if (!t) return null;
516
516
  let { connectionState: n, users: r } = t, i = {
517
517
  connected: {
@@ -532,7 +532,7 @@ function gt({ className: e }) {
532
532
  }
533
533
  }, { color: o, label: s } = i[n] ?? i.disconnected;
534
534
  return /* @__PURE__ */ Y("div", {
535
- className: ft("flex items-center gap-2 text-xs", e),
535
+ className: mt("flex items-center gap-2 text-xs", e),
536
536
  role: "status",
537
537
  "aria-live": "polite",
538
538
  "aria-label": `Collaboration: ${s}`,
@@ -550,7 +550,7 @@ function gt({ className: e }) {
550
550
  ]
551
551
  });
552
552
  }
553
- function _t(e) {
553
+ function yt(e) {
554
554
  let t = [
555
555
  "#3b82f6",
556
556
  "#ef4444",
@@ -577,19 +577,19 @@ function _t(e) {
577
577
  function X(...e) {
578
578
  return K(G(e));
579
579
  }
580
- function vt({ canvas: e = {
580
+ function bt({ canvas: e = {
581
581
  width: 1200,
582
582
  height: 800,
583
583
  gridSize: 8,
584
584
  showGrid: !0,
585
585
  snapToGrid: !0
586
- }, components: t = [], palette: n = yt, showComponentTree: r = !0, undoRedo: a = !0, propertyEditor: u = !0, readOnly: d = !1, showMinimap: f = !1, onChange: p, className: m }) {
587
- let h = et(t), g = h.current, _ = i((e) => {
586
+ }, components: t = [], palette: n = xt, showComponentTree: r = !0, undoRedo: a = !0, propertyEditor: u = !0, readOnly: d = !1, showMinimap: f = !1, onChange: p, className: m }) {
587
+ let h = nt(t), g = h.current, _ = i((e) => {
588
588
  h.push(e), p?.(e);
589
- }, [h, p]), v = it({ initialZoom: e.zoom ?? 1 }), { zoom: y } = v, x = nt(), S = s(() => {
589
+ }, [h, p]), v = ot({ initialZoom: e.zoom ?? 1 }), { zoom: y } = v, x = it(), S = s(() => {
590
590
  let e = Array.from(x.selectedIds);
591
591
  return e.length > 0 ? e[0] : null;
592
- }, [x.selectedIds]), C = s(() => g.find((e) => e.id === S), [g, S]), T = rt(), E = tt(), D = ht(), k = i((e) => {
592
+ }, [x.selectedIds]), C = s(() => g.find((e) => e.id === S), [g, S]), T = at(), E = rt(), D = _t(), k = i((e) => {
593
593
  D && D.sendOperation({
594
594
  ...e,
595
595
  userId: D.currentUserId ?? ""
@@ -909,7 +909,7 @@ function vt({ canvas: e = {
909
909
  "aria-label": "Undo",
910
910
  disabled: !h.canUndo,
911
911
  onClick: () => h.undo(),
912
- children: /* @__PURE__ */ J(Ne, { className: "h-4 w-4" })
912
+ children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
913
913
  }),
914
914
  /* @__PURE__ */ J("button", {
915
915
  className: X("p-1.5 rounded hover:bg-accent", !h.canRedo && "opacity-40 pointer-events-none"),
@@ -917,7 +917,7 @@ function vt({ canvas: e = {
917
917
  "aria-label": "Redo",
918
918
  disabled: !h.canRedo,
919
919
  onClick: () => h.redo(),
920
- children: /* @__PURE__ */ J(xe, { className: "h-4 w-4" })
920
+ children: /* @__PURE__ */ J(Se, { className: "h-4 w-4" })
921
921
  }),
922
922
  /* @__PURE__ */ J("div", { className: "w-px h-5 bg-border mx-1" })
923
923
  ] }),
@@ -946,7 +946,7 @@ function vt({ canvas: e = {
946
946
  "aria-label": "Delete selected",
947
947
  disabled: x.count === 0,
948
948
  onClick: ne,
949
- children: /* @__PURE__ */ J(Ae, { className: "h-4 w-4" })
949
+ children: /* @__PURE__ */ J(je, { className: "h-4 w-4" })
950
950
  }),
951
951
  /* @__PURE__ */ J("button", {
952
952
  className: "p-1.5 rounded hover:bg-accent",
@@ -1041,7 +1041,7 @@ function vt({ canvas: e = {
1041
1041
  },
1042
1042
  className: "ml-auto p-0.5 rounded hover:bg-destructive/10",
1043
1043
  "aria-label": `Delete ${e.label ?? e.type}`,
1044
- children: /* @__PURE__ */ J(Ae, { className: "h-3 w-3 text-destructive" })
1044
+ children: /* @__PURE__ */ J(je, { className: "h-3 w-3 text-destructive" })
1045
1045
  })
1046
1046
  ]
1047
1047
  }), /* @__PURE__ */ J("div", {
@@ -1049,7 +1049,7 @@ function vt({ canvas: e = {
1049
1049
  children: e.type
1050
1050
  })]
1051
1051
  }, e.id);
1052
- }), P && /* @__PURE__ */ J(dt, {
1052
+ }), P && /* @__PURE__ */ J(pt, {
1053
1053
  items: de,
1054
1054
  canvasWidth: e.width,
1055
1055
  canvasHeight: e.height
@@ -1082,7 +1082,7 @@ function vt({ canvas: e = {
1082
1082
  }),
1083
1083
  u && C ? /* @__PURE__ */ J("div", {
1084
1084
  className: "border-t",
1085
- children: /* @__PURE__ */ J(ct, {
1085
+ children: /* @__PURE__ */ J(ut, {
1086
1086
  title: `Properties – ${C.label ?? C.type}`,
1087
1087
  fields: ce,
1088
1088
  onChange: re
@@ -1116,7 +1116,7 @@ function vt({ canvas: e = {
1116
1116
  })
1117
1117
  ] })
1118
1118
  }),
1119
- /* @__PURE__ */ J(ot, {
1119
+ /* @__PURE__ */ J(ct, {
1120
1120
  isOpen: E.isOpen,
1121
1121
  title: E.title,
1122
1122
  message: E.message,
@@ -1126,7 +1126,7 @@ function vt({ canvas: e = {
1126
1126
  ]
1127
1127
  });
1128
1128
  }
1129
- var yt = [
1129
+ var xt = [
1130
1130
  {
1131
1131
  name: "layout",
1132
1132
  label: "Layout",
@@ -1260,15 +1260,15 @@ var yt = [
1260
1260
  ];
1261
1261
  //#endregion
1262
1262
  //#region src/hooks/useDesignerHistory.ts
1263
- function bt(e, t = {}) {
1264
- return et(e, t);
1263
+ function St(e, t = {}) {
1264
+ return nt(e, t);
1265
1265
  }
1266
1266
  //#endregion
1267
1267
  //#region src/DataModelDesigner.tsx
1268
- function xt(...e) {
1268
+ function Ct(...e) {
1269
1269
  return K(G(e));
1270
1270
  }
1271
- var St = [
1271
+ var wt = [
1272
1272
  "text",
1273
1273
  "number",
1274
1274
  "boolean",
@@ -1292,7 +1292,7 @@ var St = [
1292
1292
  "formula",
1293
1293
  "autonumber"
1294
1294
  ];
1295
- function Ct(e, t = 4, n = 280, r = 250, i = 50, a = 50) {
1295
+ function Tt(e, t = 4, n = 280, r = 250, i = 50, a = 50) {
1296
1296
  return e.map((e, o) => ({
1297
1297
  ...e,
1298
1298
  position: {
@@ -1301,12 +1301,12 @@ function Ct(e, t = 4, n = 280, r = 250, i = 50, a = 50) {
1301
1301
  }
1302
1302
  }));
1303
1303
  }
1304
- function wt({ entities: e = [], relationships: t = [], canvas: n = {
1304
+ function Et({ entities: e = [], relationships: t = [], canvas: n = {
1305
1305
  width: 1200,
1306
1306
  height: 800,
1307
1307
  showGrid: !0
1308
1308
  }, showRelationshipLabels: r = !0, readOnly: a = !1, onEntitiesChange: s, onRelationshipsChange: u, className: d }) {
1309
- let f = c(null), p = bt({
1309
+ let f = c(null), p = St({
1310
1310
  entities: e,
1311
1311
  relationships: t
1312
1312
  }, { maxHistory: 50 }), { entities: m, relationships: h } = p.current, _ = i((e) => {
@@ -1315,11 +1315,11 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1315
1315
  p,
1316
1316
  s,
1317
1317
  u
1318
- ]), y = tt(), x = nt(), S = x.count > 0 ? Array.from(x.selectedIds)[0] : null, C = rt(), E = it({
1318
+ ]), y = rt(), x = it(), S = x.count > 0 ? Array.from(x.selectedIds)[0] : null, C = at(), E = ot({
1319
1319
  minZoom: .25,
1320
1320
  maxZoom: 3,
1321
1321
  zoomStep: .1
1322
- }), D = ht(), [O, k] = l(!0), [A, j] = l(!0), [M, N] = l(null), [F, I] = l(""), [L, R] = l(null), [z, ee] = l(""), B = c(null), te = i(() => {
1322
+ }), D = _t(), [O, k] = l(!0), [A, j] = l(!0), [M, N] = l(null), [F, I] = l(""), [L, R] = l(null), [z, ee] = l(""), B = c(null), te = i(() => {
1323
1323
  if (a) return;
1324
1324
  let e = p.current, t = {
1325
1325
  id: `entity-${Date.now()}`,
@@ -1406,7 +1406,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1406
1406
  ]), ie = i(() => {
1407
1407
  if (a) return;
1408
1408
  let e = p.current, t = {
1409
- entities: Ct(e.entities),
1409
+ entities: Tt(e.entities),
1410
1410
  relationships: e.relationships
1411
1411
  };
1412
1412
  _(t);
@@ -1673,7 +1673,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1673
1673
  return /* @__PURE__ */ Y("div", {
1674
1674
  ref: f,
1675
1675
  tabIndex: 0,
1676
- className: xt("flex h-full w-full border rounded-lg overflow-hidden bg-background", d),
1676
+ className: Ct("flex h-full w-full border rounded-lg overflow-hidden bg-background", d),
1677
1677
  children: [
1678
1678
  /* @__PURE__ */ Y("div", {
1679
1679
  className: "flex flex-col flex-1 min-w-0",
@@ -1695,14 +1695,14 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1695
1695
  "aria-label": "Undo",
1696
1696
  title: "Undo (Ctrl+Z)",
1697
1697
  className: "p-1 rounded hover:bg-accent disabled:opacity-40",
1698
- children: /* @__PURE__ */ J(Ne, { className: "h-3.5 w-3.5" })
1698
+ children: /* @__PURE__ */ J(Pe, { className: "h-3.5 w-3.5" })
1699
1699
  }), /* @__PURE__ */ J("button", {
1700
1700
  onClick: () => p.redo(),
1701
1701
  disabled: !p.canRedo,
1702
1702
  "aria-label": "Redo",
1703
1703
  title: "Redo (Ctrl+Y)",
1704
1704
  className: "p-1 rounded hover:bg-accent disabled:opacity-40",
1705
- children: /* @__PURE__ */ J(xe, { className: "h-3.5 w-3.5" })
1705
+ children: /* @__PURE__ */ J(Se, { className: "h-3.5 w-3.5" })
1706
1706
  })]
1707
1707
  }),
1708
1708
  /* @__PURE__ */ Y("div", {
@@ -1713,7 +1713,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1713
1713
  "aria-label": "Zoom Out",
1714
1714
  title: "Zoom Out",
1715
1715
  className: "p-1 rounded hover:bg-accent",
1716
- children: /* @__PURE__ */ J(ze, { className: "h-3.5 w-3.5" })
1716
+ children: /* @__PURE__ */ J(Be, { className: "h-3.5 w-3.5" })
1717
1717
  }),
1718
1718
  /* @__PURE__ */ Y("span", {
1719
1719
  className: "text-xs tabular-nums w-10 text-center",
@@ -1724,14 +1724,14 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1724
1724
  "aria-label": "Zoom In",
1725
1725
  title: "Zoom In",
1726
1726
  className: "p-1 rounded hover:bg-accent",
1727
- children: /* @__PURE__ */ J(Re, { className: "h-3.5 w-3.5" })
1727
+ children: /* @__PURE__ */ J(ze, { className: "h-3.5 w-3.5" })
1728
1728
  }),
1729
1729
  /* @__PURE__ */ J("button", {
1730
1730
  onClick: E.resetZoom,
1731
1731
  "aria-label": "Reset Zoom",
1732
1732
  title: "Reset Zoom",
1733
1733
  className: "p-1 rounded hover:bg-accent",
1734
- children: /* @__PURE__ */ J(Se, { className: "h-3 w-3" })
1734
+ children: /* @__PURE__ */ J(Ce, { className: "h-3 w-3" })
1735
1735
  })
1736
1736
  ]
1737
1737
  }),
@@ -1765,7 +1765,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1765
1765
  className: "flex items-center gap-1 text-xs text-muted-foreground",
1766
1766
  role: "status",
1767
1767
  "aria-label": "Collaboration active",
1768
- children: [/* @__PURE__ */ J(Ie, { className: "h-3 w-3" }), /* @__PURE__ */ Y("span", { children: [
1768
+ children: [/* @__PURE__ */ J(Le, { className: "h-3 w-3" }), /* @__PURE__ */ Y("span", { children: [
1769
1769
  D.users.length,
1770
1770
  " user",
1771
1771
  D.users.length === 1 ? "" : "s"
@@ -1837,7 +1837,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1837
1837
  "aria-label": e.label,
1838
1838
  draggable: !a,
1839
1839
  onDragStart: (t) => me(t, e.id),
1840
- className: xt("absolute rounded-lg border-2 bg-background shadow-sm w-60 select-none cursor-grab active:cursor-grabbing", x.isSelected(e.id) ? "border-primary ring-2 ring-primary/20" : "border-border hover:border-primary/50"),
1840
+ className: Ct("absolute rounded-lg border-2 bg-background shadow-sm w-60 select-none cursor-grab active:cursor-grabbing", x.isSelected(e.id) ? "border-primary ring-2 ring-primary/20" : "border-border hover:border-primary/50"),
1841
1841
  style: {
1842
1842
  left: e.position.x,
1843
1843
  top: e.position.y
@@ -1876,7 +1876,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1876
1876
  },
1877
1877
  "aria-label": `Delete ${e.label}`,
1878
1878
  className: "ml-auto p-0.5 rounded hover:bg-destructive/20",
1879
- children: /* @__PURE__ */ J(Ae, { className: "h-3 w-3 text-destructive" })
1879
+ children: /* @__PURE__ */ J(je, { className: "h-3 w-3 text-destructive" })
1880
1880
  })
1881
1881
  ]
1882
1882
  }),
@@ -1897,7 +1897,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1897
1897
  autoFocus: !0,
1898
1898
  onClick: (e) => e.stopPropagation()
1899
1899
  }) : /* @__PURE__ */ Y("span", {
1900
- className: xt("font-mono cursor-text", t.primaryKey && "font-bold text-primary"),
1900
+ className: Ct("font-mono cursor-text", t.primaryKey && "font-bold text-primary"),
1901
1901
  onClick: (r) => {
1902
1902
  r.stopPropagation(), se(e.id, n, t.name);
1903
1903
  },
@@ -1918,7 +1918,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1918
1918
  onClick: (e) => e.stopPropagation(),
1919
1919
  className: "text-xs text-muted-foreground ml-auto bg-transparent border-none focus:ring-1 focus:ring-primary rounded cursor-pointer p-0",
1920
1920
  "data-testid": `field-type-${e.id}-${n}`,
1921
- children: St.map((e) => /* @__PURE__ */ J("option", {
1921
+ children: wt.map((e) => /* @__PURE__ */ J("option", {
1922
1922
  value: e,
1923
1923
  children: e
1924
1924
  }, e))
@@ -1944,7 +1944,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1944
1944
  ]
1945
1945
  }, e.id))
1946
1946
  ]
1947
- }), A && m.length > 0 && /* @__PURE__ */ J(dt, {
1947
+ }), A && m.length > 0 && /* @__PURE__ */ J(pt, {
1948
1948
  items: ve,
1949
1949
  canvasWidth: n.width,
1950
1950
  canvasHeight: n.height,
@@ -1966,7 +1966,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1966
1966
  }), O && /* @__PURE__ */ J("div", {
1967
1967
  id: "property-editor-panel",
1968
1968
  className: "flex-1 overflow-y-auto",
1969
- children: /* @__PURE__ */ J(ct, {
1969
+ children: /* @__PURE__ */ J(ut, {
1970
1970
  title: U ? U.label : "Properties",
1971
1971
  fields: W,
1972
1972
  onChange: _e
@@ -1982,7 +1982,7 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1982
1982
  })
1983
1983
  })]
1984
1984
  }),
1985
- /* @__PURE__ */ J(ot, {
1985
+ /* @__PURE__ */ J(ct, {
1986
1986
  isOpen: y.isOpen,
1987
1987
  title: y.title,
1988
1988
  message: y.message,
@@ -1995,11 +1995,11 @@ function wt({ entities: e = [], relationships: t = [], canvas: n = {
1995
1995
  }
1996
1996
  //#endregion
1997
1997
  //#region src/ProcessDesigner.tsx
1998
- function Tt(...e) {
1998
+ function Dt(...e) {
1999
1999
  return K(G(e));
2000
2000
  }
2001
- var Et = 120, Dt = 50;
2002
- function Ot(e, t) {
2001
+ var Ot = 120, kt = 50;
2002
+ function At(e, t) {
2003
2003
  if (e.length === 0) return e;
2004
2004
  let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
2005
2005
  for (let t of e) n.set(t.id, 0), r.set(t.id, []);
@@ -2027,12 +2027,12 @@ function Ot(e, t) {
2027
2027
  position: c.get(e.id) ?? e.position
2028
2028
  }));
2029
2029
  }
2030
- function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lanes: r, canvas: a = {
2030
+ function jt({ processName: e = "New Process", nodes: t = [], edges: n = [], lanes: r, canvas: a = {
2031
2031
  width: 1400,
2032
2032
  height: 800,
2033
2033
  showGrid: !0
2034
2034
  }, showMinimap: u = !0, showToolbar: d = !0, readOnly: f = !1, onNodesChange: p, onEdgesChange: m, className: h }) {
2035
- let g = et({
2035
+ let g = nt({
2036
2036
  nodes: t,
2037
2037
  edges: n
2038
2038
  }, { maxHistory: 50 }), _ = g.current.nodes, v = g.current.edges, y = i((e, t) => {
@@ -2044,7 +2044,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2044
2044
  g,
2045
2045
  p,
2046
2046
  m
2047
- ]), x = tt(), S = nt(), C = rt(), T = it({ initialZoom: 1 }), D = ht(), [O, k] = l(null), [A, j] = l(!1), [N, P] = l(null), [F, I] = l(null), [L, R] = l(!0), [z, ee] = l(null), [te, ne] = l({
2047
+ ]), x = rt(), S = it(), C = at(), T = ot({ initialZoom: 1 }), D = _t(), [O, k] = l(null), [A, j] = l(!1), [N, P] = l(null), [F, I] = l(null), [L, R] = l(!0), [z, ee] = l(null), [te, ne] = l({
2048
2048
  x: 0,
2049
2049
  y: 0
2050
2050
  }), re = c(null), ie = c(p), ae = c(m);
@@ -2165,7 +2165,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2165
2165
  D
2166
2166
  ]), fe = i(() => {
2167
2167
  if (f || _.length === 0) return;
2168
- let e = Ot(_, v);
2168
+ let e = At(_, v);
2169
2169
  y(e, v);
2170
2170
  }, [
2171
2171
  _,
@@ -2283,12 +2283,12 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2283
2283
  case "script-task": return "rounded bg-purple-100 border-purple-500 text-purple-700";
2284
2284
  default: return "rounded bg-gray-100 border-gray-500 text-gray-700";
2285
2285
  }
2286
- }, Ce = s(() => _.map((e) => ({
2286
+ }, xe = s(() => _.map((e) => ({
2287
2287
  id: e.id,
2288
2288
  x: e.position.x,
2289
2289
  y: e.position.y,
2290
- width: Et,
2291
- height: Dt,
2290
+ width: Ot,
2291
+ height: kt,
2292
2292
  selected: S.isSelected(e.id) || e.id === O
2293
2293
  })), [
2294
2294
  _,
@@ -2344,9 +2344,9 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2344
2344
  return /* @__PURE__ */ Y("div", {
2345
2345
  ref: re,
2346
2346
  tabIndex: 0,
2347
- className: Tt("flex flex-col h-full w-full border rounded-lg overflow-hidden bg-background", h),
2347
+ className: Dt("flex flex-col h-full w-full border rounded-lg overflow-hidden bg-background", h),
2348
2348
  children: [
2349
- /* @__PURE__ */ J(ot, {
2349
+ /* @__PURE__ */ J(ct, {
2350
2350
  isOpen: x.isOpen,
2351
2351
  title: x.title,
2352
2352
  message: x.message,
@@ -2386,7 +2386,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2386
2386
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40",
2387
2387
  title: "Undo (Ctrl+Z)",
2388
2388
  "aria-label": "Undo",
2389
- children: /* @__PURE__ */ J(Ne, { className: "h-3 w-3" })
2389
+ children: /* @__PURE__ */ J(Pe, { className: "h-3 w-3" })
2390
2390
  }),
2391
2391
  /* @__PURE__ */ J("button", {
2392
2392
  onClick: () => g.redo(),
@@ -2394,7 +2394,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2394
2394
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent disabled:opacity-40",
2395
2395
  title: "Redo (Ctrl+Y)",
2396
2396
  "aria-label": "Redo",
2397
- children: /* @__PURE__ */ J(xe, { className: "h-3 w-3" })
2397
+ children: /* @__PURE__ */ J(Se, { className: "h-3 w-3" })
2398
2398
  }),
2399
2399
  /* @__PURE__ */ J("div", { className: "w-px h-4 bg-border mx-1" }),
2400
2400
  /* @__PURE__ */ J("button", {
@@ -2416,7 +2416,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2416
2416
  /* @__PURE__ */ J("div", { className: "w-px h-4 bg-border mx-1" }),
2417
2417
  /* @__PURE__ */ Y("button", {
2418
2418
  onClick: ue,
2419
- className: Tt("flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent", A && "bg-primary text-primary-foreground"),
2419
+ className: Dt("flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent", A && "bg-primary text-primary-foreground"),
2420
2420
  title: "Connect nodes",
2421
2421
  "aria-label": "Connect nodes",
2422
2422
  "aria-pressed": A,
@@ -2435,7 +2435,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2435
2435
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent",
2436
2436
  title: "Zoom in",
2437
2437
  "aria-label": "Zoom in",
2438
- children: /* @__PURE__ */ J(Re, { className: "h-3 w-3" })
2438
+ children: /* @__PURE__ */ J(ze, { className: "h-3 w-3" })
2439
2439
  }),
2440
2440
  /* @__PURE__ */ Y("span", {
2441
2441
  className: "text-xs tabular-nums min-w-[3ch] text-center",
@@ -2447,14 +2447,14 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2447
2447
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent",
2448
2448
  title: "Zoom out",
2449
2449
  "aria-label": "Zoom out",
2450
- children: /* @__PURE__ */ J(ze, { className: "h-3 w-3" })
2450
+ children: /* @__PURE__ */ J(Be, { className: "h-3 w-3" })
2451
2451
  }),
2452
2452
  /* @__PURE__ */ J("button", {
2453
2453
  onClick: T.resetZoom,
2454
2454
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent",
2455
2455
  title: "Reset zoom",
2456
2456
  "aria-label": "Reset zoom",
2457
- children: /* @__PURE__ */ J(Se, { className: "h-3 w-3" })
2457
+ children: /* @__PURE__ */ J(Ce, { className: "h-3 w-3" })
2458
2458
  }),
2459
2459
  /* @__PURE__ */ J("div", { className: "w-px h-4 bg-border mx-1" }),
2460
2460
  /* @__PURE__ */ Y("button", {
@@ -2469,7 +2469,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2469
2469
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent",
2470
2470
  title: "Add User Task",
2471
2471
  "aria-label": "Add User Task",
2472
- children: [/* @__PURE__ */ J(Te, { className: "h-3 w-3 text-blue-600" }), " Task"]
2472
+ children: [/* @__PURE__ */ J(Ee, { className: "h-3 w-3 text-blue-600" }), " Task"]
2473
2473
  }),
2474
2474
  /* @__PURE__ */ Y("button", {
2475
2475
  onClick: () => H("exclusive-gateway", "Decision"),
@@ -2483,7 +2483,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2483
2483
  className: "flex items-center gap-1 px-2 py-1 text-xs rounded hover:bg-accent",
2484
2484
  title: "Add End Event",
2485
2485
  "aria-label": "Add End Event",
2486
- children: [/* @__PURE__ */ J(Te, { className: "h-3 w-3 text-red-600" }), " End"]
2486
+ children: [/* @__PURE__ */ J(Ee, { className: "h-3 w-3 text-red-600" }), " End"]
2487
2487
  }),
2488
2488
  /* @__PURE__ */ J("div", { className: "w-px h-4 bg-border mx-1" }),
2489
2489
  /* @__PURE__ */ J("button", {
@@ -2537,10 +2537,10 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2537
2537
  }) }), v.map((e) => {
2538
2538
  let t = _.find((t) => t.id === e.source), n = _.find((t) => t.id === e.target);
2539
2539
  if (!t || !n) return null;
2540
- t.position.x + Et / 2;
2541
- let r = t.position.y + Dt / 2;
2542
- n.position.x + Et / 2;
2543
- let i = n.position.y + Dt / 2, a = t.position.x + Et, o = r, s = n.position.x, c = i;
2540
+ t.position.x + Ot / 2;
2541
+ let r = t.position.y + kt / 2;
2542
+ n.position.x + Ot / 2;
2543
+ let i = n.position.y + kt / 2, a = t.position.x + Ot, o = r, s = n.position.x, c = i;
2544
2544
  return /* @__PURE__ */ Y("g", { children: [/* @__PURE__ */ J("path", {
2545
2545
  d: `M ${a} ${o} Q ${(a + s) / 2} ${o}, ${(a + s) / 2} ${(o + c) / 2} T ${s} ${c}`,
2546
2546
  fill: "none",
@@ -2579,9 +2579,9 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2579
2579
  },
2580
2580
  children: [
2581
2581
  /* @__PURE__ */ J("div", {
2582
- className: Tt("flex items-center justify-center border-2 min-w-[120px] min-h-[50px] px-3 py-2 transition-shadow", be(e.type), t && "ring-2 ring-primary shadow-md", n && "ring-2 ring-blue-400 shadow-lg", A && !n && "cursor-crosshair"),
2582
+ className: Dt("flex items-center justify-center border-2 min-w-[120px] min-h-[50px] px-3 py-2 transition-shadow", be(e.type), t && "ring-2 ring-primary shadow-md", n && "ring-2 ring-blue-400 shadow-lg", A && !n && "cursor-crosshair"),
2583
2583
  children: /* @__PURE__ */ J("span", {
2584
- className: Tt("text-xs font-medium", (e.type === "exclusive-gateway" || e.type === "parallel-gateway" || e.type === "inclusive-gateway" || e.type === "event-based-gateway") && "-rotate-45"),
2584
+ className: Dt("text-xs font-medium", (e.type === "exclusive-gateway" || e.type === "parallel-gateway" || e.type === "inclusive-gateway" || e.type === "event-based-gateway") && "-rotate-45"),
2585
2585
  children: e.label
2586
2586
  })
2587
2587
  }),
@@ -2590,7 +2590,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2590
2590
  className: "absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair",
2591
2591
  style: {
2592
2592
  left: -6,
2593
- top: Dt / 2 - 6
2593
+ top: kt / 2 - 6
2594
2594
  },
2595
2595
  title: "Input port",
2596
2596
  onClick: (t) => {
@@ -2601,7 +2601,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2601
2601
  className: "absolute w-3 h-3 rounded-full bg-blue-500 border-2 border-white shadow cursor-crosshair",
2602
2602
  style: {
2603
2603
  right: -6,
2604
- top: Dt / 2 - 6
2604
+ top: kt / 2 - 6
2605
2605
  },
2606
2606
  title: "Output port",
2607
2607
  onClick: (t) => {
@@ -2611,7 +2611,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2611
2611
  /* @__PURE__ */ J("div", {
2612
2612
  className: "absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair",
2613
2613
  style: {
2614
- left: Et / 2 - 6,
2614
+ left: Ot / 2 - 6,
2615
2615
  top: -6
2616
2616
  },
2617
2617
  title: "Port",
@@ -2622,7 +2622,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2622
2622
  /* @__PURE__ */ J("div", {
2623
2623
  className: "absolute w-3 h-3 rounded-full bg-blue-400 border-2 border-white shadow cursor-crosshair",
2624
2624
  style: {
2625
- left: Et / 2 - 6,
2625
+ left: Ot / 2 - 6,
2626
2626
  bottom: -6
2627
2627
  },
2628
2628
  title: "Port",
@@ -2637,13 +2637,13 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2637
2637
  },
2638
2638
  className: "absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow",
2639
2639
  "aria-label": "Delete node",
2640
- children: /* @__PURE__ */ J(Ae, { className: "h-3 w-3" })
2640
+ children: /* @__PURE__ */ J(je, { className: "h-3 w-3" })
2641
2641
  })
2642
2642
  ]
2643
2643
  }, e.id);
2644
2644
  }),
2645
- u && _.length > 0 && /* @__PURE__ */ J(dt, {
2646
- items: Ce,
2645
+ u && _.length > 0 && /* @__PURE__ */ J(pt, {
2646
+ items: xe,
2647
2647
  canvasWidth: a.width ?? 1400,
2648
2648
  canvasHeight: a.height ?? 800,
2649
2649
  position: "bottom-right"
@@ -2654,7 +2654,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2654
2654
  className: "w-64 border-l bg-background overflow-y-auto shrink-0",
2655
2655
  role: "complementary",
2656
2656
  "aria-label": "Property panel",
2657
- children: /* @__PURE__ */ J(ct, {
2657
+ children: /* @__PURE__ */ J(ut, {
2658
2658
  title: W ? `Properties: ${W.label}` : "Properties",
2659
2659
  fields: _e,
2660
2660
  onChange: ve
@@ -2666,7 +2666,7 @@ function kt({ processName: e = "New Process", nodes: t = [], edges: n = [], lane
2666
2666
  }
2667
2667
  //#endregion
2668
2668
  //#region src/ReportDesigner.tsx
2669
- function At(...e) {
2669
+ function Mt(...e) {
2670
2670
  return K(G(e));
2671
2671
  }
2672
2672
  var Z = {
@@ -2719,7 +2719,7 @@ var Z = {
2719
2719
  groupSize: "Size",
2720
2720
  groupContent: "Content",
2721
2721
  groupGeneral: "General"
2722
- }, jt = {
2722
+ }, Nt = {
2723
2723
  A4: {
2724
2724
  width: 595,
2725
2725
  height: 842
@@ -2740,7 +2740,7 @@ var Z = {
2740
2740
  width: 792,
2741
2741
  height: 1224
2742
2742
  }
2743
- }, Mt = [
2743
+ }, Pt = [
2744
2744
  {
2745
2745
  type: "header",
2746
2746
  height: 80,
@@ -2758,23 +2758,23 @@ var Z = {
2758
2758
  elements: []
2759
2759
  }
2760
2760
  ];
2761
- function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4", orientation: r = "portrait", margins: a = {
2761
+ function Ft({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4", orientation: r = "portrait", margins: a = {
2762
2762
  top: 40,
2763
2763
  right: 40,
2764
2764
  bottom: 40,
2765
2765
  left: 40
2766
2766
  }, sections: u = [], showToolbar: d = !0, showPropertyPanel: f = !0, readOnly: m = !1, onSectionsChange: h, className: g }) {
2767
- let _ = et(u.length > 0 ? u : Mt), v = _.current, y = i((e) => {
2767
+ let _ = nt(u.length > 0 ? u : Pt), v = _.current, y = i((e) => {
2768
2768
  _.push(e), h?.(e);
2769
- }, [_, h]), x = nt(), S = s(() => {
2769
+ }, [_, h]), x = it(), S = s(() => {
2770
2770
  let e = Array.from(x.selectedIds);
2771
2771
  return e.length > 0 ? e[0] : null;
2772
- }, [x.selectedIds]), C = rt(), T = tt(), E = ht(), D = i((e) => {
2772
+ }, [x.selectedIds]), C = at(), T = rt(), E = _t(), D = i((e) => {
2773
2773
  E && E.sendOperation({
2774
2774
  ...e,
2775
2775
  userId: E.currentUserId ?? ""
2776
2776
  });
2777
- }, [E]), [O, k] = l(!0), j = c(null), M = c(null), N = jt[n], P = r === "landscape" ? N.height : N.width, F = r === "landscape" ? N.width : N.height, I = (e) => {
2777
+ }, [E]), [O, k] = l(!0), j = c(null), M = c(null), N = Nt[n], P = r === "landscape" ? N.height : N.width, F = r === "landscape" ? N.width : N.height, I = (e) => {
2778
2778
  switch (e) {
2779
2779
  case "header": return Z.sectionHeader;
2780
2780
  case "page-header": return Z.sectionPageHeader;
@@ -3100,7 +3100,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3100
3100
  ]), /* @__PURE__ */ Y("div", {
3101
3101
  ref: M,
3102
3102
  tabIndex: 0,
3103
- className: At("flex h-full w-full border rounded-lg overflow-hidden bg-background", g),
3103
+ className: Mt("flex h-full w-full border rounded-lg overflow-hidden bg-background", g),
3104
3104
  children: [
3105
3105
  /* @__PURE__ */ Y("div", {
3106
3106
  className: "flex-1 flex flex-col min-w-0",
@@ -3125,26 +3125,26 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3125
3125
  !m && /* @__PURE__ */ Y(q, { children: [
3126
3126
  /* @__PURE__ */ J("div", { className: "w-px h-5 bg-border mx-1" }),
3127
3127
  /* @__PURE__ */ J("button", {
3128
- className: At("p-1.5 rounded hover:bg-accent", !_.canUndo && "opacity-40 pointer-events-none"),
3128
+ className: Mt("p-1.5 rounded hover:bg-accent", !_.canUndo && "opacity-40 pointer-events-none"),
3129
3129
  title: Z.undoShortcut,
3130
3130
  "aria-label": Z.undo,
3131
3131
  disabled: !_.canUndo,
3132
3132
  onClick: () => _.undo(),
3133
- children: /* @__PURE__ */ J(Ne, { className: "h-4 w-4" })
3133
+ children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
3134
3134
  }),
3135
3135
  /* @__PURE__ */ J("button", {
3136
- className: At("p-1.5 rounded hover:bg-accent", !_.canRedo && "opacity-40 pointer-events-none"),
3136
+ className: Mt("p-1.5 rounded hover:bg-accent", !_.canRedo && "opacity-40 pointer-events-none"),
3137
3137
  title: Z.redoShortcut,
3138
3138
  "aria-label": Z.redo,
3139
3139
  disabled: !_.canRedo,
3140
3140
  onClick: () => _.redo(),
3141
- children: /* @__PURE__ */ J(xe, { className: "h-4 w-4" })
3141
+ children: /* @__PURE__ */ J(Se, { className: "h-4 w-4" })
3142
3142
  }),
3143
3143
  /* @__PURE__ */ J("div", { className: "w-px h-5 bg-border mx-1" })
3144
3144
  ] }),
3145
3145
  !m && /* @__PURE__ */ Y(q, { children: [
3146
3146
  /* @__PURE__ */ J("button", {
3147
- className: At("p-1.5 rounded hover:bg-accent", x.count === 0 && "opacity-40 pointer-events-none"),
3147
+ className: Mt("p-1.5 rounded hover:bg-accent", x.count === 0 && "opacity-40 pointer-events-none"),
3148
3148
  title: Z.copyShortcut,
3149
3149
  "aria-label": Z.copy,
3150
3150
  disabled: x.count === 0,
@@ -3152,7 +3152,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3152
3152
  children: /* @__PURE__ */ J(w, { className: "h-4 w-4" })
3153
3153
  }),
3154
3154
  /* @__PURE__ */ J("button", {
3155
- className: At("p-1.5 rounded hover:bg-accent", !C.hasContent && "opacity-40 pointer-events-none"),
3155
+ className: Mt("p-1.5 rounded hover:bg-accent", !C.hasContent && "opacity-40 pointer-events-none"),
3156
3156
  title: Z.pasteShortcut,
3157
3157
  "aria-label": Z.paste,
3158
3158
  disabled: !C.hasContent,
@@ -3162,12 +3162,12 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3162
3162
  /* @__PURE__ */ J("div", { className: "w-px h-5 bg-border mx-1" })
3163
3163
  ] }),
3164
3164
  !m && /* @__PURE__ */ J("button", {
3165
- className: At("p-1.5 rounded hover:bg-accent", x.count === 0 && "opacity-40 pointer-events-none"),
3165
+ className: Mt("p-1.5 rounded hover:bg-accent", x.count === 0 && "opacity-40 pointer-events-none"),
3166
3166
  title: Z.deleteSelected,
3167
3167
  "aria-label": Z.deleteSelected,
3168
3168
  disabled: x.count === 0,
3169
3169
  onClick: B,
3170
- children: /* @__PURE__ */ J(Ae, { className: "h-4 w-4" })
3170
+ children: /* @__PURE__ */ J(je, { className: "h-4 w-4" })
3171
3171
  }),
3172
3172
  /* @__PURE__ */ J("div", { className: "flex-1" }),
3173
3173
  E?.isConnected && /* @__PURE__ */ Y("span", {
@@ -3191,7 +3191,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3191
3191
  title: O ? Z.collapsePanel : Z.expandPanel,
3192
3192
  "aria-label": O ? Z.collapsePanel : Z.expandPanel,
3193
3193
  onClick: () => k((e) => !e),
3194
- children: /* @__PURE__ */ J(ge, { className: At("h-4 w-4", !O && "rotate-180") })
3194
+ children: /* @__PURE__ */ J(ge, { className: Mt("h-4 w-4", !O && "rotate-180") })
3195
3195
  })
3196
3196
  ]
3197
3197
  }), /* @__PURE__ */ J("div", {
@@ -3222,7 +3222,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3222
3222
  className: "p-0.5 rounded hover:bg-accent",
3223
3223
  title: Z.addText,
3224
3224
  "aria-label": Z.addText,
3225
- children: /* @__PURE__ */ J(Me, { className: "h-3 w-3" })
3225
+ children: /* @__PURE__ */ J(Ne, { className: "h-3 w-3" })
3226
3226
  }),
3227
3227
  /* @__PURE__ */ J("button", {
3228
3228
  onClick: () => R(t, "field"),
@@ -3250,7 +3250,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3250
3250
  className: "p-0.5 rounded hover:bg-accent",
3251
3251
  title: Z.addTable,
3252
3252
  "aria-label": Z.addTable,
3253
- children: /* @__PURE__ */ J(Oe, { className: "h-3 w-3" })
3253
+ children: /* @__PURE__ */ J(ke, { className: "h-3 w-3" })
3254
3254
  })
3255
3255
  ]
3256
3256
  }),
@@ -3268,7 +3268,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3268
3268
  return /* @__PURE__ */ Y("div", {
3269
3269
  draggable: !m,
3270
3270
  onDragStart: (n) => ie(n, e, t),
3271
- className: At("absolute border rounded px-2 py-1 text-xs cursor-pointer", n ? "border-primary ring-1 ring-primary/30 bg-primary/5" : "border-dashed border-gray-400 hover:border-primary/50"),
3271
+ className: Mt("absolute border rounded px-2 py-1 text-xs cursor-pointer", n ? "border-primary ring-1 ring-primary/30 bg-primary/5" : "border-dashed border-gray-400 hover:border-primary/50"),
3272
3272
  style: {
3273
3273
  left: e.position.x,
3274
3274
  top: (typeof e.position.y == "number" ? e.position.y : 0) + 24,
@@ -3291,7 +3291,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3291
3291
  },
3292
3292
  className: "absolute -top-2 -right-2 p-0.5 rounded-full bg-destructive text-destructive-foreground shadow",
3293
3293
  "aria-label": Z.deleteElement,
3294
- children: /* @__PURE__ */ J(Ae, { className: "h-2.5 w-2.5" })
3294
+ children: /* @__PURE__ */ J(je, { className: "h-2.5 w-2.5" })
3295
3295
  })]
3296
3296
  }, e.id);
3297
3297
  })]
@@ -3304,8 +3304,8 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3304
3304
  f && /* @__PURE__ */ J("div", {
3305
3305
  role: "region",
3306
3306
  "aria-label": Z.propertiesPanel,
3307
- className: At("border-l bg-muted/30 flex flex-col transition-[width] duration-200", O ? "w-56" : "w-0 overflow-hidden"),
3308
- children: O && (S && L ? /* @__PURE__ */ J(ct, {
3307
+ className: Mt("border-l bg-muted/30 flex flex-col transition-[width] duration-200", O ? "w-56" : "w-0 overflow-hidden"),
3308
+ children: O && (S && L ? /* @__PURE__ */ J(ut, {
3309
3309
  title: `${Z.properties} – ${L.type}`,
3310
3310
  fields: H,
3311
3311
  onChange: te
@@ -3320,7 +3320,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3320
3320
  })
3321
3321
  })] }))
3322
3322
  }),
3323
- /* @__PURE__ */ J(ot, {
3323
+ /* @__PURE__ */ J(ct, {
3324
3324
  isOpen: T.isOpen,
3325
3325
  title: T.title,
3326
3326
  message: T.message,
@@ -3330,9 +3330,7 @@ function Nt({ reportName: e = Z.untitledReport, objectName: t, pageSize: n = "A4
3330
3330
  ]
3331
3331
  });
3332
3332
  }
3333
- //#endregion
3334
- //#region src/hooks/useDesignerTranslation.ts
3335
- var Pt = {
3333
+ var It = qe({
3336
3334
  "appDesigner.basicInfo": "Basic Info",
3337
3335
  "appDesigner.objects": "Objects",
3338
3336
  "appDesigner.navigation": "Navigation",
@@ -3400,6 +3398,7 @@ var Pt = {
3400
3398
  "appDesigner.navTypeGroup": "Group",
3401
3399
  "appDesigner.navTypeSeparator": "Separator",
3402
3400
  "appDesigner.navTypeAction": "Action",
3401
+ "appDesigner.navTypeComponent": "Component",
3403
3402
  "appDesigner.navEditIcon": "Edit icon",
3404
3403
  "appDesigner.navToggleVisible": "Toggle visibility",
3405
3404
  "appDesigner.navHidden": "Hidden",
@@ -3493,22 +3492,7 @@ var Pt = {
3493
3492
  "appDesigner.fieldDesigner.typeCategory.relation": "Relation",
3494
3493
  "appDesigner.fieldDesigner.typeCategory.advanced": "Advanced",
3495
3494
  "common.edit": "Edit"
3496
- };
3497
- function Ft(e) {
3498
- return (t, n) => {
3499
- let r = e[t] || t;
3500
- if (n) for (let [e, t] of Object.entries(n)) r = r.replace(`{{${e}}}`, String(t));
3501
- return r;
3502
- };
3503
- }
3504
- function It() {
3505
- try {
3506
- let e = Ge();
3507
- return e.t("appDesigner.basicInfo") === "appDesigner.basicInfo" ? { t: Ft(Pt) } : { t: e.t };
3508
- } catch {
3509
- return { t: Ft(Pt) };
3510
- }
3511
- }
3495
+ }, "appDesigner.basicInfo");
3512
3496
  //#endregion
3513
3497
  //#region src/AppCreationWizard.tsx
3514
3498
  function Q(...e) {
@@ -3564,7 +3548,7 @@ function Vt({ steps: e, currentIndex: t, onStepClick: r }) {
3564
3548
  });
3565
3549
  }
3566
3550
  function Ht({ draft: e, templates: t, readOnly: n, onChange: r, t: i }) {
3567
- let a = e.name.length > 0 && !Be(e.name);
3551
+ let a = e.name.length > 0 && !He(e.name);
3568
3552
  return /* @__PURE__ */ Y("div", {
3569
3553
  "data-testid": "wizard-step-basic-content",
3570
3554
  className: "mx-auto max-w-lg space-y-5",
@@ -3738,7 +3722,7 @@ function Ut({ objects: e, readOnly: t, onToggle: n, onToggleAll: r, search: i, o
3738
3722
  className: "flex items-center gap-3",
3739
3723
  children: [/* @__PURE__ */ Y("div", {
3740
3724
  className: "relative flex-1",
3741
- children: [/* @__PURE__ */ J(Ce, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-gray-400" }), /* @__PURE__ */ J("input", {
3725
+ children: [/* @__PURE__ */ J(we, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-gray-400" }), /* @__PURE__ */ J("input", {
3742
3726
  "data-testid": "object-search",
3743
3727
  type: "text",
3744
3728
  value: i,
@@ -3845,7 +3829,7 @@ function Gt({ items: e, readOnly: t, onAdd: n, onRemove: r, onReorder: i, t: a }
3845
3829
  }),
3846
3830
  /* @__PURE__ */ J("span", {
3847
3831
  className: "flex-1 truncate text-sm text-gray-800",
3848
- children: n.type === "separator" ? a("appDesigner.separatorLabel") : He(n.label)
3832
+ children: n.type === "separator" ? a("appDesigner.separatorLabel") : We(n.label)
3849
3833
  }),
3850
3834
  /* @__PURE__ */ J("span", {
3851
3835
  className: Q("rounded-full px-2 py-0.5 text-[10px] font-medium", Wt[n.type] ?? "bg-gray-100 text-gray-600"),
@@ -3876,7 +3860,7 @@ function Gt({ items: e, readOnly: t, onAdd: n, onRemove: r, onReorder: i, t: a }
3876
3860
  disabled: t,
3877
3861
  className: "rounded p-0.5 text-gray-400 transition-colors hover:text-red-500 disabled:opacity-30",
3878
3862
  "aria-label": "Remove",
3879
- children: /* @__PURE__ */ J(Ae, { className: "h-3.5 w-3.5" })
3863
+ children: /* @__PURE__ */ J(je, { className: "h-3.5 w-3.5" })
3880
3864
  })
3881
3865
  ]
3882
3866
  })
@@ -4000,7 +3984,7 @@ function Kt({ branding: e, title: t, readOnly: n, onChange: r, t: i }) {
4000
3984
  });
4001
3985
  }
4002
3986
  function qt({ availableObjects: e = [], templates: t = [], initialDraft: n, onComplete: r, onCancel: a, onSaveDraft: o, readOnly: c = !1, className: u }) {
4003
- let { t: d } = It(), f = tt(), [p, m] = l(0), [g, y] = l(""), [b, x] = l(() => ({
3987
+ let { t: d } = It(), f = rt(), [p, m] = l(0), [g, y] = l(""), [b, x] = l(() => ({
4004
3988
  ...Lt,
4005
3989
  objects: e.map((e) => ({ ...e })),
4006
3990
  ...n
@@ -4029,7 +4013,7 @@ function qt({ availableObjects: e = [], templates: t = [], initialDraft: n, onCo
4029
4013
  description: d("appDesigner.stepBrandingDesc"),
4030
4014
  icon: "Palette"
4031
4015
  }
4032
- ], [d]), C = p === 0, w = p === S.length - 1, T = s(() => b.name.length > 0 && Be(b.name) && b.title.trim().length > 0, [b.name, b.title]), E = s(() => p !== 0 || T, [p, T]), D = i((e) => {
4016
+ ], [d]), C = p === 0, w = p === S.length - 1, T = s(() => b.name.length > 0 && He(b.name) && b.title.trim().length > 0, [b.name, b.title]), E = s(() => p !== 0 || T, [p, T]), D = i((e) => {
4033
4017
  x((t) => ({
4034
4018
  ...t,
4035
4019
  ...e
@@ -4131,7 +4115,7 @@ function qt({ availableObjects: e = [], templates: t = [], initialDraft: n, onCo
4131
4115
  onClick: f.onCancel,
4132
4116
  className: "rounded p-1 text-gray-400 hover:text-gray-600",
4133
4117
  "aria-label": d("common.close"),
4134
- children: /* @__PURE__ */ J(Le, { className: "h-4 w-4" })
4118
+ children: /* @__PURE__ */ J(Re, { className: "h-4 w-4" })
4135
4119
  })]
4136
4120
  }),
4137
4121
  /* @__PURE__ */ J("p", {
@@ -4284,6 +4268,11 @@ var Zt = {
4284
4268
  color: "bg-sky-100 text-sky-700",
4285
4269
  Icon: V
4286
4270
  },
4271
+ component: {
4272
+ labelKey: "appDesigner.navTypeComponent",
4273
+ color: "bg-indigo-100 text-indigo-700",
4274
+ Icon: xe
4275
+ },
4287
4276
  group: {
4288
4277
  labelKey: "appDesigner.navTypeGroup",
4289
4278
  color: "bg-purple-100 text-purple-700",
@@ -4330,10 +4319,10 @@ var Zt = {
4330
4319
  }
4331
4320
  ];
4332
4321
  function $t({ item: e, depth: t, index: n, total: r, readOnly: i, onRemove: a, onMoveUp: o, onMoveDown: s, onToggleExpand: c, onUpdateLabel: u, onUpdateIcon: d, onToggleVisible: f, onAddChild: p, expandedIds: m, t: h }) {
4333
- let [_, b] = l(!1), [x, S] = l(He(e.label) ?? ""), [C, w] = l(!1), [T, E] = l(e.icon || ""), D = Zt[e.type];
4322
+ let [_, b] = l(!1), [x, S] = l(We(e.label) ?? ""), [C, w] = l(!1), [T, E] = l(e.icon || ""), D = Zt[e.type];
4334
4323
  e.type === "group" && e.children && e.children.length;
4335
4324
  let A = m.has(e.id), j = e.visible === !1, M = () => {
4336
- x.trim() ? u(e.id, x.trim()) : S(He(e.label) ?? ""), b(!1);
4325
+ x.trim() ? u(e.id, x.trim()) : S(We(e.label) ?? ""), b(!1);
4337
4326
  }, N = () => {
4338
4327
  d(e.id, T.trim()), w(!1);
4339
4328
  };
@@ -4384,16 +4373,16 @@ function $t({ item: e, depth: t, index: n, total: r, readOnly: i, onRemove: a, o
4384
4373
  onChange: (e) => S(e.target.value),
4385
4374
  onBlur: M,
4386
4375
  onKeyDown: (t) => {
4387
- t.key === "Enter" && M(), t.key === "Escape" && (S(He(e.label) ?? ""), b(!1));
4376
+ t.key === "Enter" && M(), t.key === "Escape" && (S(We(e.label) ?? ""), b(!1));
4388
4377
  },
4389
4378
  autoFocus: !0,
4390
4379
  className: "flex-1 rounded border border-blue-300 px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-blue-400"
4391
4380
  }) : /* @__PURE__ */ J("span", {
4392
4381
  className: Jt("flex-1 truncate text-sm text-gray-800", !i && "cursor-text"),
4393
4382
  onDoubleClick: () => {
4394
- !i && e.type !== "separator" && (S(He(e.label) ?? ""), b(!0));
4383
+ !i && e.type !== "separator" && (S(We(e.label) ?? ""), b(!0));
4395
4384
  },
4396
- children: He(e.label)
4385
+ children: We(e.label)
4397
4386
  }),
4398
4387
  /* @__PURE__ */ J("span", {
4399
4388
  className: Jt("rounded-full px-2 py-0.5 text-[10px] font-medium", D.color),
@@ -4443,7 +4432,7 @@ function $t({ item: e, depth: t, index: n, total: r, readOnly: i, onRemove: a, o
4443
4432
  className: "rounded p-0.5 text-gray-400 hover:text-red-500 disabled:opacity-30",
4444
4433
  "aria-label": h("appDesigner.navRemove"),
4445
4434
  "data-testid": `nav-designer-remove-${e.id}`,
4446
- children: /* @__PURE__ */ J(Ae, { className: "h-3.5 w-3.5" })
4435
+ children: /* @__PURE__ */ J(je, { className: "h-3.5 w-3.5" })
4447
4436
  })
4448
4437
  ]
4449
4438
  }), e.type === "group" && A && e.children && /* @__PURE__ */ J(q, { children: e.children.map((n, r) => /* @__PURE__ */ J($t, {
@@ -4493,7 +4482,7 @@ function tn({ item: e, depth: t }) {
4493
4482
  style: { marginLeft: t * 12 },
4494
4483
  children: [/* @__PURE__ */ J(n.Icon, { className: "h-3 w-3 text-gray-400" }), /* @__PURE__ */ J("span", {
4495
4484
  className: "truncate",
4496
- children: He(e.label)
4485
+ children: We(e.label)
4497
4486
  })]
4498
4487
  }), e.type === "group" && e.children?.map((e) => /* @__PURE__ */ J(tn, {
4499
4488
  item: e,
@@ -4643,7 +4632,7 @@ function nn({ items: e, onChange: t, readOnly: n = !1, showPreview: r = !0, clas
4643
4632
  "data-testid": "nav-designer-import",
4644
4633
  className: Jt("inline-flex cursor-pointer items-center gap-1 rounded-md border border-gray-200 px-2.5 py-1 text-xs font-medium transition-colors hover:bg-gray-50", n && "cursor-not-allowed opacity-50"),
4645
4634
  children: [
4646
- /* @__PURE__ */ J(Pe, { className: "h-3 w-3" }),
4635
+ /* @__PURE__ */ J(Fe, { className: "h-3 w-3" }),
4647
4636
  u("appDesigner.navImportSchema"),
4648
4637
  /* @__PURE__ */ J("input", {
4649
4638
  ref: d,
@@ -4736,7 +4725,7 @@ var cn = [
4736
4725
  {
4737
4726
  type: "metric",
4738
4727
  label: "KPI Metric",
4739
- Icon: je
4728
+ Icon: Me
4740
4729
  },
4741
4730
  {
4742
4731
  type: "bar",
@@ -4756,7 +4745,7 @@ var cn = [
4756
4745
  {
4757
4746
  type: "table",
4758
4747
  label: "Table",
4759
- Icon: Oe
4748
+ Icon: ke
4760
4749
  },
4761
4750
  {
4762
4751
  type: "grid",
@@ -4816,7 +4805,7 @@ function dn({ widget: e, index: t, total: n, selected: r, readOnly: i, onSelect:
4816
4805
  className: "rounded p-0.5 text-gray-400 hover:text-red-500",
4817
4806
  "aria-label": "Remove widget",
4818
4807
  "data-testid": `dashboard-widget-remove-${e.id}`,
4819
- children: /* @__PURE__ */ J(Ae, { className: "h-3.5 w-3.5" })
4808
+ children: /* @__PURE__ */ J(je, { className: "h-3.5 w-3.5" })
4820
4809
  })
4821
4810
  ]
4822
4811
  })]
@@ -4845,7 +4834,7 @@ function fn({ widget: e, readOnly: t, onChange: n, onClose: r }) {
4845
4834
  onClick: r,
4846
4835
  className: "rounded p-0.5 text-gray-400 hover:text-gray-600",
4847
4836
  "aria-label": "Close",
4848
- children: /* @__PURE__ */ J(Le, { className: "h-4 w-4" })
4837
+ children: /* @__PURE__ */ J(Re, { className: "h-4 w-4" })
4849
4838
  })]
4850
4839
  }),
4851
4840
  /* @__PURE__ */ Y("div", {
@@ -5023,7 +5012,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5023
5012
  y,
5024
5013
  d,
5025
5014
  m
5026
- ]), { current: S, canUndo: C, canRedo: w, push: T, undo: E, redo: A } = et(e), j = i((e) => {
5015
+ ]), { current: S, canUndo: C, canRedo: w, push: T, undo: E, redo: A } = nt(e), j = i((e) => {
5027
5016
  T(e), t(e);
5028
5017
  }, [T, t]), M = S.widgets || [], N = M.find((e) => e.id === b), P = i((e) => {
5029
5018
  let t = un(), n = {
@@ -5175,7 +5164,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5175
5164
  disabled: !C,
5176
5165
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30",
5177
5166
  "aria-label": f("appDesigner.undo"),
5178
- children: /* @__PURE__ */ J(Ne, { className: "h-4 w-4" })
5167
+ children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
5179
5168
  }), /* @__PURE__ */ J("button", {
5180
5169
  type: "button",
5181
5170
  "data-testid": "dashboard-redo",
@@ -5183,7 +5172,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5183
5172
  disabled: !w,
5184
5173
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30",
5185
5174
  "aria-label": f("appDesigner.redo"),
5186
- children: /* @__PURE__ */ J(xe, { className: "h-4 w-4" })
5175
+ children: /* @__PURE__ */ J(Se, { className: "h-4 w-4" })
5187
5176
  })] }),
5188
5177
  /* @__PURE__ */ J("button", {
5189
5178
  type: "button",
@@ -5199,7 +5188,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5199
5188
  onClick: z,
5200
5189
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700",
5201
5190
  "aria-label": f("appDesigner.navImportSchema"),
5202
- children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
5191
+ children: /* @__PURE__ */ J(Fe, { className: "h-4 w-4" })
5203
5192
  }),
5204
5193
  /* @__PURE__ */ J("button", {
5205
5194
  type: "button",
@@ -5315,7 +5304,7 @@ var hn = [
5315
5304
  "system-ui"
5316
5305
  ];
5317
5306
  function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1, className: a, onExport: s, onImport: u }) {
5318
- let { t: d } = It(), [f, p] = l("light"), { current: m, push: h, canUndo: g, canRedo: _, undo: v, redo: y } = et(e), b = c(!0);
5307
+ let { t: d } = It(), [f, p] = l("light"), { current: m, push: h, canUndo: g, canRedo: _, undo: v, redo: y } = nt(e), b = c(!0);
5319
5308
  o(() => {
5320
5309
  if (b.current) {
5321
5310
  b.current = !1;
@@ -5395,7 +5384,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5395
5384
  disabled: !g || r,
5396
5385
  className: $("inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors", g && !r ? "border-gray-300 bg-white text-gray-700 hover:bg-gray-50" : "border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed"),
5397
5386
  title: d("appDesigner.undo"),
5398
- children: [/* @__PURE__ */ J(Ne, { className: "h-3.5 w-3.5" }), d("appDesigner.undo")]
5387
+ children: [/* @__PURE__ */ J(Pe, { className: "h-3.5 w-3.5" }), d("appDesigner.undo")]
5399
5388
  }),
5400
5389
  /* @__PURE__ */ Y("button", {
5401
5390
  "data-testid": "branding-redo",
@@ -5404,7 +5393,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5404
5393
  disabled: !_ || r,
5405
5394
  className: $("inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors", _ && !r ? "border-gray-300 bg-white text-gray-700 hover:bg-gray-50" : "border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed"),
5406
5395
  title: d("appDesigner.redo"),
5407
- children: [/* @__PURE__ */ J(xe, { className: "h-3.5 w-3.5" }), d("appDesigner.redo")]
5396
+ children: [/* @__PURE__ */ J(Se, { className: "h-3.5 w-3.5" }), d("appDesigner.redo")]
5408
5397
  }),
5409
5398
  /* @__PURE__ */ Y("button", {
5410
5399
  "data-testid": "branding-export",
@@ -5421,7 +5410,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5421
5410
  disabled: r,
5422
5411
  className: $("inline-flex items-center gap-1 rounded-md border px-2.5 py-1.5 text-xs font-medium shadow-sm transition-colors", r ? "border-gray-200 bg-gray-50 text-gray-400 cursor-not-allowed" : "border-gray-300 bg-white text-gray-700 hover:bg-gray-50"),
5423
5412
  title: d("appDesigner.brandingImport"),
5424
- children: [/* @__PURE__ */ J(Pe, { className: "h-3.5 w-3.5" }), d("appDesigner.brandingImport")]
5413
+ children: [/* @__PURE__ */ J(Fe, { className: "h-3.5 w-3.5" }), d("appDesigner.brandingImport")]
5425
5414
  })
5426
5415
  ]
5427
5416
  }), /* @__PURE__ */ Y("div", {
@@ -5529,7 +5518,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5529
5518
  children: d("appDesigner.fontFamily")
5530
5519
  }), /* @__PURE__ */ Y("div", {
5531
5520
  className: "relative",
5532
- children: [/* @__PURE__ */ J(Me, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-gray-400" }), /* @__PURE__ */ Y("select", {
5521
+ children: [/* @__PURE__ */ J(Ne, { className: "absolute left-2.5 top-2.5 h-4 w-4 text-gray-400" }), /* @__PURE__ */ Y("select", {
5533
5522
  id: "be-font",
5534
5523
  "data-testid": "branding-font-select",
5535
5524
  value: m.fontFamily ?? "",
@@ -5563,7 +5552,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5563
5552
  type: "button",
5564
5553
  onClick: () => p("light"),
5565
5554
  className: $("inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium transition-colors", f === "light" ? "bg-blue-50 text-blue-700" : "bg-white text-gray-600 hover:bg-gray-50"),
5566
- children: [/* @__PURE__ */ J(De, { className: "h-3.5 w-3.5" }), d("appDesigner.modeLight")]
5555
+ children: [/* @__PURE__ */ J(Oe, { className: "h-3.5 w-3.5" }), d("appDesigner.modeLight")]
5567
5556
  }), /* @__PURE__ */ Y("button", {
5568
5557
  "data-testid": "branding-mode-dark",
5569
5558
  type: "button",
@@ -5715,7 +5704,7 @@ var yn = [
5715
5704
  "CreditCard"
5716
5705
  ];
5717
5706
  function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjects: a = !0, readOnly: o = !1, className: c }) {
5718
- let { t: u } = It(), d = tt(), [f, p] = l(!1), [m, h] = l(null), g = s(() => a ? e : e.filter((e) => !e.isSystem), [e, a]), _ = s(() => new t({ items: g }), [g]), v = s(() => [
5707
+ let { t: u } = It(), d = rt(), [f, p] = l(!1), [m, h] = l(null), g = s(() => a ? e : e.filter((e) => !e.isSystem), [e, a]), _ = s(() => new t({ items: g }), [g]), v = s(() => [
5719
5708
  {
5720
5709
  field: "name",
5721
5710
  label: u("appDesigner.objectManager.objectName"),
@@ -5909,7 +5898,7 @@ function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjec
5909
5898
  ]
5910
5899
  })
5911
5900
  }),
5912
- /* @__PURE__ */ J(Ke, {
5901
+ /* @__PURE__ */ J(Je, {
5913
5902
  schema: y,
5914
5903
  dataSource: _,
5915
5904
  onRowClick: b,
@@ -5917,8 +5906,8 @@ function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjec
5917
5906
  onDelete: o ? void 0 : S,
5918
5907
  onAddRecord: o ? void 0 : C
5919
5908
  }),
5920
- f && /* @__PURE__ */ J(Je, { schema: D }),
5921
- /* @__PURE__ */ J(ot, {
5909
+ f && /* @__PURE__ */ J(Xe, { schema: D }),
5910
+ /* @__PURE__ */ J(ct, {
5922
5911
  isOpen: d.isOpen,
5923
5912
  title: d.title,
5924
5913
  message: d.message,
@@ -5939,7 +5928,7 @@ function Sn(...e) {
5939
5928
  var Cn = {
5940
5929
  text: {
5941
5930
  label: "Text",
5942
- Icon: Me
5931
+ Icon: Ne
5943
5932
  },
5944
5933
  textarea: {
5945
5934
  label: "Text Area",
@@ -5951,7 +5940,7 @@ var Cn = {
5951
5940
  },
5952
5941
  boolean: {
5953
5942
  label: "Checkbox",
5954
- Icon: ke
5943
+ Icon: Ae
5955
5944
  },
5956
5945
  date: {
5957
5946
  label: "Date",
@@ -6039,15 +6028,13 @@ var Cn = {
6039
6028
  },
6040
6029
  rating: {
6041
6030
  label: "Rating",
6042
- Icon: Ee
6031
+ Icon: De
6043
6032
  },
6044
6033
  slider: {
6045
6034
  label: "Slider",
6046
- Icon: we
6035
+ Icon: Te
6047
6036
  }
6048
- };
6049
- Object.keys(Cn);
6050
- var wn = {
6037
+ }, wn = {
6051
6038
  text: [
6052
6039
  "text",
6053
6040
  "textarea",
@@ -6091,7 +6078,7 @@ var wn = {
6091
6078
  "advanced"
6092
6079
  ];
6093
6080
  function En({ objectName: e, fields: n, onFieldsChange: r, readOnly: a = !1, className: o }) {
6094
- let { t: c } = It(), u = tt(), [d, f] = l(!1), [p, m] = l(null), [h, g] = l(""), _ = s(() => h ? n.filter((e) => e.type === h) : n, [n, h]), v = s(() => new t({ items: _ }), [_]), y = s(() => [
6081
+ let { t: c } = It(), u = rt(), [d, f] = l(!1), [p, m] = l(null), [h, g] = l(""), _ = s(() => h ? n.filter((e) => e.type === h) : n, [n, h]), v = s(() => new t({ items: _ }), [_]), y = s(() => [
6095
6082
  {
6096
6083
  field: "name",
6097
6084
  label: c("appDesigner.fieldDesigner.fieldName"),
@@ -6424,15 +6411,15 @@ function En({ objectName: e, fields: n, onFieldsChange: r, readOnly: a = !1, cla
6424
6411
  }, e.category))]
6425
6412
  })]
6426
6413
  }),
6427
- /* @__PURE__ */ J(Ke, {
6414
+ /* @__PURE__ */ J(Je, {
6428
6415
  schema: b,
6429
6416
  dataSource: v,
6430
6417
  onEdit: a ? void 0 : x,
6431
6418
  onDelete: a ? void 0 : S,
6432
6419
  onAddRecord: a ? void 0 : w
6433
6420
  }),
6434
- d && /* @__PURE__ */ J(qe, { schema: k }),
6435
- /* @__PURE__ */ J(ot, {
6421
+ d && /* @__PURE__ */ J(Ye, { schema: k }),
6422
+ /* @__PURE__ */ J(ct, {
6436
6423
  isOpen: u.isOpen,
6437
6424
  title: u.title,
6438
6425
  message: u.message,
@@ -6487,7 +6474,7 @@ function On({ versions: e, onRestore: t, className: n }) {
6487
6474
  /* @__PURE__ */ Y("div", {
6488
6475
  className: "flex items-center gap-2 mt-1 text-[0.65rem] text-muted-foreground/70",
6489
6476
  children: [
6490
- /* @__PURE__ */ J(Fe, { className: "h-2.5 w-2.5" }),
6477
+ /* @__PURE__ */ J(Ie, { className: "h-2.5 w-2.5" }),
6491
6478
  /* @__PURE__ */ J("span", { children: e.userName }),
6492
6479
  /* @__PURE__ */ J(x, { className: "h-2.5 w-2.5 ml-1" }),
6493
6480
  /* @__PURE__ */ J("span", { children: new Date(e.timestamp).toLocaleString() })
@@ -6509,7 +6496,7 @@ function On({ versions: e, onRestore: t, className: n }) {
6509
6496
  //#region src/pages/CreateAppPage.tsx
6510
6497
  var kn = "objectui-app-wizard-draft";
6511
6498
  function An() {
6512
- let e = Ye(), { appName: t } = Xe(), { objects: n, refresh: r } = We(), a = Ue(), o = (n || []).map((e) => ({
6499
+ let e = Ze(), { appName: t } = Qe(), { objects: n, refresh: r } = Ke(), a = Ge(), o = (n || []).map((e) => ({
6513
6500
  name: e.name,
6514
6501
  label: e.label || e.name,
6515
6502
  pluralLabel: e.pluralLabel,
@@ -6522,10 +6509,10 @@ function An() {
6522
6509
  } catch {}
6523
6510
  }, []), c = i(async (t) => {
6524
6511
  try {
6525
- let n = Ve(t), i = a?.getClient();
6526
- i && await i.meta.saveItem("app", t.name, n), localStorage.removeItem(kn), Ze.success(`Application "${t.title}" created successfully`), await r?.(), e(`/apps/${t.name}`);
6512
+ let n = Ue(t), i = a?.getClient();
6513
+ i && await i.meta.saveItem("app", t.name, n), localStorage.removeItem(kn), $e.success(`Application "${t.title}" created successfully`), await r?.(), e(`/apps/${t.name}`);
6527
6514
  } catch (e) {
6528
- Ze.error(e?.message || "Failed to create application");
6515
+ $e.error(e?.message || "Failed to create application");
6529
6516
  }
6530
6517
  }, [
6531
6518
  e,
@@ -6535,7 +6522,7 @@ function An() {
6535
6522
  e(t ? `/apps/${t}` : "/");
6536
6523
  }, [e, t]), u = i((e) => {
6537
6524
  try {
6538
- localStorage.setItem(kn, JSON.stringify(e)), Ze.info("Draft saved");
6525
+ localStorage.setItem(kn, JSON.stringify(e)), $e.info("Draft saved");
6539
6526
  } catch {}
6540
6527
  }, []);
6541
6528
  return /* @__PURE__ */ J("div", {
@@ -6553,7 +6540,7 @@ function An() {
6553
6540
  //#endregion
6554
6541
  //#region src/pages/EditAppPage.tsx
6555
6542
  function jn() {
6556
- let e = Ye(), { appName: t, editAppName: n } = Xe(), { apps: r, objects: a, refresh: o } = We(), c = Ue(), l = n || t, u = r.find((e) => e.name === l), d = (a || []).map((e) => ({
6543
+ let e = Ze(), { appName: t, editAppName: n } = Qe(), { apps: r, objects: a, refresh: o } = Ke(), c = Ge(), l = n || t, u = r.find((e) => e.name === l), d = (a || []).map((e) => ({
6557
6544
  name: e.name,
6558
6545
  label: e.label || e.name,
6559
6546
  pluralLabel: e.pluralLabel,
@@ -6575,13 +6562,13 @@ function jn() {
6575
6562
  };
6576
6563
  }, [u]), p = i(async (t) => {
6577
6564
  try {
6578
- let n = Ve(t), r = {
6565
+ let n = Ue(t), r = {
6579
6566
  ...u,
6580
6567
  ...n
6581
6568
  }, i = c?.getClient();
6582
- i && await i.meta.saveItem("app", t.name, r), Ze.success(`Application "${t.title}" updated successfully`), await o?.(), e(`/apps/${t.name}`);
6569
+ i && await i.meta.saveItem("app", t.name, r), $e.success(`Application "${t.title}" updated successfully`), await o?.(), e(`/apps/${t.name}`);
6583
6570
  } catch (e) {
6584
- Ze.error(e?.message || "Failed to update application");
6571
+ $e.error(e?.message || "Failed to update application");
6585
6572
  }
6586
6573
  }, [
6587
6574
  e,
@@ -6592,7 +6579,7 @@ function jn() {
6592
6579
  e(t ? `/apps/${t}` : "/");
6593
6580
  }, [e, t]), h = i((e) => {
6594
6581
  try {
6595
- localStorage.setItem(`objectui-edit-draft-${l}`, JSON.stringify(e)), Ze.info("Draft saved");
6582
+ localStorage.setItem(`objectui-edit-draft-${l}`, JSON.stringify(e)), $e.info("Draft saved");
6596
6583
  } catch {}
6597
6584
  }, [l]);
6598
6585
  return u ? /* @__PURE__ */ J("div", {
@@ -6621,7 +6608,7 @@ function jn() {
6621
6608
  //#endregion
6622
6609
  //#region src/pages/DashboardDesignPage.tsx
6623
6610
  function Mn() {
6624
- let e = Ye(), { dashboardName: t } = Xe(), n = Ue(), { dashboards: r, refresh: a } = We(), s = r?.find((e) => e.name === t), [u, f] = l(() => s || {
6611
+ let e = Ze(), { dashboardName: t } = Qe(), n = Ge(), { dashboards: r, refresh: a } = Ke(), s = r?.find((e) => e.name === t), [u, f] = l(() => s || {
6625
6612
  type: "dashboard",
6626
6613
  name: t ?? "",
6627
6614
  title: t ?? "",
@@ -6644,16 +6631,16 @@ function Mn() {
6644
6631
  o(() => {
6645
6632
  let e = (e) => {
6646
6633
  (e.ctrlKey || e.metaKey) && e.key === "s" && (e.preventDefault(), m(p.current).then((e) => {
6647
- e && Ze.success("Dashboard saved");
6634
+ e && $e.success("Dashboard saved");
6648
6635
  }));
6649
6636
  };
6650
6637
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
6651
6638
  }, [m]);
6652
6639
  let g = i((e) => {
6653
6640
  let n = new Blob([JSON.stringify(e, null, 2)], { type: "application/json" }), r = URL.createObjectURL(n), i = document.createElement("a");
6654
- i.href = r, i.download = `${t || "dashboard"}.json`, i.click(), URL.revokeObjectURL(r), Ze.success("Dashboard schema exported");
6641
+ i.href = r, i.download = `${t || "dashboard"}.json`, i.click(), URL.revokeObjectURL(r), $e.success("Dashboard schema exported");
6655
6642
  }, [t]), _ = i((e) => {
6656
- Ze.success("Dashboard schema imported"), h(e);
6643
+ $e.success("Dashboard schema imported"), h(e);
6657
6644
  }, [h]);
6658
6645
  return s ? /* @__PURE__ */ Y("div", {
6659
6646
  className: "h-full flex flex-col",
@@ -6709,7 +6696,7 @@ function Pn({ client: e, clientConfig: t, hideSystemObjects: n = !1, readOnly: r
6709
6696
  let u = s(() => {
6710
6697
  if (e) return e;
6711
6698
  if (!t) throw Error("MetadataObjectsPage: provide either `client` or `clientConfig`.");
6712
- return new Qe(t);
6699
+ return new et(t);
6713
6700
  }, [e, t]), [d, f] = l({
6714
6701
  loading: !0,
6715
6702
  error: null,
@@ -6801,7 +6788,7 @@ function Pn({ client: e, clientConfig: t, hideSystemObjects: n = !1, readOnly: r
6801
6788
  }
6802
6789
  //#endregion
6803
6790
  //#region src/MetadataFieldsPage.tsx
6804
- var Fn = /* @__PURE__ */ new Set(/* @__PURE__ */ "text.textarea.number.boolean.date.datetime.time.select.email.phone.url.password.currency.percent.lookup.formula.autonumber.file.image.markdown.html.color.code.location.address.rating.slider".split("."));
6791
+ var Fn = new Set(Ve);
6805
6792
  function In(e) {
6806
6793
  return e && Fn.has(e) ? e : "text";
6807
6794
  }
@@ -6851,7 +6838,7 @@ function zn({ objectName: e, client: t, clientConfig: n, readOnly: r = !1, class
6851
6838
  let c = s(() => {
6852
6839
  if (t) return t;
6853
6840
  if (!n) throw Error("MetadataFieldsPage: provide either `client` or `clientConfig`.");
6854
- return new Qe(n);
6841
+ return new et(n);
6855
6842
  }, [t, n]), [u, d] = l({
6856
6843
  loading: !0,
6857
6844
  error: null,
@@ -6931,7 +6918,7 @@ function zn({ objectName: e, client: t, clientConfig: n, readOnly: r = !1, class
6931
6918
  })]
6932
6919
  });
6933
6920
  }
6934
- e.register("page-designer", vt, {
6921
+ e.register("page-designer", bt, {
6935
6922
  namespace: "plugin-designer",
6936
6923
  label: "Page Designer",
6937
6924
  category: "Designer",
@@ -6965,7 +6952,7 @@ e.register("page-designer", vt, {
6965
6952
  defaultValue: !1
6966
6953
  }
6967
6954
  ]
6968
- }), e.register("data-model-designer", wt, {
6955
+ }), e.register("data-model-designer", Et, {
6969
6956
  namespace: "plugin-designer",
6970
6957
  label: "Data Model Designer",
6971
6958
  category: "Designer",
@@ -6993,7 +6980,7 @@ e.register("page-designer", vt, {
6993
6980
  defaultValue: !1
6994
6981
  }
6995
6982
  ]
6996
- }), e.register("process-designer", kt, {
6983
+ }), e.register("process-designer", jt, {
6997
6984
  namespace: "plugin-designer",
6998
6985
  label: "Process Designer (BPMN)",
6999
6986
  category: "Designer",
@@ -7032,7 +7019,7 @@ e.register("page-designer", vt, {
7032
7019
  defaultValue: !1
7033
7020
  }
7034
7021
  ]
7035
- }), e.register("report-designer", Nt, {
7022
+ }), e.register("report-designer", Ft, {
7036
7023
  namespace: "plugin-designer",
7037
7024
  label: "Report Designer",
7038
7025
  category: "Designer",
@@ -7199,4 +7186,4 @@ e.register("page-designer", vt, {
7199
7186
  ]
7200
7187
  });
7201
7188
  //#endregion
7202
- export { qt as AppCreationWizard, _n as BrandingEditor, mt as CollaborationProvider, ot as ConfirmDialog, gt as ConnectionStatusIndicator, An as CreateAppPage, Mn as DashboardDesignPage, mn as DashboardEditor, wt as DataModelDesigner, jn as EditAppPage, on as EditorModeToggle, En as FieldDesigner, zn as MetadataFieldsPage, Pn as MetadataObjectsPage, dt as Minimap, nn as NavigationDesigner, xn as ObjectManager, vt as PageDesigner, kt as ProcessDesigner, ct as PropertyEditor, Nt as ReportDesigner, On as VersionHistory, it as useCanvasPanZoom, rt as useClipboard, tt as useConfirmDialog, bt as useDesignerHistory, nt as useMultiSelect, et as useUndoRedo };
7189
+ export { qt as AppCreationWizard, _n as BrandingEditor, gt as CollaborationProvider, ct as ConfirmDialog, vt as ConnectionStatusIndicator, An as CreateAppPage, Mn as DashboardDesignPage, mn as DashboardEditor, Et as DataModelDesigner, jn as EditAppPage, on as EditorModeToggle, En as FieldDesigner, zn as MetadataFieldsPage, Pn as MetadataObjectsPage, pt as Minimap, nn as NavigationDesigner, xn as ObjectManager, bt as PageDesigner, jt as ProcessDesigner, ut as PropertyEditor, Ft as ReportDesigner, On as VersionHistory, ot as useCanvasPanZoom, at as useClipboard, rt as useConfirmDialog, St as useDesignerHistory, it as useMultiSelect, nt as useUndoRedo };