@floegence/floe-webapp-core 0.36.50 → 0.36.53
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.
- package/dist/components/workbench/WorkbenchCanvas.d.ts +2 -0
- package/dist/components/workbench/WorkbenchCanvas.js +81 -64
- package/dist/components/workbench/WorkbenchCanvasField.d.ts +2 -0
- package/dist/components/workbench/WorkbenchCanvasField.js +47 -38
- package/dist/components/workbench/WorkbenchFilterBar.d.ts +8 -0
- package/dist/components/workbench/WorkbenchFilterBar.js +146 -136
- package/dist/components/workbench/WorkbenchLayerObjects.js +473 -468
- package/dist/components/workbench/WorkbenchPlacementPreview.d.ts +8 -0
- package/dist/components/workbench/WorkbenchPlacementPreview.js +47 -0
- package/dist/components/workbench/WorkbenchSurface.js +104 -82
- package/dist/components/workbench/useWorkbenchModel.js +311 -299
- package/dist/components/workbench/workbenchPlacement.d.ts +37 -0
- package/dist/components/workbench/workbenchPlacement.js +83 -0
- package/dist/styles.css +1 -1
- package/dist/workbench.css +180 -36
- package/package.json +1 -1
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { type InfiniteCanvasContextMenuEvent } from '../../ui';
|
|
2
2
|
import { type ResolvedWorkbenchInteractionAdapter } from './workbenchInteractionAdapter';
|
|
3
3
|
import { type WorkbenchAnnotationItem, type WorkbenchBackgroundLayer, type WorkbenchInteractionMode, type WorkbenchInteractionAdapter, type WorkbenchSelection, type WorkbenchStickyNoteItem, type WorkbenchTextAnnotationPatch, type WorkbenchViewport, type WorkbenchWidgetDefinition, type WorkbenchWidgetItem, type WorkbenchWidgetMotionIntent } from './types';
|
|
4
|
+
import type { WorkbenchPlacementPreviewFrame } from './workbenchPlacement';
|
|
4
5
|
export interface WorkbenchCanvasProps {
|
|
5
6
|
widgetDefinitions: readonly WorkbenchWidgetDefinition[];
|
|
6
7
|
widgets: readonly WorkbenchWidgetItem[];
|
|
7
8
|
stickyNotes?: readonly WorkbenchStickyNoteItem[];
|
|
8
9
|
annotations?: readonly WorkbenchAnnotationItem[];
|
|
9
10
|
backgroundLayers?: readonly WorkbenchBackgroundLayer[];
|
|
11
|
+
placementPreview?: WorkbenchPlacementPreviewFrame | null;
|
|
10
12
|
viewport: WorkbenchViewport;
|
|
11
13
|
canvasFrameSize: {
|
|
12
14
|
width: number;
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import { use as
|
|
2
|
-
import { createMemo as d, createSignal as
|
|
3
|
-
import { resolveWorkbenchInteractionAdapter as
|
|
4
|
-
import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as
|
|
5
|
-
import { WorkbenchCanvasField as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { use as _, insert as S, createComponent as g, memo as y, effect as F, template as B } from "solid-js/web";
|
|
2
|
+
import { createMemo as d, createSignal as z, Show as O, For as j } from "solid-js";
|
|
3
|
+
import { resolveWorkbenchInteractionAdapter as P } from "./workbenchInteractionAdapter.js";
|
|
4
|
+
import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as V, WORKBENCH_TEXT_FILTER_ID as q, WORKBENCH_STICKY_FILTER_ID as T } from "./types.js";
|
|
5
|
+
import { WorkbenchCanvasField as U } 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 x } 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) {
|
|
14
15
|
const a = d((c) => {
|
|
15
16
|
const C = e.widgetById().get(e.widgetId);
|
|
16
17
|
if (C) return C;
|
|
17
18
|
if (c) return c;
|
|
18
19
|
throw new Error(`Workbench widget ${e.widgetId} is missing from the projected render map.`);
|
|
19
|
-
}), r = d(() =>
|
|
20
|
-
return g(
|
|
20
|
+
}), r = d(() => R(a().type, e.widgetDefinitions));
|
|
21
|
+
return g(Y, {
|
|
21
22
|
get definition() {
|
|
22
23
|
return r();
|
|
23
24
|
},
|
|
@@ -65,7 +66,7 @@ function ne(e) {
|
|
|
65
66
|
return e.locked;
|
|
66
67
|
},
|
|
67
68
|
get filtered() {
|
|
68
|
-
return
|
|
69
|
+
return y(() => !e.locked)() && e.filters[a().type] === !1;
|
|
69
70
|
},
|
|
70
71
|
get interactionAdapter() {
|
|
71
72
|
return e.interactionAdapter;
|
|
@@ -121,19 +122,19 @@ function ne(e) {
|
|
|
121
122
|
}
|
|
122
123
|
});
|
|
123
124
|
}
|
|
124
|
-
function
|
|
125
|
+
function oe(e) {
|
|
125
126
|
const a = d((r) => {
|
|
126
127
|
const c = e.stickyNoteById().get(e.noteId);
|
|
127
128
|
if (c) return c;
|
|
128
129
|
if (r) return r;
|
|
129
130
|
throw new Error(`Workbench sticky note ${e.noteId} is missing from the projected render map.`);
|
|
130
131
|
});
|
|
131
|
-
return g(
|
|
132
|
+
return g(X, {
|
|
132
133
|
get item() {
|
|
133
134
|
return a();
|
|
134
135
|
},
|
|
135
136
|
get selected() {
|
|
136
|
-
return
|
|
137
|
+
return y(() => e.selectedObject?.kind === "sticky_note")() && e.selectedObject.id === e.noteId;
|
|
137
138
|
},
|
|
138
139
|
get viewportScale() {
|
|
139
140
|
return e.projectedViewport().scale;
|
|
@@ -175,8 +176,8 @@ function re(e) {
|
|
|
175
176
|
}
|
|
176
177
|
});
|
|
177
178
|
}
|
|
178
|
-
function
|
|
179
|
-
const a = d(() =>
|
|
179
|
+
function Ce(e) {
|
|
180
|
+
const a = d(() => P(e.interactionAdapter)), r = p(() => e.widgets.map((n) => n.id)), c = d(() => {
|
|
180
181
|
const n = e.widgetMotionById;
|
|
181
182
|
if (!n)
|
|
182
183
|
return r();
|
|
@@ -186,25 +187,25 @@ function Se(e) {
|
|
|
186
187
|
for (const [o, u] of Object.entries(n))
|
|
187
188
|
u !== void 0 && (m[o] = u);
|
|
188
189
|
return m;
|
|
189
|
-
}), C = d(() => new Map(e.widgets.map((n) => [n.id, n]))),
|
|
190
|
-
const m =
|
|
191
|
-
return
|
|
192
|
-
})),
|
|
193
|
-
const m =
|
|
194
|
-
return
|
|
195
|
-
}).map((n) => n.id)), M = d(() =>
|
|
190
|
+
}), C = d(() => new Map(e.widgets.map((n) => [n.id, n]))), N = d(() => (e.stickyNotes ?? []).map((n) => n.id)), A = d(() => new Map((e.stickyNotes ?? []).map((n) => [n.id, n]))), b = d(() => J([...e.widgets, ...e.stickyNotes ?? []])), I = Z(), [v, f] = z(null), s = d(() => Q(e.mode)), w = d(() => s().workLayerLocked), l = d(() => s().layerEditingEnabled), D = d(() => e.widgets.filter((n) => {
|
|
191
|
+
const m = R(n.type, e.widgetDefinitions);
|
|
192
|
+
return x(m) === "canvas_scaled";
|
|
193
|
+
})), h = d(() => e.widgets.filter((n) => {
|
|
194
|
+
const m = R(n.type, e.widgetDefinitions);
|
|
195
|
+
return x(m) === "projected_surface";
|
|
196
|
+
}).map((n) => n.id)), M = d(() => h().length > 0), E = d(() => M() ? [] : e.stickyNotes ?? []), W = () => e.canvasFrameSize.width > 0 && e.canvasFrameSize.height > 0, L = M;
|
|
196
197
|
return (() => {
|
|
197
|
-
var n =
|
|
198
|
+
var n = te();
|
|
198
199
|
n.firstChild;
|
|
199
200
|
var m = e.setCanvasFrameRef;
|
|
200
|
-
return typeof m == "function" ?
|
|
201
|
+
return typeof m == "function" ? _(m, n) : e.setCanvasFrameRef = n, S(n, g(ee, {
|
|
201
202
|
ariaLabel: "Workbench canvas",
|
|
202
203
|
class: "workbench-canvas__infinite",
|
|
203
204
|
get viewport() {
|
|
204
205
|
return e.viewport;
|
|
205
206
|
},
|
|
206
207
|
get minScale() {
|
|
207
|
-
return
|
|
208
|
+
return s().minScale;
|
|
208
209
|
},
|
|
209
210
|
get onViewportChange() {
|
|
210
211
|
return e.onViewportCommit;
|
|
@@ -232,13 +233,13 @@ function Se(e) {
|
|
|
232
233
|
get disablePanZoom() {
|
|
233
234
|
return e.locked;
|
|
234
235
|
},
|
|
235
|
-
overlay: (o) => g(
|
|
236
|
+
overlay: (o) => [g(O, {
|
|
236
237
|
get when() {
|
|
237
|
-
return
|
|
238
|
+
return L();
|
|
238
239
|
},
|
|
239
240
|
get children() {
|
|
240
|
-
var u =
|
|
241
|
-
return S(u, g(
|
|
241
|
+
var u = ne(), k = u.firstChild;
|
|
242
|
+
return S(u, g($, {
|
|
242
243
|
get items() {
|
|
243
244
|
return e.backgroundLayers ?? [];
|
|
244
245
|
},
|
|
@@ -246,10 +247,10 @@ function Se(e) {
|
|
|
246
247
|
return e.selectedObject ?? null;
|
|
247
248
|
},
|
|
248
249
|
get editable() {
|
|
249
|
-
return
|
|
250
|
+
return y(() => !!l())() && !e.locked;
|
|
250
251
|
},
|
|
251
252
|
get filtered() {
|
|
252
|
-
return e.filters[
|
|
253
|
+
return e.filters[V] === !1;
|
|
253
254
|
},
|
|
254
255
|
projection: "screen",
|
|
255
256
|
get preview() {
|
|
@@ -262,7 +263,7 @@ function Se(e) {
|
|
|
262
263
|
onSelect: (t) => e.onSelectBackgroundLayer?.(t),
|
|
263
264
|
onContextMenu: (t, i) => e.onBackgroundLayerContextMenu?.(t, i),
|
|
264
265
|
onCommitMove: (t, i) => e.onCommitBackgroundMove?.(t, i)
|
|
265
|
-
}),
|
|
266
|
+
}), k), S(u, g(K, {
|
|
266
267
|
get items() {
|
|
267
268
|
return e.annotations ?? [];
|
|
268
269
|
},
|
|
@@ -270,17 +271,17 @@ function Se(e) {
|
|
|
270
271
|
return e.selectedObject ?? null;
|
|
271
272
|
},
|
|
272
273
|
get editable() {
|
|
273
|
-
return
|
|
274
|
+
return y(() => !!l())() && !e.locked;
|
|
274
275
|
},
|
|
275
276
|
get filtered() {
|
|
276
|
-
return e.filters[
|
|
277
|
+
return e.filters[q] === !1;
|
|
277
278
|
},
|
|
278
279
|
projection: "screen",
|
|
279
280
|
get preview() {
|
|
280
281
|
return v();
|
|
281
282
|
},
|
|
282
283
|
onPreviewGeometry: f,
|
|
283
|
-
textEditorRegistry:
|
|
284
|
+
textEditorRegistry: I,
|
|
284
285
|
get viewport() {
|
|
285
286
|
return o();
|
|
286
287
|
},
|
|
@@ -288,11 +289,11 @@ function Se(e) {
|
|
|
288
289
|
onContextMenu: (t, i) => e.onAnnotationContextMenu?.(t, i),
|
|
289
290
|
onCommitMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
|
|
290
291
|
onUpdate: (t, i) => e.onUpdateTextAnnotation?.(t, i)
|
|
291
|
-
}),
|
|
292
|
+
}), k), S(k, g(j, {
|
|
292
293
|
get each() {
|
|
293
|
-
return
|
|
294
|
+
return h();
|
|
294
295
|
},
|
|
295
|
-
children: (t) => g(
|
|
296
|
+
children: (t) => g(re, {
|
|
296
297
|
widgetId: t,
|
|
297
298
|
get widgetDefinitions() {
|
|
298
299
|
return e.widgetDefinitions;
|
|
@@ -301,12 +302,12 @@ function Se(e) {
|
|
|
301
302
|
return e.canvasFrameSize;
|
|
302
303
|
},
|
|
303
304
|
widgetById: C,
|
|
304
|
-
renderLayers:
|
|
305
|
+
renderLayers: b,
|
|
305
306
|
get widgetMotionById() {
|
|
306
307
|
return c();
|
|
307
308
|
},
|
|
308
309
|
get selectedWidgetId() {
|
|
309
|
-
return
|
|
310
|
+
return y(() => e.selectedObject?.kind === "widget")() ? e.selectedObject.id : e.selectedWidgetId;
|
|
310
311
|
},
|
|
311
312
|
get optimisticFrontWidgetId() {
|
|
312
313
|
return e.optimisticFrontWidgetId;
|
|
@@ -367,17 +368,17 @@ function Se(e) {
|
|
|
367
368
|
return W();
|
|
368
369
|
}
|
|
369
370
|
})
|
|
370
|
-
}), null), S(
|
|
371
|
+
}), null), S(k, g(j, {
|
|
371
372
|
get each() {
|
|
372
|
-
return
|
|
373
|
+
return N();
|
|
373
374
|
},
|
|
374
|
-
children: (t) => g(
|
|
375
|
+
children: (t) => g(oe, {
|
|
375
376
|
noteId: t,
|
|
376
|
-
stickyNoteById:
|
|
377
|
+
stickyNoteById: A,
|
|
377
378
|
get selectedObject() {
|
|
378
379
|
return e.selectedObject;
|
|
379
380
|
},
|
|
380
|
-
renderLayers:
|
|
381
|
+
renderLayers: b,
|
|
381
382
|
projectedViewport: o,
|
|
382
383
|
get optimisticFrontWidgetId() {
|
|
383
384
|
return e.optimisticFrontWidgetId;
|
|
@@ -386,7 +387,7 @@ function Se(e) {
|
|
|
386
387
|
return e.locked || w();
|
|
387
388
|
},
|
|
388
389
|
get filtered() {
|
|
389
|
-
return
|
|
390
|
+
return y(() => !w())() && e.filters[T] === !1;
|
|
390
391
|
},
|
|
391
392
|
get onSelectStickyNote() {
|
|
392
393
|
return e.onSelectStickyNote;
|
|
@@ -422,7 +423,7 @@ function Se(e) {
|
|
|
422
423
|
return W();
|
|
423
424
|
}
|
|
424
425
|
})
|
|
425
|
-
}), null), S(u, g(
|
|
426
|
+
}), null), S(u, g(H, {
|
|
426
427
|
get annotations() {
|
|
427
428
|
return e.annotations ?? [];
|
|
428
429
|
},
|
|
@@ -433,7 +434,7 @@ function Se(e) {
|
|
|
433
434
|
return e.selectedObject ?? null;
|
|
434
435
|
},
|
|
435
436
|
get editable() {
|
|
436
|
-
return
|
|
437
|
+
return y(() => !!l())() && !e.locked;
|
|
437
438
|
},
|
|
438
439
|
get showRegionOutlines() {
|
|
439
440
|
return l();
|
|
@@ -446,7 +447,7 @@ function Se(e) {
|
|
|
446
447
|
return v();
|
|
447
448
|
},
|
|
448
449
|
onPreviewGeometry: f,
|
|
449
|
-
textEditorRegistry:
|
|
450
|
+
textEditorRegistry: I,
|
|
450
451
|
onCommitAnnotationMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
|
|
451
452
|
onCommitAnnotationResize: (t, i) => e.onCommitAnnotationResize?.(t, i),
|
|
452
453
|
onUpdateTextAnnotation: (t, i) => e.onUpdateTextAnnotation?.(t, i),
|
|
@@ -456,17 +457,30 @@ function Se(e) {
|
|
|
456
457
|
onDeleteBackgroundLayer: (t) => e.onDeleteBackgroundLayer?.(t)
|
|
457
458
|
}), null), F(() => u.classList.toggle("is-work-layer-locked", !!w())), u;
|
|
458
459
|
}
|
|
459
|
-
}),
|
|
460
|
+
}), g(O, {
|
|
461
|
+
get when() {
|
|
462
|
+
return y(() => !!L())() ? e.placementPreview : null;
|
|
463
|
+
},
|
|
464
|
+
children: (u) => g(G, {
|
|
465
|
+
get preview() {
|
|
466
|
+
return u();
|
|
467
|
+
},
|
|
468
|
+
projection: "screen",
|
|
469
|
+
get viewport() {
|
|
470
|
+
return o();
|
|
471
|
+
}
|
|
472
|
+
})
|
|
473
|
+
})],
|
|
460
474
|
get children() {
|
|
461
|
-
return g(
|
|
475
|
+
return g(U, {
|
|
462
476
|
get widgetDefinitions() {
|
|
463
477
|
return e.widgetDefinitions;
|
|
464
478
|
},
|
|
465
479
|
get widgets() {
|
|
466
|
-
return
|
|
480
|
+
return D();
|
|
467
481
|
},
|
|
468
482
|
get stickyNotes() {
|
|
469
|
-
return
|
|
483
|
+
return E();
|
|
470
484
|
},
|
|
471
485
|
get annotations() {
|
|
472
486
|
return e.annotations ?? [];
|
|
@@ -474,6 +488,9 @@ function Se(e) {
|
|
|
474
488
|
get backgroundLayers() {
|
|
475
489
|
return e.backgroundLayers ?? [];
|
|
476
490
|
},
|
|
491
|
+
get placementPreview() {
|
|
492
|
+
return e.placementPreview;
|
|
493
|
+
},
|
|
477
494
|
get viewport() {
|
|
478
495
|
return e.viewport;
|
|
479
496
|
},
|
|
@@ -499,7 +516,7 @@ function Se(e) {
|
|
|
499
516
|
return l();
|
|
500
517
|
},
|
|
501
518
|
get renderFreeformLayers() {
|
|
502
|
-
return !
|
|
519
|
+
return !L();
|
|
503
520
|
},
|
|
504
521
|
get viewportScale() {
|
|
505
522
|
return e.viewport.scale;
|
|
@@ -619,12 +636,12 @@ function Se(e) {
|
|
|
619
636
|
return v();
|
|
620
637
|
},
|
|
621
638
|
onLayerGeometryPreview: f,
|
|
622
|
-
textEditorRegistry:
|
|
639
|
+
textEditorRegistry: I
|
|
623
640
|
});
|
|
624
641
|
}
|
|
625
642
|
}), null), F((o) => {
|
|
626
|
-
var u = !!e.locked,
|
|
627
|
-
return u !== o.e && n.classList.toggle("is-locked", o.e = u),
|
|
643
|
+
var u = !!e.locked, k = !!l();
|
|
644
|
+
return u !== o.e && n.classList.toggle("is-locked", o.e = u), k !== o.t && n.classList.toggle("is-composition-mode", o.t = k), o;
|
|
628
645
|
}, {
|
|
629
646
|
e: void 0,
|
|
630
647
|
t: void 0
|
|
@@ -632,5 +649,5 @@ function Se(e) {
|
|
|
632
649
|
})();
|
|
633
650
|
}
|
|
634
651
|
export {
|
|
635
|
-
|
|
652
|
+
Ce as WorkbenchCanvas
|
|
636
653
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ResolvedWorkbenchInteractionAdapter } from './workbenchInteractionAdapter';
|
|
2
2
|
import { type WorkbenchWidgetItem, type WorkbenchAnnotationItem, type WorkbenchBackgroundLayer, type WorkbenchInteractionAdapter, type WorkbenchSelection, type WorkbenchStickyNoteItem, type WorkbenchTextAnnotationPatch, type WorkbenchViewport, type WorkbenchWidgetDefinition, type WorkbenchWidgetMotionIntent } from './types';
|
|
3
|
+
import type { WorkbenchPlacementPreviewFrame } from './workbenchPlacement';
|
|
3
4
|
import { type WorkbenchLayerGeometryPreview, type WorkbenchTextEditorRegistry } from './WorkbenchLayerObjects';
|
|
4
5
|
export interface WorkbenchCanvasFieldProps {
|
|
5
6
|
widgetDefinitions: readonly WorkbenchWidgetDefinition[];
|
|
@@ -7,6 +8,7 @@ export interface WorkbenchCanvasFieldProps {
|
|
|
7
8
|
stickyNotes?: readonly WorkbenchStickyNoteItem[];
|
|
8
9
|
annotations?: readonly WorkbenchAnnotationItem[];
|
|
9
10
|
backgroundLayers?: readonly WorkbenchBackgroundLayer[];
|
|
11
|
+
placementPreview?: WorkbenchPlacementPreviewFrame | null;
|
|
10
12
|
viewport: WorkbenchViewport;
|
|
11
13
|
selectedObject?: WorkbenchSelection | null;
|
|
12
14
|
selectedWidgetId: string | null;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { insert as
|
|
1
|
+
import { insert as l, memo as g, createComponent as d, effect as M, template as O } from "solid-js/web";
|
|
2
2
|
import { createMemo as a, createSignal as E, For as C } from "solid-js";
|
|
3
3
|
import { resolveWorkbenchInteractionAdapter as B } from "./workbenchInteractionAdapter.js";
|
|
4
4
|
import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as x, WORKBENCH_TEXT_FILTER_ID as N, WORKBENCH_STICKY_FILTER_ID as _ } from "./types.js";
|
|
5
5
|
import { createWorkbenchRenderLayerMap as A } from "./workbenchHelpers.js";
|
|
6
6
|
import { getWidgetEntry as D } from "./widgets/widgetRegistry.js";
|
|
7
7
|
import { WorkbenchWidget as s } from "./WorkbenchWidget.js";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
import { WorkbenchPlacementPreview as P } from "./WorkbenchPlacementPreview.js";
|
|
9
|
+
import { WorkbenchBackgroundLayerView as j, WorkbenchAnnotationLayerView as G, WorkbenchLayerControlOverlayView as T, createWorkbenchTextEditorRegistry as q, WorkbenchStickyNote as z } from "./WorkbenchLayerObjects.js";
|
|
10
|
+
var U = /* @__PURE__ */ O("<div class=workbench-canvas__field><div class=workbench-canvas__grid aria-hidden=true></div><div class=workbench-work-layer>");
|
|
11
|
+
function V(e) {
|
|
11
12
|
const c = a((o) => {
|
|
12
|
-
const
|
|
13
|
-
if (
|
|
13
|
+
const m = e.widgetById().get(e.widgetId);
|
|
14
|
+
if (m) return m;
|
|
14
15
|
if (o) return o;
|
|
15
16
|
throw new Error(`Workbench widget ${e.widgetId} is missing from the render map.`);
|
|
16
17
|
}), n = a(() => D(c().type, e.widgetDefinitions));
|
|
@@ -111,7 +112,7 @@ function U(e) {
|
|
|
111
112
|
}
|
|
112
113
|
});
|
|
113
114
|
}
|
|
114
|
-
function
|
|
115
|
+
function $(e) {
|
|
115
116
|
const c = a((n) => {
|
|
116
117
|
const o = e.stickyNoteById().get(e.noteId);
|
|
117
118
|
if (o) return o;
|
|
@@ -159,19 +160,19 @@ function V(e) {
|
|
|
159
160
|
}
|
|
160
161
|
});
|
|
161
162
|
}
|
|
162
|
-
function
|
|
163
|
-
const c = a(() => B(e.interactionAdapter)), n = a(() => e.widgets.map((
|
|
163
|
+
function te(e) {
|
|
164
|
+
const c = a(() => B(e.interactionAdapter)), n = a(() => e.widgets.map((r) => r.id)), o = a(() => new Map(e.widgets.map((r) => [r.id, r]))), m = a(() => (e.stickyNotes ?? []).map((r) => r.id)), f = a(() => new Map((e.stickyNotes ?? []).map((r) => [r.id, r]))), R = q(), v = a(() => e.textEditorRegistry ?? R), S = a(() => A([...e.widgets, ...e.stickyNotes ?? []])), b = a(() => e.selectedObject?.kind === "widget" ? e.selectedObject.id : e.selectedWidgetId), L = a(() => e.locked || !!e.workLayerLocked), [W, h] = E(null), y = a(() => e.layerGeometryPreview === void 0 ? W() : e.layerGeometryPreview), w = (r) => {
|
|
164
165
|
if (e.onLayerGeometryPreview) {
|
|
165
|
-
e.onLayerGeometryPreview(
|
|
166
|
+
e.onLayerGeometryPreview(r);
|
|
166
167
|
return;
|
|
167
168
|
}
|
|
168
|
-
h(
|
|
169
|
+
h(r);
|
|
169
170
|
}, I = a(() => e.renderFreeformLayers !== !1);
|
|
170
171
|
return (() => {
|
|
171
|
-
var
|
|
172
|
-
return
|
|
172
|
+
var r = U(), F = r.firstChild, k = F.nextSibling;
|
|
173
|
+
return l(r, (() => {
|
|
173
174
|
var u = g(() => !!I());
|
|
174
|
-
return () => u() ? [d(
|
|
175
|
+
return () => u() ? [d(j, {
|
|
175
176
|
get items() {
|
|
176
177
|
return e.backgroundLayers ?? [];
|
|
177
178
|
},
|
|
@@ -192,9 +193,9 @@ function p(e) {
|
|
|
192
193
|
return e.viewport;
|
|
193
194
|
},
|
|
194
195
|
onSelect: (t) => e.onSelectBackgroundLayer?.(t),
|
|
195
|
-
onContextMenu: (t,
|
|
196
|
-
onCommitMove: (t,
|
|
197
|
-
}), d(
|
|
196
|
+
onContextMenu: (t, i) => e.onBackgroundLayerContextMenu?.(t, i),
|
|
197
|
+
onCommitMove: (t, i) => e.onCommitBackgroundMove?.(t, i)
|
|
198
|
+
}), d(G, {
|
|
198
199
|
get items() {
|
|
199
200
|
return e.annotations ?? [];
|
|
200
201
|
},
|
|
@@ -212,21 +213,21 @@ function p(e) {
|
|
|
212
213
|
},
|
|
213
214
|
onPreviewGeometry: w,
|
|
214
215
|
get textEditorRegistry() {
|
|
215
|
-
return
|
|
216
|
+
return v();
|
|
216
217
|
},
|
|
217
218
|
get viewport() {
|
|
218
219
|
return e.viewport;
|
|
219
220
|
},
|
|
220
221
|
onSelect: (t) => e.onSelectAnnotation?.(t),
|
|
221
|
-
onContextMenu: (t,
|
|
222
|
-
onCommitMove: (t,
|
|
223
|
-
onUpdate: (t,
|
|
222
|
+
onContextMenu: (t, i) => e.onAnnotationContextMenu?.(t, i),
|
|
223
|
+
onCommitMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
|
|
224
|
+
onUpdate: (t, i) => e.onUpdateTextAnnotation?.(t, i)
|
|
224
225
|
})] : null;
|
|
225
|
-
})(), k),
|
|
226
|
+
})(), k), l(k, d(C, {
|
|
226
227
|
get each() {
|
|
227
228
|
return n();
|
|
228
229
|
},
|
|
229
|
-
children: (u) => d(
|
|
230
|
+
children: (u) => d(V, {
|
|
230
231
|
widgetId: u,
|
|
231
232
|
get widgetDefinitions() {
|
|
232
233
|
return e.widgetDefinitions;
|
|
@@ -235,7 +236,7 @@ function p(e) {
|
|
|
235
236
|
return e.widgets;
|
|
236
237
|
},
|
|
237
238
|
widgetById: o,
|
|
238
|
-
renderLayers:
|
|
239
|
+
renderLayers: S,
|
|
239
240
|
get viewport() {
|
|
240
241
|
return e.viewport;
|
|
241
242
|
},
|
|
@@ -300,11 +301,11 @@ function p(e) {
|
|
|
300
301
|
return e.onLayoutInteractionEnd;
|
|
301
302
|
}
|
|
302
303
|
})
|
|
303
|
-
}), null),
|
|
304
|
+
}), null), l(k, d(C, {
|
|
304
305
|
get each() {
|
|
305
|
-
return
|
|
306
|
+
return m();
|
|
306
307
|
},
|
|
307
|
-
children: (u) => d(
|
|
308
|
+
children: (u) => d($, {
|
|
308
309
|
noteId: u,
|
|
309
310
|
stickyNoteById: f,
|
|
310
311
|
get selectedObject() {
|
|
@@ -352,11 +353,11 @@ function p(e) {
|
|
|
352
353
|
get onLayoutInteractionEnd() {
|
|
353
354
|
return e.onLayoutInteractionEnd;
|
|
354
355
|
},
|
|
355
|
-
renderLayers:
|
|
356
|
+
renderLayers: S
|
|
356
357
|
})
|
|
357
|
-
}), null),
|
|
358
|
+
}), null), l(r, (() => {
|
|
358
359
|
var u = g(() => !!I());
|
|
359
|
-
return () => u() ? d(
|
|
360
|
+
return () => u() ? d(T, {
|
|
360
361
|
get annotations() {
|
|
361
362
|
return e.annotations ?? [];
|
|
362
363
|
},
|
|
@@ -380,19 +381,27 @@ function p(e) {
|
|
|
380
381
|
},
|
|
381
382
|
onPreviewGeometry: w,
|
|
382
383
|
get textEditorRegistry() {
|
|
383
|
-
return
|
|
384
|
+
return v();
|
|
384
385
|
},
|
|
385
|
-
onCommitAnnotationMove: (t,
|
|
386
|
-
onCommitAnnotationResize: (t,
|
|
387
|
-
onUpdateTextAnnotation: (t,
|
|
386
|
+
onCommitAnnotationMove: (t, i) => e.onCommitAnnotationMove?.(t, i),
|
|
387
|
+
onCommitAnnotationResize: (t, i) => e.onCommitAnnotationResize?.(t, i),
|
|
388
|
+
onUpdateTextAnnotation: (t, i) => e.onUpdateTextAnnotation?.(t, i),
|
|
388
389
|
onDeleteAnnotation: (t) => e.onDeleteAnnotation?.(t),
|
|
389
|
-
onCommitBackgroundResize: (t,
|
|
390
|
-
onUpdateBackgroundLayer: (t,
|
|
390
|
+
onCommitBackgroundResize: (t, i) => e.onCommitBackgroundResize?.(t, i),
|
|
391
|
+
onUpdateBackgroundLayer: (t, i) => e.onUpdateBackgroundLayer?.(t, i),
|
|
391
392
|
onDeleteBackgroundLayer: (t) => e.onDeleteBackgroundLayer?.(t)
|
|
392
393
|
}) : null;
|
|
393
|
-
})(), null),
|
|
394
|
+
})(), null), l(r, d(P, {
|
|
395
|
+
get preview() {
|
|
396
|
+
return e.placementPreview;
|
|
397
|
+
},
|
|
398
|
+
projection: "world",
|
|
399
|
+
get viewport() {
|
|
400
|
+
return e.viewport;
|
|
401
|
+
}
|
|
402
|
+
}), null), M(() => r.classList.toggle("is-work-layer-muted", !!e.workLayerLocked)), r;
|
|
394
403
|
})();
|
|
395
404
|
}
|
|
396
405
|
export {
|
|
397
|
-
|
|
406
|
+
te as WorkbenchCanvasField
|
|
398
407
|
};
|
|
@@ -14,9 +14,17 @@ export interface WorkbenchFilterBarProps {
|
|
|
14
14
|
*/
|
|
15
15
|
onCreateAt?: (type: WorkbenchWidgetType, clientX: number, clientY: number) => void;
|
|
16
16
|
onCreateToolAt?: (tool: WorkbenchDockToolId, clientX: number, clientY: number) => void;
|
|
17
|
+
onDragPreviewChange?: (preview: WorkbenchDockDragPreview | null) => void;
|
|
17
18
|
viewport?: WorkbenchViewport;
|
|
18
19
|
onViewportCommit?: (viewport: WorkbenchViewport) => void;
|
|
19
20
|
onViewportInteractionStart?: (kind: 'pan') => void;
|
|
20
21
|
}
|
|
22
|
+
export type WorkbenchDockDragPreview = Readonly<{
|
|
23
|
+
kind: 'widget' | 'tool';
|
|
24
|
+
id: WorkbenchWidgetType | WorkbenchDockToolId;
|
|
25
|
+
label: string;
|
|
26
|
+
clientX: number;
|
|
27
|
+
clientY: number;
|
|
28
|
+
}>;
|
|
21
29
|
export declare function WorkbenchDock(props: WorkbenchFilterBarProps): JSX.Element;
|
|
22
30
|
export declare const WorkbenchFilterBar: typeof WorkbenchDock;
|