@floegence/floe-webapp-core 0.53.4 → 0.54.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 (28) hide show
  1. package/dist/components/ui/InfiniteCanvas.js +111 -100
  2. package/dist/components/ui/SurfaceAnchoredLayer.d.ts +10 -0
  3. package/dist/components/ui/SurfaceAnchoredLayer.js +89 -0
  4. package/dist/components/ui/index.d.ts +1 -0
  5. package/dist/components/workbench/WorkbenchCanvas.d.ts +1 -1
  6. package/dist/components/workbench/WorkbenchCanvas.js +26 -24
  7. package/dist/components/workbench/WorkbenchCanvasField.d.ts +1 -1
  8. package/dist/components/workbench/WorkbenchCanvasField.js +46 -42
  9. package/dist/components/workbench/WorkbenchLayerObjects.d.ts +9 -1
  10. package/dist/components/workbench/WorkbenchLayerObjects.js +896 -707
  11. package/dist/components/workbench/WorkbenchSurface.d.ts +2 -0
  12. package/dist/components/workbench/WorkbenchSurface.js +442 -420
  13. package/dist/components/workbench/index.d.ts +1 -0
  14. package/dist/components/workbench/types.d.ts +6 -3
  15. package/dist/components/workbench/useWorkbenchModel.js +53 -53
  16. package/dist/components/workbench/workbenchCompositionMessages.d.ts +62 -0
  17. package/dist/components/workbench/workbenchCompositionMessages.js +67 -0
  18. package/dist/components/workbench/workbenchHelpers.js +19 -6
  19. package/dist/components/workbench/workbenchOptions.d.ts +4 -4
  20. package/dist/components/workbench/workbenchOptions.js +18 -16
  21. package/dist/full.js +182 -180
  22. package/dist/input-focus.css +39 -5
  23. package/dist/styles.css +1 -1
  24. package/dist/ui.js +86 -84
  25. package/dist/workbench-themes.css +60 -0
  26. package/dist/workbench.css +332 -524
  27. package/dist/workbench.js +24 -22
  28. package/package.json +1 -1
