@synnaxlabs/pluto 0.47.0 → 0.48.0

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.
Files changed (180) hide show
  1. package/dist/{Animated-BewuBtBY.cjs → Animated--SNIwznU.cjs} +1 -1
  2. package/dist/{Animated-M9ynNzcI.js → Animated-CC7iS0zH.js} +21 -21
  3. package/dist/{Animated-otpyxn5i.js → Animated-DfDp0-ep.js} +4 -4
  4. package/dist/{Animated-Ck-9v2gm.cjs → Animated-TMpTdCqK.cjs} +1 -1
  5. package/dist/{Box-D5Qv__kr.js → Box-CoQUaJk2.js} +2 -2
  6. package/dist/{Box-BvqALodh.cjs → Box-Ds_D3xR_.cjs} +1 -1
  7. package/dist/Button-BaMa3eGI.cjs +1 -0
  8. package/dist/Button-NgDHbsf8.js +306 -0
  9. package/dist/{Dialog-DwhFD4z2.cjs → Dialog-BL8T9CVw.cjs} +1 -1
  10. package/dist/{Dialog-CO4iLhHf.js → Dialog-CBDFqieV.js} +4 -4
  11. package/dist/{Editable-CxgdRDPb.js → Editable-C7KPD0hC.js} +3 -3
  12. package/dist/{Editable-BXFY3-UW.cjs → Editable-CWt3zqDm.cjs} +1 -1
  13. package/dist/{Haul-BuI0PZpo.js → Haul-Be1j5BU3.js} +2 -2
  14. package/dist/{Haul-2Xa_nMgc.cjs → Haul-D1WaI_xE.cjs} +1 -1
  15. package/dist/{Items-DNcTFEUJ.cjs → Items-BYlg9bb-.cjs} +1 -1
  16. package/dist/{Items-G25zb57I.js → Items-mikdEpyC.js} +8 -8
  17. package/dist/{Menu-DqkB9vpH.js → Menu-CcWs0t21.js} +9 -9
  18. package/dist/{Menu-D-uhqnfk.cjs → Menu-DJoh8bH7.cjs} +1 -1
  19. package/dist/{Provider--RxgAoVG.js → Provider-DScd3hYf.js} +26 -26
  20. package/dist/{Provider-575hnWmi.cjs → Provider-fx1wTnXk.cjs} +2 -2
  21. package/dist/Tags-DvPUmH2r.js +908 -0
  22. package/dist/Tags-KHafaGjR.cjs +1 -0
  23. package/dist/{Text-BzTkWLeU.js → Text-BbbqH88W.js} +492 -487
  24. package/dist/Text-CZrjPRjJ.cjs +1 -0
  25. package/dist/{Video-VlT7jSYk.cjs → Video-DRSEX8t7.cjs} +1 -1
  26. package/dist/{Video-CITi2j07.js → Video-_DrutSeT.js} +2 -2
  27. package/dist/button.cjs +1 -1
  28. package/dist/button.js +1 -1
  29. package/dist/color.cjs +1 -1
  30. package/dist/color.js +1 -1
  31. package/dist/css-C_YE-5Xa.cjs +8 -0
  32. package/dist/{css-D6ZBcSwh.js → css-Cn63X_Yv.js} +1161 -1111
  33. package/dist/css.cjs +1 -1
  34. package/dist/css.js +2 -2
  35. package/dist/{deep-DtdcJG4q.cjs → deep-7SxmCL0x.cjs} +1 -1
  36. package/dist/{deep-DRVLw7iw.js → deep-szN5DCOH.js} +1 -1
  37. package/dist/dialog.cjs +1 -1
  38. package/dist/dialog.js +1 -1
  39. package/dist/{dimensions-CGLhBwVq.cjs → dimensions-DFDTcQRG.cjs} +1 -1
  40. package/dist/{dimensions-BFCMI7yN.js → dimensions-Dclfavlh.js} +1 -1
  41. package/dist/{eraser-DvzR9kLf.js → eraser-Bpl4bpBx.js} +13 -13
  42. package/dist/{eraser-Dm5Du4PL.cjs → eraser-Bqibt23a.cjs} +2 -2
  43. package/dist/ether.cjs +1 -1
  44. package/dist/ether.js +7 -7
  45. package/dist/{_commonjsHelpers-BH3jXuIh.cjs → event-BxvV3arE.cjs} +1 -1
  46. package/dist/{_commonjsHelpers-ByX85dGu.js → event-nNH_pXSr.js} +17 -14
  47. package/dist/{external-B2Q-Yx8D.cjs → external-19BIaQc6.cjs} +1 -1
  48. package/dist/{external-CMiEiLpE.js → external-1uZLLxz-.js} +771 -792
  49. package/dist/{external-CraRr06G.js → external-6rS2YiWR.js} +16066 -15782
  50. package/dist/{external-DZSXelLG.js → external-8H4eB7TN.js} +8 -8
  51. package/dist/{external-C5W7VXIW.cjs → external-AInsIJp-.cjs} +1 -1
  52. package/dist/{external-C5ssXUvL.cjs → external-B3jTkhc4.cjs} +4 -22
  53. package/dist/external-B8hxM_jw.cjs +79 -0
  54. package/dist/{external-D9LndfvY.js → external-BOWnCKIe.js} +3 -3
  55. package/dist/external-Bi-OQCBH.js +45 -0
  56. package/dist/{external-CeNR2kU9.js → external-Bq4gfE5e.js} +6 -6
  57. package/dist/{external-CGRGVYRj.js → external-C0_sN1J0.js} +2 -2
  58. package/dist/{external-C_dsD7px.cjs → external-CFZ33YbY.cjs} +1 -1
  59. package/dist/{external-DEWhnbVF.cjs → external-CFdDgpzj.cjs} +1 -1
  60. package/dist/{external-BVcgi9yX.cjs → external-CJFfVl_u.cjs} +1 -1
  61. package/dist/{external-BA6DRS2n.cjs → external-CN15E8ls.cjs} +1 -1
  62. package/dist/{external-DUoHSX0Q.js → external-Caetm5fI.js} +5 -5
  63. package/dist/external-CfEVFfhL.cjs +1 -0
  64. package/dist/{external-DrUtWpiV.js → external-D6TsHpoG.js} +10 -10
  65. package/dist/{external-FIE7PzLB.cjs → external-D7WE6Leo.cjs} +1 -1
  66. package/dist/{external-OLyg-4Ab.cjs → external-DUGcSVbJ.cjs} +1 -1
  67. package/dist/{external-B7hb5HYU.js → external-DwhfVdFp.js} +5 -5
  68. package/dist/{external-BhOvtmPt.js → external-X_eFMRtE.js} +2 -2
  69. package/dist/{external-_LWHQroW.cjs → external-pRQzznIG.cjs} +1 -1
  70. package/dist/{external-x9Ylk2op.js → external-y1Apm7j1.js} +14 -14
  71. package/dist/flex.cjs +1 -1
  72. package/dist/flex.js +1 -1
  73. package/dist/{fontString-yPlq8smc.cjs → fontString-BcSXNOgW.cjs} +1 -1
  74. package/dist/{fontString-CGd4NYXa.js → fontString-D7EMGjIw.js} +2 -2
  75. package/dist/header.cjs +1 -1
  76. package/dist/header.js +1 -1
  77. package/dist/{hooks-15yB7IKE.js → hooks-BmUn8s1r.js} +4 -4
  78. package/dist/{hooks-D_-XdOAe.cjs → hooks-CutQY1o9.cjs} +1 -1
  79. package/dist/index.cjs +8 -40
  80. package/dist/index.js +10546 -10342
  81. package/dist/input.cjs +1 -1
  82. package/dist/input.js +1 -1
  83. package/dist/{jsx-runtime-OVHDjVDe.js → jsx-runtime-BbD0H88J.js} +108 -128
  84. package/dist/jsx-runtime-nZSsnGb7.cjs +6 -0
  85. package/dist/list.cjs +1 -1
  86. package/dist/list.js +1 -1
  87. package/dist/menu.cjs +1 -1
  88. package/dist/menu.js +1 -1
  89. package/dist/pluto.css +1 -1
  90. package/dist/{provider-C8In649C.js → provider-B6SgG_sT.js} +4910 -4821
  91. package/dist/provider-C9Beoajx.cjs +72 -0
  92. package/dist/src/button/Button.d.ts +2 -1
  93. package/dist/src/button/Button.d.ts.map +1 -1
  94. package/dist/src/channel/LinePlot.d.ts +4 -1
  95. package/dist/src/channel/LinePlot.d.ts.map +1 -1
  96. package/dist/src/channel/Select.d.ts +2 -2
  97. package/dist/src/channel/Select.d.ts.map +1 -1
  98. package/dist/src/cluster/index.d.ts +2 -0
  99. package/dist/src/cluster/index.d.ts.map +1 -0
  100. package/dist/src/cluster/queries.d.ts +6 -0
  101. package/dist/src/cluster/queries.d.ts.map +1 -0
  102. package/dist/src/cluster/queries.spec.d.ts +2 -0
  103. package/dist/src/cluster/queries.spec.d.ts.map +1 -0
  104. package/dist/src/color/GradientPicker.d.ts.map +1 -1
  105. package/dist/src/flux/retrieve.d.ts +9 -8
  106. package/dist/src/flux/retrieve.d.ts.map +1 -1
  107. package/dist/src/hardware/device/Select.d.ts +1 -1
  108. package/dist/src/hardware/device/Select.d.ts.map +1 -1
  109. package/dist/src/hardware/rack/Select.d.ts +1 -1
  110. package/dist/src/hardware/rack/Select.d.ts.map +1 -1
  111. package/dist/src/icon/registry.d.ts +1 -0
  112. package/dist/src/icon/registry.d.ts.map +1 -1
  113. package/dist/src/index.d.ts +1 -0
  114. package/dist/src/index.d.ts.map +1 -1
  115. package/dist/src/input/DateTime.d.ts.map +1 -1
  116. package/dist/src/input/DateTime.spec.d.ts +2 -0
  117. package/dist/src/input/DateTime.spec.d.ts.map +1 -0
  118. package/dist/src/label/Select.d.ts +3 -3
  119. package/dist/src/label/Select.d.ts.map +1 -1
  120. package/dist/src/menu/Item.d.ts.map +1 -1
  121. package/dist/src/schematic/symbol/Primitives.d.ts.map +1 -1
  122. package/dist/src/select/Dialog.d.ts +2 -3
  123. package/dist/src/select/Dialog.d.ts.map +1 -1
  124. package/dist/src/select/Multiple.d.ts.map +1 -1
  125. package/dist/src/select/MultipleTrigger.d.ts.map +1 -1
  126. package/dist/src/status/Select.d.ts +1 -1
  127. package/dist/src/status/Select.d.ts.map +1 -1
  128. package/dist/src/status/queries.d.ts +13 -0
  129. package/dist/src/status/queries.d.ts.map +1 -1
  130. package/dist/src/synnax/Provider.d.ts +2 -2
  131. package/dist/src/synnax/Provider.d.ts.map +1 -1
  132. package/dist/src/synnax/aether/provider.d.ts.map +1 -1
  133. package/dist/src/table/Table.d.ts.map +1 -1
  134. package/dist/src/tag/Tag.d.ts.map +1 -1
  135. package/dist/src/triggers/Provider.d.ts.map +1 -1
  136. package/dist/src/user/Avatar.d.ts +7 -0
  137. package/dist/src/user/Avatar.d.ts.map +1 -0
  138. package/dist/src/user/external.d.ts +3 -0
  139. package/dist/src/user/external.d.ts.map +1 -0
  140. package/dist/src/user/index.d.ts +1 -1
  141. package/dist/src/user/index.d.ts.map +1 -1
  142. package/dist/src/user/queries.d.ts +1 -0
  143. package/dist/src/user/queries.d.ts.map +1 -1
  144. package/dist/src/vis/diagram/Diagram.d.ts.map +1 -1
  145. package/dist/src/vis/draw2d/index.d.ts +2 -1
  146. package/dist/src/vis/draw2d/index.d.ts.map +1 -1
  147. package/dist/src/vis/measure/Measure.d.ts +4 -1
  148. package/dist/src/vis/measure/Measure.d.ts.map +1 -1
  149. package/dist/src/vis/measure/aether/measure.d.ts +27 -1
  150. package/dist/src/vis/measure/aether/measure.d.ts.map +1 -1
  151. package/dist/tabs.cjs +1 -1
  152. package/dist/tabs.js +1 -1
  153. package/dist/text.cjs +1 -1
  154. package/dist/text.js +2 -2
  155. package/dist/theming.cjs +1 -1
  156. package/dist/theming.js +2 -2
  157. package/dist/tree.cjs +1 -1
  158. package/dist/tree.js +1 -1
  159. package/dist/triggers.cjs +1 -1
  160. package/dist/triggers.js +1 -1
  161. package/dist/{units-BqIfn6VX.js → units-cBd5OJg4.js} +1 -1
  162. package/dist/units-zxke9Ng2.cjs +1 -0
  163. package/dist/value-Ce4T858D.cjs +53 -0
  164. package/dist/{value-ChGMEPP3.js → value-UJNdARAu.js} +2715 -2512
  165. package/dist/video.cjs +1 -1
  166. package/dist/video.js +1 -1
  167. package/package.json +24 -22
  168. package/dist/Button-BFoGC4WW.js +0 -305
  169. package/dist/Button-C3dvpk52.cjs +0 -1
  170. package/dist/Tags-Dekr_hwk.cjs +0 -1
  171. package/dist/Tags-Dpu9kD_T.js +0 -604
  172. package/dist/Text-DECnk5vG.cjs +0 -1
  173. package/dist/css-HnNQMUzV.cjs +0 -8
  174. package/dist/external-B9a_p-VK.cjs +0 -1
  175. package/dist/external-BZwFEYop.js +0 -44
  176. package/dist/external-g62tixOz.cjs +0 -85
  177. package/dist/jsx-runtime-Dszzpdy0.cjs +0 -22
  178. package/dist/provider-lNhTlIWj.cjs +0 -72
  179. package/dist/units-DCifOxd9.cjs +0 -1
  180. package/dist/value-B3LTg1lE.cjs +0 -53
