@g4rcez/components 3.0.0 → 3.0.2

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 (303) hide show
  1. package/dist/MotionConfigContext-C7MqlSdv.js +2713 -0
  2. package/dist/MotionConfigContext-C7MqlSdv.js.map +1 -0
  3. package/dist/ai/SKILL.md +266 -0
  4. package/dist/ai/docs/Alert.md +167 -0
  5. package/dist/ai/docs/AnimatedList.md +205 -0
  6. package/dist/ai/docs/Autocomplete.md +225 -0
  7. package/dist/ai/docs/Button.md +182 -0
  8. package/dist/ai/docs/Calendar.md +219 -0
  9. package/dist/ai/docs/Card.md +174 -0
  10. package/dist/ai/docs/Checkbox.md +199 -0
  11. package/dist/ai/docs/CommandPalette.md +293 -0
  12. package/dist/ai/docs/DatePicker.md +171 -0
  13. package/dist/ai/docs/Dropdown.md +223 -0
  14. package/dist/ai/docs/Empty.md +163 -0
  15. package/dist/ai/docs/Expand.md +143 -0
  16. package/dist/ai/docs/FileUpload.md +225 -0
  17. package/dist/ai/docs/Form.md +107 -0
  18. package/dist/ai/docs/FormReset.md +117 -0
  19. package/dist/ai/docs/Heading.md +88 -0
  20. package/dist/ai/docs/Input.md +237 -0
  21. package/dist/ai/docs/InputField.md +170 -0
  22. package/dist/ai/docs/List.md +205 -0
  23. package/dist/ai/docs/Menu.md +166 -0
  24. package/dist/ai/docs/Modal.md +280 -0
  25. package/dist/ai/docs/MultiSelect.md +196 -0
  26. package/dist/ai/docs/Notifications.md +231 -0
  27. package/dist/ai/docs/PageCalendar.md +271 -0
  28. package/dist/ai/docs/Polymorph.md +159 -0
  29. package/dist/ai/docs/Progress.md +145 -0
  30. package/dist/ai/docs/Radiobox.md +128 -0
  31. package/dist/ai/docs/RenderOnView.md +138 -0
  32. package/dist/ai/docs/Resizable.md +159 -0
  33. package/dist/ai/docs/Select.md +284 -0
  34. package/dist/ai/docs/Shortcut.md +105 -0
  35. package/dist/ai/docs/Skeleton.md +166 -0
  36. package/dist/ai/docs/Slider.md +144 -0
  37. package/dist/ai/docs/Slot.md +173 -0
  38. package/dist/ai/docs/Spinner.md +118 -0
  39. package/dist/ai/docs/Stats.md +137 -0
  40. package/dist/ai/docs/Step.md +159 -0
  41. package/dist/ai/docs/Switch.md +167 -0
  42. package/dist/ai/docs/Table.md +298 -0
  43. package/dist/ai/docs/Tabs.md +191 -0
  44. package/dist/ai/docs/Tag.md +224 -0
  45. package/dist/ai/docs/TaskList.md +144 -0
  46. package/dist/ai/docs/Textarea.md +167 -0
  47. package/dist/ai/docs/Timeline.md +210 -0
  48. package/dist/ai/docs/Toolbar.md +132 -0
  49. package/dist/ai/docs/Tooltip.md +231 -0
  50. package/dist/ai/docs/TransferList.md +142 -0
  51. package/dist/ai/docs/Typography.md +187 -0
  52. package/dist/ai/docs/Wizard.md +213 -0
  53. package/dist/ai/docs/index.md +183 -0
  54. package/dist/autocomplete-Boida9R7.js +375 -0
  55. package/dist/autocomplete-Boida9R7.js.map +1 -0
  56. package/dist/calendar-BswV66Nx.js +1719 -0
  57. package/dist/calendar-BswV66Nx.js.map +1 -0
  58. package/dist/chevron-down-BBFYYzZq.js +6 -0
  59. package/dist/chevron-down-BBFYYzZq.js.map +1 -0
  60. package/dist/chevron-right-DvXGOiS_.js +6 -0
  61. package/dist/chevron-right-DvXGOiS_.js.map +1 -0
  62. package/dist/circle-check-big-3M5lhTxx.js +9 -0
  63. package/dist/circle-check-big-3M5lhTxx.js.map +1 -0
  64. package/dist/components/core/button.js +76 -0
  65. package/dist/components/core/button.js.map +1 -0
  66. package/dist/components/core/tag.d.ts +1 -1
  67. package/dist/components/core/tag.d.ts.map +1 -1
  68. package/dist/components/core/tag.js +67 -0
  69. package/dist/components/core/tag.js.map +1 -0
  70. package/dist/components/display/alert.js +94 -0
  71. package/dist/components/display/alert.js.map +1 -0
  72. package/dist/components/display/calendar.js +15 -0
  73. package/dist/components/display/calendar.js.map +1 -0
  74. package/dist/components/display/card.js +84 -0
  75. package/dist/components/display/card.js.map +1 -0
  76. package/dist/components/display/list.d.ts.map +1 -1
  77. package/dist/components/display/list.js +93 -0
  78. package/dist/components/display/list.js.map +1 -0
  79. package/dist/components/display/notifications.js +15 -0
  80. package/dist/components/display/notifications.js.map +1 -0
  81. package/dist/components/display/stats.js +16 -0
  82. package/dist/components/display/stats.js.map +1 -0
  83. package/dist/components/display/tabs.js +12 -0
  84. package/dist/components/display/tabs.js.map +1 -0
  85. package/dist/components/display/timeline.js +29 -0
  86. package/dist/components/display/timeline.js.map +1 -0
  87. package/dist/components/floating/dropdown.d.ts +1 -0
  88. package/dist/components/floating/dropdown.d.ts.map +1 -1
  89. package/dist/components/floating/dropdown.js +58 -0
  90. package/dist/components/floating/dropdown.js.map +1 -0
  91. package/dist/components/floating/expand.js +41 -0
  92. package/dist/components/floating/expand.js.map +1 -0
  93. package/dist/components/floating/menu.d.ts.map +1 -1
  94. package/dist/components/floating/menu.js +177 -0
  95. package/dist/components/floating/menu.js.map +1 -0
  96. package/dist/components/floating/modal.js +297 -0
  97. package/dist/components/floating/modal.js.map +1 -0
  98. package/dist/components/floating/tooltip.js +73 -0
  99. package/dist/components/floating/tooltip.js.map +1 -0
  100. package/dist/components/form/autocomplete.js +16 -0
  101. package/dist/components/form/autocomplete.js.map +1 -0
  102. package/dist/components/form/checkbox.js +44 -0
  103. package/dist/components/form/checkbox.js.map +1 -0
  104. package/dist/components/form/date-picker.js +12 -0
  105. package/dist/components/form/date-picker.js.map +1 -0
  106. package/dist/components/form/file-upload.js +11 -0
  107. package/dist/components/form/file-upload.js.map +1 -0
  108. package/dist/components/form/form.js +8 -0
  109. package/dist/components/form/form.js.map +1 -0
  110. package/dist/components/form/input.js +5 -0
  111. package/dist/components/form/input.js.map +1 -0
  112. package/dist/components/form/radiobox.js +30 -0
  113. package/dist/components/form/radiobox.js.map +1 -0
  114. package/dist/components/form/select.js +106 -0
  115. package/dist/components/form/select.js.map +1 -0
  116. package/dist/components/form/switch.js +65 -0
  117. package/dist/components/form/switch.js.map +1 -0
  118. package/dist/components/form/task-list.js +68 -0
  119. package/dist/components/form/task-list.js.map +1 -0
  120. package/dist/components/form/transfer-list.js +55 -0
  121. package/dist/components/form/transfer-list.js.map +1 -0
  122. package/dist/components/table/table.js +10 -0
  123. package/dist/components/table/table.js.map +1 -0
  124. package/dist/config/default-translations.d.ts +4 -4
  125. package/dist/constants-r-AHn273.js +6 -0
  126. package/dist/constants-r-AHn273.js.map +1 -0
  127. package/dist/context-BFXNJVn2.js +161 -0
  128. package/dist/context-BFXNJVn2.js.map +1 -0
  129. package/dist/createLucideIcon-CP-mMPfa.js +76 -0
  130. package/dist/createLucideIcon-CP-mMPfa.js.map +1 -0
  131. package/dist/date-picker-BxPTdZPy.js +1598 -0
  132. package/dist/date-picker-BxPTdZPy.js.map +1 -0
  133. package/dist/dom-Dl8XH0CK.js +2833 -0
  134. package/dist/dom-Dl8XH0CK.js.map +1 -0
  135. package/dist/file-CBCP85VI.js +15 -0
  136. package/dist/file-CBCP85VI.js.map +1 -0
  137. package/dist/file-upload-BB6BdGcE.js +3118 -0
  138. package/dist/file-upload-BB6BdGcE.js.map +1 -0
  139. package/dist/floating-ui.react-DycKASR0.js +3706 -0
  140. package/dist/floating-ui.react-DycKASR0.js.map +1 -0
  141. package/dist/fns-D2eyJKd5.js +33 -0
  142. package/dist/fns-D2eyJKd5.js.map +1 -0
  143. package/dist/hooks/use-translations.d.ts +4 -4
  144. package/dist/hooks/use-translations.d.ts.map +1 -1
  145. package/dist/index-0YMC-_Lt.js +20 -0
  146. package/dist/index-0YMC-_Lt.js.map +1 -0
  147. package/dist/index-BJ1ayTam.js +126 -0
  148. package/dist/index-BJ1ayTam.js.map +1 -0
  149. package/dist/index-BtlhELJ3.js +3416 -0
  150. package/dist/index-BtlhELJ3.js.map +1 -0
  151. package/dist/index-ChfR6F8d.js +1590 -0
  152. package/dist/index-ChfR6F8d.js.map +1 -0
  153. package/dist/index-DE4shK8D.js +215 -0
  154. package/dist/index-DE4shK8D.js.map +1 -0
  155. package/dist/index-DJSMaZR4.js +35 -0
  156. package/dist/index-DJSMaZR4.js.map +1 -0
  157. package/dist/index-t1qLJTt5.js +351 -0
  158. package/dist/index-t1qLJTt5.js.map +1 -0
  159. package/dist/index.css +1 -1
  160. package/dist/index.esm-BaIwleSE.js +343 -0
  161. package/dist/index.esm-BaIwleSE.js.map +1 -0
  162. package/dist/index.js +8050 -20
  163. package/dist/index.js.map +1 -1
  164. package/dist/info-N5jWZg2A.js +10 -0
  165. package/dist/info-N5jWZg2A.js.map +1 -0
  166. package/dist/input-CoJoHIhd.js +441 -0
  167. package/dist/input-CoJoHIhd.js.map +1 -0
  168. package/dist/input-field-DTeIrwpK.js +146 -0
  169. package/dist/input-field-DTeIrwpK.js.map +1 -0
  170. package/dist/notifications-NPuFDsBp.js +2550 -0
  171. package/dist/notifications-NPuFDsBp.js.map +1 -0
  172. package/dist/polymorph-B5n9fs_K.js +10 -0
  173. package/dist/polymorph-B5n9fs_K.js.map +1 -0
  174. package/dist/proxy-BZcQiBrp.js +2495 -0
  175. package/dist/proxy-BZcQiBrp.js.map +1 -0
  176. package/dist/skeleton-D75GFBV6.js +10 -0
  177. package/dist/skeleton-D75GFBV6.js.map +1 -0
  178. package/dist/slot-CQW8ZzBb.js +79 -0
  179. package/dist/slot-CQW8ZzBb.js.map +1 -0
  180. package/dist/styles/common.js +3 -3
  181. package/dist/styles/dark.js +4 -4
  182. package/dist/styles/design-tokens.js +89 -60
  183. package/dist/styles/light.js +4 -4
  184. package/dist/styles/theme.js +2 -2
  185. package/dist/tabs-ccIA7vMo.js +106 -0
  186. package/dist/tabs-ccIA7vMo.js.map +1 -0
  187. package/dist/triangle-alert-CHMhQ6yd.js +16 -0
  188. package/dist/triangle-alert-CHMhQ6yd.js.map +1 -0
  189. package/dist/use-motion-value-eGwNuWuw.js +14 -0
  190. package/dist/use-motion-value-eGwNuWuw.js.map +1 -0
  191. package/dist/use-stable-ref-CYh-YkID.js +11 -0
  192. package/dist/use-stable-ref-CYh-YkID.js.map +1 -0
  193. package/dist/use-translations-BwLKTrZv.js +10 -0
  194. package/dist/use-translations-BwLKTrZv.js.map +1 -0
  195. package/dist/x-B9bYxG31.js +9 -0
  196. package/dist/x-B9bYxG31.js.map +1 -0
  197. package/package.json +6 -7
  198. package/dist/components/core/button.jsx +0 -79
  199. package/dist/components/core/heading.jsx +0 -4
  200. package/dist/components/core/polymorph.jsx +0 -5
  201. package/dist/components/core/render-on-view.jsx +0 -31
  202. package/dist/components/core/resizable.jsx +0 -51
  203. package/dist/components/core/slot.jsx +0 -156
  204. package/dist/components/core/tag.jsx +0 -51
  205. package/dist/components/core/typography.jsx +0 -22
  206. package/dist/components/display/alert.jsx +0 -58
  207. package/dist/components/display/calendar.jsx +0 -299
  208. package/dist/components/display/card.jsx +0 -43
  209. package/dist/components/display/empty.jsx +0 -11
  210. package/dist/components/display/list.jsx +0 -81
  211. package/dist/components/display/notifications.jsx +0 -126
  212. package/dist/components/display/progress.jsx +0 -11
  213. package/dist/components/display/shortcut.jsx +0 -23
  214. package/dist/components/display/skeleton.jsx +0 -12
  215. package/dist/components/display/spinner.jsx +0 -7
  216. package/dist/components/display/stats.jsx +0 -20
  217. package/dist/components/display/step.jsx +0 -131
  218. package/dist/components/display/tabs.jsx +0 -98
  219. package/dist/components/display/timeline.jsx +0 -25
  220. package/dist/components/floating/command-palette.jsx +0 -194
  221. package/dist/components/floating/dropdown.jsx +0 -53
  222. package/dist/components/floating/expand.jsx +0 -44
  223. package/dist/components/floating/menu.jsx +0 -147
  224. package/dist/components/floating/modal.jsx +0 -299
  225. package/dist/components/floating/toolbar.jsx +0 -5
  226. package/dist/components/floating/tooltip.jsx +0 -58
  227. package/dist/components/floating/wizard.jsx +0 -161
  228. package/dist/components/form/autocomplete.jsx +0 -279
  229. package/dist/components/form/checkbox.jsx +0 -12
  230. package/dist/components/form/date-picker.jsx +0 -115
  231. package/dist/components/form/file-upload.jsx +0 -133
  232. package/dist/components/form/form.jsx +0 -10
  233. package/dist/components/form/formReset.jsx +0 -17
  234. package/dist/components/form/free-text.jsx +0 -41
  235. package/dist/components/form/input-field.jsx +0 -56
  236. package/dist/components/form/input.jsx +0 -36
  237. package/dist/components/form/multi-select.jsx +0 -328
  238. package/dist/components/form/radiobox.jsx +0 -6
  239. package/dist/components/form/select.jsx +0 -42
  240. package/dist/components/form/slider.jsx +0 -45
  241. package/dist/components/form/switch.jsx +0 -46
  242. package/dist/components/form/task-list.jsx +0 -26
  243. package/dist/components/form/textarea.jsx +0 -12
  244. package/dist/components/form/transfer-list.jsx +0 -39
  245. package/dist/components/index.js +0 -45
  246. package/dist/components/page-calendar/calendar-header.jsx +0 -81
  247. package/dist/components/page-calendar/day-view.jsx +0 -87
  248. package/dist/components/page-calendar/event-pill.jsx +0 -25
  249. package/dist/components/page-calendar/index.js +0 -2
  250. package/dist/components/page-calendar/month-view.jsx +0 -47
  251. package/dist/components/page-calendar/page-calendar.jsx +0 -41
  252. package/dist/components/page-calendar/page-calendar.types.js +0 -1
  253. package/dist/components/page-calendar/page-calendar.utils.js +0 -71
  254. package/dist/components/page-calendar/week-view.jsx +0 -64
  255. package/dist/components/table/filter.jsx +0 -141
  256. package/dist/components/table/group.jsx +0 -68
  257. package/dist/components/table/index.jsx +0 -60
  258. package/dist/components/table/inner-table.jsx +0 -104
  259. package/dist/components/table/metadata.jsx +0 -36
  260. package/dist/components/table/pagination.jsx +0 -73
  261. package/dist/components/table/row.jsx +0 -58
  262. package/dist/components/table/sort.jsx +0 -105
  263. package/dist/components/table/table-lib.js +0 -83
  264. package/dist/components/table/table.context.jsx +0 -4
  265. package/dist/components/table/thead.jsx +0 -103
  266. package/dist/config/context.js +0 -12
  267. package/dist/config/default-translations.jsx +0 -83
  268. package/dist/config/default-tweaks.js +0 -4
  269. package/dist/constants.js +0 -2
  270. package/dist/hooks/use-click-outside.js +0 -17
  271. package/dist/hooks/use-color-parser.js +0 -9
  272. package/dist/hooks/use-components-provider.jsx +0 -19
  273. package/dist/hooks/use-debounce.js +0 -12
  274. package/dist/hooks/use-floating-ref.js +0 -6
  275. package/dist/hooks/use-form.js +0 -550
  276. package/dist/hooks/use-hover.js +0 -18
  277. package/dist/hooks/use-input-id.js +0 -5
  278. package/dist/hooks/use-is-coarse-device.js +0 -12
  279. package/dist/hooks/use-locale.js +0 -10
  280. package/dist/hooks/use-media-query.js +0 -25
  281. package/dist/hooks/use-on-event.js +0 -7
  282. package/dist/hooks/use-parent.js +0 -21
  283. package/dist/hooks/use-preferences.js +0 -23
  284. package/dist/hooks/use-previous.js +0 -9
  285. package/dist/hooks/use-reactive.js +0 -9
  286. package/dist/hooks/use-remove-scroll.js +0 -61
  287. package/dist/hooks/use-resize-observer.js +0 -17
  288. package/dist/hooks/use-stable-ref.js +0 -9
  289. package/dist/hooks/use-swipe.js +0 -17
  290. package/dist/hooks/use-translations.js +0 -9
  291. package/dist/hooks/use-tweaks.js +0 -9
  292. package/dist/hooks/use-window-size.js +0 -14
  293. package/dist/index.mjs +0 -37103
  294. package/dist/index.mjs.map +0 -1
  295. package/dist/index.umd.js +0 -28
  296. package/dist/index.umd.js.map +0 -1
  297. package/dist/lib/combi-keys.js +0 -60
  298. package/dist/lib/dict.js +0 -39
  299. package/dist/lib/dom.js +0 -62
  300. package/dist/lib/fns.js +0 -46
  301. package/dist/lib/fzf.js +0 -117
  302. package/dist/lib/keyboard-area.js +0 -14
  303. package/dist/types.js +0 -1