@@ -1,22 +1,23 @@
1
- import { use as ct, spread as at, mergeProps as dt, insert as C, createComponent as f, Portal as st, addEventListener as ut, template as X, delegateEvents as lt } from "solid-js/web";
2
- import { createSignal as I, createMemo as m, untrack as b, createEffect as h, onCleanup as W, Show as gt } from "solid-js";
3
- import { clientToCanvasWorld as O } from "../ui/canvasGeometry.js";
4
- import { createUIFirstSelection as wt } from "../../utils/uiFirstSelection.js";
5
- import { WorkbenchCanvas as ft } from "./WorkbenchCanvas.js";
6
- import { WorkbenchContextMenu as kt } from "./WorkbenchContextMenu.js";
7
- import { WorkbenchDock as mt } from "./WorkbenchFilterBar.js";
8
- import { WorkbenchHud as vt } from "./WorkbenchHud.js";
9
- import { WorkbenchLockButton as yt } from "./WorkbenchLockButton.js";
10
- import { installWorkbenchContextMenuDismissListeners as At } from "./workbenchContextMenuDismiss.js";
11
- import { createContextMenuPosition as Ct, WORKBENCH_CONTEXT_MENU_WIDTH_PX as ht, estimateContextMenuHeight as bt } from "./workbenchHelpers.js";
12
- import { resolveWorkbenchWidgetPlacementPreview as Wt, resolveWorkbenchToolPlacementPreview as St } from "./workbenchPlacement.js";
13
- import { useWorkbenchModel as pt } from "./useWorkbenchModel.js";
14
- import { sortWorkbenchDockFocusCandidates as xt, workbenchDockFocusCandidateKey as R, resolveWorkbenchDockFocusCycle as It } from "./workbenchDockFocusCycle.js";
15
- import { resolveWorkbenchInteractionAdapter as Dt } from "./workbenchInteractionAdapter.js";
16
- import { SURFACE_PORTAL_LAYER_ATTR as Mt, DIALOG_SURFACE_HOST_ATTR as Lt } from "../ui/dialogSurfaceScope.js";
17
- var Tt = /* @__PURE__ */ X("<div class=workbench-menu-backdrop data-floe-workbench-boundary=true>"), Ft = /* @__PURE__ */ X("<div><div class=workbench-surface__body data-floe-workbench-canvas-frame=true>");
18
- const Bt = "F1";
19
- function N(c) {
1
+ import { createComponent as f, use as ut, spread as lt, mergeProps as gt, insert as C, Portal as wt, addEventListener as ft, template as z, delegateEvents as mt } from "solid-js/web";
2
+ import { WorkbenchCompositionMessagesContext as kt } from "./workbenchCompositionMessages.js";
3
+ import { createSignal as L, createMemo as v, untrack as W, createEffect as y, onCleanup as p, Show as vt } from "solid-js";
4
+ import { clientToCanvasWorld as P } from "../ui/canvasGeometry.js";
5
+ import { createUIFirstSelection as yt } from "../../utils/uiFirstSelection.js";
6
+ import { WorkbenchCanvas as At } from "./WorkbenchCanvas.js";
7
+ import { WorkbenchContextMenu as ht } from "./WorkbenchContextMenu.js";
8
+ import { WorkbenchDock as bt } from "./WorkbenchFilterBar.js";
9
+ import { WorkbenchHud as Ct } from "./WorkbenchHud.js";
10
+ import { WorkbenchLockButton as Wt } from "./WorkbenchLockButton.js";
11
+ import { installWorkbenchContextMenuDismissListeners as pt } from "./workbenchContextMenuDismiss.js";
12
+ import { createContextMenuPosition as St, WORKBENCH_CONTEXT_MENU_WIDTH_PX as xt, estimateContextMenuHeight as It } from "./workbenchHelpers.js";
13
+ import { resolveWorkbenchWidgetPlacementPreview as Mt, resolveWorkbenchToolPlacementPreview as Dt } from "./workbenchPlacement.js";
14
+ import { useWorkbenchModel as Lt } from "./useWorkbenchModel.js";
15
+ import { sortWorkbenchDockFocusCandidates as Tt, workbenchDockFocusCandidateKey as Y, resolveWorkbenchDockFocusCycle as Ft } from "./workbenchDockFocusCycle.js";
16
+ import { resolveWorkbenchInteractionAdapter as Bt } from "./workbenchInteractionAdapter.js";
17
+ import { SURFACE_PORTAL_LAYER_ATTR as Et, DIALOG_SURFACE_HOST_ATTR as _t } from "../ui/dialogSurfaceScope.js";
18
+ var Rt = /* @__PURE__ */ z("<div class=workbench-menu-backdrop data-floe-workbench-boundary=true>"), Ot = /* @__PURE__ */ z("<div><div class=workbench-surface__body data-floe-workbench-canvas-frame=true>");
19
+ const Nt = "F1";
20
+ function q(c) {
20
21
  if (c)
21
22
  try {
22
23
  c.focus({
@@ -26,8 +27,8 @@ function N(c) {
26
27
  c.focus();
27
28
  }
28
29
  }
29
- function Zt(c) {
30
- const e = pt({
30
+ function oe(c) {
31
+ const e = Lt({
31
32
  state: () => c.state(),
32
33
  setState: (t) => c.setState(t),
33
34
  widgetDefinitions: () => c.widgetDefinitions,
@@ -35,7 +36,7 @@ function Zt(c) {
35
36
  backgroundLayerDefaults: () => c.backgroundLayerDefaults,
36
37
  onClose: () => {
37
38
  }
38
- }), u = wt({
39
+ }), u = yt({
39
40
  committed: e.selectedWidgetId,
40
41
  commitEqualRequests: !0,
41
42
  commit: (t, n) => {
@@ -46,7 +47,7 @@ function Zt(c) {
46
47
  e.canvas.selectWidget(t), n?.bringToFront && e.canvas.commitFront(t);
47
48
  },
48
49
  onEvent: (t) => c.onWidgetActivationEvent?.(t)
49
- }), Y = () => c.widgetActivationMode === "after-paint" ? u.visual() : e.selectedWidgetId(), S = () => {
50
+ }), V = () => c.widgetActivationMode === "after-paint" ? u.visual() : e.selectedWidgetId(), S = () => {
50
51
  if (c.widgetActivationMode !== "after-paint" || !u.pending())
51
52
  return e.selectedObject();
52
53
  const t = u.visual();
@@ -54,7 +55,7 @@ function Zt(c) {
54
55
  kind: "widget",
55
56
  id: t
56
57
  } : null;
57
- }, q = (t) => {
58
+ }, $ = (t) => {
58
59
  if (c.widgetActivationMode === "after-paint") {
59
60
  if (u.pending() && u.visual() === t) return;
60
61
  u.request(t, {
@@ -63,7 +64,7 @@ function Zt(c) {
63
64
  return;
64
65
  }
65
66
  e.canvas.selectWidget(t);
66
- }, D = (t) => {
67
+ }, T = (t) => {
67
68
  if (c.widgetActivationMode === "after-paint") {
68
69
  if (u.pending() && u.visual() === t) return;
69
70
  u.request(t, {
@@ -72,77 +73,77 @@ function Zt(c) {
72
73
  return;
73
74
  }
74
75
  e.canvas.selectWidget(t), e.canvas.commitFront(t);
75
- }, [l, P] = I(null), [z, V] = I(null), d = m(() => Dt(c.interactionAdapter)), [M, w] = I(b(() => d().createInitialInputOwner())), L = m(() => {
76
+ }, [l, j] = L(null), [H, U] = L(null), s = v(() => Bt(c.interactionAdapter)), [F, m] = L(W(() => s().createInitialInputOwner())), B = v(() => {
76
77
  const t = c.launcherWidgetTypes;
77
78
  return !t || t.length <= 0 ? null : new Set(t);
78
- }), H = m(() => {
79
- const t = e.widgetDefinitions(), n = L();
79
+ }), K = v(() => {
80
+ const t = e.widgetDefinitions(), n = B();
80
81
  return n ? t.filter((o) => n.has(o.type)) : t;
81
- }), T = m(() => {
82
- const t = e.contextMenu.state(), n = e.contextMenu.items(), o = L(), r = o ? n.filter((s) => {
83
- if (s.kind !== "action")
82
+ }), E = v(() => {
83
+ const t = e.contextMenu.state(), n = e.contextMenu.items(), o = B(), i = o ? n.filter((d) => {
84
+ if (d.kind !== "action")
84
85
  return !0;
85
- const A = /^add-(.+)$/.exec(String(s.id ?? ""));
86
- return A ? o.has(A[1]) : !0;
86
+ const w = /^add-(.+)$/.exec(String(d.id ?? ""));
87
+ return w ? o.has(w[1]) : !0;
87
88
  }) : n;
88
89
  if (!t || !c.resolveContextMenuItems)
89
- return r;
90
- const i = t.target?.kind === "widget" ? t.target.id : !t.target && t.widgetId ? t.widgetId : null, a = i ? e.queries.findWidgetById(i) : null;
90
+ return i;
91
+ const r = t.target?.kind === "widget" ? t.target.id : !t.target && t.widgetId ? t.widgetId : null, a = r ? e.queries.findWidgetById(r) : null;
91
92
  return c.resolveContextMenuItems({
92
93
  menu: t,
93
- items: r,
94
+ items: i,
94
95
  widgets: e.widgets(),
95
96
  widget: a,
96
97
  closeMenu: e.contextMenu.close
97
98
  });
98
- }), F = m(() => {
99
+ }), _ = v(() => {
99
100
  const t = e.contextMenu.state();
100
101
  if (!t) return;
101
- const n = T(), o = n.filter((i) => i.kind === "action").length, r = n.filter((i) => i.kind === "separator").length;
102
- return Ct({
102
+ const n = E(), o = n.filter((r) => r.kind === "action").length, i = n.filter((r) => r.kind === "separator").length;
103
+ return St({
103
104
  clientX: t.clientX,
104
105
  clientY: t.clientY,
105
- menuWidth: ht,
106
- menuHeight: bt(o, r)
106
+ menuWidth: xt,
107
+ menuHeight: It(o, i)
107
108
  });
108
- }), B = (t, n, o) => {
109
- const r = d(), i = r.findWidgetRoot(t), a = r.readWidgetId(i);
109
+ }), R = (t, n, o) => {
110
+ const i = s(), r = i.findWidgetRoot(t), a = i.readWidgetId(r);
110
111
  if (a) {
111
112
  if (e.queries.findStickyNoteById(a)) {
112
- w(r.createCanvasInputOwner(n === "focus" ? "background_focus" : "background_pointer"));
113
+ m(i.createCanvasInputOwner(n === "focus" ? "background_focus" : "background_pointer"));
113
114
  return;
114
115
  }
115
- w(r.createWidgetInputOwner(a, n));
116
+ m(i.createWidgetInputOwner(a, n));
116
117
  return;
117
118
  }
118
- const s = l();
119
- s && t instanceof Node && s.contains(t) && w(r.createCanvasInputOwner(o));
120
- }, _ = (t = "selection_cleared") => {
121
- const n = d(), o = l();
122
- e.selection.clear(), w(n.createCanvasInputOwner(t)), queueMicrotask(() => {
119
+ const d = l();
120
+ d && t instanceof Node && d.contains(t) && m(i.createCanvasInputOwner(o));
121
+ }, O = (t = "selection_cleared") => {
122
+ const n = s(), o = l();
123
+ e.selection.clear(), m(n.createCanvasInputOwner(t)), queueMicrotask(() => {
123
124
  if (!o || typeof document > "u") return;
124
- const r = document.activeElement;
125
- if (!(r instanceof HTMLElement) || !o.contains(r)) {
126
- N(o);
125
+ const i = document.activeElement;
126
+ if (!(i instanceof HTMLElement) || !o.contains(i)) {
127
+ q(o);
127
128
  return;
128
129
  }
129
- const i = n.findWidgetRoot(r);
130
- N(o), i && document.activeElement === r && r.isConnected && r.blur();
130
+ const r = n.findWidgetRoot(i);
131
+ q(o), r && document.activeElement === i && i.isConnected && i.blur();
131
132
  });
132
- }, v = () => {
133
- const t = l()?.querySelector('[data-floe-workbench-canvas-frame="true"]'), n = e.viewport(), o = t?.getBoundingClientRect(), r = o?.width ?? 0, i = o?.height ?? 0;
133
+ }, A = () => {
134
+ const t = l()?.querySelector('[data-floe-workbench-canvas-frame="true"]'), n = e.viewport(), o = t?.getBoundingClientRect(), i = o?.width ?? 0, r = o?.height ?? 0;
134
135
  return {
135
- worldX: r > 0 ? (r / 2 - n.x) / n.scale : 240,
136
- worldY: i > 0 ? (i / 2 - n.y) / n.scale : 180
136
+ worldX: i > 0 ? (i / 2 - n.x) / n.scale : 240,
137
+ worldY: r > 0 ? (r / 2 - n.y) / n.scale : 180
137
138
  };
138
139
  }, k = (t) => {
139
- const n = b(d), o = b(l);
140
+ const n = W(s), o = W(l);
140
141
  queueMicrotask(() => {
141
- n.focusWidgetElement(o, t), w(n.createWidgetInputOwner(t, "activation"));
142
+ n.focusWidgetElement(o, t), m(n.createWidgetInputOwner(t, "activation"));
142
143
  });
143
144
  };
144
- let y = null;
145
- const U = (t) => `${t.kind}:${String(t.id)}`, g = (t, n) => ({
145
+ let h = null;
146
+ const G = (t) => `${t.kind}:${String(t.id)}`, g = (t, n) => ({
146
147
  kind: t,
147
148
  id: n.id,
148
149
  x: n.x,
@@ -150,26 +151,26 @@ function Zt(c) {
150
151
  width: n.width,
151
152
  height: n.height,
152
153
  createdAtUnixMs: n.created_at_unix_ms
153
- }), p = (t) => t.kind === "widget" ? e.widgets().filter((n) => n.type === t.id).map((n) => g("widget", n)) : t.id === "sticky-note" ? e.stickyNotes().map((n) => g("sticky_note", n)) : t.id === "text" ? e.annotations().map((n) => g("annotation", n)) : t.id === "background-region" ? e.backgroundLayers().map((n) => g("background_layer", n)) : [], $ = (t) => {
154
- const n = b(l);
154
+ }), x = (t) => t.kind === "widget" ? e.widgets().filter((n) => n.type === t.id).map((n) => g("widget", n)) : t.id === "sticky-note" ? e.stickyNotes().map((n) => g("sticky_note", n)) : t.id === "text" ? e.annotations().map((n) => g("annotation", n)) : t.id === "background-region" ? e.backgroundLayers().map((n) => g("background_layer", n)) : [], Z = (t) => {
155
+ const n = W(l);
155
156
  queueMicrotask(() => {
156
157
  if (!n) return;
157
158
  const o = t.kind === "sticky_note" ? "sticky" : t.kind === "annotation" ? "text" : t.kind === "background_layer" ? "region" : null;
158
159
  if (!o) return;
159
- const r = [...n.querySelectorAll("[data-wb-object-id]")].find((A) => A.getAttribute("data-wb-object-kind") === o && A.getAttribute("data-wb-object-id") === t.id);
160
- if (!(r instanceof HTMLElement)) return;
161
- const i = r.querySelector('[data-wb-part="content"]'), s = i instanceof HTMLElement && i.getAttribute("contenteditable") !== null && i.getAttribute("contenteditable") !== "false" ? i : r;
162
- s.hasAttribute("tabindex") || (s.tabIndex = -1);
160
+ const i = [...n.querySelectorAll("[data-wb-object-id]")].find((w) => w.getAttribute("data-wb-object-kind") === o && w.getAttribute("data-wb-object-id") === t.id);
161
+ if (!(i instanceof HTMLElement)) return;
162
+ const r = i.querySelector('[data-wb-part="content"]'), d = r instanceof HTMLElement && r.getAttribute("contenteditable") !== null && r.getAttribute("contenteditable") !== "false" ? r : i;
163
+ d.hasAttribute("tabindex") || (d.tabIndex = -1);
163
164
  try {
164
- s.focus({
165
+ d.focus({
165
166
  preventScroll: !0
166
167
  });
167
168
  } catch {
168
- s.focus();
169
+ d.focus();
169
170
  }
170
- w(d().createCanvasInputOwner("background_focus"));
171
+ m(s().createCanvasInputOwner("background_focus"));
171
172
  });
172
- }, j = (t) => {
173
+ }, J = (t) => {
173
174
  e.navigation.centerOnWidget({
174
175
  id: t.id,
175
176
  type: "dock-focus-target",
@@ -181,77 +182,77 @@ function Zt(c) {
181
182
  z_index: 0,
182
183
  created_at_unix_ms: t.createdAtUnixMs
183
184
  });
184
- }, K = (t) => {
185
+ }, Q = (t) => {
185
186
  if (t.kind === "widget") {
186
187
  const n = e.queries.findWidgetById(t.id);
187
188
  if (!n) return;
188
- D(n.id), e.navigation.centerOnWidget(n), k(n.id);
189
+ T(n.id), e.navigation.centerOnWidget(n), k(n.id);
189
190
  return;
190
191
  }
191
- t.kind === "sticky_note" ? e.canvas.selectStickyNote(t.id) : t.kind === "annotation" ? e.canvas.selectAnnotation(t.id) : e.canvas.selectBackgroundLayer(t.id), j(t), $(t);
192
- }, G = (t) => {
193
- const n = v();
192
+ t.kind === "sticky_note" ? e.canvas.selectStickyNote(t.id) : t.kind === "annotation" ? e.canvas.selectAnnotation(t.id) : e.canvas.selectBackgroundLayer(t.id), J(t), Z(t);
193
+ }, tt = (t) => {
194
+ const n = A();
194
195
  if (t.kind === "widget") {
195
196
  const o = e.widgetActions.addWidgetAtWorldCenter(t.id, n.worldX, n.worldY);
196
197
  return o ? g("widget", o) : null;
197
198
  }
198
199
  return t.id === "sticky-note" ? g("sticky_note", e.widgetActions.addStickyNoteAtCursor(n.worldX, n.worldY)) : t.id === "text" ? g("annotation", e.widgetActions.addTextAnnotationAtCursor(n.worldX, n.worldY)) : t.id === "background-region" ? g("background_layer", e.widgetActions.addBackgroundLayerAtCursor(n.worldX, n.worldY)) : null;
199
- }, Z = (t) => {
200
- let n = p(t), o = S();
200
+ }, et = (t) => {
201
+ let n = x(t), o = S();
201
202
  if (n.length === 0) {
202
- const i = G(t);
203
- if (!i) {
204
- y = null;
203
+ const r = tt(t);
204
+ if (!r) {
205
+ h = null;
205
206
  return;
206
207
  }
207
- n = p(t), o = {
208
- kind: i.kind,
209
- id: i.id
208
+ n = x(t), o = {
209
+ kind: r.kind,
210
+ id: r.id
210
211
  };
211
212
  }
212
- const r = It({
213
- dockItemKey: U(t),
213
+ const i = Ft({
214
+ dockItemKey: G(t),
214
215
  candidates: n,
215
216
  selectedObject: o,
216
- session: y
217
+ session: h
217
218
  });
218
- y = r.session, r.target && K(r.target);
219
- }, J = (t) => {
220
- const n = xt(p(t)), o = S(), r = o ? R(o) : null, i = r ? n.findIndex((a) => R(a) === r) : -1;
219
+ h = i.session, i.target && Q(i.target);
220
+ }, nt = (t) => {
221
+ const n = Tt(x(t)), o = S(), i = o ? Y(o) : null, r = i ? n.findIndex((a) => Y(a) === i) : -1;
221
222
  return {
222
223
  count: n.length,
223
- currentIndex: i >= 0 ? i : null,
224
- active: i >= 0
224
+ currentIndex: r >= 0 ? r : null,
225
+ active: r >= 0
225
226
  };
226
- }, Q = (t) => {
227
- y?.dockItemKey !== `${t.kind}:${t.id}` && (y = null);
228
- }, tt = (t) => {
227
+ }, ot = (t) => {
228
+ h?.dockItemKey !== `${t.kind}:${t.id}` && (h = null);
229
+ }, rt = (t) => {
229
230
  const n = e.navigation.fitWidget(t);
230
231
  k(n.id);
231
- }, et = (t) => {
232
+ }, it = (t) => {
232
233
  const n = e.navigation.overviewWidget(t);
233
234
  k(n.id);
234
235
  };
235
- h(() => {
236
+ y(() => {
236
237
  c.onApiReady?.({
237
238
  ensureWidget: (t, n) => e.widgetActions.ensureWidget(t, n) ?? null,
238
239
  createWidget: (t, n) => {
239
- const o = v(), r = e.widgetActions.addWidgetAtWorldCenter(t, n?.worldX ?? o.worldX, n?.worldY ?? o.worldY) ?? null;
240
- return r && n?.centerViewport !== !1 && e.navigation.centerOnWidget(r), r;
240
+ const o = A(), i = e.widgetActions.addWidgetAtWorldCenter(t, n?.worldX ?? o.worldX, n?.worldY ?? o.worldY) ?? null;
241
+ return i && n?.centerViewport !== !1 && e.navigation.centerOnWidget(i), i;
241
242
  },
242
243
  createTextAnnotation: (t) => {
243
- const n = v();
244
+ const n = A();
244
245
  return e.widgetActions.addTextAnnotationAtCursor(t?.worldX ?? n.worldX, t?.worldY ?? n.worldY) ?? null;
245
246
  },
246
247
  createStickyNote: (t) => {
247
- const n = v();
248
+ const n = A();
248
249
  return e.widgetActions.addStickyNoteAtCursor(t?.worldX ?? n.worldX, t?.worldY ?? n.worldY) ?? null;
249
250
  },
250
251
  createBackgroundLayer: (t) => {
251
- const n = v();
252
+ const n = A();
252
253
  return e.widgetActions.addBackgroundLayerAtCursor(t?.worldX ?? n.worldX, t?.worldY ?? n.worldY) ?? null;
253
254
  },
254
- clearSelection: () => _("selection_cleared"),
255
+ clearSelection: () => O("selection_cleared"),
255
256
  focusWidget: (t, n) => {
256
257
  const o = e.navigation.focusWidget(t, n);
257
258
  return k(o.id), o;
@@ -270,12 +271,12 @@ function Zt(c) {
270
271
  findAnnotationById: (t) => e.queries.findAnnotationById(t),
271
272
  findBackgroundLayerById: (t) => e.queries.findBackgroundLayerById(t),
272
273
  updateWidgetTitle: (t, n) => {
273
- const o = String(t ?? "").trim(), r = String(n ?? "").trim();
274
- !o || !r || c.setState((i) => ({
275
- ...i,
276
- widgets: i.widgets.map((a) => a.id === o && a.title !== r ? {
274
+ const o = String(t ?? "").trim(), i = String(n ?? "").trim();
275
+ !o || !i || c.setState((r) => ({
276
+ ...r,
277
+ widgets: r.widgets.map((a) => a.id === o && a.title !== i ? {
277
278
  ...a,
278
- title: r
279
+ title: i
279
280
  } : a)
280
281
  }));
281
282
  },
@@ -285,46 +286,46 @@ function Zt(c) {
285
286
  deleteStickyNote: (t) => e.widgetActions.deleteStickyNote(t),
286
287
  deleteAnnotation: (t) => e.widgetActions.deleteAnnotation(t),
287
288
  deleteBackgroundLayer: (t) => e.widgetActions.deleteBackgroundLayer(t)
288
- }), W(() => {
289
+ }), p(() => {
289
290
  c.onApiReady?.(null);
290
291
  });
291
292
  });
292
- const E = () => c.lockShortcut === void 0 ? Bt : c.lockShortcut;
293
- h(() => {
293
+ const N = () => c.lockShortcut === void 0 ? Nt : c.lockShortcut;
294
+ y(() => {
294
295
  if (typeof window > "u" || !e.contextMenu.state()) return;
295
- const t = At({
296
+ const t = pt({
296
297
  ownerWindow: window,
297
298
  onDismiss: e.contextMenu.close
298
299
  });
299
- W(() => t());
300
- }), h(() => {
301
- const t = M();
300
+ p(() => t());
301
+ }), y(() => {
302
+ const t = F();
302
303
  if (t.kind !== "widget") return;
303
- e.widgets().some((o) => o.id === t.widgetId) || w(d().createCanvasInputOwner("widget_removed"));
304
- }), h(() => {
304
+ e.widgets().some((o) => o.id === t.widgetId) || m(s().createCanvasInputOwner("widget_removed"));
305
+ }), y(() => {
305
306
  const t = l();
306
307
  if (!t) return;
307
- const n = (r) => {
308
- B(r.target, "pointer", "background_pointer");
309
- }, o = (r) => {
310
- B(r.target, "focus", "background_focus");
308
+ const n = (i) => {
309
+ R(i.target, "pointer", "background_pointer");
310
+ }, o = (i) => {
311
+ R(i.target, "focus", "background_focus");
311
312
  };
312
- t.addEventListener("pointerdown", n, !0), t.addEventListener("focusin", o), W(() => {
313
+ t.addEventListener("pointerdown", n, !0), t.addEventListener("focusin", o), p(() => {
313
314
  t.removeEventListener("pointerdown", n, !0), t.removeEventListener("focusin", o);
314
315
  });
315
- }), h(() => {
316
+ }), y(() => {
316
317
  if (c.enableKeyboard === !1 || typeof document > "u") return;
317
- const t = E(), n = (o) => {
318
+ const t = N(), n = (o) => {
318
319
  if (!(o.defaultPrevented || o.isComposing)) {
319
320
  if (t !== null && o.key === t) {
320
321
  o.preventDefault(), e.lock.toggle();
321
322
  return;
322
323
  }
323
- if (!d().shouldBypassGlobalHotkeys({
324
+ if (!s().shouldBypassGlobalHotkeys({
324
325
  root: l(),
325
326
  target: o.target,
326
- owner: M(),
327
- interactiveSelector: d().interactiveSelector
327
+ owner: F(),
328
+ interactiveSelector: s().interactiveSelector
328
329
  }))
329
330
  switch (o.key) {
330
331
  case "ArrowUp":
@@ -346,52 +347,52 @@ function Zt(c) {
346
347
  }
347
348
  }
348
349
  };
349
- document.addEventListener("keydown", n, !0), W(() => document.removeEventListener("keydown", n, !0));
350
+ document.addEventListener("keydown", n, !0), p(() => document.removeEventListener("keydown", n, !0));
350
351
  });
351
- const x = (t, n, o) => {
352
+ const I = (t, n, o) => {
352
353
  if (o?.worldPoint)
353
354
  return o.worldPoint;
354
355
  if (o?.canvasFrame)
355
- return O(o.canvasFrame, e.viewport(), {
356
+ return P(o.canvasFrame, e.viewport(), {
356
357
  clientX: t,
357
358
  clientY: n
358
359
  });
359
- const r = l()?.querySelector('[data-floe-workbench-canvas-frame="true"]');
360
- if (!r) return null;
361
- const i = r.getBoundingClientRect();
362
- return O(i, e.viewport(), {
360
+ const i = l()?.querySelector('[data-floe-workbench-canvas-frame="true"]');
361
+ if (!i) return null;
362
+ const r = i.getBoundingClientRect();
363
+ return P(r, e.viewport(), {
363
364
  clientX: t,
364
365
  clientY: n
365
366
  });
366
- }, nt = (t, n, o, r) => {
367
- const i = x(n, o, r);
368
- i && e.widgetActions.addWidgetAtWorldCenter(t, i.worldX, i.worldY);
369
- }, ot = (t, n, o, r) => {
370
- const i = x(n, o, r);
371
- if (i) {
367
+ }, ct = (t, n, o, i) => {
368
+ const r = I(n, o, i);
369
+ r && e.widgetActions.addWidgetAtWorldCenter(t, r.worldX, r.worldY);
370
+ }, at = (t, n, o, i) => {
371
+ const r = I(n, o, i);
372
+ if (r) {
372
373
  if (t === "sticky-note") {
373
- e.widgetActions.addStickyNoteAtCursor(i.worldX, i.worldY);
374
+ e.widgetActions.addStickyNoteAtCursor(r.worldX, r.worldY);
374
375
  return;
375
376
  }
376
377
  if (t === "text") {
377
- e.widgetActions.addTextAnnotationAtCursor(i.worldX, i.worldY);
378
+ e.widgetActions.addTextAnnotationAtCursor(r.worldX, r.worldY);
378
379
  return;
379
380
  }
380
- t === "background-region" && e.widgetActions.addBackgroundLayerAtCursor(i.worldX, i.worldY);
381
+ t === "background-region" && e.widgetActions.addBackgroundLayerAtCursor(r.worldX, r.worldY);
381
382
  }
382
- }, rt = (t) => {
383
- t.button === 0 && (d().findWidgetRoot(t.target) || _("background_pointer"));
384
- }, it = m(() => {
385
- const t = z();
383
+ }, dt = (t) => {
384
+ t.button === 0 && (s().findWidgetRoot(t.target) || O("background_pointer"));
385
+ }, st = v(() => {
386
+ const t = H();
386
387
  if (!t) return null;
387
- const n = x(t.clientX, t.clientY, t);
388
- return n ? t.kind === "widget" ? Wt({
388
+ const n = I(t.clientX, t.clientY, t);
389
+ return n ? t.kind === "widget" ? Mt({
389
390
  type: t.id,
390
391
  widgetDefinitions: e.widgetDefinitions(),
391
392
  worldX: n.worldX,
392
393
  worldY: n.worldY,
393
394
  dropAllowed: t.dropAllowed
394
- }) : St({
395
+ }) : Dt({
395
396
  tool: t.id,
396
397
  label: t.label,
397
398
  worldX: n.worldX,
@@ -400,275 +401,296 @@ function Zt(c) {
400
401
  textDefaults: c.textAnnotationDefaults,
401
402
  backgroundDefaults: c.backgroundLayerDefaults
402
403
  }) : null;
404
+ }), M = () => {
405
+ const t = document.activeElement;
406
+ if (!(t instanceof HTMLElement) || !t.isContentEditable || !l()?.contains(t)) return;
407
+ const n = t.closest("[data-wb-object-id]")?.getAttribute("data-wb-object-id"), o = e.stickyNotes().find((D) => D.id === n), i = e.annotations().find((D) => D.id === n), r = o ?? i;
408
+ if (!r) return;
409
+ const a = e.canvasFrameSize(), d = e.viewport(), w = d.x + r.x * d.scale, X = d.y + r.y * d.scale;
410
+ if (d.scale >= 0.85 && w >= 12 && w + r.width * d.scale <= a.width - 12 && X >= 12 && X + r.height * d.scale <= a.height - 12) return;
411
+ const b = Math.min(1, Math.max(0.85, (a.width - 40) / r.width));
412
+ e.canvas.commitViewport({
413
+ x: (a.width - r.width * b) / 2 - r.x * b,
414
+ y: Math.max(100, (a.height - r.height * b) / 2) - r.y * b,
415
+ scale: b
416
+ });
417
+ };
418
+ return y(() => {
419
+ const t = e.canvasFrameSize();
420
+ t.width > 0 && t.height > 0 && W(M);
421
+ }), f(kt.Provider, {
422
+ value: () => c.compositionMessages,
423
+ get children() {
424
+ var t = Ot(), n = t.firstChild;
425
+ return t.$$keyup = (o) => {
426
+ o.key === "Tab" && M();
427
+ }, t.$$click = M, ut(j, t), lt(t, gt({
428
+ get class() {
429
+ return `workbench-surface${c.class ? ` ${c.class}` : ""}`;
430
+ }
431
+ }, () => ({
432
+ [s().surfaceRootAttr]: "true",
433
+ [s().dialogSurfaceHostAttr]: "true",
434
+ [_t]: "true",
435
+ [Et]: "true"
436
+ }), {
437
+ get "data-workbench-theme"() {
438
+ return e.theme();
439
+ },
440
+ get "data-workbench-mode"() {
441
+ return e.mode();
442
+ },
443
+ tabIndex: -1
444
+ }), !1, !0), C(n, f(At, {
445
+ get widgetDefinitions() {
446
+ return e.widgetDefinitions();
447
+ },
448
+ get widgets() {
449
+ return e.widgets();
450
+ },
451
+ get stickyNotes() {
452
+ return e.stickyNotes();
453
+ },
454
+ get annotations() {
455
+ return e.annotations();
456
+ },
457
+ get backgroundLayers() {
458
+ return e.backgroundLayers();
459
+ },
460
+ get placementPreview() {
461
+ return st();
462
+ },
463
+ get viewport() {
464
+ return e.viewport();
465
+ },
466
+ get canvasFrameSize() {
467
+ return e.canvasFrameSize();
468
+ },
469
+ get selectedWidgetId() {
470
+ return V();
471
+ },
472
+ get selectedObject() {
473
+ return S();
474
+ },
475
+ get mode() {
476
+ return e.mode();
477
+ },
478
+ get visualFrontOwnerId() {
479
+ return e.visualFrontOwnerId();
480
+ },
481
+ get locked() {
482
+ return e.locked();
483
+ },
484
+ get filters() {
485
+ return e.filters();
486
+ },
487
+ get interactionAdapter() {
488
+ return s();
489
+ },
490
+ get setCanvasFrameRef() {
491
+ return e.setCanvasFrameRef;
492
+ },
493
+ get onViewportCommit() {
494
+ return e.canvas.commitViewport;
495
+ },
496
+ get onViewportInteractionStart() {
497
+ return e.canvas.cancelViewportNavigation;
498
+ },
499
+ get onCanvasContextMenu() {
500
+ return e.canvas.openCanvasContextMenu;
501
+ },
502
+ onCanvasPointerDown: dt,
503
+ onSelectWidget: $,
504
+ onActivateWidget: T,
505
+ get onWidgetContextMenu() {
506
+ return e.canvas.openWidgetContextMenu;
507
+ },
508
+ get onClaimVisualFrontOwner() {
509
+ return e.canvas.claimVisualFrontOwner;
510
+ },
511
+ get onCommitFront() {
512
+ return e.canvas.commitFront;
513
+ },
514
+ get onCommitMove() {
515
+ return e.canvas.commitMove;
516
+ },
517
+ get onCommitResize() {
518
+ return e.canvas.commitResize;
519
+ },
520
+ get onSelectStickyNote() {
521
+ return e.canvas.selectStickyNote;
522
+ },
523
+ get onStickyNoteContextMenu() {
524
+ return e.canvas.openStickyNoteContextMenu;
525
+ },
526
+ get onClaimStickyVisualFrontOwner() {
527
+ return e.canvas.claimVisualFrontOwner;
528
+ },
529
+ get onCommitStickyFront() {
530
+ return e.canvas.commitStickyFront;
531
+ },
532
+ get onCommitStickyMove() {
533
+ return e.canvas.commitStickyMove;
534
+ },
535
+ get onCommitStickyResize() {
536
+ return e.canvas.commitStickyResize;
537
+ },
538
+ get onUpdateStickyNote() {
539
+ return e.widgetActions.updateStickyNote;
540
+ },
541
+ get onDeleteStickyNote() {
542
+ return e.widgetActions.deleteStickyNote;
543
+ },
544
+ get onSelectAnnotation() {
545
+ return e.canvas.selectAnnotation;
546
+ },
547
+ get onAnnotationContextMenu() {
548
+ return e.canvas.openAnnotationContextMenu;
549
+ },
550
+ get onCommitAnnotationMove() {
551
+ return e.canvas.commitAnnotationMove;
552
+ },
553
+ get onCommitAnnotationResize() {
554
+ return e.canvas.commitAnnotationResize;
555
+ },
556
+ get onUpdateTextAnnotation() {
557
+ return e.widgetActions.updateTextAnnotation;
558
+ },
559
+ get onDeleteAnnotation() {
560
+ return e.widgetActions.deleteAnnotation;
561
+ },
562
+ get onSelectBackgroundLayer() {
563
+ return e.canvas.selectBackgroundLayer;
564
+ },
565
+ get onBackgroundLayerContextMenu() {
566
+ return e.canvas.openBackgroundLayerContextMenu;
567
+ },
568
+ get onCommitBackgroundMove() {
569
+ return e.canvas.commitBackgroundMove;
570
+ },
571
+ get onCommitBackgroundResize() {
572
+ return e.canvas.commitBackgroundResize;
573
+ },
574
+ get onUpdateBackgroundLayer() {
575
+ return e.widgetActions.updateBackgroundLayer;
576
+ },
577
+ get onDeleteBackgroundLayer() {
578
+ return e.widgetActions.deleteBackgroundLayer;
579
+ },
580
+ onRequestOverview: it,
581
+ onRequestFit: rt,
582
+ get onRequestDelete() {
583
+ return c.onRequestDelete ?? e.widgetActions.deleteWidget;
584
+ },
585
+ get onLayoutInteractionStart() {
586
+ return c.onLayoutInteractionStart;
587
+ },
588
+ get onLayoutInteractionEnd() {
589
+ return c.onLayoutInteractionEnd;
590
+ }
591
+ })), C(t, f(Wt, {
592
+ get locked() {
593
+ return e.locked();
594
+ },
595
+ get onToggle() {
596
+ return e.lock.toggle;
597
+ },
598
+ get shortcutLabel() {
599
+ return N() ?? void 0;
600
+ }
601
+ }), null), C(t, f(bt, {
602
+ get widgetDefinitions() {
603
+ return K();
604
+ },
605
+ get widgets() {
606
+ return e.widgets();
607
+ },
608
+ get filters() {
609
+ return e.filters();
610
+ },
611
+ get mode() {
612
+ return e.mode();
613
+ },
614
+ get activationMode() {
615
+ return c.dockItemActivationMode;
616
+ },
617
+ get viewport() {
618
+ return e.viewport();
619
+ },
620
+ get onSoloFilter() {
621
+ return e.filter.solo;
622
+ },
623
+ onFocusCycleItem: et,
624
+ resolveItemPresentation: nt,
625
+ onDockActivation: ot,
626
+ get onSelectMode() {
627
+ return e.modes.setMode;
628
+ },
629
+ get onViewportCommit() {
630
+ return e.canvas.commitViewport;
631
+ },
632
+ onViewportInteractionStart: () => e.canvas.cancelViewportNavigation(),
633
+ onCreateAt: ct,
634
+ onCreateToolAt: at,
635
+ get onItemClick() {
636
+ return c.onDockItemClick;
637
+ },
638
+ get modeIcons() {
639
+ return c.dockModeIcons;
640
+ },
641
+ get dockActions() {
642
+ return c.dockActions;
643
+ },
644
+ get dockItems() {
645
+ return c.dockItems;
646
+ },
647
+ get registerExternalDockDragController() {
648
+ return c.registerExternalDockDragController;
649
+ },
650
+ onDragPreviewChange: U
651
+ }), null), C(t, f(Ct, {
652
+ get scaleLabel() {
653
+ return e.scaleLabel();
654
+ },
655
+ get onZoomOut() {
656
+ return e.hud.zoomOut;
657
+ },
658
+ get onZoomIn() {
659
+ return e.hud.zoomIn;
660
+ },
661
+ get activeTheme() {
662
+ return e.theme();
663
+ },
664
+ onSelectTheme: (o) => e.appearance.setTheme(o)
665
+ }), null), C(t, f(vt, {
666
+ get when() {
667
+ return e.contextMenu.state();
668
+ },
669
+ get children() {
670
+ return f(wt, {
671
+ get children() {
672
+ return [(() => {
673
+ var o = Rt();
674
+ return ft(o, "contextmenu", e.contextMenu.retarget, !0), o;
675
+ })(), f(ht, {
676
+ get x() {
677
+ return _()?.left ?? 0;
678
+ },
679
+ get y() {
680
+ return _()?.top ?? 0;
681
+ },
682
+ get items() {
683
+ return E();
684
+ }
685
+ })];
686
+ }
687
+ });
688
+ }
689
+ }), null), t;
690
+ }
403
691
  });
404
- return (() => {
405
- var t = Ft(), n = t.firstChild;
406
- return ct(P, t), at(t, dt({
407
- get class() {
408
- return `workbench-surface${c.class ? ` ${c.class}` : ""}`;
409
- }
410
- }, () => ({
411
- [d().surfaceRootAttr]: "true",
412
- [d().dialogSurfaceHostAttr]: "true",
413
- [Lt]: "true",
414
- [Mt]: "true"
415
- }), {
416
- get "data-workbench-theme"() {
417
- return e.theme();
418
- },
419
- get "data-workbench-mode"() {
420
- return e.mode();
421
- },
422
- tabIndex: -1
423
- }), !1, !0), C(n, f(ft, {
424
- get widgetDefinitions() {
425
- return e.widgetDefinitions();
426
- },
427
- get widgets() {
428
- return e.widgets();
429
- },
430
- get stickyNotes() {
431
- return e.stickyNotes();
432
- },
433
- get annotations() {
434
- return e.annotations();
435
- },
436
- get backgroundLayers() {
437
- return e.backgroundLayers();
438
- },
439
- get placementPreview() {
440
- return it();
441
- },
442
- get viewport() {
443
- return e.viewport();
444
- },
445
- get canvasFrameSize() {
446
- return e.canvasFrameSize();
447
- },
448
- get selectedWidgetId() {
449
- return Y();
450
- },
451
- get selectedObject() {
452
- return S();
453
- },
454
- get mode() {
455
- return e.mode();
456
- },
457
- get visualFrontOwnerId() {
458
- return e.visualFrontOwnerId();
459
- },
460
- get locked() {
461
- return e.locked();
462
- },
463
- get filters() {
464
- return e.filters();
465
- },
466
- get interactionAdapter() {
467
- return d();
468
- },
469
- get setCanvasFrameRef() {
470
- return e.setCanvasFrameRef;
471
- },
472
- get onViewportCommit() {
473
- return e.canvas.commitViewport;
474
- },
475
- get onViewportInteractionStart() {
476
- return e.canvas.cancelViewportNavigation;
477
- },
478
- get onCanvasContextMenu() {
479
- return e.canvas.openCanvasContextMenu;
480
- },
481
- onCanvasPointerDown: rt,
482
- onSelectWidget: q,
483
- onActivateWidget: D,
484
- get onWidgetContextMenu() {
485
- return e.canvas.openWidgetContextMenu;
486
- },
487
- get onClaimVisualFrontOwner() {
488
- return e.canvas.claimVisualFrontOwner;
489
- },
490
- get onCommitFront() {
491
- return e.canvas.commitFront;
492
- },
493
- get onCommitMove() {
494
- return e.canvas.commitMove;
495
- },
496
- get onCommitResize() {
497
- return e.canvas.commitResize;
498
- },
499
- get onSelectStickyNote() {
500
- return e.canvas.selectStickyNote;
501
- },
502
- get onStickyNoteContextMenu() {
503
- return e.canvas.openStickyNoteContextMenu;
504
- },
505
- get onClaimStickyVisualFrontOwner() {
506
- return e.canvas.claimVisualFrontOwner;
507
- },
508
- get onCommitStickyFront() {
509
- return e.canvas.commitStickyFront;
510
- },
511
- get onCommitStickyMove() {
512
- return e.canvas.commitStickyMove;
513
- },
514
- get onCommitStickyResize() {
515
- return e.canvas.commitStickyResize;
516
- },
517
- get onUpdateStickyNote() {
518
- return e.widgetActions.updateStickyNote;
519
- },
520
- get onDeleteStickyNote() {
521
- return e.widgetActions.deleteStickyNote;
522
- },
523
- get onSelectAnnotation() {
524
- return e.canvas.selectAnnotation;
525
- },
526
- get onAnnotationContextMenu() {
527
- return e.canvas.openAnnotationContextMenu;
528
- },
529
- get onCommitAnnotationMove() {
530
- return e.canvas.commitAnnotationMove;
531
- },
532
- get onCommitAnnotationResize() {
533
- return e.canvas.commitAnnotationResize;
534
- },
535
- get onUpdateTextAnnotation() {
536
- return e.widgetActions.updateTextAnnotation;
537
- },
538
- get onDeleteAnnotation() {
539
- return e.widgetActions.deleteAnnotation;
540
- },
541
- get onSelectBackgroundLayer() {
542
- return e.canvas.selectBackgroundLayer;
543
- },
544
- get onBackgroundLayerContextMenu() {
545
- return e.canvas.openBackgroundLayerContextMenu;
546
- },
547
- get onCommitBackgroundMove() {
548
- return e.canvas.commitBackgroundMove;
549
- },
550
- get onCommitBackgroundResize() {
551
- return e.canvas.commitBackgroundResize;
552
- },
553
- get onUpdateBackgroundLayer() {
554
- return e.widgetActions.updateBackgroundLayer;
555
- },
556
- get onDeleteBackgroundLayer() {
557
- return e.widgetActions.deleteBackgroundLayer;
558
- },
559
- onRequestOverview: et,
560
- onRequestFit: tt,
561
- get onRequestDelete() {
562
- return c.onRequestDelete ?? e.widgetActions.deleteWidget;
563
- },
564
- get onLayoutInteractionStart() {
565
- return c.onLayoutInteractionStart;
566
- },
567
- get onLayoutInteractionEnd() {
568
- return c.onLayoutInteractionEnd;
569
- }
570
- })), C(t, f(yt, {
571
- get locked() {
572
- return e.locked();
573
- },
574
- get onToggle() {
575
- return e.lock.toggle;
576
- },
577
- get shortcutLabel() {
578
- return E() ?? void 0;
579
- }
580
- }), null), C(t, f(mt, {
581
- get widgetDefinitions() {
582
- return H();
583
- },
584
- get widgets() {
585
- return e.widgets();
586
- },
587
- get filters() {
588
- return e.filters();
589
- },
590
- get mode() {
591
- return e.mode();
592
- },
593
- get activationMode() {
594
- return c.dockItemActivationMode;
595
- },
596
- get viewport() {
597
- return e.viewport();
598
- },
599
- get onSoloFilter() {
600
- return e.filter.solo;
601
- },
602
- onFocusCycleItem: Z,
603
- resolveItemPresentation: J,
604
- onDockActivation: Q,
605
- get onSelectMode() {
606
- return e.modes.setMode;
607
- },
608
- get onViewportCommit() {
609
- return e.canvas.commitViewport;
610
- },
611
- onViewportInteractionStart: () => e.canvas.cancelViewportNavigation(),
612
- onCreateAt: nt,
613
- onCreateToolAt: ot,
614
- get onItemClick() {
615
- return c.onDockItemClick;
616
- },
617
- get modeIcons() {
618
- return c.dockModeIcons;
619
- },
620
- get dockActions() {
621
- return c.dockActions;
622
- },
623
- get dockItems() {
624
- return c.dockItems;
625
- },
626
- get registerExternalDockDragController() {
627
- return c.registerExternalDockDragController;
628
- },
629
- onDragPreviewChange: V
630
- }), null), C(t, f(vt, {
631
- get scaleLabel() {
632
- return e.scaleLabel();
633
- },
634
- get onZoomOut() {
635
- return e.hud.zoomOut;
636
- },
637
- get onZoomIn() {
638
- return e.hud.zoomIn;
639
- },
640
- get activeTheme() {
641
- return e.theme();
642
- },
643
- onSelectTheme: (o) => e.appearance.setTheme(o)
644
- }), null), C(t, f(gt, {
645
- get when() {
646
- return e.contextMenu.state();
647
- },
648
- get children() {
649
- return f(st, {
650
- get children() {
651
- return [(() => {
652
- var o = Tt();
653
- return ut(o, "contextmenu", e.contextMenu.retarget, !0), o;
654
- })(), f(kt, {
655
- get x() {
656
- return F()?.left ?? 0;
657
- },
658
- get y() {
659
- return F()?.top ?? 0;
660
- },
661
- get items() {
662
- return T();
663
- }
664
- })];
665
- }
666
- });
667
- }
668
- }), null), t;
669
- })();
670
692
  }
671
- lt(["contextmenu"]);
693
+ mt(["click", "keyup", "contextmenu"]);
672
694
  export {
673
- Zt as WorkbenchSurface
695
+ oe as WorkbenchSurface
674
696
  };