@floegence/floe-webapp-core 0.36.74 → 0.36.76

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,13 +1,13 @@
1
- import { insert as l, memo as u, createComponent as c, effect as M, template as W } from "solid-js/web";
1
+ import { insert as l, memo as u, createComponent as c, effect as W, template as M } from "solid-js/web";
2
2
  import { createMemo as a, createSignal as E, For as I } from "solid-js";
3
3
  import { resolveWorkbenchInteractionAdapter as B } from "./workbenchInteractionAdapter.js";
4
- import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as x, WORKBENCH_TEXT_FILTER_ID as N, WORKBENCH_STICKY_FILTER_ID as _ } from "./types.js";
5
- import { createWorkbenchRenderLayerMap as A } from "./workbenchHelpers.js";
4
+ import { WORKBENCH_BACKGROUND_REGION_FILTER_ID as x, WORKBENCH_TEXT_FILTER_ID as N, WORKBENCH_STICKY_FILTER_ID as A } from "./types.js";
5
+ import { createWorkbenchRenderLayerMap as _ } from "./workbenchHelpers.js";
6
6
  import { getWidgetEntry as D } from "./widgets/widgetRegistry.js";
7
7
  import { WorkbenchWidget as V } from "./WorkbenchWidget.js";
8
- import { WorkbenchPlacementPreview as s } from "./WorkbenchPlacementPreview.js";
9
- import { WorkbenchBackgroundLayerView as P, WorkbenchAnnotationLayerView as j, WorkbenchLayerControlOverlayView as G, createWorkbenchTextEditorRegistry as T, WorkbenchStickyNote as q } from "./WorkbenchLayerObjects.js";
10
- var z = /* @__PURE__ */ W("<div class=workbench-canvas__field><div class=workbench-canvas__grid aria-hidden=true></div><div class=workbench-work-layer>");
8
+ import { WorkbenchPlacementPreview as P } from "./WorkbenchPlacementPreview.js";
9
+ import { WorkbenchBackgroundLayerView as j, WorkbenchAnnotationLayerView as s, WorkbenchLayerControlOverlayView as G, createWorkbenchTextEditorRegistry as T, WorkbenchStickyNote as q } from "./WorkbenchLayerObjects.js";
10
+ var z = /* @__PURE__ */ M("<div class=workbench-canvas__field><div class=workbench-canvas__grid aria-hidden=true></div><div class=workbench-work-layer>");
11
11
  function U(e) {
12
12
  const d = a((i) => {
13
13
  const m = e.widgetById().get(e.widgetId);
@@ -74,6 +74,9 @@ function U(e) {
74
74
  get onSelect() {
75
75
  return e.onSelectWidget;
76
76
  },
77
+ get onActivate() {
78
+ return e.onActivateWidget;
79
+ },
77
80
  get onContextMenu() {
78
81
  return e.onWidgetContextMenu;
79
82
  },
@@ -161,7 +164,7 @@ function $(e) {
161
164
  });
162
165
  }
163
166
  function te(e) {
164
- const d = a(() => B(e.interactionAdapter)), n = a(() => e.widgets.map((r) => r.id)), i = 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 = T(), v = a(() => e.textEditorRegistry ?? R), C = a(() => A([...e.widgets, ...e.stickyNotes ?? []])), b = a(() => e.selectedObject?.kind === "widget" ? e.selectedObject.id : e.selectedWidgetId), L = a(() => e.locked || !!e.workLayerLocked), [O, h] = E(null), y = a(() => e.layerGeometryPreview === void 0 ? O() : e.layerGeometryPreview), w = (r) => {
167
+ const d = a(() => B(e.interactionAdapter)), n = a(() => e.widgets.map((r) => r.id)), i = 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 = T(), v = a(() => e.textEditorRegistry ?? R), C = a(() => _([...e.widgets, ...e.stickyNotes ?? []])), b = a(() => e.selectedObject?.kind === "widget" ? e.selectedObject.id : e.selectedWidgetId), L = a(() => e.locked || !!e.workLayerLocked), [O, h] = E(null), y = a(() => e.layerGeometryPreview === void 0 ? O() : e.layerGeometryPreview), w = (r) => {
165
168
  if (e.onLayerGeometryPreview) {
166
169
  e.onLayerGeometryPreview(r);
167
170
  return;
@@ -172,7 +175,7 @@ function te(e) {
172
175
  var r = z(), F = r.firstChild, k = F.nextSibling;
173
176
  return l(r, (() => {
174
177
  var g = u(() => !!S());
175
- return () => g() ? [c(P, {
178
+ return () => g() ? [c(j, {
176
179
  get items() {
177
180
  return e.backgroundLayers ?? [];
178
181
  },
@@ -195,7 +198,7 @@ function te(e) {
195
198
  onSelect: (t) => e.onSelectBackgroundLayer?.(t),
196
199
  onContextMenu: (t, o) => e.onBackgroundLayerContextMenu?.(t, o),
197
200
  onCommitMove: (t, o) => e.onCommitBackgroundMove?.(t, o)
198
- }), c(j, {
201
+ }), c(s, {
199
202
  get items() {
200
203
  return e.annotations ?? [];
201
204
  },
@@ -264,6 +267,9 @@ function te(e) {
264
267
  get onSelectWidget() {
265
268
  return e.onSelectWidget;
266
269
  },
270
+ get onActivateWidget() {
271
+ return e.onActivateWidget;
272
+ },
267
273
  get onWidgetContextMenu() {
268
274
  return e.onWidgetContextMenu;
269
275
  },
@@ -321,7 +327,7 @@ function te(e) {
321
327
  return L();
322
328
  },
323
329
  get filtered() {
324
- return u(() => !e.workLayerLocked)() && e.filters[_] === !1;
330
+ return u(() => !e.workLayerLocked)() && e.filters[A] === !1;
325
331
  },
326
332
  get onSelectStickyNote() {
327
333
  return e.onSelectStickyNote;
@@ -391,7 +397,7 @@ function te(e) {
391
397
  onUpdateBackgroundLayer: (t, o) => e.onUpdateBackgroundLayer?.(t, o),
392
398
  onDeleteBackgroundLayer: (t) => e.onDeleteBackgroundLayer?.(t)
393
399
  }) : null;
394
- })(), null), l(r, c(s, {
400
+ })(), null), l(r, c(P, {
395
401
  get preview() {
396
402
  return e.placementPreview;
397
403
  },
@@ -399,7 +405,7 @@ function te(e) {
399
405
  get viewport() {
400
406
  return e.viewport;
401
407
  }
402
- }), null), M(() => r.classList.toggle("is-work-layer-muted", !!e.workLayerLocked)), r;
408
+ }), null), W(() => r.classList.toggle("is-work-layer-muted", !!e.workLayerLocked)), r;
403
409
  })();
404
410
  }
405
411
  export {
@@ -1,3 +1,4 @@
1
+ import { type UIFirstSelectionEvent } from '../../utils/uiFirstSelection';
1
2
  import { type WorkbenchContextMenuItem } from './WorkbenchContextMenu';
2
3
  import type { WorkbenchState, WorkbenchAnnotationItem, WorkbenchBackgroundLayer, WorkbenchBackgroundLayerDefaults, WorkbenchBackgroundLayerPatch, WorkbenchContextMenuState, WorkbenchInteractionAdapter, WorkbenchStickyNoteItem, WorkbenchStickyNotePatch, WorkbenchTextAnnotationDefaults, WorkbenchTextAnnotationPatch, WorkbenchWidgetDefinition, WorkbenchWidgetItem, WorkbenchWidgetType } from './types';
3
4
  export interface WorkbenchCreateAtOptions {
@@ -67,5 +68,10 @@ export interface WorkbenchSurfaceProps {
67
68
  onRequestDelete?: (widgetId: string) => void;
68
69
  onLayoutInteractionStart?: () => void;
69
70
  onLayoutInteractionEnd?: () => void;
71
+ /** Defer pointer/focus widget activation until the visual selection has painted. */
72
+ widgetActivationMode?: 'sync' | 'after-paint';
73
+ onWidgetActivationEvent?: (event: UIFirstSelectionEvent<string | null, {
74
+ bringToFront: boolean;
75
+ }>) => void;
70
76
  }
71
77
  export declare function WorkbenchSurface(props: WorkbenchSurfaceProps): import("solid-js").JSX.Element;