@floegence/floe-webapp-core 0.86.0 → 0.86.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,85 +1,85 @@
|
|
|
1
|
-
import { createComponent as l, Portal as
|
|
2
|
-
import { createSignal as g, createUniqueId as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useOptionalLayout as
|
|
5
|
-
import { useResolvedFloeConfig as
|
|
6
|
-
import { useMediaQuery as
|
|
7
|
-
import { Button as
|
|
8
|
-
import { Restore as
|
|
9
|
-
import { startHotInteraction as
|
|
1
|
+
import { createComponent as l, Portal as Ke, spread as Pe, mergeProps as Re, memo as W, insert as c, effect as f, setAttribute as et, addEventListener as p, className as w, template as a, use as Ae, delegateEvents as tt } from "solid-js/web";
|
|
2
|
+
import { createSignal as g, createUniqueId as nt, onCleanup as F, onMount as it, createEffect as z, untrack as q, Show as m, batch as ne } from "solid-js";
|
|
3
|
+
import { cn as Y } from "../../utils/cn.js";
|
|
4
|
+
import { useOptionalLayout as ot } from "../../context/LayoutContext.js";
|
|
5
|
+
import { useResolvedFloeConfig as rt } from "../../context/FloeConfigContext.js";
|
|
6
|
+
import { useMediaQuery as lt } from "../../hooks/useMediaQuery.js";
|
|
7
|
+
import { Button as Ce } from "./Button.js";
|
|
8
|
+
import { Restore as at, Maximize as st, X as dt } from "../icons/index.js";
|
|
9
|
+
import { startHotInteraction as ct } from "../../utils/hotInteraction.js";
|
|
10
10
|
import { startPointerSession as ut } from "./pointerSession.js";
|
|
11
|
-
import { resolveFloatingWindowViewport as
|
|
12
|
-
import { observeViewport as
|
|
13
|
-
import { createFloatingPresence as
|
|
14
|
-
import { LOCAL_INTERACTION_SURFACE_ATTR as
|
|
15
|
-
import { resolveFloatingBoundary as
|
|
16
|
-
import { SURFACE_PORTAL_LAYER_ATTR as
|
|
17
|
-
var
|
|
18
|
-
function
|
|
19
|
-
const
|
|
11
|
+
import { resolveFloatingWindowViewport as ie, normalizeFloatingWindowRect as ft, resolveFloatingWindowRect as ht } from "./floatingWindowGeometry.js";
|
|
12
|
+
import { observeViewport as wt } from "../../viewport.js";
|
|
13
|
+
import { createFloatingPresence as gt } from "./floatingPresence.js";
|
|
14
|
+
import { LOCAL_INTERACTION_SURFACE_ATTR as Ee } from "./localInteractionSurface.js";
|
|
15
|
+
import { resolveFloatingBoundary as mt } from "./surfaceFloatingBoundary.js";
|
|
16
|
+
import { SURFACE_PORTAL_LAYER_ATTR as vt, resolveSurfacePortalHost as xt, SURFACE_FLOATING_LAYER_ATTR as yt } from "./dialogSurfaceScope.js";
|
|
17
|
+
var bt = /* @__PURE__ */ a("<span hidden>"), pt = /* @__PURE__ */ a('<span data-floe-floating-window-title-icon=true aria-hidden=true class="flex size-4 shrink-0 items-center justify-center">'), zt = /* @__PURE__ */ a('<h2 class="flex min-w-0 items-center gap-2 text-xs leading-none font-medium select-none"><span class="min-w-0 truncate">'), $t = /* @__PURE__ */ a('<div data-floe-floating-window-header-actions=true class="flex shrink-0 cursor-default items-center gap-1"><span aria-hidden=true class="mx-2 h-4 w-px shrink-0 bg-border">'), _t = /* @__PURE__ */ a('<div data-floe-floating-window-footer=true class="flex items-center justify-end gap-2 p-3 border-t border-border">'), St = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=n style=touch-action:none>"), It = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=s style=touch-action:none>"), Pt = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=e style=touch-action:none>"), Rt = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=w style=touch-action:none>"), At = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=ne style=touch-action:none>"), Ct = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=nw style=touch-action:none>"), Et = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=se style=touch-action:none>"), Ft = /* @__PURE__ */ a("<div data-floe-floating-window-resize-handle=sw style=touch-action:none>"), kt = /* @__PURE__ */ a('<div data-floe-geometry-surface=floating-window><div data-floe-dialog-surface-host=true><div data-floe-floating-window-titlebar=true style=touch-action:none><div class="flex-1 min-w-0 px-2"></div><div class="flex h-full shrink-0 items-stretch"></div></div><div data-floe-floating-window-content=true class="min-h-0 flex-1 overflow-auto overscroll-contain p-3">');
|
|
18
|
+
function Qt(n) {
|
|
19
|
+
const oe = () => n.resizable ?? !0, N = () => n.maximizable ?? !0, re = () => n.draggable ?? !0, le = () => n.minSize ?? {
|
|
20
20
|
width: 200,
|
|
21
21
|
height: 150
|
|
22
|
-
},
|
|
22
|
+
}, ae = () => n.maxSize ?? {
|
|
23
23
|
width: 1 / 0,
|
|
24
24
|
height: 1 / 0
|
|
25
25
|
};
|
|
26
|
-
let
|
|
27
|
-
const [k,
|
|
26
|
+
let X;
|
|
27
|
+
const [k, Fe] = g(), [A, ke] = g({
|
|
28
28
|
x: 0,
|
|
29
29
|
y: 0,
|
|
30
30
|
width: 0,
|
|
31
31
|
height: 0
|
|
32
32
|
}, {
|
|
33
33
|
equals: (e, t) => e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height
|
|
34
|
-
}), [
|
|
35
|
-
x: (e.x + (k()?.fixedOffset.left ?? 0)) /
|
|
36
|
-
y: (e.y + (k()?.fixedOffset.top ?? 0)) /
|
|
37
|
-
}),
|
|
34
|
+
}), [H, Le] = g(!0), h = () => !!(n.compactBelow && A().width < n.compactBelow), S = () => n.viewportInsets, I = () => k()?.fixedScale ?? 1, U = (e) => ({
|
|
35
|
+
x: (e.x + (k()?.fixedOffset.left ?? 0)) / I(),
|
|
36
|
+
y: (e.y + (k()?.fixedOffset.top ?? 0)) / I()
|
|
37
|
+
}), Me = () => n.zIndex ?? 100, Te = nt(), Oe = ot(), Be = rt(), L = Oe?.isMobile ?? lt(() => Be.config.layout.mobileQuery), se = 16, de = () => `floating-window-${Te}-title`, [V, De] = g(n.defaultPosition ?? {
|
|
38
38
|
x: 0,
|
|
39
39
|
y: 0
|
|
40
|
-
}), [
|
|
40
|
+
}), [j, We] = g(n.defaultSize ?? {
|
|
41
41
|
width: 400,
|
|
42
42
|
height: 300
|
|
43
|
-
}), [d,
|
|
43
|
+
}), [d, ce] = g(!1), [M, ue] = g(!1), [T, fe] = g(!1), [qe, G] = g(!1), P = gt({
|
|
44
44
|
open: () => n.open
|
|
45
45
|
});
|
|
46
|
-
let
|
|
46
|
+
let he = {
|
|
47
47
|
x: 0,
|
|
48
48
|
y: 0
|
|
49
|
-
},
|
|
49
|
+
}, we = {
|
|
50
50
|
x: 0,
|
|
51
51
|
y: 0,
|
|
52
52
|
width: 0,
|
|
53
53
|
height: 0
|
|
54
|
-
},
|
|
54
|
+
}, ge = {
|
|
55
55
|
x: 0,
|
|
56
56
|
y: 0
|
|
57
|
-
},
|
|
57
|
+
}, me = {
|
|
58
58
|
x: 0,
|
|
59
59
|
y: 0,
|
|
60
60
|
width: 0,
|
|
61
61
|
height: 0
|
|
62
|
-
},
|
|
62
|
+
}, ve = "se", s, u = null, O, v = null, C = {
|
|
63
63
|
x: 0,
|
|
64
64
|
y: 0
|
|
65
|
-
}, R = null, B = null,
|
|
65
|
+
}, R = null, B = null, Q = !1, $ = {
|
|
66
66
|
x: n.defaultPosition?.x ?? 0,
|
|
67
67
|
y: n.defaultPosition?.y ?? 0,
|
|
68
68
|
width: n.defaultSize?.width ?? 400,
|
|
69
69
|
height: n.defaultSize?.height ?? 300
|
|
70
|
-
},
|
|
70
|
+
}, x = {
|
|
71
71
|
...$
|
|
72
72
|
}, _;
|
|
73
|
-
const
|
|
74
|
-
|
|
73
|
+
const xe = (e) => {
|
|
74
|
+
x = {
|
|
75
75
|
...e
|
|
76
76
|
};
|
|
77
|
-
const t =
|
|
77
|
+
const t = ie(A(), S());
|
|
78
78
|
_ = {
|
|
79
79
|
x: t.width > e.width ? (e.x - t.x) / (t.width - e.width) : _?.x ?? 0.5,
|
|
80
80
|
y: t.height > e.height ? (e.y - t.y) / (t.height - e.height) : _?.y ?? 0.5
|
|
81
81
|
};
|
|
82
|
-
},
|
|
82
|
+
}, Ye = {
|
|
83
83
|
n: "ns-resize",
|
|
84
84
|
s: "ns-resize",
|
|
85
85
|
e: "ew-resize",
|
|
@@ -88,135 +88,135 @@ function jt(n) {
|
|
|
88
88
|
nw: "nwse-resize",
|
|
89
89
|
se: "nwse-resize",
|
|
90
90
|
sw: "nesw-resize"
|
|
91
|
-
},
|
|
91
|
+
}, Z = (e, t) => {
|
|
92
92
|
if (!e) {
|
|
93
93
|
B?.(), B = null;
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
|
-
B?.(), B =
|
|
97
|
-
kind:
|
|
96
|
+
B?.(), B = ct({
|
|
97
|
+
kind: v === "resize" ? "resize" : "drag",
|
|
98
98
|
cursor: t,
|
|
99
99
|
lockUserSelect: !0
|
|
100
100
|
});
|
|
101
|
-
},
|
|
102
|
-
if ($ = e, !
|
|
103
|
-
const t =
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
const e =
|
|
101
|
+
}, ye = (e) => {
|
|
102
|
+
if ($ = e, !s) return;
|
|
103
|
+
const t = U(e);
|
|
104
|
+
s.style.transform = `translate3d(${t.x}px, ${t.y}px, 0)`, s.style.width = `${e.width / I()}px`, s.style.height = `${e.height / I()}px`;
|
|
105
|
+
}, Ne = () => {
|
|
106
|
+
const e = V(), t = j();
|
|
107
107
|
return {
|
|
108
108
|
x: e.x,
|
|
109
109
|
y: e.y,
|
|
110
110
|
width: t.width,
|
|
111
111
|
height: t.height
|
|
112
112
|
};
|
|
113
|
-
},
|
|
114
|
-
$ = e,
|
|
113
|
+
}, J = (e) => {
|
|
114
|
+
$ = e, De((t) => t.x === e.x && t.y === e.y ? t : {
|
|
115
115
|
x: e.x,
|
|
116
116
|
y: e.y
|
|
117
|
-
}),
|
|
117
|
+
}), We((t) => t.width === e.width && t.height === e.height ? t : {
|
|
118
118
|
width: e.width,
|
|
119
119
|
height: e.height
|
|
120
120
|
});
|
|
121
|
-
},
|
|
121
|
+
}, Xe = () => {
|
|
122
122
|
try {
|
|
123
|
-
|
|
123
|
+
s?.focus({
|
|
124
124
|
preventScroll: !0
|
|
125
125
|
});
|
|
126
126
|
} catch {
|
|
127
127
|
}
|
|
128
|
-
},
|
|
128
|
+
}, He = (e) => {
|
|
129
129
|
const t = e instanceof Element ? e : null;
|
|
130
130
|
return t ? t.closest('button, input, select, textarea, a, [role="button"], [tabindex]:not([tabindex="-1"])') === null : !0;
|
|
131
|
-
},
|
|
132
|
-
const o = (e instanceof Element ? e : null)?.closest('[role="menu"]')?.closest(`[${
|
|
133
|
-
return !!(o &&
|
|
134
|
-
},
|
|
135
|
-
if (!
|
|
136
|
-
const e =
|
|
131
|
+
}, K = (e) => !!s && e instanceof Node && s.contains(e), Ue = (e) => {
|
|
132
|
+
const o = (e instanceof Element ? e : null)?.closest('[role="menu"]')?.closest(`[${yt}="true"]`);
|
|
133
|
+
return !!(o && s?.contains(o));
|
|
134
|
+
}, Ve = () => {
|
|
135
|
+
if (!s) return null;
|
|
136
|
+
const e = s.getBoundingClientRect();
|
|
137
137
|
return {
|
|
138
138
|
x: e.left,
|
|
139
139
|
y: e.top,
|
|
140
140
|
width: e.width,
|
|
141
141
|
height: e.height
|
|
142
142
|
};
|
|
143
|
-
},
|
|
144
|
-
n.open && (u === null ||
|
|
145
|
-
mode:
|
|
143
|
+
}, be = () => {
|
|
144
|
+
n.open && (u === null || v === null || typeof window > "u" || ye(ht({
|
|
145
|
+
mode: v,
|
|
146
146
|
pointer: C,
|
|
147
|
-
dragStartPos:
|
|
148
|
-
dragStartRect:
|
|
149
|
-
resizeStartPos:
|
|
150
|
-
resizeStartRect:
|
|
151
|
-
resizeHandle:
|
|
152
|
-
minSize:
|
|
153
|
-
maxSize:
|
|
147
|
+
dragStartPos: he,
|
|
148
|
+
dragStartRect: we,
|
|
149
|
+
resizeStartPos: ge,
|
|
150
|
+
resizeStartRect: me,
|
|
151
|
+
resizeHandle: ve,
|
|
152
|
+
minSize: le(),
|
|
153
|
+
maxSize: ae(),
|
|
154
154
|
viewport: A(),
|
|
155
155
|
viewportInsets: S(),
|
|
156
156
|
mobile: L(),
|
|
157
|
-
mobilePadding:
|
|
157
|
+
mobilePadding: se
|
|
158
158
|
})));
|
|
159
159
|
}, E = (e) => {
|
|
160
160
|
if (typeof window > "u") return;
|
|
161
161
|
const t = A();
|
|
162
162
|
if (d() || h()) {
|
|
163
|
-
|
|
163
|
+
J(ie(t, S()));
|
|
164
164
|
return;
|
|
165
165
|
}
|
|
166
|
-
let r =
|
|
167
|
-
rect:
|
|
168
|
-
minSize:
|
|
169
|
-
maxSize:
|
|
166
|
+
let r = ft({
|
|
167
|
+
rect: x,
|
|
168
|
+
minSize: le(),
|
|
169
|
+
maxSize: ae(),
|
|
170
170
|
viewport: t,
|
|
171
171
|
viewportInsets: S(),
|
|
172
172
|
mobile: n.boundary === void 0 && L(),
|
|
173
|
-
mobilePadding:
|
|
173
|
+
mobilePadding: se,
|
|
174
174
|
center: e?.center ?? !1
|
|
175
175
|
});
|
|
176
176
|
if (n.boundary !== void 0 && _ && !e?.center) {
|
|
177
|
-
const o =
|
|
177
|
+
const o = ie(t, S());
|
|
178
178
|
r = {
|
|
179
179
|
...r,
|
|
180
180
|
x: o.x + _.x * Math.max(0, o.width - r.width),
|
|
181
181
|
y: o.y + _.y * Math.max(0, o.height - r.height)
|
|
182
182
|
};
|
|
183
183
|
}
|
|
184
|
-
if (
|
|
184
|
+
if (J(r), !_) {
|
|
185
185
|
const o = {
|
|
186
|
-
width:
|
|
187
|
-
height:
|
|
186
|
+
width: x.width,
|
|
187
|
+
height: x.height
|
|
188
188
|
};
|
|
189
|
-
|
|
189
|
+
xe(r), Object.assign(x, o);
|
|
190
190
|
}
|
|
191
|
-
},
|
|
192
|
-
R !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(R), R = null), e &&
|
|
193
|
-
const t = e ?
|
|
194
|
-
|
|
191
|
+
}, pe = (e) => {
|
|
192
|
+
R !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(R), R = null), e && be();
|
|
193
|
+
const t = e ? Ve() ?? $ : null;
|
|
194
|
+
ne(() => {
|
|
195
195
|
if (t) {
|
|
196
|
-
|
|
196
|
+
J(t);
|
|
197
197
|
const r = {
|
|
198
|
-
width:
|
|
199
|
-
height:
|
|
198
|
+
width: x.width,
|
|
199
|
+
height: x.height
|
|
200
200
|
};
|
|
201
|
-
|
|
201
|
+
xe(t), v === "drag" && Object.assign(x, r);
|
|
202
202
|
}
|
|
203
|
-
u = null,
|
|
204
|
-
}),
|
|
205
|
-
},
|
|
203
|
+
u = null, v = null, ue(!1), fe(!1);
|
|
204
|
+
}), Z(!1, ""), O = void 0;
|
|
205
|
+
}, ee = (e = !1) => {
|
|
206
206
|
O ? O.stop({
|
|
207
207
|
commit: e
|
|
208
|
-
}) :
|
|
208
|
+
}) : pe(e);
|
|
209
209
|
};
|
|
210
|
-
F(() =>
|
|
210
|
+
F(() => ee(!1)), it(() => {
|
|
211
211
|
const e = () => {
|
|
212
212
|
const t = k(), r = n.boundary === void 0 ? {
|
|
213
213
|
boundaryHost: null,
|
|
214
214
|
mode: "global"
|
|
215
|
-
} :
|
|
216
|
-
owner:
|
|
217
|
-
}), o =
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
} : xt({
|
|
216
|
+
owner: X
|
|
217
|
+
}), o = mt(r, n.boundary, t?.safeArea);
|
|
218
|
+
ne(() => {
|
|
219
|
+
Le(!!(o && o.width > 16 && o.height > 16)), ke(o ? {
|
|
220
220
|
x: o.left,
|
|
221
221
|
y: o.top,
|
|
222
222
|
width: o.width,
|
|
@@ -229,61 +229,61 @@ function jt(n) {
|
|
|
229
229
|
});
|
|
230
230
|
});
|
|
231
231
|
};
|
|
232
|
-
F(
|
|
233
|
-
|
|
234
|
-
|
|
232
|
+
F(wt(window, (t) => {
|
|
233
|
+
ne(() => {
|
|
234
|
+
Fe(t), q(e);
|
|
235
235
|
});
|
|
236
|
-
})),
|
|
236
|
+
})), z(() => {
|
|
237
237
|
if (!n.open || n.boundary === void 0) return;
|
|
238
238
|
let t = 0;
|
|
239
239
|
const r = () => {
|
|
240
|
-
|
|
240
|
+
q(e), t = requestAnimationFrame(r);
|
|
241
241
|
};
|
|
242
242
|
r(), F(() => cancelAnimationFrame(t));
|
|
243
243
|
}), n.open || E({
|
|
244
244
|
center: !n.defaultPosition
|
|
245
245
|
});
|
|
246
|
-
}),
|
|
246
|
+
}), z(() => {
|
|
247
247
|
if (!n.open) return;
|
|
248
248
|
L();
|
|
249
|
-
const e = !
|
|
249
|
+
const e = !Q && !n.defaultPosition, t = () => {
|
|
250
250
|
E({
|
|
251
251
|
center: e
|
|
252
|
-
}),
|
|
252
|
+
}), Q = !0;
|
|
253
253
|
};
|
|
254
254
|
if (typeof requestAnimationFrame > "u") {
|
|
255
255
|
t();
|
|
256
256
|
return;
|
|
257
257
|
}
|
|
258
258
|
requestAnimationFrame(t);
|
|
259
|
-
}),
|
|
260
|
-
S(), A(), h(), !(!n.open || !
|
|
259
|
+
}), z(() => {
|
|
260
|
+
S(), A(), h(), !(!n.open || !Q || u !== null) && q(() => E({
|
|
261
261
|
center: !1
|
|
262
262
|
}));
|
|
263
|
-
}),
|
|
264
|
-
|
|
265
|
-
|
|
263
|
+
}), z(() => {
|
|
264
|
+
N() || !d() || q(() => {
|
|
265
|
+
ce(!1), E({
|
|
266
266
|
center: !1
|
|
267
267
|
});
|
|
268
268
|
});
|
|
269
|
-
}),
|
|
269
|
+
}), z(() => {
|
|
270
270
|
if (!n.open) return;
|
|
271
271
|
const e = (t) => {
|
|
272
272
|
if (t.key !== "Escape") return;
|
|
273
273
|
const r = typeof document < "u" ? document.activeElement : null;
|
|
274
|
-
!
|
|
274
|
+
!K(t.target) && !K(r) || Ue(t.target) || (t.preventDefault(), typeof t.stopImmediatePropagation == "function" ? t.stopImmediatePropagation() : t.stopPropagation(), n.onOpenChange(!1));
|
|
275
275
|
};
|
|
276
276
|
document.addEventListener("keydown", e, !0), F(() => document.removeEventListener("keydown", e, !0));
|
|
277
|
-
}),
|
|
277
|
+
}), z(() => {
|
|
278
278
|
if (!n.open) {
|
|
279
|
-
|
|
279
|
+
G(!1), ee(!1);
|
|
280
280
|
return;
|
|
281
281
|
}
|
|
282
|
-
|
|
283
|
-
}),
|
|
282
|
+
G(!0);
|
|
283
|
+
}), z(() => {
|
|
284
284
|
if (!n.open) return;
|
|
285
285
|
const e = (o) => {
|
|
286
|
-
|
|
286
|
+
G(K(o));
|
|
287
287
|
}, t = (o) => {
|
|
288
288
|
e(o.target);
|
|
289
289
|
}, r = (o) => {
|
|
@@ -292,49 +292,49 @@ function jt(n) {
|
|
|
292
292
|
document.addEventListener("pointerdown", t), document.addEventListener("focusin", r), F(() => {
|
|
293
293
|
document.removeEventListener("pointerdown", t), document.removeEventListener("focusin", r);
|
|
294
294
|
});
|
|
295
|
-
}),
|
|
295
|
+
}), z(() => {
|
|
296
296
|
if (!n.open) return;
|
|
297
|
-
const e =
|
|
298
|
-
u === null ?
|
|
297
|
+
const e = Ne();
|
|
298
|
+
u === null ? ye(e) : $ = e;
|
|
299
299
|
});
|
|
300
|
-
const
|
|
301
|
-
!
|
|
300
|
+
const je = (e) => {
|
|
301
|
+
!re() || d() || h() || u !== null || e.pointerType === "mouse" && e.button !== 0 || e.target?.closest('button, input, select, textarea, a, [role="button"], [data-floe-floating-window-header-actions]') || (e.preventDefault(), u = e.pointerId, v = "drag", ue(!0), he = {
|
|
302
302
|
x: e.clientX,
|
|
303
303
|
y: e.clientY
|
|
304
|
-
},
|
|
304
|
+
}, we = {
|
|
305
305
|
...$
|
|
306
306
|
}, C = {
|
|
307
307
|
x: e.clientX,
|
|
308
308
|
y: e.clientY
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
!
|
|
309
|
+
}, Z(!0, "grabbing"), $e(e));
|
|
310
|
+
}, y = (e) => (t) => {
|
|
311
|
+
!oe() || d() || h() || u !== null || t.pointerType === "mouse" && t.button !== 0 || (t.preventDefault(), t.stopPropagation(), u = t.pointerId, v = "resize", fe(!0), ve = e, ge = {
|
|
312
312
|
x: t.clientX,
|
|
313
313
|
y: t.clientY
|
|
314
|
-
},
|
|
314
|
+
}, me = {
|
|
315
315
|
...$
|
|
316
316
|
}, C = {
|
|
317
317
|
x: t.clientX,
|
|
318
318
|
y: t.clientY
|
|
319
|
-
},
|
|
320
|
-
},
|
|
321
|
-
R = null,
|
|
322
|
-
},
|
|
323
|
-
if (!(u === null || e.pointerId !== u) &&
|
|
319
|
+
}, Z(!0, Ye[e]), $e(t));
|
|
320
|
+
}, ze = () => {
|
|
321
|
+
R = null, be();
|
|
322
|
+
}, Ge = (e) => {
|
|
323
|
+
if (!(u === null || e.pointerId !== u) && v !== null && (C = {
|
|
324
324
|
x: e.clientX,
|
|
325
325
|
y: e.clientY
|
|
326
326
|
}, R === null)) {
|
|
327
327
|
if (typeof requestAnimationFrame > "u") {
|
|
328
|
-
|
|
328
|
+
ze();
|
|
329
329
|
return;
|
|
330
330
|
}
|
|
331
|
-
R = requestAnimationFrame(
|
|
331
|
+
R = requestAnimationFrame(ze);
|
|
332
332
|
}
|
|
333
|
-
},
|
|
333
|
+
}, $e = (e) => {
|
|
334
334
|
O = ut({
|
|
335
335
|
pointerEvent: e,
|
|
336
|
-
captureEl:
|
|
337
|
-
onMove:
|
|
336
|
+
captureEl: s,
|
|
337
|
+
onMove: Ge,
|
|
338
338
|
onEnd: ({
|
|
339
339
|
commit: t,
|
|
340
340
|
reason: r,
|
|
@@ -343,16 +343,16 @@ function jt(n) {
|
|
|
343
343
|
C = {
|
|
344
344
|
x: o.latestClientX,
|
|
345
345
|
y: o.latestClientY
|
|
346
|
-
},
|
|
346
|
+
}, pe(t || r === "pointer_cancel");
|
|
347
347
|
}
|
|
348
348
|
});
|
|
349
|
-
},
|
|
350
|
-
!
|
|
351
|
-
},
|
|
352
|
-
e.target?.closest("button, [data-floe-floating-window-header-actions]") ||
|
|
353
|
-
},
|
|
354
|
-
|
|
355
|
-
},
|
|
349
|
+
}, _e = () => {
|
|
350
|
+
!N() || h() || (u !== null && ee(!0), ce(!d()), E());
|
|
351
|
+
}, Qe = (e) => {
|
|
352
|
+
e.target?.closest("button, [data-floe-floating-window-header-actions]") || _e();
|
|
353
|
+
}, Ze = (e) => {
|
|
354
|
+
He(e.target) && Xe();
|
|
355
|
+
}, b = (e) => Y("absolute z-10", {
|
|
356
356
|
n: "cursor-ns-resize top-0 left-2 right-2 h-1",
|
|
357
357
|
s: "cursor-ns-resize bottom-0 left-2 right-2 h-1",
|
|
358
358
|
e: "cursor-ew-resize right-0 top-2 bottom-2 w-1",
|
|
@@ -363,53 +363,53 @@ function jt(n) {
|
|
|
363
363
|
sw: "cursor-nesw-resize bottom-0 left-0 w-2 h-2"
|
|
364
364
|
}[e]);
|
|
365
365
|
return [(() => {
|
|
366
|
-
var e =
|
|
367
|
-
return typeof t == "function" ?
|
|
368
|
-
})(), l(
|
|
366
|
+
var e = bt(), t = X;
|
|
367
|
+
return typeof t == "function" ? Ae(t, e) : X = e, e;
|
|
368
|
+
})(), l(m, {
|
|
369
369
|
get when() {
|
|
370
|
-
return
|
|
370
|
+
return P.mounted();
|
|
371
371
|
},
|
|
372
372
|
get children() {
|
|
373
|
-
return l(
|
|
373
|
+
return l(Ke, {
|
|
374
374
|
get children() {
|
|
375
|
-
var e =
|
|
376
|
-
return typeof
|
|
375
|
+
var e = kt(), t = e.firstChild, r = t.firstChild, o = r.firstChild, te = o.nextSibling, Je = r.nextSibling, Se = s;
|
|
376
|
+
return typeof Se == "function" ? Ae(Se, e) : s = e, Pe(e, Re({
|
|
377
377
|
get "data-floating-presence"() {
|
|
378
|
-
return
|
|
378
|
+
return P.state();
|
|
379
379
|
},
|
|
380
380
|
get "aria-hidden"() {
|
|
381
|
-
return
|
|
381
|
+
return P.exiting() || !H() ? "true" : void 0;
|
|
382
382
|
},
|
|
383
383
|
get inert() {
|
|
384
|
-
return
|
|
384
|
+
return P.exiting() || !H();
|
|
385
385
|
},
|
|
386
386
|
get "data-floe-floating-window-compact"() {
|
|
387
387
|
return h() ? "true" : void 0;
|
|
388
388
|
}
|
|
389
389
|
}, {
|
|
390
|
-
[
|
|
390
|
+
[Ee]: "true"
|
|
391
391
|
}, {
|
|
392
392
|
get class() {
|
|
393
|
-
return
|
|
393
|
+
return Y("fixed left-0 top-0 z-[100] flex flex-col", (M() || T()) && "select-none", P.exiting() && "pointer-events-none");
|
|
394
394
|
},
|
|
395
395
|
get style() {
|
|
396
396
|
return {
|
|
397
|
-
visibility:
|
|
398
|
-
width: `${
|
|
399
|
-
height: `${
|
|
400
|
-
transform: `translate3d(${
|
|
401
|
-
"z-index":
|
|
397
|
+
visibility: H() ? void 0 : "hidden",
|
|
398
|
+
width: `${j().width / I()}px`,
|
|
399
|
+
height: `${j().height / I()}px`,
|
|
400
|
+
transform: `translate3d(${U(V()).x}px, ${U(V()).y}px, 0)`,
|
|
401
|
+
"z-index": Me(),
|
|
402
402
|
"will-change": M() ? "transform" : T() ? "transform, width, height" : void 0
|
|
403
403
|
};
|
|
404
404
|
},
|
|
405
405
|
role: "dialog",
|
|
406
406
|
get "aria-labelledby"() {
|
|
407
|
-
return
|
|
407
|
+
return W(() => !!n.title)() ? de() : void 0;
|
|
408
408
|
},
|
|
409
409
|
tabIndex: -1,
|
|
410
|
-
onPointerDown:
|
|
411
|
-
}), !1, !0),
|
|
412
|
-
[
|
|
410
|
+
onPointerDown: Ze
|
|
411
|
+
}), !1, !0), Pe(t, Re({
|
|
412
|
+
[vt]: "true"
|
|
413
413
|
}, {
|
|
414
414
|
"data-floe-floating-window-surface": "true",
|
|
415
415
|
"data-floe-surface": "floating",
|
|
@@ -417,13 +417,13 @@ function jt(n) {
|
|
|
417
417
|
return M() || T() ? "true" : void 0;
|
|
418
418
|
},
|
|
419
419
|
get "data-floe-floating-window-state"() {
|
|
420
|
-
return
|
|
420
|
+
return qe() ? "active" : "inactive";
|
|
421
421
|
}
|
|
422
422
|
}, {
|
|
423
|
-
[
|
|
423
|
+
[Ee]: "true"
|
|
424
424
|
}, {
|
|
425
425
|
get class() {
|
|
426
|
-
return
|
|
426
|
+
return Y("relative flex h-full w-full flex-col overflow-hidden", "text-card-foreground rounded-md", "border", "floe-floating-presence floe-floating-window-motion", (M() || T()) && "floe-floating-presence--suspended", d() && "rounded-none", n.class);
|
|
427
427
|
},
|
|
428
428
|
get style() {
|
|
429
429
|
return {
|
|
@@ -431,52 +431,60 @@ function jt(n) {
|
|
|
431
431
|
};
|
|
432
432
|
},
|
|
433
433
|
get "data-floating-presence"() {
|
|
434
|
-
return
|
|
434
|
+
return P.state();
|
|
435
435
|
}
|
|
436
|
-
}), !1, !0), r.$$dblclick =
|
|
436
|
+
}), !1, !0), r.$$dblclick = Qe, r.$$pointerdown = je, c(o, l(m, {
|
|
437
437
|
get when() {
|
|
438
438
|
return n.title;
|
|
439
439
|
},
|
|
440
440
|
get children() {
|
|
441
|
-
var i =
|
|
442
|
-
return c(i, (
|
|
441
|
+
var i = zt(), D = i.firstChild;
|
|
442
|
+
return c(i, l(m, {
|
|
443
|
+
get when() {
|
|
444
|
+
return n.titleIcon;
|
|
445
|
+
},
|
|
446
|
+
get children() {
|
|
447
|
+
var Ie = pt();
|
|
448
|
+
return c(Ie, () => n.titleIcon), Ie;
|
|
449
|
+
}
|
|
450
|
+
}), D), c(D, () => n.title), f(() => et(i, "id", de())), i;
|
|
443
451
|
}
|
|
444
|
-
})), c(r, l(
|
|
452
|
+
})), c(r, l(m, {
|
|
445
453
|
get when() {
|
|
446
454
|
return n.headerActions;
|
|
447
455
|
},
|
|
448
456
|
get children() {
|
|
449
|
-
var i =
|
|
450
|
-
return c(i, () => n.headerActions,
|
|
457
|
+
var i = $t(), D = i.firstChild;
|
|
458
|
+
return c(i, () => n.headerActions, D), i;
|
|
451
459
|
}
|
|
452
|
-
}),
|
|
460
|
+
}), te), c(te, l(m, {
|
|
453
461
|
get when() {
|
|
454
|
-
return
|
|
462
|
+
return W(() => !!N())() && !h();
|
|
455
463
|
},
|
|
456
464
|
get children() {
|
|
457
|
-
return l(
|
|
465
|
+
return l(Ce, {
|
|
458
466
|
variant: "ghost",
|
|
459
467
|
size: "icon",
|
|
460
468
|
"data-floe-floating-window-control": "maximize",
|
|
461
469
|
class: "h-full w-9 shrink-0 rounded-none border-0 px-0 active:scale-100",
|
|
462
470
|
onClick: (i) => {
|
|
463
|
-
i.stopPropagation(),
|
|
471
|
+
i.stopPropagation(), _e();
|
|
464
472
|
},
|
|
465
473
|
get "aria-label"() {
|
|
466
|
-
return
|
|
474
|
+
return W(() => !!d())() ? n.labels?.restore ?? "Restore" : n.labels?.maximize ?? "Maximize";
|
|
467
475
|
},
|
|
468
476
|
get children() {
|
|
469
|
-
return l(
|
|
477
|
+
return l(m, {
|
|
470
478
|
get when() {
|
|
471
479
|
return d();
|
|
472
480
|
},
|
|
473
481
|
get fallback() {
|
|
474
|
-
return l(
|
|
482
|
+
return l(st, {
|
|
475
483
|
class: "w-3 h-3"
|
|
476
484
|
});
|
|
477
485
|
},
|
|
478
486
|
get children() {
|
|
479
|
-
return l(
|
|
487
|
+
return l(at, {
|
|
480
488
|
class: "w-3 h-3"
|
|
481
489
|
});
|
|
482
490
|
}
|
|
@@ -484,7 +492,7 @@ function jt(n) {
|
|
|
484
492
|
}
|
|
485
493
|
});
|
|
486
494
|
}
|
|
487
|
-
}), null), c(
|
|
495
|
+
}), null), c(te, l(Ce, {
|
|
488
496
|
variant: "ghost-destructive",
|
|
489
497
|
size: "icon",
|
|
490
498
|
"data-floe-floating-window-control": "close",
|
|
@@ -496,63 +504,63 @@ function jt(n) {
|
|
|
496
504
|
return n.labels?.close ?? "Close";
|
|
497
505
|
},
|
|
498
506
|
get children() {
|
|
499
|
-
return l(
|
|
507
|
+
return l(dt, {
|
|
500
508
|
class: "w-3.5 h-3.5"
|
|
501
509
|
});
|
|
502
510
|
}
|
|
503
|
-
}), null), c(
|
|
511
|
+
}), null), c(Je, () => n.children), c(t, l(m, {
|
|
504
512
|
get when() {
|
|
505
513
|
return n.footer;
|
|
506
514
|
},
|
|
507
515
|
get children() {
|
|
508
|
-
var i =
|
|
516
|
+
var i = _t();
|
|
509
517
|
return c(i, () => n.footer), i;
|
|
510
518
|
}
|
|
511
|
-
}), null), c(t, l(
|
|
519
|
+
}), null), c(t, l(m, {
|
|
512
520
|
get when() {
|
|
513
|
-
return
|
|
521
|
+
return W(() => !!(oe() && !d()))() && !h();
|
|
514
522
|
},
|
|
515
523
|
get children() {
|
|
516
524
|
return [(() => {
|
|
517
|
-
var i =
|
|
518
|
-
return
|
|
525
|
+
var i = St();
|
|
526
|
+
return p(i, "pointerdown", y("n"), !0), f(() => w(i, b("n"))), i;
|
|
519
527
|
})(), (() => {
|
|
520
|
-
var i =
|
|
521
|
-
return
|
|
522
|
-
})(), l(
|
|
528
|
+
var i = It();
|
|
529
|
+
return p(i, "pointerdown", y("s"), !0), f(() => w(i, b("s"))), i;
|
|
530
|
+
})(), l(m, {
|
|
523
531
|
get when() {
|
|
524
532
|
return !L();
|
|
525
533
|
},
|
|
526
534
|
get children() {
|
|
527
535
|
return [(() => {
|
|
528
|
-
var i = St();
|
|
529
|
-
return b(i, "pointerdown", x("e"), !0), f(() => w(i, y("e"))), i;
|
|
530
|
-
})(), (() => {
|
|
531
536
|
var i = Pt();
|
|
532
|
-
return
|
|
533
|
-
})(), (() => {
|
|
534
|
-
var i = It();
|
|
535
|
-
return b(i, "pointerdown", x("ne"), !0), f(() => w(i, y("ne"))), i;
|
|
537
|
+
return p(i, "pointerdown", y("e"), !0), f(() => w(i, b("e"))), i;
|
|
536
538
|
})(), (() => {
|
|
537
539
|
var i = Rt();
|
|
538
|
-
return
|
|
540
|
+
return p(i, "pointerdown", y("w"), !0), f(() => w(i, b("w"))), i;
|
|
539
541
|
})(), (() => {
|
|
540
542
|
var i = At();
|
|
541
|
-
return
|
|
543
|
+
return p(i, "pointerdown", y("ne"), !0), f(() => w(i, b("ne"))), i;
|
|
542
544
|
})(), (() => {
|
|
543
545
|
var i = Ct();
|
|
544
|
-
return
|
|
546
|
+
return p(i, "pointerdown", y("nw"), !0), f(() => w(i, b("nw"))), i;
|
|
547
|
+
})(), (() => {
|
|
548
|
+
var i = Et();
|
|
549
|
+
return p(i, "pointerdown", y("se"), !0), f(() => w(i, b("se"))), i;
|
|
550
|
+
})(), (() => {
|
|
551
|
+
var i = Ft();
|
|
552
|
+
return p(i, "pointerdown", y("sw"), !0), f(() => w(i, b("sw"))), i;
|
|
545
553
|
})()];
|
|
546
554
|
}
|
|
547
555
|
})];
|
|
548
556
|
}
|
|
549
|
-
}), null), f(() => w(r,
|
|
557
|
+
}), null), f(() => w(r, Y("flex shrink-0 items-center justify-between h-8", "border-b", d() ? "rounded-none" : "rounded-t-md", re() && !d() && !h() && "cursor-move"))), e;
|
|
550
558
|
}
|
|
551
559
|
});
|
|
552
560
|
}
|
|
553
561
|
})];
|
|
554
562
|
}
|
|
555
|
-
|
|
563
|
+
tt(["pointerdown", "dblclick"]);
|
|
556
564
|
export {
|
|
557
|
-
|
|
565
|
+
Qt as FloatingWindow
|
|
558
566
|
};
|