@@ -0,0 +1,3416 @@
1
+ import { jsx as A, jsxs as Ke, Fragment as an } from "react/jsx-runtime";
2
+ import H, { createElement as je } from "react";
3
+ import cn from "react-dom";
4
+ const Ct = 0, De = 1, Qe = 2, ko = 4;
5
+ function uo(e) {
6
+ return () => e;
7
+ }
8
+ function dn(e) {
9
+ e();
10
+ }
11
+ function it(e, t) {
12
+ return (o) => e(t(o));
13
+ }
14
+ function ao(e, t) {
15
+ return () => e(t);
16
+ }
17
+ function fn(e, t) {
18
+ return (o) => e(t, o);
19
+ }
20
+ function Lt(e) {
21
+ return e !== void 0;
22
+ }
23
+ function hn(...e) {
24
+ return () => {
25
+ e.map(dn);
26
+ };
27
+ }
28
+ function et() {
29
+ }
30
+ function zt(e, t) {
31
+ return t(e), e;
32
+ }
33
+ function mn(e, t) {
34
+ return t(e);
35
+ }
36
+ function oe(...e) {
37
+ return e;
38
+ }
39
+ function q(e, t) {
40
+ return e(De, t);
41
+ }
42
+ function N(e, t) {
43
+ e(Ct, t);
44
+ }
45
+ function Dt(e) {
46
+ e(Qe);
47
+ }
48
+ function ie(e) {
49
+ return e(ko);
50
+ }
51
+ function k(e, t) {
52
+ return q(e, fn(t, Ct));
53
+ }
54
+ function He(e, t) {
55
+ const o = e(De, (n) => {
56
+ o(), t(n);
57
+ });
58
+ return o;
59
+ }
60
+ function co(e) {
61
+ let t, o;
62
+ return (n) => (r) => {
63
+ t = r, o && clearTimeout(o), o = setTimeout(() => {
64
+ n(t);
65
+ }, e);
66
+ };
67
+ }
68
+ function Oo(e, t) {
69
+ return e === t;
70
+ }
71
+ function ee(e = Oo) {
72
+ let t;
73
+ return (o) => (n) => {
74
+ e(t, n) || (t = n, o(n));
75
+ };
76
+ }
77
+ function M(e) {
78
+ return (t) => (o) => {
79
+ e(o) && t(o);
80
+ };
81
+ }
82
+ function B(e) {
83
+ return (t) => it(t, e);
84
+ }
85
+ function Fe(e) {
86
+ return (t) => () => {
87
+ t(e);
88
+ };
89
+ }
90
+ function v(e, ...t) {
91
+ const o = gn(...t);
92
+ return ((n, r) => {
93
+ switch (n) {
94
+ case Qe:
95
+ Dt(e);
96
+ return;
97
+ case De:
98
+ return q(e, o(r));
99
+ }
100
+ });
101
+ }
102
+ function We(e, t) {
103
+ return (o) => (n) => {
104
+ o(t = e(t, n));
105
+ };
106
+ }
107
+ function $e(e) {
108
+ return (t) => (o) => {
109
+ e > 0 ? e-- : t(o);
110
+ };
111
+ }
112
+ function Ae(e) {
113
+ let t = null, o;
114
+ return (n) => (r) => {
115
+ t = r, !o && (o = setTimeout(() => {
116
+ o = void 0, n(t);
117
+ }, e));
118
+ };
119
+ }
120
+ function _(...e) {
121
+ const t = new Array(e.length);
122
+ let o = 0, n = null;
123
+ const r = Math.pow(2, e.length) - 1;
124
+ return e.forEach((i, l) => {
125
+ const s = Math.pow(2, l);
126
+ q(i, (u) => {
127
+ const d = o;
128
+ o = o | s, t[l] = u, d !== r && o === r && n && (n(), n = null);
129
+ });
130
+ }), (i) => (l) => {
131
+ const s = () => {
132
+ i([l].concat(t));
133
+ };
134
+ o === r ? s() : n = s;
135
+ };
136
+ }
137
+ function gn(...e) {
138
+ return (t) => e.reduceRight(mn, t);
139
+ }
140
+ function pn(e) {
141
+ let t, o;
142
+ const n = () => t?.();
143
+ return function(r, i) {
144
+ switch (r) {
145
+ case De:
146
+ return i ? o === i ? void 0 : (n(), o = i, t = q(e, i), t) : (n(), et);
147
+ case Qe:
148
+ n(), o = null;
149
+ return;
150
+ }
151
+ };
152
+ }
153
+ function S(e) {
154
+ let t = e;
155
+ const o = j();
156
+ return ((n, r) => {
157
+ switch (n) {
158
+ case Ct:
159
+ t = r;
160
+ break;
161
+ case De: {
162
+ r(t);
163
+ break;
164
+ }
165
+ case ko:
166
+ return t;
167
+ }
168
+ return o(n, r);
169
+ });
170
+ }
171
+ function me(e, t) {
172
+ return zt(S(t), (o) => k(e, o));
173
+ }
174
+ function j() {
175
+ const e = [];
176
+ return ((t, o) => {
177
+ switch (t) {
178
+ case Ct:
179
+ e.slice().forEach((n) => {
180
+ n(o);
181
+ });
182
+ return;
183
+ case Qe:
184
+ e.splice(0, e.length);
185
+ return;
186
+ case De:
187
+ return e.push(o), () => {
188
+ const n = e.indexOf(o);
189
+ n > -1 && e.splice(n, 1);
190
+ };
191
+ }
192
+ });
193
+ }
194
+ function we(e) {
195
+ return zt(j(), (t) => k(e, t));
196
+ }
197
+ function K(e, t = [], { singleton: o } = { singleton: !0 }) {
198
+ return {
199
+ constructor: e,
200
+ dependencies: t,
201
+ id: vn(),
202
+ singleton: o
203
+ };
204
+ }
205
+ const vn = () => /* @__PURE__ */ Symbol();
206
+ function In(e) {
207
+ const t = /* @__PURE__ */ new Map(), o = ({ constructor: n, dependencies: r, id: i, singleton: l }) => {
208
+ if (l && t.has(i))
209
+ return t.get(i);
210
+ const s = n(r.map((u) => o(u)));
211
+ return l && t.set(i, s), s;
212
+ };
213
+ return o(e);
214
+ }
215
+ function ue(...e) {
216
+ const t = j(), o = new Array(e.length);
217
+ let n = 0;
218
+ const r = Math.pow(2, e.length) - 1;
219
+ return e.forEach((i, l) => {
220
+ const s = Math.pow(2, l);
221
+ q(i, (u) => {
222
+ o[l] = u, n = n | s, n === r && N(t, o);
223
+ });
224
+ }), function(i, l) {
225
+ switch (i) {
226
+ case Qe: {
227
+ Dt(t);
228
+ return;
229
+ }
230
+ case De:
231
+ return n === r && l(o), q(t, l);
232
+ }
233
+ };
234
+ }
235
+ function P(e, t = Oo) {
236
+ return v(e, ee(t));
237
+ }
238
+ function Ft(...e) {
239
+ return function(t, o) {
240
+ switch (t) {
241
+ case Qe:
242
+ return;
243
+ case De:
244
+ return hn(...e.map((n) => q(n, o)));
245
+ }
246
+ };
247
+ }
248
+ var pe = /* @__PURE__ */ ((e) => (e[e.DEBUG = 0] = "DEBUG", e[e.INFO = 1] = "INFO", e[e.WARN = 2] = "WARN", e[e.ERROR = 3] = "ERROR", e))(pe || {});
249
+ const xn = {
250
+ 0: "debug",
251
+ 3: "error",
252
+ 1: "log",
253
+ 2: "warn"
254
+ }, Tn = () => typeof globalThis > "u" ? window : globalThis, Ge = K(
255
+ () => {
256
+ const e = S(
257
+ 3
258
+ /* ERROR */
259
+ );
260
+ return {
261
+ log: S((t, o, n = 1) => {
262
+ var r;
263
+ const i = (r = Tn().VIRTUOSO_LOG_LEVEL) != null ? r : ie(e);
264
+ n >= i && console[xn[n]](
265
+ "%creact-virtuoso: %c%s %o",
266
+ "color: #0253b3; font-weight: bold",
267
+ "color: initial",
268
+ t,
269
+ o
270
+ );
271
+ }),
272
+ logLevel: e
273
+ };
274
+ },
275
+ [],
276
+ { singleton: !0 }
277
+ );
278
+ function Pe(e, t, o) {
279
+ return Gt(e, t, o).callbackRef;
280
+ }
281
+ function Gt(e, t, o) {
282
+ const n = H.useRef(null);
283
+ let r = (l) => {
284
+ };
285
+ const i = H.useMemo(() => typeof ResizeObserver < "u" ? new ResizeObserver((l) => {
286
+ const s = () => {
287
+ const u = l[0].target;
288
+ u.offsetParent !== null && e(u);
289
+ };
290
+ o ? s() : requestAnimationFrame(s);
291
+ }) : null, [e, o]);
292
+ return r = (l) => {
293
+ l && t ? (i?.observe(l), n.current = l) : (n.current && i?.unobserve(n.current), n.current = null);
294
+ }, { callbackRef: r, ref: n };
295
+ }
296
+ function Fo(e, t, o, n, r, i, l, s, u) {
297
+ const d = H.useCallback(
298
+ (h) => {
299
+ const x = Sn(h.children, t, s ? "offsetWidth" : "offsetHeight", r);
300
+ let m = h.parentElement;
301
+ for (; !m.dataset.virtuosoScroller; )
302
+ m = m.parentElement;
303
+ const I = m.lastElementChild.dataset.viewportType === "window";
304
+ let z;
305
+ I && (z = m.ownerDocument.defaultView);
306
+ const T = l ? s ? l.scrollLeft : l.scrollTop : I ? s ? z.scrollX || z.document.documentElement.scrollLeft : z.scrollY || z.document.documentElement.scrollTop : s ? m.scrollLeft : m.scrollTop, g = l ? s ? l.scrollWidth : l.scrollHeight : I ? s ? z.document.documentElement.scrollWidth : z.document.documentElement.scrollHeight : s ? m.scrollWidth : m.scrollHeight, c = l ? s ? l.offsetWidth : l.offsetHeight : I ? s ? z.innerWidth : z.innerHeight : s ? m.offsetWidth : m.offsetHeight;
307
+ n({
308
+ scrollHeight: g,
309
+ scrollTop: Math.max(T, 0),
310
+ viewportHeight: c
311
+ }), i?.(
312
+ s ? fo("column-gap", getComputedStyle(h).columnGap, r) : fo("row-gap", getComputedStyle(h).rowGap, r)
313
+ ), x !== null && e(x);
314
+ },
315
+ [e, t, r, i, l, n, s]
316
+ );
317
+ return Gt(d, o, u);
318
+ }
319
+ function Sn(e, t, o, n) {
320
+ const r = e.length;
321
+ if (r === 0)
322
+ return null;
323
+ const i = [];
324
+ for (let l = 0; l < r; l++) {
325
+ const s = e.item(l);
326
+ if (s.dataset.index === void 0)
327
+ continue;
328
+ const u = parseInt(s.dataset.index), d = parseFloat(s.dataset.knownSize), h = t(s, o);
329
+ if (h === 0 && n("Zero-sized element, this should not happen", { child: s }, pe.ERROR), h === d)
330
+ continue;
331
+ const x = i[i.length - 1];
332
+ i.length === 0 || x.size !== h || x.endIndex !== u - 1 ? i.push({ endIndex: u, size: h, startIndex: u }) : i[i.length - 1].endIndex++;
333
+ }
334
+ return i;
335
+ }
336
+ function fo(e, t, o) {
337
+ return t !== "normal" && !(t != null && t.endsWith("px")) && o(`${e} was not resolved to pixel value correctly`, t, pe.WARN), t === "normal" ? 0 : parseInt(t ?? "0", 10);
338
+ }
339
+ function Nt(e, t, o) {
340
+ const n = H.useRef(null), r = H.useCallback(
341
+ (u) => {
342
+ if (!(u != null && u.offsetParent))
343
+ return;
344
+ const d = u.getBoundingClientRect(), h = d.width;
345
+ let x, m;
346
+ if (t) {
347
+ const I = t.getBoundingClientRect(), z = d.top - I.top;
348
+ m = I.height - Math.max(0, z), x = z + t.scrollTop;
349
+ } else {
350
+ const I = l.current.ownerDocument.defaultView;
351
+ m = I.innerHeight - Math.max(0, d.top), x = d.top + I.scrollY;
352
+ }
353
+ n.current = {
354
+ offsetTop: x,
355
+ visibleHeight: m,
356
+ visibleWidth: h
357
+ }, e(n.current);
358
+ },
359
+ // eslint-disable-next-line react-hooks/exhaustive-deps
360
+ [e, t]
361
+ ), { callbackRef: i, ref: l } = Gt(r, !0, o), s = H.useCallback(() => {
362
+ r(l.current);
363
+ }, [r, l]);
364
+ return H.useEffect(() => {
365
+ var u;
366
+ if (t) {
367
+ t.addEventListener("scroll", s);
368
+ const d = new ResizeObserver(() => {
369
+ requestAnimationFrame(s);
370
+ });
371
+ return d.observe(t), () => {
372
+ t.removeEventListener("scroll", s), d.unobserve(t);
373
+ };
374
+ } else {
375
+ const d = (u = l.current) == null ? void 0 : u.ownerDocument.defaultView;
376
+ return d?.addEventListener("scroll", s), d?.addEventListener("resize", s), () => {
377
+ d?.removeEventListener("scroll", s), d?.removeEventListener("resize", s);
378
+ };
379
+ }
380
+ }, [s, t, l]), i;
381
+ }
382
+ const ge = K(
383
+ () => {
384
+ const e = j(), t = j(), o = S(0), n = j(), r = S(0), i = j(), l = j(), s = S(0), u = S(0), d = S(0), h = S(0), x = j(), m = j(), I = S(!1), z = S(!1), T = S(!1);
385
+ return k(
386
+ v(
387
+ e,
388
+ B(({ scrollTop: g }) => g)
389
+ ),
390
+ t
391
+ ), k(
392
+ v(
393
+ e,
394
+ B(({ scrollHeight: g }) => g)
395
+ ),
396
+ l
397
+ ), k(t, r), {
398
+ deviation: o,
399
+ fixedFooterHeight: d,
400
+ fixedHeaderHeight: u,
401
+ footerHeight: h,
402
+ headerHeight: s,
403
+ horizontalDirection: z,
404
+ scrollBy: m,
405
+ // input
406
+ scrollContainerState: e,
407
+ scrollHeight: l,
408
+ scrollingInProgress: I,
409
+ // signals
410
+ scrollTo: x,
411
+ scrollTop: t,
412
+ skipAnimationFrameInResizeObserver: T,
413
+ smoothScrollTargetReached: n,
414
+ // state
415
+ statefulScrollTop: r,
416
+ viewportHeight: i
417
+ };
418
+ },
419
+ [],
420
+ { singleton: !0 }
421
+ ), lt = { lvl: 0 };
422
+ function Wo(e, t) {
423
+ const o = e.length;
424
+ if (o === 0)
425
+ return [];
426
+ let { index: n, value: r } = t(e[0]);
427
+ const i = [];
428
+ for (let l = 1; l < o; l++) {
429
+ const { index: s, value: u } = t(e[l]);
430
+ i.push({ end: s - 1, start: n, value: r }), n = s, r = u;
431
+ }
432
+ return i.push({ end: 1 / 0, start: n, value: r }), i;
433
+ }
434
+ function X(e) {
435
+ return e === lt;
436
+ }
437
+ function st(e, t) {
438
+ if (!X(e))
439
+ return t === e.k ? e.v : t < e.k ? st(e.l, t) : st(e.r, t);
440
+ }
441
+ function Ee(e, t, o = "k") {
442
+ if (X(e))
443
+ return [-1 / 0, void 0];
444
+ if (Number(e[o]) === t)
445
+ return [e.k, e.v];
446
+ if (Number(e[o]) < t) {
447
+ const n = Ee(e.r, t, o);
448
+ return n[0] === -1 / 0 ? [e.k, e.v] : n;
449
+ }
450
+ return Ee(e.l, t, o);
451
+ }
452
+ function Se(e, t, o) {
453
+ return X(e) ? Ao(t, o, 1) : t === e.k ? ce(e, { k: t, v: o }) : t < e.k ? ho(ce(e, { l: Se(e.l, t, o) })) : ho(ce(e, { r: Se(e.r, t, o) }));
454
+ }
455
+ function Xe() {
456
+ return lt;
457
+ }
458
+ function Je(e, t, o) {
459
+ if (X(e))
460
+ return [];
461
+ const n = Ee(e, t)[0];
462
+ return wn(Pt(e, n, o));
463
+ }
464
+ function Wt(e, t) {
465
+ if (X(e)) return lt;
466
+ const { k: o, l: n, r } = e;
467
+ if (t === o) {
468
+ if (X(n))
469
+ return r;
470
+ if (X(r))
471
+ return n;
472
+ {
473
+ const [i, l] = Mo(n);
474
+ return xt(ce(e, { k: i, l: Po(n), v: l }));
475
+ }
476
+ } else return t < o ? xt(ce(e, { l: Wt(n, t) })) : xt(ce(e, { r: Wt(r, t) }));
477
+ }
478
+ function Ue(e) {
479
+ return X(e) ? [] : [...Ue(e.l), { k: e.k, v: e.v }, ...Ue(e.r)];
480
+ }
481
+ function Pt(e, t, o) {
482
+ if (X(e))
483
+ return [];
484
+ const { k: n, l: r, r: i, v: l } = e;
485
+ let s = [];
486
+ return n > t && (s = s.concat(Pt(r, t, o))), n >= t && n <= o && s.push({ k: n, v: l }), n <= o && (s = s.concat(Pt(i, t, o))), s;
487
+ }
488
+ function xt(e) {
489
+ const { l: t, lvl: o, r: n } = e;
490
+ if (n.lvl >= o - 1 && t.lvl >= o - 1)
491
+ return e;
492
+ if (o > n.lvl + 1) {
493
+ if (Ht(t))
494
+ return Vo(ce(e, { lvl: o - 1 }));
495
+ if (!X(t) && !X(t.r))
496
+ return ce(t.r, {
497
+ l: ce(t, { r: t.r.l }),
498
+ lvl: o,
499
+ r: ce(e, {
500
+ l: t.r.r,
501
+ lvl: o - 1
502
+ })
503
+ });
504
+ throw new Error("Unexpected empty nodes");
505
+ } else {
506
+ if (Ht(e))
507
+ return Mt(ce(e, { lvl: o - 1 }));
508
+ if (!X(n) && !X(n.l)) {
509
+ const r = n.l, i = Ht(r) ? n.lvl - 1 : n.lvl;
510
+ return ce(r, {
511
+ l: ce(e, {
512
+ lvl: o - 1,
513
+ r: r.l
514
+ }),
515
+ lvl: r.lvl + 1,
516
+ r: Mt(ce(n, { l: r.r, lvl: i }))
517
+ });
518
+ } else
519
+ throw new Error("Unexpected empty nodes");
520
+ }
521
+ }
522
+ function ce(e, t) {
523
+ return Ao(
524
+ t.k !== void 0 ? t.k : e.k,
525
+ t.v !== void 0 ? t.v : e.v,
526
+ t.lvl !== void 0 ? t.lvl : e.lvl,
527
+ t.l !== void 0 ? t.l : e.l,
528
+ t.r !== void 0 ? t.r : e.r
529
+ );
530
+ }
531
+ function Po(e) {
532
+ return X(e.r) ? e.l : xt(ce(e, { r: Po(e.r) }));
533
+ }
534
+ function Ht(e) {
535
+ return X(e) || e.lvl > e.r.lvl;
536
+ }
537
+ function Mo(e) {
538
+ return X(e.r) ? [e.k, e.v] : Mo(e.r);
539
+ }
540
+ function Ao(e, t, o, n = lt, r = lt) {
541
+ return { k: e, l: n, lvl: o, r, v: t };
542
+ }
543
+ function ho(e) {
544
+ return Mt(Vo(e));
545
+ }
546
+ function Vo(e) {
547
+ const { l: t } = e;
548
+ return !X(t) && t.lvl === e.lvl ? ce(t, { r: ce(e, { l: t.r }) }) : e;
549
+ }
550
+ function Mt(e) {
551
+ const { lvl: t, r: o } = e;
552
+ return !X(o) && !X(o.r) && o.lvl === t && o.r.lvl === t ? ce(o, { l: ce(e, { r: o.l }), lvl: t + 1 }) : e;
553
+ }
554
+ function wn(e) {
555
+ return Wo(e, ({ k: t, v: o }) => ({ index: t, value: o }));
556
+ }
557
+ function Lo(e, t) {
558
+ return !!(e && e.startIndex === t.startIndex && e.endIndex === t.endIndex);
559
+ }
560
+ function ut(e, t) {
561
+ return !!(e && e[0] === t[0] && e[1] === t[1]);
562
+ }
563
+ const _t = K(
564
+ () => ({ recalcInProgress: S(!1) }),
565
+ [],
566
+ { singleton: !0 }
567
+ );
568
+ function Do(e, t, o) {
569
+ return e[St(e, t, o)];
570
+ }
571
+ function St(e, t, o, n = 0) {
572
+ let r = e.length - 1;
573
+ for (; n <= r; ) {
574
+ const i = Math.floor((n + r) / 2), l = e[i], s = o(l, t);
575
+ if (s === 0)
576
+ return i;
577
+ if (s === -1) {
578
+ if (r - n < 2)
579
+ return i - 1;
580
+ r = i - 1;
581
+ } else {
582
+ if (r === n)
583
+ return i;
584
+ n = i + 1;
585
+ }
586
+ }
587
+ throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`);
588
+ }
589
+ function Cn(e, t, o, n) {
590
+ const r = St(e, t, n), i = St(e, o, n, r);
591
+ return e.slice(r, i + 1);
592
+ }
593
+ function ke(e, t) {
594
+ return Math.round(e.getBoundingClientRect()[t]);
595
+ }
596
+ function Rt(e) {
597
+ return !X(e.groupOffsetTree);
598
+ }
599
+ function Ut({ index: e }, t) {
600
+ return t === e ? 0 : t < e ? -1 : 1;
601
+ }
602
+ function zn() {
603
+ return {
604
+ groupIndices: [],
605
+ groupOffsetTree: Xe(),
606
+ lastIndex: 0,
607
+ lastOffset: 0,
608
+ lastSize: 0,
609
+ offsetTree: [],
610
+ sizeTree: Xe()
611
+ };
612
+ }
613
+ function Rn(e, t) {
614
+ let o = X(e) ? 0 : 1 / 0;
615
+ for (const n of t) {
616
+ const { endIndex: r, size: i, startIndex: l } = n;
617
+ if (o = Math.min(o, l), X(e)) {
618
+ e = Se(e, 0, i);
619
+ continue;
620
+ }
621
+ const s = Je(e, l - 1, r + 1);
622
+ if (s.some(On(n)))
623
+ continue;
624
+ let u = !1, d = !1;
625
+ for (const { end: h, start: x, value: m } of s)
626
+ u ? (r >= x || i === m) && (e = Wt(e, x)) : (d = m !== i, u = !0), h > r && r >= x && m !== i && (e = Se(e, r + 1, m));
627
+ d && (e = Se(e, l, i));
628
+ }
629
+ return [e, o];
630
+ }
631
+ function yn(e) {
632
+ return typeof e.groupIndex < "u";
633
+ }
634
+ function bn({ offset: e }, t) {
635
+ return t === e ? 0 : t < e ? -1 : 1;
636
+ }
637
+ function at(e, t, o) {
638
+ if (t.length === 0)
639
+ return 0;
640
+ const { index: n, offset: r, size: i } = Do(t, e, Ut), l = e - n, s = i * l + (l - 1) * o + r;
641
+ return s > 0 ? s + o : s;
642
+ }
643
+ function Go(e, t) {
644
+ if (!Rt(t))
645
+ return e;
646
+ let o = 0;
647
+ for (; t.groupIndices[o] <= e + o; )
648
+ o++;
649
+ return e + o;
650
+ }
651
+ function No(e, t, o) {
652
+ if (yn(e))
653
+ return t.groupIndices[e.groupIndex] + 1;
654
+ {
655
+ const n = e.index === "LAST" ? o : e.index;
656
+ let r = Go(n, t);
657
+ return r = Math.max(0, r, Math.min(o, r)), r;
658
+ }
659
+ }
660
+ function Hn(e, t, o, n = 0) {
661
+ return n > 0 && (t = Math.max(t, Do(e, n, Ut).offset)), Wo(Cn(e, t, o, bn), kn);
662
+ }
663
+ function Bn(e, [t, o, n, r]) {
664
+ t.length > 0 && n("received item sizes", t, pe.DEBUG);
665
+ const i = e.sizeTree;
666
+ let l = i, s = 0;
667
+ if (o.length > 0 && X(i) && t.length === 2) {
668
+ const m = t[0].size, I = t[1].size;
669
+ l = o.reduce((z, T) => Se(Se(z, T, m), T + 1, I), l);
670
+ } else
671
+ [l, s] = Rn(l, t);
672
+ if (l === i)
673
+ return e;
674
+ const { lastIndex: u, lastOffset: d, lastSize: h, offsetTree: x } = At(e.offsetTree, s, l, r);
675
+ return {
676
+ groupIndices: o,
677
+ groupOffsetTree: o.reduce((m, I) => Se(m, I, at(I, x, r)), Xe()),
678
+ lastIndex: u,
679
+ lastOffset: d,
680
+ lastSize: h,
681
+ offsetTree: x,
682
+ sizeTree: l
683
+ };
684
+ }
685
+ function En(e) {
686
+ return Ue(e).map(({ k: t, v: o }, n, r) => {
687
+ const i = r[n + 1];
688
+ return { endIndex: i ? i.k - 1 : 1 / 0, size: o, startIndex: t };
689
+ });
690
+ }
691
+ function mo(e, t) {
692
+ let o = 0, n = 0;
693
+ for (; o < e; )
694
+ o += t[n + 1] - t[n] - 1, n++;
695
+ return n - (o === e ? 0 : 1);
696
+ }
697
+ function At(e, t, o, n) {
698
+ let r = e, i = 0, l = 0, s = 0, u = 0;
699
+ if (t !== 0) {
700
+ u = St(r, t - 1, Ut), s = r[u].offset;
701
+ const d = Ee(o, t - 1);
702
+ i = d[0], l = d[1], r.length && r[u].size === Ee(o, t)[1] && (u -= 1), r = r.slice(0, u + 1);
703
+ } else
704
+ r = [];
705
+ for (const { start: d, value: h } of Je(o, t, 1 / 0)) {
706
+ const x = d - i, m = x * l + s + x * n;
707
+ r.push({
708
+ index: d,
709
+ offset: m,
710
+ size: h
711
+ }), i = d, s = m, l = h;
712
+ }
713
+ return {
714
+ lastIndex: i,
715
+ lastOffset: s,
716
+ lastSize: l,
717
+ offsetTree: r
718
+ };
719
+ }
720
+ function kn(e) {
721
+ return { index: e.index, value: e };
722
+ }
723
+ function On(e) {
724
+ const { endIndex: t, size: o, startIndex: n } = e;
725
+ return (r) => r.start === n && (r.end === t || r.end === 1 / 0) && r.value === o;
726
+ }
727
+ const Fn = {
728
+ offsetHeight: "height",
729
+ offsetWidth: "width"
730
+ }, Me = K(
731
+ ([{ log: e }, { recalcInProgress: t }]) => {
732
+ const o = j(), n = j(), r = me(n, 0), i = j(), l = j(), s = S(0), u = S([]), d = S(void 0), h = S(void 0), x = S(void 0), m = S(void 0), I = S((a, p) => ke(a, Fn[p])), z = S(void 0), T = S(0), g = zn(), c = me(
733
+ v(o, _(u, e, T), We(Bn, g), ee()),
734
+ g
735
+ ), f = me(
736
+ v(
737
+ u,
738
+ ee(),
739
+ We((a, p) => ({ current: p, prev: a.current }), {
740
+ current: [],
741
+ prev: []
742
+ }),
743
+ B(({ prev: a }) => a)
744
+ ),
745
+ []
746
+ );
747
+ k(
748
+ v(
749
+ u,
750
+ M((a) => a.length > 0),
751
+ _(c, T),
752
+ B(([a, p, C]) => {
753
+ const R = a.reduce((O, L, D) => Se(O, L, at(L, p.offsetTree, C) || D), Xe());
754
+ return {
755
+ ...p,
756
+ groupIndices: a,
757
+ groupOffsetTree: R
758
+ };
759
+ })
760
+ ),
761
+ c
762
+ ), k(
763
+ v(
764
+ n,
765
+ _(c),
766
+ M(([a, { lastIndex: p }]) => a < p),
767
+ B(([a, { lastIndex: p, lastSize: C }]) => [
768
+ {
769
+ endIndex: p,
770
+ size: C,
771
+ startIndex: a
772
+ }
773
+ ])
774
+ ),
775
+ o
776
+ ), k(d, h);
777
+ const w = me(
778
+ v(
779
+ d,
780
+ B((a) => a === void 0)
781
+ ),
782
+ !0
783
+ );
784
+ k(
785
+ v(
786
+ h,
787
+ M((a) => a !== void 0 && X(ie(c).sizeTree)),
788
+ B((a) => {
789
+ const p = ie(x), C = ie(u).length > 0;
790
+ return p ? C ? [
791
+ { endIndex: 0, size: p, startIndex: 0 },
792
+ { endIndex: 1, size: a, startIndex: 1 }
793
+ ] : [] : [{ endIndex: 0, size: a, startIndex: 0 }];
794
+ })
795
+ ),
796
+ o
797
+ ), k(
798
+ v(
799
+ m,
800
+ M((a) => a !== void 0 && a.length > 0 && X(ie(c).sizeTree)),
801
+ B((a) => {
802
+ const p = [];
803
+ let C = a[0], R = 0;
804
+ for (let O = 1; O < a.length; O++) {
805
+ const L = a[O];
806
+ L !== C && (p.push({
807
+ endIndex: O - 1,
808
+ size: C,
809
+ startIndex: R
810
+ }), C = L, R = O);
811
+ }
812
+ return p.push({
813
+ endIndex: a.length - 1,
814
+ size: C,
815
+ startIndex: R
816
+ }), p;
817
+ })
818
+ ),
819
+ o
820
+ ), k(
821
+ v(
822
+ u,
823
+ _(x, h),
824
+ M(([, a, p]) => a !== void 0 && p !== void 0),
825
+ B(([a, p, C]) => {
826
+ const R = [];
827
+ for (let O = 0; O < a.length; O++) {
828
+ const L = a[O], D = a[O + 1];
829
+ R.push({
830
+ startIndex: L,
831
+ endIndex: L,
832
+ size: p
833
+ }), D !== void 0 && R.push({
834
+ startIndex: L + 1,
835
+ endIndex: D - 1,
836
+ size: C
837
+ });
838
+ }
839
+ return R;
840
+ })
841
+ ),
842
+ o
843
+ );
844
+ const E = we(
845
+ v(
846
+ o,
847
+ _(c),
848
+ We(
849
+ ({ sizes: a }, [p, C]) => ({
850
+ changed: C !== a,
851
+ sizes: C
852
+ }),
853
+ { changed: !1, sizes: g }
854
+ ),
855
+ B((a) => a.changed)
856
+ )
857
+ );
858
+ q(
859
+ v(
860
+ s,
861
+ We(
862
+ (a, p) => ({ diff: a.prev - p, prev: p }),
863
+ { diff: 0, prev: 0 }
864
+ ),
865
+ B((a) => a.diff)
866
+ ),
867
+ (a) => {
868
+ const { groupIndices: p } = ie(c);
869
+ if (a > 0)
870
+ N(t, !0), N(i, a + mo(a, p));
871
+ else if (a < 0) {
872
+ const C = ie(f);
873
+ C.length > 0 && (a -= mo(-a, C)), N(l, a);
874
+ }
875
+ }
876
+ ), q(v(s, _(e)), ([a, p]) => {
877
+ a < 0 && p(
878
+ "`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",
879
+ { firstItemIndex: s },
880
+ pe.ERROR
881
+ );
882
+ });
883
+ const b = we(i);
884
+ k(
885
+ v(
886
+ i,
887
+ _(c),
888
+ B(([a, p]) => {
889
+ const C = p.groupIndices.length > 0, R = [], O = p.lastSize;
890
+ if (C) {
891
+ const L = st(p.sizeTree, 0);
892
+ let D = 0, W = 0;
893
+ for (; D < a; ) {
894
+ const Y = p.groupIndices[W], J = p.groupIndices.length === W + 1 ? 1 / 0 : p.groupIndices[W + 1] - Y - 1;
895
+ R.push({
896
+ endIndex: Y,
897
+ size: L,
898
+ startIndex: Y
899
+ }), R.push({
900
+ endIndex: Y + 1 + J - 1,
901
+ size: O,
902
+ startIndex: Y + 1
903
+ }), W++, D += J + 1;
904
+ }
905
+ const U = Ue(p.sizeTree);
906
+ return D !== a && U.shift(), U.reduce(
907
+ (Y, { k: J, v: ve }) => {
908
+ let Ie = Y.ranges;
909
+ return Y.prevSize !== 0 && (Ie = [
910
+ ...Y.ranges,
911
+ {
912
+ endIndex: J + a - 1,
913
+ size: Y.prevSize,
914
+ startIndex: Y.prevIndex
915
+ }
916
+ ]), {
917
+ prevIndex: J + a,
918
+ prevSize: ve,
919
+ ranges: Ie
920
+ };
921
+ },
922
+ {
923
+ prevIndex: a,
924
+ prevSize: 0,
925
+ ranges: R
926
+ }
927
+ ).ranges;
928
+ }
929
+ return Ue(p.sizeTree).reduce(
930
+ (L, { k: D, v: W }) => ({
931
+ prevIndex: D + a,
932
+ prevSize: W,
933
+ ranges: [...L.ranges, { endIndex: D + a - 1, size: L.prevSize, startIndex: L.prevIndex }]
934
+ }),
935
+ {
936
+ prevIndex: 0,
937
+ prevSize: O,
938
+ ranges: []
939
+ }
940
+ ).ranges;
941
+ })
942
+ ),
943
+ o
944
+ );
945
+ const F = we(
946
+ v(
947
+ l,
948
+ _(c, T),
949
+ B(([a, { offsetTree: p }, C]) => {
950
+ const R = -a;
951
+ return at(R, p, C);
952
+ })
953
+ )
954
+ );
955
+ return k(
956
+ v(
957
+ l,
958
+ _(c, T),
959
+ B(([a, p, C]) => {
960
+ if (p.groupIndices.length > 0) {
961
+ if (X(p.sizeTree))
962
+ return p;
963
+ let R = Xe();
964
+ const O = ie(f);
965
+ let L = 0, D = 0, W = 0;
966
+ for (; L < -a; ) {
967
+ W = O[D];
968
+ const U = O[D + 1] - W - 1;
969
+ D++, L += U + 1;
970
+ }
971
+ if (R = Ue(p.sizeTree).reduce((U, { k: Y, v: J }) => Se(U, Math.max(0, Y + a), J), R), L !== -a) {
972
+ const U = st(p.sizeTree, W);
973
+ R = Se(R, 0, U);
974
+ const Y = Ee(p.sizeTree, -a + 1)[1];
975
+ R = Se(R, 1, Y);
976
+ }
977
+ return {
978
+ ...p,
979
+ sizeTree: R,
980
+ ...At(p.offsetTree, 0, R, C)
981
+ };
982
+ } else {
983
+ const R = Ue(p.sizeTree).reduce((O, { k: L, v: D }) => Se(O, Math.max(0, L + a), D), Xe());
984
+ return {
985
+ ...p,
986
+ sizeTree: R,
987
+ ...At(p.offsetTree, 0, R, C)
988
+ };
989
+ }
990
+ })
991
+ ),
992
+ c
993
+ ), {
994
+ beforeUnshiftWith: b,
995
+ // input
996
+ data: z,
997
+ defaultItemSize: h,
998
+ firstItemIndex: s,
999
+ fixedItemSize: d,
1000
+ fixedGroupSize: x,
1001
+ gap: T,
1002
+ groupIndices: u,
1003
+ heightEstimates: m,
1004
+ itemSize: I,
1005
+ listRefresh: E,
1006
+ shiftWith: l,
1007
+ shiftWithOffset: F,
1008
+ sizeRanges: o,
1009
+ // output
1010
+ sizes: c,
1011
+ statefulTotalCount: r,
1012
+ totalCount: n,
1013
+ trackItemSizes: w,
1014
+ unshiftWith: i
1015
+ };
1016
+ },
1017
+ oe(Ge, _t),
1018
+ { singleton: !0 }
1019
+ );
1020
+ function Wn(e) {
1021
+ return e.reduce(
1022
+ (t, o) => (t.groupIndices.push(t.totalCount), t.totalCount += o + 1, t),
1023
+ {
1024
+ groupIndices: [],
1025
+ totalCount: 0
1026
+ }
1027
+ );
1028
+ }
1029
+ const _o = K(
1030
+ ([{ groupIndices: e, sizes: t, totalCount: o }, { headerHeight: n, scrollTop: r }]) => {
1031
+ const i = j(), l = j(), s = we(v(i, B(Wn)));
1032
+ return k(
1033
+ v(
1034
+ s,
1035
+ B((u) => u.totalCount)
1036
+ ),
1037
+ o
1038
+ ), k(
1039
+ v(
1040
+ s,
1041
+ B((u) => u.groupIndices)
1042
+ ),
1043
+ e
1044
+ ), k(
1045
+ v(
1046
+ ue(r, t, n),
1047
+ M(([u, d]) => Rt(d)),
1048
+ B(([u, d, h]) => Ee(d.groupOffsetTree, Math.max(u - h, 0), "v")[0]),
1049
+ ee(),
1050
+ B((u) => [u])
1051
+ ),
1052
+ l
1053
+ ), { groupCounts: i, topItemsIndexes: l };
1054
+ },
1055
+ oe(Me, ge)
1056
+ ), Ne = K(
1057
+ ([{ log: e }]) => {
1058
+ const t = S(!1), o = we(
1059
+ v(
1060
+ t,
1061
+ M((n) => n),
1062
+ ee()
1063
+ )
1064
+ );
1065
+ return q(t, (n) => {
1066
+ n && ie(e)("props updated", {}, pe.DEBUG);
1067
+ }), { didMount: o, propsReady: t };
1068
+ },
1069
+ oe(Ge),
1070
+ { singleton: !0 }
1071
+ ), Pn = typeof document < "u" && "scrollBehavior" in document.documentElement.style;
1072
+ function Uo(e) {
1073
+ const t = typeof e == "number" ? { index: e } : e;
1074
+ return t.align || (t.align = "start"), (!t.behavior || !Pn) && (t.behavior = "auto"), t.offset || (t.offset = 0), t;
1075
+ }
1076
+ const ht = K(
1077
+ ([
1078
+ { gap: e, listRefresh: t, sizes: o, totalCount: n },
1079
+ {
1080
+ fixedFooterHeight: r,
1081
+ fixedHeaderHeight: i,
1082
+ footerHeight: l,
1083
+ headerHeight: s,
1084
+ scrollingInProgress: u,
1085
+ scrollTo: d,
1086
+ smoothScrollTargetReached: h,
1087
+ viewportHeight: x
1088
+ },
1089
+ { log: m }
1090
+ ]) => {
1091
+ const I = j(), z = j(), T = S(0);
1092
+ let g = null, c = null, f = null;
1093
+ function w() {
1094
+ g && (g(), g = null), f && (f(), f = null), c && (clearTimeout(c), c = null), N(u, !1);
1095
+ }
1096
+ return k(
1097
+ v(
1098
+ I,
1099
+ _(o, x, n, T, s, l, m),
1100
+ _(e, i, r),
1101
+ B(
1102
+ ([
1103
+ [E, b, F, a, p, C, R, O],
1104
+ L,
1105
+ D,
1106
+ W
1107
+ ]) => {
1108
+ const U = Uo(E), { align: Y, behavior: J, offset: ve } = U, Ie = a - 1, xe = No(U, b, Ie);
1109
+ let Te = at(xe, b.offsetTree, L) + C;
1110
+ Y === "end" ? (Te += D + Ee(b.sizeTree, xe)[1] - F + W, xe === Ie && (Te += R)) : Y === "center" ? Te += (D + Ee(b.sizeTree, xe)[1] - F + W) / 2 : Te -= p, ve && (Te += ve);
1111
+ const Oe = (be) => {
1112
+ w(), be ? (O("retrying to scroll to", { location: E }, pe.DEBUG), N(I, E)) : (N(z, !0), O("list did not change, scroll successful", {}, pe.DEBUG));
1113
+ };
1114
+ if (w(), J === "smooth") {
1115
+ let be = !1;
1116
+ f = q(t, (Ve) => {
1117
+ be = be || Ve;
1118
+ }), g = He(h, () => {
1119
+ Oe(be);
1120
+ });
1121
+ } else
1122
+ g = He(v(t, Mn(150)), Oe);
1123
+ return c = setTimeout(() => {
1124
+ w();
1125
+ }, 1200), N(u, !0), O("scrolling from index to", { behavior: J, index: xe, top: Te }, pe.DEBUG), { behavior: J, top: Te };
1126
+ }
1127
+ )
1128
+ ),
1129
+ d
1130
+ ), {
1131
+ scrollTargetReached: z,
1132
+ scrollToIndex: I,
1133
+ topListHeight: T
1134
+ };
1135
+ },
1136
+ oe(Me, ge, Ge),
1137
+ { singleton: !0 }
1138
+ );
1139
+ function Mn(e) {
1140
+ return (t) => {
1141
+ const o = setTimeout(() => {
1142
+ t(!1);
1143
+ }, e);
1144
+ return (n) => {
1145
+ n && (t(!0), clearTimeout(o));
1146
+ };
1147
+ };
1148
+ }
1149
+ function jt(e, t) {
1150
+ e == 0 ? t() : requestAnimationFrame(() => {
1151
+ jt(e - 1, t);
1152
+ });
1153
+ }
1154
+ function Kt(e, t) {
1155
+ const o = t - 1;
1156
+ return typeof e == "number" ? e : e.index === "LAST" ? o : e.index;
1157
+ }
1158
+ const mt = K(
1159
+ ([{ defaultItemSize: e, listRefresh: t, sizes: o }, { scrollTop: n }, { scrollTargetReached: r, scrollToIndex: i }, { didMount: l }]) => {
1160
+ const s = S(!0), u = S(0), d = S(!0);
1161
+ return k(
1162
+ v(
1163
+ l,
1164
+ _(u),
1165
+ M(([h, x]) => !!x),
1166
+ Fe(!1)
1167
+ ),
1168
+ s
1169
+ ), k(
1170
+ v(
1171
+ l,
1172
+ _(u),
1173
+ M(([h, x]) => !!x),
1174
+ Fe(!1)
1175
+ ),
1176
+ d
1177
+ ), q(
1178
+ v(
1179
+ ue(t, l),
1180
+ _(s, o, e, d),
1181
+ M(([[, h], x, { sizeTree: m }, I, z]) => h && (!X(m) || Lt(I)) && !x && !z),
1182
+ _(u)
1183
+ ),
1184
+ ([, h]) => {
1185
+ He(r, () => {
1186
+ N(d, !0);
1187
+ }), jt(4, () => {
1188
+ He(n, () => {
1189
+ N(s, !0);
1190
+ }), N(i, h);
1191
+ });
1192
+ }
1193
+ ), {
1194
+ initialItemFinalLocationReached: d,
1195
+ initialTopMostItemIndex: u,
1196
+ scrolledToInitialItem: s
1197
+ };
1198
+ },
1199
+ oe(Me, ge, ht, Ne),
1200
+ { singleton: !0 }
1201
+ );
1202
+ function jo(e, t) {
1203
+ return Math.abs(e - t) < 1.01;
1204
+ }
1205
+ const ct = "up", nt = "down", An = "none", Vn = {
1206
+ atBottom: !1,
1207
+ notAtBottomBecause: "NOT_SHOWING_LAST_ITEM",
1208
+ state: {
1209
+ offsetBottom: 0,
1210
+ scrollHeight: 0,
1211
+ scrollTop: 0,
1212
+ viewportHeight: 0
1213
+ }
1214
+ }, Ln = 0, gt = K(([{ footerHeight: e, headerHeight: t, scrollBy: o, scrollContainerState: n, scrollTop: r, viewportHeight: i }]) => {
1215
+ const l = S(!1), s = S(!0), u = j(), d = j(), h = S(4), x = S(Ln), m = me(
1216
+ v(
1217
+ Ft(v(P(r), $e(1), Fe(!0)), v(P(r), $e(1), Fe(!1), co(100))),
1218
+ ee()
1219
+ ),
1220
+ !1
1221
+ ), I = me(
1222
+ v(Ft(v(o, Fe(!0)), v(o, Fe(!1), co(200))), ee()),
1223
+ !1
1224
+ );
1225
+ k(
1226
+ v(
1227
+ ue(P(r), P(x)),
1228
+ B(([f, w]) => f <= w),
1229
+ ee()
1230
+ ),
1231
+ s
1232
+ ), k(v(s, Ae(50)), d);
1233
+ const z = we(
1234
+ v(
1235
+ ue(n, P(i), P(t), P(e), P(h)),
1236
+ We((f, [{ scrollHeight: w, scrollTop: E }, b, F, a, p]) => {
1237
+ const C = E + b - w > -p, R = {
1238
+ scrollHeight: w,
1239
+ scrollTop: E,
1240
+ viewportHeight: b
1241
+ };
1242
+ if (C) {
1243
+ let L, D;
1244
+ return E > f.state.scrollTop ? (L = "SCROLLED_DOWN", D = f.state.scrollTop - E) : (L = "SIZE_DECREASED", D = f.state.scrollTop - E || f.scrollTopDelta), {
1245
+ atBottom: !0,
1246
+ atBottomBecause: L,
1247
+ scrollTopDelta: D,
1248
+ state: R
1249
+ };
1250
+ }
1251
+ let O;
1252
+ return R.scrollHeight > f.state.scrollHeight ? O = "SIZE_INCREASED" : b < f.state.viewportHeight ? O = "VIEWPORT_HEIGHT_DECREASING" : E < f.state.scrollTop ? O = "SCROLLING_UPWARDS" : O = "NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM", {
1253
+ atBottom: !1,
1254
+ notAtBottomBecause: O,
1255
+ state: R
1256
+ };
1257
+ }, Vn),
1258
+ ee((f, w) => f && f.atBottom === w.atBottom)
1259
+ )
1260
+ ), T = me(
1261
+ v(
1262
+ n,
1263
+ We(
1264
+ (f, { scrollHeight: w, scrollTop: E, viewportHeight: b }) => {
1265
+ if (jo(f.scrollHeight, w))
1266
+ return {
1267
+ changed: !1,
1268
+ jump: 0,
1269
+ scrollHeight: w,
1270
+ scrollTop: E
1271
+ };
1272
+ {
1273
+ const F = w - (E + b) < 1;
1274
+ return f.scrollTop !== E && F ? {
1275
+ changed: !0,
1276
+ jump: f.scrollTop - E,
1277
+ scrollHeight: w,
1278
+ scrollTop: E
1279
+ } : {
1280
+ changed: !0,
1281
+ jump: 0,
1282
+ scrollHeight: w,
1283
+ scrollTop: E
1284
+ };
1285
+ }
1286
+ },
1287
+ { changed: !1, jump: 0, scrollHeight: 0, scrollTop: 0 }
1288
+ ),
1289
+ M((f) => f.changed),
1290
+ B((f) => f.jump)
1291
+ ),
1292
+ 0
1293
+ );
1294
+ k(
1295
+ v(
1296
+ z,
1297
+ B((f) => f.atBottom)
1298
+ ),
1299
+ l
1300
+ ), k(v(l, Ae(50)), u);
1301
+ const g = S(nt);
1302
+ k(
1303
+ v(
1304
+ n,
1305
+ B(({ scrollTop: f }) => f),
1306
+ ee(),
1307
+ We(
1308
+ (f, w) => ie(I) ? { direction: f.direction, prevScrollTop: w } : { direction: w < f.prevScrollTop ? ct : nt, prevScrollTop: w },
1309
+ { direction: nt, prevScrollTop: 0 }
1310
+ ),
1311
+ B((f) => f.direction)
1312
+ ),
1313
+ g
1314
+ ), k(v(n, Ae(50), Fe(An)), g);
1315
+ const c = S(0);
1316
+ return k(
1317
+ v(
1318
+ m,
1319
+ M((f) => !f),
1320
+ Fe(0)
1321
+ ),
1322
+ c
1323
+ ), k(
1324
+ v(
1325
+ r,
1326
+ Ae(100),
1327
+ _(m),
1328
+ M(([f, w]) => w),
1329
+ We(([f, w], [E]) => [w, E], [0, 0]),
1330
+ B(([f, w]) => w - f)
1331
+ ),
1332
+ c
1333
+ ), {
1334
+ atBottomState: z,
1335
+ atBottomStateChange: u,
1336
+ atBottomThreshold: h,
1337
+ atTopStateChange: d,
1338
+ atTopThreshold: x,
1339
+ isAtBottom: l,
1340
+ isAtTop: s,
1341
+ isScrolling: m,
1342
+ lastJumpDueToItemResize: T,
1343
+ scrollDirection: g,
1344
+ scrollVelocity: c
1345
+ };
1346
+ }, oe(ge)), dt = "top", ft = "bottom", go = "none";
1347
+ function po(e, t, o) {
1348
+ return typeof e == "number" ? o === ct && t === dt || o === nt && t === ft ? e : 0 : o === ct ? t === dt ? e.main : e.reverse : t === ft ? e.main : e.reverse;
1349
+ }
1350
+ function vo(e, t) {
1351
+ var o;
1352
+ return typeof e == "number" ? e : (o = e[t]) != null ? o : 0;
1353
+ }
1354
+ const $t = K(
1355
+ ([{ deviation: e, fixedHeaderHeight: t, headerHeight: o, scrollTop: n, viewportHeight: r }]) => {
1356
+ const i = j(), l = S(0), s = S(0), u = S(0), d = me(
1357
+ v(
1358
+ ue(
1359
+ P(n),
1360
+ P(r),
1361
+ P(o),
1362
+ P(i, ut),
1363
+ P(u),
1364
+ P(l),
1365
+ P(t),
1366
+ P(e),
1367
+ P(s)
1368
+ ),
1369
+ B(
1370
+ ([
1371
+ h,
1372
+ x,
1373
+ m,
1374
+ [I, z],
1375
+ T,
1376
+ g,
1377
+ c,
1378
+ f,
1379
+ w
1380
+ ]) => {
1381
+ const E = h - f, b = g + c, F = Math.max(m - E, 0);
1382
+ let a = go;
1383
+ const p = vo(w, dt), C = vo(w, ft);
1384
+ return I -= f, I += m + c, z += m + c, z -= f, I > h + b - p && (a = ct), z < h - F + x + C && (a = nt), a !== go ? [
1385
+ Math.max(E - m - po(T, dt, a) - p, 0),
1386
+ E - F - c + x + po(T, ft, a) + C
1387
+ ] : null;
1388
+ }
1389
+ ),
1390
+ M((h) => h != null),
1391
+ ee(ut)
1392
+ ),
1393
+ [0, 0]
1394
+ );
1395
+ return {
1396
+ increaseViewportBy: s,
1397
+ // input
1398
+ listBoundary: i,
1399
+ overscan: u,
1400
+ topListHeight: l,
1401
+ // output
1402
+ visibleRange: d
1403
+ };
1404
+ },
1405
+ oe(ge),
1406
+ { singleton: !0 }
1407
+ );
1408
+ function Dn(e, t, o) {
1409
+ if (Rt(t)) {
1410
+ const n = Go(e, t);
1411
+ return [
1412
+ { index: Ee(t.groupOffsetTree, n)[0], offset: 0, size: 0 },
1413
+ { data: o?.[0], index: n, offset: 0, size: 0 }
1414
+ ];
1415
+ }
1416
+ return [{ data: o?.[0], index: e, offset: 0, size: 0 }];
1417
+ }
1418
+ const Bt = {
1419
+ bottom: 0,
1420
+ firstItemIndex: 0,
1421
+ items: [],
1422
+ offsetBottom: 0,
1423
+ offsetTop: 0,
1424
+ top: 0,
1425
+ topItems: [],
1426
+ topListHeight: 0,
1427
+ totalCount: 0
1428
+ };
1429
+ function Tt(e, t, o, n, r, i) {
1430
+ const { lastIndex: l, lastOffset: s, lastSize: u } = r;
1431
+ let d = 0, h = 0;
1432
+ if (e.length > 0) {
1433
+ d = e[0].offset;
1434
+ const T = e[e.length - 1];
1435
+ h = T.offset + T.size;
1436
+ }
1437
+ const x = o - l, m = s + x * u + (x - 1) * n, I = d, z = m - h;
1438
+ return {
1439
+ bottom: h,
1440
+ firstItemIndex: i,
1441
+ items: Io(e, r, i),
1442
+ offsetBottom: z,
1443
+ offsetTop: d,
1444
+ top: I,
1445
+ topItems: Io(t, r, i),
1446
+ topListHeight: t.reduce((T, g) => g.size + T, 0),
1447
+ totalCount: o
1448
+ };
1449
+ }
1450
+ function Ko(e, t, o, n, r, i) {
1451
+ let l = 0;
1452
+ if (o.groupIndices.length > 0)
1453
+ for (const h of o.groupIndices) {
1454
+ if (h - l >= e)
1455
+ break;
1456
+ l++;
1457
+ }
1458
+ const s = e + l, u = Kt(t, s), d = Array.from({ length: s }).map((h, x) => ({
1459
+ data: i[x + u],
1460
+ index: x + u,
1461
+ offset: 0,
1462
+ size: 0
1463
+ }));
1464
+ return Tt(d, [], s, r, o, n);
1465
+ }
1466
+ function Io(e, t, o) {
1467
+ if (e.length === 0)
1468
+ return [];
1469
+ if (!Rt(t))
1470
+ return e.map((d) => ({ ...d, index: d.index + o, originalIndex: d.index }));
1471
+ const n = e[0].index, r = e[e.length - 1].index, i = [], l = Je(t.groupOffsetTree, n, r);
1472
+ let s, u = 0;
1473
+ for (const d of e) {
1474
+ (!s || s.end < d.index) && (s = l.shift(), u = t.groupIndices.indexOf(s.start));
1475
+ let h;
1476
+ d.index === s.start ? h = {
1477
+ index: u,
1478
+ type: "group"
1479
+ } : h = {
1480
+ groupIndex: u,
1481
+ index: d.index - (u + 1) + o
1482
+ }, i.push({
1483
+ ...h,
1484
+ data: d.data,
1485
+ offset: d.offset,
1486
+ originalIndex: d.index,
1487
+ size: d.size
1488
+ });
1489
+ }
1490
+ return i;
1491
+ }
1492
+ function xo(e, t) {
1493
+ var o;
1494
+ return e === void 0 ? 0 : typeof e == "number" ? e : (o = e[t]) != null ? o : 0;
1495
+ }
1496
+ const qe = K(
1497
+ ([
1498
+ { data: e, firstItemIndex: t, gap: o, sizes: n, totalCount: r },
1499
+ i,
1500
+ { listBoundary: l, topListHeight: s, visibleRange: u },
1501
+ { initialTopMostItemIndex: d, scrolledToInitialItem: h },
1502
+ { topListHeight: x },
1503
+ m,
1504
+ { didMount: I },
1505
+ { recalcInProgress: z }
1506
+ ]) => {
1507
+ const T = S([]), g = S(0), c = j(), f = S(0);
1508
+ k(i.topItemsIndexes, T);
1509
+ const w = me(
1510
+ v(
1511
+ ue(
1512
+ I,
1513
+ z,
1514
+ P(u, ut),
1515
+ P(r),
1516
+ P(n),
1517
+ P(d),
1518
+ h,
1519
+ P(T),
1520
+ P(t),
1521
+ P(o),
1522
+ P(f),
1523
+ e
1524
+ ),
1525
+ M(([a, p, , C, , , , , , , , R]) => {
1526
+ const O = R && R.length !== C;
1527
+ return a && !p && !O;
1528
+ }),
1529
+ B(
1530
+ ([
1531
+ ,
1532
+ ,
1533
+ [a, p],
1534
+ C,
1535
+ R,
1536
+ O,
1537
+ L,
1538
+ D,
1539
+ W,
1540
+ U,
1541
+ Y,
1542
+ J
1543
+ ]) => {
1544
+ var ve, Ie, xe, Te;
1545
+ const Oe = R, { offsetTree: be, sizeTree: Ve } = Oe, ot = ie(g);
1546
+ if (C === 0)
1547
+ return { ...Bt, totalCount: C };
1548
+ if (a === 0 && p === 0)
1549
+ return ot === 0 ? { ...Bt, totalCount: C } : Ko(ot, O, R, W, U, J || []);
1550
+ if (X(Ve))
1551
+ return ot > 0 ? null : Tt(
1552
+ Dn(Kt(O, C), Oe, J),
1553
+ [],
1554
+ C,
1555
+ U,
1556
+ Oe,
1557
+ W
1558
+ );
1559
+ const Ye = [];
1560
+ if (D.length > 0) {
1561
+ const ae = D[0], le = D[D.length - 1];
1562
+ let de = 0;
1563
+ for (const se of Je(Ve, ae, le)) {
1564
+ const Z = se.value, Q = Math.max(se.start, ae), ze = Math.min(se.end, le);
1565
+ for (let he = Q; he <= ze; he++)
1566
+ Ye.push({ data: J?.[he], index: he, offset: de, size: Z }), de += Z;
1567
+ }
1568
+ }
1569
+ if (!L)
1570
+ return Tt([], Ye, C, U, Oe, W);
1571
+ const Le = D.length > 0 ? D[D.length - 1] + 1 : 0, y = Hn(be, a, p, Le);
1572
+ if (y.length === 0)
1573
+ return null;
1574
+ const $ = C - 1, ne = zt([], (ae) => {
1575
+ for (const le of y) {
1576
+ const de = le.value;
1577
+ let se = de.offset, Z = le.start;
1578
+ const Q = de.size;
1579
+ if (de.offset < a) {
1580
+ Z += Math.floor((a - de.offset + U) / (Q + U));
1581
+ const he = Z - le.start;
1582
+ se += he * Q + he * U;
1583
+ }
1584
+ Z < Le && (se += (Le - Z) * Q, Z = Le);
1585
+ const ze = Math.min(le.end, $);
1586
+ for (let he = Z; he <= ze && !(se >= p); he++)
1587
+ ae.push({ data: J?.[he], index: he, offset: se, size: Q }), se += Q + U;
1588
+ }
1589
+ }), fe = xo(Y, dt), Ce = xo(Y, ft);
1590
+ if (ne.length > 0 && (fe > 0 || Ce > 0)) {
1591
+ const ae = ne[0], le = ne[ne.length - 1];
1592
+ if (fe > 0 && ae.index > Le) {
1593
+ const de = Math.min(fe, ae.index - Le), se = [];
1594
+ let Z = ae.offset;
1595
+ for (let Q = ae.index - 1; Q >= ae.index - de; Q--) {
1596
+ const ze = (Ie = (ve = Je(Ve, Q, Q)[0]) == null ? void 0 : ve.value) != null ? Ie : ae.size;
1597
+ Z -= ze + U, se.unshift({ data: J?.[Q], index: Q, offset: Z, size: ze });
1598
+ }
1599
+ ne.unshift(...se);
1600
+ }
1601
+ if (Ce > 0 && le.index < $) {
1602
+ const de = Math.min(Ce, $ - le.index);
1603
+ let se = le.offset + le.size + U;
1604
+ for (let Z = le.index + 1; Z <= le.index + de; Z++) {
1605
+ const Q = (Te = (xe = Je(Ve, Z, Z)[0]) == null ? void 0 : xe.value) != null ? Te : le.size;
1606
+ ne.push({ data: J?.[Z], index: Z, offset: se, size: Q }), se += Q + U;
1607
+ }
1608
+ }
1609
+ }
1610
+ return Tt(ne, Ye, C, U, Oe, W);
1611
+ }
1612
+ ),
1613
+ //@ts-expect-error filter needs to be fixed
1614
+ M((a) => a !== null),
1615
+ ee()
1616
+ ),
1617
+ Bt
1618
+ );
1619
+ k(
1620
+ v(
1621
+ e,
1622
+ M(Lt),
1623
+ B((a) => a?.length)
1624
+ ),
1625
+ r
1626
+ ), k(
1627
+ v(
1628
+ w,
1629
+ B((a) => a.topListHeight)
1630
+ ),
1631
+ x
1632
+ ), k(x, s), k(
1633
+ v(
1634
+ w,
1635
+ B((a) => [a.top, a.bottom])
1636
+ ),
1637
+ l
1638
+ ), k(
1639
+ v(
1640
+ w,
1641
+ B((a) => a.items)
1642
+ ),
1643
+ c
1644
+ );
1645
+ const E = we(
1646
+ v(
1647
+ w,
1648
+ M(({ items: a }) => a.length > 0),
1649
+ _(r, e),
1650
+ M(([{ items: a }, p]) => a[a.length - 1].originalIndex === p - 1),
1651
+ B(([, a, p]) => [a - 1, p]),
1652
+ ee(ut),
1653
+ B(([a]) => a)
1654
+ )
1655
+ ), b = we(
1656
+ v(
1657
+ w,
1658
+ Ae(200),
1659
+ M(({ items: a, topItems: p }) => a.length > 0 && a[0].originalIndex === p.length),
1660
+ B(({ items: a }) => a[0].index),
1661
+ ee()
1662
+ )
1663
+ ), F = we(
1664
+ v(
1665
+ w,
1666
+ M(({ items: a }) => a.length > 0),
1667
+ B(({ items: a }) => {
1668
+ let p = 0, C = a.length - 1;
1669
+ for (; a[p].type === "group" && p < C; )
1670
+ p++;
1671
+ for (; a[C].type === "group" && C > p; )
1672
+ C--;
1673
+ return {
1674
+ endIndex: a[C].index,
1675
+ startIndex: a[p].index
1676
+ };
1677
+ }),
1678
+ ee(Lo)
1679
+ )
1680
+ );
1681
+ return {
1682
+ endReached: E,
1683
+ initialItemCount: g,
1684
+ itemsRendered: c,
1685
+ listState: w,
1686
+ minOverscanItemCount: f,
1687
+ rangeChanged: F,
1688
+ startReached: b,
1689
+ topItemsIndexes: T,
1690
+ ...m
1691
+ };
1692
+ },
1693
+ oe(
1694
+ Me,
1695
+ _o,
1696
+ $t,
1697
+ mt,
1698
+ ht,
1699
+ gt,
1700
+ Ne,
1701
+ _t
1702
+ ),
1703
+ { singleton: !0 }
1704
+ ), $o = K(
1705
+ ([{ fixedFooterHeight: e, fixedHeaderHeight: t, footerHeight: o, headerHeight: n }, { listState: r }]) => {
1706
+ const i = j(), l = me(
1707
+ v(
1708
+ ue(o, e, n, t, r),
1709
+ B(([s, u, d, h, x]) => s + u + d + h + x.offsetBottom + x.bottom)
1710
+ ),
1711
+ 0
1712
+ );
1713
+ return k(P(l), i), { totalListHeight: l, totalListHeightChanged: i };
1714
+ },
1715
+ oe(ge, qe),
1716
+ { singleton: !0 }
1717
+ ), Gn = K(
1718
+ ([{ viewportHeight: e }, { totalListHeight: t }]) => {
1719
+ const o = S(!1), n = me(
1720
+ v(
1721
+ ue(o, e, t),
1722
+ M(([r]) => r),
1723
+ B(([, r, i]) => Math.max(0, r - i)),
1724
+ Ae(0),
1725
+ ee()
1726
+ ),
1727
+ 0
1728
+ );
1729
+ return { alignToBottom: o, paddingTopAddition: n };
1730
+ },
1731
+ oe(ge, $o),
1732
+ { singleton: !0 }
1733
+ ), qo = K(() => ({
1734
+ context: S(null)
1735
+ })), Nn = ({
1736
+ itemBottom: e,
1737
+ itemTop: t,
1738
+ locationParams: { align: o, behavior: n, ...r },
1739
+ viewportBottom: i,
1740
+ viewportTop: l
1741
+ }) => t < l ? { ...r, align: o ?? "start", behavior: n } : e > i ? { ...r, align: o ?? "end", behavior: n } : null, Yo = K(
1742
+ ([
1743
+ { gap: e, sizes: t, totalCount: o },
1744
+ { fixedFooterHeight: n, fixedHeaderHeight: r, headerHeight: i, scrollingInProgress: l, scrollTop: s, viewportHeight: u },
1745
+ { scrollToIndex: d }
1746
+ ]) => {
1747
+ const h = j();
1748
+ return k(
1749
+ v(
1750
+ h,
1751
+ _(t, u, o, i, r, n, s),
1752
+ _(e),
1753
+ B(([[x, m, I, z, T, g, c, f], w]) => {
1754
+ const { align: E, behavior: b, calculateViewLocation: F = Nn, done: a, ...p } = x, C = No(x, m, z - 1), R = at(C, m.offsetTree, w) + T + g, O = R + Ee(m.sizeTree, C)[1], L = f + g, D = f + I - c, W = F({
1755
+ itemBottom: O,
1756
+ itemTop: R,
1757
+ locationParams: { align: E, behavior: b, ...p },
1758
+ viewportBottom: D,
1759
+ viewportTop: L
1760
+ });
1761
+ return W ? a && He(
1762
+ v(
1763
+ l,
1764
+ M((U) => !U),
1765
+ // skips the initial publish of false, and the cleanup call.
1766
+ // but if scrollingInProgress is true, we skip the initial publish.
1767
+ $e(ie(l) ? 1 : 2)
1768
+ ),
1769
+ a
1770
+ ) : a?.(), W;
1771
+ }),
1772
+ M((x) => x !== null)
1773
+ ),
1774
+ d
1775
+ ), {
1776
+ scrollIntoView: h
1777
+ };
1778
+ },
1779
+ oe(Me, ge, ht, qe, Ge),
1780
+ { singleton: !0 }
1781
+ );
1782
+ function To(e) {
1783
+ return e ? e === "smooth" ? "smooth" : "auto" : !1;
1784
+ }
1785
+ const _n = (e, t) => typeof e == "function" ? To(e(t)) : t && To(e), Un = K(
1786
+ ([
1787
+ { listRefresh: e, totalCount: t, fixedItemSize: o, data: n },
1788
+ { atBottomState: r, isAtBottom: i },
1789
+ { scrollToIndex: l },
1790
+ { scrolledToInitialItem: s },
1791
+ { didMount: u, propsReady: d },
1792
+ { log: h },
1793
+ { scrollingInProgress: x },
1794
+ { context: m },
1795
+ { scrollIntoView: I }
1796
+ ]) => {
1797
+ const z = S(!1), T = j();
1798
+ let g = null;
1799
+ function c(b) {
1800
+ N(l, {
1801
+ align: "end",
1802
+ behavior: b,
1803
+ index: "LAST"
1804
+ });
1805
+ }
1806
+ q(
1807
+ v(
1808
+ ue(v(P(t), $e(1)), u),
1809
+ _(P(z), i, s, x),
1810
+ B(([[b, F], a, p, C, R]) => {
1811
+ let O = F && C, L = "auto";
1812
+ return O && (L = _n(a, p || R), O = O && !!L), { followOutputBehavior: L, shouldFollow: O, totalCount: b };
1813
+ }),
1814
+ M(({ shouldFollow: b }) => b)
1815
+ ),
1816
+ ({ followOutputBehavior: b, totalCount: F }) => {
1817
+ g && (g(), g = null), ie(o) ? requestAnimationFrame(() => {
1818
+ ie(h)("following output to ", { totalCount: F }, pe.DEBUG), c(b);
1819
+ }) : g = He(e, () => {
1820
+ ie(h)("following output to ", { totalCount: F }, pe.DEBUG), c(b), g = null;
1821
+ });
1822
+ }
1823
+ );
1824
+ function f(b) {
1825
+ const F = He(r, (a) => {
1826
+ b && !a.atBottom && a.notAtBottomBecause === "SIZE_INCREASED" && !g && (ie(h)("scrolling to bottom due to increased size", {}, pe.DEBUG), c("auto"));
1827
+ });
1828
+ setTimeout(F, 100);
1829
+ }
1830
+ q(
1831
+ v(
1832
+ ue(P(z), t, d),
1833
+ M(([b, , F]) => b && F),
1834
+ We(
1835
+ ({ value: b }, [, F]) => ({ refreshed: b === F, value: F }),
1836
+ { refreshed: !1, value: 0 }
1837
+ ),
1838
+ M(({ refreshed: b }) => b),
1839
+ _(z, t)
1840
+ ),
1841
+ ([, b]) => {
1842
+ ie(s) && f(b !== !1);
1843
+ }
1844
+ ), q(T, () => {
1845
+ f(ie(z) !== !1);
1846
+ }), q(ue(P(z), r), ([b, F]) => {
1847
+ b && !F.atBottom && F.notAtBottomBecause === "VIEWPORT_HEIGHT_DECREASING" && c("auto");
1848
+ });
1849
+ const w = S(null), E = j();
1850
+ return k(
1851
+ Ft(
1852
+ v(
1853
+ P(n),
1854
+ B((b) => {
1855
+ var F;
1856
+ return (F = b?.length) != null ? F : 0;
1857
+ })
1858
+ ),
1859
+ v(P(t))
1860
+ ),
1861
+ E
1862
+ ), q(
1863
+ v(
1864
+ ue(v(E, $e(1)), u),
1865
+ _(P(w), s, x, m),
1866
+ B(([[b, F], a, p, C, R]) => F && p && a?.({ context: R, totalCount: b, scrollingInProgress: C })),
1867
+ M((b) => !!b),
1868
+ Ae(0)
1869
+ ),
1870
+ (b) => {
1871
+ g && (g(), g = null), ie(o) ? requestAnimationFrame(() => {
1872
+ ie(h)("scrolling into view", {}), N(I, b);
1873
+ }) : g = He(e, () => {
1874
+ ie(h)("scrolling into view", {}), N(I, b), g = null;
1875
+ });
1876
+ }
1877
+ ), { autoscrollToBottom: T, followOutput: z, scrollIntoViewOnChange: w };
1878
+ },
1879
+ oe(
1880
+ Me,
1881
+ gt,
1882
+ ht,
1883
+ mt,
1884
+ Ne,
1885
+ Ge,
1886
+ ge,
1887
+ qo,
1888
+ Yo
1889
+ )
1890
+ ), jn = K(
1891
+ ([{ data: e, firstItemIndex: t, gap: o, sizes: n }, { initialTopMostItemIndex: r }, { initialItemCount: i, listState: l }, { didMount: s }]) => (k(
1892
+ v(
1893
+ s,
1894
+ _(i),
1895
+ M(([, u]) => u !== 0),
1896
+ _(r, n, t, o, e),
1897
+ B(([[, u], d, h, x, m, I = []]) => Ko(u, d, h, x, m, I))
1898
+ ),
1899
+ l
1900
+ ), {}),
1901
+ oe(Me, mt, qe, Ne),
1902
+ { singleton: !0 }
1903
+ ), Kn = K(
1904
+ ([{ didMount: e }, { scrollTo: t }, { listState: o }]) => {
1905
+ const n = S(0);
1906
+ return q(
1907
+ v(
1908
+ e,
1909
+ _(n),
1910
+ M(([, r]) => r !== 0),
1911
+ B(([, r]) => ({ top: r }))
1912
+ ),
1913
+ (r) => {
1914
+ He(
1915
+ v(
1916
+ o,
1917
+ $e(1),
1918
+ M((i) => i.items.length > 1)
1919
+ ),
1920
+ () => {
1921
+ requestAnimationFrame(() => {
1922
+ N(t, r);
1923
+ });
1924
+ }
1925
+ );
1926
+ }
1927
+ ), {
1928
+ initialScrollTop: n
1929
+ };
1930
+ },
1931
+ oe(Ne, ge, qe),
1932
+ { singleton: !0 }
1933
+ ), Zo = K(
1934
+ ([{ scrollVelocity: e }]) => {
1935
+ const t = S(!1), o = j(), n = S(!1);
1936
+ return k(
1937
+ v(
1938
+ e,
1939
+ _(n, t, o),
1940
+ M(([r, i]) => !!i),
1941
+ B(([r, i, l, s]) => {
1942
+ const { enter: u, exit: d } = i;
1943
+ if (l) {
1944
+ if (d(r, s))
1945
+ return !1;
1946
+ } else if (u(r, s))
1947
+ return !0;
1948
+ return l;
1949
+ }),
1950
+ ee()
1951
+ ),
1952
+ t
1953
+ ), q(
1954
+ v(ue(t, e, o), _(n)),
1955
+ ([[r, i, l], s]) => {
1956
+ r && s && s.change && s.change(i, l);
1957
+ }
1958
+ ), { isSeeking: t, scrollSeekConfiguration: n, scrollSeekRangeChanged: o, scrollVelocity: e };
1959
+ },
1960
+ oe(gt),
1961
+ { singleton: !0 }
1962
+ ), qt = K(([{ scrollContainerState: e, scrollTo: t }]) => {
1963
+ const o = j(), n = j(), r = j(), i = S(!1), l = S(void 0);
1964
+ return k(
1965
+ v(
1966
+ ue(o, n),
1967
+ B(([{ scrollHeight: s, scrollTop: u, viewportHeight: d }, { offsetTop: h }]) => ({
1968
+ scrollHeight: s,
1969
+ scrollTop: Math.max(0, u - h),
1970
+ viewportHeight: d
1971
+ }))
1972
+ ),
1973
+ e
1974
+ ), k(
1975
+ v(
1976
+ t,
1977
+ _(n),
1978
+ B(([s, { offsetTop: u }]) => ({
1979
+ ...s,
1980
+ top: s.top + u
1981
+ }))
1982
+ ),
1983
+ r
1984
+ ), {
1985
+ customScrollParent: l,
1986
+ // config
1987
+ useWindowScroll: i,
1988
+ // input
1989
+ windowScrollContainerState: o,
1990
+ // signals
1991
+ windowScrollTo: r,
1992
+ windowViewportRect: n
1993
+ };
1994
+ }, oe(ge)), $n = K(
1995
+ ([
1996
+ { sizeRanges: e, sizes: t },
1997
+ { headerHeight: o, scrollTop: n },
1998
+ { initialTopMostItemIndex: r },
1999
+ { didMount: i },
2000
+ { useWindowScroll: l, windowScrollContainerState: s, windowViewportRect: u }
2001
+ ]) => {
2002
+ const d = j(), h = S(void 0), x = S(null), m = S(null);
2003
+ return k(s, x), k(u, m), q(
2004
+ v(
2005
+ d,
2006
+ _(t, n, l, x, m, o)
2007
+ ),
2008
+ ([I, z, T, g, c, f, w]) => {
2009
+ const E = En(z.sizeTree);
2010
+ g && c !== null && f !== null && (T = c.scrollTop - f.offsetTop), T -= w, I({ ranges: E, scrollTop: T });
2011
+ }
2012
+ ), k(v(h, M(Lt), B(qn)), r), k(
2013
+ v(
2014
+ i,
2015
+ _(h),
2016
+ M(([, I]) => I !== void 0),
2017
+ ee(),
2018
+ B(([, I]) => I.ranges)
2019
+ ),
2020
+ e
2021
+ ), {
2022
+ getState: d,
2023
+ restoreStateFrom: h
2024
+ };
2025
+ },
2026
+ oe(Me, ge, mt, Ne, qt)
2027
+ );
2028
+ function qn(e) {
2029
+ return { align: "start", index: 0, offset: e.scrollTop };
2030
+ }
2031
+ const Yn = K(([{ topItemsIndexes: e }]) => {
2032
+ const t = S(0);
2033
+ return k(
2034
+ v(
2035
+ t,
2036
+ M((o) => o >= 0),
2037
+ B((o) => Array.from({ length: o }).map((n, r) => r))
2038
+ ),
2039
+ e
2040
+ ), { topItemCount: t };
2041
+ }, oe(qe));
2042
+ function Xo(e) {
2043
+ let t = !1, o;
2044
+ return (() => (t || (t = !0, o = e()), o));
2045
+ }
2046
+ const Zn = Xo(() => /iP(ad|od|hone)/i.test(navigator.userAgent) && /WebKit/i.test(navigator.userAgent)), Xn = K(
2047
+ ([
2048
+ { deviation: e, scrollBy: t, scrollingInProgress: o, scrollTop: n },
2049
+ { isAtBottom: r, isScrolling: i, lastJumpDueToItemResize: l, scrollDirection: s },
2050
+ { listState: u },
2051
+ { beforeUnshiftWith: d, gap: h, shiftWithOffset: x, sizes: m },
2052
+ { log: I },
2053
+ { recalcInProgress: z }
2054
+ ]) => {
2055
+ const T = we(
2056
+ v(
2057
+ u,
2058
+ _(l),
2059
+ We(
2060
+ ([, c, f, w], [{ bottom: E, items: b, offsetBottom: F, totalCount: a }, p]) => {
2061
+ const C = E + F;
2062
+ let R = 0;
2063
+ return f === a && c.length > 0 && b.length > 0 && (b[0].originalIndex === 0 && c[0].originalIndex === 0 || (R = C - w, R !== 0 && (R += p))), [R, b, a, C];
2064
+ },
2065
+ [0, [], 0, 0]
2066
+ ),
2067
+ M(([c]) => c !== 0),
2068
+ _(n, s, o, r, I, z),
2069
+ M(([, c, f, w, , , E]) => !E && !w && c !== 0 && f === ct),
2070
+ B(([[c], , , , , f]) => (f("Upward scrolling compensation", { amount: c }, pe.DEBUG), c))
2071
+ )
2072
+ );
2073
+ function g(c) {
2074
+ c > 0 ? (N(t, { behavior: "auto", top: -c }), N(e, 0)) : (N(e, 0), N(t, { behavior: "auto", top: -c }));
2075
+ }
2076
+ return q(v(T, _(e, i)), ([c, f, w]) => {
2077
+ w && Zn() ? N(e, f - c) : g(-c);
2078
+ }), q(
2079
+ v(
2080
+ ue(me(i, !1), e, z),
2081
+ M(([c, f, w]) => !c && !w && f !== 0),
2082
+ B(([c, f]) => f),
2083
+ Ae(1)
2084
+ ),
2085
+ g
2086
+ ), k(
2087
+ v(
2088
+ x,
2089
+ B((c) => ({ top: -c }))
2090
+ ),
2091
+ t
2092
+ ), q(
2093
+ v(
2094
+ d,
2095
+ _(m, h),
2096
+ B(([c, { groupIndices: f, lastSize: w, sizeTree: E }, b]) => {
2097
+ function F(a) {
2098
+ return a * (w + b);
2099
+ }
2100
+ if (f.length === 0)
2101
+ return F(c);
2102
+ {
2103
+ let a = 0;
2104
+ const p = st(E, 0);
2105
+ let C = 0, R = 0;
2106
+ for (; C < c; ) {
2107
+ C++, a += p;
2108
+ let O = f.length === R + 1 ? 1 / 0 : f[R + 1] - f[R] - 1;
2109
+ C + O > c && (a -= p, O = c - C + 1), C += O, a += F(O), R++;
2110
+ }
2111
+ return a;
2112
+ }
2113
+ })
2114
+ ),
2115
+ (c) => {
2116
+ N(e, c), requestAnimationFrame(() => {
2117
+ N(t, { top: c }), requestAnimationFrame(() => {
2118
+ N(e, 0), N(z, !1);
2119
+ });
2120
+ });
2121
+ }
2122
+ ), { deviation: e };
2123
+ },
2124
+ oe(ge, gt, qe, Me, Ge, _t)
2125
+ ), Jn = K(
2126
+ ([
2127
+ e,
2128
+ t,
2129
+ o,
2130
+ n,
2131
+ r,
2132
+ i,
2133
+ l,
2134
+ s,
2135
+ u,
2136
+ d,
2137
+ h
2138
+ ]) => ({
2139
+ ...e,
2140
+ ...t,
2141
+ ...o,
2142
+ ...n,
2143
+ ...r,
2144
+ ...i,
2145
+ ...l,
2146
+ ...s,
2147
+ ...u,
2148
+ ...d,
2149
+ ...h
2150
+ }),
2151
+ oe(
2152
+ $t,
2153
+ jn,
2154
+ Ne,
2155
+ Zo,
2156
+ $o,
2157
+ Kn,
2158
+ Gn,
2159
+ qt,
2160
+ Yo,
2161
+ Ge,
2162
+ qo
2163
+ )
2164
+ ), Jo = K(
2165
+ ([
2166
+ {
2167
+ data: e,
2168
+ defaultItemSize: t,
2169
+ firstItemIndex: o,
2170
+ fixedItemSize: n,
2171
+ fixedGroupSize: r,
2172
+ gap: i,
2173
+ groupIndices: l,
2174
+ heightEstimates: s,
2175
+ itemSize: u,
2176
+ sizeRanges: d,
2177
+ sizes: h,
2178
+ statefulTotalCount: x,
2179
+ totalCount: m,
2180
+ trackItemSizes: I
2181
+ },
2182
+ { initialItemFinalLocationReached: z, initialTopMostItemIndex: T, scrolledToInitialItem: g },
2183
+ c,
2184
+ f,
2185
+ w,
2186
+ E,
2187
+ { scrollToIndex: b },
2188
+ F,
2189
+ { topItemCount: a },
2190
+ { groupCounts: p },
2191
+ C
2192
+ ]) => {
2193
+ const { listState: R, minOverscanItemCount: O, topItemsIndexes: L, rangeChanged: D, ...W } = E;
2194
+ return k(D, C.scrollSeekRangeChanged), k(
2195
+ v(
2196
+ C.windowViewportRect,
2197
+ B((U) => U.visibleHeight)
2198
+ ),
2199
+ c.viewportHeight
2200
+ ), {
2201
+ data: e,
2202
+ defaultItemHeight: t,
2203
+ firstItemIndex: o,
2204
+ fixedItemHeight: n,
2205
+ fixedGroupHeight: r,
2206
+ gap: i,
2207
+ groupCounts: p,
2208
+ heightEstimates: s,
2209
+ initialItemFinalLocationReached: z,
2210
+ initialTopMostItemIndex: T,
2211
+ scrolledToInitialItem: g,
2212
+ sizeRanges: d,
2213
+ topItemCount: a,
2214
+ topItemsIndexes: L,
2215
+ // input
2216
+ totalCount: m,
2217
+ ...w,
2218
+ groupIndices: l,
2219
+ itemSize: u,
2220
+ listState: R,
2221
+ minOverscanItemCount: O,
2222
+ scrollToIndex: b,
2223
+ // output
2224
+ statefulTotalCount: x,
2225
+ trackItemSizes: I,
2226
+ // exported from stateFlagsSystem
2227
+ rangeChanged: D,
2228
+ ...W,
2229
+ // the bag of IO from featureGroup1System
2230
+ ...C,
2231
+ ...c,
2232
+ sizes: h,
2233
+ ...f
2234
+ };
2235
+ },
2236
+ oe(
2237
+ Me,
2238
+ mt,
2239
+ ge,
2240
+ $n,
2241
+ Un,
2242
+ qe,
2243
+ ht,
2244
+ Xn,
2245
+ Yn,
2246
+ _o,
2247
+ Jn
2248
+ )
2249
+ );
2250
+ function Qn(e, t) {
2251
+ const o = {}, n = {};
2252
+ let r = 0;
2253
+ const i = e.length;
2254
+ for (; r < i; )
2255
+ n[e[r]] = 1, r += 1;
2256
+ for (const l in t)
2257
+ Object.hasOwn(n, l) || (o[l] = t[l]);
2258
+ return o;
2259
+ }
2260
+ const vt = typeof document < "u" ? H.useLayoutEffect : H.useEffect;
2261
+ function Yt(e, t, o) {
2262
+ const n = Object.keys(t.required || {}), r = Object.keys(t.optional || {}), i = Object.keys(t.methods || {}), l = Object.keys(t.events || {}), s = H.createContext({});
2263
+ function u(g, c) {
2264
+ g.propsReady && N(g.propsReady, !1);
2265
+ for (const f of n) {
2266
+ const w = g[t.required[f]];
2267
+ N(w, c[f]);
2268
+ }
2269
+ for (const f of r)
2270
+ if (f in c) {
2271
+ const w = g[t.optional[f]];
2272
+ N(w, c[f]);
2273
+ }
2274
+ g.propsReady && N(g.propsReady, !0);
2275
+ }
2276
+ function d(g) {
2277
+ return i.reduce((c, f) => (c[f] = (w) => {
2278
+ const E = g[t.methods[f]];
2279
+ N(E, w);
2280
+ }, c), {});
2281
+ }
2282
+ function h(g) {
2283
+ return l.reduce((c, f) => (c[f] = pn(g[t.events[f]]), c), {});
2284
+ }
2285
+ const x = H.forwardRef((g, c) => {
2286
+ const { children: f, ...w } = g, [E] = H.useState(() => zt(In(e), (a) => {
2287
+ u(a, w);
2288
+ })), [b] = H.useState(ao(h, E));
2289
+ vt(() => {
2290
+ for (const a of l)
2291
+ a in w && q(b[a], w[a]);
2292
+ return () => {
2293
+ Object.values(b).map(Dt);
2294
+ };
2295
+ }, [w, b, E]), vt(() => {
2296
+ u(E, w);
2297
+ }), H.useImperativeHandle(c, uo(d(E)));
2298
+ const F = o;
2299
+ return /* @__PURE__ */ A(s.Provider, { value: E, children: o ? /* @__PURE__ */ A(F, { ...Qn([...n, ...r, ...l], w), children: f }) : f });
2300
+ }), m = (g) => {
2301
+ const c = H.useContext(s);
2302
+ return H.useCallback(
2303
+ (f) => {
2304
+ N(c[g], f);
2305
+ },
2306
+ [c, g]
2307
+ );
2308
+ }, I = (g) => {
2309
+ const c = H.useContext(s)[g], f = H.useCallback(
2310
+ (w) => q(c, w),
2311
+ [c]
2312
+ );
2313
+ return H.useSyncExternalStore(
2314
+ f,
2315
+ () => ie(c),
2316
+ () => ie(c)
2317
+ );
2318
+ }, z = (g) => {
2319
+ const c = H.useContext(s)[g], [f, w] = H.useState(ao(ie, c));
2320
+ return vt(
2321
+ () => q(c, (E) => {
2322
+ E !== f && w(uo(E));
2323
+ }),
2324
+ [c, f]
2325
+ ), f;
2326
+ }, T = H.version.startsWith("18") ? I : z;
2327
+ return {
2328
+ Component: x,
2329
+ useEmitter: (g, c) => {
2330
+ const f = H.useContext(s)[g];
2331
+ vt(() => q(f, c), [c, f]);
2332
+ },
2333
+ useEmitterValue: T,
2334
+ usePublisher: m
2335
+ };
2336
+ }
2337
+ const yt = H.createContext(void 0), Qo = H.createContext(void 0), en = typeof document < "u" ? H.useLayoutEffect : H.useEffect;
2338
+ function Et(e) {
2339
+ return "self" in e;
2340
+ }
2341
+ function er(e) {
2342
+ return "body" in e;
2343
+ }
2344
+ function tn(e, t, o, n = et, r, i) {
2345
+ const l = H.useRef(null), s = H.useRef(null), u = H.useRef(null), d = H.useCallback(
2346
+ (m) => {
2347
+ let I, z, T;
2348
+ const g = m.target;
2349
+ if (er(g) || Et(g)) {
2350
+ const f = Et(g) ? g : g.defaultView;
2351
+ T = i ? f.scrollX : f.scrollY, I = i ? f.document.documentElement.scrollWidth : f.document.documentElement.scrollHeight, z = i ? f.innerWidth : f.innerHeight;
2352
+ } else
2353
+ T = i ? g.scrollLeft : g.scrollTop, I = i ? g.scrollWidth : g.scrollHeight, z = i ? g.offsetWidth : g.offsetHeight;
2354
+ const c = () => {
2355
+ e({
2356
+ scrollHeight: I,
2357
+ scrollTop: Math.max(T, 0),
2358
+ viewportHeight: z
2359
+ });
2360
+ };
2361
+ m.suppressFlushSync ? c() : cn.flushSync(c), s.current !== null && (T === s.current || T <= 0 || T === I - z) && (s.current = null, t(!0), u.current && (clearTimeout(u.current), u.current = null));
2362
+ },
2363
+ [e, t, i]
2364
+ );
2365
+ H.useEffect(() => {
2366
+ const m = r || l.current;
2367
+ return n(r || l.current), d({ suppressFlushSync: !0, target: m }), m.addEventListener("scroll", d, { passive: !0 }), () => {
2368
+ n(null), m.removeEventListener("scroll", d);
2369
+ };
2370
+ }, [l, d, o, n, r]);
2371
+ function h(m) {
2372
+ const I = l.current;
2373
+ if (!I || (i ? "offsetWidth" in I && I.offsetWidth === 0 : "offsetHeight" in I && I.offsetHeight === 0))
2374
+ return;
2375
+ const z = m.behavior === "smooth";
2376
+ let T, g, c;
2377
+ Et(I) ? (g = Math.max(
2378
+ ke(I.document.documentElement, i ? "width" : "height"),
2379
+ i ? I.document.documentElement.scrollWidth : I.document.documentElement.scrollHeight
2380
+ ), T = i ? I.innerWidth : I.innerHeight, c = i ? window.scrollX : window.scrollY) : (g = I[i ? "scrollWidth" : "scrollHeight"], T = ke(I, i ? "width" : "height"), c = I[i ? "scrollLeft" : "scrollTop"]);
2381
+ const f = g - T;
2382
+ if (m.top = Math.ceil(Math.max(Math.min(f, m.top), 0)), jo(T, g) || m.top === c) {
2383
+ e({ scrollHeight: g, scrollTop: c, viewportHeight: T }), z && t(!0);
2384
+ return;
2385
+ }
2386
+ z ? (s.current = m.top, u.current && clearTimeout(u.current), u.current = setTimeout(() => {
2387
+ u.current = null, s.current = null, t(!0);
2388
+ }, 1e3)) : s.current = null, i && (m = { behavior: m.behavior, left: m.top }), I.scrollTo(m);
2389
+ }
2390
+ function x(m) {
2391
+ i && (m = { behavior: m.behavior, left: m.top }), l.current.scrollBy(m);
2392
+ }
2393
+ return { scrollByCallback: x, scrollerRef: l, scrollToCallback: h };
2394
+ }
2395
+ const kt = "-webkit-sticky", So = "sticky", Zt = Xo(() => {
2396
+ if (typeof document > "u")
2397
+ return So;
2398
+ const e = document.createElement("div");
2399
+ return e.style.position = kt, e.style.position === kt ? kt : So;
2400
+ });
2401
+ function Xt(e) {
2402
+ return e;
2403
+ }
2404
+ const tr = /* @__PURE__ */ K(() => {
2405
+ const e = S((s) => `Item ${s}`), t = S((s) => `Group ${s}`), o = S({}), n = S(Xt), r = S("div"), i = S(et), l = (s, u = null) => me(
2406
+ v(
2407
+ o,
2408
+ B((d) => d[s]),
2409
+ ee()
2410
+ ),
2411
+ u
2412
+ );
2413
+ return {
2414
+ components: o,
2415
+ computeItemKey: n,
2416
+ EmptyPlaceholder: l("EmptyPlaceholder"),
2417
+ FooterComponent: l("Footer"),
2418
+ GroupComponent: l("Group", "div"),
2419
+ groupContent: t,
2420
+ HeaderComponent: l("Header"),
2421
+ HeaderFooterTag: r,
2422
+ ItemComponent: l("Item", "div"),
2423
+ itemContent: e,
2424
+ ListComponent: l("List", "div"),
2425
+ ScrollerComponent: l("Scroller", "div"),
2426
+ scrollerRef: i,
2427
+ ScrollSeekPlaceholder: l("ScrollSeekPlaceholder"),
2428
+ TopItemListComponent: l("TopItemList")
2429
+ };
2430
+ }), or = /* @__PURE__ */ K(
2431
+ ([e, t]) => ({ ...e, ...t }),
2432
+ oe(Jo, tr)
2433
+ ), nr = ({ height: e }) => /* @__PURE__ */ A("div", { style: { height: e } }), rr = { overflowAnchor: "none", position: Zt(), zIndex: 1 }, on = { overflowAnchor: "none" }, ir = { ...on, display: "inline-block", height: "100%" }, wo = /* @__PURE__ */ H.memo(function({ showTopList: e = !1 }) {
2434
+ const t = V("listState"), o = Re("sizeRanges"), n = V("useWindowScroll"), r = V("customScrollParent"), i = Re("windowScrollContainerState"), l = Re("scrollContainerState"), s = r || n ? i : l, u = V("itemContent"), d = V("context"), h = V("groupContent"), x = V("trackItemSizes"), m = V("itemSize"), I = V("log"), z = Re("gap"), T = V("horizontalDirection"), { callbackRef: g } = Fo(
2435
+ o,
2436
+ m,
2437
+ x,
2438
+ e ? et : s,
2439
+ I,
2440
+ z,
2441
+ r,
2442
+ T,
2443
+ V("skipAnimationFrameInResizeObserver")
2444
+ ), [c, f] = H.useState(0);
2445
+ eo("deviation", (W) => {
2446
+ c !== W && f(W);
2447
+ });
2448
+ const w = V("EmptyPlaceholder"), E = V("ScrollSeekPlaceholder") || nr, b = V("ListComponent"), F = V("ItemComponent"), a = V("GroupComponent"), p = V("computeItemKey"), C = V("isSeeking"), R = V("groupIndices").length > 0, O = V("alignToBottom"), L = V("initialItemFinalLocationReached"), D = e ? {} : {
2449
+ boxSizing: "border-box",
2450
+ ...T ? {
2451
+ display: "inline-block",
2452
+ height: "100%",
2453
+ marginLeft: c !== 0 ? c : O ? "auto" : 0,
2454
+ paddingLeft: t.offsetTop,
2455
+ paddingRight: t.offsetBottom,
2456
+ whiteSpace: "nowrap"
2457
+ } : {
2458
+ marginTop: c !== 0 ? c : O ? "auto" : 0,
2459
+ paddingBottom: t.offsetBottom,
2460
+ paddingTop: t.offsetTop
2461
+ },
2462
+ ...L ? {} : { visibility: "hidden" }
2463
+ };
2464
+ return !e && t.totalCount === 0 && w ? /* @__PURE__ */ A(w, { ...te(w, d) }) : /* @__PURE__ */ A(
2465
+ b,
2466
+ {
2467
+ ...te(b, d),
2468
+ "data-testid": e ? "virtuoso-top-item-list" : "virtuoso-item-list",
2469
+ ref: g,
2470
+ style: D,
2471
+ children: (e ? t.topItems : t.items).map((W) => {
2472
+ const U = W.originalIndex, Y = p(U + t.firstItemIndex, W.data, d);
2473
+ return C ? /* @__PURE__ */ je(
2474
+ E,
2475
+ {
2476
+ ...te(E, d),
2477
+ height: W.size,
2478
+ index: W.index,
2479
+ key: Y,
2480
+ type: W.type || "item",
2481
+ ...W.type === "group" ? {} : { groupIndex: W.groupIndex }
2482
+ }
2483
+ ) : W.type === "group" ? /* @__PURE__ */ je(
2484
+ a,
2485
+ {
2486
+ ...te(a, d),
2487
+ "data-index": U,
2488
+ "data-item-index": W.index,
2489
+ "data-known-size": W.size,
2490
+ key: Y,
2491
+ style: rr
2492
+ },
2493
+ h(W.index, d)
2494
+ ) : /* @__PURE__ */ je(
2495
+ F,
2496
+ {
2497
+ ...te(F, d),
2498
+ ...nn(F, W.data),
2499
+ "data-index": U,
2500
+ "data-item-group-index": W.groupIndex,
2501
+ "data-item-index": W.index,
2502
+ "data-known-size": W.size,
2503
+ key: Y,
2504
+ style: T ? ir : on
2505
+ },
2506
+ R ? u(W.index, W.groupIndex, W.data, d) : u(W.index, W.data, d)
2507
+ );
2508
+ })
2509
+ }
2510
+ );
2511
+ }), lr = {
2512
+ height: "100%",
2513
+ outline: "none",
2514
+ overflowY: "auto",
2515
+ position: "relative",
2516
+ WebkitOverflowScrolling: "touch"
2517
+ }, sr = {
2518
+ outline: "none",
2519
+ overflowX: "auto",
2520
+ position: "relative"
2521
+ }, tt = (e) => ({
2522
+ height: "100%",
2523
+ position: "absolute",
2524
+ top: 0,
2525
+ width: "100%",
2526
+ ...e ? { display: "flex", flexDirection: "column" } : {}
2527
+ }), ur = {
2528
+ position: Zt(),
2529
+ top: 0,
2530
+ width: "100%",
2531
+ zIndex: 1
2532
+ };
2533
+ function te(e, t) {
2534
+ if (typeof e != "string")
2535
+ return { context: t };
2536
+ }
2537
+ function nn(e, t) {
2538
+ return { item: typeof e == "string" ? void 0 : t };
2539
+ }
2540
+ const ar = /* @__PURE__ */ H.memo(function() {
2541
+ const e = V("HeaderComponent"), t = Re("headerHeight"), o = V("HeaderFooterTag"), n = Pe(
2542
+ H.useMemo(
2543
+ () => (i) => {
2544
+ t(ke(i, "height"));
2545
+ },
2546
+ [t]
2547
+ ),
2548
+ !0,
2549
+ V("skipAnimationFrameInResizeObserver")
2550
+ ), r = V("context");
2551
+ return e ? /* @__PURE__ */ A(o, { ref: n, children: /* @__PURE__ */ A(e, { ...te(e, r) }) }) : null;
2552
+ }), cr = /* @__PURE__ */ H.memo(function() {
2553
+ const e = V("FooterComponent"), t = Re("footerHeight"), o = V("HeaderFooterTag"), n = Pe(
2554
+ H.useMemo(
2555
+ () => (i) => {
2556
+ t(ke(i, "height"));
2557
+ },
2558
+ [t]
2559
+ ),
2560
+ !0,
2561
+ V("skipAnimationFrameInResizeObserver")
2562
+ ), r = V("context");
2563
+ return e ? /* @__PURE__ */ A(o, { ref: n, children: /* @__PURE__ */ A(e, { ...te(e, r) }) }) : null;
2564
+ });
2565
+ function Jt({ useEmitter: e, useEmitterValue: t, usePublisher: o }) {
2566
+ return H.memo(function({ children: n, style: r, context: i, ...l }) {
2567
+ const s = o("scrollContainerState"), u = t("ScrollerComponent"), d = o("smoothScrollTargetReached"), h = t("scrollerRef"), x = t("horizontalDirection") || !1, { scrollByCallback: m, scrollerRef: I, scrollToCallback: z } = tn(
2568
+ s,
2569
+ d,
2570
+ u,
2571
+ h,
2572
+ void 0,
2573
+ x
2574
+ );
2575
+ return e("scrollTo", z), e("scrollBy", m), /* @__PURE__ */ A(
2576
+ u,
2577
+ {
2578
+ "data-testid": "virtuoso-scroller",
2579
+ "data-virtuoso-scroller": !0,
2580
+ ref: I,
2581
+ style: { ...x ? sr : lr, ...r },
2582
+ tabIndex: 0,
2583
+ ...l,
2584
+ ...te(u, i),
2585
+ children: n
2586
+ }
2587
+ );
2588
+ });
2589
+ }
2590
+ function Qt({ useEmitter: e, useEmitterValue: t, usePublisher: o }) {
2591
+ return H.memo(function({ children: n, style: r, context: i, ...l }) {
2592
+ const s = o("windowScrollContainerState"), u = t("ScrollerComponent"), d = o("smoothScrollTargetReached"), h = t("totalListHeight"), x = t("deviation"), m = t("customScrollParent"), I = H.useRef(null), z = t("scrollerRef"), { scrollByCallback: T, scrollerRef: g, scrollToCallback: c } = tn(
2593
+ s,
2594
+ d,
2595
+ u,
2596
+ z,
2597
+ m
2598
+ );
2599
+ return en(() => {
2600
+ var f;
2601
+ return g.current = m || ((f = I.current) == null ? void 0 : f.ownerDocument.defaultView), () => {
2602
+ g.current = null;
2603
+ };
2604
+ }, [g, m]), e("windowScrollTo", c), e("scrollBy", T), /* @__PURE__ */ A(
2605
+ u,
2606
+ {
2607
+ ref: I,
2608
+ "data-virtuoso-scroller": !0,
2609
+ style: { position: "relative", ...r, ...h !== 0 ? { height: h + x } : {} },
2610
+ ...l,
2611
+ ...te(u, i),
2612
+ children: n
2613
+ }
2614
+ );
2615
+ });
2616
+ }
2617
+ const dr = ({ children: e }) => {
2618
+ const t = H.useContext(yt), o = Re("viewportHeight"), n = Re("fixedItemHeight"), r = V("alignToBottom"), i = V("horizontalDirection"), l = H.useMemo(
2619
+ () => it(o, (u) => ke(u, i ? "width" : "height")),
2620
+ [o, i]
2621
+ ), s = Pe(l, !0, V("skipAnimationFrameInResizeObserver"));
2622
+ return H.useEffect(() => {
2623
+ t && (o(t.viewportHeight), n(t.itemHeight));
2624
+ }, [t, o, n]), /* @__PURE__ */ A("div", { "data-viewport-type": "element", ref: s, style: tt(r), children: e });
2625
+ }, fr = ({ children: e }) => {
2626
+ const t = H.useContext(yt), o = Re("windowViewportRect"), n = Re("fixedItemHeight"), r = V("customScrollParent"), i = Nt(
2627
+ o,
2628
+ r,
2629
+ V("skipAnimationFrameInResizeObserver")
2630
+ ), l = V("alignToBottom");
2631
+ return H.useEffect(() => {
2632
+ t && (n(t.itemHeight), o({ offsetTop: 0, visibleHeight: t.viewportHeight, visibleWidth: 100 }));
2633
+ }, [t, o, n]), /* @__PURE__ */ A("div", { "data-viewport-type": "window", ref: i, style: tt(l), children: e });
2634
+ }, hr = ({ children: e }) => {
2635
+ const t = V("TopItemListComponent") || "div", o = V("headerHeight"), n = { ...ur, marginTop: `${o}px` }, r = V("context");
2636
+ return /* @__PURE__ */ A(t, { style: n, ...te(t, r), children: e });
2637
+ }, mr = /* @__PURE__ */ H.memo(function(e) {
2638
+ const t = V("useWindowScroll"), o = V("topItemsIndexes").length > 0, n = V("customScrollParent"), r = V("context");
2639
+ return /* @__PURE__ */ Ke(n || t ? vr : pr, { ...e, context: r, children: [
2640
+ o && /* @__PURE__ */ A(hr, { children: /* @__PURE__ */ A(wo, { showTopList: !0 }) }),
2641
+ /* @__PURE__ */ Ke(n || t ? fr : dr, { children: [
2642
+ /* @__PURE__ */ A(ar, {}),
2643
+ /* @__PURE__ */ A(wo, {}),
2644
+ /* @__PURE__ */ A(cr, {})
2645
+ ] })
2646
+ ] });
2647
+ }), {
2648
+ Component: gr,
2649
+ useEmitter: eo,
2650
+ useEmitterValue: V,
2651
+ usePublisher: Re
2652
+ } = /* @__PURE__ */ Yt(
2653
+ or,
2654
+ {
2655
+ required: {},
2656
+ optional: {
2657
+ restoreStateFrom: "restoreStateFrom",
2658
+ context: "context",
2659
+ followOutput: "followOutput",
2660
+ scrollIntoViewOnChange: "scrollIntoViewOnChange",
2661
+ itemContent: "itemContent",
2662
+ groupContent: "groupContent",
2663
+ overscan: "overscan",
2664
+ increaseViewportBy: "increaseViewportBy",
2665
+ minOverscanItemCount: "minOverscanItemCount",
2666
+ totalCount: "totalCount",
2667
+ groupCounts: "groupCounts",
2668
+ topItemCount: "topItemCount",
2669
+ firstItemIndex: "firstItemIndex",
2670
+ initialTopMostItemIndex: "initialTopMostItemIndex",
2671
+ components: "components",
2672
+ atBottomThreshold: "atBottomThreshold",
2673
+ atTopThreshold: "atTopThreshold",
2674
+ computeItemKey: "computeItemKey",
2675
+ defaultItemHeight: "defaultItemHeight",
2676
+ fixedGroupHeight: "fixedGroupHeight",
2677
+ // Must be set above 'fixedItemHeight'
2678
+ fixedItemHeight: "fixedItemHeight",
2679
+ heightEstimates: "heightEstimates",
2680
+ itemSize: "itemSize",
2681
+ scrollSeekConfiguration: "scrollSeekConfiguration",
2682
+ headerFooterTag: "HeaderFooterTag",
2683
+ data: "data",
2684
+ initialItemCount: "initialItemCount",
2685
+ initialScrollTop: "initialScrollTop",
2686
+ alignToBottom: "alignToBottom",
2687
+ useWindowScroll: "useWindowScroll",
2688
+ customScrollParent: "customScrollParent",
2689
+ scrollerRef: "scrollerRef",
2690
+ logLevel: "logLevel",
2691
+ horizontalDirection: "horizontalDirection",
2692
+ skipAnimationFrameInResizeObserver: "skipAnimationFrameInResizeObserver"
2693
+ },
2694
+ methods: {
2695
+ scrollToIndex: "scrollToIndex",
2696
+ scrollIntoView: "scrollIntoView",
2697
+ scrollTo: "scrollTo",
2698
+ scrollBy: "scrollBy",
2699
+ autoscrollToBottom: "autoscrollToBottom",
2700
+ getState: "getState"
2701
+ },
2702
+ events: {
2703
+ isScrolling: "isScrolling",
2704
+ endReached: "endReached",
2705
+ startReached: "startReached",
2706
+ rangeChanged: "rangeChanged",
2707
+ atBottomStateChange: "atBottomStateChange",
2708
+ atTopStateChange: "atTopStateChange",
2709
+ totalListHeightChanged: "totalListHeightChanged",
2710
+ itemsRendered: "itemsRendered",
2711
+ groupIndices: "groupIndices"
2712
+ }
2713
+ },
2714
+ mr
2715
+ ), pr = /* @__PURE__ */ Jt({ useEmitter: eo, useEmitterValue: V, usePublisher: Re }), vr = /* @__PURE__ */ Qt({ useEmitter: eo, useEmitterValue: V, usePublisher: Re }), $r = gr, Ir = /* @__PURE__ */ K(() => {
2716
+ const e = S((d) => /* @__PURE__ */ Ke("td", { children: [
2717
+ "Item $",
2718
+ d
2719
+ ] })), t = S(null), o = S((d) => /* @__PURE__ */ Ke("td", { colSpan: 1e3, children: [
2720
+ "Group ",
2721
+ d
2722
+ ] })), n = S(null), r = S(null), i = S({}), l = S(Xt), s = S(et), u = (d, h = null) => me(
2723
+ v(
2724
+ i,
2725
+ B((x) => x[d]),
2726
+ ee()
2727
+ ),
2728
+ h
2729
+ );
2730
+ return {
2731
+ components: i,
2732
+ computeItemKey: l,
2733
+ context: t,
2734
+ EmptyPlaceholder: u("EmptyPlaceholder"),
2735
+ FillerRow: u("FillerRow"),
2736
+ fixedFooterContent: r,
2737
+ fixedHeaderContent: n,
2738
+ itemContent: e,
2739
+ groupContent: o,
2740
+ ScrollerComponent: u("Scroller", "div"),
2741
+ scrollerRef: s,
2742
+ ScrollSeekPlaceholder: u("ScrollSeekPlaceholder"),
2743
+ TableBodyComponent: u("TableBody", "tbody"),
2744
+ TableComponent: u("Table", "table"),
2745
+ TableFooterComponent: u("TableFoot", "tfoot"),
2746
+ TableHeadComponent: u("TableHead", "thead"),
2747
+ TableRowComponent: u("TableRow", "tr"),
2748
+ GroupComponent: u("Group", "tr")
2749
+ };
2750
+ }), xr = /* @__PURE__ */ K(
2751
+ ([e, t]) => ({ ...e, ...t }),
2752
+ oe(Jo, Ir)
2753
+ ), Tr = ({ height: e }) => /* @__PURE__ */ A("tr", { children: /* @__PURE__ */ A("td", { style: { height: e } }) }), Sr = ({ height: e }) => /* @__PURE__ */ A("tr", { children: /* @__PURE__ */ A("td", { style: { border: 0, height: e, padding: 0 } }) }), wr = { overflowAnchor: "none" }, Co = { position: Zt(), zIndex: 2, overflowAnchor: "none" }, zo = /* @__PURE__ */ H.memo(function({ showTopList: e = !1 }) {
2754
+ const t = G("listState"), o = G("computeItemKey"), n = G("firstItemIndex"), r = G("context"), i = G("isSeeking"), l = G("fixedHeaderHeight"), s = G("groupIndices").length > 0, u = G("itemContent"), d = G("groupContent"), h = G("ScrollSeekPlaceholder") || Tr, x = G("GroupComponent"), m = G("TableRowComponent"), I = (e ? t.topItems : []).reduce((T, g, c) => (c === 0 ? T.push(g.size) : T.push(T[c - 1] + g.size), T), []), z = (e ? t.topItems : t.items).map((T) => {
2755
+ const g = T.originalIndex, c = o(g + n, T.data, r), f = e ? g === 0 ? 0 : I[g - 1] : 0;
2756
+ return i ? /* @__PURE__ */ je(
2757
+ h,
2758
+ {
2759
+ ...te(h, r),
2760
+ height: T.size,
2761
+ index: T.index,
2762
+ key: c,
2763
+ type: T.type || "item"
2764
+ }
2765
+ ) : T.type === "group" ? /* @__PURE__ */ je(
2766
+ x,
2767
+ {
2768
+ ...te(x, r),
2769
+ "data-index": g,
2770
+ "data-item-index": T.index,
2771
+ "data-known-size": T.size,
2772
+ key: c,
2773
+ style: {
2774
+ ...Co,
2775
+ top: l
2776
+ }
2777
+ },
2778
+ d(T.index, r)
2779
+ ) : /* @__PURE__ */ je(
2780
+ m,
2781
+ {
2782
+ ...te(m, r),
2783
+ ...nn(m, T.data),
2784
+ "data-index": g,
2785
+ "data-item-index": T.index,
2786
+ "data-known-size": T.size,
2787
+ "data-item-group-index": T.groupIndex,
2788
+ key: c,
2789
+ style: e ? { ...Co, top: l + f } : wr
2790
+ },
2791
+ s ? u(T.index, T.groupIndex, T.data, r) : u(T.index, T.data, r)
2792
+ );
2793
+ });
2794
+ return /* @__PURE__ */ A(an, { children: z });
2795
+ }), Cr = /* @__PURE__ */ H.memo(function() {
2796
+ const e = G("listState"), t = G("topItemsIndexes").length > 0, o = Be("sizeRanges"), n = G("useWindowScroll"), r = G("customScrollParent"), i = Be("windowScrollContainerState"), l = Be("scrollContainerState"), s = r || n ? i : l, u = G("trackItemSizes"), d = G("itemSize"), h = G("log"), { callbackRef: x, ref: m } = Fo(
2797
+ o,
2798
+ d,
2799
+ u,
2800
+ s,
2801
+ h,
2802
+ void 0,
2803
+ r,
2804
+ !1,
2805
+ G("skipAnimationFrameInResizeObserver")
2806
+ ), [I, z] = H.useState(0);
2807
+ to("deviation", (R) => {
2808
+ I !== R && (m.current.style.marginTop = `${R}px`, z(R));
2809
+ });
2810
+ const T = G("EmptyPlaceholder"), g = G("FillerRow") || Sr, c = G("TableBodyComponent"), f = G("paddingTopAddition"), w = G("statefulTotalCount"), E = G("context");
2811
+ if (w === 0 && T)
2812
+ return /* @__PURE__ */ A(T, { ...te(T, E) });
2813
+ const b = (t ? e.topItems : []).reduce((R, O) => R + O.size, 0), F = e.offsetTop + f + I - b, a = e.offsetBottom, p = F > 0 ? /* @__PURE__ */ A(g, { context: E, height: F }, "padding-top") : null, C = a > 0 ? /* @__PURE__ */ A(g, { context: E, height: a }, "padding-bottom") : null;
2814
+ return /* @__PURE__ */ Ke(c, { "data-testid": "virtuoso-item-list", ref: x, ...te(c, E), children: [
2815
+ p,
2816
+ t && /* @__PURE__ */ A(zo, { showTopList: !0 }),
2817
+ /* @__PURE__ */ A(zo, {}),
2818
+ C
2819
+ ] });
2820
+ }), zr = ({ children: e }) => {
2821
+ const t = H.useContext(yt), o = Be("viewportHeight"), n = Be("fixedItemHeight"), r = Pe(
2822
+ H.useMemo(() => it(o, (i) => ke(i, "height")), [o]),
2823
+ !0,
2824
+ G("skipAnimationFrameInResizeObserver")
2825
+ );
2826
+ return H.useEffect(() => {
2827
+ t && (o(t.viewportHeight), n(t.itemHeight));
2828
+ }, [t, o, n]), /* @__PURE__ */ A("div", { "data-viewport-type": "element", ref: r, style: tt(!1), children: e });
2829
+ }, Rr = ({ children: e }) => {
2830
+ const t = H.useContext(yt), o = Be("windowViewportRect"), n = Be("fixedItemHeight"), r = G("customScrollParent"), i = Nt(
2831
+ o,
2832
+ r,
2833
+ G("skipAnimationFrameInResizeObserver")
2834
+ );
2835
+ return H.useEffect(() => {
2836
+ t && (n(t.itemHeight), o({ offsetTop: 0, visibleHeight: t.viewportHeight, visibleWidth: 100 }));
2837
+ }, [t, o, n]), /* @__PURE__ */ A("div", { "data-viewport-type": "window", ref: i, style: tt(!1), children: e });
2838
+ }, yr = /* @__PURE__ */ H.memo(function(e) {
2839
+ const t = G("useWindowScroll"), o = G("customScrollParent"), n = Be("fixedHeaderHeight"), r = Be("fixedFooterHeight"), i = G("fixedHeaderContent"), l = G("fixedFooterContent"), s = G("context"), u = Pe(
2840
+ H.useMemo(() => it(n, (c) => ke(c, "height")), [n]),
2841
+ !0,
2842
+ G("skipAnimationFrameInResizeObserver")
2843
+ ), d = Pe(
2844
+ H.useMemo(() => it(r, (c) => ke(c, "height")), [r]),
2845
+ !0,
2846
+ G("skipAnimationFrameInResizeObserver")
2847
+ ), h = o || t ? Br : Hr, x = o || t ? Rr : zr, m = G("TableComponent"), I = G("TableHeadComponent"), z = G("TableFooterComponent"), T = i ? /* @__PURE__ */ A(
2848
+ I,
2849
+ {
2850
+ ref: u,
2851
+ style: { position: "sticky", top: 0, zIndex: 2 },
2852
+ ...te(I, s),
2853
+ children: i()
2854
+ },
2855
+ "TableHead"
2856
+ ) : null, g = l ? /* @__PURE__ */ A(
2857
+ z,
2858
+ {
2859
+ ref: d,
2860
+ style: { bottom: 0, position: "sticky", zIndex: 1 },
2861
+ ...te(z, s),
2862
+ children: l()
2863
+ },
2864
+ "TableFoot"
2865
+ ) : null;
2866
+ return /* @__PURE__ */ A(h, { ...e, ...te(h, s), children: /* @__PURE__ */ A(x, { children: /* @__PURE__ */ Ke(m, { style: { borderSpacing: 0, overflowAnchor: "none" }, ...te(m, s), children: [
2867
+ T,
2868
+ /* @__PURE__ */ A(Cr, {}, "TableBody"),
2869
+ g
2870
+ ] }) }) });
2871
+ }), {
2872
+ Component: br,
2873
+ useEmitter: to,
2874
+ useEmitterValue: G,
2875
+ usePublisher: Be
2876
+ } = /* @__PURE__ */ Yt(
2877
+ xr,
2878
+ {
2879
+ required: {},
2880
+ optional: {
2881
+ restoreStateFrom: "restoreStateFrom",
2882
+ context: "context",
2883
+ followOutput: "followOutput",
2884
+ firstItemIndex: "firstItemIndex",
2885
+ itemContent: "itemContent",
2886
+ groupContent: "groupContent",
2887
+ fixedHeaderContent: "fixedHeaderContent",
2888
+ fixedFooterContent: "fixedFooterContent",
2889
+ overscan: "overscan",
2890
+ increaseViewportBy: "increaseViewportBy",
2891
+ minOverscanItemCount: "minOverscanItemCount",
2892
+ totalCount: "totalCount",
2893
+ topItemCount: "topItemCount",
2894
+ initialTopMostItemIndex: "initialTopMostItemIndex",
2895
+ components: "components",
2896
+ groupCounts: "groupCounts",
2897
+ atBottomThreshold: "atBottomThreshold",
2898
+ atTopThreshold: "atTopThreshold",
2899
+ computeItemKey: "computeItemKey",
2900
+ defaultItemHeight: "defaultItemHeight",
2901
+ fixedGroupHeight: "fixedGroupHeight",
2902
+ // Must be set above 'fixedItemHeight'
2903
+ fixedItemHeight: "fixedItemHeight",
2904
+ itemSize: "itemSize",
2905
+ scrollSeekConfiguration: "scrollSeekConfiguration",
2906
+ data: "data",
2907
+ initialItemCount: "initialItemCount",
2908
+ initialScrollTop: "initialScrollTop",
2909
+ alignToBottom: "alignToBottom",
2910
+ useWindowScroll: "useWindowScroll",
2911
+ customScrollParent: "customScrollParent",
2912
+ scrollerRef: "scrollerRef",
2913
+ logLevel: "logLevel"
2914
+ },
2915
+ methods: {
2916
+ scrollToIndex: "scrollToIndex",
2917
+ scrollIntoView: "scrollIntoView",
2918
+ scrollTo: "scrollTo",
2919
+ scrollBy: "scrollBy",
2920
+ getState: "getState"
2921
+ },
2922
+ events: {
2923
+ isScrolling: "isScrolling",
2924
+ endReached: "endReached",
2925
+ startReached: "startReached",
2926
+ rangeChanged: "rangeChanged",
2927
+ atBottomStateChange: "atBottomStateChange",
2928
+ atTopStateChange: "atTopStateChange",
2929
+ totalListHeightChanged: "totalListHeightChanged",
2930
+ itemsRendered: "itemsRendered",
2931
+ groupIndices: "groupIndices"
2932
+ }
2933
+ },
2934
+ yr
2935
+ ), Hr = /* @__PURE__ */ Jt({ useEmitter: to, useEmitterValue: G, usePublisher: Be }), Br = /* @__PURE__ */ Qt({ useEmitter: to, useEmitterValue: G, usePublisher: Be }), qr = br, Ro = {
2936
+ bottom: 0,
2937
+ itemHeight: 0,
2938
+ items: [],
2939
+ itemWidth: 0,
2940
+ offsetBottom: 0,
2941
+ offsetTop: 0,
2942
+ top: 0
2943
+ }, Er = {
2944
+ bottom: 0,
2945
+ itemHeight: 0,
2946
+ items: [{ index: 0 }],
2947
+ itemWidth: 0,
2948
+ offsetBottom: 0,
2949
+ offsetTop: 0,
2950
+ top: 0
2951
+ }, { ceil: yo, floor: wt, max: rt, min: Ot, round: bo } = Math;
2952
+ function Ho(e, t, o) {
2953
+ return Array.from({ length: t - e + 1 }).map((n, r) => ({ data: o === null ? null : o[r + e], index: r + e }));
2954
+ }
2955
+ function kr(e) {
2956
+ return {
2957
+ ...Er,
2958
+ items: e
2959
+ };
2960
+ }
2961
+ function It(e, t) {
2962
+ return e && e.width === t.width && e.height === t.height;
2963
+ }
2964
+ function Or(e, t) {
2965
+ return e && e.column === t.column && e.row === t.row;
2966
+ }
2967
+ const Fr = /* @__PURE__ */ K(
2968
+ ([
2969
+ { increaseViewportBy: e, listBoundary: t, overscan: o, visibleRange: n },
2970
+ { footerHeight: r, headerHeight: i, scrollBy: l, scrollContainerState: s, scrollTo: u, scrollTop: d, smoothScrollTargetReached: h, viewportHeight: x },
2971
+ m,
2972
+ I,
2973
+ { didMount: z, propsReady: T },
2974
+ { customScrollParent: g, useWindowScroll: c, windowScrollContainerState: f, windowScrollTo: w, windowViewportRect: E },
2975
+ b
2976
+ ]) => {
2977
+ const F = S(0), a = S(0), p = S(Ro), C = S({ height: 0, width: 0 }), R = S({ height: 0, width: 0 }), O = j(), L = j(), D = S(0), W = S(null), U = S({ column: 0, row: 0 }), Y = j(), J = j(), ve = S(!1), Ie = S(0), xe = S(!0), Te = S(!1), Oe = S(!1);
2978
+ q(
2979
+ v(
2980
+ z,
2981
+ _(Ie),
2982
+ M(([y, $]) => !!$)
2983
+ ),
2984
+ () => {
2985
+ N(xe, !1);
2986
+ }
2987
+ ), q(
2988
+ v(
2989
+ ue(z, xe, R, C, Ie, Te),
2990
+ M(([y, $, ne, fe, , Ce]) => y && !$ && ne.height !== 0 && fe.height !== 0 && !Ce)
2991
+ ),
2992
+ ([, , , , y]) => {
2993
+ N(Te, !0), jt(1, () => {
2994
+ N(O, y);
2995
+ }), He(v(d), () => {
2996
+ N(t, [0, 0]), N(xe, !0);
2997
+ });
2998
+ }
2999
+ ), k(
3000
+ v(
3001
+ J,
3002
+ M((y) => y != null && y.scrollTop > 0),
3003
+ Fe(0)
3004
+ ),
3005
+ a
3006
+ ), q(
3007
+ v(
3008
+ z,
3009
+ _(J),
3010
+ M(([, y]) => y != null)
3011
+ ),
3012
+ ([, y]) => {
3013
+ y && (N(C, y.viewport), N(R, y.item), N(U, y.gap), y.scrollTop > 0 && (N(ve, !0), He(v(d, $e(1)), ($) => {
3014
+ N(ve, !1);
3015
+ }), N(u, { top: y.scrollTop })));
3016
+ }
3017
+ ), k(
3018
+ v(
3019
+ C,
3020
+ B(({ height: y }) => y)
3021
+ ),
3022
+ x
3023
+ ), k(
3024
+ v(
3025
+ ue(
3026
+ P(C, It),
3027
+ P(R, It),
3028
+ P(U, (y, $) => y && y.column === $.column && y.row === $.row),
3029
+ P(d)
3030
+ ),
3031
+ B(([y, $, ne, fe]) => ({
3032
+ gap: ne,
3033
+ item: $,
3034
+ scrollTop: fe,
3035
+ viewport: y
3036
+ }))
3037
+ ),
3038
+ Y
3039
+ ), k(
3040
+ v(
3041
+ ue(
3042
+ P(F),
3043
+ n,
3044
+ P(U, Or),
3045
+ P(R, It),
3046
+ P(C, It),
3047
+ P(W),
3048
+ P(a),
3049
+ P(ve),
3050
+ P(xe),
3051
+ P(Ie)
3052
+ ),
3053
+ M(([, , , , , , , y]) => !y),
3054
+ B(
3055
+ ([
3056
+ y,
3057
+ [$, ne],
3058
+ fe,
3059
+ Ce,
3060
+ ae,
3061
+ le,
3062
+ de,
3063
+ ,
3064
+ se,
3065
+ Z
3066
+ ]) => {
3067
+ const { column: Q, row: ze } = fe, { height: he, width: bt } = Ce, { width: oo } = ae;
3068
+ if (de === 0 && (y === 0 || oo === 0))
3069
+ return Ro;
3070
+ if (bt === 0) {
3071
+ const so = Kt(Z, y), un = so + Math.max(de - 1, 0);
3072
+ return kr(Ho(so, un, le));
3073
+ }
3074
+ const pt = rn(oo, bt, Q);
3075
+ let Ze, _e;
3076
+ se ? $ === 0 && ne === 0 && de > 0 ? (Ze = 0, _e = de - 1) : (Ze = pt * wt(($ + ze) / (he + ze)), _e = pt * yo((ne + ze) / (he + ze)) - 1, _e = Ot(y - 1, rt(_e, pt - 1)), Ze = Ot(_e, rt(0, Ze))) : (Ze = 0, _e = -1);
3077
+ const no = Ho(Ze, _e, le), { bottom: ro, top: io } = Bo(ae, fe, Ce, no), lo = yo(y / pt), sn = lo * he + (lo - 1) * ze - ro;
3078
+ return { bottom: ro, itemHeight: he, items: no, itemWidth: bt, offsetBottom: sn, offsetTop: io, top: io };
3079
+ }
3080
+ )
3081
+ ),
3082
+ p
3083
+ ), k(
3084
+ v(
3085
+ W,
3086
+ M((y) => y !== null),
3087
+ B((y) => y.length)
3088
+ ),
3089
+ F
3090
+ ), k(
3091
+ v(
3092
+ ue(C, R, p, U),
3093
+ M(([y, $, { items: ne }]) => ne.length > 0 && $.height !== 0 && y.height !== 0),
3094
+ B(([y, $, { items: ne }, fe]) => {
3095
+ const { bottom: Ce, top: ae } = Bo(y, fe, $, ne);
3096
+ return [ae, Ce];
3097
+ }),
3098
+ ee(ut)
3099
+ ),
3100
+ t
3101
+ );
3102
+ const be = S(!1);
3103
+ k(
3104
+ v(
3105
+ d,
3106
+ _(be),
3107
+ B(([y, $]) => $ || y !== 0)
3108
+ ),
3109
+ be
3110
+ );
3111
+ const Ve = we(
3112
+ v(
3113
+ ue(p, F),
3114
+ M(([{ items: y }]) => y.length > 0),
3115
+ _(be),
3116
+ M(([[y, $], ne]) => {
3117
+ const fe = y.items[y.items.length - 1].index === $ - 1;
3118
+ return (ne || y.bottom > 0 && y.itemHeight > 0 && y.offsetBottom === 0 && y.items.length === $) && fe;
3119
+ }),
3120
+ B(([[, y]]) => y - 1),
3121
+ ee()
3122
+ )
3123
+ ), ot = we(
3124
+ v(
3125
+ P(p),
3126
+ M(({ items: y }) => y.length > 0 && y[0].index === 0),
3127
+ Fe(0),
3128
+ ee()
3129
+ )
3130
+ ), Ye = we(
3131
+ v(
3132
+ P(p),
3133
+ _(ve),
3134
+ M(([{ items: y }, $]) => y.length > 0 && !$),
3135
+ B(([{ items: y }]) => ({
3136
+ endIndex: y[y.length - 1].index,
3137
+ startIndex: y[0].index
3138
+ })),
3139
+ ee(Lo),
3140
+ Ae(0)
3141
+ )
3142
+ );
3143
+ k(Ye, I.scrollSeekRangeChanged), k(
3144
+ v(
3145
+ O,
3146
+ _(C, R, F, U),
3147
+ B(([y, $, ne, fe, Ce]) => {
3148
+ const ae = Uo(y), { align: le, behavior: de, offset: se } = ae;
3149
+ let Z = ae.index;
3150
+ Z === "LAST" && (Z = fe - 1), Z = rt(0, Z, Ot(fe - 1, Z));
3151
+ let Q = Vt($, Ce, ne, Z);
3152
+ return le === "end" ? Q = bo(Q - $.height + ne.height) : le === "center" && (Q = bo(Q - $.height / 2 + ne.height / 2)), se && (Q += se), { behavior: de, top: Q };
3153
+ })
3154
+ ),
3155
+ u
3156
+ );
3157
+ const Le = me(
3158
+ v(
3159
+ p,
3160
+ B((y) => y.offsetBottom + y.bottom)
3161
+ ),
3162
+ 0
3163
+ );
3164
+ return k(
3165
+ v(
3166
+ E,
3167
+ B((y) => ({ height: y.visibleHeight, width: y.visibleWidth }))
3168
+ ),
3169
+ C
3170
+ ), {
3171
+ customScrollParent: g,
3172
+ // input
3173
+ data: W,
3174
+ deviation: D,
3175
+ footerHeight: r,
3176
+ gap: U,
3177
+ headerHeight: i,
3178
+ increaseViewportBy: e,
3179
+ initialItemCount: a,
3180
+ itemDimensions: R,
3181
+ overscan: o,
3182
+ restoreStateFrom: J,
3183
+ scrollBy: l,
3184
+ scrollContainerState: s,
3185
+ scrollHeight: L,
3186
+ scrollTo: u,
3187
+ scrollToIndex: O,
3188
+ scrollTop: d,
3189
+ smoothScrollTargetReached: h,
3190
+ totalCount: F,
3191
+ useWindowScroll: c,
3192
+ viewportDimensions: C,
3193
+ windowScrollContainerState: f,
3194
+ windowScrollTo: w,
3195
+ windowViewportRect: E,
3196
+ ...I,
3197
+ // output
3198
+ gridState: p,
3199
+ horizontalDirection: Oe,
3200
+ initialTopMostItemIndex: Ie,
3201
+ totalListHeight: Le,
3202
+ ...m,
3203
+ endReached: Ve,
3204
+ propsReady: T,
3205
+ rangeChanged: Ye,
3206
+ startReached: ot,
3207
+ stateChanged: Y,
3208
+ stateRestoreInProgress: ve,
3209
+ ...b
3210
+ };
3211
+ },
3212
+ oe($t, ge, gt, Zo, Ne, qt, Ge)
3213
+ );
3214
+ function rn(e, t, o) {
3215
+ return rt(1, wt((e + o) / (wt(t) + o)));
3216
+ }
3217
+ function Bo(e, t, o, n) {
3218
+ const { height: r } = o;
3219
+ if (r === void 0 || n.length === 0)
3220
+ return { bottom: 0, top: 0 };
3221
+ const i = Vt(e, t, o, n[0].index);
3222
+ return { bottom: Vt(e, t, o, n[n.length - 1].index) + r, top: i };
3223
+ }
3224
+ function Vt(e, t, o, n) {
3225
+ const r = rn(e.width, o.width, t.column), i = wt(n / r), l = i * o.height + rt(0, i - 1) * t.row;
3226
+ return l > 0 ? l + t.row : l;
3227
+ }
3228
+ const Wr = /* @__PURE__ */ K(() => {
3229
+ const e = S((x) => `Item ${x}`), t = S({}), o = S(null), n = S("virtuoso-grid-item"), r = S("virtuoso-grid-list"), i = S(Xt), l = S("div"), s = S(et), u = (x, m = null) => me(
3230
+ v(
3231
+ t,
3232
+ B((I) => I[x]),
3233
+ ee()
3234
+ ),
3235
+ m
3236
+ ), d = S(!1), h = S(!1);
3237
+ return k(P(h), d), {
3238
+ components: t,
3239
+ computeItemKey: i,
3240
+ context: o,
3241
+ FooterComponent: u("Footer"),
3242
+ HeaderComponent: u("Header"),
3243
+ headerFooterTag: l,
3244
+ itemClassName: n,
3245
+ ItemComponent: u("Item", "div"),
3246
+ itemContent: e,
3247
+ listClassName: r,
3248
+ ListComponent: u("List", "div"),
3249
+ readyStateChanged: d,
3250
+ reportReadyState: h,
3251
+ ScrollerComponent: u("Scroller", "div"),
3252
+ scrollerRef: s,
3253
+ ScrollSeekPlaceholder: u("ScrollSeekPlaceholder", "div")
3254
+ };
3255
+ }), Pr = /* @__PURE__ */ K(
3256
+ ([e, t]) => ({ ...e, ...t }),
3257
+ oe(Fr, Wr)
3258
+ ), Mr = /* @__PURE__ */ H.memo(function() {
3259
+ const e = re("gridState"), t = re("listClassName"), o = re("itemClassName"), n = re("itemContent"), r = re("computeItemKey"), i = re("isSeeking"), l = ye("scrollHeight"), s = re("ItemComponent"), u = re("ListComponent"), d = re("ScrollSeekPlaceholder"), h = re("context"), x = ye("itemDimensions"), m = ye("gap"), I = re("log"), z = re("stateRestoreInProgress"), T = ye("reportReadyState"), g = Pe(
3260
+ H.useMemo(
3261
+ () => (c) => {
3262
+ const f = c.parentElement.parentElement.scrollHeight;
3263
+ l(f);
3264
+ const w = c.firstChild;
3265
+ if (w) {
3266
+ const { height: E, width: b } = w.getBoundingClientRect();
3267
+ x({ height: E, width: b });
3268
+ }
3269
+ m({
3270
+ column: Eo("column-gap", getComputedStyle(c).columnGap, I),
3271
+ row: Eo("row-gap", getComputedStyle(c).rowGap, I)
3272
+ });
3273
+ },
3274
+ [l, x, m, I]
3275
+ ),
3276
+ !0,
3277
+ !1
3278
+ );
3279
+ return en(() => {
3280
+ e.itemHeight > 0 && e.itemWidth > 0 && T(!0);
3281
+ }, [e]), z ? null : /* @__PURE__ */ A(
3282
+ u,
3283
+ {
3284
+ className: t,
3285
+ ref: g,
3286
+ ...te(u, h),
3287
+ "data-testid": "virtuoso-item-list",
3288
+ style: { paddingBottom: e.offsetBottom, paddingTop: e.offsetTop },
3289
+ children: e.items.map((c) => {
3290
+ const f = r(c.index, c.data, h);
3291
+ return i ? /* @__PURE__ */ A(
3292
+ d,
3293
+ {
3294
+ ...te(d, h),
3295
+ height: e.itemHeight,
3296
+ index: c.index,
3297
+ width: e.itemWidth
3298
+ },
3299
+ f
3300
+ ) : /* @__PURE__ */ je(
3301
+ s,
3302
+ {
3303
+ ...te(s, h),
3304
+ className: o,
3305
+ "data-index": c.index,
3306
+ key: f
3307
+ },
3308
+ n(c.index, c.data, h)
3309
+ );
3310
+ })
3311
+ }
3312
+ );
3313
+ }), Ar = H.memo(function() {
3314
+ const e = re("HeaderComponent"), t = ye("headerHeight"), o = re("headerFooterTag"), n = Pe(
3315
+ H.useMemo(
3316
+ () => (i) => {
3317
+ t(ke(i, "height"));
3318
+ },
3319
+ [t]
3320
+ ),
3321
+ !0,
3322
+ !1
3323
+ ), r = re("context");
3324
+ return e ? /* @__PURE__ */ A(o, { ref: n, children: /* @__PURE__ */ A(e, { ...te(e, r) }) }) : null;
3325
+ }), Vr = H.memo(function() {
3326
+ const e = re("FooterComponent"), t = ye("footerHeight"), o = re("headerFooterTag"), n = Pe(
3327
+ H.useMemo(
3328
+ () => (i) => {
3329
+ t(ke(i, "height"));
3330
+ },
3331
+ [t]
3332
+ ),
3333
+ !0,
3334
+ !1
3335
+ ), r = re("context");
3336
+ return e ? /* @__PURE__ */ A(o, { ref: n, children: /* @__PURE__ */ A(e, { ...te(e, r) }) }) : null;
3337
+ }), Lr = ({ children: e }) => {
3338
+ const t = H.useContext(Qo), o = ye("itemDimensions"), n = ye("viewportDimensions"), r = Pe(
3339
+ H.useMemo(
3340
+ () => (i) => {
3341
+ n(i.getBoundingClientRect());
3342
+ },
3343
+ [n]
3344
+ ),
3345
+ !0,
3346
+ !1
3347
+ );
3348
+ return H.useEffect(() => {
3349
+ t && (n({ height: t.viewportHeight, width: t.viewportWidth }), o({ height: t.itemHeight, width: t.itemWidth }));
3350
+ }, [t, n, o]), /* @__PURE__ */ A("div", { ref: r, style: tt(!1), children: e });
3351
+ }, Dr = ({ children: e }) => {
3352
+ const t = H.useContext(Qo), o = ye("windowViewportRect"), n = ye("itemDimensions"), r = re("customScrollParent"), i = Nt(o, r, !1);
3353
+ return H.useEffect(() => {
3354
+ t && (n({ height: t.itemHeight, width: t.itemWidth }), o({ offsetTop: 0, visibleHeight: t.viewportHeight, visibleWidth: t.viewportWidth }));
3355
+ }, [t, o, n]), /* @__PURE__ */ A("div", { ref: i, style: tt(!1), children: e });
3356
+ }, Gr = /* @__PURE__ */ H.memo(function({ ...e }) {
3357
+ const t = re("useWindowScroll"), o = re("customScrollParent"), n = o || t ? _r : Nr, r = o || t ? Dr : Lr, i = re("context");
3358
+ return /* @__PURE__ */ A(n, { ...e, ...te(n, i), children: /* @__PURE__ */ Ke(r, { children: [
3359
+ /* @__PURE__ */ A(Ar, {}),
3360
+ /* @__PURE__ */ A(Mr, {}),
3361
+ /* @__PURE__ */ A(Vr, {})
3362
+ ] }) });
3363
+ }), {
3364
+ useEmitter: ln,
3365
+ useEmitterValue: re,
3366
+ usePublisher: ye
3367
+ } = /* @__PURE__ */ Yt(
3368
+ Pr,
3369
+ {
3370
+ optional: {
3371
+ context: "context",
3372
+ totalCount: "totalCount",
3373
+ overscan: "overscan",
3374
+ itemContent: "itemContent",
3375
+ components: "components",
3376
+ computeItemKey: "computeItemKey",
3377
+ data: "data",
3378
+ initialItemCount: "initialItemCount",
3379
+ scrollSeekConfiguration: "scrollSeekConfiguration",
3380
+ headerFooterTag: "headerFooterTag",
3381
+ listClassName: "listClassName",
3382
+ itemClassName: "itemClassName",
3383
+ useWindowScroll: "useWindowScroll",
3384
+ customScrollParent: "customScrollParent",
3385
+ scrollerRef: "scrollerRef",
3386
+ logLevel: "logLevel",
3387
+ restoreStateFrom: "restoreStateFrom",
3388
+ initialTopMostItemIndex: "initialTopMostItemIndex",
3389
+ increaseViewportBy: "increaseViewportBy"
3390
+ },
3391
+ methods: {
3392
+ scrollTo: "scrollTo",
3393
+ scrollBy: "scrollBy",
3394
+ scrollToIndex: "scrollToIndex"
3395
+ },
3396
+ events: {
3397
+ isScrolling: "isScrolling",
3398
+ endReached: "endReached",
3399
+ startReached: "startReached",
3400
+ rangeChanged: "rangeChanged",
3401
+ atBottomStateChange: "atBottomStateChange",
3402
+ atTopStateChange: "atTopStateChange",
3403
+ stateChanged: "stateChanged",
3404
+ readyStateChanged: "readyStateChanged"
3405
+ }
3406
+ },
3407
+ Gr
3408
+ ), Nr = /* @__PURE__ */ Jt({ useEmitter: ln, useEmitterValue: re, usePublisher: ye }), _r = /* @__PURE__ */ Qt({ useEmitter: ln, useEmitterValue: re, usePublisher: ye });
3409
+ function Eo(e, t, o) {
3410
+ return t !== "normal" && !(t != null && t.endsWith("px")) && o(`${e} was not resolved to pixel value correctly`, t, pe.WARN), t === "normal" ? 0 : parseInt(t ?? "0", 10);
3411
+ }
3412
+ export {
3413
+ qr as X,
3414
+ $r as Y
3415
+ };
3416
+ //# sourceMappingURL=index-BtlhELJ3.js.map