@synnaxlabs/pluto 0.50.1 → 0.52.4
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-C4xrEVd-.js → Animated-6qL1fRZx.js} +61 -60
- package/dist/Animated-Bn4jMc7c.js +29 -0
- package/dist/Animated-vGAs0qOH.cjs +1 -0
- package/dist/Animated-xK__WUQp.cjs +1 -0
- package/dist/{Box-DLO7l9hM.js → Box-Bi280MYh.js} +28 -27
- package/dist/Box-CNUz5BsV.cjs +1 -0
- package/dist/Copy-CzkBKGca.js +337 -0
- package/dist/Copy-DuC8dTK7.cjs +1 -0
- package/dist/Dialog-DNrgykEv.cjs +1 -0
- package/dist/{Dialog-BspO7uo8.js → Dialog-Dos5l3K2.js} +13 -12
- package/dist/{Editable-DjQORuR1.js → Editable-4ZwvICC4.js} +46 -45
- package/dist/Editable-HUPqTaui.cjs +1 -0
- package/dist/{Haul-DBy-2ds_.js → Haul-CxbMtSY4.js} +18 -18
- package/dist/Haul-V5NQI3MY.cjs +1 -0
- package/dist/{Items-CX11yLMf.js → Items-CNPUoiob.js} +22 -21
- package/dist/Items-DYYNNIjr.cjs +4 -0
- package/dist/Menu-C0scum-k.cjs +1 -0
- package/dist/{Menu-GBo3ayoP.js → Menu-CTuOX5DR.js} +42 -41
- package/dist/Provider-DSMJjyuY.cjs +1 -0
- package/dist/{Provider-BkxUzTWS.js → Provider-ZIy-UlnE.js} +95 -93
- package/dist/Tags-6OV0_eBz.cjs +1 -0
- package/dist/{Tags-V7sNuGZv.js → Tags-BUDnOqms.js} +223 -222
- package/dist/{Text-XeD58Fq8.js → Text-BSTMZRuo.js} +717 -675
- package/dist/Text-C2_VsLzw.cjs +1 -0
- package/dist/Video-Bew5_j16.js +10 -0
- package/dist/Video-BryrVNlH.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/css-CloSmhZB.cjs +1 -0
- package/dist/css-D90kZTM8.js +63 -0
- package/dist/css.cjs +1 -1
- package/dist/css.js +2 -2
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/dimensions-CdFEW3oU.cjs +1 -0
- package/dist/{dimensions-qj2CkPTy.js → dimensions-DbMN4145.js} +8 -8
- package/dist/{eraser-DuAfpO0P.js → eraser-BShvqlBE.js} +52 -49
- package/dist/eraser-rFMFKqsg.cjs +11 -0
- package/dist/eslint.config.d.ts +2 -2
- package/dist/eslint.config.d.ts.map +1 -1
- package/dist/ether.cjs +1 -1
- package/dist/ether.js +65 -62
- package/dist/external--liXQuyF.cjs +1 -0
- package/dist/external-B3ipr7m2.cjs +1 -0
- package/dist/{external-Ct1k30Nd.js → external-B7UnU0MW.js} +27 -26
- package/dist/{external-PXU0gc_j.cjs → external-BRxBwBtj.cjs} +44 -44
- package/dist/{external-MvcifV4O.js → external-Ba2qQp_c.js} +3 -3
- package/dist/{external-g_vt4Lku.js → external-Bjd-DyWx.js} +22 -30
- package/dist/{external-B3o5P8Yw.cjs → external-BwbypKCk.cjs} +1 -1
- package/dist/external-C0rrTDhu.cjs +1 -0
- package/dist/{external-Dp5OkGYV.js → external-CG70NZqY.js} +97 -96
- package/dist/external-Ci1Iy9ku.js +32 -0
- package/dist/external-CmYpRWry.cjs +1 -0
- package/dist/{external-B-JsNciM.js → external-CoCI_tg5.js} +9 -8
- package/dist/{external-CLQdSLv0.js → external-Ctnukdzx.js} +10 -9
- package/dist/{external-DXWEyk9d.js → external-CvYxFUrc.js} +17 -17
- package/dist/{external-DNbIzfVy.js → external-Czkrdv2A.js} +55 -54
- package/dist/external-Czv2P05t.cjs +1 -0
- package/dist/{external-DxmgAHkn.js → external-DAotNquC.js} +3 -3
- package/dist/external-DFvPOUIQ.cjs +1 -0
- package/dist/{external-DojNoICL.cjs → external-DWEpl5aM.cjs} +1 -1
- package/dist/{external-xfkS0zGI.js → external-JwicH0Yv.js} +18 -17
- package/dist/external-N5bKB8Zx.cjs +1 -0
- package/dist/external-ZtJmVgiY.cjs +1 -0
- package/dist/external-ieDANY3X.cjs +28 -0
- package/dist/{external-sYHm9OG8.js → external-s6DOSL29.js} +16 -15
- package/dist/flex.cjs +1 -1
- package/dist/flex.js +1 -1
- package/dist/{fontString-CSWLcJcC.js → fontString-76R2eWDd.js} +3 -3
- package/dist/fontString-BNnhiwug.cjs +1 -0
- package/dist/header.cjs +1 -1
- package/dist/header.js +1 -1
- package/dist/hooks-C4ji1BSZ.cjs +1 -0
- package/dist/{hooks-BeSuo_di.js → hooks-CWEfATTF.js} +16 -16
- package/dist/index.cjs +35 -18
- package/dist/index.js +15379 -14087
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/{jsx-runtime-BbD0H88J.js → jsx-runtime-tc70JA_2.js} +2 -2
- 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/provider-Bt-E2O6g.js +810 -0
- package/dist/provider-DQkVj3tA.cjs +10 -0
- package/dist/src/access/policy/queries.d.ts +6 -6
- package/dist/src/button/Copy.d.ts +28 -0
- package/dist/src/button/Copy.d.ts.map +1 -0
- package/dist/src/button/Copy.spec.d.ts +2 -0
- package/dist/src/button/Copy.spec.d.ts.map +1 -0
- package/dist/src/button/external.d.ts +1 -0
- package/dist/src/button/external.d.ts.map +1 -1
- package/dist/src/channel/queries.d.ts +1 -1
- package/dist/src/channel/queries.d.ts.map +1 -1
- package/dist/src/color/Provider.d.ts +11 -1
- package/dist/src/color/Provider.d.ts.map +1 -1
- package/dist/src/device/queries.d.ts +122 -72
- package/dist/src/device/queries.d.ts.map +1 -1
- package/dist/src/errors/Fallback.d.ts.map +1 -1
- package/dist/src/flux/base/store.d.ts +2 -2
- package/dist/src/flux/base/store.d.ts.map +1 -1
- package/dist/src/flux/retrieve.d.ts +1 -1
- package/dist/src/flux/retrieve.d.ts.map +1 -1
- package/dist/src/icon/EtherCAT.d.ts +2 -0
- package/dist/src/icon/EtherCAT.d.ts.map +1 -0
- package/dist/src/icon/registry.d.ts +3 -0
- package/dist/src/icon/registry.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/input/Numeric.d.ts.map +1 -1
- package/dist/src/json/SelectType.d.ts +8 -0
- package/dist/src/json/SelectType.d.ts.map +1 -0
- package/dist/src/json/external.d.ts +3 -0
- package/dist/src/json/external.d.ts.map +1 -0
- package/dist/src/json/index.d.ts +2 -0
- package/dist/src/json/index.d.ts.map +1 -0
- package/dist/src/json/primitive.d.ts +7 -0
- package/dist/src/json/primitive.d.ts.map +1 -0
- package/dist/src/json/primitive.spec.d.ts +2 -0
- package/dist/src/json/primitive.spec.d.ts.map +1 -0
- package/dist/src/label/queries.d.ts +30 -2
- package/dist/src/label/queries.d.ts.map +1 -1
- package/dist/src/lineplot/aether/XAxis.d.ts +40 -0
- package/dist/src/lineplot/aether/XAxis.d.ts.map +1 -1
- package/dist/src/lineplot/aether/YAxis.d.ts +40 -0
- package/dist/src/lineplot/aether/YAxis.d.ts.map +1 -1
- package/dist/src/lineplot/aether/axis.d.ts +20 -0
- package/dist/src/lineplot/aether/axis.d.ts.map +1 -1
- package/dist/src/lineplot/range/aether/provider.d.ts +90 -6
- package/dist/src/lineplot/range/aether/provider.d.ts.map +1 -1
- package/dist/src/lineplot/tooltip/aether/tooltip.d.ts +80 -0
- package/dist/src/lineplot/tooltip/aether/tooltip.d.ts.map +1 -1
- package/dist/src/log/aether/Log.d.ts +30 -0
- package/dist/src/log/aether/Log.d.ts.map +1 -1
- package/dist/src/pluto/aether/pluto.d.ts.map +1 -1
- package/dist/src/ranger/queries.d.ts +33 -5
- package/dist/src/ranger/queries.d.ts.map +1 -1
- package/dist/src/schematic/symbol/Forms.d.ts +2 -0
- package/dist/src/schematic/symbol/Forms.d.ts.map +1 -1
- package/dist/src/schematic/symbol/Primitives.d.ts +23 -0
- package/dist/src/schematic/symbol/Primitives.d.ts.map +1 -1
- package/dist/src/schematic/symbol/Symbols.d.ts +14 -0
- package/dist/src/schematic/symbol/Symbols.d.ts.map +1 -1
- package/dist/src/schematic/symbol/queries.d.ts +6 -6
- package/dist/src/schematic/symbol/registry.d.ts +2 -0
- package/dist/src/schematic/symbol/registry.d.ts.map +1 -1
- package/dist/src/status/aether/errorHandler.d.ts.map +1 -1
- package/dist/src/status/queries.d.ts +3 -2
- package/dist/src/status/queries.d.ts.map +1 -1
- package/dist/src/table/cells/Cells.d.ts +20 -0
- package/dist/src/table/cells/Cells.d.ts.map +1 -1
- package/dist/src/telem/aether/static.d.ts +10 -0
- package/dist/src/telem/aether/static.d.ts.map +1 -1
- package/dist/src/telem/aether/transformers.d.ts +15 -0
- package/dist/src/telem/aether/transformers.d.ts.map +1 -1
- package/dist/src/telem/control/Controller.d.ts +1 -0
- package/dist/src/telem/control/Controller.d.ts.map +1 -1
- package/dist/src/telem/control/Legend.d.ts +4 -2
- package/dist/src/telem/control/Legend.d.ts.map +1 -1
- package/dist/src/telem/control/aether/controller.d.ts +10 -0
- package/dist/src/telem/control/aether/controller.d.ts.map +1 -1
- package/dist/src/telem/control/aether/indicator.d.ts +50 -0
- package/dist/src/telem/control/aether/indicator.d.ts.map +1 -1
- package/dist/src/telem/control/aether/legend.d.ts +22 -0
- package/dist/src/telem/control/aether/legend.d.ts.map +1 -1
- package/dist/src/telem/control/aether/state.d.ts +13 -0
- package/dist/src/telem/control/aether/state.d.ts.map +1 -1
- package/dist/src/theming/aether/provider.d.ts +1413 -3
- package/dist/src/theming/aether/provider.d.ts.map +1 -1
- package/dist/src/theming/base/theme.d.ts +941 -1
- package/dist/src/theming/base/theme.d.ts.map +1 -1
- package/dist/src/user/queries.d.ts +1 -1
- package/dist/src/vis/axis/axis.d.ts +20 -0
- package/dist/src/vis/axis/axis.d.ts.map +1 -1
- package/dist/src/vis/gauge/aether/gauge.d.ts +30 -0
- package/dist/src/vis/gauge/aether/gauge.d.ts.map +1 -1
- package/dist/src/vis/gauge/use.d.ts +10 -0
- package/dist/src/vis/gauge/use.d.ts.map +1 -1
- package/dist/src/vis/line/aether/line.d.ts +10 -0
- package/dist/src/vis/line/aether/line.d.ts.map +1 -1
- package/dist/src/vis/measure/aether/measure.d.ts +80 -0
- package/dist/src/vis/measure/aether/measure.d.ts.map +1 -1
- package/dist/src/vis/rule/aether/aether.d.ts +20 -0
- package/dist/src/vis/rule/aether/aether.d.ts.map +1 -1
- package/dist/src/vis/stateIndicator/aether/index.d.ts +2 -0
- package/dist/src/vis/stateIndicator/aether/index.d.ts.map +1 -0
- package/dist/src/vis/stateIndicator/aether/stateIndicator.d.ts +48 -0
- package/dist/src/vis/stateIndicator/aether/stateIndicator.d.ts.map +1 -0
- package/dist/src/vis/stateIndicator/index.d.ts +2 -0
- package/dist/src/vis/stateIndicator/index.d.ts.map +1 -0
- package/dist/src/vis/stateIndicator/use.d.ts +9 -0
- package/dist/src/vis/stateIndicator/use.d.ts.map +1 -0
- package/dist/src/vis/value/aether/value.d.ts +60 -0
- package/dist/src/vis/value/aether/value.d.ts.map +1 -1
- package/dist/src/vis/value/redline.d.ts +5 -0
- package/dist/src/vis/value/redline.d.ts.map +1 -1
- package/dist/src/vis/value/use.d.ts +20 -0
- package/dist/src/vis/value/use.d.ts.map +1 -1
- package/dist/src/workspace/queries.d.ts +1 -1
- package/dist/stylelint.config.d.ts +3 -0
- package/dist/stylelint.config.d.ts.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/text.cjs +1 -1
- package/dist/text.js +2 -2
- package/dist/theme-dark.css +815 -0
- package/dist/theme-light.css +815 -0
- package/dist/theme.css +680 -680
- 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/{types-B5-Tni3G.js → types-CGRCBVD4.js} +2 -2
- package/dist/{types-C0tUDfsz.cjs → types-DI2vtOGs.cjs} +1 -1
- package/dist/units-Bu36uC6z.cjs +1 -0
- package/dist/units-DMip-eZH.js +14 -0
- package/dist/value-Bfn0uQuG.cjs +53 -0
- package/dist/{value-BmuhX6zs.js → value-DimszMFu.js} +2108 -2057
- package/dist/video.cjs +1 -1
- package/dist/video.js +1 -1
- package/package.json +25 -21
- package/dist/Animated-BbeJdao0.js +0 -28
- package/dist/Animated-Dvm2k_z_.cjs +0 -1
- package/dist/Animated-umWjgTzy.cjs +0 -1
- package/dist/Box-D27bV7QJ.cjs +0 -1
- package/dist/Button-BSek5HG5.cjs +0 -1
- package/dist/Button-DLtxKGH5.js +0 -308
- package/dist/Dialog-BpjxXSmw.cjs +0 -1
- package/dist/Editable-C-z-stcD.cjs +0 -1
- package/dist/Haul-WgPKptr9.cjs +0 -1
- package/dist/Items-07R286kW.cjs +0 -4
- package/dist/Menu-58O-OOPJ.cjs +0 -1
- package/dist/Provider-BA3zQVbv.cjs +0 -1
- package/dist/Tags-DWsEZD9t.cjs +0 -1
- package/dist/Text-DW5FpCk9.cjs +0 -1
- package/dist/Video-C56z7qvH.js +0 -9
- package/dist/Video-CBPTBLTB.cjs +0 -1
- package/dist/css-BkBrZtKZ.js +0 -5328
- package/dist/css-D3NdC2sx.cjs +0 -8
- package/dist/dimensions-C7b02rFi.cjs +0 -1
- package/dist/eraser-Bocga8Eb.cjs +0 -11
- package/dist/external-5_uHky7w.cjs +0 -28
- package/dist/external-B9omdiDK.cjs +0 -1
- package/dist/external-BIbdeWQE.cjs +0 -1
- package/dist/external-BRA_zA83.cjs +0 -1
- package/dist/external-Bjh6lsVm.cjs +0 -1
- package/dist/external-BwRkgEyo.cjs +0 -1
- package/dist/external-CdHyPhLI.js +0 -31
- package/dist/external-Ct2A_YCT.cjs +0 -1
- package/dist/external-DT82RBon.cjs +0 -1
- package/dist/external-DyTk_hS7.cjs +0 -1
- package/dist/fontString-TocVNWmy.cjs +0 -1
- package/dist/hooks-Eb94kuDd.cjs +0 -1
- package/dist/provider-D0K9E52u.js +0 -16236
- package/dist/provider-DksyuJua.cjs +0 -78
- package/dist/units-Bd_mf9Ye.cjs +0 -1
- package/dist/units-CEfK1L7C.js +0 -14
- package/dist/value-CZfzRi_x.cjs +0 -53
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import { j as m } from "./jsx-runtime-tc70JA_2.js";
|
|
2
|
+
import { TimeSpan as g, location as a, xy as M, box as d, color as V, record as te } from "@synnaxlabs/x";
|
|
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
|
+
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-BSTMZRuo.js";
|
|
6
|
+
import { d as de, T as K, i as me } from "./Editable-4ZwvICC4.js";
|
|
7
|
+
import { a as fe, C as pe, d as Te } from "./types-CGRCBVD4.js";
|
|
8
|
+
import { a as xe } from "./Provider-ZIy-UlnE.js";
|
|
9
|
+
import "./provider-Bt-E2O6g.js";
|
|
10
|
+
import { createPortal as Ee } from "react-dom";
|
|
11
|
+
import { u as ye } from "./hooks-CWEfATTF.js";
|
|
12
|
+
const [ge, Se] = le({
|
|
13
|
+
defaultValue: { delay: g.milliseconds(750), startAccelerating: () => {
|
|
14
|
+
} },
|
|
15
|
+
displayName: "Tooltip.Context"
|
|
16
|
+
}), He = ({
|
|
17
|
+
delay: e = g.milliseconds(700),
|
|
18
|
+
accelerate: t = !0,
|
|
19
|
+
// Disabling this for now because it's annoying.
|
|
20
|
+
acceleratedDelay: o = g.minutes(60),
|
|
21
|
+
accelerationDelay: s = g.seconds(0),
|
|
22
|
+
children: i
|
|
23
|
+
}) => {
|
|
24
|
+
const [r, n] = Y(!1), u = I(null), E = v(() => {
|
|
25
|
+
r || !t || (n(!0), u.current = setTimeout(() => {
|
|
26
|
+
n(!1);
|
|
27
|
+
}, new g(s).milliseconds));
|
|
28
|
+
}, [r, s]), y = W(
|
|
29
|
+
() => r ? o : e,
|
|
30
|
+
[r, o, e]
|
|
31
|
+
), p = W(
|
|
32
|
+
() => ({ delay: y, startAccelerating: E }),
|
|
33
|
+
[y, E]
|
|
34
|
+
);
|
|
35
|
+
return /* @__PURE__ */ m.jsx(ge, { value: p, children: i });
|
|
36
|
+
}, Ue = (e) => ({ key: t, ...o }) => /* @__PURE__ */ ne(e, { ...o, key: t }), Ce = (e) => typeof e == "function", Le = 150, Q = ["top", "bottom"], z = ["left", "right"], ee = [
|
|
37
|
+
...z,
|
|
38
|
+
...Q
|
|
39
|
+
], J = [
|
|
40
|
+
...ee,
|
|
41
|
+
"center"
|
|
42
|
+
], ve = {
|
|
43
|
+
[a.xyToString(a.TOP_RIGHT)]: (e, t) => M.translate(e, "x", -d.width(t)),
|
|
44
|
+
[a.xyToString(a.TOP_LEFT)]: (e, t) => M.translate(e, "x", d.width(t)),
|
|
45
|
+
[a.xyToString(a.BOTTOM_RIGHT)]: (e, t) => M.translate(e, "x", -d.width(t)),
|
|
46
|
+
[a.xyToString(a.BOTTOM_LEFT)]: (e, t) => M.translate(e, "x", d.width(t))
|
|
47
|
+
}, U = (e, t, o) => {
|
|
48
|
+
for (const s of o)
|
|
49
|
+
if (Math.abs(d.loc(t, s) - d.loc(e, s)) > Le) return s;
|
|
50
|
+
return o[0];
|
|
51
|
+
}, Me = (e, t, o) => {
|
|
52
|
+
const s = a.location.safeParse(e), i = (n) => {
|
|
53
|
+
let u;
|
|
54
|
+
return n === "center" ? u = ee : a.isX(n) ? u = ["center", ...Q] : u = ["center", ...z], a.construct(U(t, o, u));
|
|
55
|
+
};
|
|
56
|
+
if (s.success)
|
|
57
|
+
return a.constructXY(s.data, i(s.data));
|
|
58
|
+
if (e != null) {
|
|
59
|
+
const n = { ...e };
|
|
60
|
+
return n.x == null && n.y != null ? n.x = i(a.construct(n.y)) : n.y == null && n.x != null ? n.y = i(a.construct(n.x)) : n.x == null && n.y == null && (n.x = U(t, o, J), n.y = i(a.construct(n.x))), a.constructXY(n);
|
|
61
|
+
}
|
|
62
|
+
const r = U(t, o, J);
|
|
63
|
+
return a.constructXY(r, i(r));
|
|
64
|
+
}, he = (e, t) => {
|
|
65
|
+
let o = e;
|
|
66
|
+
for (; o != null; ) {
|
|
67
|
+
if (o.id === t) return o;
|
|
68
|
+
o = o.parentElement;
|
|
69
|
+
}
|
|
70
|
+
return e;
|
|
71
|
+
}, we = ({
|
|
72
|
+
delay: e,
|
|
73
|
+
children: t,
|
|
74
|
+
location: o,
|
|
75
|
+
hide: s = !1
|
|
76
|
+
}) => {
|
|
77
|
+
const { startAccelerating: i, delay: r } = Se(), n = new g(e ?? r), [u, E, y] = de(null), [p, h] = Y(""), w = I(null), P = oe(), S = I(null), R = I(null), T = v((l) => {
|
|
78
|
+
l == null && y.current == null || R.current != null || (l != null ? (E(l), R.current = setTimeout(() => {
|
|
79
|
+
h(c.M("loaded")), R.current = null;
|
|
80
|
+
}, 1)) : (h(""), R.current = setTimeout(() => {
|
|
81
|
+
E(null), R.current = null;
|
|
82
|
+
}, 500)));
|
|
83
|
+
}, []), C = v(
|
|
84
|
+
(l, H) => {
|
|
85
|
+
if (!H || s)
|
|
86
|
+
return S.current?.(), T(null);
|
|
87
|
+
i();
|
|
88
|
+
const f = d.construct(he(l.target, P));
|
|
89
|
+
d.contains(f, M.construct(l)) || (S.current?.(), T(null));
|
|
90
|
+
const O = d.construct(document.documentElement), N = Me(o, f, O);
|
|
91
|
+
let L = d.xyLoc(f, N);
|
|
92
|
+
const Z = ve[a.xyToString(N)];
|
|
93
|
+
Z != null && (L = Z(L, f));
|
|
94
|
+
const b = d.construct(document.body);
|
|
95
|
+
T({
|
|
96
|
+
location: N,
|
|
97
|
+
position: M.translate(L, M.scale(d.topLeft(b), -1)),
|
|
98
|
+
triggerDims: d.dims(f)
|
|
99
|
+
}), S.current?.();
|
|
100
|
+
const _ = (k) => {
|
|
101
|
+
const $ = M.construct(k);
|
|
102
|
+
d.contains(f, $) || (T(null), document.removeEventListener("mousemove", _), S.current = null, w.current != null && clearTimeout(w.current));
|
|
103
|
+
};
|
|
104
|
+
document.addEventListener("mousemove", _), S.current = () => document.removeEventListener("mousemove", _), document.addEventListener(
|
|
105
|
+
"mousedown",
|
|
106
|
+
() => {
|
|
107
|
+
T(null), S.current?.();
|
|
108
|
+
},
|
|
109
|
+
{ once: !0 }
|
|
110
|
+
);
|
|
111
|
+
},
|
|
112
|
+
[i, o, s, P, n.milliseconds]
|
|
113
|
+
);
|
|
114
|
+
s && u != null && T(null);
|
|
115
|
+
const F = v(
|
|
116
|
+
(l) => {
|
|
117
|
+
w.current = setTimeout(
|
|
118
|
+
() => C(l, !0),
|
|
119
|
+
n.milliseconds
|
|
120
|
+
);
|
|
121
|
+
},
|
|
122
|
+
[C, n.milliseconds]
|
|
123
|
+
), j = v(
|
|
124
|
+
(l) => {
|
|
125
|
+
w.current != null && clearTimeout(w.current), C(l, !1);
|
|
126
|
+
},
|
|
127
|
+
[C]
|
|
128
|
+
), [D, A] = t, X = document.body;
|
|
129
|
+
return /* @__PURE__ */ m.jsxs(m.Fragment, { children: [
|
|
130
|
+
u != null && Ee(
|
|
131
|
+
/* @__PURE__ */ m.jsx(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
className: c(
|
|
135
|
+
c.B("tooltip"),
|
|
136
|
+
c.loc(u.location.x),
|
|
137
|
+
c.loc(u.location.y),
|
|
138
|
+
p
|
|
139
|
+
),
|
|
140
|
+
style: {
|
|
141
|
+
[c.var("pos-x")]: c.px(u.position.x),
|
|
142
|
+
[c.var("pos-y")]: c.px(u.position.y)
|
|
143
|
+
},
|
|
144
|
+
children: Ce(D) ? D(u) : Re(D)
|
|
145
|
+
},
|
|
146
|
+
P
|
|
147
|
+
),
|
|
148
|
+
X
|
|
149
|
+
),
|
|
150
|
+
se(A, {
|
|
151
|
+
onMouseEnter: (l) => {
|
|
152
|
+
F(l), A.props.onMouseEnter?.(l);
|
|
153
|
+
},
|
|
154
|
+
onMouseLeave: (l) => {
|
|
155
|
+
j(l), A.props.onMouseLeave?.(l);
|
|
156
|
+
},
|
|
157
|
+
onMouseDown: v(
|
|
158
|
+
(l) => {
|
|
159
|
+
j(l), A.props.onMouseDown?.(l);
|
|
160
|
+
},
|
|
161
|
+
[C]
|
|
162
|
+
)
|
|
163
|
+
})
|
|
164
|
+
] });
|
|
165
|
+
}, Re = (e) => typeof e == "string" || typeof e == "number" || !re(e) ? /* @__PURE__ */ m.jsx(K, { level: "small", color: 11, children: e }) : e, Oe = (e) => {
|
|
166
|
+
const t = ({
|
|
167
|
+
tooltipDelay: o,
|
|
168
|
+
tooltip: s,
|
|
169
|
+
tooltipLocation: i,
|
|
170
|
+
...r
|
|
171
|
+
}) => {
|
|
172
|
+
const n = /* @__PURE__ */ m.jsx(e, { ...r });
|
|
173
|
+
return s == null ? n : /* @__PURE__ */ m.jsxs(we, { delay: o, location: i, children: [
|
|
174
|
+
s,
|
|
175
|
+
n
|
|
176
|
+
] });
|
|
177
|
+
};
|
|
178
|
+
return t.displayName = `Tooltip.Wrap(${e.displayName ?? e.name})`, t;
|
|
179
|
+
}, B = "btn", Ne = (e, t) => {
|
|
180
|
+
if (e === !0) return t;
|
|
181
|
+
if (e != null && e !== !1) return e;
|
|
182
|
+
}, be = ({
|
|
183
|
+
size: e,
|
|
184
|
+
variant: t = "outlined",
|
|
185
|
+
className: o,
|
|
186
|
+
disabled: s,
|
|
187
|
+
preventClick: i,
|
|
188
|
+
level: r,
|
|
189
|
+
trigger: n,
|
|
190
|
+
triggerIndicator: u,
|
|
191
|
+
onClickDelay: E = 0,
|
|
192
|
+
onClick: y,
|
|
193
|
+
color: p,
|
|
194
|
+
status: h,
|
|
195
|
+
style: w,
|
|
196
|
+
onMouseDown: P,
|
|
197
|
+
textColor: S,
|
|
198
|
+
textVariant: R,
|
|
199
|
+
tabIndex: T,
|
|
200
|
+
contrast: C,
|
|
201
|
+
children: F,
|
|
202
|
+
defaultEl: j = "button",
|
|
203
|
+
el: D,
|
|
204
|
+
ghost: A,
|
|
205
|
+
propagateClick: X = !1,
|
|
206
|
+
href: l,
|
|
207
|
+
...H
|
|
208
|
+
}) => {
|
|
209
|
+
const f = g.fromMilliseconds(E), O = s === !0 || h === "loading" || h === "disabled";
|
|
210
|
+
t === "preview" && (i = !0), (s || i && T == null) && (T = -1);
|
|
211
|
+
const N = (x) => {
|
|
212
|
+
if (X || x.stopPropagation(), !(O || t === "preview" || i === !0) && f.isZero)
|
|
213
|
+
return y?.(x);
|
|
214
|
+
}, L = I(null), Z = (x) => {
|
|
215
|
+
T == -1 && x.preventDefault(), P?.(x), !(O || t === "preview" || f.isZero) && (document.addEventListener(
|
|
216
|
+
"mouseup",
|
|
217
|
+
() => L.current != null && clearTimeout(L.current)
|
|
218
|
+
), L.current = setTimeout(() => {
|
|
219
|
+
y?.(x), L.current = null;
|
|
220
|
+
}, f.milliseconds));
|
|
221
|
+
};
|
|
222
|
+
ye({
|
|
223
|
+
triggers: n,
|
|
224
|
+
callback: v(
|
|
225
|
+
({ stage: x }) => {
|
|
226
|
+
x !== "end" || O || t === "preview" || N(
|
|
227
|
+
new MouseEvent("click")
|
|
228
|
+
);
|
|
229
|
+
},
|
|
230
|
+
[N, O]
|
|
231
|
+
)
|
|
232
|
+
});
|
|
233
|
+
let b = w;
|
|
234
|
+
const _ = V.colorZ.safeParse(p), k = _.success && (t === "filled" || t === "outlined");
|
|
235
|
+
if (k) {
|
|
236
|
+
const x = xe();
|
|
237
|
+
b = {
|
|
238
|
+
...b,
|
|
239
|
+
[c.var("btn-color")]: V.rgbString(_.data),
|
|
240
|
+
[c.var("btn-text-color")]: V.rgbCSS(
|
|
241
|
+
V.pickByContrast(_.data, x.colors.text, x.colors.textInverted)
|
|
242
|
+
)
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
f.isZero || (b = {
|
|
246
|
+
...b,
|
|
247
|
+
[c.var("btn-delay")]: `${f.seconds.toString()}s`
|
|
248
|
+
}), e == null && r != null ? e = fe[r] : e != null && r == null ? r = pe[e] : j !== "div" && (e ??= "medium"), r ??= "p";
|
|
249
|
+
const $ = h === "loading", G = me(F), q = Ne(u, n);
|
|
250
|
+
return /* @__PURE__ */ m.jsxs(
|
|
251
|
+
K,
|
|
252
|
+
{
|
|
253
|
+
el: D,
|
|
254
|
+
defaultEl: j,
|
|
255
|
+
direction: "x",
|
|
256
|
+
className: c(
|
|
257
|
+
c.B(B),
|
|
258
|
+
C != null && c.BM(B, `contrast-${C}`),
|
|
259
|
+
i === !0 && c.BM(B, "prevent-click"),
|
|
260
|
+
t !== "preview" && c.disabled(O),
|
|
261
|
+
c.BM(B, t),
|
|
262
|
+
k && c.BM(B, "custom-color"),
|
|
263
|
+
A && c.BM(B, "ghost"),
|
|
264
|
+
o
|
|
265
|
+
),
|
|
266
|
+
size: e,
|
|
267
|
+
tabIndex: T,
|
|
268
|
+
onClick: N,
|
|
269
|
+
onMouseDown: Z,
|
|
270
|
+
style: b,
|
|
271
|
+
color: S,
|
|
272
|
+
gap: e === "small" || e === "tiny" ? "small" : void 0,
|
|
273
|
+
bordered: t !== "text",
|
|
274
|
+
level: r,
|
|
275
|
+
variant: R,
|
|
276
|
+
square: G,
|
|
277
|
+
overflow: "nowrap",
|
|
278
|
+
status: h,
|
|
279
|
+
href: l,
|
|
280
|
+
...te.purgeUndefined(H),
|
|
281
|
+
children: [
|
|
282
|
+
(!$ || !G) && F,
|
|
283
|
+
$ && /* @__PURE__ */ m.jsx(ce, {}),
|
|
284
|
+
q != null && /* @__PURE__ */ m.jsx(
|
|
285
|
+
ie,
|
|
286
|
+
{
|
|
287
|
+
className: c.B("trigger-indicator"),
|
|
288
|
+
"aria-label": "trigger-indicator",
|
|
289
|
+
trigger: q,
|
|
290
|
+
color: 9,
|
|
291
|
+
gap: "tiny",
|
|
292
|
+
level: Te(r)
|
|
293
|
+
}
|
|
294
|
+
)
|
|
295
|
+
]
|
|
296
|
+
}
|
|
297
|
+
);
|
|
298
|
+
}, _e = Oe(be), Ae = g.seconds(2).milliseconds, Ye = ({
|
|
299
|
+
text: e,
|
|
300
|
+
onCopy: t,
|
|
301
|
+
onCopyError: o,
|
|
302
|
+
copiedDuration: s = Ae,
|
|
303
|
+
tooltip: i = "Copy",
|
|
304
|
+
children: r,
|
|
305
|
+
...n
|
|
306
|
+
}) => {
|
|
307
|
+
const [u, E] = Y(!1), y = v(() => {
|
|
308
|
+
(async () => {
|
|
309
|
+
try {
|
|
310
|
+
const p = typeof e == "function" ? e() : e;
|
|
311
|
+
await navigator.clipboard.writeText(p), E(!0), t?.(), setTimeout(
|
|
312
|
+
() => E(!1),
|
|
313
|
+
g.fromMilliseconds(s).milliseconds
|
|
314
|
+
);
|
|
315
|
+
} catch (p) {
|
|
316
|
+
o?.(p instanceof Error ? p : new Error(String(p)));
|
|
317
|
+
}
|
|
318
|
+
})();
|
|
319
|
+
}, [e, t, o, s]);
|
|
320
|
+
return /* @__PURE__ */ m.jsxs(_e, { tooltip: u ? "Copied!" : i, onClick: y, ...n, children: [
|
|
321
|
+
u ? /* @__PURE__ */ m.jsx(ue, {}) : /* @__PURE__ */ m.jsx(ae, {}),
|
|
322
|
+
" ",
|
|
323
|
+
r
|
|
324
|
+
] });
|
|
325
|
+
};
|
|
326
|
+
export {
|
|
327
|
+
_e as B,
|
|
328
|
+
Ye as C,
|
|
329
|
+
we as D,
|
|
330
|
+
He as a,
|
|
331
|
+
Me as c,
|
|
332
|
+
Re as f,
|
|
333
|
+
Ce as i,
|
|
334
|
+
Ue as r,
|
|
335
|
+
Se as u,
|
|
336
|
+
Oe as w
|
|
337
|
+
};
|
|
@@ -0,0 +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-C2_VsLzw.cjs"),I=require("./Editable-HUPqTaui.cjs"),V=require("./types-DI2vtOGs.cjs"),ne=require("./Provider-DSMJjyuY.cjs");require("./provider-DQkVj3tA.cjs");const se=require("react-dom"),re=require("./hooks-C4ji1BSZ.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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const u=require("./jsx-runtime-nZSsnGb7.cjs"),n=require("./Animated-xK__WUQp.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,9 +1,10 @@
|
|
|
1
|
-
import { j as m } from "./jsx-runtime-
|
|
2
|
-
import { b, u as C, B as E } from "./Animated-
|
|
1
|
+
import { j as m } from "./jsx-runtime-tc70JA_2.js";
|
|
2
|
+
import { b, u as C, B as E } from "./Animated-6qL1fRZx.js";
|
|
3
3
|
import { createPortal as j } from "react-dom";
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
|
|
4
|
+
import "@synnaxlabs/x";
|
|
5
|
+
import { C as o } from "./css-D90kZTM8.js";
|
|
6
|
+
import { a as M } from "./Box-Bi280MYh.js";
|
|
7
|
+
const D = (l = "root") => document.getElementById(l) ?? document.body, h = ({
|
|
7
8
|
style: l,
|
|
8
9
|
background: d = 0,
|
|
9
10
|
className: g,
|
|
@@ -11,14 +12,14 @@ const D = (l = "root") => document.getElementById(l) ?? document.body, R = ({
|
|
|
11
12
|
rounded: u = 1,
|
|
12
13
|
passthrough: a = !1,
|
|
13
14
|
children: y,
|
|
14
|
-
...
|
|
15
|
+
...p
|
|
15
16
|
}) => {
|
|
16
17
|
const {
|
|
17
|
-
ref:
|
|
18
|
+
ref: x,
|
|
18
19
|
targetCorner: i,
|
|
19
20
|
dialogCorner: n,
|
|
20
21
|
style: s,
|
|
21
|
-
modalPosition:
|
|
22
|
+
modalPosition: f
|
|
22
23
|
} = b("Dialog.Dialog"), { visible: r, variant: t } = C();
|
|
23
24
|
if (!r && !a) return null;
|
|
24
25
|
const B = r && (Object.keys(s).length > 0 || t === "modal");
|
|
@@ -26,7 +27,7 @@ const D = (l = "root") => document.getElementById(l) ?? document.body, R = ({
|
|
|
26
27
|
M,
|
|
27
28
|
{
|
|
28
29
|
pack: !0,
|
|
29
|
-
ref:
|
|
30
|
+
ref: x,
|
|
30
31
|
y: !0,
|
|
31
32
|
background: d,
|
|
32
33
|
className: o(
|
|
@@ -38,7 +39,7 @@ const D = (l = "root") => document.getElementById(l) ?? document.body, R = ({
|
|
|
38
39
|
o.visible(B),
|
|
39
40
|
a && o.BM("dialog", "passthrough"),
|
|
40
41
|
o.M(t),
|
|
41
|
-
t === "modal" && o.BM("dialog", "modal", "position",
|
|
42
|
+
t === "modal" && o.BM("dialog", "modal", "position", f.toString()),
|
|
42
43
|
g
|
|
43
44
|
),
|
|
44
45
|
rounded: u,
|
|
@@ -47,12 +48,12 @@ const D = (l = "root") => document.getElementById(l) ?? document.body, R = ({
|
|
|
47
48
|
bordered: c,
|
|
48
49
|
align: "stretch",
|
|
49
50
|
style: { ...s, ...l },
|
|
50
|
-
...
|
|
51
|
+
...p,
|
|
51
52
|
children: y
|
|
52
53
|
}
|
|
53
54
|
);
|
|
54
55
|
return t === "modal" && (e = /* @__PURE__ */ m.jsx(E, { empty: !0, align: "center", visible: r, children: e })), a ? e : j(e, D());
|
|
55
56
|
};
|
|
56
57
|
export {
|
|
57
|
-
|
|
58
|
+
h as D
|
|
58
59
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { j as x } from "./jsx-runtime-
|
|
1
|
+
import { j as x } from "./jsx-runtime-tc70JA_2.js";
|
|
2
2
|
import { useCallback as y, useRef as l, useState as N, isValidElement as v, Children as C, useLayoutEffect as z } from "react";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
3
|
+
import "@synnaxlabs/x";
|
|
4
|
+
import { C as i } from "./css-D90kZTM8.js";
|
|
5
|
+
import { c as I, e as B } from "./types-CGRCBVD4.js";
|
|
6
|
+
import { a as U } from "./Box-Bi280MYh.js";
|
|
7
|
+
const le = (e) => {
|
|
7
8
|
const t = l(I(e)), n = y((s) => {
|
|
8
9
|
t.current = B(s, t.current);
|
|
9
10
|
}, []);
|
|
@@ -11,7 +12,7 @@ const ie = (e) => {
|
|
|
11
12
|
}, q = (e) => {
|
|
12
13
|
const t = l(e);
|
|
13
14
|
return t.current = e, t;
|
|
14
|
-
},
|
|
15
|
+
}, ae = (e) => {
|
|
15
16
|
const t = l(!1), n = l(null);
|
|
16
17
|
return t.current || (n.current = e(), t.current = !0), n;
|
|
17
18
|
}, W = (...e) => y(
|
|
@@ -19,15 +20,15 @@ const ie = (e) => {
|
|
|
19
20
|
n != null && (typeof n == "function" ? n(t) : n.current = t);
|
|
20
21
|
}, t),
|
|
21
22
|
[]
|
|
22
|
-
),
|
|
23
|
+
), fe = (e) => {
|
|
23
24
|
const t = l(null), [n, s] = N(() => {
|
|
24
25
|
const c = I(e);
|
|
25
26
|
return t.current = c, c;
|
|
26
|
-
}),
|
|
27
|
+
}), o = y((c) => {
|
|
27
28
|
s((a) => (t.current = B(c, a), t.current));
|
|
28
29
|
}, []);
|
|
29
|
-
return [n,
|
|
30
|
-
},
|
|
30
|
+
return [n, o, t];
|
|
31
|
+
}, Ee = (e) => {
|
|
31
32
|
const t = l(void 0), n = t.current;
|
|
32
33
|
return t.current = e, n;
|
|
33
34
|
}, O = (e) => (
|
|
@@ -43,7 +44,7 @@ const ie = (e) => {
|
|
|
43
44
|
e = t[0];
|
|
44
45
|
}
|
|
45
46
|
return typeof e == "string" ? e.length === 1 : !!(O(e) && typeof e.props == "object" && e.props != null && !("children" in e.props) && !("role" in e.props));
|
|
46
|
-
}, F = (e, t, n, s,
|
|
47
|
+
}, F = (e, t, n, s, o) => t ?? (o != null || s === "link" ? "a" : n ?? e ?? "p"), J = (e, t, n) => {
|
|
47
48
|
const s = {
|
|
48
49
|
...e,
|
|
49
50
|
fontWeight: t
|
|
@@ -54,7 +55,7 @@ const ie = (e) => {
|
|
|
54
55
|
className: t,
|
|
55
56
|
style: n,
|
|
56
57
|
weight: s,
|
|
57
|
-
defaultEl:
|
|
58
|
+
defaultEl: o,
|
|
58
59
|
el: c,
|
|
59
60
|
variant: a,
|
|
60
61
|
overflow: d,
|
|
@@ -62,12 +63,12 @@ const ie = (e) => {
|
|
|
62
63
|
autoFormatHref: T,
|
|
63
64
|
status: f,
|
|
64
65
|
lineClamp: p,
|
|
65
|
-
...
|
|
66
|
+
...u
|
|
66
67
|
}) => /* @__PURE__ */ x.jsx(
|
|
67
68
|
U,
|
|
68
69
|
{
|
|
69
70
|
direction: "x",
|
|
70
|
-
el: F(e, c,
|
|
71
|
+
el: F(e, c, o, a, S),
|
|
71
72
|
style: J(n, s, p),
|
|
72
73
|
className: i(
|
|
73
74
|
i.B("text"),
|
|
@@ -78,10 +79,10 @@ const ie = (e) => {
|
|
|
78
79
|
f != null && i.M("status", f),
|
|
79
80
|
t
|
|
80
81
|
),
|
|
81
|
-
square: Y(
|
|
82
|
+
square: Y(u.children),
|
|
82
83
|
gap: "small",
|
|
83
84
|
href: G(S, T),
|
|
84
|
-
...
|
|
85
|
+
...u
|
|
85
86
|
}
|
|
86
87
|
), R = (e) => {
|
|
87
88
|
e != null && (e.style.display = "none", e.offsetHeight, e.style.display = "");
|
|
@@ -89,61 +90,61 @@ const ie = (e) => {
|
|
|
89
90
|
let n = 0;
|
|
90
91
|
const s = () => {
|
|
91
92
|
n++;
|
|
92
|
-
const
|
|
93
|
-
if (
|
|
93
|
+
const o = document.querySelector(`#${CSS.escape(e)}.${w}`);
|
|
94
|
+
if (o == null || !o.classList.contains(w)) {
|
|
94
95
|
if (n < Z) setTimeout(() => s(), 100);
|
|
95
96
|
else throw new Error(`Could not find element with id ${e}`);
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
|
-
|
|
99
|
+
o.dispatchEvent(new Event(j)), o.setAttribute("contenteditable", "true"), t != null && (o.addEventListener(
|
|
99
100
|
k,
|
|
100
101
|
(c) => t(g(c.target), !0)
|
|
101
|
-
),
|
|
102
|
+
), o.addEventListener(
|
|
102
103
|
V,
|
|
103
104
|
(c) => t(g(c.target), !1)
|
|
104
105
|
));
|
|
105
106
|
};
|
|
106
107
|
s();
|
|
107
|
-
},
|
|
108
|
-
ee(e, (s,
|
|
108
|
+
}, de = (e) => new Promise((t) => {
|
|
109
|
+
ee(e, (s, o) => t([s, o]));
|
|
109
110
|
}), g = (e) => e.innerText.trim(), te = (e, t) => e == null || t == null ? !1 : e.maxInlineSize === t.maxInlineSize, ne = ({
|
|
110
111
|
onChange: e,
|
|
111
112
|
value: t,
|
|
112
113
|
className: n,
|
|
113
114
|
useEditableState: s = N,
|
|
114
|
-
allowDoubleClick:
|
|
115
|
+
allowDoubleClick: o = !0,
|
|
115
116
|
onDoubleClick: c,
|
|
116
117
|
allowEmpty: a = !1,
|
|
117
118
|
style: d,
|
|
118
119
|
outline: S = !0,
|
|
119
120
|
...T
|
|
120
121
|
}) => {
|
|
121
|
-
const [f, p] = s(!1),
|
|
122
|
-
(b.current != null && !te(d, b.current) || t !== A.current) && (R(
|
|
122
|
+
const [f, p] = s(!1), u = l(null), M = q(t), b = l(d), A = l(t);
|
|
123
|
+
(b.current != null && !te(d, b.current) || t !== A.current) && (R(u.current), b.current = d, A.current = t);
|
|
123
124
|
const h = (r) => {
|
|
124
|
-
|
|
125
|
+
o && (p(!0), R(u.current)), c?.(r);
|
|
125
126
|
}, _ = (r, m = !1) => {
|
|
126
127
|
const E = g(r);
|
|
127
128
|
M.current === E && (E.length > 0 || a) || (m || E.length === 0 && !a ? (r.innerText = t, r.dispatchEvent(new Event(V))) : (e?.(E), M.current = E, r.dispatchEvent(new Event(k))));
|
|
128
129
|
}, H = (r) => {
|
|
129
|
-
if (
|
|
130
|
+
if (u.current == null || (R(u.current), !f || !Q.includes(r.key))) return;
|
|
130
131
|
r.stopPropagation(), r.preventDefault();
|
|
131
|
-
const m =
|
|
132
|
-
|
|
132
|
+
const m = u.current;
|
|
133
|
+
u.current != null && (p(!1), _(m, r.key === "Escape"), m.blur());
|
|
133
134
|
}, P = (r) => r.preventDefault();
|
|
134
135
|
z(() => {
|
|
135
|
-
if (
|
|
136
|
-
R(
|
|
137
|
-
const { current: r } =
|
|
136
|
+
if (u.current == null || !f) return;
|
|
137
|
+
R(u.current);
|
|
138
|
+
const { current: r } = u;
|
|
138
139
|
r.focus();
|
|
139
140
|
const m = document.createRange();
|
|
140
141
|
m.selectNodeContents(r);
|
|
141
142
|
const E = window.getSelection();
|
|
142
143
|
E?.removeAllRanges(), E?.addRange(m);
|
|
143
|
-
}, [f]),
|
|
144
|
+
}, [f]), u.current !== null && !f && (u.current.innerHTML = t);
|
|
144
145
|
const $ = y((r) => {
|
|
145
146
|
r?.addEventListener(j, () => p(!0));
|
|
146
|
-
}, []), K = W(
|
|
147
|
+
}, []), K = W(u, $);
|
|
147
148
|
return /* @__PURE__ */ x.jsx(
|
|
148
149
|
L,
|
|
149
150
|
{
|
|
@@ -155,7 +156,7 @@ const ie = (e) => {
|
|
|
155
156
|
),
|
|
156
157
|
onBlur: () => {
|
|
157
158
|
p(!1);
|
|
158
|
-
const r =
|
|
159
|
+
const r = u.current;
|
|
159
160
|
r != null && _(r);
|
|
160
161
|
},
|
|
161
162
|
onKeyDown: H,
|
|
@@ -168,34 +169,34 @@ const ie = (e) => {
|
|
|
168
169
|
children: t
|
|
169
170
|
}
|
|
170
171
|
);
|
|
171
|
-
},
|
|
172
|
+
}, pe = ({
|
|
172
173
|
onChange: e,
|
|
173
174
|
disabled: t = !1,
|
|
174
175
|
value: n,
|
|
175
176
|
allowDoubleClick: s,
|
|
176
|
-
...
|
|
177
|
-
}) => t || e == null || e === !1 ? /* @__PURE__ */ x.jsx(L, { ...
|
|
177
|
+
...o
|
|
178
|
+
}) => t || e == null || e === !1 ? /* @__PURE__ */ x.jsx(L, { ...o, children: n }) : (e === !0 && (e = () => {
|
|
178
179
|
}), /* @__PURE__ */ x.jsx(
|
|
179
180
|
ne,
|
|
180
181
|
{
|
|
181
182
|
allowDoubleClick: s,
|
|
182
183
|
onChange: e,
|
|
183
184
|
value: n,
|
|
184
|
-
...
|
|
185
|
+
...o
|
|
185
186
|
}
|
|
186
187
|
));
|
|
187
188
|
export {
|
|
188
189
|
ne as E,
|
|
189
|
-
|
|
190
|
+
pe as M,
|
|
190
191
|
L as T,
|
|
191
|
-
|
|
192
|
-
|
|
192
|
+
de as a,
|
|
193
|
+
ae as b,
|
|
193
194
|
q as c,
|
|
194
|
-
|
|
195
|
+
fe as d,
|
|
195
196
|
ee as e,
|
|
196
197
|
W as f,
|
|
197
|
-
|
|
198
|
+
Ee as g,
|
|
198
199
|
Y as i,
|
|
199
200
|
R as t,
|
|
200
|
-
|
|
201
|
+
le as u
|
|
201
202
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const b=require("./jsx-runtime-nZSsnGb7.cjs"),c=require("react");require("@synnaxlabs/x");const l=require("./css-CloSmhZB.cjs"),m=require("./types-DI2vtOGs.cjs"),K=require("./Box-CNUz5BsV.cjs"),$=e=>{const t=c.useRef(m.executeInitialSetter(e)),n=c.useCallback(s=>{t.current=m.executeSetter(s,t.current)},[]);return[t,n]},I=e=>{const t=c.useRef(e);return t.current=e,t},U=e=>{const t=c.useRef(!1),n=c.useRef(null);return t.current||(n.current=e(),t.current=!0),n},N=(...e)=>c.useCallback(t=>e.forEach(n=>{n!=null&&(typeof n=="function"?n(t):n.current=t)},t),[]),W=e=>{const t=c.useRef(null),[n,s]=c.useState(()=>{const o=m.executeInitialSetter(e);return t.current=o,o}),u=c.useCallback(o=>{s(f=>(t.current=m.executeSetter(o,f),t.current))},[]);return[n,u,t]},O=e=>{const t=c.useRef(void 0),n=t.current;return t.current=e,n},X=e=>c.isValidElement(e)&&!("hydrate"in e.props),k="://",G=`https${k}`,Y=(e,t=!1)=>e==null?e:t&&!e.includes(k)?G+e:e,B=e=>{if(c.Children.count(e)!==1){const t=c.Children.toArray(e).filter(n=>typeof n!="boolean");if(t.length!==1)return!1;e=t[0]}return typeof e=="string"?e.length===1:!!(X(e)&&typeof e.props=="object"&&e.props!=null&&!("children"in e.props)&&!("role"in e.props))},F=(e,t,n,s,u)=>t??(u!=null||s==="link"?"a":n??e??"p"),J=(e,t,n)=>{const s={...e,fontWeight:t};return n!=null&&(s.WebkitLineClamp=n),s},g=({level:e="p",className:t,style:n,weight:s,defaultEl:u,el:o,variant:f,overflow:E,href:x,autoFormatHref:C,status:a,lineClamp:S,...i})=>b.jsxRuntimeExports.jsx(K.Box$1,{direction:"x",el:F(e,o,u,f,x),style:J(n,s,S),className:l.CSS(l.CSS.B("text"),f!=null&&l.CSS.BM("text",f),l.CSS.BM("text",e),E!=null&&l.CSS.BM("text","overflow",E),S!=null&&l.CSS.BM("text","line-clamp"),a!=null&&l.CSS.M("status",a),t),square:B(i.children),gap:"small",href:Y(x,C),...i}),R=e=>{e!=null&&(e.style.display="none",e.offsetHeight,e.style.display="")},Q=["Escape","Enter"],w=l.CSS.BM("text","editable"),Z=10,j="renamed",q="escaped",D="start-editing",L=(e,t)=>{let n=0;const s=()=>{n++;const u=document.querySelector(`#${CSS.escape(e)}.${w}`);if(u==null||!u.classList.contains(w)){if(n<Z)setTimeout(()=>s(),100);else throw new Error(`Could not find element with id ${e}`);return}u.dispatchEvent(new Event(D)),u.setAttribute("contenteditable","true"),t!=null&&(u.addEventListener(j,o=>t(T(o.target),!0)),u.addEventListener(q,o=>t(T(o.target),!1)))};s()},ee=e=>new Promise(t=>{L(e,(s,u)=>t([s,u]))}),T=e=>e.innerText.trim(),te=(e,t)=>e==null||t==null?!1:e.maxInlineSize===t.maxInlineSize,h=({onChange:e,value:t,className:n,useEditableState:s=c.useState,allowDoubleClick:u=!0,onDoubleClick:o,allowEmpty:f=!1,style:E,outline:x=!0,...C})=>{const[a,S]=s(!1),i=c.useRef(null),M=I(t),y=c.useRef(E),A=c.useRef(t);(y.current!=null&&!te(E,y.current)||t!==A.current)&&(R(i.current),y.current=E,A.current=t);const P=r=>{u&&(S(!0),R(i.current)),o?.(r)},_=(r,p=!1)=>{const d=T(r);M.current===d&&(d.length>0||f)||(p||d.length===0&&!f?(r.innerText=t,r.dispatchEvent(new Event(q))):(e?.(d),M.current=d,r.dispatchEvent(new Event(j))))},V=r=>{if(i.current==null||(R(i.current),!a||!Q.includes(r.key)))return;r.stopPropagation(),r.preventDefault();const p=i.current;i.current!=null&&(S(!1),_(p,r.key==="Escape"),p.blur())},H=r=>r.preventDefault();c.useLayoutEffect(()=>{if(i.current==null||!a)return;R(i.current);const{current:r}=i;r.focus();const p=document.createRange();p.selectNodeContents(r);const d=window.getSelection();d?.removeAllRanges(),d?.addRange(p)},[a]),i.current!==null&&!a&&(i.current.innerHTML=t);const v=c.useCallback(r=>{r?.addEventListener(D,()=>S(!0))},[]),z=N(i,v);return b.jsxRuntimeExports.jsx(g,{ref:z,className:l.CSS(n,l.CSS.BM("text","editable"),x&&l.CSS.M("outline")),onBlur:()=>{S(!1);const r=i.current;r!=null&&_(r)},onKeyDown:V,onKeyUp:H,onDoubleClick:P,contentEditable:a,suppressContentEditableWarning:!0,style:E,...C,children:t})},ne=({onChange:e,disabled:t=!1,value:n,allowDoubleClick:s,...u})=>t||e==null||e===!1?b.jsxRuntimeExports.jsx(g,{...u,children:n}):(e===!0&&(e=()=>{}),b.jsxRuntimeExports.jsx(h,{allowDoubleClick:s,onChange:e,value:n,...u}));exports.Editable=h;exports.MaybeEditable=ne;exports.Text=g;exports.asyncEdit=ee;exports.edit=L;exports.isSquare=B;exports.triggerReflow=R;exports.useCombinedRefs=N;exports.useCombinedStateAndRef=W;exports.useInitializerRef=U;exports.usePrevious=O;exports.useStateRef=$;exports.useSyncedRef=I;
|