package/dist/video.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Video-VlT7jSYk.cjs");exports.Video=e.Video;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./Video-DRSEX8t7.cjs");exports.Video=e.Video;
package/dist/video.js CHANGED
@@ -1,4 +1,4 @@
1
- import { V as r } from "./Video-CITi2j07.js";
1
+ import { V as r } from "./Video-_DrutSeT.js";
2
2
  export {
3
3
  r as Video
4
4
  };
package/package.json CHANGED
@@ -1,29 +1,30 @@
1
1
  {
2
2
  "name": "@synnaxlabs/pluto",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "type": "module",
5
5
  "dependencies": {
6
- "@fontsource-variable/inter": "^5.2.7",
7
- "@fontsource/geist-mono": "^5.2.6",
8
- "@fontsource/inter": "^5.2.7",
6
+ "@fontsource-variable/inter": "^5.2.8",
7
+ "@fontsource/geist-mono": "^5.2.7",
8
+ "@fontsource/inter": "^5.2.8",
9
9
  "@tanstack/react-virtual": "3.13.6",
10
- "@xyflow/react": "^12.8.4",
10
+ "@xyflow/react": "^12.9.2",
11
11
  "async-mutex": "^0.5.0",
12
12
  "clsx": "^2.1.1",
13
13
  "compromise": "^14.14.4",
14
14
  "compromise-dates": "^3.7.1",
15
15
  "d3-scale": "^4.0.2",
16
16
  "fuse.js": "^7.1.0",
17
- "mathjs": "^14.7.0",
17
+ "mathjs": "^15.1.0",
18
+ "pluralize": "^8.0.0",
18
19
  "proxy-memoize": "2.0.3",
19
- "react": "^19.1.1",
20
+ "react": "^19.2.0",
20
21
  "react-color": "^2.19.3",
21
22
  "react-icons": "^5.5.0",
22
- "zod": "^4.1.8",
23
- "@synnaxlabs/alamos": "^0.47.0",
24
- "@synnaxlabs/client": "^0.47.0",
25
- "@synnaxlabs/freighter": "0.47.0",
26
- "@synnaxlabs/x": "^0.47.0"
23
+ "zod": "^4.1.12",
24
+ "@synnaxlabs/alamos": "^0.48.0",
25
+ "@synnaxlabs/client": "^0.48.0",
26
+ "@synnaxlabs/freighter": "0.48.0",
27
+ "@synnaxlabs/x": "^0.48.0"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@juggle/resize-observer": "^3.4.0",
@@ -31,23 +32,24 @@
31
32
  "@testing-library/user-event": "^14.6.1",
32
33
  "@types/d3-scale": "^4.0.9",
33
34
  "@types/offscreencanvas": "^2019.7.3",
34
- "@types/react": "^19.1.13",
35
+ "@types/pluralize": "^0.0.33",
36
+ "@types/react": "^19.2.2",
35
37
  "@types/react-color": "^3.0.13",
36
- "@types/react-dom": "^19.1.9",
38
+ "@types/react-dom": "^19.2.2",
37
39
  "@types/webgl2": "^0.0.11",
38
- "@vitejs/plugin-react": "^5.0.2",
40
+ "@vitejs/plugin-react": "^5.1.0",
39
41
  "@vitest/coverage-v8": "^3.2.4",
40
- "eslint": "^9.37.0",
41
- "jsdom": "^27.0.0",
42
+ "eslint": "^9.39.1",
43
+ "jsdom": "^27.1.0",
42
44
  "madge": "^8.0.0",
43
- "react-dom": "^19.1.1",
44
- "typescript": "^5.9.2",
45
- "vite": "^7.1.5",
45
+ "react-dom": "^19.2.0",
46
+ "typescript": "^5.9.3",
47
+ "vite": "^7.1.12",
46
48
  "vitest": "^3.2.4",
47
- "@synnaxlabs/tsconfig": "^0.43.0",
49
+ "eslint-config-synnaxlabs": "^0.43.0",
48
50
  "stylelint-config-synnaxlabs": "^0.43.0",
49
51
  "@synnaxlabs/vite-plugin": "^0.43.0",
50
- "eslint-config-synnaxlabs": "^0.43.0"
52
+ "@synnaxlabs/tsconfig": "^0.43.0"
51
53
  },
52
54
  "files": [
53
55
  "dist"
@@ -1,305 +0,0 @@
1
- import { j as T } from "./jsx-runtime-OVHDjVDe.js";
2
- import { m as R, K as i, Q as g, j as d, C as r, L as V, l as ee } from "./css-D6ZBcSwh.js";
3
- import { createContext as te, use as ne, useState as q, useRef as F, useCallback as h, useMemo as G, createElement as oe, useId as se, cloneElement as re, isValidElement as le } from "react";
4
- import { L as ce, T as ue } from "./Text-BzTkWLeU.js";
5
- import { d as ie, T as K, i as ae } from "./Editable-CxgdRDPb.js";
6
- import { a as de, C as me, d as fe } from "./types-BNX_Jj6k.js";
7
- import { a as pe } from "./Provider--RxgAoVG.js";
8
- import "./provider-C8In649C.js";
9
- import { createPortal as Te } from "react-dom";
10
- import { u as Ee } from "./hooks-15yB7IKE.js";
11
- const xe = {
12
- delay: R.milliseconds(750),
13
- startAccelerating: () => {
14
- }
15
- }, Q = te(xe), Le = () => ne(Q), Ze = ({
16
- delay: e = R.milliseconds(700),
17
- accelerate: t = !0,
18
- // Disabling this for now because it's annoying.
19
- acceleratedDelay: s = R.minutes(60),
20
- accelerationDelay: l = R.seconds(0),
21
- children: u
22
- }) => {
23
- const [c, n] = q(!1), a = F(null), y = h(() => {
24
- c || !t || (n(!0), a.current = setTimeout(() => {
25
- n(!1);
26
- }, new R(l).milliseconds));
27
- }, [c, l]), S = G(
28
- () => c ? s : e,
29
- [c, s, e]
30
- ), B = G(
31
- () => ({ delay: S, startAccelerating: y }),
32
- [S, y]
33
- );
34
- return /* @__PURE__ */ T.jsx(Q, { value: B, children: u });
35
- }, $e = (e) => ({ key: t, ...s }) => /* @__PURE__ */ oe(e, { ...s, key: t }), ge = (e) => typeof e == "function", ye = 150, W = ["top", "bottom"], J = ["left", "right"], z = [
36
- ...J,
37
- ...W
38
- ], U = [
39
- ...z,
40
- "center"
41
- ], Se = {
42
- [i.xyToString(i.TOP_RIGHT)]: (e, t) => g.translate(e, "x", -d.width(t)),
43
- [i.xyToString(i.TOP_LEFT)]: (e, t) => g.translate(e, "x", d.width(t)),
44
- [i.xyToString(i.BOTTOM_RIGHT)]: (e, t) => g.translate(e, "x", -d.width(t)),
45
- [i.xyToString(i.BOTTOM_LEFT)]: (e, t) => g.translate(e, "x", d.width(t))
46
- }, k = (e, t, s) => {
47
- for (const l of s)
48
- if (Math.abs(d.loc(t, l) - d.loc(e, l)) > ye) return l;
49
- return s[0];
50
- }, Ce = (e, t, s) => {
51
- const l = i.location.safeParse(e), u = (n) => {
52
- let a;
53
- return n === "center" ? a = z : i.isX(n) ? a = ["center", ...W] : a = ["center", ...J], i.construct(k(t, s, a));
54
- };
55
- if (l.success)
56
- return i.constructXY(l.data, u(l.data));
57
- if (e != null) {
58
- const n = { ...e };
59
- return n.x == null && n.y != null ? n.x = u(i.construct(n.y)) : n.y == null && n.x != null ? n.y = u(i.construct(n.x)) : n.x == null && n.y == null && (n.x = k(t, s, U), n.y = u(i.construct(n.x))), i.constructXY(n);
60
- }
61
- const c = k(t, s, U);
62
- return i.constructXY(c, u(c));
63
- }, Me = (e, t) => {
64
- let s = e;
65
- for (; s != null; ) {
66
- if (s.id === t) return s;
67
- s = s.parentElement;
68
- }
69
- return e;
70
- }, ve = ({
71
- delay: e,
72
- children: t,
73
- location: s,
74
- hide: l = !1
75
- }) => {
76
- const { startAccelerating: u, delay: c } = Le(), n = new R(e ?? c), [a, y, S] = ie(null), [B, C] = q(""), M = F(null), P = se(), x = F(null), v = F(null), m = h((o) => {
77
- o == null && S.current == null || v.current != null || (o != null ? (y(o), v.current = setTimeout(() => {
78
- C(r.M("loaded")), v.current = null;
79
- }, 1)) : (C(""), v.current = setTimeout(() => {
80
- y(null), v.current = null;
81
- }, 500)));
82
- }, []), L = h(
83
- (o, O) => {
84
- if (!O || l)
85
- return x.current?.(), m(null);
86
- u();
87
- const f = d.construct(Me(o.target, P));
88
- d.contains(f, g.construct(o)) || (x.current?.(), m(null));
89
- const N = d.construct(document.documentElement), I = Ce(s, f, N);
90
- let E = d.xyLoc(f, I);
91
- const _ = Se[i.xyToString(I)];
92
- _ != null && (E = _(E, f));
93
- const $ = d.construct(document.body);
94
- m({
95
- location: I,
96
- position: g.translate(E, g.scale(d.topLeft($), -1)),
97
- triggerDims: d.dims(f)
98
- }), x.current?.();
99
- const b = (X) => {
100
- const H = g.construct(X);
101
- d.contains(f, H) || (m(null), document.removeEventListener("mousemove", b), x.current = null, M.current != null && clearTimeout(M.current));
102
- };
103
- document.addEventListener("mousemove", b), x.current = () => document.removeEventListener("mousemove", b), document.addEventListener(
104
- "mousedown",
105
- () => {
106
- m(null), x.current?.();
107
- },
108
- { once: !0 }
109
- );
110
- },
111
- [u, s, l, P, n.milliseconds]
112
- );
113
- l && a != null && m(null);
114
- const Z = h(
115
- (o) => {
116
- M.current = setTimeout(
117
- () => L(o, !0),
118
- n.milliseconds
119
- );
120
- },
121
- [L, n.milliseconds]
122
- ), j = h(
123
- (o) => {
124
- M.current != null && clearTimeout(M.current), L(o, !1);
125
- },
126
- [L]
127
- ), [D, w] = t, Y = document.body;
128
- return /* @__PURE__ */ T.jsxs(T.Fragment, { children: [
129
- a != null && Te(
130
- /* @__PURE__ */ T.jsx(
131
- "div",
132
- {
133
- className: r(
134
- r.B("tooltip"),
135
- r.loc(a.location.x),
136
- r.loc(a.location.y),
137
- B
138
- ),
139
- style: {
140
- [r.var("pos-x")]: r.px(a.position.x),
141
- [r.var("pos-y")]: r.px(a.position.y)
142
- },
143
- children: ge(D) ? D(a) : Oe(D)
144
- },
145
- P
146
- ),
147
- Y
148
- ),
149
- re(w, {
150
- onMouseEnter: (o) => {
151
- Z(o), w.props.onMouseEnter?.(o);
152
- },
153
- onMouseLeave: (o) => {
154
- j(o), w.props.onMouseLeave?.(o);
155
- },
156
- onMouseDown: h(
157
- (o) => {
158
- j(o), w.props.onMouseDown?.(o);
159
- },
160
- [L]
161
- )
162
- })
163
- ] });
164
- }, Oe = (e) => typeof e == "string" || typeof e == "number" || !le(e) ? /* @__PURE__ */ T.jsx(K, { level: "small", color: 11, weight: 450, children: e }) : e, he = (e) => {
165
- const t = ({
166
- tooltipDelay: s,
167
- tooltip: l,
168
- tooltipLocation: u,
169
- ...c
170
- }) => {
171
- const n = /* @__PURE__ */ T.jsx(e, { ...c });
172
- return l == null ? n : /* @__PURE__ */ T.jsxs(ve, { delay: s, location: u, children: [
173
- l,
174
- n
175
- ] });
176
- };
177
- return t.displayName = `Tooltip.Wrap(${e.displayName ?? e.name})`, t;
178
- }, A = "btn", Re = (e, t) => {
179
- if (e === !0) return t;
180
- if (e != null && e !== !1) return e;
181
- }, we = ({
182
- size: e,
183
- variant: t = "outlined",
184
- className: s,
185
- disabled: l,
186
- preventClick: u,
187
- level: c,
188
- trigger: n,
189
- triggerIndicator: a,
190
- onClickDelay: y = 0,
191
- onClick: S,
192
- color: B,
193
- status: C,
194
- style: M,
195
- onMouseDown: P,
196
- textColor: x,
197
- textVariant: v,
198
- tabIndex: m,
199
- contrast: L,
200
- children: Z,
201
- defaultEl: j = "button",
202
- el: D,
203
- ghost: w,
204
- ...Y
205
- }) => {
206
- const o = R.fromMilliseconds(y), O = l === !0 || C === "loading" || C === "disabled";
207
- t === "preview" && (u = !0), (l || u && m == null) && (m = -1);
208
- const f = (p) => {
209
- if (!(O || t === "preview" || u === !0) && o.isZero)
210
- return S?.(p);
211
- }, N = F(null), I = (p) => {
212
- m == -1 && p.preventDefault(), P?.(p), !(O || t === "preview" || o.isZero) && (document.addEventListener(
213
- "mouseup",
214
- () => N.current != null && clearTimeout(N.current)
215
- ), N.current = setTimeout(() => {
216
- S?.(p), N.current = null;
217
- }, o.milliseconds));
218
- };
219
- Ee({
220
- triggers: n,
221
- callback: h(
222
- ({ stage: p }) => {
223
- p !== "end" || O || t === "preview" || f(
224
- new MouseEvent("click")
225
- );
226
- },
227
- [f, O]
228
- )
229
- });
230
- let E = M;
231
- const _ = V.colorZ.safeParse(B), $ = _.success && (t === "filled" || t === "outlined");
232
- if ($) {
233
- const p = pe();
234
- E = {
235
- ...E,
236
- [r.var("btn-color")]: V.rgbString(_.data),
237
- [r.var("btn-text-color")]: V.rgbCSS(
238
- V.pickByContrast(_.data, p.colors.text, p.colors.textInverted)
239
- )
240
- };
241
- }
242
- o.isZero || (E = {
243
- ...E,
244
- [r.var("btn-delay")]: `${o.seconds.toString()}s`
245
- }), e == null && c != null ? e = de[c] : e != null && c == null ? c = me[e] : j !== "div" && (e ??= "medium"), c ??= "p";
246
- const b = C === "loading", X = ae(Z), H = Re(a, n);
247
- return /* @__PURE__ */ T.jsxs(
248
- K,
249
- {
250
- el: D,
251
- defaultEl: j,
252
- direction: "x",
253
- className: r(
254
- r.B(A),
255
- L != null && r.BM(A, `contrast-${L}`),
256
- u === !0 && r.BM(A, "prevent-click"),
257
- t !== "preview" && r.disabled(O),
258
- r.BM(A, t),
259
- $ && r.BM(A, "custom-color"),
260
- w && r.BM(A, "ghost"),
261
- s
262
- ),
263
- size: e,
264
- tabIndex: m,
265
- onClick: f,
266
- onMouseDown: I,
267
- style: E,
268
- color: x,
269
- gap: e === "small" || e === "tiny" ? "small" : void 0,
270
- bordered: t !== "text",
271
- level: c,
272
- variant: v,
273
- square: X,
274
- overflow: "nowrap",
275
- status: C,
276
- ...ee.purgeUndefined(Y),
277
- children: [
278
- (!b || !X) && Z,
279
- b && /* @__PURE__ */ T.jsx(ce, {}),
280
- H != null && /* @__PURE__ */ T.jsx(
281
- ue,
282
- {
283
- className: r.B("trigger-indicator"),
284
- "aria-label": "trigger-indicator",
285
- trigger: H,
286
- color: 9,
287
- gap: "tiny",
288
- level: fe(c)
289
- }
290
- )
291
- ]
292
- }
293
- );
294
- }, Xe = he(we);
295
- export {
296
- Xe as B,
297
- Ze as C,
298
- ve as D,
299
- Ce as c,
300
- Oe as f,
301
- ge as i,
302
- $e as r,
303
- Le as u,
304
- he as w
305
- };
@@ -1 +0,0 @@
1
- "use strict";const f=require("./jsx-runtime-Dszzpdy0.cjs"),e=require("./css-HnNQMUzV.cjs"),l=require("react"),F=require("./Text-DECnk5vG.cjs"),q=require("./Editable-BXFY3-UW.cjs"),k=require("./types-D-yz1qsT.cjs"),ee=require("./Provider-575hnWmi.cjs");require("./provider-lNhTlIWj.cjs");const te=require("react-dom"),ne=require("./hooks-D_-XdOAe.cjs"),oe={delay:e.a$1.milliseconds(750),startAccelerating:()=>{}},Z=l.createContext(oe),X=()=>l.use(Z),se=({delay:t=e.a$1.milliseconds(700),accelerate:n=!0,acceleratedDelay:r=e.a$1.minutes(60),accelerationDelay:c=e.a$1.seconds(0),children:i})=>{const[u,o]=l.useState(!1),a=l.useRef(null),E=l.useCallback(()=>{u||!n||(o(!0),a.current=setTimeout(()=>{o(!1)},new e.a$1(c).milliseconds))},[u,c]),T=l.useMemo(()=>u?r:t,[u,r,t]),O=l.useMemo(()=>({delay:T,startAccelerating:E}),[T,E]);return f.jsxRuntimeExports.jsx(Z,{value:O,children:i})},re=t=>({key:n,...r})=>l.createElement(t,{...r,key:n}),H=t=>typeof t=="function",le=150,V=["top","bottom"],Y=["left","right"],G=[...Y,...V],Q=[...G,"center"],ce={[e.K.xyToString(e.K.TOP_RIGHT)]:(t,n)=>e.Q.translate(t,"x",-e.jt.width(n)),[e.K.xyToString(e.K.TOP_LEFT)]:(t,n)=>e.Q.translate(t,"x",e.jt.width(n)),[e.K.xyToString(e.K.BOTTOM_RIGHT)]:(t,n)=>e.Q.translate(t,"x",-e.jt.width(n)),[e.K.xyToString(e.K.BOTTOM_LEFT)]:(t,n)=>e.Q.translate(t,"x",e.jt.width(n))},$=(t,n,r)=>{for(const c of r)if(Math.abs(e.jt.loc(n,c)-e.jt.loc(t,c))>le)return c;return r[0]},U=(t,n,r)=>{const c=e.K.location.safeParse(t),i=o=>{let a;return o==="center"?a=G:e.K.isX(o)?a=["center",...V]:a=["center",...Y],e.K.construct($(n,r,a))};if(c.success)return e.K.constructXY(c.data,i(c.data));if(t!=null){const o={...t};return o.x==null&&o.y!=null?o.x=i(e.K.construct(o.y)):o.y==null&&o.x!=null?o.y=i(e.K.construct(o.x)):o.x==null&&o.y==null&&(o.x=$(n,r,Q),o.y=i(e.K.construct(o.x))),e.K.constructXY(o)}const u=$(n,r,Q);return e.K.constructXY(u,i(u))},ue=(t,n)=>{let r=t;for(;r!=null;){if(r.id===n)return r;r=r.parentElement}return t},W=({delay:t,children:n,location:r,hide:c=!1})=>{const{startAccelerating:i,delay:u}=X(),o=new e.a$1(t??u),[a,E,T]=q.useCombinedStateAndRef(null),[O,g]=l.useState(""),L=l.useRef(null),w=l.useId(),p=l.useRef(null),R=l.useRef(null),d=l.useCallback(s=>{s==null&&T.current==null||R.current!=null||(s!=null?(E(s),R.current=setTimeout(()=>{g(e.CSS.M("loaded")),R.current=null},1)):(g(""),R.current=setTimeout(()=>{E(null),R.current=null},500)))},[]),C=l.useCallback((s,y)=>{if(!y||c)return p.current?.(),d(null);i();const m=e.jt.construct(ue(s.target,w));e.jt.contains(m,e.Q.construct(s))||(p.current?.(),d(null));const M=e.jt.construct(document.documentElement),K=U(r,m,M);let x=e.jt.xyLoc(m,K);const b=ce[e.K.xyToString(K)];b!=null&&(x=b(x,m));const A=e.jt.construct(document.body);d({location:K,position:e.Q.translate(x,e.Q.scale(e.jt.topLeft(A),-1)),triggerDims:e.jt.dims(m)}),p.current?.();const h=B=>{const D=e.Q.construct(B);e.jt.contains(m,D)||(d(null),document.removeEventListener("mousemove",h),p.current=null,L.current!=null&&clearTimeout(L.current))};document.addEventListener("mousemove",h),p.current=()=>document.removeEventListener("mousemove",h),document.addEventListener("mousedown",()=>{d(null),p.current?.()},{once:!0})},[i,r,c,w,o.milliseconds]);c&&a!=null&&d(null);const P=l.useCallback(s=>{L.current=setTimeout(()=>C(s,!0),o.milliseconds)},[C,o.milliseconds]),N=l.useCallback(s=>{L.current!=null&&clearTimeout(L.current),C(s,!1)},[C]),[_,j]=n,I=document.body;return f.jsxRuntimeExports.jsxs(f.jsxRuntimeExports.Fragment,{children:[a!=null&&te.createPortal(f.jsxRuntimeExports.jsx("div",{className:e.CSS(e.CSS.B("tooltip"),e.CSS.loc(a.location.x),e.CSS.loc(a.location.y),O),style:{[e.CSS.var("pos-x")]:e.CSS.px(a.position.x),[e.CSS.var("pos-y")]:e.CSS.px(a.position.y)},children:H(_)?_(a):J(_)},w),I),l.cloneElement(j,{onMouseEnter:s=>{P(s),j.props.onMouseEnter?.(s)},onMouseLeave:s=>{N(s),j.props.onMouseLeave?.(s)},onMouseDown:l.useCallback(s=>{N(s),j.props.onMouseDown?.(s)},[C])})]})},J=t=>typeof t=="string"||typeof t=="number"||!l.isValidElement(t)?f.jsxRuntimeExports.jsx(q.Text,{level:"small",color:11,weight:450,children:t}):t,z=t=>{const n=({tooltipDelay:r,tooltip:c,tooltipLocation:i,...u})=>{const o=f.jsxRuntimeExports.jsx(t,{...u});return c==null?o:f.jsxRuntimeExports.jsxs(W,{delay:r,location:i,children:[c,o]})};return n.displayName=`Tooltip.Wrap(${t.displayName??t.name})`,n},v="btn",ie=(t,n)=>{if(t===!0)return n;if(t!=null&&t!==!1)return t},ae=({size:t,variant:n="outlined",className:r,disabled:c,preventClick:i,level:u,trigger:o,triggerIndicator:a,onClickDelay:E=0,onClick:T,color:O,status:g,style:L,onMouseDown:w,textColor:p,textVariant:R,tabIndex:d,contrast:C,children:P,defaultEl:N="button",el:_,ghost:j,...I})=>{const s=e.a$1.fromMilliseconds(E),y=c===!0||g==="loading"||g==="disabled";n==="preview"&&(i=!0),(c||i&&d==null)&&(d=-1);const m=S=>{if(!(y||n==="preview"||i===!0)&&s.isZero)return T?.(S)},M=l.useRef(null),K=S=>{d==-1&&S.preventDefault(),w?.(S),!(y||n==="preview"||s.isZero)&&(document.addEventListener("mouseup",()=>M.current!=null&&clearTimeout(M.current)),M.current=setTimeout(()=>{T?.(S),M.current=null},s.milliseconds))};ne.use({triggers:o,callback:l.useCallback(({stage:S})=>{S!=="end"||y||n==="preview"||m(new MouseEvent("click"))},[m,y])});let x=L;const b=e.Lr.colorZ.safeParse(O),A=b.success&&(n==="filled"||n==="outlined");if(A){const S=ee.use();x={...x,[e.CSS.var("btn-color")]:e.Lr.rgbString(b.data),[e.CSS.var("btn-text-color")]:e.Lr.rgbCSS(e.Lr.pickByContrast(b.data,S.colors.text,S.colors.textInverted))}}s.isZero||(x={...x,[e.CSS.var("btn-delay")]:`${s.seconds.toString()}s`}),t==null&&u!=null?t=k.LEVEL_COMPONENT_SIZES[u]:t!=null&&u==null?u=k.COMPONENT_SIZE_LEVELS[t]:N!=="div"&&(t??="medium"),u??="p";const h=g==="loading",B=q.isSquare(P),D=ie(a,o);return f.jsxRuntimeExports.jsxs(q.Text,{el:_,defaultEl:N,direction:"x",className:e.CSS(e.CSS.B(v),C!=null&&e.CSS.BM(v,`contrast-${C}`),i===!0&&e.CSS.BM(v,"prevent-click"),n!=="preview"&&e.CSS.disabled(y),e.CSS.BM(v,n),A&&e.CSS.BM(v,"custom-color"),j&&e.CSS.BM(v,"ghost"),r),size:t,tabIndex:d,onClick:m,onMouseDown:K,style:x,color:p,gap:t==="small"||t==="tiny"?"small":void 0,bordered:n!=="text",level:u,variant:R,square:B,overflow:"nowrap",status:g,...e.l.purgeUndefined(I),children:[(!h||!B)&&P,h&&f.jsxRuntimeExports.jsx(F.Loading,{}),D!=null&&f.jsxRuntimeExports.jsx(F.Text,{className:e.CSS.B("trigger-indicator"),"aria-label":"trigger-indicator",trigger:D,color:9,gap:"tiny",level:k.downLevel(u)})]})},de=z(ae);exports.Button=de;exports.Config=se;exports.Dialog=W;exports.chooseLocation=U;exports.formatTip=J;exports.isRenderProp=H;exports.renderProp=re;exports.useConfig=X;exports.wrap=z;
@@ -1 +0,0 @@
1
- "use strict";const d=require("./jsx-runtime-Dszzpdy0.cjs"),n=require("react"),x=require("./css-HnNQMUzV.cjs"),De=require("./Dialog-DwhFD4z2.cjs"),ee=require("./Animated-Ck-9v2gm.cjs"),$e=require("./Button-C3dvpk52.cjs"),k=require("./Text-DECnk5vG.cjs"),L=require("./Items-DNcTFEUJ.cjs"),g=require("./Editable-BXFY3-UW.cjs"),q=require("./types-D-yz1qsT.cjs"),Q=require("./Provider-575hnWmi.cjs"),_=require("./provider-lNhTlIWj.cjs"),D=require("./Box-BvqALodh.cjs");require("react-dom");const K=require("./hooks-D_-XdOAe.cjs"),te=["ArrowUp"],se=["ArrowDown"],re=["Enter"],He=[te,se,re],Ve=x.a$1.milliseconds(200).milliseconds,Be=x.a$1.milliseconds(100).milliseconds,U=({data:e,initialHover:s=-1,onSelect:t})=>{const r=g.useSyncedRef(e),[l,u,o]=g.useCombinedStateAndRef(s),{visible:c}=ee.useContext(),f=g.useSyncedRef(c),{scrollToIndex:m}=L.useScroller(),S=n.useCallback(i=>{const a=o.current,R=q.executeSetter(i,a);u(R),m(R,a>R?"bottom":"top")},[m]);n.useEffect(()=>{o.current>=e.length&&S(0)},[e.length]);const E=n.useRef(null),h=n.useCallback(({triggers:i,stage:a})=>{if(!f.current||(E.current!=null&&(clearInterval(E.current),E.current=null),a!=="start"))return;const R=r.current;if(k.match(i,[re])){if(o.current===-1)return;t?.(R[o.current]);return}const v=()=>{const p=r.current;k.match(i,[te],{loose:!0})?S(C=>C<=0?p.length-1:C-1):k.match(i,[se],{loose:!0})&&S(C=>C>=p.length-1?0:C+1)};v(),E.current=setTimeout(()=>{E.current=setInterval(v,Be)},Ve)},[t]);return K.use({triggers:He,callback:h,loose:!0}),{hover:e[l]}},ne=({allowNone:e=!1,onChange:s,value:t,closeDialogOnSelect:r=!1,initialHover:l,autoSelectOnNone:u=!1})=>{const o=g.useSyncedRef(t),{data:c}=L.useData(),{close:f}=ee.useContext(),m=g.useSyncedRef(c);n.useEffect(()=>{const a=t!=null&&c.includes(t);u&&c.length>0&&!a&&s(c[0],{clicked:c[0],clickedIndex:0})},[u,s,t,c.length,c]);const S=n.useCallback(a=>{if(o.current===a){e&&s(null,{clicked:null,clickedIndex:null}),r&&f();return}const R=m.current.findIndex(v=>v===a);s(a,{clicked:a,clickedIndex:R}),r&&f()},[m,s,f]),E=n.useCallback(()=>{e&&s(null,{clicked:null,clickedIndex:null})},[s,e]),h=n.useCallback(a=>s(a[0],{clicked:null,clickedIndex:null}),[s]),i=U({data:c,onSelect:S,initialHover:l});return{onSelect:S,setSelected:h,clear:E,...i}},ce=({value:e=[],replaceOnSingle:s=!1,onChange:t,initialHover:r,allowNone:l=!0,closeDialogOnSelect:u=!1,autoSelectOnNone:o=!1})=>{const{data:c}=L.useData(),f=n.useRef(null),m=K.useHeldRef({triggers:[["Shift"]],loose:!0}),S=K.useHeldRef({triggers:[["Control"]],loose:!0}),E=g.useSyncedRef(e),h=g.useSyncedRef(c);n.useEffect(()=>{const p=c.some(C=>e.includes(C));o&&c.length>0&&!p&&t([c[0]],{clicked:c[0],clickedIndex:0})},[o,t,e,c.length,c]);const i=n.useCallback(p=>{const C=f.current,y=h.current;let A=[];const j=x.a.toArray(E.current).filter(T=>T!=null);if(S.current.held&&s)j.includes(p)?A=j.filter(T=>T!==p):A=[...j,p];else if(m.current.held&&C!==null){const[T,M]=[y.findIndex(I=>I===p),y.findIndex(I=>I===C)].sort((I,V)=>I-V),w=y.slice(T,M+1).map(I=>I);w.slice(1,w.length-1).every(I=>j.includes(I))&&j.includes(p)?A=j.filter(I=>!w.includes(I)):A=[...j,...w],f.current=null}else f.current=p,s?A=j.includes(p)&&j.length===1?[]:[p]:j.includes(p)?A=j.filter(T=>T!==p):A=[...j,p];const N=x.c.unique(A);if(N.length===0){if(!l)return;f.current=null}t(N,{clicked:p,clickedIndex:y.findIndex(T=>T===p)}),u&&close()},[E,h,t]),a=n.useCallback(()=>t([],{clicked:null,clickedIndex:0}),[t]),R=n.useCallback(p=>t(p,{clicked:null,clickedIndex:0}),[t]),v=U({data:c,onSelect:i,initialHover:r});return{onSelect:i,setSelected:R,clear:a,...v}},Fe=()=>{const e=g.useInitializerRef(()=>new Map),s=n.useCallback(r=>{e.current.forEach((l,u)=>{(l==null||r.includes(l))&&u()})},[]),t=n.useCallback((r,l)=>{if(e.current.has(r)){const u=e.current.get(r);console.warn(`[store] attempted to subscribe listener with key ${u} to key ${l} without being unsubscribed first`)}return e.current.set(r,l),()=>e.current.delete(r)},[]);return{notifyListeners:s,subscribe:t}},oe=n.createContext({getState:()=>({value:void 0,hover:void 0}),onSelect:()=>{},setSelected:()=>{},clear:()=>{},subscribe:()=>()=>{}}),Ge=(e,s)=>e==null?!1:Array.isArray(e)?e.includes(s):e===s,Ke=({children:e,...s})=>{const{value:t}=s,r=ce(s);return d.jsxRuntimeExports.jsx(ue,{value:t,...r,children:e})},Ue=({children:e,...s})=>{const{value:t}=s,r=ne(s);return d.jsxRuntimeExports.jsx(ue,{value:t,...r,children:e})},ue=({value:e,onSelect:s,clear:t,setSelected:r,children:l,hover:u})=>{const o=n.useRef(x.a.toArray(e)),c=g.useSyncedRef(u),{notifyListeners:f,subscribe:m}=Fe(),S=n.useCallback(()=>({value:o.current,hover:c.current}),[]),E=n.useMemo(()=>({onSelect:s,setSelected:r,clear:t,hover:u,subscribe:m,getState:S}),[S,s,r,t,u,m]);return n.useEffect(()=>{const h=o.current,i=x.a.toArray(e),a=[...h,...i];o.current=i,f(a)},[e,f]),d.jsxRuntimeExports.jsx(oe.Provider,{value:E,children:l})},H=()=>n.useContext(oe),le=e=>{const{getState:s,onSelect:t,subscribe:r}=H(),l=n.useCallback(()=>t(e),[e,t]),u=n.useSyncExternalStore(n.useCallback(o=>r(o,e),[e,r]),n.useCallback(()=>{const o=s(),c=Ge(o.value,e),f=o.hover===e;return c&&f?"selected-hovered":c?"selected":f?"hovered":"none"},[e,s]));return n.useMemo(()=>({selected:u==="selected"||u==="selected-hovered",hovered:u==="hovered"||u==="selected-hovered",onSelect:l}),[u,l])},Oe=()=>{const{getState:e,subscribe:s}=H(),t=n.useSyncExternalStore(s,()=>e().value);return n.useMemo(()=>t==null?[]:x.a.toArray(t),[t])},Ze=()=>H().clear,ie=({data:e,getItem:s,subscribe:t,itemHeight:r,multiple:l,onFetchMore:u,virtual:o=!1,value:c,onChange:f,...m})=>d.jsxRuntimeExports.jsx(L.Frame,{data:e,getItem:s,subscribe:t,onFetchMore:u,itemHeight:r,virtual:o,children:l?d.jsxRuntimeExports.jsx(Ke,{value:c,onChange:f,...m}):d.jsxRuntimeExports.jsx(Ue,{value:c,onChange:f,...m})});ie.displayName="Select.Frame";const ae=({size:e="medium",ref:s,value:t,onChange:r,className:l,onFocus:u,onKeyDown:o,selectOnFocus:c=!1,centerPlaceholder:f=!1,placeholder:m,variant:S="outlined",level:E,onBlur:h,disabled:i,resetOnBlurIfEmpty:a=!1,status:R,weight:v,style:p,contrast:C,color:y,sharp:A,onlyChangeOnBlur:j=!1,endContent:N,full:T,children:M,grow:w,shrink:I,borderColor:V,borderWidth:xe,bordered:me,rounded:Se,tabIndex:B,trigger:Ee,triggerIndicator:Re,textColor:pe,textVariant:he,preventClick:je,onClickDelay:ge,startContent:W,tooltip:ve,tooltipDelay:be,tooltipLocation:Ie,hideTooltip:Ce,ghost:Te,area:Ae,...ke})=>{const X=n.useRef(t),[P,F]=n.useState(null),Y=n.useRef(null),G=n.useRef(!1),ye=b=>{G.current=!1,a&&b.target.value===""?r?.(X.current):j&&P!=null&&r?.(P),F(null),h?.(b)},we=b=>{i||(j?F(b.target.value):r?.(b.target.value))},Le=b=>{j&&F(t),u?.(b),X.current=b.target.value},Ne=()=>{!c||G.current||(G.current=!0,Y.current?.select())},Me=b=>{j&&b.key==="Enter"?b.currentTarget.blur():b.key==="Escape"&&(b.currentTarget.blur(),b.stopPropagation()),o?.(b)},Pe=g.useCombinedRefs(s,Y),qe=(t==null||t.length===0)&&P==null&&m!=null&&typeof m!="string";B??=S==="preview"?-1:void 0;const z={style:p,full:T,grow:w,shrink:I},_e=M!=null?{}:z,J=d.jsxRuntimeExports.jsxs($e.Button,{el:"div",x:!0,empty:!0,align:"center",className:x.CSS(x.CSS.B("input"),x.CSS.disabled(i),R!=null&&x.CSS.M(R),l),size:e,level:E,color:y,contrast:C,sharp:A,status:R,bordered:me,borderColor:V,borderWidth:xe,pack:!0,variant:S,rounded:Se,tabIndex:B,trigger:Ee,triggerIndicator:Re,textColor:pe,textVariant:he,preventClick:je,onClickDelay:ge,tooltip:ve,tooltipDelay:be,tooltipLocation:Ie,hideTooltip:Ce,ghost:Te,..._e,children:[qe&&d.jsxRuntimeExports.jsx(g.Text,{className:x.CSS(x.CSS.visible(!1),x.CSS.BE("input","placeholder"),f&&x.CSS.M("centered")),level:E??q.COMPONENT_SIZE_LEVELS[e],children:m}),W!=null&&d.jsxRuntimeExports.jsx(g.Text,{className:x.CSS.BE("input","start-content"),level:E??q.COMPONENT_SIZE_LEVELS[e],children:W}),d.jsxRuntimeExports.jsx(D.Element,{el:Ae?"textarea":"input",ref:Pe,value:P??t,role:"textbox",onChange:we,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",onFocus:Le,onKeyDown:Me,tabIndex:B,onMouseUp:Ne,onBlur:ye,disabled:i,placeholder:typeof m=="string"?m:void 0,style:{fontWeight:v},...ke}),N!=null&&d.jsxRuntimeExports.jsx(g.Text,{className:x.CSS.BE("input","end-content"),level:E??q.COMPONENT_SIZE_LEVELS[e],children:N})]});return M==null?J:d.jsxRuntimeExports.jsxs(D.Box$1,{x:!0,pack:!0,className:x.CSS.BE("input","container"),...z,children:[J,M]})},We=({searchPlaceholder:e="Search...",onSearch:s,actions:t,dialogVariant:r="floating"})=>{const[l,u]=n.useState(""),o=d.jsxRuntimeExports.jsx(ae,{value:l,autoFocus:!0,placeholder:e,size:r==="modal"?"large":"medium",contrast:3,rounded:!0,grow:!0,full:"x",onChange:c=>{u(c),s?.(c)}});return t==null?o:d.jsxRuntimeExports.jsxs(D.Box$1,{pack:!0,x:!0,children:[o,t]})},de=n.createContext([]),fe=n.createContext(()=>{}),Xe=.9,Ye=({children:e,maxHistory:s=500})=>{const[{path:t},{statuses:r},l]=Q.use$1({type:_.Aggregator.TYPE,schema:_.aggregatorStateZ,initialState:{statuses:[]}});if(r.length>s){const o=Math.floor(s*Xe);l(c=>({...c,statuses:r.slice(0,o)}))}const u=n.useCallback(o=>{const c={time:x.r.now(),key:x.Dt.create(),...o};l(f=>({...f,statuses:[c,...f.statuses.filter(m=>m.key!=c.key)]}))},[l]);return d.jsxRuntimeExports.jsx(de,{value:r,children:d.jsxRuntimeExports.jsx(fe,{value:u,children:d.jsxRuntimeExports.jsx(Q.Composite,{path:t,children:e})})})},O=()=>n.use(fe),ze=()=>{const e=O();return n.useMemo(()=>_.createErrorHandler(e),[e])},Je=()=>{const e=O();return n.useMemo(()=>_.createAsyncErrorHandler(e),[e])},Qe=x.a$1.seconds(7),et=x.a$1.seconds(1),tt=({expiration:e=Qe,poll:s=et}={})=>{const t=n.use(de),[r,l]=n.useState(new Set),[u,o]=n.useState(()=>x.r.now());n.useEffect(()=>{const S=setInterval(()=>o(x.r.now()),s.milliseconds);return()=>clearInterval(S)},[s.milliseconds]);const c=n.useMemo(()=>{const S=u.sub(e),h=t.filter(({key:i,time:a})=>a.afterEq(S)&&!r.has(i)).reduce((i,a)=>{const R=`${a.variant}:${a.message}`;if(!i.has(R))return i.set(R,{...a,count:1}),i;const v=i.get(R);return i.set(R,{...v,count:v.count+1,time:a.time.after(v.time)?a.time:v.time}),i},new Map);return Array.from(h.values())},[t,e,r,u]),f=g.useSyncedRef(t),m=n.useCallback(S=>{l(E=>{const h=new Set,i=f.current.find(({key:a})=>a===S);return E.has(S)||h.add(S),i!=null&&f.current.filter(({message:R,variant:v})=>R===i.message&&v===i.variant).forEach(R=>h.add(R.key)),h.size==0?E:new Set([...h,...E])})},[]);return{statuses:c,silence:m}},st=k.createComposite(k.Status,{topRight:k.Add}),$=({level:e="p",variant:s,description:t,hideIcon:r=!1,status:l,className:u,children:o,message:c,color:f,...m})=>{let S;if(l!=null){const{key:a,...R}=l;return d.jsxRuntimeExports.jsx($,{...m,...R})}r||(S=s==="loading"?d.jsxRuntimeExports.jsx(k.Loading,{}):d.jsxRuntimeExports.jsx(k.Circle,{}));const E=x.y.isNonZero(t);o??=c;const h=d.jsxRuntimeExports.jsxs(g.Text,{className:x.CSS(u,!E&&x.CSS.BE("status","text")),level:e,status:s,...t==null?m:{},children:[S,o]});if(!E)return h;const i=d.jsxRuntimeExports.jsx(g.Text,{level:"small",color:8,children:t});return d.jsxRuntimeExports.jsxs(D.Box$1,{y:!0,align:"start",gap:"small",center:!0,...m,children:[h,i]})},rt=({resourceName:e="result"})=>d.jsxRuntimeExports.jsxs(g.Text,{center:!0,status:"disabled",children:["No ",e.toLowerCase(),"s found"]}),Z=n.memo(({onSearch:e,children:s,emptyContent:t,status:r,resourceName:l="result",actions:u,...o})=>(t=n.useMemo(()=>r!=null&&r.variant!=="success"?d.jsxRuntimeExports.jsx($,{center:!0,variant:r?.variant,description:r?.description,children:r?.message}):typeof t=="string"?d.jsxRuntimeExports.jsx($,{center:!0,variant:"disabled",children:t}):t??d.jsxRuntimeExports.jsx(rt,{resourceName:l}),[r?.key,t]),d.jsxRuntimeExports.jsxs(De.Dialog,{...o,className:x.CSS.BE("select","dialog"),bordered:!1,children:[e!=null&&d.jsxRuntimeExports.jsx(We,{dialogVariant:"floating",onSearch:e,searchPlaceholder:`Search ${l}s...`,actions:u}),d.jsxRuntimeExports.jsx(L.Items,{emptyContent:t,bordered:!0,borderColor:6,grow:!0,rounded:!0,full:"x",children:s})]})));Z.displayName="Select.Dialog";const nt=Z,ct=e=>{const{itemKey:s}=e,t=le(s);return d.jsxRuntimeExports.jsx(L.Item,{...t,...e})};exports.Aggregator=Ye;exports.Core=Z;exports.CreateIcon=st;exports.Dialog=nt;exports.Frame=ie;exports.ListItem=ct;exports.Summary=$;exports.Text=ae;exports.useAdder=O;exports.useAsyncErrorHandler=Je;exports.useClear=Ze;exports.useContext=H;exports.useErrorHandler=ze;exports.useHover=U;exports.useItemState=le;exports.useMultiple=ce;exports.useNotifications=tt;exports.useSelection=Oe;exports.useSingle=ne;