@synnaxlabs/pluto 0.52.4 → 0.52.6
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/{Animated-6qL1fRZx.js → Animated-BU-7FzeV.js} +84 -83
- package/dist/{Animated-vGAs0qOH.cjs → Animated-BhCfNN8N.cjs} +1 -1
- package/dist/{Animated-Bn4jMc7c.js → Animated-C1yZ_uus.js} +2 -2
- package/dist/Animated-C4AcIYpH.cjs +1 -0
- package/dist/{Copy-DuC8dTK7.cjs → Copy-6Mur4EW2.cjs} +1 -1
- package/dist/{Copy-CzkBKGca.js → Copy-eucLPEWo.js} +4 -4
- package/dist/{Dialog-DNrgykEv.cjs → Dialog-DKMROHkj.cjs} +1 -1
- package/dist/{Dialog-Dos5l3K2.js → Dialog-dxzsEWgY.js} +1 -1
- package/dist/{Editable-4ZwvICC4.js → Editable-C17ILP50.js} +4 -4
- package/dist/{Haul-V5NQI3MY.cjs → Haul-BShXYNxx.cjs} +1 -1
- package/dist/{Haul-CxbMtSY4.js → Haul-Dv-7aC_g.js} +1 -1
- package/dist/{Items-DYYNNIjr.cjs → Items-806FU8Ig.cjs} +1 -1
- package/dist/{Items-CNPUoiob.js → Items-CPIJP3y9.js} +5 -5
- package/dist/Menu-C2vz25UP.js +139 -0
- package/dist/Menu-ZISpSd-o.cjs +1 -0
- package/dist/{Provider-DSMJjyuY.cjs → Provider-B1JpVCIg.cjs} +1 -1
- package/dist/{Provider-ZIy-UlnE.js → Provider-CfgP1iWx.js} +2 -2
- package/dist/{Tags-6OV0_eBz.cjs → Tags-BE6wPgNv.cjs} +1 -1
- package/dist/{Tags-BUDnOqms.js → Tags-BTbNRoip.js} +8 -8
- package/dist/{Text-BSTMZRuo.js → Text-BIGgPTpY.js} +894 -894
- package/dist/Text-_KoMj9Wf.cjs +1 -0
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/color.cjs +1 -1
- package/dist/color.js +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/ether.cjs +1 -1
- package/dist/ether.js +2 -2
- package/dist/{external-CmYpRWry.cjs → external-9dcu01v6.cjs} +1 -1
- package/dist/{external-ieDANY3X.cjs → external-BY9Nw2gP.cjs} +1 -1
- package/dist/{external-CG70NZqY.js → external-BnrrTvLw.js} +6 -6
- package/dist/{external-C0rrTDhu.cjs → external-ByPmlfc-.cjs} +1 -1
- package/dist/{external--liXQuyF.cjs → external-Bzko45Io.cjs} +1 -1
- package/dist/{external-BRxBwBtj.cjs → external-C0FbiHkb.cjs} +33 -33
- package/dist/{external-DFvPOUIQ.cjs → external-CROdzUNR.cjs} +1 -1
- package/dist/{external-Ci1Iy9ku.js → external-Cd6J4yXU.js} +1 -1
- package/dist/{external-Ctnukdzx.js → external-CdFqxvDi.js} +3 -3
- package/dist/{external-DAotNquC.js → external-CfHgwpZG.js} +1 -1
- package/dist/{external-JwicH0Yv.js → external-Ciq_Ux5w.js} +8 -8
- package/dist/{external-Bjd-DyWx.js → external-CsOIr_FG.js} +4551 -4551
- package/dist/{external-s6DOSL29.js → external-DCkEHk2F.js} +3 -3
- package/dist/{external-Czkrdv2A.js → external-DCvZU09g.js} +10 -10
- package/dist/{external-B3ipr7m2.cjs → external-DOHVmFq6.cjs} +1 -1
- package/dist/{external-N5bKB8Zx.cjs → external-DUYMFee8.cjs} +1 -1
- package/dist/{external-CoCI_tg5.js → external-Dn55rCp_.js} +4 -4
- package/dist/{external-B7UnU0MW.js → external-Dvn_KRPF.js} +4 -4
- package/dist/{external-DWEpl5aM.cjs → external-RARODBsH.cjs} +1 -1
- package/dist/{external-Ba2qQp_c.js → external-UzXlHlr9.js} +1 -1
- package/dist/{external-Czv2P05t.cjs → external-VtOg79_6.cjs} +1 -1
- package/dist/{external-CvYxFUrc.js → external-auCyrXJv.js} +3 -3
- package/dist/{external-ZtJmVgiY.cjs → external-qZkew-g7.cjs} +1 -1
- package/dist/header.cjs +1 -1
- package/dist/header.js +1 -1
- package/dist/{hooks-CWEfATTF.js → hooks-DPk_YYCv.js} +2 -2
- package/dist/{hooks-C4ji1BSZ.cjs → hooks-DmaLjPZJ.cjs} +1 -1
- package/dist/index.cjs +17 -17
- package/dist/index.js +6497 -6487
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/pluto.css +1 -1
- package/dist/src/access/policy/external.d.ts +0 -1
- package/dist/src/access/policy/external.d.ts.map +1 -1
- package/dist/src/access/role/external.d.ts +0 -1
- package/dist/src/access/role/external.d.ts.map +1 -1
- package/dist/src/channel/{CreateCalculatedIcon.d.ts → Icons.d.ts} +2 -1
- package/dist/src/channel/Icons.d.ts.map +1 -0
- package/dist/src/channel/external.d.ts +1 -1
- package/dist/src/channel/external.d.ts.map +1 -1
- package/dist/src/device/queries.d.ts +1 -1
- package/dist/src/flex/Box.d.ts +4 -4
- package/dist/src/hooks/useResize.d.ts +4 -1
- package/dist/src/hooks/useResize.d.ts.map +1 -1
- package/dist/src/hooks/useResize.spec.d.ts +2 -0
- package/dist/src/hooks/useResize.spec.d.ts.map +1 -0
- package/dist/src/{user/CreateIcon.d.ts → lineplot/Icons.d.ts} +1 -1
- package/dist/src/lineplot/Icons.d.ts.map +1 -0
- package/dist/src/lineplot/aether/XAxis.d.ts +4 -4
- package/dist/src/lineplot/aether/YAxis.d.ts +4 -4
- package/dist/src/lineplot/aether/axis.d.ts +2 -2
- package/dist/src/lineplot/external.d.ts +1 -0
- package/dist/src/lineplot/external.d.ts.map +1 -1
- package/dist/src/lineplot/range/aether/annotation.d.ts +4 -4
- package/dist/src/lineplot/tooltip/aether/tooltip.d.ts +8 -8
- package/dist/src/{ranger/CreateIcon.d.ts → log/Icons.d.ts} +1 -1
- package/dist/src/log/Icons.d.ts.map +1 -0
- package/dist/src/log/aether/Log.d.ts +6 -6
- package/dist/src/log/external.d.ts +1 -0
- package/dist/src/log/external.d.ts.map +1 -1
- package/dist/src/menu/ContextMenu.d.ts.map +1 -1
- package/dist/src/menu/ContextMenu.spec.d.ts +2 -0
- package/dist/src/menu/ContextMenu.spec.d.ts.map +1 -0
- package/dist/src/ranger/Icons.d.ts +3 -0
- package/dist/src/ranger/Icons.d.ts.map +1 -0
- package/dist/src/ranger/external.d.ts +1 -1
- package/dist/src/ranger/external.d.ts.map +1 -1
- package/dist/src/ranger/queries.d.ts +2 -2
- package/dist/src/schematic/Icons.d.ts +3 -0
- package/dist/src/schematic/Icons.d.ts.map +1 -0
- package/dist/src/schematic/external.d.ts +1 -0
- package/dist/src/schematic/external.d.ts.map +1 -1
- package/dist/src/schematic/symbol/registry.d.ts +4 -4
- package/dist/src/{access/policy/CreateIcon.d.ts → status/base/Icons.d.ts} +1 -1
- package/dist/src/status/base/Icons.d.ts.map +1 -0
- package/dist/src/status/base/external.d.ts +1 -1
- package/dist/src/status/base/external.d.ts.map +1 -1
- package/dist/src/status/queries.d.ts +7 -7
- package/dist/src/table/Icons.d.ts +3 -0
- package/dist/src/table/Icons.d.ts.map +1 -0
- package/dist/src/table/cells/Cells.d.ts +4 -4
- package/dist/src/table/external.d.ts +1 -0
- package/dist/src/table/external.d.ts.map +1 -1
- package/dist/src/telem/control/aether/controller.d.ts +1 -1
- package/dist/src/telem/control/aether/indicator.d.ts +5 -5
- package/dist/src/telem/control/aether/legend.d.ts +2 -2
- package/dist/src/telem/control/aether/state.d.ts +1 -1
- package/dist/src/text/base/types.d.ts +2 -2
- package/dist/src/theming/aether/provider.d.ts +138 -138
- package/dist/src/theming/base/theme.d.ts +140 -140
- package/dist/src/triggers/triggers.d.ts +21 -21
- package/dist/src/user/Icons.d.ts +3 -0
- package/dist/src/user/Icons.d.ts.map +1 -0
- package/dist/src/user/external.d.ts +1 -1
- package/dist/src/user/external.d.ts.map +1 -1
- package/dist/src/user/queries.d.ts +1 -1
- package/dist/src/viewport/use.d.ts +1 -1
- package/dist/src/vis/axis/axis.d.ts +2 -2
- package/dist/src/vis/gauge/aether/gauge.d.ts +6 -6
- package/dist/src/vis/gauge/use.d.ts +2 -2
- package/dist/src/vis/line/aether/line.d.ts +1 -1
- package/dist/src/vis/measure/aether/measure.d.ts +8 -8
- package/dist/src/vis/rule/aether/aether.d.ts +2 -2
- package/dist/src/vis/value/aether/value.d.ts +9 -9
- package/dist/src/vis/value/use.d.ts +3 -3
- package/dist/src/workspace/Icons.d.ts +5 -0
- package/dist/src/workspace/Icons.d.ts.map +1 -0
- package/dist/src/workspace/external.d.ts +3 -0
- package/dist/src/workspace/external.d.ts.map +1 -0
- package/dist/src/workspace/index.d.ts +1 -1
- package/dist/src/workspace/index.d.ts.map +1 -1
- package/dist/src/workspace/queries.d.ts +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text.js +2 -2
- package/dist/theming.cjs +1 -1
- package/dist/theming.js +2 -2
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/triggers.cjs +1 -1
- package/dist/triggers.js +1 -1
- package/dist/{value-DimszMFu.js → value-CQ1JSZ3H.js} +4 -4
- package/dist/{value-Bfn0uQuG.cjs → value-DJPQ1lb4.cjs} +1 -1
- package/package.json +3 -5
- package/dist/Animated-xK__WUQp.cjs +0 -1
- package/dist/Menu-C0scum-k.cjs +0 -1
- package/dist/Menu-CTuOX5DR.js +0 -136
- package/dist/Text-C2_VsLzw.cjs +0 -1
- package/dist/src/access/policy/CreateIcon.d.ts.map +0 -1
- package/dist/src/access/role/CreateIcon.d.ts +0 -3
- package/dist/src/access/role/CreateIcon.d.ts.map +0 -1
- package/dist/src/channel/CreateCalculatedIcon.d.ts.map +0 -1
- package/dist/src/ranger/CreateIcon.d.ts.map +0 -1
- package/dist/src/status/base/CreateIcon.d.ts +0 -3
- package/dist/src/status/base/CreateIcon.d.ts.map +0 -1
- package/dist/src/user/CreateIcon.d.ts.map +0 -1
|
@@ -1,68 +1,69 @@
|
|
|
1
1
|
import { j as D } from "./jsx-runtime-tc70JA_2.js";
|
|
2
2
|
import { box as r, xy as G, debounce as me, location as t, array as ee, direction as Ee } from "@synnaxlabs/x";
|
|
3
3
|
import { useCallback as p, useEffect as Y, useRef as w, useState as Ce, useMemo as te } from "react";
|
|
4
|
-
import { a as xe, H as Te, c as se } from "./Text-
|
|
4
|
+
import { a as xe, H as Te, c as se } from "./Text-BIGgPTpY.js";
|
|
5
5
|
import { C as m } from "./css-D90kZTM8.js";
|
|
6
6
|
import { a as ie } from "./Box-Bi280MYh.js";
|
|
7
|
-
import {
|
|
8
|
-
import { u as he } from "./hooks-
|
|
7
|
+
import { d as k, b as re } from "./Editable-C17ILP50.js";
|
|
8
|
+
import { u as he } from "./hooks-DPk_YYCv.js";
|
|
9
9
|
import { b as ye } from "./types-CGRCBVD4.js";
|
|
10
|
-
import "./Provider-
|
|
10
|
+
import "./Provider-CfgP1iWx.js";
|
|
11
11
|
const Oe = ({
|
|
12
12
|
ref: e,
|
|
13
|
-
onClickOutside:
|
|
13
|
+
onClickOutside: o,
|
|
14
14
|
exclude: s
|
|
15
15
|
}) => {
|
|
16
|
-
const
|
|
16
|
+
const f = k(s), n = p(
|
|
17
17
|
(c) => {
|
|
18
|
-
const i = e.current, l = r.construct(window.document.documentElement), d = G.construct(c), a =
|
|
18
|
+
const i = e.current, l = r.construct(window.document.documentElement), d = G.construct(c), a = f.current;
|
|
19
19
|
if (a != null) {
|
|
20
20
|
if (typeof a == "function") {
|
|
21
21
|
if (a(c)) return;
|
|
22
22
|
} else if (a.some((u) => u.current?.contains(c.target))) return;
|
|
23
23
|
}
|
|
24
|
-
i == null || i.contains(c.target) || r.contains(i, d) || !r.contains(l, d) ||
|
|
24
|
+
i == null || i.contains(c.target) || r.contains(i, d) || !r.contains(l, d) || o();
|
|
25
25
|
},
|
|
26
|
-
[
|
|
26
|
+
[o]
|
|
27
27
|
);
|
|
28
|
-
Y(() => (document.addEventListener("mousedown",
|
|
29
|
-
}, ne = (e,
|
|
30
|
-
const { triggers: s = [], debounce:
|
|
28
|
+
Y(() => (document.addEventListener("mousedown", n), () => document.removeEventListener("mousedown", n)), [n]);
|
|
29
|
+
}, ne = (e, o = {}) => {
|
|
30
|
+
const { triggers: s = [], debounce: f = 0, enabled: n = !0 } = o, c = w(r.ZERO), i = w(null), l = w(null), d = xe(() => s, Te, [
|
|
31
31
|
s
|
|
32
32
|
]), a = p(
|
|
33
33
|
(u) => {
|
|
34
34
|
l.current != null && l.current.disconnect(), c.current ??= r.ZERO;
|
|
35
35
|
const E = me(() => {
|
|
36
|
-
const
|
|
37
|
-
pe(d, c.current,
|
|
38
|
-
},
|
|
36
|
+
const g = r.construct(u);
|
|
37
|
+
pe(d, c.current, g) && (c.current = g, e(g, i.current));
|
|
38
|
+
}, f);
|
|
39
39
|
l.current = new ResizeObserver(E), l.current.observe(u);
|
|
40
40
|
},
|
|
41
|
-
[d, e,
|
|
41
|
+
[d, e, f]
|
|
42
42
|
);
|
|
43
|
-
return Y(() => (i.current != null &&
|
|
43
|
+
return Y(() => (i.current != null && n && a(i.current), () => l.current?.disconnect()), [a, n]), p(
|
|
44
44
|
(u) => {
|
|
45
|
-
i.current = u, u != null &&
|
|
45
|
+
i.current = u, u != null && n && a(u);
|
|
46
46
|
},
|
|
47
47
|
[a]
|
|
48
48
|
);
|
|
49
|
-
}, pe = (e,
|
|
50
|
-
const
|
|
49
|
+
}, pe = (e, o, s) => e.length === 0 ? !r.equals(s, o) : !!(e.includes("x") && r.width(o) !== r.width(s) || e.includes("y") && r.height(o) !== r.height(s)), be = (e, o = {}) => {
|
|
50
|
+
const { enabled: s = !0 } = o, f = k(e);
|
|
51
51
|
Y(() => {
|
|
52
|
-
|
|
52
|
+
if (!s) return;
|
|
53
|
+
const n = () => f.current(
|
|
53
54
|
r.construct(window.innerWidth, window.innerHeight),
|
|
54
55
|
window.document.documentElement
|
|
55
56
|
);
|
|
56
|
-
return window.addEventListener("resize",
|
|
57
|
-
}, []);
|
|
57
|
+
return window.addEventListener("resize", n), () => window.removeEventListener("resize", n);
|
|
58
|
+
}, [s]);
|
|
58
59
|
}, H = m.BE("dialog", "bg"), ke = ({
|
|
59
60
|
children: e,
|
|
60
|
-
visible:
|
|
61
|
+
visible: o,
|
|
61
62
|
...s
|
|
62
63
|
}) => /* @__PURE__ */ D.jsx(
|
|
63
64
|
ie,
|
|
64
65
|
{
|
|
65
|
-
className: m(H, m.visible(
|
|
66
|
+
className: m(H, m.visible(o)),
|
|
66
67
|
empty: !0,
|
|
67
68
|
align: "center",
|
|
68
69
|
...s,
|
|
@@ -70,30 +71,30 @@ const Oe = ({
|
|
|
70
71
|
}
|
|
71
72
|
), M = (e) => e == null ? { x: void 0, y: void 0 } : typeof e != "string" ? e : Ee.isX(e) ? { x: e, y: void 0 } : { x: void 0, y: e }, z = (e) => typeof e == "string" || "x" in e || "y" in e ? { targetCorner: e, dialogCorner: void 0 } : e, Re = ({
|
|
72
73
|
initial: e,
|
|
73
|
-
prefer:
|
|
74
|
+
prefer: o = [],
|
|
74
75
|
disable: s = []
|
|
75
76
|
}) => {
|
|
76
|
-
const
|
|
77
|
+
const f = ee.toArray(o).map(z), n = ee.toArray(s).map(z), c = [];
|
|
77
78
|
if (e != null) {
|
|
78
79
|
const i = z(e), l = M(i.targetCorner), d = M(i.dialogCorner);
|
|
79
80
|
t.XY_LOCATIONS.forEach((u) => {
|
|
80
81
|
t.xyEquals(u, t.CENTER) || l.x != null && u.x !== l.x || l.y != null && u.y !== l.y || t.XY_LOCATIONS.forEach((E) => {
|
|
81
82
|
if (t.xyEquals(E, t.CENTER) || d.x != null && E.x !== d.x || d.y != null && E.y !== d.y) return;
|
|
82
|
-
const
|
|
83
|
-
c.push(
|
|
83
|
+
const g = { targetCorner: u, dialogCorner: E };
|
|
84
|
+
c.push(g);
|
|
84
85
|
});
|
|
85
86
|
});
|
|
86
|
-
const a = c.filter((u) => !X(u,
|
|
87
|
+
const a = c.filter((u) => !X(u, n));
|
|
87
88
|
return a.length == 0 ? c.slice(0, 1) : a;
|
|
88
89
|
}
|
|
89
|
-
return
|
|
90
|
+
return f.forEach((i) => {
|
|
90
91
|
const l = M(i.targetCorner), d = M(i.dialogCorner);
|
|
91
92
|
t.XY_LOCATIONS.forEach((a) => {
|
|
92
93
|
t.xyEquals(a, t.CENTER) || t.xyMatches(a, l) && t.XY_LOCATIONS.forEach((u) => {
|
|
93
94
|
if (t.xyEquals(u, t.CENTER) || !t.xyMatches(u, d)) return;
|
|
94
95
|
const E = { targetCorner: a, dialogCorner: u };
|
|
95
|
-
!X(E,
|
|
96
|
-
(
|
|
96
|
+
!X(E, n) && !c.some(
|
|
97
|
+
(g) => t.xyEquals(g.targetCorner, a) && t.xyEquals(g.dialogCorner, u)
|
|
97
98
|
) && c.push(E);
|
|
98
99
|
});
|
|
99
100
|
});
|
|
@@ -101,25 +102,25 @@ const Oe = ({
|
|
|
101
102
|
t.xyEquals(i, t.CENTER) || t.XY_LOCATIONS.forEach((l) => {
|
|
102
103
|
if (t.xyEquals(l, t.CENTER)) return;
|
|
103
104
|
const d = { targetCorner: i, dialogCorner: l };
|
|
104
|
-
!X(d,
|
|
105
|
+
!X(d, n) && !c.some(
|
|
105
106
|
(a) => t.xyEquals(a.targetCorner, i) && t.xyEquals(a.dialogCorner, l)
|
|
106
107
|
) && c.push(d);
|
|
107
108
|
});
|
|
108
109
|
}), c;
|
|
109
|
-
}, X = (e,
|
|
110
|
-
const
|
|
111
|
-
return t.xyEquals(s.dialogCorner, t.CENTER) ? t.xyMatches(e.targetCorner,
|
|
110
|
+
}, X = (e, o) => o.some((s) => {
|
|
111
|
+
const f = M(s.targetCorner), n = M(s.dialogCorner);
|
|
112
|
+
return t.xyEquals(s.dialogCorner, t.CENTER) ? t.xyMatches(e.targetCorner, f) : t.xyMatches(e.targetCorner, f) && t.xyMatches(e.dialogCorner, n);
|
|
112
113
|
}), Ne = ({
|
|
113
114
|
container: e,
|
|
114
|
-
target:
|
|
115
|
+
target: o,
|
|
115
116
|
dialog: s,
|
|
116
|
-
initial:
|
|
117
|
-
prefer:
|
|
117
|
+
initial: f,
|
|
118
|
+
prefer: n,
|
|
118
119
|
disable: c,
|
|
119
120
|
offset: i
|
|
120
121
|
}) => {
|
|
121
|
-
const l = Re({ initial:
|
|
122
|
-
(
|
|
122
|
+
const l = Re({ initial: f, prefer: n, disable: c }), d = r.construct(e), a = r.construct(o), u = r.construct(s), E = l.reduce(
|
|
123
|
+
(g, T) => {
|
|
123
124
|
const h = Le({
|
|
124
125
|
...T,
|
|
125
126
|
container: d,
|
|
@@ -127,7 +128,7 @@ const Oe = ({
|
|
|
127
128
|
dialog: u,
|
|
128
129
|
offset: i
|
|
129
130
|
});
|
|
130
|
-
return h.area >
|
|
131
|
+
return h.area > g.area ? h : g;
|
|
131
132
|
},
|
|
132
133
|
{
|
|
133
134
|
area: -1 / 0,
|
|
@@ -143,29 +144,29 @@ const Oe = ({
|
|
|
143
144
|
};
|
|
144
145
|
}, Le = ({
|
|
145
146
|
targetCorner: e,
|
|
146
|
-
dialogCorner:
|
|
147
|
+
dialogCorner: o,
|
|
147
148
|
container: s,
|
|
148
|
-
target:
|
|
149
|
-
dialog:
|
|
149
|
+
target: f,
|
|
150
|
+
dialog: n,
|
|
150
151
|
offset: c
|
|
151
152
|
}) => {
|
|
152
|
-
let i = r.xyLoc(
|
|
153
|
+
let i = r.xyLoc(f, e);
|
|
153
154
|
if (c != null) {
|
|
154
155
|
const a = G.construct(c);
|
|
155
|
-
e.x ===
|
|
156
|
+
e.x === o.x && (a.x = 0), e.y === o.y && (a.y = 0), i = G.translate(i, e, a);
|
|
156
157
|
}
|
|
157
158
|
const l = r.constructWithAlternateRoot(
|
|
158
159
|
i.x,
|
|
159
160
|
i.y,
|
|
160
|
-
r.width(
|
|
161
|
-
r.height(
|
|
162
|
-
|
|
161
|
+
r.width(n),
|
|
162
|
+
r.height(n),
|
|
163
|
+
o,
|
|
163
164
|
t.TOP_LEFT
|
|
164
165
|
);
|
|
165
166
|
let d = r.area(r.intersection(l, s));
|
|
166
|
-
return r.area(r.intersection(
|
|
167
|
+
return r.area(r.intersection(f, l)) !== 0 && (d = 0), {
|
|
167
168
|
targetCorner: e,
|
|
168
|
-
dialogCorner:
|
|
169
|
+
dialogCorner: o,
|
|
169
170
|
adjustedDialog: l,
|
|
170
171
|
area: d
|
|
171
172
|
};
|
|
@@ -190,12 +191,12 @@ const Oe = ({
|
|
|
190
191
|
}), [_e, Ue] = se({
|
|
191
192
|
displayName: "Dialog.InternalContext",
|
|
192
193
|
providerName: "Dialog.Frame"
|
|
193
|
-
}), Pe = [["Escape"]], Ie = (e,
|
|
194
|
+
}), Pe = [["Escape"]], Ie = (e, o, s) => {
|
|
194
195
|
if (s == null) return !1;
|
|
195
|
-
const
|
|
196
|
-
if (e === "floating") return
|
|
197
|
-
const c = Math.abs(r.width(
|
|
198
|
-
return
|
|
196
|
+
const n = Math.abs(r.left(o) - r.left(s)) <= 1 && Math.abs(r.top(o) - r.top(s)) <= 1;
|
|
197
|
+
if (e === "floating") return n;
|
|
198
|
+
const c = Math.abs(r.width(o) - r.width(s)) <= 1;
|
|
199
|
+
return n && c;
|
|
199
200
|
}, oe = [
|
|
200
201
|
{
|
|
201
202
|
targetCorner: t.BOTTOM_LEFT,
|
|
@@ -217,12 +218,12 @@ const Oe = ({
|
|
|
217
218
|
targetCorner: t.TOP_RIGHT,
|
|
218
219
|
dialogCorner: t.TOP_LEFT
|
|
219
220
|
}
|
|
220
|
-
], ve = (e,
|
|
221
|
+
], ve = (e, o) => e / o > 0.8 ? "slammed" : e / o > 0.6 ? "shifted" : "base", Se = ({
|
|
221
222
|
children: e,
|
|
222
|
-
location:
|
|
223
|
+
location: o,
|
|
223
224
|
onPointerEnter: s,
|
|
224
|
-
className:
|
|
225
|
-
variant:
|
|
225
|
+
className: f,
|
|
226
|
+
variant: n = "floating",
|
|
226
227
|
maxHeight: c,
|
|
227
228
|
zIndex: i,
|
|
228
229
|
initialVisible: l = !1,
|
|
@@ -231,19 +232,19 @@ const Oe = ({
|
|
|
231
232
|
modalPosition: u = "base",
|
|
232
233
|
...E
|
|
233
234
|
}) => {
|
|
234
|
-
const [
|
|
235
|
+
const [g, T] = ye({
|
|
235
236
|
initial: l,
|
|
236
237
|
value: d,
|
|
237
238
|
onChange: a
|
|
238
|
-
}), h = p(() => T(!1), [T]), V = p(() => T(!0), [T]), W = p(() => T((C) => !C), [T]), I = k(
|
|
239
|
+
}), h = p(() => T(!1), [T]), V = p(() => T(!0), [T]), W = p(() => T((C) => !C), [T]), I = k(g), _ = w(null), q = w(void 0), Z = w(void 0), y = w(null), [{ targetCorner: b, dialogCorner: v, style: U, modalPosition: K }, $] = Ce({ ...Be, modalPosition: u }), F = p(() => {
|
|
239
240
|
if (_.current == null || y.current == null || !I.current)
|
|
240
241
|
return;
|
|
241
242
|
const C = r.construct(_.current);
|
|
242
|
-
if (r.areaIsZero(C) &&
|
|
243
|
+
if (r.areaIsZero(C) && n !== "modal") return T(!1);
|
|
243
244
|
let x = r.construct(y.current);
|
|
244
|
-
|
|
245
|
+
n === "connected" && (x = r.resize(x, "x", r.width(C)));
|
|
245
246
|
const R = r.construct(0, 0, window.innerWidth, window.innerHeight);
|
|
246
|
-
if (
|
|
247
|
+
if (n === "modal") {
|
|
247
248
|
const A = ve(
|
|
248
249
|
r.height(x),
|
|
249
250
|
r.height(R)
|
|
@@ -257,22 +258,22 @@ const Oe = ({
|
|
|
257
258
|
dialog: x,
|
|
258
259
|
container: R,
|
|
259
260
|
prefer: N,
|
|
260
|
-
initial:
|
|
261
|
+
initial: o,
|
|
261
262
|
offset: 3
|
|
262
263
|
});
|
|
263
264
|
q.current = P;
|
|
264
265
|
const { targetCorner: S, dialogCorner: Q } = P, B = r.round(O);
|
|
265
|
-
if (Ie(
|
|
266
|
+
if (Ie(n, B, Z.current)) return;
|
|
266
267
|
Z.current = B;
|
|
267
268
|
const L = {};
|
|
268
|
-
L.left = r.left(B), S.y === "top" && Q.x === S.x ? L.bottom = r.height(R) - r.bottom(B) : L.top = r.top(B),
|
|
269
|
-
}, [
|
|
269
|
+
L.left = r.left(B), S.y === "top" && Q.x === S.x ? L.bottom = r.height(R) - r.bottom(B) : L.top = r.top(B), n === "connected" && (L.width = r.width(B)), typeof c == "number" && (L.maxHeight = c), g && (L.zIndex = i), $((A) => ({ ...A, targetCorner: S, dialogCorner: Q, style: L }));
|
|
270
|
+
}, [o, n, T]), ae = ne(F, { enabled: g }), J = re(y, ae), ce = ne(F, { enabled: g }), le = re(_, ce);
|
|
270
271
|
be(F);
|
|
271
272
|
const ue = p(
|
|
272
273
|
(C) => {
|
|
273
274
|
if (!I.current || y.current == null || _.current == null)
|
|
274
275
|
return !0;
|
|
275
|
-
if (
|
|
276
|
+
if (n !== "modal") {
|
|
276
277
|
const N = y.current.getElementsByClassName(m.visible(!0));
|
|
277
278
|
let O = N != null && N.length > 0;
|
|
278
279
|
return O || (O = _.current.contains(C.target)), document.getElementsByClassName(we).length > 0 && (O = !0), O || C.stopImmediatePropagation(), O;
|
|
@@ -286,12 +287,12 @@ const Oe = ({
|
|
|
286
287
|
({ stage: C }) => {
|
|
287
288
|
if (C !== "start" || I.current === !1 || y.current == null)
|
|
288
289
|
return;
|
|
289
|
-
if (
|
|
290
|
+
if (n !== "modal") return h();
|
|
290
291
|
const x = y.current, R = Array.from(document.getElementsByClassName(H)), N = R.findIndex((P) => P.contains(x)), O = x.getElementsByClassName(m.visible(!0));
|
|
291
292
|
if (N === R.length - 1 && O.length === 0)
|
|
292
293
|
return h();
|
|
293
294
|
},
|
|
294
|
-
[h,
|
|
295
|
+
[h, n]
|
|
295
296
|
);
|
|
296
297
|
Oe({ ref: y, exclude: ue, onClickOutside: h }), he({ triggers: Pe, callback: de, loose: !0 });
|
|
297
298
|
const fe = te(
|
|
@@ -308,12 +309,12 @@ const Oe = ({
|
|
|
308
309
|
close: h,
|
|
309
310
|
open: V,
|
|
310
311
|
toggle: W,
|
|
311
|
-
visible:
|
|
312
|
+
visible: g,
|
|
312
313
|
onPointerEnter: s,
|
|
313
|
-
variant:
|
|
314
|
+
variant: n,
|
|
314
315
|
location: b
|
|
315
316
|
}),
|
|
316
|
-
[h, V, W,
|
|
317
|
+
[h, V, W, g, b]
|
|
317
318
|
);
|
|
318
319
|
return /* @__PURE__ */ D.jsx(Me, { value: ge, children: /* @__PURE__ */ D.jsx(_e, { value: fe, children: /* @__PURE__ */ D.jsx(
|
|
319
320
|
ie,
|
|
@@ -321,10 +322,10 @@ const Oe = ({
|
|
|
321
322
|
...E,
|
|
322
323
|
ref: le,
|
|
323
324
|
className: m(
|
|
324
|
-
|
|
325
|
+
f,
|
|
325
326
|
m.BE("dialog", "frame"),
|
|
326
|
-
m.visible(
|
|
327
|
-
m.M(
|
|
327
|
+
m.visible(g),
|
|
328
|
+
m.M(n),
|
|
328
329
|
m.loc(b.x),
|
|
329
330
|
m.loc(b.y),
|
|
330
331
|
m.BEM("dialog", "dialog", v.x),
|
|
@@ -345,9 +346,9 @@ export {
|
|
|
345
346
|
Ue as b,
|
|
346
347
|
Ve as c,
|
|
347
348
|
We as d,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
ne as e,
|
|
350
|
+
be as f,
|
|
351
|
+
Oe as g,
|
|
351
352
|
M as p,
|
|
352
353
|
Ze as u
|
|
353
354
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("./jsx-runtime-nZSsnGb7.cjs");require("./Animated-
|
|
1
|
+
"use strict";const a=require("./jsx-runtime-nZSsnGb7.cjs");require("./Animated-C4AcIYpH.cjs");require("@synnaxlabs/x");const e=require("./css-CloSmhZB.cjs"),c=require("./Text-_KoMj9Wf.cjs"),t=({className:r,enabledLoc:i,disabledLoc:n,enabled:s,...o})=>a.jsxRuntimeExports.jsx(c.Caret.Up,{className:e.CSS(e.CSS.B("caret-animated"),e.CSS.loc(s?i:n),r),...o}),u=Object.freeze(Object.defineProperty({__proto__:null,Animated:t},Symbol.toStringTag,{value:"Module"}));exports.Animated=t;exports.Animated$1=u;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as s } from "./jsx-runtime-tc70JA_2.js";
|
|
2
|
-
import "./Animated-
|
|
2
|
+
import "./Animated-BU-7FzeV.js";
|
|
3
3
|
import "@synnaxlabs/x";
|
|
4
4
|
import { C as t } from "./css-D90kZTM8.js";
|
|
5
|
-
import { C as i } from "./Text-
|
|
5
|
+
import { C as i } from "./Text-BIGgPTpY.js";
|
|
6
6
|
const p = ({
|
|
7
7
|
className: o,
|
|
8
8
|
enabledLoc: e,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const v=require("./jsx-runtime-nZSsnGb7.cjs"),e=require("@synnaxlabs/x"),d=require("react"),A=require("./Text-_KoMj9Wf.cjs"),x=require("./css-CloSmhZB.cjs"),Q=require("./Box-CNUz5BsV.cjs"),_=require("./Editable-HUPqTaui.cjs"),fe=require("./hooks-DmaLjPZJ.cjs"),ge=require("./types-DI2vtOGs.cjs");require("./Provider-B1JpVCIg.cjs");const ee=({ref:t,onClickOutside:n,exclude:r})=>{const f=_.useSyncedRef(r),o=d.useCallback(c=>{const s=t.current,a=e.box.construct(window.document.documentElement),u=e.xy.construct(c),i=f.current;if(i!=null){if(typeof i=="function"){if(i(c))return}else if(i.some(l=>l.current?.contains(c.target)))return}s==null||s.contains(c.target)||e.box.contains(s,u)||!e.box.contains(a,u)||n()},[n]);d.useEffect(()=>(document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)),[o])},X=(t,n={})=>{const{triggers:r=[],debounce:f=0,enabled:o=!0}=n,c=d.useRef(e.box.ZERO),s=d.useRef(null),a=d.useRef(null),u=A.useMemoCompare(()=>r,A.compareArrayDeps,[r]),i=d.useCallback(l=>{a.current!=null&&a.current.disconnect(),c.current??=e.box.ZERO;const C=e.debounce(()=>{const g=e.box.construct(l);xe(u,c.current,g)&&(c.current=g,t(g,s.current))},f);a.current=new ResizeObserver(C),a.current.observe(l)},[u,t,f]);return d.useEffect(()=>(s.current!=null&&o&&i(s.current),()=>a.current?.disconnect()),[i,o]),d.useCallback(l=>{s.current=l,l!=null&&o&&i(l)},[i])},xe=(t,n,r)=>t.length===0?!e.box.equals(r,n):!!(t.includes("x")&&e.box.width(n)!==e.box.width(r)||t.includes("y")&&e.box.height(n)!==e.box.height(r)),te=(t,n={})=>{const{enabled:r=!0}=n,f=_.useSyncedRef(t);d.useEffect(()=>{if(!r)return;const o=()=>f.current(e.box.construct(window.innerWidth,window.innerHeight),window.document.documentElement);return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o)},[r])},G=x.CSS.BE("dialog","bg"),Ce=({children:t,visible:n,...r})=>v.jsxRuntimeExports.jsx(Q.Box$1,{className:x.CSS(G,x.CSS.visible(n)),empty:!0,align:"center",...r,children:t}),N=t=>t==null?{x:void 0,y:void 0}:typeof t!="string"?t:e.direction.isX(t)?{x:t,y:void 0}:{x:void 0,y:t},F=t=>typeof t=="string"||"x"in t||"y"in t?{targetCorner:t,dialogCorner:void 0}:t,Ee=({initial:t,prefer:n=[],disable:r=[]})=>{const f=e.array.toArray(n).map(F),o=e.array.toArray(r).map(F),c=[];if(t!=null){const s=F(t),a=N(s.targetCorner),u=N(s.dialogCorner);e.location.XY_LOCATIONS.forEach(l=>{e.location.xyEquals(l,e.location.CENTER)||a.x!=null&&l.x!==a.x||a.y!=null&&l.y!==a.y||e.location.XY_LOCATIONS.forEach(C=>{if(e.location.xyEquals(C,e.location.CENTER)||u.x!=null&&C.x!==u.x||u.y!=null&&C.y!==u.y)return;const g={targetCorner:l,dialogCorner:C};c.push(g)})});const i=c.filter(l=>!z(l,o));return i.length==0?c.slice(0,1):i}return f.forEach(s=>{const a=N(s.targetCorner),u=N(s.dialogCorner);e.location.XY_LOCATIONS.forEach(i=>{e.location.xyEquals(i,e.location.CENTER)||e.location.xyMatches(i,a)&&e.location.XY_LOCATIONS.forEach(l=>{if(e.location.xyEquals(l,e.location.CENTER)||!e.location.xyMatches(l,u))return;const C={targetCorner:i,dialogCorner:l};!z(C,o)&&!c.some(g=>e.location.xyEquals(g.targetCorner,i)&&e.location.xyEquals(g.dialogCorner,l))&&c.push(C)})})}),e.location.XY_LOCATIONS.forEach(s=>{e.location.xyEquals(s,e.location.CENTER)||e.location.XY_LOCATIONS.forEach(a=>{if(e.location.xyEquals(a,e.location.CENTER))return;const u={targetCorner:s,dialogCorner:a};!z(u,o)&&!c.some(i=>e.location.xyEquals(i.targetCorner,s)&&e.location.xyEquals(i.dialogCorner,a))&&c.push(u)})}),c},z=(t,n)=>n.some(r=>{const f=N(r.targetCorner),o=N(r.dialogCorner);return e.location.xyEquals(r.dialogCorner,e.location.CENTER)?e.location.xyMatches(t.targetCorner,f):e.location.xyMatches(t.targetCorner,f)&&e.location.xyMatches(t.dialogCorner,o)}),oe=({container:t,target:n,dialog:r,initial:f,prefer:o,disable:c,offset:s})=>{const a=Ee({initial:f,prefer:o,disable:c}),u=e.box.construct(t),i=e.box.construct(n),l=e.box.construct(r),C=a.reduce((g,m)=>{const T=be({...m,container:u,target:i,dialog:l,offset:s});return T.area>g.area?T:g},{area:-1/0,targetCorner:e.location.CENTER,dialogCorner:e.location.CENTER,adjustedDialog:l});return{targetCorner:C.targetCorner,dialogCorner:C.dialogCorner,adjustedDialog:C.adjustedDialog}},be=({targetCorner:t,dialogCorner:n,container:r,target:f,dialog:o,offset:c})=>{let s=e.box.xyLoc(f,t);if(c!=null){const i=e.xy.construct(c);t.x===n.x&&(i.x=0),t.y===n.y&&(i.y=0),s=e.xy.translate(s,t,i)}const a=e.box.constructWithAlternateRoot(s.x,s.y,e.box.width(o),e.box.height(o),n,e.location.TOP_LEFT);let u=e.box.area(e.box.intersection(a,r));return e.box.area(e.box.intersection(f,a))!==0&&(u=0),{targetCorner:t,dialogCorner:n,adjustedDialog:a,area:u}},me=x.CSS.BM("context","selected"),Te=x.CSS.BE("context","target"),ne=x.CSS.B("menu-context"),ye={targetCorner:e.location.BOTTOM_LEFT,dialogCorner:e.location.BOTTOM_LEFT,style:{},modalPosition:"base"},[he,Re]=A.create({defaultValue:{close:()=>{},location:e.location.BOTTOM_LEFT,open:()=>{},toggle:()=>{},variant:"floating",visible:!1},displayName:"Dialog.Context"}),[Se,Oe]=A.create({displayName:"Dialog.InternalContext",providerName:"Dialog.Frame"}),pe=[["Escape"]],Ne=(t,n,r)=>{if(r==null)return!1;const o=Math.abs(e.box.left(n)-e.box.left(r))<=1&&Math.abs(e.box.top(n)-e.box.top(r))<=1;if(t==="floating")return o;const c=Math.abs(e.box.width(n)-e.box.width(r))<=1;return o&&c},J=[{targetCorner:e.location.BOTTOM_LEFT,dialogCorner:e.location.TOP_LEFT},{targetCorner:e.location.TOP_LEFT,dialogCorner:e.location.BOTTOM_LEFT},{targetCorner:e.location.BOTTOM_RIGHT,dialogCorner:e.location.TOP_RIGHT},{targetCorner:e.location.TOP_RIGHT,dialogCorner:e.location.BOTTOM_RIGHT},{targetCorner:e.location.TOP_RIGHT,dialogCorner:e.location.TOP_LEFT}],Le=(t,n)=>t/n>.8?"slammed":t/n>.6?"shifted":"base",re=({children:t,location:n,onPointerEnter:r,className:f,variant:o="floating",maxHeight:c,zIndex:s,initialVisible:a=!1,visible:u,onVisibleChange:i,modalPosition:l="base",...C})=>{const[g,m]=ge.usePassthrough({initial:a,value:u,onChange:i}),T=d.useCallback(()=>m(!1),[m]),H=d.useCallback(()=>m(!0),[m]),Y=d.useCallback(()=>m(E=>!E),[m]),M=_.useSyncedRef(g),w=d.useRef(null),D=d.useRef(void 0),V=d.useRef(void 0),y=d.useRef(null),[{targetCorner:R,dialogCorner:q,style:W,modalPosition:Z},U]=d.useState({...ye,modalPosition:l}),k=d.useCallback(()=>{if(w.current==null||y.current==null||!M.current)return;const E=e.box.construct(w.current);if(e.box.areaIsZero(E)&&o!=="modal")return m(!1);let b=e.box.construct(y.current);o==="connected"&&(b=e.box.resize(b,"x",e.box.width(E)));const S=e.box.construct(0,0,window.innerWidth,window.innerHeight);if(o==="modal"){const I=Le(e.box.height(b),e.box.height(S));return U(j=>I===j.modalPosition?j:{...j,modalPosition:I})}let O=J;D.current!=null&&(O=[D.current,...J]);const{adjustedDialog:h,...B}=oe({target:E,dialog:b,container:S,prefer:O,initial:n,offset:3});D.current=B;const{targetCorner:P,dialogCorner:K}=B,L=e.box.round(h);if(Ne(o,L,V.current))return;V.current=L;const p={};p.left=e.box.left(L),P.y==="top"&&K.x===P.x?p.bottom=e.box.height(S)-e.box.bottom(L):p.top=e.box.top(L),o==="connected"&&(p.width=e.box.width(L)),typeof c=="number"&&(p.maxHeight=c),g&&(p.zIndex=s),U(I=>({...I,targetCorner:P,dialogCorner:K,style:p}))},[n,o,m]),se=X(k,{enabled:g}),$=_.useCombinedRefs(y,se),ie=X(k,{enabled:g}),ce=_.useCombinedRefs(w,ie);te(k);const ae=d.useCallback(E=>{if(!M.current||y.current==null||w.current==null)return!0;if(o!=="modal"){const O=y.current.getElementsByClassName(x.CSS.visible(!0));let h=O!=null&&O.length>0;return h||(h=w.current.contains(E.target)),document.getElementsByClassName(ne).length>0&&(h=!0),h||E.stopImmediatePropagation(),h}if(!(E.target instanceof HTMLElement))return!0;let b=E.target;return b.className.includes(G)&&(b=b.children[0]),b!==y.current},[s,M]),le=d.useCallback(({stage:E})=>{if(E!=="start"||M.current===!1||y.current==null)return;if(o!=="modal")return T();const b=y.current,S=Array.from(document.getElementsByClassName(G)),O=S.findIndex(B=>B.contains(b)),h=b.getElementsByClassName(x.CSS.visible(!0));if(O===S.length-1&&h.length===0)return T()},[T,o]);ee({ref:y,exclude:ae,onClickOutside:T}),fe.use({triggers:pe,callback:le,loose:!0});const ue=d.useMemo(()=>({ref:$,targetCorner:R,dialogCorner:q,style:W,modalPosition:Z}),[$,R,q,W,Z]),de=d.useMemo(()=>({close:T,open:H,toggle:Y,visible:g,onPointerEnter:r,variant:o,location:R}),[T,H,Y,g,R]);return v.jsxRuntimeExports.jsx(he,{value:de,children:v.jsxRuntimeExports.jsx(Se,{value:ue,children:v.jsxRuntimeExports.jsx(Q.Box$1,{...C,ref:ce,className:x.CSS(f,x.CSS.BE("dialog","frame"),x.CSS.visible(g),x.CSS.M(o),x.CSS.loc(R.x),x.CSS.loc(R.y),x.CSS.BEM("dialog","dialog",q.x),x.CSS.BEM("dialog","dialog",q.y)),y:!0,reverse:R.y==="top",children:t})})})};re.displayName="Dialog.Frame";exports.Background=Ce;exports.CONTEXT_MENU_CLASS=ne;exports.CONTEXT_SELECTED=me;exports.CONTEXT_TARGET=Te;exports.Frame=re;exports.parseLocationOptions=N;exports.position=oe;exports.useClickOutside=ee;exports.useContext=Re;exports.useInternalContext=Oe;exports.useResize=X;exports.useWindowResize=te;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const m=require("./jsx-runtime-nZSsnGb7.cjs"),t=require("@synnaxlabs/x"),l=require("react"),u=require("./css-CloSmhZB.cjs"),A=require("./Text-
|
|
1
|
+
"use strict";const m=require("./jsx-runtime-nZSsnGb7.cjs"),t=require("@synnaxlabs/x"),l=require("react"),u=require("./css-CloSmhZB.cjs"),A=require("./Text-_KoMj9Wf.cjs"),I=require("./Editable-HUPqTaui.cjs"),V=require("./types-DI2vtOGs.cjs"),ne=require("./Provider-B1JpVCIg.cjs");require("./provider-DQkVj3tA.cjs");const se=require("react-dom"),re=require("./hooks-DmaLjPZJ.cjs"),[le,$]=A.create({defaultValue:{delay:t.TimeSpan.milliseconds(750),startAccelerating:()=>{}},displayName:"Tooltip.Context"}),ce=({delay:e=t.TimeSpan.milliseconds(700),accelerate:o=!0,acceleratedDelay:s=t.TimeSpan.minutes(60),accelerationDelay:r=t.TimeSpan.seconds(0),children:a})=>{const[c,n]=l.useState(!1),d=l.useRef(null),C=l.useCallback(()=>{c||!o||(n(!0),d.current=setTimeout(()=>{n(!1)},new t.TimeSpan(r).milliseconds))},[c,r]),E=l.useMemo(()=>c?s:e,[c,s,e]),S=l.useMemo(()=>({delay:E,startAccelerating:C}),[E,C]);return m.jsxRuntimeExports.jsx(le,{value:S,children:a})},ie=e=>({key:o,...s})=>l.createElement(e,{...s,key:o}),G=e=>typeof e=="function",ue=150,W=["top","bottom"],J=["left","right"],K=[...J,...W],Y=[...K,"center"],ae={[t.location.xyToString(t.location.TOP_RIGHT)]:(e,o)=>t.xy.translate(e,"x",-t.box.width(o)),[t.location.xyToString(t.location.TOP_LEFT)]:(e,o)=>t.xy.translate(e,"x",t.box.width(o)),[t.location.xyToString(t.location.BOTTOM_RIGHT)]:(e,o)=>t.xy.translate(e,"x",-t.box.width(o)),[t.location.xyToString(t.location.BOTTOM_LEFT)]:(e,o)=>t.xy.translate(e,"x",t.box.width(o))},X=(e,o,s)=>{for(const r of s)if(Math.abs(t.box.loc(o,r)-t.box.loc(e,r))>ue)return r;return s[0]},Q=(e,o,s)=>{const r=t.location.location.safeParse(e),a=n=>{let d;return n==="center"?d=K:t.location.isX(n)?d=["center",...W]:d=["center",...J],t.location.construct(X(o,s,d))};if(r.success)return t.location.constructXY(r.data,a(r.data));if(e!=null){const n={...e};return n.x==null&&n.y!=null?n.x=a(t.location.construct(n.y)):n.y==null&&n.x!=null?n.y=a(t.location.construct(n.x)):n.x==null&&n.y==null&&(n.x=X(o,s,Y),n.y=a(t.location.construct(n.x))),t.location.constructXY(n)}const c=X(o,s,Y);return t.location.constructXY(c,a(c))},de=(e,o)=>{let s=e;for(;s!=null;){if(s.id===o)return s;s=s.parentElement}return e},z=({delay:e,children:o,location:s,hide:r=!1})=>{const{startAccelerating:a,delay:c}=$(),n=new t.TimeSpan(e??c),[d,C,E]=I.useCombinedStateAndRef(null),[S,R]=l.useState(""),b=l.useRef(null),N=l.useId(),T=l.useRef(null),L=l.useRef(null),f=l.useCallback(i=>{i==null&&E.current==null||L.current!=null||(i!=null?(C(i),L.current=setTimeout(()=>{R(u.CSS.M("loaded")),L.current=null},1)):(R(""),L.current=setTimeout(()=>{C(null),L.current=null},500)))},[]),y=l.useCallback((i,Z)=>{if(!Z||r)return T.current?.(),f(null);a();const x=t.box.construct(de(i.target,N));t.box.contains(x,t.xy.construct(i))||(T.current?.(),f(null));const h=t.box.construct(document.documentElement),v=Q(s,x,h);let g=t.box.xyLoc(x,v);const D=ae[t.location.xyToString(v)];D!=null&&(g=D(g,x));const M=t.box.construct(document.body);f({location:v,position:t.xy.translate(g,t.xy.scale(t.box.topLeft(M),-1)),triggerDims:t.box.dims(x)}),T.current?.();const j=k=>{const q=t.xy.construct(k);t.box.contains(x,q)||(f(null),document.removeEventListener("mousemove",j),T.current=null,b.current!=null&&clearTimeout(b.current))};document.addEventListener("mousemove",j),T.current=()=>document.removeEventListener("mousemove",j),document.addEventListener("mousedown",()=>{f(null),T.current?.()},{once:!0})},[a,s,r,N,n.milliseconds]);r&&d!=null&&f(null);const B=l.useCallback(i=>{b.current=setTimeout(()=>y(i,!0),n.milliseconds)},[y,n.milliseconds]),_=l.useCallback(i=>{b.current!=null&&clearTimeout(b.current),y(i,!1)},[y]),[P,w]=o,F=document.body;return m.jsxRuntimeExports.jsxs(m.jsxRuntimeExports.Fragment,{children:[d!=null&&se.createPortal(m.jsxRuntimeExports.jsx("div",{className:u.CSS(u.CSS.B("tooltip"),u.CSS.loc(d.location.x),u.CSS.loc(d.location.y),S),style:{[u.CSS.var("pos-x")]:u.CSS.px(d.position.x),[u.CSS.var("pos-y")]:u.CSS.px(d.position.y)},children:G(P)?P(d):ee(P)},N),F),l.cloneElement(w,{onMouseEnter:i=>{B(i),w.props.onMouseEnter?.(i)},onMouseLeave:i=>{_(i),w.props.onMouseLeave?.(i)},onMouseDown:l.useCallback(i=>{_(i),w.props.onMouseDown?.(i)},[y])})]})},ee=e=>typeof e=="string"||typeof e=="number"||!l.isValidElement(e)?m.jsxRuntimeExports.jsx(I.Text,{level:"small",color:11,children:e}):e,te=e=>{const o=({tooltipDelay:s,tooltip:r,tooltipLocation:a,...c})=>{const n=m.jsxRuntimeExports.jsx(e,{...c});return r==null?n:m.jsxRuntimeExports.jsxs(z,{delay:s,location:a,children:[r,n]})};return o.displayName=`Tooltip.Wrap(${e.displayName??e.name})`,o},O="btn",me=(e,o)=>{if(e===!0)return o;if(e!=null&&e!==!1)return e},xe=({size:e,variant:o="outlined",className:s,disabled:r,preventClick:a,level:c,trigger:n,triggerIndicator:d,onClickDelay:C=0,onClick:E,color:S,status:R,style:b,onMouseDown:N,textColor:T,textVariant:L,tabIndex:f,contrast:y,children:B,defaultEl:_="button",el:P,ghost:w,propagateClick:F=!1,href:i,...Z})=>{const x=t.TimeSpan.fromMilliseconds(C),h=r===!0||R==="loading"||R==="disabled";o==="preview"&&(a=!0),(r||a&&f==null)&&(f=-1);const v=p=>{if(F||p.stopPropagation(),!(h||o==="preview"||a===!0)&&x.isZero)return E?.(p)},g=l.useRef(null),D=p=>{f==-1&&p.preventDefault(),N?.(p),!(h||o==="preview"||x.isZero)&&(document.addEventListener("mouseup",()=>g.current!=null&&clearTimeout(g.current)),g.current=setTimeout(()=>{E?.(p),g.current=null},x.milliseconds))};re.use({triggers:n,callback:l.useCallback(({stage:p})=>{p!=="end"||h||o==="preview"||v(new MouseEvent("click"))},[v,h])});let M=b;const j=t.color.colorZ.safeParse(S),k=j.success&&(o==="filled"||o==="outlined");if(k){const p=ne.use();M={...M,[u.CSS.var("btn-color")]:t.color.rgbString(j.data),[u.CSS.var("btn-text-color")]:t.color.rgbCSS(t.color.pickByContrast(j.data,p.colors.text,p.colors.textInverted))}}x.isZero||(M={...M,[u.CSS.var("btn-delay")]:`${x.seconds.toString()}s`}),e==null&&c!=null?e=V.LEVEL_COMPONENT_SIZES[c]:e!=null&&c==null?c=V.COMPONENT_SIZE_LEVELS[e]:_!=="div"&&(e??="medium"),c??="p";const q=R==="loading",H=I.isSquare(B),U=me(d,n);return m.jsxRuntimeExports.jsxs(I.Text,{el:P,defaultEl:_,direction:"x",className:u.CSS(u.CSS.B(O),y!=null&&u.CSS.BM(O,`contrast-${y}`),a===!0&&u.CSS.BM(O,"prevent-click"),o!=="preview"&&u.CSS.disabled(h),u.CSS.BM(O,o),k&&u.CSS.BM(O,"custom-color"),w&&u.CSS.BM(O,"ghost"),s),size:e,tabIndex:f,onClick:v,onMouseDown:D,style:M,color:T,gap:e==="small"||e==="tiny"?"small":void 0,bordered:o!=="text",level:c,variant:L,square:H,overflow:"nowrap",status:R,href:i,...t.record.purgeUndefined(Z),children:[(!q||!H)&&B,q&&m.jsxRuntimeExports.jsx(A.Loading,{}),U!=null&&m.jsxRuntimeExports.jsx(A.Text,{className:u.CSS.B("trigger-indicator"),"aria-label":"trigger-indicator",trigger:U,color:9,gap:"tiny",level:V.downLevel(c)})]})},oe=te(xe),Se=t.TimeSpan.seconds(2).milliseconds,fe=({text:e,onCopy:o,onCopyError:s,copiedDuration:r=Se,tooltip:a="Copy",children:c,...n})=>{const[d,C]=l.useState(!1),E=l.useCallback(()=>{(async()=>{try{const S=typeof e=="function"?e():e;await navigator.clipboard.writeText(S),C(!0),o?.(),setTimeout(()=>C(!1),t.TimeSpan.fromMilliseconds(r).milliseconds)}catch(S){s?.(S instanceof Error?S:new Error(String(S)))}})()},[e,o,s,r]);return m.jsxRuntimeExports.jsxs(oe,{tooltip:d?"Copied!":a,onClick:E,...n,children:[d?m.jsxRuntimeExports.jsx(A.Check,{}):m.jsxRuntimeExports.jsx(A.Copy,{})," ",c]})};exports.Button=oe;exports.Config=ce;exports.Copy=fe;exports.Dialog=z;exports.chooseLocation=Q;exports.formatTip=ee;exports.isRenderProp=G;exports.renderProp=ie;exports.useConfig=$;exports.wrap=te;
|
|
@@ -2,13 +2,13 @@ import { j as m } from "./jsx-runtime-tc70JA_2.js";
|
|
|
2
2
|
import { TimeSpan as g, location as a, xy as M, box as d, color as V, record as te } from "@synnaxlabs/x";
|
|
3
3
|
import { useState as Y, useRef as I, useCallback as v, useMemo as W, createElement as ne, useId as oe, cloneElement as se, isValidElement as re } from "react";
|
|
4
4
|
import { C as c } from "./css-D90kZTM8.js";
|
|
5
|
-
import { c as le, L as ce, T as ie, F as ue, G as ae } from "./Text-
|
|
6
|
-
import {
|
|
5
|
+
import { c as le, L as ce, T as ie, F as ue, G as ae } from "./Text-BIGgPTpY.js";
|
|
6
|
+
import { f as de, T as K, i as me } from "./Editable-C17ILP50.js";
|
|
7
7
|
import { a as fe, C as pe, d as Te } from "./types-CGRCBVD4.js";
|
|
8
|
-
import { a as xe } from "./Provider-
|
|
8
|
+
import { a as xe } from "./Provider-CfgP1iWx.js";
|
|
9
9
|
import "./provider-Bt-E2O6g.js";
|
|
10
10
|
import { createPortal as Ee } from "react-dom";
|
|
11
|
-
import { u as ye } from "./hooks-
|
|
11
|
+
import { u as ye } from "./hooks-DPk_YYCv.js";
|
|
12
12
|
const [ge, Se] = le({
|
|
13
13
|
defaultValue: { delay: g.milliseconds(750), startAccelerating: () => {
|
|
14
14
|
} },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const u=require("./jsx-runtime-nZSsnGb7.cjs"),n=require("./Animated-
|
|
1
|
+
"use strict";const u=require("./jsx-runtime-nZSsnGb7.cjs"),n=require("./Animated-C4AcIYpH.cjs"),j=require("react-dom");require("@synnaxlabs/x");const e=require("./css-CloSmhZB.cjs"),q=require("./Box-CNUz5BsV.cjs"),b=(i="root")=>document.getElementById(i)??document.body,f=({style:i,background:d=0,className:g,bordered:S=!0,rounded:m=1,passthrough:l=!1,children:x,...C})=>{const{ref:y,targetCorner:a,dialogCorner:s,style:c,modalPosition:B}=n.useInternalContext("Dialog.Dialog"),{visible:r,variant:t}=n.useContext();if(!r&&!l)return null;const E=r&&(Object.keys(c).length>0||t==="modal");let o=u.jsxRuntimeExports.jsx(q.Box$1,{pack:!0,ref:y,y:!0,background:d,className:e.CSS(e.CSS.BE("dialog","dialog"),e.CSS.loc(a.x),e.CSS.loc(a.y),e.CSS.BEM("dialog","dialog",s.x),e.CSS.BEM("dialog","dialog",s.y),e.CSS.visible(E),l&&e.CSS.BM("dialog","passthrough"),e.CSS.M(t),t==="modal"&&e.CSS.BM("dialog","modal","position",B.toString()),g),rounded:m,role:"dialog",empty:!0,bordered:S,align:"stretch",style:{...c,...i},...C,children:x});return t==="modal"&&(o=u.jsxRuntimeExports.jsx(n.Background,{empty:!0,align:"center",visible:r,children:o})),l?o:j.createPortal(o,b())};exports.Dialog=f;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as m } from "./jsx-runtime-tc70JA_2.js";
|
|
2
|
-
import { b, u as C, B as E } from "./Animated-
|
|
2
|
+
import { b, u as C, B as E } from "./Animated-BU-7FzeV.js";
|
|
3
3
|
import { createPortal as j } from "react-dom";
|
|
4
4
|
import "@synnaxlabs/x";
|
|
5
5
|
import { C as o } from "./css-D90kZTM8.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const P=require("./jsx-runtime-nZSsnGb7.cjs"),x=require("@synnaxlabs/x"),t=require("react"),f=require("zod"),j=require("./Text-
|
|
1
|
+
"use strict";const P=require("./jsx-runtime-nZSsnGb7.cjs"),x=require("@synnaxlabs/x"),t=require("react"),f=require("zod"),j=require("./Text-_KoMj9Wf.cjs"),T=f.z.object({key:f.z.string().or(f.z.number()),type:f.z.string(),elementID:f.z.string().optional(),data:x.record.unknownZ.optional()}),h=f.z.object({source:T,items:f.z.array(T)}),O={key:"",type:""},g={source:O,items:[]},_="file",q={key:"file",type:_},M=new Set(["all","copyLink"]),H=(e,r)=>M.has(e.dataTransfer.effectAllowed)&&r.items.length===0,[Z,y]=j.create({defaultValue:null,displayName:"Haul.Context"}),b={...g,onSuccessfulDrop:()=>{}},C=t.memo(({children:e,useState:r=t.useState,onDropOutside:s})=>{const c=y(),[i,n]=r(g),u=t.useRef(b),l=t.useRef(new Set),d=t.useCallback((o,a,k)=>{u.current={source:o,items:a,onSuccessfulDrop:k},n({source:o,items:a})},[n,s]),p=t.useCallback(({target:o,dropped:a})=>{const k=u.current.items;u.current.onSuccessfulDrop?.({target:o,dropped:a,hauled:k}),u.current=b,n(g)},[n]),D=t.useCallback(o=>{let a=null;l.current.forEach(k=>{a==null&&(a=k(u.current,o))}),a!=null&&p(a),u.current=b,n(g)},[n]),m=t.useCallback(o=>(l.current.add(o),()=>l.current.delete(o)),[]),E=t.useMemo(()=>c??{state:i,start:d,end:D,drop:p,bind:m},[i,d,D,p,c]);return P.jsxRuntimeExports.jsx(Z,{value:E,children:e})});C.displayName="HaulProvider";const F=()=>{const e=t.useRef(g),r=y();return r==null||(e.current=r.state),e},I=()=>{const e=y();return e==null?g:e.state},z=({type:e,key:r})=>{const s=r??t.useId(),c=t.useMemo(()=>({key:s,type:e}),[s,e]),i=y();if(i==null)return{startDrag:()=>{},onDragEnd:()=>{}};const{start:n,end:u}=i;return{startDrag:t.useCallback((l,d)=>n(c,l,d),[n,c]),onDragEnd:l=>u(x.xy.construct({x:l.screenX,y:l.screenY}))}},R=({type:e,key:r,canDrop:s,onDrop:c,onDragOver:i})=>{const n=F(),u=y();if(u==null)return{onDragOver:()=>{},onDrop:()=>{}};const{drop:l}=u,d=r??t.useId(),p=t.useMemo(()=>({key:d,type:e}),[d,e]),D=t.useRef({x:-1,y:-1}),m=t.useCallback(o=>{o.preventDefault();const a=x.xy.construct({x:o.screenX,y:o.screenY});x.xy.equals(a,D.current)||(D.current=a,s(n.current)&&i?.({event:o,...n.current}))},[n,s]),E=t.useCallback(o=>{s(n.current)&&(o.preventDefault(),l({target:p,dropped:c({...n.current,event:o})}))},[n,c,s,l,p]);return{onDragOver:m,onDrop:E}},A=({type:e,key:r,...s})=>{const c=r??t.useId(),i=t.useMemo(()=>({key:c,type:e}),[c,e]),n=z(i),u=R({...s,...i});return{...n,...u}},v=e=>({items:r})=>r.some(s=>s.type===e),S=(e,r)=>r.filter(s=>s.type===e),L=(e,r,s)=>t.useCallback(c=>r({...c,items:S(e,c.items)}),s),w=Object.freeze(Object.defineProperty({__proto__:null,FILE:q,FILE_TYPE:_,Provider:C,ZERO_DRAGGING_STATE:g,ZERO_ITEM:O,canDropOfType:v,draggingStateZ:h,filterByType:S,isFileDrag:H,itemZ:T,useContext:y,useDrag:z,useDragAndDrop:A,useDraggingRef:F,useDraggingState:I,useDrop:R,useFilterByTypeCallback:L},Symbol.toStringTag,{value:"Module"}));exports.FILE_TYPE=_;exports.Haul=w;exports.Provider=C;exports.canDropOfType=v;exports.filterByType=S;exports.useDragAndDrop=A;exports.useDraggingState=I;exports.useDrop=R;exports.useFilterByTypeCallback=L;
|
|
@@ -2,7 +2,7 @@ import { j as L } from "./jsx-runtime-tc70JA_2.js";
|
|
|
2
2
|
import { record as P, xy as T } from "@synnaxlabs/x";
|
|
3
3
|
import h, { memo as H, useRef as x, useCallback as i, useMemo as _, useId as O } from "react";
|
|
4
4
|
import { z as d } from "zod";
|
|
5
|
-
import { c as Z } from "./Text-
|
|
5
|
+
import { c as Z } from "./Text-BIGgPTpY.js";
|
|
6
6
|
const b = d.object({
|
|
7
7
|
key: d.string().or(d.number()),
|
|
8
8
|
type: d.string(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const E=require("./jsx-runtime-nZSsnGb7.cjs"),P=require("./Copy-
|
|
1
|
+
"use strict";const E=require("./jsx-runtime-nZSsnGb7.cjs"),P=require("./Copy-6Mur4EW2.cjs"),U=require("@synnaxlabs/x"),b=require("./css-CloSmhZB.cjs"),D=require("./Animated-C4AcIYpH.cjs"),d=require("react"),_=require("./Box-CNUz5BsV.cjs"),$=require("react-dom"),N=require("./Text-_KoMj9Wf.cjs"),R=require("./Editable-HUPqTaui.cjs");require("./types-DI2vtOGs.cjs");require("./Provider-B1JpVCIg.cjs");function H(n){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const s=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(l,e,s.get?s:{enumerable:!0,get:()=>n[e]})}}return l.default=n,Object.freeze(l)}const y=H(d);function M(n,l,e){let s=e.initialDeps??[],t;function i(){var o,r,c,u;let a;e.key&&((o=e.debug)!=null&&o.call(e))&&(a=Date.now());const h=n();if(!(h.length!==s.length||h.some((m,g)=>s[g]!==m)))return t;s=h;let p;if(e.key&&((r=e.debug)!=null&&r.call(e))&&(p=Date.now()),t=l(...h),e.key&&((c=e.debug)!=null&&c.call(e))){const m=Math.round((Date.now()-a)*100)/100,g=Math.round((Date.now()-p)*100)/100,v=g/16,S=(x,C)=>{for(x=String(x);x.length<C;)x=" "+x;return x};console.info(`%c⏱ ${S(g,5)} /${S(m,5)} ms`,`
|
|
2
2
|
font-size: .6rem;
|
|
3
3
|
font-weight: bold;
|
|
4
4
|
color: hsl(${Math.max(0,Math.min(120-120*v,120))}deg 100% 31%);`,e?.key)}return(u=e?.onChange)==null||u.call(e,t),t}return i.updateDeps=o=>{s=o},i}function T(n,l){if(n===void 0)throw new Error("Unexpected undefined");return n}const K=(n,l)=>Math.abs(n-l)<1,G=(n,l,e)=>{let s;return function(...t){n.clearTimeout(s),s=n.setTimeout(()=>l.apply(this,t),e)}},X=n=>n,Y=n=>{const l=Math.max(n.startIndex-n.overscan,0),e=Math.min(n.endIndex+n.overscan,n.count-1),s=[];for(let t=l;t<=e;t++)s.push(t);return s},J=(n,l)=>{const e=n.scrollElement;if(!e)return;const s=n.targetWindow;if(!s)return;const t=o=>{const{width:r,height:c}=o;l({width:Math.round(r),height:Math.round(c)})};if(t(e.getBoundingClientRect()),!s.ResizeObserver)return()=>{};const i=new s.ResizeObserver(o=>{const r=()=>{const c=o[0];if(c?.borderBoxSize){const u=c.borderBoxSize[0];if(u){t({width:u.inlineSize,height:u.blockSize});return}}t(e.getBoundingClientRect())};n.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return i.observe(e,{box:"border-box"}),()=>{i.unobserve(e)}},j={passive:!0},F=typeof window>"u"?!0:"onscrollend"in window,Q=(n,l)=>{const e=n.scrollElement;if(!e)return;const s=n.targetWindow;if(!s)return;let t=0;const i=n.options.useScrollendEvent&&F?()=>{}:G(s,()=>{l(t,!1)},n.options.isScrollingResetDelay),o=a=>()=>{const{horizontal:h,isRtl:f}=n.options;t=h?e.scrollLeft*(f&&-1||1):e.scrollTop,i(),l(t,a)},r=o(!0),c=o(!1);c(),e.addEventListener("scroll",r,j);const u=n.options.useScrollendEvent&&F;return u&&e.addEventListener("scrollend",c,j),()=>{e.removeEventListener("scroll",r),u&&e.removeEventListener("scrollend",c)}},Z=(n,l,e)=>{if(l?.borderBoxSize){const s=l.borderBoxSize[0];if(s)return Math.round(s[e.options.horizontal?"inlineSize":"blockSize"])}return Math.round(n.getBoundingClientRect()[e.options.horizontal?"width":"height"])},ee=(n,{adjustments:l=0,behavior:e},s)=>{var t,i;const o=n+l;(i=(t=s.scrollElement)==null?void 0:t.scrollTo)==null||i.call(t,{[s.options.horizontal?"left":"top"]:o,behavior:e})};class te{constructor(l){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null;const s=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(t=>{t.forEach(i=>{const o=()=>{this._measureElement(i.target,i)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})}));return{disconnect:()=>{var t;(t=s())==null||t.disconnect(),e=null},observe:t=>{var i;return(i=s())==null?void 0:i.observe(t,{box:"border-box"})},unobserve:t=>{var i;return(i=s())==null?void 0:i.unobserve(t)}}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([s,t])=>{typeof t>"u"&&delete e[s]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:X,rangeExtractor:Y,onChange:()=>{},measureElement:Z,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var s,t;(t=(s=this.options).onChange)==null||t.call(s,this,e)},this.maybeNotify=M(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!=="production"&&"maybeNotify",debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var e;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((e=this.scrollElement)==null?void 0:e.window)??null,this.elementsCache.forEach(t=>{this.observer.observe(t)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,t=>{this.scrollRect=t,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(t,i)=>{this.scrollAdjustments=0,this.scrollDirection=i?this.getScrollOffset()<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=i,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,s)=>{const t=new Map,i=new Map;for(let o=s-1;o>=0;o--){const r=e[o];if(t.has(r.lane))continue;const c=i.get(r.lane);if(c==null||r.end>c.end?i.set(r.lane,r):r.end<c.end&&t.set(r.lane,!0),t.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((o,r)=>o.end===r.end?o.index-r.index:o.end-r.end)[0]:void 0},this.getMeasurementOptions=M(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,s,t,i,o)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:s,scrollMargin:t,getItemKey:i,enabled:o}),{key:!1}),this.getMeasurements=M(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:s,scrollMargin:t,getItemKey:i,enabled:o},r)=>{if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(a=>{this.itemSizeCache.set(a.key,a.size)}));const c=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const u=this.measurementsCache.slice(0,c);for(let a=c;a<e;a++){const h=i(a),f=this.options.lanes===1?u[a-1]:this.getFurthestMeasurement(u,a),p=f?f.end+this.options.gap:s+t,m=r.get(h),g=typeof m=="number"?m:this.options.estimateSize(a),v=p+g,S=f?f.lane:a%this.options.lanes;u[a]={index:a,start:p,size:g,end:v,key:h,lane:S}}return this.measurementsCache=u,u},{key:process.env.NODE_ENV!=="production"&&"getMeasurements",debug:()=>this.options.debug}),this.calculateRange=M(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,s,t,i)=>this.range=e.length>0&&s>0?se({measurements:e,outerSize:s,scrollOffset:t,lanes:i}):null,{key:process.env.NODE_ENV!=="production"&&"calculateRange",debug:()=>this.options.debug}),this.getVirtualIndexes=M(()=>{let e=null,s=null;const t=this.calculateRange();return t&&(e=t.startIndex,s=t.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,s]},(e,s,t,i,o)=>i===null||o===null?[]:e({startIndex:i,endIndex:o,overscan:s,count:t}),{key:process.env.NODE_ENV!=="production"&&"getVirtualIndexes",debug:()=>this.options.debug}),this.indexFromElement=e=>{const s=this.options.indexAttribute,t=e.getAttribute(s);return t?parseInt(t,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this._measureElement=(e,s)=>{const t=this.indexFromElement(e),i=this.measurementsCache[t];if(!i)return;const o=i.key,r=this.elementsCache.get(o);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(o,e)),e.isConnected&&this.resizeItem(t,this.options.measureElement(e,s,this))},this.resizeItem=(e,s)=>{const t=this.measurementsCache[e];if(!t)return;const i=this.itemSizeCache.get(t.key)??t.size,o=s-i;o!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(t,o,this):t.start<this.getScrollOffset()+this.scrollAdjustments)&&(process.env.NODE_ENV!=="production"&&this.options.debug&&console.info("correction",o),this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:void 0})),this.pendingMeasuredCacheIndexes.push(t.index),this.itemSizeCache=new Map(this.itemSizeCache.set(t.key,s)),this.notify(!1))},this.measureElement=e=>{if(!e){this.elementsCache.forEach((s,t)=>{s.isConnected||(this.observer.unobserve(s),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=M(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,s)=>{const t=[];for(let i=0,o=e.length;i<o;i++){const r=e[i],c=s[r];t.push(c)}return t},{key:process.env.NODE_ENV!=="production"&&"getVirtualItems",debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{const s=this.getMeasurements();if(s.length!==0)return T(s[A(0,s.length-1,t=>T(s[t]).start,e)])},this.getOffsetForAlignment=(e,s,t=0)=>{const i=this.getSize(),o=this.getScrollOffset();s==="auto"&&(s=e>=o+i?"end":"start"),s==="center"?e+=(t-i)/2:s==="end"&&(e-=i);const r=this.options.horizontal?"scrollWidth":"scrollHeight",u=(this.scrollElement?"document"in this.scrollElement?this.scrollElement.document.documentElement[r]:this.scrollElement[r]:0)-i;return Math.max(Math.min(u,e),0)},this.getOffsetForIndex=(e,s="auto")=>{e=Math.max(0,Math.min(e,this.options.count-1));const t=this.measurementsCache[e];if(!t)return;const i=this.getSize(),o=this.getScrollOffset();if(s==="auto")if(t.end>=o+i-this.options.scrollPaddingEnd)s="end";else if(t.start<=o+this.options.scrollPaddingStart)s="start";else return[o,s];const r=s==="end"?t.end+this.options.scrollPaddingEnd:t.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(r,s,t.size),s]},this.isDynamicMode=()=>this.elementsCache.size>0,this.cancelScrollToIndex=()=>{this.scrollToIndexTimeoutId!==null&&this.targetWindow&&(this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId),this.scrollToIndexTimeoutId=null)},this.scrollToOffset=(e,{align:s="start",behavior:t}={})=>{this.cancelScrollToIndex(),t==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,s),{adjustments:void 0,behavior:t})},this.scrollToIndex=(e,{align:s="auto",behavior:t}={})=>{e=Math.max(0,Math.min(e,this.options.count-1)),this.cancelScrollToIndex(),t==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");const i=this.getOffsetForIndex(e,s);if(!i)return;const[o,r]=i;this._scrollToOffset(o,{adjustments:void 0,behavior:t}),t!=="smooth"&&this.isDynamicMode()&&this.targetWindow&&(this.scrollToIndexTimeoutId=this.targetWindow.setTimeout(()=>{if(this.scrollToIndexTimeoutId=null,this.elementsCache.has(this.options.getItemKey(e))){const[u]=T(this.getOffsetForIndex(e,r));K(u,this.getScrollOffset())||this.scrollToIndex(e,{align:r,behavior:t})}else this.scrollToIndex(e,{align:r,behavior:t})}))},this.scrollBy=(e,{behavior:s}={})=>{this.cancelScrollToIndex(),s==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:s})},this.getTotalSize=()=>{var e;const s=this.getMeasurements();let t;if(s.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=((e=s[s.length-1])==null?void 0:e.end)??0;else{const i=Array(this.options.lanes).fill(null);let o=s.length-1;for(;o>=0&&i.some(r=>r===null);){const r=s[o];i[r.lane]===null&&(i[r.lane]=r.end),o--}t=Math.max(...i.filter(r=>r!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:s,behavior:t})=>{this.options.scrollToFn(e,{behavior:t,adjustments:s},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(l)}}const A=(n,l,e,s)=>{for(;n<=l;){const t=(n+l)/2|0,i=e(t);if(i<s)n=t+1;else if(i>s)l=t-1;else return t}return n>0?n-1:0};function se({measurements:n,outerSize:l,scrollOffset:e,lanes:s}){const t=n.length-1,i=c=>n[c].start;if(n.length<=s)return{startIndex:0,endIndex:t};let o=A(0,t,i,e),r=o;if(s===1)for(;r<t&&n[r].end<e+l;)r++;else if(s>1){const c=Array(s).fill(0);for(;r<t&&c.some(a=>a<e+l);){const a=n[r];c[a.lane]=a.end,r++}const u=Array(s).fill(e+l);for(;o>=0&&u.some(a=>a>=e);){const a=n[o];u[a.lane]=a.start,o--}o=Math.max(0,o-o%s),r=Math.min(t,r+(s-1-r%s))}return{startIndex:o,endIndex:r}}const k=typeof document<"u"?y.useLayoutEffect:y.useEffect;function ne(n){const l=y.useReducer(()=>({}),{})[1],e={...n,onChange:(t,i)=>{var o;i?$.flushSync(l):l(),(o=n.onChange)==null||o.call(n,t,i)}},[s]=y.useState(()=>new te(e));return s.setOptions(e),k(()=>s._didMount(),[]),k(()=>s._willUpdate()),s}function ie(n){return ne({observeElementRect:J,observeElementOffset:Q,scrollToFn:ee,...n})}const oe=(n,l)=>(e=>Array.isArray(e)?l(e):n(e)),[V,re]=N.create({displayName:"List.DataContext",providerName:"List.Frame"}),[L,z]=N.create({displayName:"List.UtilContext",providerName:"List.Frame"}),le=()=>z("List.useUtilContext"),ce=()=>{const{scrollToIndex:n}=z("List.useScroller");return d.useMemo(()=>({scrollToIndex:n}),[n])},ae=n=>{const{getItem:l,subscribe:e}=z("List.useItem");return d.useSyncExternalStore(d.useCallback(s=>e==null?()=>{}:e(s,n),[n,e]),d.useCallback(()=>l?.(n),[l,n]),()=>{})},B=()=>{const{data:n,getItems:l,getTotalSize:e,itemHeight:s,sentinelRef:t}=re("List.useData"),{ref:i,getItem:o,scrollToIndex:r,subscribe:c}=z("List.useData");return d.useMemo(()=>({data:n,getItems:l,getTotalSize:e,ref:i,getItem:o,scrollToIndex:r,subscribe:c,itemHeight:s,sentinelRef:t}),[n,l,e,i,o,r,c,s,t])},W=(n,l,e)=>{const s=R.useSyncedRef(e),{visible:t}=D.useContext(),i=d.useRef(!1);return d.useCallback(o=>{n.current=o,!(n.current==null||i.current)&&(i.current=!0,s.current?.())},[s,t,l])},ue=100,he=(n,l)=>{const e=R.useSyncedRef(n),s=d.useRef(!1),t=d.useRef(null),i=d.useRef(null),o=d.useRef(null),r=R.usePrevious(l);r!==void 0&&l!==r&&(s.current=!1);const c=d.useCallback(()=>{t.current?.disconnect(),t.current=null;const h=i.current,f=o.current;h==null||f==null||(t.current=new IntersectionObserver(p=>{p[0].isIntersecting&&!s.current&&(s.current=!0,e.current?.())},{root:h,rootMargin:`0px 0px ${ue}px 0px`,threshold:0}),t.current.observe(f))},[e]),u=d.useCallback(h=>{i.current=h,c()},[c]),a=d.useCallback(h=>{o.current=h,c()},[c]);return{containerRef:u,sentinelRef:a}},de=({data:n,getItem:l,subscribe:e,children:s,onFetchMore:t,overscan:i=10,itemHeight:o=36})=>{const r=d.useRef(null),c=n.length>0,u=W(r,c,t),a=ie({count:n.length,getScrollElement:()=>r.current,estimateSize:()=>o,overscan:i,onChange:d.useCallback(m=>{const g=m.getVirtualItems();g.length>0&&g[g.length-1].index===n.length-1&&t?.()},[n.length,t])}),h=a.getVirtualItems(),f=d.useMemo(()=>({ref:u,getItem:l,data:n,subscribe:e,getTotalSize:()=>a.getTotalSize(),getItems:()=>h.map(({index:m,start:g})=>({key:n[m],index:m,translate:g})),itemHeight:o}),[u,a,n,l,o,h]),p=d.useMemo(()=>({ref:u,getItem:l,scrollToIndex:m=>a.scrollToIndex(m),subscribe:e}),[u,a,l,e]);return E.jsxRuntimeExports.jsx(V,{value:f,children:E.jsxRuntimeExports.jsx(L,{value:p,children:s})})},fe=({data:n,getItem:l,subscribe:e,children:s,onFetchMore:t,itemHeight:i})=>{const o=d.useRef(null),r=n.length>0,c=d.useCallback((v,S)=>{const x=o.current?.children[0];if(x==null)return;const C=S==="top"?1:-1;let I;const w=v+C;U.bounds.contains({lower:0,upper:x.children.length},w)?I=v+C:I=v;const O=x.children[I];O?.scrollIntoView({block:"nearest",inline:"nearest",behavior:"smooth"})},[]),u=W(o,r,t),{containerRef:a,sentinelRef:h}=he(t,n.length),f=R.useCombinedRefs(u,a),p=d.useMemo(()=>n.map((v,S)=>({key:v,index:S})),[n]),m=d.useMemo(()=>({ref:f,getItem:l,data:n,subscribe:e,getTotalSize:()=>{},getItems:()=>p,itemHeight:i,sentinelRef:h}),[f,n,l,e,i,h,p]),g=d.useMemo(()=>({ref:f,getItem:l,scrollToIndex:c,subscribe:e}),[f,l,e,c]);return E.jsxRuntimeExports.jsx(V,{value:m,children:E.jsxRuntimeExports.jsx(L,{value:g,children:s})})},q=({virtual:n=!1,...l})=>n?E.jsxRuntimeExports.jsx(de,{...l}):E.jsxRuntimeExports.jsx(fe,{...l}),me=d.memo(q),ge=({itemKey:n,className:l,index:e,el:s,draggingOver:t=!1,rightAligned:i=!1,highlightHovered:o=!1,selected:r=!1,translate:c,onSelect:u,onClick:a,hovered:h,style:f,...p})=>E.jsxRuntimeExports.jsx(P.Button,{el:s,defaultEl:"div",id:n.toString(),variant:"text",onClick:m=>{u?.(n),a?.(m)},className:b.CSS(l,D.CONTEXT_TARGET,r&&D.CONTEXT_SELECTED,h&&b.CSS.M("hovered"),i&&b.CSS.M("right-aligned"),o&&b.CSS.M("highlight-hover"),t&&b.CSS.M("dragging-over"),b.CSS.BE("list","item"),b.CSS.selected(r)),style:{position:c!=null?"absolute":"relative",transform:`translateY(${c}px)`,...f},square:!1,...p}),pe=({className:n,children:l,emptyContent:e,displayItems:s,style:t,direction:i,x:o,y:r,...c})=>{const{ref:u,getItems:a,getTotalSize:h,data:f,itemHeight:p,sentinelRef:m}=B(),g=a();let v=e;const S=f.length>0;S&&(v=E.jsxRuntimeExports.jsxs("div",{className:b.CSS.BE("list","virtualizer"),style:{minHeight:h()},children:[g.map(({key:I,index:w,translate:O})=>l({key:I,index:w,itemKey:I,translate:O})),m!=null&&E.jsxRuntimeExports.jsx("div",{ref:m,className:b.CSS.BE("list","sentinel"),"aria-hidden":"true"})]}));let x;p!=null&&s!=null&&isFinite(s)&&S&&(x=Math.min(s,g.length)*p+1);const C=_.parseDirection(i,o,r);return E.jsxRuntimeExports.jsx(_.Box$1,{gap:0,ref:u,className:b.CSS(n,b.CSS.BE("list","items"),!S&&b.CSS.BEM("list","items","empty")),style:{height:x,...t},full:C,direction:C,...c,children:v})},xe=d.memo(pe);exports.BaseFrame=q;exports.Frame=me;exports.Item=ge;exports.Items=xe;exports.createGetItem=oe;exports.useData=B;exports.useItem=ae;exports.useScroller=ce;exports.useUtilContext=le;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { j as E } from "./jsx-runtime-tc70JA_2.js";
|
|
2
|
-
import { B as P } from "./Copy-
|
|
2
|
+
import { B as P } from "./Copy-eucLPEWo.js";
|
|
3
3
|
import { bounds as U } from "@synnaxlabs/x";
|
|
4
4
|
import { C as b } from "./css-D90kZTM8.js";
|
|
5
|
-
import { u as $, d as H, c as q } from "./Animated-
|
|
5
|
+
import { u as $, d as H, c as q } from "./Animated-BU-7FzeV.js";
|
|
6
6
|
import * as w from "react";
|
|
7
7
|
import { memo as A, useRef as C, useCallback as S, useMemo as M, useSyncExternalStore as K } from "react";
|
|
8
8
|
import { p as X, a as G } from "./Box-Bi280MYh.js";
|
|
9
9
|
import { flushSync as Y } from "react-dom";
|
|
10
|
-
import { c as V } from "./Text-
|
|
11
|
-
import {
|
|
10
|
+
import { c as V } from "./Text-BIGgPTpY.js";
|
|
11
|
+
import { b as J, d as j, g as Q } from "./Editable-C17ILP50.js";
|
|
12
12
|
import "./types-CGRCBVD4.js";
|
|
13
|
-
import "./Provider-
|
|
13
|
+
import "./Provider-CfgP1iWx.js";
|
|
14
14
|
function O(n, l, e) {
|
|
15
15
|
let s = e.initialDeps ?? [], t;
|
|
16
16
|
function i() {
|