@object-ui/plugin-designer 16.0.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 +389 -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 +3 -4
  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 +211 -298
  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 +14 -13
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,19 +4805,16 @@ 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
  })]
4823
- }), /* @__PURE__ */ Y("div", {
4812
+ }), /* @__PURE__ */ J("div", {
4824
4813
  className: "mt-1.5 flex items-center gap-2",
4825
- children: [/* @__PURE__ */ J("span", {
4814
+ children: /* @__PURE__ */ J("span", {
4826
4815
  className: "rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600",
4827
4816
  children: u.label
4828
- }), e.object && /* @__PURE__ */ J("span", {
4829
- className: "text-[10px] text-gray-400",
4830
- children: e.object
4831
- })]
4817
+ })
4832
4818
  })]
4833
4819
  });
4834
4820
  }
@@ -4848,7 +4834,7 @@ function fn({ widget: e, readOnly: t, onChange: n, onClose: r }) {
4848
4834
  onClick: r,
4849
4835
  className: "rounded p-0.5 text-gray-400 hover:text-gray-600",
4850
4836
  "aria-label": "Close",
4851
- children: /* @__PURE__ */ J(Le, { className: "h-4 w-4" })
4837
+ children: /* @__PURE__ */ J(Re, { className: "h-4 w-4" })
4852
4838
  })]
4853
4839
  }),
4854
4840
  /* @__PURE__ */ Y("div", {
@@ -4886,77 +4872,6 @@ function fn({ widget: e, readOnly: t, onChange: n, onClose: r }) {
4886
4872
  }, e.type))
4887
4873
  })]
4888
4874
  }),
4889
- /* @__PURE__ */ Y("div", {
4890
- className: "space-y-1",
4891
- children: [/* @__PURE__ */ J("label", {
4892
- htmlFor: "widget-object",
4893
- className: "text-xs font-medium text-gray-600",
4894
- children: "Data Source (Object)"
4895
- }), /* @__PURE__ */ J("input", {
4896
- id: "widget-object",
4897
- "data-testid": "widget-prop-object",
4898
- type: "text",
4899
- value: e.object ?? "",
4900
- onChange: (e) => n({ object: e.target.value }),
4901
- disabled: t,
4902
- placeholder: "e.g. orders",
4903
- className: "block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50"
4904
- })]
4905
- }),
4906
- /* @__PURE__ */ Y("div", {
4907
- className: "space-y-1",
4908
- children: [/* @__PURE__ */ J("label", {
4909
- htmlFor: "widget-value-field",
4910
- className: "text-xs font-medium text-gray-600",
4911
- children: "Value Field"
4912
- }), /* @__PURE__ */ J("input", {
4913
- id: "widget-value-field",
4914
- "data-testid": "widget-prop-value-field",
4915
- type: "text",
4916
- value: e.valueField ?? "",
4917
- onChange: (e) => n({ valueField: e.target.value }),
4918
- disabled: t,
4919
- placeholder: "e.g. amount",
4920
- className: "block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50"
4921
- })]
4922
- }),
4923
- /* @__PURE__ */ Y("div", {
4924
- className: "space-y-1",
4925
- children: [/* @__PURE__ */ J("label", {
4926
- htmlFor: "widget-aggregate",
4927
- className: "text-xs font-medium text-gray-600",
4928
- children: "Aggregate"
4929
- }), /* @__PURE__ */ Y("select", {
4930
- id: "widget-aggregate",
4931
- "data-testid": "widget-prop-aggregate",
4932
- value: e.aggregate ?? "count",
4933
- onChange: (e) => n({ aggregate: e.target.value }),
4934
- disabled: t,
4935
- className: "block w-full rounded-md border border-gray-300 px-2.5 py-1.5 text-sm outline-none focus:border-blue-500 focus:ring-1 focus:ring-blue-500 disabled:bg-gray-50",
4936
- children: [
4937
- /* @__PURE__ */ J("option", {
4938
- value: "count",
4939
- children: "Count"
4940
- }),
4941
- /* @__PURE__ */ J("option", {
4942
- value: "sum",
4943
- children: "Sum"
4944
- }),
4945
- /* @__PURE__ */ J("option", {
4946
- value: "avg",
4947
- children: "Average"
4948
- }),
4949
- /* @__PURE__ */ J("option", {
4950
- value: "min",
4951
- children: "Min"
4952
- }),
4953
- /* @__PURE__ */ J("option", {
4954
- value: "max",
4955
- children: "Max"
4956
- })
4957
- ]
4958
- })]
4959
- }),
4960
4875
  /* @__PURE__ */ Y("div", {
4961
4876
  className: "space-y-1",
4962
4877
  children: [/* @__PURE__ */ J("label", {
@@ -5097,7 +5012,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5097
5012
  y,
5098
5013
  d,
5099
5014
  m
5100
- ]), { 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) => {
5101
5016
  T(e), t(e);
5102
5017
  }, [T, t]), M = S.widgets || [], N = M.find((e) => e.id === b), P = i((e) => {
5103
5018
  let t = un(), n = {
@@ -5249,7 +5164,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5249
5164
  disabled: !C,
5250
5165
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30",
5251
5166
  "aria-label": f("appDesigner.undo"),
5252
- children: /* @__PURE__ */ J(Ne, { className: "h-4 w-4" })
5167
+ children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
5253
5168
  }), /* @__PURE__ */ J("button", {
5254
5169
  type: "button",
5255
5170
  "data-testid": "dashboard-redo",
@@ -5257,7 +5172,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5257
5172
  disabled: !w,
5258
5173
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700 disabled:opacity-30",
5259
5174
  "aria-label": f("appDesigner.redo"),
5260
- children: /* @__PURE__ */ J(xe, { className: "h-4 w-4" })
5175
+ children: /* @__PURE__ */ J(Se, { className: "h-4 w-4" })
5261
5176
  })] }),
