@synnaxlabs/pluto 0.53.1 → 0.54.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 (286) hide show
  1. package/dist/aether-BBeeeA1z.cjs +10 -0
  2. package/dist/aether-Bl3vMZO3.js +716 -0
  3. package/dist/aether-DmSenWd4.js +704 -0
  4. package/dist/aether-VeYJQDcf.cjs +11 -0
  5. package/dist/button-DBdzH6Ky.cjs +1 -0
  6. package/dist/button-KtgabnXL.js +251 -0
  7. package/dist/button.cjs +1 -1
  8. package/dist/button.js +2 -4
  9. package/dist/chunk-DeC0fbbY.js +23 -0
  10. package/dist/chunk-FeXHwk1_.cjs +1 -0
  11. package/dist/color-Cspp5cKp.js +7904 -0
  12. package/dist/color-DCCr0Z1b.cjs +29 -0
  13. package/dist/color.cjs +1 -1
  14. package/dist/color.js +2 -4
  15. package/dist/css-Ce-x3HcK.cjs +1 -0
  16. package/dist/css-UEo6g0SR.js +69 -0
  17. package/dist/css.cjs +1 -1
  18. package/dist/css.js +2 -8
  19. package/dist/dialog-BTCrp5Yv.cjs +1 -0
  20. package/dist/dialog-ClQI4sHo.js +331 -0
  21. package/dist/dialog.cjs +1 -1
  22. package/dist/dialog.js +2 -4
  23. package/dist/divider-BYRH8-5K.js +13 -0
  24. package/dist/divider-CEyntx31.cjs +1 -0
  25. package/dist/ether-CZlE80D0.cjs +53 -0
  26. package/dist/ether-KMGPzrZR.js +6222 -0
  27. package/dist/ether.cjs +1 -1
  28. package/dist/ether.js +4 -104
  29. package/dist/event-Btz3eWg1.cjs +1 -0
  30. package/dist/event-Z4V8c501.js +4 -0
  31. package/dist/flex-Bgtu0DK6.js +62 -0
  32. package/dist/flex-D_GoD3ed.cjs +1 -0
  33. package/dist/flex.cjs +1 -1
  34. package/dist/flex.js +2 -4
  35. package/dist/haul-BdMc4rLJ.js +171 -0
  36. package/dist/haul-ZdSHqhp6.cjs +1 -0
  37. package/dist/header-CNx3pAkx.js +64 -0
  38. package/dist/header-lD0sRjCR.cjs +1 -0
  39. package/dist/header.cjs +1 -1
  40. package/dist/header.js +2 -4
  41. package/dist/input-CdL1OPDU.cjs +74 -0
  42. package/dist/input-h-4axMs7.js +47772 -0
  43. package/dist/input.cjs +1 -1
  44. package/dist/input.js +2 -4
  45. package/dist/list-DacuSBB3.cjs +4 -0
  46. package/dist/list-dZDsxTzd.js +1756 -0
  47. package/dist/list.cjs +1 -1
  48. package/dist/list.js +2 -4
  49. package/dist/menu-eeXfR_zT.js +170 -0
  50. package/dist/menu-yADx33I8.cjs +1 -0
  51. package/dist/menu.cjs +1 -1
  52. package/dist/menu.js +2 -4
  53. package/dist/pluto.cjs +52 -0
  54. package/dist/pluto.css +2 -1
  55. package/dist/pluto.js +36474 -0
  56. package/dist/select-B93mFqvf.js +1328 -0
  57. package/dist/select-gt7wGGO4.cjs +1 -0
  58. package/dist/src/access/policy/queries.d.ts +34 -34
  59. package/dist/src/access/policy/queries.d.ts.map +1 -1
  60. package/dist/src/access/queries.d.ts +1 -1
  61. package/dist/src/access/queries.d.ts.map +1 -1
  62. package/dist/src/access/role/queries.d.ts +2 -12
  63. package/dist/src/access/role/queries.d.ts.map +1 -1
  64. package/dist/src/arc/queries.d.ts +1167 -29
  65. package/dist/src/arc/queries.d.ts.map +1 -1
  66. package/dist/src/channel/LinePlot.d.ts +2 -2
  67. package/dist/src/channel/LinePlot.d.ts.map +1 -1
  68. package/dist/src/channel/queries.d.ts +108 -60
  69. package/dist/src/channel/queries.d.ts.map +1 -1
  70. package/dist/src/color/Provider.d.ts +8 -8
  71. package/dist/src/device/queries.d.ts +148 -363
  72. package/dist/src/device/queries.d.ts.map +1 -1
  73. package/dist/src/flux/result.d.ts +5 -5
  74. package/dist/src/flux/result.d.ts.map +1 -1
  75. package/dist/src/flux/update.d.ts +1 -1
  76. package/dist/src/flux/update.d.ts.map +1 -1
  77. package/dist/src/icon/Icon.d.ts.map +1 -1
  78. package/dist/src/icon/registry.d.ts +1 -0
  79. package/dist/src/icon/registry.d.ts.map +1 -1
  80. package/dist/src/label/queries.d.ts +21 -21
  81. package/dist/src/label/queries.d.ts.map +1 -1
  82. package/dist/src/lineplot/aether/XAxis.d.ts +28 -28
  83. package/dist/src/lineplot/aether/YAxis.d.ts +28 -28
  84. package/dist/src/lineplot/aether/axis.d.ts +14 -14
  85. package/dist/src/lineplot/queries.d.ts +2 -2
  86. package/dist/src/lineplot/queries.d.ts.map +1 -1
  87. package/dist/src/lineplot/range/aether/provider.d.ts +126 -102
  88. package/dist/src/lineplot/range/aether/provider.d.ts.map +1 -1
  89. package/dist/src/lineplot/tooltip/aether/tooltip.d.ts +56 -56
  90. package/dist/src/log/aether/Log.d.ts +21 -21
  91. package/dist/src/log/queries.d.ts +2 -2
  92. package/dist/src/log/queries.d.ts.map +1 -1
  93. package/dist/src/memo/index.d.ts +0 -1
  94. package/dist/src/memo/index.d.ts.map +1 -1
  95. package/dist/src/memo/useMemoCompare.d.ts +0 -1
  96. package/dist/src/memo/useMemoCompare.d.ts.map +1 -1
  97. package/dist/src/rack/queries.d.ts.map +1 -1
  98. package/dist/src/ranger/aether/queries.d.ts.map +1 -1
  99. package/dist/src/ranger/queries.d.ts +19 -19
  100. package/dist/src/ranger/queries.d.ts.map +1 -1
  101. package/dist/src/schematic/queries.d.ts +2 -2
  102. package/dist/src/schematic/queries.d.ts.map +1 -1
  103. package/dist/src/schematic/symbol/Forms.d.ts.map +1 -1
  104. package/dist/src/schematic/symbol/Primitives.d.ts +2 -1
  105. package/dist/src/schematic/symbol/Primitives.d.ts.map +1 -1
  106. package/dist/src/schematic/symbol/SelectOrientation.d.ts.map +1 -1
  107. package/dist/src/schematic/symbol/Symbols.d.ts +35 -34
  108. package/dist/src/schematic/symbol/Symbols.d.ts.map +1 -1
  109. package/dist/src/schematic/symbol/queries.d.ts +96 -50
  110. package/dist/src/schematic/symbol/queries.d.ts.map +1 -1
  111. package/dist/src/schematic/symbol/registry.d.ts.map +1 -1
  112. package/dist/src/select/Dialog.d.ts +2 -1
  113. package/dist/src/select/Dialog.d.ts.map +1 -1
  114. package/dist/src/status/Select.d.ts.map +1 -1
  115. package/dist/src/status/SelectMulipleVariants.spec.d.ts +2 -0
  116. package/dist/src/status/SelectMulipleVariants.spec.d.ts.map +1 -0
  117. package/dist/src/status/SelectMultipleVariants.d.ts +9 -0
  118. package/dist/src/status/SelectMultipleVariants.d.ts.map +1 -0
  119. package/dist/src/status/SelectVariant.d.ts +2 -2
  120. package/dist/src/status/SelectVariant.d.ts.map +1 -1
  121. package/dist/src/status/SelectVariant.spec.d.ts +2 -0
  122. package/dist/src/status/SelectVariant.spec.d.ts.map +1 -0
  123. package/dist/src/status/aether/aggregator.d.ts +16 -2
  124. package/dist/src/status/aether/aggregator.d.ts.map +1 -1
  125. package/dist/src/status/aether/errorHandler.d.ts +2 -1
  126. package/dist/src/status/aether/errorHandler.d.ts.map +1 -1
  127. package/dist/src/status/base/Aggregator.d.ts +3 -2
  128. package/dist/src/status/base/Aggregator.d.ts.map +1 -1
  129. package/dist/src/status/external.d.ts +1 -0
  130. package/dist/src/status/external.d.ts.map +1 -1
  131. package/dist/src/status/queries.d.ts +25 -9
  132. package/dist/src/status/queries.d.ts.map +1 -1
  133. package/dist/src/status/variantData.d.ts +4 -0
  134. package/dist/src/status/variantData.d.ts.map +1 -0
  135. package/dist/src/table/cells/Cells.d.ts +17 -17
  136. package/dist/src/table/queries.d.ts +2 -2
  137. package/dist/src/table/queries.d.ts.map +1 -1
  138. package/dist/src/task/queries.d.ts +3 -3
  139. package/dist/src/task/queries.d.ts.map +1 -1
  140. package/dist/src/telem/aether/noop.d.ts.map +1 -1
  141. package/dist/src/telem/aether/static.d.ts +10 -10
  142. package/dist/src/telem/aether/telem.d.ts +1 -1
  143. package/dist/src/telem/aether/telem.d.ts.map +1 -1
  144. package/dist/src/telem/aether/transformers.d.ts +15 -15
  145. package/dist/src/telem/aether/transformers.d.ts.map +1 -1
  146. package/dist/src/telem/client/cache/cache.d.ts +1 -1
  147. package/dist/src/telem/client/cache/cache.d.ts.map +1 -1
  148. package/dist/src/telem/client/client.d.ts +4 -4
  149. package/dist/src/telem/client/client.d.ts.map +1 -1
  150. package/dist/src/telem/client/reader.d.ts +1 -1
  151. package/dist/src/telem/client/reader.d.ts.map +1 -1
  152. package/dist/src/telem/client/streamer.d.ts +1 -1
  153. package/dist/src/telem/client/streamer.d.ts.map +1 -1
  154. package/dist/src/telem/control/Controller.d.ts +1 -1
  155. package/dist/src/telem/control/Controller.d.ts.map +1 -1
  156. package/dist/src/telem/control/aether/chip.d.ts +16 -2
  157. package/dist/src/telem/control/aether/chip.d.ts.map +1 -1
  158. package/dist/src/telem/control/aether/controller.d.ts +16 -16
  159. package/dist/src/telem/control/aether/controller.d.ts.map +1 -1
  160. package/dist/src/telem/control/aether/indicator.d.ts +51 -37
  161. package/dist/src/telem/control/aether/indicator.d.ts.map +1 -1
  162. package/dist/src/telem/control/aether/legend.d.ts +18 -16
  163. package/dist/src/telem/control/aether/legend.d.ts.map +1 -1
  164. package/dist/src/telem/control/aether/state.d.ts +9 -8
  165. package/dist/src/telem/control/aether/state.d.ts.map +1 -1
  166. package/dist/src/theming/aether/provider.d.ts +990 -990
  167. package/dist/src/theming/base/theme.d.ts +330 -330
  168. package/dist/src/user/queries.d.ts +2 -2
  169. package/dist/src/view/queries.d.ts +2 -2
  170. package/dist/src/vis/axis/axis.d.ts +14 -14
  171. package/dist/src/vis/gauge/aether/gauge.d.ts +21 -21
  172. package/dist/src/vis/gauge/use.d.ts +7 -7
  173. package/dist/src/vis/line/aether/line.d.ts +7 -7
  174. package/dist/src/vis/measure/aether/measure.d.ts +56 -56
  175. package/dist/src/vis/rule/aether/aether.d.ts +14 -14
  176. package/dist/src/vis/value/aether/value.d.ts +42 -42
  177. package/dist/src/vis/value/redline.d.ts +5 -5
  178. package/dist/src/vis/value/redline.d.ts.map +1 -1
  179. package/dist/src/vis/value/use.d.ts +14 -14
  180. package/dist/src/workspace/queries.d.ts +6 -4
  181. package/dist/src/workspace/queries.d.ts.map +1 -1
  182. package/dist/tabs-CB7d2_0h.cjs +1 -0
  183. package/dist/tabs-DEXXNOZA.js +253 -0
  184. package/dist/tabs.cjs +1 -1
  185. package/dist/tabs.js +2 -4
  186. package/dist/text-Dd6wYgQM.js +142 -0
  187. package/dist/text-n3Fetdk6.cjs +1 -0
  188. package/dist/text.cjs +1 -1
  189. package/dist/text.js +2 -5
  190. package/dist/theming-Blgv4Cvi.js +591 -0
  191. package/dist/theming-KFfFjsRJ.cjs +1 -0
  192. package/dist/theming.cjs +1 -1
  193. package/dist/theming.js +2 -5
  194. package/dist/tree-B4jJAzS1.js +294 -0
  195. package/dist/tree-CsgSEpgy.cjs +1 -0
  196. package/dist/tree.cjs +1 -1
  197. package/dist/tree.js +2 -4
  198. package/dist/triggers-AqBSAR_T.cjs +1 -0
  199. package/dist/triggers-DDlalLoO.js +4748 -0
  200. package/dist/triggers.cjs +1 -1
  201. package/dist/triggers.js +2 -4
  202. package/dist/types-BGbd8pRh.js +73 -0
  203. package/dist/types-ByXvRm2h.cjs +1 -0
  204. package/dist/video-Bnr-2W9p.cjs +1 -0
  205. package/dist/video-ByMlaeKI.js +15 -0
  206. package/dist/video.cjs +1 -1
  207. package/dist/video.js +2 -4
  208. package/package.json +27 -28
  209. package/dist/Animated-B_N04fe6.cjs +0 -1
  210. package/dist/Animated-BsbNkFLg.cjs +0 -1
  211. package/dist/Animated-CLo1CLgn.js +0 -29
  212. package/dist/Animated-CO--9HPM.js +0 -354
  213. package/dist/Box-Bi280MYh.js +0 -96
  214. package/dist/Box-CNUz5BsV.cjs +0 -1
  215. package/dist/Copy-BgRUUzWz.cjs +0 -1
  216. package/dist/Copy-COWBkO_v.js +0 -337
  217. package/dist/Dialog-Bj7FiHJD.js +0 -59
  218. package/dist/Dialog-DBm6Fap1.cjs +0 -1
  219. package/dist/Editable-C17ILP50.js +0 -202
  220. package/dist/Editable-HUPqTaui.cjs +0 -1
  221. package/dist/Haul-CnZK3e-n.js +0 -132
  222. package/dist/Haul-DlwI4b25.cjs +0 -1
  223. package/dist/Items-CXBBG9Ip.cjs +0 -4
  224. package/dist/Items-DQba1BFQ.js +0 -842
  225. package/dist/Menu-BZ6ZGIv3.cjs +0 -1
  226. package/dist/Menu-CniMpPmC.js +0 -139
  227. package/dist/Provider-cSwm-2e_.cjs +0 -1
  228. package/dist/Provider-jFWpR0CX.js +0 -520
  229. package/dist/Tags-CxzMdPpm.cjs +0 -1
  230. package/dist/Tags-DvfGhiWv.js +0 -925
  231. package/dist/Text-2MISZsc5.js +0 -1712
  232. package/dist/Text-XHBXXDRS.cjs +0 -1
  233. package/dist/Video-Bew5_j16.js +0 -10
  234. package/dist/Video-BryrVNlH.cjs +0 -1
  235. package/dist/css-CloSmhZB.cjs +0 -1
  236. package/dist/css-D90kZTM8.js +0 -63
  237. package/dist/dimensions-CdFEW3oU.cjs +0 -1
  238. package/dist/dimensions-DbMN4145.js +0 -19
  239. package/dist/eraser-BShvqlBE.js +0 -958
  240. package/dist/eraser-rFMFKqsg.cjs +0 -11
  241. package/dist/event-BxvV3arE.cjs +0 -1
  242. package/dist/event-nNH_pXSr.js +0 -36
  243. package/dist/external-4jf1Bv96.cjs +0 -1
  244. package/dist/external-B2YeNEwd.cjs +0 -1
  245. package/dist/external-B9PnwQOL.js +0 -29
  246. package/dist/external-BBbkXXN0.js +0 -47
  247. package/dist/external-BByOkVID.cjs +0 -1
  248. package/dist/external-BrEnYrZV.js +0 -32
  249. package/dist/external-BwbypKCk.cjs +0 -1
  250. package/dist/external-C65vBow6.cjs +0 -1
  251. package/dist/external-CCcIJ20u.cjs +0 -1
  252. package/dist/external-CF4uh-dm.js +0 -51423
  253. package/dist/external-Cn6EfkLd.cjs +0 -1
  254. package/dist/external-CovFw1fv.cjs +0 -1
  255. package/dist/external-D2Zb9O5J.js +0 -93
  256. package/dist/external-D6aLGjMg.js +0 -8969
  257. package/dist/external-DDvmnE2k.js +0 -341
  258. package/dist/external-DTi9a-iK.cjs +0 -1
  259. package/dist/external-DYP1_xpd.js +0 -80
  260. package/dist/external-DxsuBuKe.js +0 -392
  261. package/dist/external-DysGdnTb.js +0 -130
  262. package/dist/external-N2L8ffzi.js +0 -71
  263. package/dist/external-UzXlHlr9.js +0 -24
  264. package/dist/external-_Ht_yCRf.cjs +0 -1
  265. package/dist/external-igNfmRSB.cjs +0 -28
  266. package/dist/external-uUEGzmui.cjs +0 -84
  267. package/dist/fontString-76R2eWDd.js +0 -29
  268. package/dist/fontString-BNnhiwug.cjs +0 -1
  269. package/dist/hooks-Co6IVYNw.cjs +0 -1
  270. package/dist/hooks-QNj6PdUo.js +0 -73
  271. package/dist/index.cjs +0 -60
  272. package/dist/index.js +0 -36908
  273. package/dist/jsx-runtime-nZSsnGb7.cjs +0 -6
  274. package/dist/jsx-runtime-tc70JA_2.js +0 -264
  275. package/dist/provider-Bt-E2O6g.js +0 -810
  276. package/dist/provider-DQkVj3tA.cjs +0 -10
  277. package/dist/src/memo/proxyMemo.d.ts +0 -3
  278. package/dist/src/memo/proxyMemo.d.ts.map +0 -1
  279. package/dist/types-CGRCBVD4.js +0 -82
  280. package/dist/types-DI2vtOGs.cjs +0 -1
  281. package/dist/units-Bu36uC6z.cjs +0 -1
  282. package/dist/units-DMip-eZH.js +0 -14
  283. package/dist/useStaticData-BTwIe0Il.cjs +0 -1
  284. package/dist/useStaticData-p8sk2VCJ.js +0 -1051
  285. package/dist/value-BkUH03tl.cjs +0 -53
  286. package/dist/value-D0vfKEY3.js +0 -6821
