@synnaxlabs/pluto 0.47.1 → 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 (177) hide show
  1. package/dist/{Animated-NfnNvlbz.cjs → Animated--SNIwznU.cjs} +1 -1
  2. package/dist/{Animated-CUFx-eAB.js → Animated-CC7iS0zH.js} +21 -21
  3. package/dist/{Animated-CEx4LoLs.js → Animated-DfDp0-ep.js} +4 -4
  4. package/dist/{Animated-Bq6z2XkH.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-BnPvG5WQ.cjs → Dialog-BL8T9CVw.cjs} +1 -1
  10. package/dist/{Dialog-Bi1Sf3oc.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-CHAbP2ZL.cjs → Items-BYlg9bb-.cjs} +1 -1
  16. package/dist/{Items-Cmc6otoS.js → Items-mikdEpyC.js} +8 -8
  17. package/dist/{Menu-CQ_GMgB9.js → Menu-CcWs0t21.js} +9 -9
  18. package/dist/{Menu-BImhHf24.cjs → Menu-DJoh8bH7.cjs} +1 -1
  19. package/dist/{Provider-D0P_lzCo.js → Provider-DScd3hYf.js} +26 -26
  20. package/dist/{Provider-BV7nN39a.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-BnUGzpJq.js → Text-BbbqH88W.js} +491 -486
  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-CMBnwYR4.cjs → external-19BIaQc6.cjs} +1 -1
  48. package/dist/{external-Daiy-vZ3.js → external-1uZLLxz-.js} +771 -792
  49. package/dist/{external-DGNBXSAj.js → external-6rS2YiWR.js} +16066 -15782
  50. package/dist/{external-CAcL3DJP.js → external-8H4eB7TN.js} +8 -8
  51. package/dist/{external-Eaj0hgzm.cjs → external-AInsIJp-.cjs} +1 -1
  52. package/dist/{external-CTsR6bs9.cjs → external-B3jTkhc4.cjs} +4 -22
  53. package/dist/external-B8hxM_jw.cjs +79 -0
  54. package/dist/{external-BTlfU938.js → external-BOWnCKIe.js} +3 -3
  55. package/dist/{external-D7EEjQaR.js → external-Bi-OQCBH.js} +19 -18
  56. package/dist/{external-6vmyay3h.js → external-Bq4gfE5e.js} +6 -6
  57. package/dist/{external-6RyUkYAB.js → external-C0_sN1J0.js} +2 -2
  58. package/dist/{external-CSntN1is.cjs → external-CFZ33YbY.cjs} +1 -1
  59. package/dist/{external-CTrkvlmd.cjs → external-CFdDgpzj.cjs} +1 -1
  60. package/dist/{external-BcZE443U.cjs → external-CJFfVl_u.cjs} +1 -1
  61. package/dist/{external-BrQU-ZN8.cjs → external-CN15E8ls.cjs} +1 -1
  62. package/dist/{external-Bo9Dyf8v.js → external-Caetm5fI.js} +5 -5
  63. package/dist/external-CfEVFfhL.cjs +1 -0
  64. package/dist/{external-CtiE4JLk.js → external-D6TsHpoG.js} +10 -10
  65. package/dist/{external-Clec0nDH.cjs → external-D7WE6Leo.cjs} +1 -1
  66. package/dist/{external-OLyg-4Ab.cjs → external-DUGcSVbJ.cjs} +1 -1
  67. package/dist/{external-BSjAne2q.js → external-DwhfVdFp.js} +5 -5
  68. package/dist/{external-BhOvtmPt.js → external-X_eFMRtE.js} +2 -2
  69. package/dist/{external-Dl0l3iHN.cjs → external-pRQzznIG.cjs} +1 -1
  70. package/dist/{external-OzDazbiJ.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-Bvv-S6WC.js → hooks-BmUn8s1r.js} +4 -4
  78. package/dist/{hooks-CoF3Fkrn.cjs → hooks-CutQY1o9.cjs} +1 -1
  79. package/dist/index.cjs +8 -40
  80. package/dist/index.js +9333 -9141
  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/user/Avatar.d.ts +7 -0
  136. package/dist/src/user/Avatar.d.ts.map +1 -0
  137. package/dist/src/user/external.d.ts +3 -0
  138. package/dist/src/user/external.d.ts.map +1 -0
  139. package/dist/src/user/index.d.ts +1 -1
  140. package/dist/src/user/index.d.ts.map +1 -1
  141. package/dist/src/user/queries.d.ts +1 -0
  142. package/dist/src/user/queries.d.ts.map +1 -1
  143. package/dist/src/vis/draw2d/index.d.ts +2 -1
  144. package/dist/src/vis/draw2d/index.d.ts.map +1 -1
  145. package/dist/src/vis/measure/Measure.d.ts +4 -1
  146. package/dist/src/vis/measure/Measure.d.ts.map +1 -1
  147. package/dist/src/vis/measure/aether/measure.d.ts +27 -1
  148. package/dist/src/vis/measure/aether/measure.d.ts.map +1 -1
  149. package/dist/tabs.cjs +1 -1
  150. package/dist/tabs.js +1 -1
  151. package/dist/text.cjs +1 -1
  152. package/dist/text.js +2 -2
  153. package/dist/theming.cjs +1 -1
  154. package/dist/theming.js +2 -2
  155. package/dist/tree.cjs +1 -1
  156. package/dist/tree.js +1 -1
  157. package/dist/triggers.cjs +1 -1
  158. package/dist/triggers.js +1 -1
  159. package/dist/{units-BqIfn6VX.js → units-cBd5OJg4.js} +1 -1
  160. package/dist/units-zxke9Ng2.cjs +1 -0
  161. package/dist/value-Ce4T858D.cjs +53 -0
  162. package/dist/{value-ChGMEPP3.js → value-UJNdARAu.js} +2715 -2512
  163. package/dist/video.cjs +1 -1
  164. package/dist/video.js +1 -1
  165. package/package.json +23 -21
  166. package/dist/Button-BMeq9Z2I.cjs +0 -1
  167. package/dist/Button-CMRdj9Ti.js +0 -305
  168. package/dist/Tags-6IUFBvU-.js +0 -604
  169. package/dist/Tags-DtnStTuF.cjs +0 -1
  170. package/dist/Text-DY08sSZe.cjs +0 -1
  171. package/dist/css-HnNQMUzV.cjs +0 -8
  172. package/dist/external-DDzR-j7b.cjs +0 -1
  173. package/dist/external-Ddn3rc_Q.cjs +0 -85
  174. package/dist/jsx-runtime-Dszzpdy0.cjs +0 -22
  175. package/dist/provider-lNhTlIWj.cjs +0 -72
  176. package/dist/units-DCifOxd9.cjs +0 -1
  177. 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.1",
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/x": "^0.47.0",
25
- "@synnaxlabs/freighter": "0.47.0",
26
- "@synnaxlabs/client": "^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,22 +32,23 @@
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/vite-plugin": "^0.43.0",
48
49
  "eslint-config-synnaxlabs": "^0.43.0",
49
50
  "stylelint-config-synnaxlabs": "^0.43.0",
51
+ "@synnaxlabs/vite-plugin": "^0.43.0",
50
52
  "@synnaxlabs/tsconfig": "^0.43.0"
51
53
  },
52
54
  "files": [
@@ -1 +0,0 @@
1
- "use strict";const f=require("./jsx-runtime-Dszzpdy0.cjs"),e=require("./css-HnNQMUzV.cjs"),l=require("react"),F=require("./Text-DY08sSZe.cjs"),q=require("./Editable-BXFY3-UW.cjs"),k=require("./types-D-yz1qsT.cjs"),ee=require("./Provider-BV7nN39a.cjs");require("./provider-lNhTlIWj.cjs");const te=require("react-dom"),ne=require("./hooks-CoF3Fkrn.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,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-BnUGzpJq.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-D0P_lzCo.js";
8
- import "./provider-C8In649C.js";
9
- import { createPortal as Te } from "react-dom";
10
- import { u as Ee } from "./hooks-Bvv-S6WC.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
- };