5262
5177
  /* @__PURE__ */ J("button", {
5263
5178
  type: "button",
@@ -5273,7 +5188,7 @@ function mn({ schema: e, onChange: t, readOnly: n = !1, className: r, onExport:
5273
5188
  onClick: z,
5274
5189
  className: "rounded p-1.5 text-gray-400 hover:text-gray-700",
5275
5190
  "aria-label": f("appDesigner.navImportSchema"),
5276
- children: /* @__PURE__ */ J(Pe, { className: "h-4 w-4" })
5191
+ children: /* @__PURE__ */ J(Fe, { className: "h-4 w-4" })
5277
5192
  }),
5278
5193
  /* @__PURE__ */ J("button", {
5279
5194
  type: "button",
@@ -5389,7 +5304,7 @@ var hn = [
5389
5304
  "system-ui"
5390
5305
  ];
5391
5306
  function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1, className: a, onExport: s, onImport: u }) {
5392
- 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);
5393
5308
  o(() => {
5394
5309
  if (b.current) {
5395
5310
  b.current = !1;
@@ -5469,7 +5384,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5469
5384
  disabled: !g || r,
5470
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"),
5471
5386
  title: d("appDesigner.undo"),
5472
- 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")]
5473
5388
  }),
5474
5389
  /* @__PURE__ */ Y("button", {
5475
5390
  "data-testid": "branding-redo",
@@ -5478,7 +5393,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5478
5393
  disabled: !_ || r,
5479
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"),
5480
5395
  title: d("appDesigner.redo"),
5481
- 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")]
5482
5397
  }),
5483
5398
  /* @__PURE__ */ Y("button", {
5484
5399
  "data-testid": "branding-export",
@@ -5495,7 +5410,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5495
5410
  disabled: r,
5496
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"),
5497
5412
  title: d("appDesigner.brandingImport"),
5498
- 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")]
5499
5414
  })
5500
5415
  ]
5501
5416
  }), /* @__PURE__ */ Y("div", {
@@ -5603,7 +5518,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5603
5518
  children: d("appDesigner.fontFamily")
5604
5519
  }), /* @__PURE__ */ Y("div", {
5605
5520
  className: "relative",
5606
- 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", {
5607
5522
  id: "be-font",
5608
5523
  "data-testid": "branding-font-select",
5609
5524
  value: m.fontFamily ?? "",
@@ -5637,7 +5552,7 @@ function _n({ branding: e, onChange: t, appTitle: n = "My App", readOnly: r = !1
5637
5552
  type: "button",
5638
5553
  onClick: () => p("light"),
5639
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"),
5640
- 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")]
5641
5556
  }), /* @__PURE__ */ Y("button", {
5642
5557
  "data-testid": "branding-mode-dark",
5643
5558
  type: "button",
@@ -5789,7 +5704,7 @@ var yn = [
5789
5704
  "CreditCard"
5790
5705
  ];
5791
5706
  function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjects: a = !0, readOnly: o = !1, className: c }) {
5792
- 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(() => [
5793
5708
  {
5794
5709
  field: "name",
5795
5710
  label: u("appDesigner.objectManager.objectName"),
@@ -5983,7 +5898,7 @@ function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjec
5983
5898
  ]
5984
5899
  })
5985
5900
  }),
5986
- /* @__PURE__ */ J(Ke, {
5901
+ /* @__PURE__ */ J(Je, {
5987
5902
  schema: y,
5988
5903
  dataSource: _,
5989
5904
  onRowClick: b,
@@ -5991,8 +5906,8 @@ function xn({ objects: e, onObjectsChange: n, onSelectObject: r, showSystemObjec
5991
5906
  onDelete: o ? void 0 : S,
5992
5907
  onAddRecord: o ? void 0 : C
5993
5908
  }),
5994
- f && /* @__PURE__ */ J(Je, { schema: D }),
5995
- /* @__PURE__ */ J(ot, {
5909
+ f && /* @__PURE__ */ J(Xe, { schema: D }),
5910
+ /* @__PURE__ */ J(ct, {
5996
5911
  isOpen: d.isOpen,
5997
5912
  title: d.title,
5998
5913
  message: d.message,
@@ -6013,7 +5928,7 @@ function Sn(...e) {
6013
5928
  var Cn = {
6014
5929
  text: {
6015
5930
  label: "Text",
6016
- Icon: Me
5931
+ Icon: Ne
6017
5932
  },
6018
5933
  textarea: {
6019
5934
  label: "Text Area",
@@ -6025,7 +5940,7 @@ var Cn = {
6025
5940
  },
6026
5941
  boolean: {
6027
5942
  label: "Checkbox",
6028
- Icon: ke
5943
+ Icon: Ae
6029
5944
  },
6030
5945
  date: {
6031
5946
  label: "Date",
@@ -6113,15 +6028,13 @@ var Cn = {
6113
6028
  },
6114
6029
  rating: {
6115
6030
  label: "Rating",
6116
- Icon: Ee
6031
+ Icon: De
6117
6032
  },
6118
6033
  slider: {
6119
6034
  label: "Slider",
6120
- Icon: we
6035
+ Icon: Te
6121
6036
  }
6122
- };
6123
- Object.keys(Cn);
6124
- var wn = {
6037
+ }, wn = {
6125
6038
  text: [
6126
6039
  "text",
6127
6040
  "textarea",
@@ -6165,7 +6078,7 @@ var wn = {
6165
6078
  "advanced"
6166
6079
  ];
6167
6080
  function En({ objectName: e, fields: n, onFieldsChange: r, readOnly: a = !1, className: o }) {
6168
- 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(() => [
6169
6082
  {
6170
6083
  field: "name",
6171
6084
  label: c("appDesigner.fieldDesigner.fieldName"),
@@ -6498,15 +6411,15 @@ function En({ objectName: e, fields: n, onFieldsChange: r, readOnly: a = !1, cla
6498
6411
  }, e.category))]
6499
6412
  })]
6500
6413
  }),
6501
- /* @__PURE__ */ J(Ke, {
6414
+ /* @__PURE__ */ J(Je, {
6502
6415
  schema: b,
6503
6416
  dataSource: v,
6504
6417
  onEdit: a ? void 0 : x,
6505
6418
  onDelete: a ? void 0 : S,
6506
6419
  onAddRecord: a ? void 0 : w
6507
6420
  }),
6508
- d && /* @__PURE__ */ J(qe, { schema: k }),
6509
- /* @__PURE__ */ J(ot, {
6421
+ d && /* @__PURE__ */ J(Ye, { schema: k }),
6422
+ /* @__PURE__ */ J(ct, {
6510
6423
  isOpen: u.isOpen,
6511
6424
  title: u.title,
6512
6425
  message: u.message,
@@ -6561,7 +6474,7 @@ function On({ versions: e, onRestore: t, className: n }) {
6561
6474
  /* @__PURE__ */ Y("div", {
6562
6475
  className: "flex items-center gap-2 mt-1 text-[0.65rem] text-muted-foreground/70",
6563
6476
  children: [
6564
- /* @__PURE__ */ J(Fe, { className: "h-2.5 w-2.5" }),
6477
+ /* @__PURE__ */ J(Ie, { className: "h-2.5 w-2.5" }),
6565
6478
  /* @__PURE__ */ J("span", { children: e.userName }),
6566
6479
  /* @__PURE__ */ J(x, { className: "h-2.5 w-2.5 ml-1" }),
6567
6480
  /* @__PURE__ */ J("span", { children: new Date(e.timestamp).toLocaleString() })
@@ -6583,7 +6496,7 @@ function On({ versions: e, onRestore: t, className: n }) {
6583
6496
  //#region src/pages/CreateAppPage.tsx
6584
6497
  var kn = "objectui-app-wizard-draft";
6585
6498
  function An() {
6586
- 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) => ({
6587
6500
  name: e.name,
6588
6501
  label: e.label || e.name,
6589
6502
  pluralLabel: e.pluralLabel,
@@ -6596,10 +6509,10 @@ function An() {
6596
6509
  } catch {}
6597
6510
  }, []), c = i(async (t) => {
6598
6511
  try {
6599
- let n = Ve(t), i = a?.getClient();
6600
- 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}`);
6601
6514
  } catch (e) {
6602
- Ze.error(e?.message || "Failed to create application");
6515
+ $e.error(e?.message || "Failed to create application");
6603
6516
  }
6604
6517
  }, [
6605
6518
  e,
@@ -6609,7 +6522,7 @@ function An() {
6609
6522
  e(t ? `/apps/${t}` : "/");
6610
6523
  }, [e, t]), u = i((e) => {
6611
6524
  try {
6612
- localStorage.setItem(kn, JSON.stringify(e)), Ze.info("Draft saved");
6525
+ localStorage.setItem(kn, JSON.stringify(e)), $e.info("Draft saved");
6613
6526
  } catch {}
6614
6527
  }, []);
6615
6528
  return /* @__PURE__ */ J("div", {
@@ -6627,7 +6540,7 @@ function An() {
6627
6540
  //#endregion
6628
6541
  //#region src/pages/EditAppPage.tsx
6629
6542
  function jn() {
6630
- 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) => ({
6631
6544
  name: e.name,
6632
6545
  label: e.label || e.name,
6633
6546
  pluralLabel: e.pluralLabel,
@@ -6649,13 +6562,13 @@ function jn() {
6649
6562
  };
6650
6563
  }, [u]), p = i(async (t) => {
6651
6564
  try {
6652
- let n = Ve(t), r = {
6565
+ let n = Ue(t), r = {
6653
6566
  ...u,
6654
6567
  ...n
6655
6568
  }, i = c?.getClient();
6656
- 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}`);
6657
6570
  } catch (e) {
6658
- Ze.error(e?.message || "Failed to update application");
6571
+ $e.error(e?.message || "Failed to update application");
6659
6572
  }
6660
6573
  }, [
6661
6574
  e,
@@ -6666,7 +6579,7 @@ function jn() {
6666
6579
  e(t ? `/apps/${t}` : "/");
6667
6580
  }, [e, t]), h = i((e) => {
6668
6581
  try {
6669
- 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");
6670
6583
  } catch {}
6671
6584
  }, [l]);
6672
6585
  return u ? /* @__PURE__ */ J("div", {
@@ -6695,7 +6608,7 @@ function jn() {
6695
6608
  //#endregion
6696
6609
  //#region src/pages/DashboardDesignPage.tsx
6697
6610
  function Mn() {
6698
- 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 || {
6699
6612
  type: "dashboard",
6700
6613
  name: t ?? "",
6701
6614
  title: t ?? "",
@@ -6718,16 +6631,16 @@ function Mn() {
6718
6631
  o(() => {
6719
6632
  let e = (e) => {
6720
6633
  (e.ctrlKey || e.metaKey) && e.key === "s" && (e.preventDefault(), m(p.current).then((e) => {
6721
- e && Ze.success("Dashboard saved");
6634
+ e && $e.success("Dashboard saved");
6722
6635
  }));
6723
6636
  };
6724
6637
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
6725
6638
  }, [m]);
6726
6639
  let g = i((e) => {
6727
6640
  let n = new Blob([JSON.stringify(e, null, 2)], { type: "application/json" }), r = URL.createObjectURL(n), i = document.createElement("a");
6728
- 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");
6729
6642
  }, [t]), _ = i((e) => {
6730
- Ze.success("Dashboard schema imported"), h(e);
6643
+ $e.success("Dashboard schema imported"), h(e);
6731
6644
  }, [h]);
6732
6645
  return s ? /* @__PURE__ */ Y("div", {
6733
6646
  className: "h-full flex flex-col",
@@ -6783,7 +6696,7 @@ function Pn({ client: e, clientConfig: t, hideSystemObjects: n = !1, readOnly: r
6783
6696
  let u = s(() => {
6784
6697
  if (e) return e;
6785
6698
  if (!t) throw Error("MetadataObjectsPage: provide either `client` or `clientConfig`.");
6786
- return new Qe(t);
6699
+ return new et(t);
6787
6700
  }, [e, t]), [d, f] = l({
6788
6701
  loading: !0,
6789
6702
  error: null,
@@ -6875,7 +6788,7 @@ function Pn({ client: e, clientConfig: t, hideSystemObjects: n = !1, readOnly: r
6875
6788
  }
6876
6789
  //#endregion
6877
6790
  //#region src/MetadataFieldsPage.tsx
6878
- 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);
6879
6792
  function In(e) {
6880
6793
  return e && Fn.has(e) ? e : "text";
6881
6794
  }
@@ -6925,7 +6838,7 @@ function zn({ objectName: e, client: t, clientConfig: n, readOnly: r = !1, class
6925
6838
  let c = s(() => {
6926
6839
  if (t) return t;
6927
6840
  if (!n) throw Error("MetadataFieldsPage: provide either `client` or `clientConfig`.");
6928
- return new Qe(n);
6841
+ return new et(n);
6929
6842
  }, [t, n]), [u, d] = l({
6930
6843
  loading: !0,
6931
6844
  error: null,
@@ -7005,7 +6918,7 @@ function zn({ objectName: e, client: t, clientConfig: n, readOnly: r = !1, class
7005
6918
  })]
7006
6919
  });
7007
6920
  }
7008
- e.register("page-designer", vt, {
6921
+ e.register("page-designer", bt, {
7009
6922
  namespace: "plugin-designer",
7010
6923
  label: "Page Designer",
7011
6924
  category: "Designer",
@@ -7039,7 +6952,7 @@ e.register("page-designer", vt, {
7039
6952
  defaultValue: !1
7040
6953
  }
7041
6954
  ]
7042
- }), e.register("data-model-designer", wt, {
6955
+ }), e.register("data-model-designer", Et, {
7043
6956
  namespace: "plugin-designer",
7044
6957
  label: "Data Model Designer",
7045
6958
  category: "Designer",
@@ -7067,7 +6980,7 @@ e.register("page-designer", vt, {
7067
6980
  defaultValue: !1
7068
6981
  }
7069
6982
  ]
7070
- }), e.register("process-designer", kt, {
6983
+ }), e.register("process-designer", jt, {
7071
6984
  namespace: "plugin-designer",
7072
6985
  label: "Process Designer (BPMN)",
7073
6986
  category: "Designer",
@@ -7106,7 +7019,7 @@ e.register("page-designer", vt, {
7106
7019
  defaultValue: !1
7107
7020
  }
7108
7021
  ]
7109
- }), e.register("report-designer", Nt, {
7022
+ }), e.register("report-designer", Ft, {
7110
7023
  namespace: "plugin-designer",
7111
7024
  label: "Report Designer",
7112
7025
  category: "Designer",
@@ -7273,4 +7186,4 @@ e.register("page-designer", vt, {
7273
7186
  ]
7274
7187
  });
7275
7188
  //#endregion
7276
- 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 };