@floegence/floe-webapp-core 0.36.16 → 0.36.18
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/ui/InfiniteCanvas.js +79 -71
- package/dist/components/ui/index.d.ts +2 -1
- package/dist/components/ui/localInteractionSurface.d.ts +2 -0
- package/dist/components/ui/localInteractionSurface.js +51 -26
- package/dist/components/ui/pointerSession.d.ts +35 -0
- package/dist/components/ui/pointerSession.js +85 -0
- package/dist/components/workbench/WorkbenchFilterBar.js +119 -117
- package/dist/components/workbench/WorkbenchWidget.js +157 -135
- package/dist/components/workbench/types.d.ts +7 -0
- package/dist/full.js +461 -458
- package/dist/ui.js +106 -103
- package/package.json +1 -1
|
@@ -1,28 +1,51 @@
|
|
|
1
|
-
import { spread as
|
|
2
|
-
import { createSignal as
|
|
3
|
-
import { startHotInteraction as
|
|
4
|
-
import { X as
|
|
5
|
-
import { CANVAS_WHEEL_INTERACTIVE_ATTR as
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { spread as L, mergeProps as at, insert as l, createComponent as c, memo as rt, template as q, use as dt, delegateEvents as lt } from "solid-js/web";
|
|
2
|
+
import { createSignal as C, onCleanup as ct, untrack as S, createMemo as f } from "solid-js";
|
|
3
|
+
import { startHotInteraction as A } from "../../utils/hotInteraction.js";
|
|
4
|
+
import { X as O, Minus as F, Maximize as N, GripVertical as st } from "../icons/index.js";
|
|
5
|
+
import { CANVAS_WHEEL_INTERACTIVE_ATTR as wt, WORKBENCH_WIDGET_SHELL_ATTR as gt, shouldActivateWorkbenchWidgetLocalTarget as ht, resolveWorkbenchWidgetEventOwnership as ut } from "../ui/localInteractionSurface.js";
|
|
6
|
+
import { startPointerSession as j } from "../ui/pointerSession.js";
|
|
7
|
+
import { createWorkbenchWidgetSurfaceMetrics as ft } from "./workbenchHelpers.js";
|
|
8
|
+
var _t = /* @__PURE__ */ q('<article class=workbench-widget data-floe-dialog-surface-host=true><header class=workbench-widget__header><span class=workbench-widget__traffic role=group aria-label="Window controls"><button type=button class="workbench-widget__traffic-dot workbench-widget__traffic-dot--close"aria-label="Close widget"title="Close widget"data-floe-canvas-interactive=true></button><button type=button class="workbench-widget__traffic-dot workbench-widget__traffic-dot--min"aria-label="Minimize widget to overview"title="Minimize widget to overview"data-floe-canvas-interactive=true></button><button type=button class="workbench-widget__traffic-dot workbench-widget__traffic-dot--max"aria-label="Zoom widget to fit viewport"title="Zoom widget to fit viewport"data-floe-canvas-interactive=true></button></span><span class=workbench-widget__badge aria-hidden=true></span><button type=button class=workbench-widget__drag aria-label="Drag widget"data-floe-canvas-interactive=true></button><div class=workbench-widget__title-area><span class=workbench-widget__title-dot aria-hidden=true></span><span class=workbench-widget__title></span></div><span class=workbench-widget__window-controls role=group aria-label="Window controls"><button type=button class="workbench-widget__window-control workbench-widget__window-control--min"aria-label="Minimize widget to overview"title="Minimize widget to overview"data-floe-canvas-interactive=true></button><button type=button class="workbench-widget__window-control workbench-widget__window-control--max"aria-label="Zoom widget to fit viewport"title="Zoom widget to fit viewport"data-floe-canvas-interactive=true></button><button type=button class="workbench-widget__window-control workbench-widget__window-control--close"aria-label="Remove widget"title="Remove widget"data-floe-canvas-interactive=true></button></span></header><div class=workbench-widget__body data-floe-canvas-interactive=true>'), bt = /* @__PURE__ */ q('<div class=workbench-widget__resize aria-label="Resize widget"data-floe-canvas-interactive=true><svg class=workbench-widget__resize-glyph viewBox="0 0 12 12"aria-hidden=true><path d="M12 0 L0 12"></path><path d="M12 4 L4 12"></path><path d="M12 8 L8 12">');
|
|
9
|
+
const mt = 220, vt = 160, B = '[data-floe-canvas-interactive="true"]', V = '[data-floe-canvas-pan-surface="true"]';
|
|
10
|
+
function Ct(t) {
|
|
11
|
+
const [_, I] = C(null), [b, x] = C(null), [G, Z] = C();
|
|
12
|
+
let h, u, g;
|
|
13
|
+
ct(() => {
|
|
14
|
+
h?.stop({
|
|
15
|
+
reason: "manual_stop",
|
|
16
|
+
commit: !1
|
|
17
|
+
}), h = void 0, u?.stop({
|
|
18
|
+
reason: "manual_stop",
|
|
19
|
+
commit: !1
|
|
20
|
+
}), u = void 0, S(_)?.stopInteraction(), S(b)?.stopInteraction();
|
|
14
21
|
});
|
|
15
|
-
const
|
|
22
|
+
const W = () => _() !== null, R = () => b() !== null, p = (e) => ut({
|
|
16
23
|
target: e,
|
|
17
|
-
widgetRoot:
|
|
18
|
-
interactiveSelector:
|
|
19
|
-
panSurfaceSelector:
|
|
20
|
-
}),
|
|
21
|
-
e.button
|
|
22
|
-
|
|
24
|
+
widgetRoot: g ?? null,
|
|
25
|
+
interactiveSelector: B,
|
|
26
|
+
panSurfaceSelector: V
|
|
27
|
+
}), K = (e) => {
|
|
28
|
+
if (e.button !== 0) return;
|
|
29
|
+
t.onSelect(t.widgetId), t.onCommitFront(t.widgetId);
|
|
30
|
+
const i = p(e.target);
|
|
31
|
+
if (i === "widget_shell") {
|
|
32
|
+
g?.focus({
|
|
33
|
+
preventScroll: !0
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
i === "widget_local" && ht({
|
|
38
|
+
target: e.target,
|
|
39
|
+
widgetRoot: g ?? null,
|
|
40
|
+
interactiveSelector: B,
|
|
41
|
+
panSurfaceSelector: V
|
|
42
|
+
}) && Z((r) => ({
|
|
43
|
+
seq: (r?.seq ?? 0) + 1,
|
|
44
|
+
source: "local_pointer",
|
|
45
|
+
pointerType: e.pointerType || void 0
|
|
23
46
|
}));
|
|
24
|
-
},
|
|
25
|
-
const e =
|
|
47
|
+
}, m = f(() => {
|
|
48
|
+
const e = _();
|
|
26
49
|
return e ? {
|
|
27
50
|
x: e.worldX,
|
|
28
51
|
y: e.worldY
|
|
@@ -30,8 +53,8 @@ function kt(t) {
|
|
|
30
53
|
x: t.x,
|
|
31
54
|
y: t.y
|
|
32
55
|
};
|
|
33
|
-
}),
|
|
34
|
-
const e =
|
|
56
|
+
}), v = f(() => {
|
|
57
|
+
const e = b();
|
|
35
58
|
return e ? {
|
|
36
59
|
width: e.width,
|
|
37
60
|
height: e.height
|
|
@@ -39,34 +62,34 @@ function kt(t) {
|
|
|
39
62
|
width: t.width,
|
|
40
63
|
height: t.height
|
|
41
64
|
};
|
|
42
|
-
}),
|
|
65
|
+
}), E = f(() => {
|
|
43
66
|
if (!(t.layoutMode !== "projected_surface" || !t.projectedViewport))
|
|
44
|
-
return
|
|
67
|
+
return ft({
|
|
45
68
|
widgetId: t.widgetId,
|
|
46
|
-
worldX:
|
|
47
|
-
worldY:
|
|
48
|
-
worldWidth:
|
|
49
|
-
worldHeight:
|
|
69
|
+
worldX: m().x,
|
|
70
|
+
worldY: m().y,
|
|
71
|
+
worldWidth: v().width,
|
|
72
|
+
worldHeight: v().height,
|
|
50
73
|
viewport: t.projectedViewport,
|
|
51
74
|
ready: t.surfaceReady ?? !0
|
|
52
75
|
});
|
|
53
|
-
}),
|
|
76
|
+
}), U = f(() => {
|
|
54
77
|
const e = t.itemSnapshot().z_index, i = Number.isFinite(e) ? Math.max(1, Math.min(99, Math.round(e))) : 1;
|
|
55
78
|
return String(i).padStart(2, "0");
|
|
56
|
-
}),
|
|
79
|
+
}), T = (e) => {
|
|
57
80
|
e.preventDefault(), e.stopPropagation(), t.onRequestOverview(t.itemSnapshot());
|
|
58
|
-
},
|
|
81
|
+
}, z = (e) => {
|
|
59
82
|
e.preventDefault(), e.stopPropagation(), t.onRequestFit(t.itemSnapshot());
|
|
60
|
-
},
|
|
83
|
+
}, D = (e) => {
|
|
61
84
|
e.preventDefault(), e.stopPropagation(), t.onRequestDelete(t.widgetId);
|
|
62
|
-
},
|
|
85
|
+
}, J = f(() => {
|
|
63
86
|
const e = {
|
|
64
|
-
width: `${
|
|
65
|
-
height: `${
|
|
66
|
-
"z-index":
|
|
87
|
+
width: `${v().width}px`,
|
|
88
|
+
height: `${v().height}px`,
|
|
89
|
+
"z-index": W() || R() || t.optimisticFront ? `${t.topRenderLayer + 1}` : `${t.renderLayer}`
|
|
67
90
|
};
|
|
68
91
|
if (t.layoutMode === "projected_surface") {
|
|
69
|
-
const i =
|
|
92
|
+
const i = E()?.rect;
|
|
70
93
|
return {
|
|
71
94
|
...e,
|
|
72
95
|
left: `${i?.screenX ?? 0}px`,
|
|
@@ -76,29 +99,32 @@ function kt(t) {
|
|
|
76
99
|
}
|
|
77
100
|
return {
|
|
78
101
|
...e,
|
|
79
|
-
transform: `translate(${
|
|
102
|
+
transform: `translate(${m().x}px, ${m().y}px)`
|
|
80
103
|
};
|
|
81
|
-
}),
|
|
82
|
-
const i =
|
|
104
|
+
}), Q = (e) => {
|
|
105
|
+
const i = S(_);
|
|
83
106
|
if (!i) return;
|
|
84
|
-
const
|
|
107
|
+
const r = {
|
|
85
108
|
x: i.worldX,
|
|
86
109
|
y: i.worldY
|
|
87
|
-
},
|
|
110
|
+
}, d = {
|
|
88
111
|
x: i.startWorldX,
|
|
89
112
|
y: i.startWorldY
|
|
90
|
-
},
|
|
91
|
-
t.onCommitFront(t.widgetId),
|
|
92
|
-
},
|
|
113
|
+
}, a = e && (Math.abs(r.x - d.x) > 1 || Math.abs(r.y - d.y) > 1);
|
|
114
|
+
t.onCommitFront(t.widgetId), a && t.onCommitMove(t.widgetId, r), i.stopInteraction(), I(null), h = void 0;
|
|
115
|
+
}, X = (e) => {
|
|
93
116
|
if (e.button !== 0 || t.locked) return;
|
|
94
|
-
e.preventDefault(), e.stopPropagation(),
|
|
117
|
+
e.preventDefault(), e.stopPropagation(), h?.stop({
|
|
118
|
+
reason: "manual_stop",
|
|
119
|
+
commit: !1
|
|
120
|
+
}), t.onSelect(t.widgetId), g?.focus({
|
|
95
121
|
preventScroll: !0
|
|
96
122
|
}), t.onStartOptimisticFront(t.widgetId);
|
|
97
|
-
const i =
|
|
123
|
+
const i = A({
|
|
98
124
|
kind: "drag",
|
|
99
125
|
cursor: "grabbing"
|
|
100
|
-
}),
|
|
101
|
-
|
|
126
|
+
}), r = Math.max(t.viewportScale, 1e-3);
|
|
127
|
+
I({
|
|
102
128
|
pointerId: e.pointerId,
|
|
103
129
|
startClientX: e.clientX,
|
|
104
130
|
startClientY: e.clientY,
|
|
@@ -107,50 +133,48 @@ function kt(t) {
|
|
|
107
133
|
worldX: t.x,
|
|
108
134
|
worldY: t.y,
|
|
109
135
|
moved: !1,
|
|
110
|
-
scale:
|
|
136
|
+
scale: r,
|
|
111
137
|
stopInteraction: i
|
|
112
138
|
});
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
if (!
|
|
116
|
-
const
|
|
139
|
+
const d = (a) => {
|
|
140
|
+
I((o) => {
|
|
141
|
+
if (!o || o.pointerId !== a.pointerId) return o;
|
|
142
|
+
const w = o.startWorldX + (a.clientX - o.startClientX) / o.scale, s = o.startWorldY + (a.clientY - o.startClientY) / o.scale;
|
|
117
143
|
return {
|
|
118
|
-
...
|
|
119
|
-
worldX:
|
|
120
|
-
worldY:
|
|
121
|
-
moved:
|
|
144
|
+
...o,
|
|
145
|
+
worldX: w,
|
|
146
|
+
worldY: s,
|
|
147
|
+
moved: o.moved || Math.abs(w - o.startWorldX) > 2 || Math.abs(s - o.startWorldY) > 2
|
|
122
148
|
};
|
|
123
149
|
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
once: !0,
|
|
133
|
-
signal: l.signal
|
|
134
|
-
}), window.addEventListener("pointercancel", g, {
|
|
135
|
-
once: !0,
|
|
136
|
-
signal: l.signal
|
|
150
|
+
};
|
|
151
|
+
h = j({
|
|
152
|
+
pointerEvent: e,
|
|
153
|
+
captureEl: e.currentTarget,
|
|
154
|
+
onMove: d,
|
|
155
|
+
onEnd: ({
|
|
156
|
+
commit: a
|
|
157
|
+
}) => Q(a)
|
|
137
158
|
});
|
|
138
|
-
},
|
|
139
|
-
const i =
|
|
159
|
+
}, tt = (e) => {
|
|
160
|
+
const i = S(b);
|
|
140
161
|
if (!i) return;
|
|
141
|
-
const
|
|
162
|
+
const r = {
|
|
142
163
|
width: i.width,
|
|
143
164
|
height: i.height
|
|
144
|
-
},
|
|
145
|
-
e &&
|
|
146
|
-
},
|
|
165
|
+
}, d = Math.abs(i.width - i.startWidth) > 1 || Math.abs(i.height - i.startHeight) > 1;
|
|
166
|
+
e && d && t.onCommitResize(t.widgetId, r), i.stopInteraction(), x(null), u = void 0;
|
|
167
|
+
}, et = (e) => {
|
|
147
168
|
if (e.button !== 0 || t.locked) return;
|
|
148
|
-
e.preventDefault(), e.stopPropagation(),
|
|
149
|
-
|
|
169
|
+
e.preventDefault(), e.stopPropagation(), u?.stop({
|
|
170
|
+
reason: "manual_stop",
|
|
171
|
+
commit: !1
|
|
172
|
+
}), t.onStartOptimisticFront(t.widgetId);
|
|
173
|
+
const i = A({
|
|
150
174
|
kind: "drag",
|
|
151
175
|
cursor: "nwse-resize"
|
|
152
|
-
}),
|
|
153
|
-
|
|
176
|
+
}), r = Math.max(t.viewportScale, 1e-3);
|
|
177
|
+
x({
|
|
154
178
|
pointerId: e.pointerId,
|
|
155
179
|
startClientX: e.clientX,
|
|
156
180
|
startClientY: e.clientY,
|
|
@@ -158,41 +182,36 @@ function kt(t) {
|
|
|
158
182
|
startHeight: t.height,
|
|
159
183
|
width: t.width,
|
|
160
184
|
height: t.height,
|
|
161
|
-
scale:
|
|
185
|
+
scale: r,
|
|
162
186
|
stopInteraction: i
|
|
163
187
|
});
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
if (!
|
|
167
|
-
const
|
|
188
|
+
const d = (a) => {
|
|
189
|
+
x((o) => {
|
|
190
|
+
if (!o || o.pointerId !== a.pointerId) return o;
|
|
191
|
+
const w = Math.max(mt, o.startWidth + (a.clientX - o.startClientX) / o.scale), s = Math.max(vt, o.startHeight + (a.clientY - o.startClientY) / o.scale);
|
|
168
192
|
return {
|
|
169
|
-
...
|
|
170
|
-
width:
|
|
171
|
-
height:
|
|
193
|
+
...o,
|
|
194
|
+
width: w,
|
|
195
|
+
height: s
|
|
172
196
|
};
|
|
173
197
|
});
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
once: !0,
|
|
183
|
-
signal: l.signal
|
|
184
|
-
}), window.addEventListener("pointercancel", g, {
|
|
185
|
-
once: !0,
|
|
186
|
-
signal: l.signal
|
|
198
|
+
};
|
|
199
|
+
u = j({
|
|
200
|
+
pointerEvent: e,
|
|
201
|
+
captureEl: e.currentTarget,
|
|
202
|
+
onMove: d,
|
|
203
|
+
onEnd: ({
|
|
204
|
+
commit: a
|
|
205
|
+
}) => tt(a)
|
|
187
206
|
});
|
|
188
207
|
};
|
|
189
208
|
return (() => {
|
|
190
|
-
var e =
|
|
191
|
-
return typeof
|
|
209
|
+
var e = _t(), i = e.firstChild, r = i.firstChild, d = r.firstChild, a = d.nextSibling, o = a.nextSibling, w = r.nextSibling, s = w.nextSibling, y = s.nextSibling, it = y.firstChild, P = it.nextSibling, ot = y.nextSibling, $ = ot.firstChild, k = $.nextSibling, M = k.nextSibling, nt = i.nextSibling, Y = g;
|
|
210
|
+
return typeof Y == "function" ? dt(Y, e) : g = e, L(e, at({
|
|
192
211
|
get classList() {
|
|
193
212
|
return {
|
|
194
213
|
"is-selected": t.selected,
|
|
195
|
-
"is-dragging":
|
|
214
|
+
"is-dragging": W(),
|
|
196
215
|
"is-resizing": R(),
|
|
197
216
|
"is-filtered-out": t.filtered,
|
|
198
217
|
"is-projected-surface": t.layoutMode === "projected_surface",
|
|
@@ -209,49 +228,49 @@ function kt(t) {
|
|
|
209
228
|
return t.layoutMode ?? "canvas_scaled";
|
|
210
229
|
}
|
|
211
230
|
}, () => ({
|
|
212
|
-
[
|
|
231
|
+
[wt]: t.selected ? "true" : void 0
|
|
213
232
|
}), {
|
|
214
233
|
tabIndex: 0,
|
|
215
|
-
onPointerDown:
|
|
234
|
+
onPointerDown: K,
|
|
216
235
|
onFocus: () => {
|
|
217
236
|
t.onSelect(t.widgetId);
|
|
218
237
|
},
|
|
219
|
-
onContextMenu: (
|
|
220
|
-
|
|
238
|
+
onContextMenu: (n) => {
|
|
239
|
+
p(n.target) === "widget_shell" && (n.preventDefault(), n.stopPropagation(), t.onContextMenu(n, t.itemSnapshot()));
|
|
221
240
|
},
|
|
222
241
|
get style() {
|
|
223
|
-
return
|
|
242
|
+
return J();
|
|
224
243
|
}
|
|
225
|
-
}), !1, !0), i.$$pointerdown =
|
|
226
|
-
[
|
|
227
|
-
}, !1, !0),
|
|
244
|
+
}), !1, !0), i.$$pointerdown = X, L(i, {
|
|
245
|
+
[gt]: "true"
|
|
246
|
+
}, !1, !0), d.$$click = D, d.$$pointerdown = (n) => n.stopPropagation(), l(d, c(O, {
|
|
228
247
|
class: "workbench-widget__traffic-icon",
|
|
229
248
|
"aria-hidden": "true"
|
|
230
|
-
})),
|
|
249
|
+
})), a.$$click = T, a.$$pointerdown = (n) => n.stopPropagation(), l(a, c(F, {
|
|
231
250
|
class: "workbench-widget__traffic-icon",
|
|
232
251
|
"aria-hidden": "true"
|
|
233
|
-
})),
|
|
252
|
+
})), o.$$click = z, o.$$pointerdown = (n) => n.stopPropagation(), l(o, c(N, {
|
|
234
253
|
class: "workbench-widget__traffic-icon",
|
|
235
254
|
"aria-hidden": "true"
|
|
236
|
-
})),
|
|
255
|
+
})), l(w, U), s.$$pointerdown = X, l(s, c(st, {
|
|
237
256
|
class: "w-3.5 h-3.5"
|
|
238
|
-
})),
|
|
239
|
-
const
|
|
240
|
-
return
|
|
257
|
+
})), l(y, () => {
|
|
258
|
+
const n = t.definition.icon;
|
|
259
|
+
return c(n, {
|
|
241
260
|
class: "w-3.5 h-3.5"
|
|
242
261
|
});
|
|
243
|
-
},
|
|
262
|
+
}, P), l(P, () => t.widgetTitle), $.$$click = T, $.$$pointerdown = (n) => n.stopPropagation(), l($, c(F, {
|
|
244
263
|
class: "workbench-widget__window-control-icon",
|
|
245
264
|
"aria-hidden": "true"
|
|
246
|
-
})),
|
|
265
|
+
})), k.$$click = z, k.$$pointerdown = (n) => n.stopPropagation(), l(k, c(N, {
|
|
247
266
|
class: "workbench-widget__window-control-icon",
|
|
248
267
|
"aria-hidden": "true"
|
|
249
|
-
})),
|
|
268
|
+
})), M.$$click = D, M.$$pointerdown = (n) => n.stopPropagation(), l(M, c(O, {
|
|
250
269
|
class: "workbench-widget__window-control-icon",
|
|
251
270
|
"aria-hidden": "true"
|
|
252
|
-
})),
|
|
253
|
-
const
|
|
254
|
-
return
|
|
271
|
+
})), l(nt, () => {
|
|
272
|
+
const n = t.definition.body;
|
|
273
|
+
return c(n, {
|
|
255
274
|
get widgetId() {
|
|
256
275
|
return t.widgetId;
|
|
257
276
|
},
|
|
@@ -262,19 +281,22 @@ function kt(t) {
|
|
|
262
281
|
return t.widgetType;
|
|
263
282
|
},
|
|
264
283
|
get surfaceMetrics() {
|
|
265
|
-
return
|
|
284
|
+
return E();
|
|
285
|
+
},
|
|
286
|
+
get activation() {
|
|
287
|
+
return G();
|
|
266
288
|
}
|
|
267
289
|
});
|
|
268
|
-
}),
|
|
269
|
-
var
|
|
270
|
-
return () =>
|
|
271
|
-
var
|
|
272
|
-
return
|
|
290
|
+
}), l(e, (() => {
|
|
291
|
+
var n = rt(() => !!t.locked);
|
|
292
|
+
return () => n() ? null : (() => {
|
|
293
|
+
var H = bt();
|
|
294
|
+
return H.$$pointerdown = et, H;
|
|
273
295
|
})();
|
|
274
296
|
})(), null), e;
|
|
275
297
|
})();
|
|
276
298
|
}
|
|
277
|
-
|
|
299
|
+
lt(["pointerdown", "click"]);
|
|
278
300
|
export {
|
|
279
|
-
|
|
301
|
+
Ct as WorkbenchWidget
|
|
280
302
|
};
|
|
@@ -20,11 +20,18 @@ export interface WorkbenchWidgetSurfaceMetrics {
|
|
|
20
20
|
ready: boolean;
|
|
21
21
|
rect: WorkbenchProjectedRect;
|
|
22
22
|
}
|
|
23
|
+
export type WorkbenchWidgetBodyActivationSource = 'local_pointer';
|
|
24
|
+
export interface WorkbenchWidgetBodyActivation {
|
|
25
|
+
seq: number;
|
|
26
|
+
source: WorkbenchWidgetBodyActivationSource;
|
|
27
|
+
pointerType?: string;
|
|
28
|
+
}
|
|
23
29
|
export interface WorkbenchWidgetBodyProps<TWidgetType extends string = WorkbenchWidgetType> {
|
|
24
30
|
widgetId: string;
|
|
25
31
|
title: string;
|
|
26
32
|
type: TWidgetType;
|
|
27
33
|
surfaceMetrics?: WorkbenchWidgetSurfaceMetrics;
|
|
34
|
+
activation?: WorkbenchWidgetBodyActivation;
|
|
28
35
|
}
|
|
29
36
|
export interface WorkbenchWidgetDefinition<TWidgetType extends string = WorkbenchWidgetType> {
|
|
30
37
|
type: TWidgetType;
|