@@ -1,842 +0,0 @@
1
- import { j as E } from "./jsx-runtime-tc70JA_2.js";
2
- import { B as P } from "./Copy-COWBkO_v.js";
3
- import { bounds as U } from "@synnaxlabs/x";
4
- import { C as b } from "./css-D90kZTM8.js";
5
- import { u as $, d as H, c as q } from "./Animated-CO--9HPM.js";
6
- import * as w from "react";
7
- import { memo as A, useRef as C, useCallback as S, useMemo as M, useSyncExternalStore as K } from "react";
8
- import { p as X, a as G } from "./Box-Bi280MYh.js";
9
- import { flushSync as Y } from "react-dom";
10
- import { c as V } from "./Text-2MISZsc5.js";
11
- import { b as J, d as j, g as Q } from "./Editable-C17ILP50.js";
12
- import "./types-CGRCBVD4.js";
13
- import "./Provider-jFWpR0CX.js";
14
- function O(n, l, e) {
15
- let s = e.initialDeps ?? [], t;
16
- function i() {
17
- var o, r, a, h;
18
- let c;
19
- e.key && ((o = e.debug) != null && o.call(e)) && (c = Date.now());
20
- const u = n();
21
- if (!(u.length !== s.length || u.some((f, m) => s[m] !== f)))
22
- return t;
23
- s = u;
24
- let g;
25
- if (e.key && ((r = e.debug) != null && r.call(e)) && (g = Date.now()), t = l(...u), e.key && ((a = e.debug) != null && a.call(e))) {
26
- const f = Math.round((Date.now() - c) * 100) / 100, m = Math.round((Date.now() - g) * 100) / 100, v = m / 16, x = (p, I) => {
27
- for (p = String(p); p.length < I; )
28
- p = " " + p;
29
- return p;
30
- };
31
- console.info(
32
- `%c⏱ ${x(m, 5)} /${x(f, 5)} ms`,
33
- `
34
- font-size: .6rem;
35
- font-weight: bold;
36
- color: hsl(${Math.max(
37
- 0,
38
- Math.min(120 - 120 * v, 120)
39
- )}deg 100% 31%);`,
40
- e?.key
41
- );
42
- }
43
- return (h = e?.onChange) == null || h.call(e, t), t;
44
- }
45
- return i.updateDeps = (o) => {
46
- s = o;
47
- }, i;
48
- }
49
- function D(n, l) {
50
- if (n === void 0)
51
- throw new Error("Unexpected undefined");
52
- return n;
53
- }
54
- const Z = (n, l) => Math.abs(n - l) < 1, ee = (n, l, e) => {
55
- let s;
56
- return function(...t) {
57
- n.clearTimeout(s), s = n.setTimeout(() => l.apply(this, t), e);
58
- };
59
- }, te = (n) => n, se = (n) => {
60
- const l = Math.max(n.startIndex - n.overscan, 0), e = Math.min(n.endIndex + n.overscan, n.count - 1), s = [];
61
- for (let t = l; t <= e; t++)
62
- s.push(t);
63
- return s;
64
- }, ne = (n, l) => {
65
- const e = n.scrollElement;
66
- if (!e)
67
- return;
68
- const s = n.targetWindow;
69
- if (!s)
70
- return;
71
- const t = (o) => {
72
- const { width: r, height: a } = o;
73
- l({ width: Math.round(r), height: Math.round(a) });
74
- };
75
- if (t(e.getBoundingClientRect()), !s.ResizeObserver)
76
- return () => {
77
- };
78
- const i = new s.ResizeObserver((o) => {
79
- const r = () => {
80
- const a = o[0];
81
- if (a?.borderBoxSize) {
82
- const h = a.borderBoxSize[0];
83
- if (h) {
84
- t({ width: h.inlineSize, height: h.blockSize });
85
- return;
86
- }
87
- }
88
- t(e.getBoundingClientRect());
89
- };
90
- n.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(r) : r();
91
- });
92
- return i.observe(e, { box: "border-box" }), () => {
93
- i.unobserve(e);
94
- };
95
- }, _ = {
96
- passive: !0
97
- }, F = typeof window > "u" ? !0 : "onscrollend" in window, ie = (n, l) => {
98
- const e = n.scrollElement;
99
- if (!e)
100
- return;
101
- const s = n.targetWindow;
102
- if (!s)
103
- return;
104
- let t = 0;
105
- const i = n.options.useScrollendEvent && F ? () => {
106
- } : ee(
107
- s,
108
- () => {
109
- l(t, !1);
110
- },
111
- n.options.isScrollingResetDelay
112
- ), o = (c) => () => {
113
- const { horizontal: u, isRtl: d } = n.options;
114
- t = u ? e.scrollLeft * (d && -1 || 1) : e.scrollTop, i(), l(t, c);
115
- }, r = o(!0), a = o(!1);
116
- a(), e.addEventListener("scroll", r, _);
117
- const h = n.options.useScrollendEvent && F;
118
- return h && e.addEventListener("scrollend", a, _), () => {
119
- e.removeEventListener("scroll", r), h && e.removeEventListener("scrollend", a);
120
- };
121
- }, oe = (n, l, e) => {
122
- if (l?.borderBoxSize) {
123
- const s = l.borderBoxSize[0];
124
- if (s)
125
- return Math.round(
126
- s[e.options.horizontal ? "inlineSize" : "blockSize"]
127
- );
128
- }
129
- return Math.round(
130
- n.getBoundingClientRect()[e.options.horizontal ? "width" : "height"]
131
- );
132
- }, re = (n, {
133
- adjustments: l = 0,
134
- behavior: e
135
- }, s) => {
136
- var t, i;
137
- const o = n + l;
138
- (i = (t = s.scrollElement) == null ? void 0 : t.scrollTo) == null || i.call(t, {
139
- [s.options.horizontal ? "left" : "top"]: o,
140
- behavior: e
141
- });
142
- };
143
- class le {
144
- constructor(l) {
145
- this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollToIndexTimeoutId = null, this.measurementsCache = [], this.itemSizeCache = /* @__PURE__ */ new Map(), this.pendingMeasuredCacheIndexes = [], this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this.elementsCache = /* @__PURE__ */ new Map(), this.observer = /* @__PURE__ */ (() => {
146
- let e = null;
147
- const s = () => e || (!this.targetWindow || !this.targetWindow.ResizeObserver ? null : e = new this.targetWindow.ResizeObserver((t) => {
148
- t.forEach((i) => {
149
- const o = () => {
150
- this._measureElement(i.target, i);
151
- };
152
- this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(o) : o();
153
- });
154
- }));
155
- return {
156
- disconnect: () => {
157
- var t;
158
- (t = s()) == null || t.disconnect(), e = null;
159
- },
160
- observe: (t) => {
161
- var i;
162
- return (i = s()) == null ? void 0 : i.observe(t, { box: "border-box" });
163
- },
164
- unobserve: (t) => {
165
- var i;
166
- return (i = s()) == null ? void 0 : i.unobserve(t);
167
- }
168
- };
169
- })(), this.range = null, this.setOptions = (e) => {
170
- Object.entries(e).forEach(([s, t]) => {
171
- typeof t > "u" && delete e[s];
172
- }), this.options = {
173
- debug: !1,
174
- initialOffset: 0,
175
- overscan: 1,
176
- paddingStart: 0,
177
- paddingEnd: 0,
178
- scrollPaddingStart: 0,
179
- scrollPaddingEnd: 0,
180
- horizontal: !1,
181
- getItemKey: te,
182
- rangeExtractor: se,
183
- onChange: () => {
184
- },
185
- measureElement: oe,
186
- initialRect: { width: 0, height: 0 },
187
- scrollMargin: 0,
188
- gap: 0,
189
- indexAttribute: "data-index",
190
- initialMeasurementsCache: [],
191
- lanes: 1,
192
- isScrollingResetDelay: 150,
193
- enabled: !0,
194
- isRtl: !1,
195
- useScrollendEvent: !1,
196
- useAnimationFrameWithResizeObserver: !1,
197
- ...e
198
- };
199
- }, this.notify = (e) => {
200
- var s, t;
201
- (t = (s = this.options).onChange) == null || t.call(s, this, e);
202
- }, this.maybeNotify = O(
203
- () => (this.calculateRange(), [
204
- this.isScrolling,
205
- this.range ? this.range.startIndex : null,
206
- this.range ? this.range.endIndex : null
207
- ]),
208
- (e) => {
209
- this.notify(e);
210
- },
211
- {
212
- key: process.env.NODE_ENV !== "production" && "maybeNotify",
213
- debug: () => this.options.debug,
214
- initialDeps: [
215
- this.isScrolling,
216
- this.range ? this.range.startIndex : null,
217
- this.range ? this.range.endIndex : null
218
- ]
219
- }
220
- ), this.cleanup = () => {
221
- this.unsubs.filter(Boolean).forEach((e) => e()), this.unsubs = [], this.observer.disconnect(), this.scrollElement = null, this.targetWindow = null;
222
- }, this._didMount = () => () => {
223
- this.cleanup();
224
- }, this._willUpdate = () => {
225
- var e;
226
- const s = this.options.enabled ? this.options.getScrollElement() : null;
227
- if (this.scrollElement !== s) {
228
- if (this.cleanup(), !s) {
229
- this.maybeNotify();
230
- return;
231
- }
232
- this.scrollElement = s, this.scrollElement && "ownerDocument" in this.scrollElement ? this.targetWindow = this.scrollElement.ownerDocument.defaultView : this.targetWindow = ((e = this.scrollElement) == null ? void 0 : e.window) ?? null, this.elementsCache.forEach((t) => {
233
- this.observer.observe(t);
234
- }), this._scrollToOffset(this.getScrollOffset(), {
235
- adjustments: void 0,
236
- behavior: void 0
237
- }), this.unsubs.push(
238
- this.options.observeElementRect(this, (t) => {
239
- this.scrollRect = t, this.maybeNotify();
240
- })
241
- ), this.unsubs.push(
242
- this.options.observeElementOffset(this, (t, i) => {
243
- this.scrollAdjustments = 0, this.scrollDirection = i ? this.getScrollOffset() < t ? "forward" : "backward" : null, this.scrollOffset = t, this.isScrolling = i, this.maybeNotify();
244
- })
245
- );
246
- }
247
- }, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getFurthestMeasurement = (e, s) => {
248
- const t = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
249
- for (let o = s - 1; o >= 0; o--) {
250
- const r = e[o];
251
- if (t.has(r.lane))
252
- continue;
253
- const a = i.get(
254
- r.lane
255
- );
256
- if (a == null || r.end > a.end ? i.set(r.lane, r) : r.end < a.end && t.set(r.lane, !0), t.size === this.options.lanes)
257
- break;
258
- }
259
- return i.size === this.options.lanes ? Array.from(i.values()).sort((o, r) => o.end === r.end ? o.index - r.index : o.end - r.end)[0] : void 0;
260
- }, this.getMeasurementOptions = O(
261
- () => [
262
- this.options.count,
263
- this.options.paddingStart,
264
- this.options.scrollMargin,
265
- this.options.getItemKey,
266
- this.options.enabled
267
- ],
268
- (e, s, t, i, o) => (this.pendingMeasuredCacheIndexes = [], {
269
- count: e,
270
- paddingStart: s,
271
- scrollMargin: t,
272
- getItemKey: i,
273
- enabled: o
274
- }),
275
- {
276
- key: !1
277
- }
278
- ), this.getMeasurements = O(
279
- () => [this.getMeasurementOptions(), this.itemSizeCache],
280
- ({ count: e, paddingStart: s, scrollMargin: t, getItemKey: i, enabled: o }, r) => {
281
- if (!o)
282
- return this.measurementsCache = [], this.itemSizeCache.clear(), [];
283
- this.measurementsCache.length === 0 && (this.measurementsCache = this.options.initialMeasurementsCache, this.measurementsCache.forEach((c) => {
284
- this.itemSizeCache.set(c.key, c.size);
285
- }));
286
- const a = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
287
- this.pendingMeasuredCacheIndexes = [];
288
- const h = this.measurementsCache.slice(0, a);
289
- for (let c = a; c < e; c++) {
290
- const u = i(c), d = this.options.lanes === 1 ? h[c - 1] : this.getFurthestMeasurement(h, c), g = d ? d.end + this.options.gap : s + t, f = r.get(u), m = typeof f == "number" ? f : this.options.estimateSize(c), v = g + m, x = d ? d.lane : c % this.options.lanes;
291
- h[c] = {
292
- index: c,
293
- start: g,
294
- size: m,
295
- end: v,
296
- key: u,
297
- lane: x
298
- };
299
- }
300
- return this.measurementsCache = h, h;
301
- },
302
- {
303
- key: process.env.NODE_ENV !== "production" && "getMeasurements",
304
- debug: () => this.options.debug
305
- }
306
- ), this.calculateRange = O(
307
- () => [
308
- this.getMeasurements(),
309
- this.getSize(),
310
- this.getScrollOffset(),
311
- this.options.lanes
312
- ],
313
- (e, s, t, i) => this.range = e.length > 0 && s > 0 ? ae({
314
- measurements: e,
315
- outerSize: s,
316
- scrollOffset: t,
317
- lanes: i
318
- }) : null,
319
- {
320
- key: process.env.NODE_ENV !== "production" && "calculateRange",
321
- debug: () => this.options.debug
322
- }
323
- ), this.getVirtualIndexes = O(
324
- () => {
325
- let e = null, s = null;
326
- const t = this.calculateRange();
327
- return t && (e = t.startIndex, s = t.endIndex), this.maybeNotify.updateDeps([this.isScrolling, e, s]), [
328
- this.options.rangeExtractor,
329
- this.options.overscan,
330
- this.options.count,
331
- e,
332
- s
333
- ];
334
- },
335
- (e, s, t, i, o) => i === null || o === null ? [] : e({
336
- startIndex: i,
337
- endIndex: o,
338
- overscan: s,
339
- count: t
340
- }),
341
- {
342
- key: process.env.NODE_ENV !== "production" && "getVirtualIndexes",
343
- debug: () => this.options.debug
344
- }
345
- ), this.indexFromElement = (e) => {
346
- const s = this.options.indexAttribute, t = e.getAttribute(s);
347
- return t ? parseInt(t, 10) : (console.warn(
348
- `Missing attribute name '${s}={index}' on measured element.`
349
- ), -1);
350
- }, this._measureElement = (e, s) => {
351
- const t = this.indexFromElement(e), i = this.measurementsCache[t];
352
- if (!i)
353
- return;
354
- const o = i.key, r = this.elementsCache.get(o);
355
- r !== e && (r && this.observer.unobserve(r), this.observer.observe(e), this.elementsCache.set(o, e)), e.isConnected && this.resizeItem(t, this.options.measureElement(e, s, this));
356
- }, this.resizeItem = (e, s) => {
357
- const t = this.measurementsCache[e];
358
- if (!t)
359
- return;
360
- const i = this.itemSizeCache.get(t.key) ?? t.size, o = s - i;
361
- o !== 0 && ((this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(t, o, this) : t.start < this.getScrollOffset() + this.scrollAdjustments) && (process.env.NODE_ENV !== "production" && this.options.debug && console.info("correction", o), this._scrollToOffset(this.getScrollOffset(), {
362
- adjustments: this.scrollAdjustments += o,
363
- behavior: void 0
364
- })), this.pendingMeasuredCacheIndexes.push(t.index), this.itemSizeCache = new Map(this.itemSizeCache.set(t.key, s)), this.notify(!1));
365
- }, this.measureElement = (e) => {
366
- if (!e) {
367
- this.elementsCache.forEach((s, t) => {
368
- s.isConnected || (this.observer.unobserve(s), this.elementsCache.delete(t));
369
- });
370
- return;
371
- }
372
- this._measureElement(e, void 0);
373
- }, this.getVirtualItems = O(
374
- () => [this.getVirtualIndexes(), this.getMeasurements()],
375
- (e, s) => {
376
- const t = [];
377
- for (let i = 0, o = e.length; i < o; i++) {
378
- const r = e[i], a = s[r];
379
- t.push(a);
380
- }
381
- return t;
382
- },
383
- {
384
- key: process.env.NODE_ENV !== "production" && "getVirtualItems",
385
- debug: () => this.options.debug
386
- }
387
- ), this.getVirtualItemForOffset = (e) => {
388
- const s = this.getMeasurements();
389
- if (s.length !== 0)
390
- return D(
391
- s[k(
392
- 0,
393
- s.length - 1,
394
- (t) => D(s[t]).start,
395
- e
396
- )]
397
- );
398
- }, this.getOffsetForAlignment = (e, s, t = 0) => {
399
- const i = this.getSize(), o = this.getScrollOffset();
400
- s === "auto" && (s = e >= o + i ? "end" : "start"), s === "center" ? e += (t - i) / 2 : s === "end" && (e -= i);
401
- const r = this.options.horizontal ? "scrollWidth" : "scrollHeight", h = (this.scrollElement ? "document" in this.scrollElement ? this.scrollElement.document.documentElement[r] : this.scrollElement[r] : 0) - i;
402
- return Math.max(Math.min(h, e), 0);
403
- }, this.getOffsetForIndex = (e, s = "auto") => {
404
- e = Math.max(0, Math.min(e, this.options.count - 1));
405
- const t = this.measurementsCache[e];
406
- if (!t)
407
- return;
408
- const i = this.getSize(), o = this.getScrollOffset();
409
- if (s === "auto")
410
- if (t.end >= o + i - this.options.scrollPaddingEnd)
411
- s = "end";
412
- else if (t.start <= o + this.options.scrollPaddingStart)
413
- s = "start";
414
- else
415
- return [o, s];
416
- const r = s === "end" ? t.end + this.options.scrollPaddingEnd : t.start - this.options.scrollPaddingStart;
417
- return [
418
- this.getOffsetForAlignment(r, s, t.size),
419
- s
420
- ];
421
- }, this.isDynamicMode = () => this.elementsCache.size > 0, this.cancelScrollToIndex = () => {
422
- this.scrollToIndexTimeoutId !== null && this.targetWindow && (this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId), this.scrollToIndexTimeoutId = null);
423
- }, this.scrollToOffset = (e, { align: s = "start", behavior: t } = {}) => {
424
- this.cancelScrollToIndex(), t === "smooth" && this.isDynamicMode() && console.warn(
425
- "The `smooth` scroll behavior is not fully supported with dynamic size."
426
- ), this._scrollToOffset(this.getOffsetForAlignment(e, s), {
427
- adjustments: void 0,
428
- behavior: t
429
- });
430
- }, this.scrollToIndex = (e, { align: s = "auto", behavior: t } = {}) => {
431
- e = Math.max(0, Math.min(e, this.options.count - 1)), this.cancelScrollToIndex(), t === "smooth" && this.isDynamicMode() && console.warn(
432
- "The `smooth` scroll behavior is not fully supported with dynamic size."
433
- );
434
- const i = this.getOffsetForIndex(e, s);
435
- if (!i) return;
436
- const [o, r] = i;
437
- this._scrollToOffset(o, { adjustments: void 0, behavior: t }), t !== "smooth" && this.isDynamicMode() && this.targetWindow && (this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {
438
- if (this.scrollToIndexTimeoutId = null, this.elementsCache.has(
439
- this.options.getItemKey(e)
440
- )) {
441
- const [h] = D(
442
- this.getOffsetForIndex(e, r)
443
- );
444
- Z(h, this.getScrollOffset()) || this.scrollToIndex(e, { align: r, behavior: t });
445
- } else
446
- this.scrollToIndex(e, { align: r, behavior: t });
447
- }));
448
- }, this.scrollBy = (e, { behavior: s } = {}) => {
449
- this.cancelScrollToIndex(), s === "smooth" && this.isDynamicMode() && console.warn(
450
- "The `smooth` scroll behavior is not fully supported with dynamic size."
451
- ), this._scrollToOffset(this.getScrollOffset() + e, {
452
- adjustments: void 0,
453
- behavior: s
454
- });
455
- }, this.getTotalSize = () => {
456
- var e;
457
- const s = this.getMeasurements();
458
- let t;
459
- if (s.length === 0)
460
- t = this.options.paddingStart;
461
- else if (this.options.lanes === 1)
462
- t = ((e = s[s.length - 1]) == null ? void 0 : e.end) ?? 0;
463
- else {
464
- const i = Array(this.options.lanes).fill(null);
465
- let o = s.length - 1;
466
- for (; o >= 0 && i.some((r) => r === null); ) {
467
- const r = s[o];
468
- i[r.lane] === null && (i[r.lane] = r.end), o--;
469
- }
470
- t = Math.max(...i.filter((r) => r !== null));
471
- }
472
- return Math.max(
473
- t - this.options.scrollMargin + this.options.paddingEnd,
474
- 0
475
- );
476
- }, this._scrollToOffset = (e, {
477
- adjustments: s,
478
- behavior: t
479
- }) => {
480
- this.options.scrollToFn(e, { behavior: t, adjustments: s }, this);
481
- }, this.measure = () => {
482
- this.itemSizeCache = /* @__PURE__ */ new Map(), this.notify(!1);
483
- }, this.setOptions(l);
484
- }
485
- }
486
- const k = (n, l, e, s) => {
487
- for (; n <= l; ) {
488
- const t = (n + l) / 2 | 0, i = e(t);
489
- if (i < s)
490
- n = t + 1;
491
- else if (i > s)
492
- l = t - 1;
493
- else
494
- return t;
495
- }
496
- return n > 0 ? n - 1 : 0;
497
- };
498
- function ae({
499
- measurements: n,
500
- outerSize: l,
501
- scrollOffset: e,
502
- lanes: s
503
- }) {
504
- const t = n.length - 1, i = (a) => n[a].start;
505
- if (n.length <= s)
506
- return {
507
- startIndex: 0,
508
- endIndex: t
509
- };
510
- let o = k(
511
- 0,
512
- t,
513
- i,
514
- e
515
- ), r = o;
516
- if (s === 1)
517
- for (; r < t && n[r].end < e + l; )
518
- r++;
519
- else if (s > 1) {
520
- const a = Array(s).fill(0);
521
- for (; r < t && a.some((c) => c < e + l); ) {
522
- const c = n[r];
523
- a[c.lane] = c.end, r++;
524
- }
525
- const h = Array(s).fill(e + l);
526
- for (; o >= 0 && h.some((c) => c >= e); ) {
527
- const c = n[o];
528
- h[c.lane] = c.start, o--;
529
- }
530
- o = Math.max(0, o - o % s), r = Math.min(t, r + (s - 1 - r % s));
531
- }
532
- return { startIndex: o, endIndex: r };
533
- }
534
- const N = typeof document < "u" ? w.useLayoutEffect : w.useEffect;
535
- function ce(n) {
536
- const l = w.useReducer(() => ({}), {})[1], e = {
537
- ...n,
538
- onChange: (t, i) => {
539
- var o;
540
- i ? Y(l) : l(), (o = n.onChange) == null || o.call(n, t, i);
541
- }
542
- }, [s] = w.useState(
543
- () => new le(e)
544
- );
545
- return s.setOptions(e), N(() => s._didMount(), []), N(() => s._willUpdate()), s;
546
- }
547
- function he(n) {
548
- return ce({
549
- observeElementRect: ne,
550
- observeElementOffset: ie,
551
- scrollToFn: re,
552
- ...n
553
- });
554
- }
555
- const De = (n, l) => ((e) => Array.isArray(e) ? l(e) : n(e)), [L, ue] = V({
556
- displayName: "List.DataContext",
557
- providerName: "List.Frame"
558
- }), [B, T] = V({
559
- displayName: "List.UtilContext",
560
- providerName: "List.Frame"
561
- }), _e = () => T("List.useUtilContext"), Fe = () => {
562
- const { scrollToIndex: n } = T("List.useScroller");
563
- return M(() => ({ scrollToIndex: n }), [n]);
564
- }, Ne = (n) => {
565
- const { getItem: l, subscribe: e } = T(
566
- "List.useItem"
567
- );
568
- return K(
569
- S(
570
- (s) => e == null ? () => {
571
- } : e(s, n),
572
- [n, e]
573
- ),
574
- S(() => l?.(n), [l, n]),
575
- () => {
576
- }
577
- );
578
- }, de = () => {
579
- const { data: n, getItems: l, getTotalSize: e, itemHeight: s, sentinelRef: t } = ue(
580
- "List.useData"
581
- ), { ref: i, getItem: o, scrollToIndex: r, subscribe: a } = T(
582
- "List.useData"
583
- );
584
- return M(
585
- () => ({
586
- data: n,
587
- getItems: l,
588
- getTotalSize: e,
589
- ref: i,
590
- getItem: o,
591
- scrollToIndex: r,
592
- subscribe: a,
593
- itemHeight: s,
594
- sentinelRef: t
595
- }),
596
- [
597
- n,
598
- l,
599
- e,
600
- i,
601
- o,
602
- r,
603
- a,
604
- s,
605
- t
606
- ]
607
- );
608
- }, W = (n, l, e) => {
609
- const s = j(e), { visible: t } = $(), i = C(!1);
610
- return S(
611
- (o) => {
612
- n.current = o, !(n.current == null || i.current) && (i.current = !0, s.current?.());
613
- },
614
- [s, t, l]
615
- );
616
- }, fe = 100, me = (n, l) => {
617
- const e = j(n), s = C(!1), t = C(null), i = C(null), o = C(null), r = Q(l);
618
- r !== void 0 && l !== r && (s.current = !1);
619
- const a = S(() => {
620
- t.current?.disconnect(), t.current = null;
621
- const u = i.current, d = o.current;
622
- u == null || d == null || (t.current = new IntersectionObserver(
623
- (g) => {
624
- g[0].isIntersecting && !s.current && (s.current = !0, e.current?.());
625
- },
626
- {
627
- root: u,
628
- rootMargin: `0px 0px ${fe}px 0px`,
629
- threshold: 0
630
- }
631
- ), t.current.observe(d));
632
- }, [e]), h = S(
633
- (u) => {
634
- i.current = u, a();
635
- },
636
- [a]
637
- ), c = S(
638
- (u) => {
639
- o.current = u, a();
640
- },
641
- [a]
642
- );
643
- return { containerRef: h, sentinelRef: c };
644
- }, ge = ({
645
- data: n,
646
- getItem: l,
647
- subscribe: e,
648
- children: s,
649
- onFetchMore: t,
650
- overscan: i = 10,
651
- itemHeight: o = 36
652
- }) => {
653
- const r = C(null), a = n.length > 0, h = W(r, a, t), c = he({
654
- count: n.length,
655
- getScrollElement: () => r.current,
656
- estimateSize: () => o,
657
- overscan: i,
658
- onChange: S(
659
- (f) => {
660
- const m = f.getVirtualItems();
661
- m.length > 0 && m[m.length - 1].index === n.length - 1 && t?.();
662
- },
663
- [n.length, t]
664
- )
665
- }), u = c.getVirtualItems(), d = M(
666
- () => ({
667
- ref: h,
668
- getItem: l,
669
- data: n,
670
- subscribe: e,
671
- getTotalSize: () => c.getTotalSize(),
672
- getItems: () => u.map(({ index: f, start: m }) => ({
673
- key: n[f],
674
- index: f,
675
- translate: m
676
- })),
677
- itemHeight: o
678
- }),
679
- [h, c, n, l, o, u]
680
- ), g = M(
681
- () => ({
682
- ref: h,
683
- getItem: l,
684
- scrollToIndex: (f) => c.scrollToIndex(f),
685
- subscribe: e
686
- }),
687
- [h, c, l, e]
688
- );
689
- return /* @__PURE__ */ E.jsx(L, { value: d, children: /* @__PURE__ */ E.jsx(B, { value: g, children: s }) });
690
- }, pe = ({
691
- data: n,
692
- getItem: l,
693
- subscribe: e,
694
- children: s,
695
- onFetchMore: t,
696
- itemHeight: i
697
- }) => {
698
- const o = C(null), r = n.length > 0, a = S((v, x) => {
699
- const p = o.current?.children[0];
700
- if (p == null) return;
701
- const I = x === "top" ? 1 : -1;
702
- let z;
703
- const R = v + I;
704
- U.contains({ lower: 0, upper: p.children.length }, R) ? z = v + I : z = v;
705
- const y = p.children[z];
706
- y?.scrollIntoView({ block: "nearest", inline: "nearest", behavior: "smooth" });
707
- }, []), h = W(o, r, t), { containerRef: c, sentinelRef: u } = me(t, n.length), d = J(h, c), g = M(() => n.map((v, x) => ({ key: v, index: x })), [n]), f = M(
708
- () => ({
709
- ref: d,
710
- getItem: l,
711
- data: n,
712
- subscribe: e,
713
- getTotalSize: () => {
714
- },
715
- getItems: () => g,
716
- itemHeight: i,
717
- sentinelRef: u
718
- }),
719
- [d, n, l, e, i, u, g]
720
- ), m = M(
721
- () => ({
722
- ref: d,
723
- getItem: l,
724
- scrollToIndex: a,
725
- subscribe: e
726
- }),
727
- [d, l, e, a]
728
- );
729
- return /* @__PURE__ */ E.jsx(L, { value: f, children: /* @__PURE__ */ E.jsx(B, { value: m, children: s }) });
730
- }, ve = ({
731
- virtual: n = !1,
732
- ...l
733
- }) => n ? /* @__PURE__ */ E.jsx(ge, { ...l }) : /* @__PURE__ */ E.jsx(pe, { ...l }), Ae = A(ve), Ve = ({
734
- itemKey: n,
735
- className: l,
736
- index: e,
737
- el: s,
738
- draggingOver: t = !1,
739
- rightAligned: i = !1,
740
- highlightHovered: o = !1,
741
- selected: r = !1,
742
- translate: a,
743
- onSelect: h,
744
- onClick: c,
745
- hovered: u,
746
- style: d,
747
- ...g
748
- }) => /* @__PURE__ */ E.jsx(
749
- P,
750
- {
751
- el: s,
752
- defaultEl: "div",
753
- id: n.toString(),
754
- variant: "text",
755
- onClick: (f) => {
756
- h?.(n), c?.(f);
757
- },
758
- className: b(
759
- l,
760
- H,
761
- r && q,
762
- u && b.M("hovered"),
763
- i && b.M("right-aligned"),
764
- o && b.M("highlight-hover"),
765
- t && b.M("dragging-over"),
766
- b.BE("list", "item"),
767
- b.selected(r)
768
- ),
769
- style: {
770
- position: a != null ? "absolute" : "relative",
771
- transform: `translateY(${a}px)`,
772
- ...d
773
- },
774
- square: !1,
775
- ...g
776
- }
777
- ), xe = ({
778
- className: n,
779
- children: l,
780
- emptyContent: e,
781
- displayItems: s,
782
- style: t,
783
- direction: i,
784
- x: o,
785
- y: r,
786
- ...a
787
- }) => {
788
- const { ref: h, getItems: c, getTotalSize: u, data: d, itemHeight: g, sentinelRef: f } = de(), m = c();
789
- let v = e;
790
- const x = d.length > 0;
791
- x && (v = /* @__PURE__ */ E.jsxs(
792
- "div",
793
- {
794
- className: b.BE("list", "virtualizer"),
795
- style: { minHeight: u() },
796
- children: [
797
- m.map(
798
- ({ key: z, index: R, translate: y }) => l({ key: z, index: R, itemKey: z, translate: y })
799
- ),
800
- f != null && /* @__PURE__ */ E.jsx(
801
- "div",
802
- {
803
- ref: f,
804
- className: b.BE("list", "sentinel"),
805
- "aria-hidden": "true"
806
- }
807
- )
808
- ]
809
- }
810
- ));
811
- let p;
812
- g != null && s != null && isFinite(s) && x && (p = Math.min(s, m.length) * g + 1);
813
- const I = X(i, o, r);
814
- return /* @__PURE__ */ E.jsx(
815
- G,
816
- {
817
- gap: 0,
818
- ref: h,
819
- className: b(
820
- n,
821
- b.BE("list", "items"),
822
- !x && b.BEM("list", "items", "empty")
823
- ),
824
- style: { height: p, ...t },
825
- full: I,
826
- direction: I,
827
- ...a,
828
- children: v
829
- }
830
- );
831
- }, je = A(xe);
832
- export {
833
- ve as B,
834
- Ae as F,
835
- Ve as I,
836
- je as a,
837
- Ne as b,
838
- De as c,
839
- Fe as d,
840
- _e as e,
841
- de as u
842
- };