@floegence/floe-webapp-core 0.55.1 → 0.56.1

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.
@@ -1,26 +1,26 @@
1
- import { use as E, insert as w, createComponent as g, memo as y, effect as F, template as B } from "solid-js/web";
2
- import { createMemo as u, createSignal as _, Show as O, For as j } from "solid-js";
3
- import { resolveWorkbenchInteractionAdapter as z } from "./workbenchInteractionAdapter.js";
4
- import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as P, WORKBENCH_TEXT_FILTER_ID as U, WORKBENCH_STICKY_FILTER_ID as q } from "./types.js";
5
- import { WorkbenchCanvasField as T } from "./WorkbenchCanvasField.js";
6
- import { WorkbenchPlacementPreview as G } from "./WorkbenchPlacementPreview.js";
7
- import { WorkbenchBackgroundLayerView as $, WorkbenchAnnotationLayerView as K, WorkbenchLayerControlOverlayView as H, createWorkbenchTextEditorRegistry as Z, WorkbenchStickyNote as X } from "./WorkbenchLayerObjects.js";
8
- import { WorkbenchWidget as Y } from "./WorkbenchWidget.js";
9
- import { createWorkbenchRenderLayerMap as J, resolveWorkbenchModeStrategy as Q, resolveWorkbenchWidgetRenderMode as A } from "./workbenchHelpers.js";
10
- import { createWorkbenchWidgetEnterMotionTracker as p } from "./workbenchMotion.js";
11
- import { getWidgetEntry as R } from "./widgets/widgetRegistry.js";
12
- import { InfiniteCanvas as ee } from "../ui/InfiniteCanvas.js";
13
- var te = /* @__PURE__ */ B("<div class=workbench-canvas><div class=workbench-canvas__atmosphere aria-hidden=true>"), ne = /* @__PURE__ */ B("<div class=workbench-canvas__projected-layer><div class=workbench-canvas__projected-work-layer>");
14
- function re(e) {
1
+ import { use as z, insert as v, createComponent as d, memo as k, effect as j, template as N } from "solid-js/web";
2
+ import { createMemo as u, createSignal as P, Show as A, For as x } from "solid-js";
3
+ import { resolveWorkbenchInteractionAdapter as U } from "./workbenchInteractionAdapter.js";
4
+ import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as q, WORKBENCH_TEXT_FILTER_ID as T, WORKBENCH_STICKY_FILTER_ID as G } from "./types.js";
5
+ import { WorkbenchCanvasField as K } from "./WorkbenchCanvasField.js";
6
+ import { WorkbenchPlacementPreview as $ } from "./WorkbenchPlacementPreview.js";
7
+ import { createWorkbenchTextEditorRegistry as H, WorkbenchBackgroundLayerView as Z, WorkbenchAnnotationLayerView as X, WorkbenchLayerControlOverlayView as Y, WorkbenchStickyNote as J } from "./WorkbenchLayerObjects.js";
8
+ import { WorkbenchWidget as Q } from "./WorkbenchWidget.js";
9
+ import { createWorkbenchRenderLayerMap as p, resolveWorkbenchModeStrategy as ee, resolveWorkbenchWidgetRenderMode as B } from "./workbenchHelpers.js";
10
+ import { createWorkbenchWidgetEnterMotionTracker as te } from "./workbenchMotion.js";
11
+ import { getWidgetEntry as b } from "./widgets/widgetRegistry.js";
12
+ import { InfiniteCanvas as ne } from "../ui/InfiniteCanvas.js";
13
+ var re = /* @__PURE__ */ N("<div class=workbench-canvas><div class=workbench-canvas__atmosphere aria-hidden=true></div><div class=workbench-canvas__grid aria-hidden=true>"), oe = /* @__PURE__ */ N("<div class=workbench-canvas__projected-layer><div class=workbench-canvas__projected-work-layer>");
14
+ function ie(e) {
15
15
  const a = u((c) => {
16
- const v = e.widgetById().get(e.widgetId);
17
- if (v) return v;
16
+ const C = e.widgetById().get(e.widgetId);
17
+ if (C) return C;
18
18
  if (c) return c;
19
19
  throw new Error(`Workbench widget ${e.widgetId} is missing from the projected render map.`);
20
- }), r = u(() => R(a().type, e.widgetDefinitions));
21
- return g(Y, {
20
+ }), o = u(() => b(a().type, e.widgetDefinitions));
21
+ return d(Q, {
22
22
  get definition() {
23
- return r();
23
+ return o();
24
24
  },
25
25
  get widgetId() {
26
26
  return e.widgetId;
@@ -125,19 +125,19 @@ function re(e) {
125
125
  }
126
126
  });
127
127
  }
128
- function oe(e) {
129
- const a = u((r) => {
128
+ function ae(e) {
129
+ const a = u((o) => {
130
130
  const c = e.stickyNoteById().get(e.noteId);
131
131
  if (c) return c;
132
- if (r) return r;
132
+ if (o) return o;
133
133
  throw new Error(`Workbench sticky note ${e.noteId} is missing from the projected render map.`);
134
134
  });
135
- return g(X, {
135
+ return d(J, {
136
136
  get item() {
137
137
  return a();
138
138
  },
139
139
  get selected() {
140
- return y(() => e.selectedObject?.kind === "sticky_note")() && e.selectedObject.id === e.noteId;
140
+ return k(() => e.selectedObject?.kind === "sticky_note")() && e.selectedObject.id === e.noteId;
141
141
  },
142
142
  get viewportScale() {
143
143
  return e.projectedViewport().scale;
@@ -163,14 +163,14 @@ function oe(e) {
163
163
  get visualFront() {
164
164
  return e.visualFrontOwnerId === e.noteId;
165
165
  },
166
- onSelect: (r) => e.onSelectStickyNote?.(r),
167
- onContextMenu: (r, c) => e.onStickyNoteContextMenu?.(r, c),
168
- onClaimVisualFrontOwner: (r) => e.onClaimStickyVisualFrontOwner?.(r),
169
- onCommitFront: (r) => e.onCommitStickyFront?.(r),
170
- onCommitMove: (r, c) => e.onCommitStickyMove?.(r, c),
171
- onCommitResize: (r, c) => e.onCommitStickyResize?.(r, c),
172
- onUpdate: (r, c) => e.onUpdateStickyNote?.(r, c),
173
- onDelete: (r) => e.onDeleteStickyNote?.(r),
166
+ onSelect: (o) => e.onSelectStickyNote?.(o),
167
+ onContextMenu: (o, c) => e.onStickyNoteContextMenu?.(o, c),
168
+ onClaimVisualFrontOwner: (o) => e.onClaimStickyVisualFrontOwner?.(o),
169
+ onCommitFront: (o) => e.onCommitStickyFront?.(o),
170
+ onCommitMove: (o, c) => e.onCommitStickyMove?.(o, c),
171
+ onCommitResize: (o, c) => e.onCommitStickyResize?.(o, c),
172
+ onUpdate: (o, c) => e.onUpdateStickyNote?.(o, c),
173
+ onDelete: (o) => e.onDeleteStickyNote?.(o),
174
174
  get onLayoutInteractionStart() {
175
175
  return e.onLayoutInteractionStart;
176
176
  },
@@ -179,36 +179,36 @@ function oe(e) {
179
179
  }
180
180
  });
181
181
  }
182
- function Ce(e) {
183
- const a = u(() => z(e.interactionAdapter)), r = p(() => e.widgets.map((n) => n.id)), c = u(() => {
182
+ function fe(e) {
183
+ const a = u(() => U(e.interactionAdapter)), o = te(() => e.widgets.map((n) => n.id)), c = u(() => {
184
184
  const n = e.widgetMotionById;
185
185
  if (!n)
186
- return r();
187
- const l = {
188
- ...r()
186
+ return o();
187
+ const m = {
188
+ ...o()
189
189
  };
190
- for (const [o, d] of Object.entries(n))
191
- d !== void 0 && (l[o] = d);
192
- return l;
193
- }), v = u(() => new Map(e.widgets.map((n) => [n.id, n]))), x = u(() => (e.stickyNotes ?? []).map((n) => n.id)), N = u(() => new Map((e.stickyNotes ?? []).map((n) => [n.id, n]))), b = u(() => J([...e.widgets, ...e.stickyNotes ?? []])), C = Z(), [S, f] = _(null), L = u(() => Q(e.mode)), I = u(() => L().workLayerLocked), m = u(() => L().layerEditingEnabled), D = u(() => e.widgets.filter((n) => {
194
- const l = R(n.type, e.widgetDefinitions);
195
- return A(l) === "canvas_scaled";
196
- })), h = u(() => e.widgets.filter((n) => {
197
- const l = R(n.type, e.widgetDefinitions);
198
- return A(l) === "projected_surface";
199
- }).map((n) => n.id)), M = u(() => h().length > 0), V = u(() => M() ? [] : e.stickyNotes ?? []), W = () => e.canvasFrameSize.width > 0 && e.canvasFrameSize.height > 0, s = M;
190
+ for (const [L, i] of Object.entries(n))
191
+ i !== void 0 && (m[L] = i);
192
+ return m;
193
+ }), C = u(() => new Map(e.widgets.map((n) => [n.id, n]))), D = u(() => (e.stickyNotes ?? []).map((n) => n.id)), V = u(() => new Map((e.stickyNotes ?? []).map((n) => [n.id, n]))), h = u(() => p([...e.widgets, ...e.stickyNotes ?? []])), S = H(), [f, I] = P(null), R = u(() => ee(e.mode)), w = u(() => R().workLayerLocked), l = u(() => R().layerEditingEnabled), E = u(() => e.widgets.filter((n) => {
194
+ const m = b(n.type, e.widgetDefinitions);
195
+ return B(m) === "canvas_scaled";
196
+ })), M = u(() => e.widgets.filter((n) => {
197
+ const m = b(n.type, e.widgetDefinitions);
198
+ return B(m) === "projected_surface";
199
+ }).map((n) => n.id)), W = u(() => M().length > 0), _ = u(() => W() ? [] : e.stickyNotes ?? []), F = () => e.canvasFrameSize.width > 0 && e.canvasFrameSize.height > 0, s = W;
200
200
  return (() => {
201
- var n = te();
202
- n.firstChild;
203
- var l = e.setCanvasFrameRef;
204
- return typeof l == "function" ? E(l, n) : e.setCanvasFrameRef = n, w(n, g(ee, {
201
+ var n = re(), m = n.firstChild;
202
+ m.nextSibling;
203
+ var L = e.setCanvasFrameRef;
204
+ return typeof L == "function" ? z(L, n) : e.setCanvasFrameRef = n, v(n, d(ne, {
205
205
  ariaLabel: "Workbench canvas",
206
206
  class: "workbench-canvas__infinite",
207
207
  get viewport() {
208
208
  return e.viewport;
209
209
  },
210
210
  get minScale() {
211
- return L().minScale;
211
+ return R().minScale;
212
212
  },
213
213
  get onViewportChange() {
214
214
  return e.onViewportCommit;
@@ -222,29 +222,29 @@ function Ce(e) {
222
222
  get onCanvasPointerDown() {
223
223
  return e.onCanvasPointerDown;
224
224
  },
225
- resolveTargetRole: (o) => a().resolveSurfaceTargetRole({
226
- target: o.target,
227
- interactiveSelector: o.interactiveSelector,
228
- panSurfaceSelector: o.panSurfaceSelector
225
+ resolveTargetRole: (i) => a().resolveSurfaceTargetRole({
226
+ target: i.target,
227
+ interactiveSelector: i.interactiveSelector,
228
+ panSurfaceSelector: i.panSurfaceSelector
229
229
  }),
230
- resolveWheelRouting: (o) => a().resolveWheelRouting({
231
- target: o.target,
232
- disablePanZoom: o.disablePanZoom,
230
+ resolveWheelRouting: (i) => a().resolveWheelRouting({
231
+ target: i.target,
232
+ disablePanZoom: i.disablePanZoom,
233
233
  selectedWidgetId: e.selectedObject?.kind === "widget" || e.selectedObject?.kind === "sticky_note" ? e.selectedObject.id : e.selectedWidgetId,
234
- wheelInteractiveSelector: o.wheelInteractiveSelector
234
+ wheelInteractiveSelector: i.wheelInteractiveSelector
235
235
  }),
236
236
  get disablePanZoom() {
237
237
  return e.locked;
238
238
  },
239
- overlay: (o) => [g(O, {
239
+ overlay: (i) => [d(A, {
240
240
  get when() {
241
241
  return s();
242
242
  },
243
243
  get children() {
244
- var d = ne(), k = d.firstChild;
245
- return w(d, g($, {
246
- textEditorRegistry: C,
247
- onUpdate: (t, i) => e.onUpdateBackgroundLayer?.(t, i),
244
+ var g = oe(), y = g.firstChild;
245
+ return v(g, d(Z, {
246
+ textEditorRegistry: S,
247
+ onUpdate: (t, r) => e.onUpdateBackgroundLayer?.(t, r),
248
248
  get items() {
249
249
  return e.backgroundLayers ?? [];
250
250
  },
@@ -252,23 +252,23 @@ function Ce(e) {
252
252
  return e.selectedObject ?? null;
253
253
  },
254
254
  get editable() {
255
- return y(() => !!m())() && !e.locked;
255
+ return k(() => !!l())() && !e.locked;
256
256
  },
257
257
  get filtered() {
258
- return e.filters[P] === !1;
258
+ return e.filters[q] === !1;
259
259
  },
260
260
  projection: "screen",
261
261
  get preview() {
262
- return S();
262
+ return f();
263
263
  },
264
- onPreviewGeometry: f,
264
+ onPreviewGeometry: I,
265
265
  get viewport() {
266
- return o();
266
+ return i();
267
267
  },
268
268
  onSelect: (t) => e.onSelectBackgroundLayer?.(t),
269
- onContextMenu: (t, i) => e.onBackgroundLayerContextMenu?.(t, i),
270
- onCommitMove: (t, i) => e.onCommitBackgroundMove?.(t, i)
271
- }), k), w(d, g(K, {
269
+ onContextMenu: (t, r) => e.onBackgroundLayerContextMenu?.(t, r),
270
+ onCommitMove: (t, r) => e.onCommitBackgroundMove?.(t, r)
271
+ }), y), v(g, d(X, {
272
272
  get items() {
273
273
  return e.annotations ?? [];
274
274
  },
@@ -276,29 +276,29 @@ function Ce(e) {
276
276
  return e.selectedObject ?? null;
277
277
  },
278
278
  get editable() {
279
- return y(() => !!m())() && !e.locked;
279
+ return k(() => !!l())() && !e.locked;
280
280
  },
281
281
  get filtered() {
282
- return e.filters[U] === !1;
282
+ return e.filters[T] === !1;
283
283
  },
284
284
  projection: "screen",
285
285
  get preview() {
286
- return S();
286
+ return f();
287
287
  },
288
- onPreviewGeometry: f,
289
- textEditorRegistry: C,
288
+ onPreviewGeometry: I,
289
+ textEditorRegistry: S,
290
290
  get viewport() {
291
- return o();
291
+ return i();
292
292
  },
293
293
  onSelect: (t) => e.onSelectAnnotation?.(t),
294
- onContextMenu: (t, i) => e.onAnnotationContextMenu?.(t, i),
295
- onCommitMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
296
- onUpdate: (t, i) => e.onUpdateTextAnnotation?.(t, i)
297
- }), k), w(k, g(j, {
294
+ onContextMenu: (t, r) => e.onAnnotationContextMenu?.(t, r),
295
+ onCommitMove: (t, r) => e.onCommitAnnotationMove?.(t, r),
296
+ onUpdate: (t, r) => e.onUpdateTextAnnotation?.(t, r)
297
+ }), y), v(y, d(x, {
298
298
  get each() {
299
- return h();
299
+ return M();
300
300
  },
301
- children: (t) => g(re, {
301
+ children: (t) => d(ie, {
302
302
  widgetId: t,
303
303
  get widgetDefinitions() {
304
304
  return e.widgetDefinitions;
@@ -306,19 +306,19 @@ function Ce(e) {
306
306
  get canvasFrameSize() {
307
307
  return e.canvasFrameSize;
308
308
  },
309
- widgetById: v,
310
- renderLayers: b,
309
+ widgetById: C,
310
+ renderLayers: h,
311
311
  get widgetMotionById() {
312
312
  return c();
313
313
  },
314
314
  get selectedWidgetId() {
315
- return y(() => e.selectedObject?.kind === "widget")() ? e.selectedObject.id : e.selectedWidgetId;
315
+ return k(() => e.selectedObject?.kind === "widget")() ? e.selectedObject.id : e.selectedWidgetId;
316
316
  },
317
317
  get visualFrontOwnerId() {
318
318
  return e.visualFrontOwnerId;
319
319
  },
320
320
  get locked() {
321
- return e.locked || I();
321
+ return e.locked || w();
322
322
  },
323
323
  get filters() {
324
324
  return e.filters;
@@ -371,31 +371,31 @@ function Ce(e) {
371
371
  get onLayoutInteractionEnd() {
372
372
  return e.onLayoutInteractionEnd;
373
373
  },
374
- projectedViewport: o,
374
+ projectedViewport: i,
375
375
  get surfaceReady() {
376
- return W();
376
+ return F();
377
377
  }
378
378
  })
379
- }), null), w(k, g(j, {
379
+ }), null), v(y, d(x, {
380
380
  get each() {
381
- return x();
381
+ return D();
382
382
  },
383
- children: (t) => g(oe, {
383
+ children: (t) => d(ae, {
384
384
  noteId: t,
385
- stickyNoteById: N,
385
+ stickyNoteById: V,
386
386
  get selectedObject() {
387
387
  return e.selectedObject;
388
388
  },
389
- renderLayers: b,
390
- projectedViewport: o,
389
+ renderLayers: h,
390
+ projectedViewport: i,
391
391
  get visualFrontOwnerId() {
392
392
  return e.visualFrontOwnerId;
393
393
  },
394
394
  get locked() {
395
- return e.locked;
395
+ return e.locked || w();
396
396
  },
397
397
  get filtered() {
398
- return y(() => !I())() && e.filters[q] === !1;
398
+ return k(() => !w())() && e.filters[G] === !1;
399
399
  },
400
400
  get onSelectStickyNote() {
401
401
  return e.onSelectStickyNote;
@@ -428,10 +428,10 @@ function Ce(e) {
428
428
  return e.onLayoutInteractionEnd;
429
429
  },
430
430
  get surfaceReady() {
431
- return W();
431
+ return F();
432
432
  }
433
433
  })
434
- }), null), w(d, g(H, {
434
+ }), null), v(g, d(Y, {
435
435
  get annotations() {
436
436
  return e.annotations ?? [];
437
437
  },
@@ -442,53 +442,59 @@ function Ce(e) {
442
442
  return e.selectedObject ?? null;
443
443
  },
444
444
  get editable() {
445
- return y(() => !!m())() && !e.locked;
445
+ return k(() => !!l())() && !e.locked;
446
446
  },
447
447
  get showRegionOutlines() {
448
- return m();
448
+ return l();
449
449
  },
450
450
  projection: "screen",
451
451
  get viewport() {
452
- return o();
452
+ return i();
453
453
  },
454
454
  get preview() {
455
- return S();
455
+ return f();
456
456
  },
457
- onPreviewGeometry: f,
458
- textEditorRegistry: C,
459
- onCommitAnnotationMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
460
- onCommitAnnotationResize: (t, i) => e.onCommitAnnotationResize?.(t, i),
461
- onUpdateTextAnnotation: (t, i) => e.onUpdateTextAnnotation?.(t, i),
457
+ onPreviewGeometry: I,
458
+ textEditorRegistry: S,
459
+ onCommitAnnotationMove: (t, r) => e.onCommitAnnotationMove?.(t, r),
460
+ onCommitAnnotationResize: (t, r) => e.onCommitAnnotationResize?.(t, r),
461
+ onUpdateTextAnnotation: (t, r) => e.onUpdateTextAnnotation?.(t, r),
462
462
  onDeleteAnnotation: (t) => e.onDeleteAnnotation?.(t),
463
- onCommitBackgroundResize: (t, i) => e.onCommitBackgroundResize?.(t, i),
464
- onUpdateBackgroundLayer: (t, i) => e.onUpdateBackgroundLayer?.(t, i),
463
+ onCommitBackgroundResize: (t, r) => e.onCommitBackgroundResize?.(t, r),
464
+ onUpdateBackgroundLayer: (t, r) => e.onUpdateBackgroundLayer?.(t, r),
465
465
  onDeleteBackgroundLayer: (t) => e.onDeleteBackgroundLayer?.(t)
466
- }), null), F(() => d.classList.toggle("is-work-layer-locked", !!I())), d;
466
+ }), null), j((t) => {
467
+ var r = !!w(), O = w();
468
+ return r !== t.e && g.classList.toggle("is-work-layer-locked", t.e = r), O !== t.t && (y.inert = t.t = O), t;
469
+ }, {
470
+ e: void 0,
471
+ t: void 0
472
+ }), g;
467
473
  }
468
- }), g(O, {
474
+ }), d(A, {
469
475
  get when() {
470
- return y(() => !!s())() ? e.placementPreview : null;
476
+ return k(() => !!s())() ? e.placementPreview : null;
471
477
  },
472
- children: (d) => g(G, {
478
+ children: (g) => d($, {
473
479
  get preview() {
474
- return d();
480
+ return g();
475
481
  },
476
482
  projection: "screen",
477
483
  get viewport() {
478
- return o();
484
+ return i();
479
485
  }
480
486
  })
481
487
  })],
482
488
  get children() {
483
- return g(T, {
489
+ return d(K, {
484
490
  get widgetDefinitions() {
485
491
  return e.widgetDefinitions;
486
492
  },
487
493
  get widgets() {
488
- return D();
494
+ return E();
489
495
  },
490
496
  get stickyNotes() {
491
- return V();
497
+ return _();
492
498
  },
493
499
  get annotations() {
494
500
  return e.annotations ?? [];
@@ -497,7 +503,7 @@ function Ce(e) {
497
503
  return e.backgroundLayers ?? [];
498
504
  },
499
505
  get placementPreview() {
500
- return y(() => !!s())() ? null : e.placementPreview;
506
+ return k(() => !!s())() ? null : e.placementPreview;
501
507
  },
502
508
  get viewport() {
503
509
  return e.viewport;
@@ -512,16 +518,16 @@ function Ce(e) {
512
518
  return e.visualFrontOwnerId;
513
519
  },
514
520
  get workLayerLocked() {
515
- return I();
521
+ return w();
516
522
  },
517
523
  get annotationLayerEditable() {
518
- return m();
524
+ return l();
519
525
  },
520
526
  get backgroundLayerEditable() {
521
- return m();
527
+ return l();
522
528
  },
523
529
  get showRegionOutlines() {
524
- return m();
530
+ return l();
525
531
  },
526
532
  get renderFreeformLayers() {
527
533
  return !s();
@@ -644,15 +650,15 @@ function Ce(e) {
644
650
  return e.onLayoutInteractionEnd;
645
651
  },
646
652
  get layerGeometryPreview() {
647
- return S();
653
+ return f();
648
654
  },
649
- onLayerGeometryPreview: f,
650
- textEditorRegistry: C
655
+ onLayerGeometryPreview: I,
656
+ textEditorRegistry: S
651
657
  });
652
658
  }
653
- }), null), F((o) => {
654
- var d = !!e.locked, k = !!m();
655
- return d !== o.e && n.classList.toggle("is-locked", o.e = d), k !== o.t && n.classList.toggle("is-composition-mode", o.t = k), o;
659
+ }), null), j((i) => {
660
+ var g = !!e.locked, y = !!l();
661
+ return g !== i.e && n.classList.toggle("is-locked", i.e = g), y !== i.t && n.classList.toggle("is-composition-mode", i.t = y), i;
656
662
  }, {
657
663
  e: void 0,
658
664
  t: void 0
@@ -660,5 +666,5 @@ function Ce(e) {
660
666
  })();
661
667
  }
662
668
  export {
663
- Ce as WorkbenchCanvas
669
+ fe as WorkbenchCanvas
664
670
  };
@@ -48,7 +48,7 @@ export interface WorkbenchCanvasFieldProps {
48
48
  width: number;
49
49
  height: number;
50
50
  }) => void;
51
- onUpdateStickyNote?: (noteId: string, patch: Partial<Pick<WorkbenchStickyNoteItem, 'body' | 'color' | 'material'>>) => void;
51
+ onUpdateStickyNote?: (noteId: string, patch: Partial<Pick<WorkbenchStickyNoteItem, 'title' | 'body' | 'color' | 'material'>>) => void;
52
52
  onDeleteStickyNote?: (noteId: string) => void;
53
53
  onSelectAnnotation?: (annotationId: string) => void;
54
54
  onAnnotationContextMenu?: (event: MouseEvent, item: WorkbenchAnnotationItem) => void;