@pstdio/ui 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/{MermaidComponent-AmAjWLPm.js → MermaidComponent-BVMyKttu.js} +2 -2
  2. package/dist/{MermaidComponent-AmAjWLPm.js.map → MermaidComponent-BVMyKttu.js.map} +1 -1
  3. package/dist/chat-ui.js +2 -6
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/components/data-table/build-columns.d.ts +1 -0
  6. package/dist/components/data-table/types.d.ts +1 -0
  7. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  8. package/dist/components/diff-viewer/file-change-badge.d.ts +3 -0
  9. package/dist/components/diff-viewer/file-list-panel.d.ts +0 -1
  10. package/dist/components/diff-viewer/index.d.ts +2 -0
  11. package/dist/components/param-editor/param-editor.types.d.ts +2 -0
  12. package/dist/components/tag-editor/tag-editor-row.d.ts +1 -0
  13. package/dist/components/tag-editor/tag-editor.types.d.ts +1 -0
  14. package/dist/components/tag-editor/tag-settings-panel.d.ts +1 -1
  15. package/dist/components/tree-list/tree-list-background.d.ts +8 -0
  16. package/dist/components/tree-list/tree-list-drag.d.ts +7 -0
  17. package/dist/components/tree-list/tree-list-inline-creation-story.d.ts +3 -0
  18. package/dist/components/tree-list/tree-list-inline-input.d.ts +9 -0
  19. package/dist/components/tree-list/tree-list-move-surface.d.ts +7 -0
  20. package/dist/components/tree-list/tree-list-node-row.d.ts +1 -0
  21. package/dist/components/tree-list/tree-list.d.ts +2 -0
  22. package/dist/components/tree-list/tree-list.types.d.ts +13 -0
  23. package/dist/data-table.js +666 -643
  24. package/dist/data-table.js.map +1 -1
  25. package/dist/diff.js +799 -815
  26. package/dist/diff.js.map +1 -1
  27. package/dist/{edit-mode-data-table-4GMiDy75.js → edit-mode-data-table-D6NeiDJx.js} +3 -3
  28. package/dist/{edit-mode-data-table-4GMiDy75.js.map → edit-mode-data-table-D6NeiDJx.js.map} +1 -1
  29. package/dist/{editor-config-Dyh8n5A2.js → editor-config-D9OksZ93.js} +3 -3
  30. package/dist/{editor-config-Dyh8n5A2.js.map → editor-config-D9OksZ93.js.map} +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1025 -1042
  33. package/dist/index.js.map +1 -1
  34. package/dist/{kanban-renderer-toolbar-BcUZvGyY.js → kanban-renderer-toolbar-CpegGbwq.js} +2 -2
  35. package/dist/{kanban-renderer-toolbar-BcUZvGyY.js.map → kanban-renderer-toolbar-CpegGbwq.js.map} +1 -1
  36. package/dist/kanban-renderer.js +5 -5
  37. package/dist/{lazy-markdown-editor-CWSREEhf.js → lazy-markdown-editor-B7uP2ALS.js} +2 -2
  38. package/dist/{lazy-markdown-editor-CWSREEhf.js.map → lazy-markdown-editor-B7uP2ALS.js.map} +1 -1
  39. package/dist/{list-row-B8L4TGsh.js → list-row-9oxy-F0v.js} +228 -253
  40. package/dist/list-row-9oxy-F0v.js.map +1 -0
  41. package/dist/{param-editor-w3xH-t8A.js → param-editor-B8Ff9Nm8.js} +2 -2
  42. package/dist/{param-editor-w3xH-t8A.js.map → param-editor-B8Ff9Nm8.js.map} +1 -1
  43. package/dist/{param-editor-field-C8zRDStn.js → param-editor-field-Cu4pto_a.js} +3 -3
  44. package/dist/{param-editor-field-C8zRDStn.js.map → param-editor-field-Cu4pto_a.js.map} +1 -1
  45. package/dist/{rich-message-jZ2oPQhU.js → rich-message-DdFYRzTo.js} +2 -2
  46. package/dist/{rich-message-jZ2oPQhU.js.map → rich-message-DdFYRzTo.js.map} +1 -1
  47. package/dist/rich-text.js +4 -4
  48. package/dist/terminal.js +1 -1
  49. package/dist/terminal.js.map +1 -1
  50. package/dist/theme/recipes/input.d.ts +32 -0
  51. package/dist/{theme-J8K8KbZi.js → theme-BH4fSst9.js} +33 -1
  52. package/dist/theme-BH4fSst9.js.map +1 -0
  53. package/dist/theme.js +1 -1
  54. package/dist/tree-list-uV4UFj0x.js +1116 -0
  55. package/dist/tree-list-uV4UFj0x.js.map +1 -0
  56. package/package.json +1 -1
  57. package/dist/list-row-B8L4TGsh.js.map +0 -1
  58. package/dist/theme-J8K8KbZi.js.map +0 -1
  59. package/dist/tree-list-CC13pOYi.js +0 -1033
  60. package/dist/tree-list-CC13pOYi.js.map +0 -1
@@ -0,0 +1,1116 @@
1
+ import { jsx as g, jsxs as re, Fragment as Oe } from "react/jsx-runtime";
2
+ import { c as V } from "react/compiler-runtime";
3
+ import { Box as G, Flex as De, Input as bt, Stack as Se, Text as vt, Menu as xe, IconButton as Be, HStack as $e } from "@chakra-ui/react";
4
+ import { useId as Rt, useRef as ie, useState as ae, useEffect as me } from "react";
5
+ import { useVirtualizer as zt } from "@tanstack/react-virtual";
6
+ import { R as yt, L as Xe, a as Nt } from "./list-row-9oxy-F0v.js";
7
+ import { ChevronRight as Dt } from "lucide-react";
8
+ import { useSensors as Tt, useSensor as kt, PointerSensor as Ct, DndContext as Pt } from "@dnd-kit/core";
9
+ import { SortableContext as et, verticalListSortingStrategy as tt, useSortable as Et } from "@dnd-kit/sortable";
10
+ import { CSS as At } from "@dnd-kit/utilities";
11
+ const Lt = 72, Mt = 160, Ft = 72, nt = (n, e, o) => Math.min(Math.max(n, e), o), Ot = {
12
+ left: {
13
+ rootDirection: "row",
14
+ dimension: "width",
15
+ separatorOrientation: "vertical",
16
+ cursor: "col-resize",
17
+ pointerCoordinate: "clientX",
18
+ deltaDirection: 1,
19
+ panelFirst: !0
20
+ },
21
+ right: {
22
+ rootDirection: "row",
23
+ dimension: "width",
24
+ separatorOrientation: "vertical",
25
+ cursor: "col-resize",
26
+ pointerCoordinate: "clientX",
27
+ deltaDirection: -1,
28
+ panelFirst: !1
29
+ },
30
+ top: {
31
+ rootDirection: "column",
32
+ dimension: "height",
33
+ separatorOrientation: "horizontal",
34
+ cursor: "row-resize",
35
+ pointerCoordinate: "clientY",
36
+ deltaDirection: 1,
37
+ panelFirst: !0
38
+ },
39
+ bottom: {
40
+ rootDirection: "column",
41
+ dimension: "height",
42
+ separatorOrientation: "horizontal",
43
+ cursor: "row-resize",
44
+ pointerCoordinate: "clientY",
45
+ deltaDirection: -1,
46
+ panelFirst: !1
47
+ }
48
+ }, ot = (n) => Ot[n], Ae = (n) => {
49
+ const e = n.rootSize > 0 ? n.rootSize : n.fallbackRootSize, o = Math.max(0, e - n.contentMinSize), t = n.maxSize ?? o, i = Math.max(0, Math.min(t, o));
50
+ return {
51
+ minSize: Math.min(n.minSize, i),
52
+ maxSize: i
53
+ };
54
+ }, $t = (n, e) => n === "top" || n === "bottom" ? Ft : nt(e / 2, Lt, Mt), _t = (n) => {
55
+ const e = ot(n.side), o = n.startSize + n.pointerDelta * e.deltaDirection, t = n.collapsible && o <= $t(n.side, n.minSize);
56
+ return {
57
+ rawSize: o,
58
+ size: t ? 0 : nt(o, n.minSize, n.maxSize),
59
+ collapsed: t
60
+ };
61
+ }, Wt = {
62
+ _before: {
63
+ bg: "border.inverted"
64
+ }
65
+ }, Ht = (n) => {
66
+ const e = V(34), {
67
+ axis: o,
68
+ bounds: t,
69
+ collapsed: i,
70
+ collapsible: r,
71
+ contentPanelId: s,
72
+ resizablePanelId: l,
73
+ resizeHandleSizePx: a,
74
+ resizeLabel: d,
75
+ resolvedPanelSize: p,
76
+ showResizeSeparator: f,
77
+ onResizeKeyDown: v,
78
+ onResizeStart: w
79
+ } = n, u = o.separatorOrientation === "vertical", m = `${a}px`, x = `${a / -2}px`;
80
+ let R;
81
+ e[0] !== f || e[1] !== u ? (R = u ? {
82
+ content: '""',
83
+ position: "absolute",
84
+ top: 0,
85
+ bottom: 0,
86
+ insetInlineStart: "50%",
87
+ w: "1px",
88
+ bg: f ? "border" : "transparent",
89
+ transform: "translateX(-50%)"
90
+ } : {
91
+ content: '""',
92
+ position: "absolute",
93
+ insetInline: 0,
94
+ top: "50%",
95
+ h: "1px",
96
+ bg: f ? "border" : "transparent",
97
+ transform: "translateY(-50%)"
98
+ }, e[0] = f, e[1] = u, e[2] = R) : R = e[2];
99
+ const I = R, b = o.separatorOrientation, h = `${l} ${s}`;
100
+ let S;
101
+ e[3] !== t.minSize || e[4] !== r ? (S = r ? 0 : Math.round(t.minSize), e[3] = t.minSize, e[4] = r, e[5] = S) : S = e[5];
102
+ let D;
103
+ e[6] !== t.maxSize ? (D = Math.round(t.maxSize), e[6] = t.maxSize, e[7] = D) : D = e[7];
104
+ let z;
105
+ e[8] !== p ? (z = Math.round(p), e[8] = p, e[9] = z) : z = e[9];
106
+ const T = i ? !0 : void 0, C = i ? -1 : 0, c = i ? "none" : void 0, y = `0 0 ${m}`, N = u ? "full" : m, E = u ? m : "full", M = u ? x : void 0, W = u ? void 0 : x, B = f ? Wt : void 0, _ = u ? void 0 : "2px", F = u ? "2px" : void 0;
107
+ let L;
108
+ e[10] !== _ || e[11] !== F ? (L = {
109
+ _before: {
110
+ bg: "colorPalette.focusRing",
111
+ h: _,
112
+ w: F
113
+ }
114
+ }, e[10] = _, e[11] = F, e[12] = L) : L = e[12];
115
+ let O;
116
+ return e[13] !== o.cursor || e[14] !== o.separatorOrientation || e[15] !== v || e[16] !== w || e[17] !== d || e[18] !== I || e[19] !== N || e[20] !== E || e[21] !== M || e[22] !== W || e[23] !== B || e[24] !== L || e[25] !== h || e[26] !== S || e[27] !== D || e[28] !== z || e[29] !== T || e[30] !== C || e[31] !== c || e[32] !== y ? (O = /* @__PURE__ */ g(G, { role: "separator", "aria-label": d, "aria-orientation": b, "aria-controls": h, "aria-valuemin": S, "aria-valuemax": D, "aria-valuenow": z, "aria-hidden": T, tabIndex: C, display: c, position: "relative", zIndex: "docked", flex: y, h: N, w: E, mx: M, my: W, cursor: o.cursor, touchAction: "none", outline: "none", onPointerDown: w, onKeyDown: v, _before: I, _hover: B, _focusVisible: L }), e[13] = o.cursor, e[14] = o.separatorOrientation, e[15] = v, e[16] = w, e[17] = d, e[18] = I, e[19] = N, e[20] = E, e[21] = M, e[22] = W, e[23] = B, e[24] = L, e[25] = h, e[26] = S, e[27] = D, e[28] = z, e[29] = T, e[30] = C, e[31] = c, e[32] = y, e[33] = O) : O = e[33], O;
117
+ }, Vt = (n) => {
118
+ const e = V(34), {
119
+ axis: o,
120
+ bounds: t,
121
+ collapsed: i,
122
+ collapsible: r,
123
+ contentPanel: s,
124
+ contentPanelId: l,
125
+ contentPanelRef: a,
126
+ resizablePanel: d,
127
+ resizablePanelId: p,
128
+ resizablePanelRef: f,
129
+ resizeHandleSizePx: v,
130
+ resizeLabel: w,
131
+ resolvedPanelSize: u,
132
+ showResizeSeparator: m,
133
+ onResizeKeyDown: x,
134
+ onResizeStart: R
135
+ } = n, I = i ? "none" : "flex", b = o.dimension === "height" ? `${u}px` : "full", h = `0 0 ${u}px`, S = o.dimension === "width" ? `${u}px` : "full", D = i ? !0 : void 0;
136
+ let z;
137
+ e[0] !== d || e[1] !== p || e[2] !== f || e[3] !== I || e[4] !== b || e[5] !== h || e[6] !== S || e[7] !== D ? (z = /* @__PURE__ */ g(De, { id: p, ref: f, display: I, h: b, minW: "0", minH: "0", overflow: "hidden", flex: h, w: S, "aria-hidden": D, children: d }, "resizable-panel"), e[0] = d, e[1] = p, e[2] = f, e[3] = I, e[4] = b, e[5] = h, e[6] = S, e[7] = D, e[8] = z) : z = e[8];
138
+ const T = z;
139
+ let C;
140
+ e[9] !== s || e[10] !== l || e[11] !== a ? (C = /* @__PURE__ */ g(De, { id: l, ref: a, display: "flex", h: "full", minW: "0", minH: "0", overflow: "hidden", flex: "1", children: s }, "content-panel"), e[9] = s, e[10] = l, e[11] = a, e[12] = C) : C = e[12];
141
+ const c = C;
142
+ let y;
143
+ e[13] !== o || e[14] !== t || e[15] !== i || e[16] !== r || e[17] !== l || e[18] !== x || e[19] !== R || e[20] !== p || e[21] !== v || e[22] !== w || e[23] !== u || e[24] !== m ? (y = /* @__PURE__ */ g(Ht, { axis: o, bounds: t, collapsed: i, collapsible: r, contentPanelId: l, resizablePanelId: p, resizeHandleSizePx: v, resizeLabel: w, resolvedPanelSize: u, showResizeSeparator: m, onResizeKeyDown: x, onResizeStart: R }, "resize-handle"), e[13] = o, e[14] = t, e[15] = i, e[16] = r, e[17] = l, e[18] = x, e[19] = R, e[20] = p, e[21] = v, e[22] = w, e[23] = u, e[24] = m, e[25] = y) : y = e[25];
144
+ const N = y;
145
+ if (o.panelFirst) {
146
+ let M;
147
+ return e[26] !== c || e[27] !== T || e[28] !== N ? (M = /* @__PURE__ */ re(Oe, { children: [
148
+ T,
149
+ N,
150
+ c
151
+ ] }), e[26] = c, e[27] = T, e[28] = N, e[29] = M) : M = e[29], M;
152
+ }
153
+ let E;
154
+ return e[30] !== c || e[31] !== T || e[32] !== N ? (E = /* @__PURE__ */ re(Oe, { children: [
155
+ c,
156
+ N,
157
+ T
158
+ ] }), e[30] = c, e[31] = T, e[32] = N, e[33] = E) : E = e[33], E;
159
+ }, Le = {
160
+ width: 1200,
161
+ height: 720
162
+ }, Ye = 24, Me = (n, e, o) => Math.min(Math.max(n, e), o), Fe = (n, e) => n?.getBoundingClientRect()[e] ?? 0, Ue = (n, e, o) => {
163
+ n && (n.style[o] = `${e}px`, n.style.flexBasis = `${e}px`, n.style.flexGrow = "0", n.style.flexShrink = "0", n.style.display = e > 0 ? "flex" : "none");
164
+ }, je = (n) => {
165
+ n && (n.style.width = "", n.style.height = "", n.style.flexBasis = "", n.style.flexGrow = "", n.style.flexShrink = "", n.style.display = "");
166
+ }, En = (n) => {
167
+ const e = V(91);
168
+ let o, t, i, r, s, l, a, d, p, f, v, w, u, m, x;
169
+ e[0] !== n ? ({
170
+ resizablePanel: l,
171
+ contentPanel: o,
172
+ resizableSide: d,
173
+ defaultSizePx: p,
174
+ minSizePx: f,
175
+ maxSizePx: i,
176
+ contentMinSizePx: v,
177
+ collapsed: t,
178
+ collapsible: w,
179
+ resizeLabel: u,
180
+ resizeHandleSizePx: m,
181
+ showResizeSeparator: x,
182
+ onSizeChange: s,
183
+ onCollapsedChange: r,
184
+ ...a
185
+ } = n, e[0] = n, e[1] = o, e[2] = t, e[3] = i, e[4] = r, e[5] = s, e[6] = l, e[7] = a, e[8] = d, e[9] = p, e[10] = f, e[11] = v, e[12] = w, e[13] = u, e[14] = m, e[15] = x) : (o = e[1], t = e[2], i = e[3], r = e[4], s = e[5], l = e[6], a = e[7], d = e[8], p = e[9], f = e[10], v = e[11], w = e[12], u = e[13], m = e[14], x = e[15]);
186
+ const R = d === void 0 ? "left" : d, I = p === void 0 ? 240 : p, b = f === void 0 ? 200 : f, h = v === void 0 ? 0 : v, S = w === void 0 ? !0 : w, D = u === void 0 ? "Resize panel" : u, z = m === void 0 ? 12 : m, T = x === void 0 ? !0 : x;
187
+ let C;
188
+ e[16] !== R ? (C = ot(R), e[16] = R, e[17] = C) : C = e[17];
189
+ const c = C, y = Rt(), N = ie(null), E = ie(null), M = ie(null), W = ie(Kt), B = ie(I), [_, F] = ae(I), [L, O] = ae(0), [j, K] = ae(!1), P = t ?? j;
190
+ let $, Z;
191
+ e[18] !== c.dimension || e[19] !== P || e[20] !== h || e[21] !== i || e[22] !== b || e[23] !== _ || e[24] !== L ? ($ = Ae({
192
+ rootSize: L,
193
+ fallbackRootSize: Le[c.dimension],
194
+ minSize: b,
195
+ maxSize: i,
196
+ contentMinSize: h
197
+ }), Z = P ? 0 : Me(_, $.minSize, $.maxSize), e[18] = c.dimension, e[19] = P, e[20] = h, e[21] = i, e[22] = b, e[23] = _, e[24] = L, e[25] = $, e[26] = Z) : ($ = e[25], Z = e[26]);
198
+ const X = Z, se = `${y}-content`, le = `${y}-resizable`;
199
+ let ee, te;
200
+ e[27] !== c.dimension ? (ee = () => {
201
+ const k = N.current;
202
+ if (!k)
203
+ return;
204
+ const Y = () => {
205
+ O(k.getBoundingClientRect()[c.dimension]);
206
+ };
207
+ if (Y(), typeof ResizeObserver > "u")
208
+ return;
209
+ const H = new ResizeObserver(Y);
210
+ return H.observe(k), () => {
211
+ H.disconnect();
212
+ };
213
+ }, te = [c.dimension], e[27] = c.dimension, e[28] = ee, e[29] = te) : (ee = e[28], te = e[29]), me(ee, te);
214
+ let ne, J;
215
+ e[30] !== I ? (ne = () => {
216
+ B.current = I, F(I);
217
+ }, J = [I], e[30] = I, e[31] = ne, e[32] = J) : (ne = e[31], J = e[32]), me(ne, J);
218
+ let A, U;
219
+ e[33] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = () => () => W.current(), U = [], e[33] = A, e[34] = U) : (A = e[33], U = e[34]), me(A, U);
220
+ let ce;
221
+ e[35] !== c.dimension ? (ce = (k) => {
222
+ Ue(E.current, k, c.dimension);
223
+ }, e[35] = c.dimension, e[36] = ce) : ce = e[36];
224
+ const Q = ce;
225
+ let he, we;
226
+ e[37] !== c.dimension || e[38] !== X ? (he = () => {
227
+ je(M.current), je(E.current), Ue(E.current, X, c.dimension);
228
+ }, we = [c.dimension, X], e[37] = c.dimension, e[38] = X, e[39] = he, e[40] = we) : (he = e[39], we = e[40]), me(he, we);
229
+ let Ie;
230
+ e[41] !== Q || e[42] !== c.dimension || e[43] !== h || e[44] !== i || e[45] !== b || e[46] !== s ? (Ie = (k) => {
231
+ const Y = Ae({
232
+ rootSize: Fe(N.current, c.dimension),
233
+ fallbackRootSize: Le[c.dimension],
234
+ minSize: b,
235
+ maxSize: i,
236
+ contentMinSize: h
237
+ }), H = Me(k, Y.minSize, Y.maxSize);
238
+ B.current = H, F(H), Q(H), s?.(H);
239
+ }, e[41] = Q, e[42] = c.dimension, e[43] = h, e[44] = i, e[45] = b, e[46] = s, e[47] = Ie) : Ie = e[47];
240
+ const q = Ie;
241
+ let be;
242
+ e[48] !== t || e[49] !== r ? (be = (k) => {
243
+ t === void 0 && K(k), r?.(k);
244
+ }, e[48] = t, e[49] = r, e[50] = be) : be = e[50];
245
+ const oe = be;
246
+ let ve;
247
+ e[51] !== Q || e[52] !== c.cursor || e[53] !== c.dimension || e[54] !== c.pointerCoordinate || e[55] !== P || e[56] !== S || e[57] !== q || e[58] !== h || e[59] !== i || e[60] !== b || e[61] !== R || e[62] !== oe ? (ve = (k) => {
248
+ if (k.button !== 0 || P && !S)
249
+ return;
250
+ k.preventDefault(), W.current();
251
+ const Y = k.currentTarget, H = Ae({
252
+ rootSize: Fe(N.current, c.dimension),
253
+ fallbackRootSize: Le[c.dimension],
254
+ minSize: b,
255
+ maxSize: i,
256
+ contentMinSize: h
257
+ }), ge = k[c.pointerCoordinate], Pe = P ? 0 : Fe(E.current, c.dimension) || B.current, ht = document.body.style.cursor, wt = document.body.style.userSelect;
258
+ let Ee = Pe === 0 ? 0 : Me(Pe, H.minSize, H.maxSize), He = P, fe = 0;
259
+ const Ve = (ye) => {
260
+ E.current && (E.current.style.pointerEvents = ye), M.current && (M.current.style.pointerEvents = ye);
261
+ }, It = () => {
262
+ fe || (fe = window.requestAnimationFrame(() => {
263
+ fe = 0, Q(Ee);
264
+ }));
265
+ }, Ke = (ye) => {
266
+ const Ge = _t({
267
+ side: R,
268
+ startSize: Pe,
269
+ pointerDelta: ye[c.pointerCoordinate] - ge,
270
+ minSize: H.minSize,
271
+ maxSize: H.maxSize,
272
+ collapsible: S
273
+ });
274
+ He = Ge.collapsed, Ee = Ge.size, It();
275
+ }, de = () => {
276
+ window.removeEventListener("pointermove", Ke), window.removeEventListener("pointerup", de), window.removeEventListener("pointercancel", de), window.removeEventListener("blur", de), document.body.style.cursor = ht, document.body.style.userSelect = wt, Y.hasPointerCapture(k.pointerId) && Y.releasePointerCapture(k.pointerId), Ve(""), fe && (window.cancelAnimationFrame(fe), fe = 0), W.current = Gt, He ? (Q(0), oe(!0)) : (oe(!1), q(Ee));
277
+ };
278
+ W.current = de, Y.setPointerCapture(k.pointerId), document.body.style.cursor = c.cursor, document.body.style.userSelect = "none", Ve("none"), window.addEventListener("pointermove", Ke), window.addEventListener("pointerup", de, {
279
+ once: !0
280
+ }), window.addEventListener("pointercancel", de, {
281
+ once: !0
282
+ }), window.addEventListener("blur", de, {
283
+ once: !0
284
+ });
285
+ }, e[51] = Q, e[52] = c.cursor, e[53] = c.dimension, e[54] = c.pointerCoordinate, e[55] = P, e[56] = S, e[57] = q, e[58] = h, e[59] = i, e[60] = b, e[61] = R, e[62] = oe, e[63] = ve) : ve = e[63];
286
+ const ke = ve;
287
+ let Re;
288
+ e[64] !== c.deltaDirection || e[65] !== c.dimension || e[66] !== $ || e[67] !== P || e[68] !== S || e[69] !== q || e[70] !== oe ? (Re = (k) => {
289
+ const Y = c.dimension === "width" ? "ArrowLeft" : "ArrowUp", H = c.dimension === "width" ? "ArrowRight" : "ArrowDown", ge = B.current;
290
+ P && (k.key === Y || k.key === H || k.key === "End") ? (k.preventDefault(), oe(!1), q(ge)) : k.key === Y ? (k.preventDefault(), q(ge - Ye * c.deltaDirection)) : k.key === H ? (k.preventDefault(), q(ge + Ye * c.deltaDirection)) : k.key === "Home" ? (k.preventDefault(), S ? oe(!0) : q($.minSize)) : k.key === "End" && (k.preventDefault(), q($.maxSize));
291
+ }, e[64] = c.deltaDirection, e[65] = c.dimension, e[66] = $, e[67] = P, e[68] = S, e[69] = q, e[70] = oe, e[71] = Re) : Re = e[71];
292
+ const Ce = Re;
293
+ let ue;
294
+ e[72] !== c || e[73] !== $ || e[74] !== P || e[75] !== S || e[76] !== o || e[77] !== se || e[78] !== Ce || e[79] !== ke || e[80] !== l || e[81] !== le || e[82] !== z || e[83] !== D || e[84] !== X || e[85] !== T ? (ue = /* @__PURE__ */ g(Vt, { axis: c, bounds: $, collapsed: P, collapsible: S, contentPanel: o, contentPanelId: se, contentPanelRef: M, resizablePanel: l, resizablePanelId: le, resizablePanelRef: E, resizeHandleSizePx: z, resizeLabel: D, resolvedPanelSize: X, showResizeSeparator: T, onResizeKeyDown: Ce, onResizeStart: ke }), e[72] = c, e[73] = $, e[74] = P, e[75] = S, e[76] = o, e[77] = se, e[78] = Ce, e[79] = ke, e[80] = l, e[81] = le, e[82] = z, e[83] = D, e[84] = X, e[85] = T, e[86] = ue) : ue = e[86];
295
+ let ze;
296
+ return e[87] !== c.rootDirection || e[88] !== a || e[89] !== ue ? (ze = /* @__PURE__ */ g(De, { ref: N, direction: c.rootDirection, h: "full", w: "full", overflow: "hidden", ...a, children: ue }), e[87] = c.rootDirection, e[88] = a, e[89] = ue, e[90] = ze) : ze = e[90], ze;
297
+ };
298
+ function Kt() {
299
+ }
300
+ function Gt() {
301
+ }
302
+ const Bt = (n) => {
303
+ const e = V(8), {
304
+ actions: o,
305
+ children: t
306
+ } = n;
307
+ let i;
308
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = /* @__PURE__ */ g(G, { position: "absolute", inset: "0", zIndex: 0, "aria-hidden": !0, "data-tree-list-background": "true" }), e[0] = i) : i = e[0];
309
+ let r;
310
+ e[1] !== o ? (r = /* @__PURE__ */ g(yt, { actions: o, closeOnSelect: !1, children: i }), e[1] = o, e[2] = r) : r = e[2];
311
+ let s;
312
+ e[3] !== t ? (s = /* @__PURE__ */ g(G, { position: "relative", zIndex: 1, w: "full", minW: "0", maxW: "full", children: t }), e[3] = t, e[4] = s) : s = e[4];
313
+ let l;
314
+ return e[5] !== r || e[6] !== s ? (l = /* @__PURE__ */ re(G, { position: "relative", flex: "1 0 auto", minH: "full", w: "full", minW: "0", maxW: "full", children: [
315
+ r,
316
+ s
317
+ ] }), e[5] = r, e[6] = s, e[7] = l) : l = e[7], l;
318
+ }, Te = (n, e) => e.includes(n), Xt = (n, e) => Array.isArray(e) ? e.includes(n) : e === n, Yt = (n) => n.isNavigable || n.navigationIntent !== void 0, it = (n) => n.children ?? [], rt = (n) => it(n).length > 0 || n.isContainer === !0, st = (n) => {
319
+ const {
320
+ rows: e,
321
+ sectionId: o,
322
+ nodes: t,
323
+ expandedNodeIds: i,
324
+ level: r,
325
+ parentNodeId: s
326
+ } = n;
327
+ for (const l of t) {
328
+ e.push({
329
+ kind: "node",
330
+ key: `${o}:${l.id}`,
331
+ sectionId: o,
332
+ node: l,
333
+ level: r,
334
+ parentNodeId: s
335
+ });
336
+ const a = it(l);
337
+ a.length === 0 || !Te(l.id, i) || st({
338
+ rows: e,
339
+ sectionId: o,
340
+ nodes: a,
341
+ expandedNodeIds: i,
342
+ level: r + 1,
343
+ parentNodeId: l.id
344
+ });
345
+ }
346
+ }, lt = (n, e, o) => {
347
+ const t = [];
348
+ for (const i of n) {
349
+ const r = i.collapsible !== !1 && i.label !== void 0, s = r ? Te(i.id, e) : !0;
350
+ if (i.label && t.push({
351
+ kind: "section-header",
352
+ key: `header:${i.id}`,
353
+ sectionId: i.id,
354
+ section: i,
355
+ collapsible: r,
356
+ expanded: s
357
+ }), !!s) {
358
+ if (i.nodes.length === 0) {
359
+ i.emptyState && t.push({
360
+ kind: "section-empty",
361
+ key: `empty:${i.id}`,
362
+ sectionId: i.id,
363
+ emptyState: i.emptyState
364
+ });
365
+ continue;
366
+ }
367
+ st({
368
+ rows: t,
369
+ sectionId: i.id,
370
+ nodes: i.nodes,
371
+ expandedNodeIds: o,
372
+ level: 0
373
+ });
374
+ }
375
+ }
376
+ return t;
377
+ }, pe = (n) => n.kind === "node" ? n.node.id : n.key, dt = (n) => n.kind === "node" ? n.node.disabled !== !0 : n.kind === "section-header" && n.collapsible, _e = (n) => n.filter(dt), at = (n, e, o) => {
378
+ const t = _e(o), i = new Set(t.map(pe));
379
+ if (n && i.has(n)) return n;
380
+ const s = (Array.isArray(e) ? e : e ? [e] : []).find((a) => i.has(a));
381
+ if (s) return s;
382
+ const l = t[0];
383
+ return l ? pe(l) : void 0;
384
+ }, Ut = (n) => {
385
+ const {
386
+ row: e,
387
+ focusableRows: o,
388
+ currentIndex: t,
389
+ key: i
390
+ } = n;
391
+ if (i === "Enter" || i === " ") return {
392
+ type: "toggle-section",
393
+ sectionId: e.sectionId
394
+ };
395
+ if (i === "ArrowRight") {
396
+ if (!e.expanded) return {
397
+ type: "toggle-section",
398
+ sectionId: e.sectionId
399
+ };
400
+ const r = o[t + 1];
401
+ return r?.kind === "node" && r.sectionId === e.sectionId ? {
402
+ type: "focus",
403
+ rowId: r.node.id
404
+ } : null;
405
+ }
406
+ return i === "ArrowLeft" && e.expanded ? {
407
+ type: "toggle-section",
408
+ sectionId: e.sectionId
409
+ } : null;
410
+ }, jt = (n) => {
411
+ const {
412
+ row: e,
413
+ focusableRows: o,
414
+ currentIndex: t,
415
+ expandedNodeIds: i,
416
+ key: r
417
+ } = n, s = Te(e.node.id, i), l = rt(e.node);
418
+ if (r === "ArrowRight") {
419
+ if (!l) return null;
420
+ if (!s) return {
421
+ type: "toggle-node",
422
+ nodeId: e.node.id
423
+ };
424
+ const a = o[t + 1];
425
+ return a?.kind === "node" && a.parentNodeId === e.node.id ? {
426
+ type: "focus",
427
+ rowId: a.node.id
428
+ } : null;
429
+ }
430
+ if (r === "ArrowLeft") {
431
+ if (l && s) return {
432
+ type: "toggle-node",
433
+ nodeId: e.node.id
434
+ };
435
+ if (e.parentNodeId) return {
436
+ type: "focus",
437
+ rowId: e.parentNodeId
438
+ };
439
+ }
440
+ return null;
441
+ }, qt = (n) => {
442
+ const {
443
+ rows: e,
444
+ focusedRowId: o,
445
+ activeNodeId: t,
446
+ expandedNodeIds: i,
447
+ key: r
448
+ } = n, s = _e(e);
449
+ if (s.length === 0) return null;
450
+ const l = at(o, t, e), a = Math.max(0, s.findIndex((f) => pe(f) === l)), d = s[a];
451
+ if (!d) return null;
452
+ const p = (f) => {
453
+ const v = Math.min(Math.max(f, 0), s.length - 1);
454
+ return {
455
+ type: "focus",
456
+ rowId: pe(s[v])
457
+ };
458
+ };
459
+ return r === "ArrowDown" ? p(a + 1) : r === "ArrowUp" ? p(a - 1) : r === "Home" ? p(0) : r === "End" ? p(s.length - 1) : d.kind === "section-header" ? Ut({
460
+ row: d,
461
+ focusableRows: s,
462
+ currentIndex: a,
463
+ key: r
464
+ }) : jt({
465
+ row: d,
466
+ focusableRows: s,
467
+ currentIndex: a,
468
+ expandedNodeIds: i,
469
+ key: r
470
+ });
471
+ }, ct = "application/x-pstdio-tree-node", Zt = (n, e) => {
472
+ n.setData(ct, e);
473
+ }, ut = (n) => n.getData(ct) || void 0, Jt = (n) => {
474
+ const e = V(8), {
475
+ children: o,
476
+ onMoveNode: t
477
+ } = n;
478
+ let i;
479
+ e[0] !== t ? (i = (d) => {
480
+ t && (d.preventDefault(), d.dataTransfer.dropEffect = "move");
481
+ }, e[0] = t, e[1] = i) : i = e[1];
482
+ const r = i;
483
+ let s;
484
+ e[2] !== t ? (s = (d) => {
485
+ if (!t)
486
+ return;
487
+ d.preventDefault();
488
+ const p = ut(d.dataTransfer);
489
+ p && t(p);
490
+ }, e[2] = t, e[3] = s) : s = e[3];
491
+ const l = s;
492
+ let a;
493
+ return e[4] !== o || e[5] !== r || e[6] !== l ? (a = /* @__PURE__ */ g(G, { p: "xs", w: "full", minW: "0", maxW: "full", minH: "full", flex: "1 0 auto", onDragOver: r, onDrop: l, children: o }), e[4] = o, e[5] = r, e[6] = l, e[7] = a) : a = e[7], a;
494
+ }, Qt = (n) => n <= 0 ? "sm" : `calc(var(--chakra-spacing-1) + ${n} * 12px)`, en = (n) => {
495
+ const {
496
+ input: e,
497
+ icon: o,
498
+ level: t
499
+ } = n, [i, r] = ae(e.defaultValue ?? ""), [s, l] = ae(), a = ie(null), d = ie(!1), p = async () => {
500
+ if (!d.current) {
501
+ d.current = !0, l(void 0);
502
+ try {
503
+ await e.onCommit(i.trim());
504
+ } catch (f) {
505
+ l(f instanceof Error ? f.message : "Could not create file."), queueMicrotask(() => a.current?.focus());
506
+ } finally {
507
+ d.current = !1;
508
+ }
509
+ }
510
+ };
511
+ return /* @__PURE__ */ re(De, { h: "1.75rem", w: "full", minW: "0", alignItems: "center", gap: "1", pr: "sm", pl: Qt(t), onMouseDown: (f) => f.stopPropagation(), children: [
512
+ o ? /* @__PURE__ */ g(G, { boxSize: "16px", color: "fg.muted", flexShrink: 0, display: "inline-flex", alignItems: "center", justifyContent: "center", css: {
513
+ "& > svg": {
514
+ width: "16px",
515
+ height: "16px"
516
+ }
517
+ }, children: o }) : null,
518
+ /* @__PURE__ */ g(bt, { ref: a, autoFocus: !0, size: "xs", value: i, "aria-label": e.ariaLabel, "aria-invalid": !!s || void 0, placeholder: e.placeholder, title: s, onChange: (f) => r(f.currentTarget.value), onBlur: () => {
519
+ d.current || e.onCancel?.();
520
+ }, onKeyDown: (f) => {
521
+ f.stopPropagation(), f.key === "Enter" && (f.preventDefault(), p()), f.key === "Escape" && !d.current && (f.preventDefault(), e.onCancel?.());
522
+ } })
523
+ ] });
524
+ }, ft = (n) => {
525
+ const e = V(69), {
526
+ sectionId: o,
527
+ node: t,
528
+ level: i,
529
+ expandedNodeIds: r,
530
+ activeNodeId: s,
531
+ rowVariant: l,
532
+ nodeGap: a,
533
+ linkComponent: d,
534
+ tabIndex: p,
535
+ onFocus: f,
536
+ onNavigate: v,
537
+ onToggleNode: w,
538
+ onMoveNode: u
539
+ } = n;
540
+ if (t.inlineInput) {
541
+ let A;
542
+ return e[0] !== i || e[1] !== t.icon || e[2] !== t.inlineInput ? (A = /* @__PURE__ */ g(en, { input: t.inlineInput, icon: t.icon, level: i }), e[0] = i, e[1] = t.icon, e[2] = t.inlineInput, e[3] = A) : A = e[3], A;
543
+ }
544
+ let m;
545
+ e[4] !== t ? (m = rt(t), e[4] = t, e[5] = m) : m = e[5];
546
+ const x = m;
547
+ let R;
548
+ e[6] !== r || e[7] !== x || e[8] !== t.id ? (R = x && Te(t.id, r), e[6] = r, e[7] = x, e[8] = t.id, e[9] = R) : R = e[9];
549
+ const I = R;
550
+ let b;
551
+ e[10] !== s || e[11] !== t.id ? (b = Xt(t.id, s), e[10] = s, e[11] = t.id, e[12] = b) : b = e[12];
552
+ const h = b, S = t.disabled === !0;
553
+ let D;
554
+ e[13] !== t ? (D = Yt(t), e[13] = t, e[14] = D) : D = e[14];
555
+ const z = D, T = !!(d && t.href && z && !x && !S);
556
+ let C;
557
+ e[15] !== x || e[16] !== S || e[17] !== z || e[18] !== t || e[19] !== v || e[20] !== w || e[21] !== o ? (C = () => {
558
+ if (!S) {
559
+ if (x) {
560
+ w?.(t.id);
561
+ return;
562
+ }
563
+ if (z && v) {
564
+ v({
565
+ sectionId: o,
566
+ nodeId: t.id,
567
+ node: t,
568
+ intent: t.navigationIntent
569
+ });
570
+ return;
571
+ }
572
+ t.onActivate?.();
573
+ }
574
+ }, e[15] = x, e[16] = S, e[17] = z, e[18] = t, e[19] = v, e[20] = w, e[21] = o, e[22] = C) : C = e[22];
575
+ const c = C;
576
+ let y;
577
+ e[23] !== t.id ? (y = (A) => {
578
+ Zt(A.dataTransfer, t.id), A.dataTransfer.effectAllowed = "move";
579
+ }, e[23] = t.id, e[24] = y) : y = e[24];
580
+ const N = y;
581
+ let E;
582
+ e[25] !== t.canDrop || e[26] !== u ? (E = (A) => {
583
+ u && (A.stopPropagation(), t.canDrop && (A.preventDefault(), A.dataTransfer.dropEffect = "move"));
584
+ }, e[25] = t.canDrop, e[26] = u, e[27] = E) : E = e[27];
585
+ const M = E;
586
+ let W;
587
+ e[28] !== t.canDrop || e[29] !== t.id || e[30] !== u ? (W = (A) => {
588
+ if (!u || (A.stopPropagation(), !t.canDrop))
589
+ return;
590
+ A.preventDefault();
591
+ const U = ut(A.dataTransfer);
592
+ U && U !== t.id && u(U, t.id);
593
+ }, e[28] = t.canDrop, e[29] = t.id, e[30] = u, e[31] = W) : W = e[31];
594
+ const B = W;
595
+ let _;
596
+ e[32] !== t.actions || e[33] !== t.id || e[34] !== o ? (_ = t.actions?.map((A) => ({
597
+ ...A,
598
+ onAction: A.onAction ? (U) => A.onAction?.({
599
+ sectionId: o,
600
+ nodeId: t.id,
601
+ ...U
602
+ }) : void 0
603
+ })), e[32] = t.actions, e[33] = t.id, e[34] = o, e[35] = _) : _ = e[35];
604
+ let F, L;
605
+ if (e[36] !== t || e[37] !== _) {
606
+ const A = {
607
+ ...t,
608
+ actions: _
609
+ }, {
610
+ inlineInput: U,
611
+ rowVariant: ce,
612
+ ...Q
613
+ } = A;
614
+ L = ce, F = Q, e[36] = t, e[37] = _, e[38] = F, e[39] = L;
615
+ } else
616
+ F = e[38], L = e[39];
617
+ const O = L ?? l, j = i + 1, K = x ? I : void 0;
618
+ let P;
619
+ e[40] !== t.id || e[41] !== w ? (P = () => w?.(t.id), e[40] = t.id, e[41] = w, e[42] = P) : P = e[42];
620
+ let $;
621
+ e[43] !== I || e[44] !== c || e[45] !== x || e[46] !== h || e[47] !== i || e[48] !== F || e[49] !== t.id || e[50] !== f || e[51] !== j || e[52] !== K || e[53] !== P || e[54] !== O || e[55] !== p ? ($ = {
622
+ ...F,
623
+ depth: i,
624
+ variant: O,
625
+ isSelected: h,
626
+ isExpanded: I,
627
+ showExpandToggle: x,
628
+ tabIndex: p,
629
+ "data-tree-list-focus-id": t.id,
630
+ "aria-level": j,
631
+ "aria-expanded": K,
632
+ "data-tree-list-node-id": t.id,
633
+ onFocus: f,
634
+ onActivate: c,
635
+ onToggleExpand: P
636
+ }, e[43] = I, e[44] = c, e[45] = x, e[46] = h, e[47] = i, e[48] = F, e[49] = t.id, e[50] = f, e[51] = j, e[52] = K, e[53] = P, e[54] = O, e[55] = p, e[56] = $) : $ = e[56];
637
+ const Z = $;
638
+ let X;
639
+ e[57] !== d || e[58] !== T || e[59] !== t.href || e[60] !== Z ? (X = T && d && t.href ? /* @__PURE__ */ g(d, { to: t.href, children: /* @__PURE__ */ g(Xe, { ...Z, asChild: !0 }) }) : /* @__PURE__ */ g(Xe, { ...Z }), e[57] = d, e[58] = T, e[59] = t.href, e[60] = Z, e[61] = X) : X = e[61];
640
+ const se = X, le = !!(u && t.canDrag), ee = t.canDrag ? N : void 0, te = u ? M : void 0, ne = u ? B : void 0;
641
+ let J;
642
+ return e[62] !== a || e[63] !== se || e[64] !== le || e[65] !== ee || e[66] !== te || e[67] !== ne ? (J = /* @__PURE__ */ g(Se, { gap: a, w: "full", minW: "0", maxW: "full", draggable: le, onDragStart: ee, onDragOver: te, onDrop: ne, children: se }), e[62] = a, e[63] = se, e[64] = le, e[65] = ee, e[66] = te, e[67] = ne, e[68] = J) : J = e[68], J;
643
+ }, tn = (n) => {
644
+ const e = V(9), {
645
+ sectionId: o,
646
+ actions: t
647
+ } = n;
648
+ if (t.length === 0)
649
+ return null;
650
+ let i, r;
651
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (i = {
652
+ opacity: "1",
653
+ pointerEvents: "auto"
654
+ }, r = {
655
+ opacity: "1",
656
+ pointerEvents: "auto"
657
+ }, e[0] = i, e[1] = r) : (i = e[0], r = e[1]);
658
+ let s;
659
+ if (e[2] !== t || e[3] !== o) {
660
+ let a;
661
+ e[5] !== o ? (a = (d) => d.menuItems && d.menuItems.length >= 8 ? /* @__PURE__ */ g(Nt, { action: d }, d.id) : d.menuItems && d.menuItems.length > 0 ? /* @__PURE__ */ re(xe.Root, { children: [
662
+ /* @__PURE__ */ g(xe.Trigger, { asChild: !0, children: /* @__PURE__ */ g(Be, { variant: "ghost", size: "2xs", "aria-label": d.label, children: d.icon }) }),
663
+ /* @__PURE__ */ g(xe.Positioner, { children: /* @__PURE__ */ g(xe.Content, { minW: "160px", bg: "bg", children: d.menuItems.map(on) }) })
664
+ ] }, d.id) : /* @__PURE__ */ g(Be, { variant: "ghost", size: "2xs", "aria-label": d.label, onClick: (p) => {
665
+ p.stopPropagation(), d.onAction?.({
666
+ sectionId: o
667
+ });
668
+ }, children: d.icon }, d.id), e[5] = o, e[6] = a) : a = e[6], s = t.map(a), e[2] = t, e[3] = o, e[4] = s;
669
+ } else
670
+ s = e[4];
671
+ let l;
672
+ return e[7] !== s ? (l = /* @__PURE__ */ g($e, { gap: "0", opacity: "0", pointerEvents: "none", _groupHover: i, _groupFocusWithin: r, transition: "opacity 120ms ease", onClick: nn, children: s }), e[7] = s, e[8] = l) : l = e[8], l;
673
+ }, mt = (n) => {
674
+ const e = V(32), {
675
+ section: o,
676
+ collapsible: t,
677
+ expanded: i,
678
+ focusId: r,
679
+ tabIndex: s,
680
+ onFocus: l,
681
+ onToggle: a,
682
+ onContextMenu: d
683
+ } = n, p = t ? "pointer" : "default", f = t ? s : void 0, v = t ? r : void 0, w = t ? i : void 0;
684
+ let u;
685
+ e[0] !== t ? (u = t ? {
686
+ bg: "bg.hover"
687
+ } : void 0, e[0] = t, e[1] = u) : u = e[1];
688
+ let m;
689
+ e[2] !== t ? (m = t ? {
690
+ bg: "bg.hover"
691
+ } : void 0, e[2] = t, e[3] = m) : m = e[3];
692
+ const x = t ? l : void 0, R = t ? a : void 0;
693
+ let I;
694
+ e[4] !== d || e[5] !== o.id ? (I = d ? (C) => {
695
+ C.preventDefault(), d(C, o.id);
696
+ } : void 0, e[4] = d, e[5] = o.id, e[6] = I) : I = e[6];
697
+ let b;
698
+ e[7] !== o.label ? (b = /* @__PURE__ */ g(vt, { textStyle: "label/XS", textTransform: "uppercase", color: "fg.muted", letterSpacing: "0.08em", truncate: !0, children: o.label }), e[7] = o.label, e[8] = b) : b = e[8];
699
+ let h;
700
+ e[9] !== t || e[10] !== i ? (h = t ? /* @__PURE__ */ g(G, { color: "fg.muted", flexShrink: 0, children: /* @__PURE__ */ g(Dt, { size: 14, style: {
701
+ transform: i ? "rotate(90deg)" : "rotate(0deg)",
702
+ transition: "120ms"
703
+ } }) }) : null, e[9] = t, e[10] = i, e[11] = h) : h = e[11];
704
+ let S;
705
+ e[12] !== h || e[13] !== b ? (S = /* @__PURE__ */ re($e, { gap: "1", flex: "1", minW: "0", children: [
706
+ b,
707
+ h
708
+ ] }), e[12] = h, e[13] = b, e[14] = S) : S = e[14];
709
+ let D;
710
+ e[15] !== o.actions ? (D = o.actions ?? [], e[15] = o.actions, e[16] = D) : D = e[16];
711
+ let z;
712
+ e[17] !== o.id || e[18] !== D ? (z = /* @__PURE__ */ g(tn, { sectionId: o.id, actions: D }), e[17] = o.id, e[18] = D, e[19] = z) : z = e[19];
713
+ let T;
714
+ return e[20] !== p || e[21] !== f || e[22] !== S || e[23] !== z || e[24] !== v || e[25] !== w || e[26] !== u || e[27] !== m || e[28] !== x || e[29] !== R || e[30] !== I ? (T = /* @__PURE__ */ re($e, { className: "group", justify: "space-between", align: "center", w: "full", minW: "0", maxW: "full", px: "sm", py: "2xs", height: "7", cursor: p, tabIndex: f, "data-tree-list-focus-id": v, "aria-expanded": w, _hover: u, _focusVisible: m, onFocus: x, onClick: R, onContextMenu: I, children: [
715
+ S,
716
+ z
717
+ ] }), e[20] = p, e[21] = f, e[22] = S, e[23] = z, e[24] = v, e[25] = w, e[26] = u, e[27] = m, e[28] = x, e[29] = R, e[30] = I, e[31] = T) : T = e[31], T;
718
+ };
719
+ function nn(n) {
720
+ return n.stopPropagation();
721
+ }
722
+ function on(n) {
723
+ return /* @__PURE__ */ g(xe.Item, { value: n.id, disabled: n.disabled, onClick: () => n.onAction?.(), children: n.label }, n.id);
724
+ }
725
+ const We = "section:", pt = (n) => `${We}${n}`, qe = (n) => n.startsWith(We), Ne = (n) => n.slice(We.length), Ze = (n, e, o) => {
726
+ const t = n.slice(), [i] = t.splice(e, 1);
727
+ return t.splice(o, 0, i), t;
728
+ }, rn = (n, e, o) => {
729
+ if (e === o) return null;
730
+ if (qe(e) && qe(o)) {
731
+ const t = n.find((a) => a.id === Ne(e)), i = n.find((a) => a.id === Ne(o));
732
+ if (t?.canReorder === !1 || i?.canReorder === !1) return null;
733
+ const r = n.map((a) => a.id), s = r.indexOf(Ne(e)), l = r.indexOf(Ne(o));
734
+ return s < 0 || l < 0 || s === l ? null : {
735
+ kind: "section",
736
+ nextSectionIds: Ze(r, s, l)
737
+ };
738
+ }
739
+ for (const t of n) {
740
+ const i = t.nodes.map((l) => l.id), r = i.indexOf(e), s = i.indexOf(o);
741
+ if (!(r < 0 || s < 0))
742
+ return t.nodes[r]?.canReorder === !1 || t.nodes[s]?.canReorder === !1 || r === s ? null : {
743
+ kind: "node",
744
+ sectionId: t.id,
745
+ nextNodeIds: Ze(i, r, s)
746
+ };
747
+ }
748
+ return null;
749
+ }, gt = (n) => {
750
+ const e = V(12);
751
+ let o;
752
+ e[0] !== n.disabled || e[1] !== n.id ? (o = {
753
+ id: n.id,
754
+ disabled: n.disabled
755
+ }, e[0] = n.disabled, e[1] = n.id, e[2] = o) : o = e[2];
756
+ const t = Et(o);
757
+ let i;
758
+ if (e[3] !== n.children || e[4] !== t.isDragging || e[5] !== t.listeners || e[6] !== t.setNodeRef || e[7] !== t.transform || e[8] !== t.transition) {
759
+ const s = {
760
+ transform: At.Transform.toString(t.transform),
761
+ transition: t.transition,
762
+ opacity: t.isDragging ? 0.5 : 1
763
+ };
764
+ i = n.children({
765
+ setNodeRef: t.setNodeRef,
766
+ listeners: t.listeners,
767
+ style: s
768
+ }), e[3] = n.children, e[4] = t.isDragging, e[5] = t.listeners, e[6] = t.setNodeRef, e[7] = t.transform, e[8] = t.transition, e[9] = i;
769
+ } else
770
+ i = e[9];
771
+ let r;
772
+ return e[10] !== i ? (r = /* @__PURE__ */ g(Oe, { children: i }), e[10] = i, e[11] = r) : r = e[11], r;
773
+ }, sn = (n) => {
774
+ const e = V(24), {
775
+ section: o,
776
+ sectionRows: t,
777
+ expandedNodeIds: i,
778
+ activeNodeId: r,
779
+ rowVariant: s,
780
+ nodeGap: l,
781
+ linkComponent: a,
782
+ onNavigate: d,
783
+ onToggleSection: p,
784
+ onToggleNode: f,
785
+ onSectionContextMenu: v
786
+ } = n;
787
+ let w;
788
+ e[0] !== t ? (w = t.find(an), e[0] = t, e[1] = w) : w = e[1];
789
+ const u = w;
790
+ let m, x;
791
+ e[2] !== t ? (m = t.filter(cn), x = m.filter(un).map(fn), e[2] = t, e[3] = m, e[4] = x) : (m = e[3], x = e[4]);
792
+ const R = x;
793
+ let I;
794
+ e[5] !== o.id ? (I = pt(o.id), e[5] = o.id, e[6] = I) : I = e[6];
795
+ const b = o.canReorder === !1;
796
+ let h;
797
+ e[7] !== r || e[8] !== i || e[9] !== u || e[10] !== a || e[11] !== l || e[12] !== m || e[13] !== d || e[14] !== v || e[15] !== f || e[16] !== p || e[17] !== s || e[18] !== R ? (h = (D) => {
798
+ const {
799
+ setNodeRef: z,
800
+ listeners: T,
801
+ style: C
802
+ } = D;
803
+ return /* @__PURE__ */ re(G, { ref: z, style: C, w: "full", minW: "0", children: [
804
+ u && u.kind === "section-header" ? /* @__PURE__ */ g(G, { onPointerDownCapture: (c) => T?.onPointerDown?.(c), children: /* @__PURE__ */ g(mt, { section: u.section, collapsible: u.collapsible, expanded: u.expanded, focusId: u.key, tabIndex: -1, onFocus: mn, onToggle: () => p?.(u.sectionId), onContextMenu: v }) }) : null,
805
+ /* @__PURE__ */ g(et, { items: R, strategy: tt, children: /* @__PURE__ */ g(Se, { gap: l, w: "full", minW: "0", children: m.map((c) => c.kind === "node" ? /* @__PURE__ */ g(ln, { row: c, expandedNodeIds: i, activeNodeId: r, rowVariant: s, nodeGap: l, linkComponent: a, onNavigate: d, onToggleNode: f }, c.key) : null) }) })
806
+ ] });
807
+ }, e[7] = r, e[8] = i, e[9] = u, e[10] = a, e[11] = l, e[12] = m, e[13] = d, e[14] = v, e[15] = f, e[16] = p, e[17] = s, e[18] = R, e[19] = h) : h = e[19];
808
+ let S;
809
+ return e[20] !== I || e[21] !== b || e[22] !== h ? (S = /* @__PURE__ */ g(gt, { id: I, disabled: b, children: h }), e[20] = I, e[21] = b, e[22] = h, e[23] = S) : S = e[23], S;
810
+ }, Je = (n) => /* @__PURE__ */ g(ft, { sectionId: n.sectionId, node: n.node, level: n.level, expandedNodeIds: n.expandedNodeIds, activeNodeId: n.activeNodeId, rowVariant: n.rowVariant, nodeGap: n.nodeGap, linkComponent: n.linkComponent, onNavigate: n.onNavigate, onToggleNode: n.onToggleNode }), ln = (n) => {
811
+ const e = V(13);
812
+ let o, t, i;
813
+ if (e[0] !== n) {
814
+ i = /* @__PURE__ */ Symbol.for("react.early_return_sentinel");
815
+ e:
816
+ if ({
817
+ row: t,
818
+ ...o
819
+ } = n, t.level > 0) {
820
+ i = Je({
821
+ node: t.node,
822
+ sectionId: t.sectionId,
823
+ level: t.level,
824
+ ...o
825
+ });
826
+ break e;
827
+ }
828
+ e[0] = n, e[1] = o, e[2] = t, e[3] = i;
829
+ } else
830
+ o = e[1], t = e[2], i = e[3];
831
+ if (i !== /* @__PURE__ */ Symbol.for("react.early_return_sentinel"))
832
+ return i;
833
+ const r = t.node.canReorder === !1;
834
+ let s;
835
+ e[4] !== o || e[5] !== t.level || e[6] !== t.node || e[7] !== t.sectionId ? (s = (a) => {
836
+ const {
837
+ setNodeRef: d,
838
+ listeners: p,
839
+ style: f
840
+ } = a;
841
+ return /* @__PURE__ */ g(G, { ref: d, style: f, w: "full", minW: "0", onPointerDownCapture: (v) => p?.onPointerDown?.(v), children: Je({
842
+ node: t.node,
843
+ sectionId: t.sectionId,
844
+ level: t.level,
845
+ ...o
846
+ }) });
847
+ }, e[4] = o, e[5] = t.level, e[6] = t.node, e[7] = t.sectionId, e[8] = s) : s = e[8];
848
+ let l;
849
+ return e[9] !== t.node.id || e[10] !== r || e[11] !== s ? (l = /* @__PURE__ */ g(gt, { id: t.node.id, disabled: r, children: s }), e[9] = t.node.id, e[10] = r, e[11] = s, e[12] = l) : l = e[12], l;
850
+ }, dn = (n) => {
851
+ const e = V(21), {
852
+ sections: o,
853
+ expandedSectionIds: t,
854
+ expandedNodeIds: i,
855
+ activeNodeId: r,
856
+ rowVariant: s,
857
+ sectionGap: l,
858
+ nodeGap: a,
859
+ linkComponent: d,
860
+ onNavigate: p,
861
+ onToggleSection: f,
862
+ onToggleNode: v,
863
+ onSectionContextMenu: w,
864
+ onReorderSections: u,
865
+ onReorderNodes: m
866
+ } = n, x = t === void 0 ? [] : t, R = i === void 0 ? [] : i, I = s === void 0 ? "tree" : s, b = l === void 0 ? "0" : l, h = a === void 0 ? "0" : a;
867
+ let S;
868
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
869
+ activationConstraint: {
870
+ distance: 4
871
+ }
872
+ }, e[0] = S) : S = e[0];
873
+ const D = Tt(kt(Ct, S));
874
+ let z;
875
+ e[1] !== m || e[2] !== u || e[3] !== o ? (z = (K) => {
876
+ if (!K.over)
877
+ return;
878
+ const P = rn(o, String(K.active.id), String(K.over.id));
879
+ P && (P.kind === "section" ? u?.(P.nextSectionIds) : m?.(P.sectionId, P.nextNodeIds));
880
+ }, e[1] = m, e[2] = u, e[3] = o, e[4] = z) : z = e[4];
881
+ const T = z, C = lt(o, x, R), c = Pt, y = et;
882
+ let N;
883
+ e[5] !== o ? (N = o.map(pn), e[5] = o, e[6] = N) : N = e[6];
884
+ const E = tt, M = Se, W = "full", B = "0", _ = "full", F = o.map((K) => /* @__PURE__ */ g(sn, { section: K, sectionRows: C.filter((P) => P.sectionId === K.id), expandedNodeIds: R, activeNodeId: r, rowVariant: I, nodeGap: h, linkComponent: d, onNavigate: p, onToggleSection: f, onToggleNode: v, onSectionContextMenu: w }, K.id));
885
+ let L;
886
+ e[7] !== M || e[8] !== b || e[9] !== F ? (L = /* @__PURE__ */ g(M, { gap: b, w: W, minW: B, maxW: _, children: F }), e[7] = M, e[8] = b, e[9] = F, e[10] = L) : L = e[10];
887
+ let O;
888
+ e[11] !== y || e[12] !== L || e[13] !== N || e[14] !== E ? (O = /* @__PURE__ */ g(y, { items: N, strategy: E, children: L }), e[11] = y, e[12] = L, e[13] = N, e[14] = E, e[15] = O) : O = e[15];
889
+ let j;
890
+ return e[16] !== c || e[17] !== T || e[18] !== D || e[19] !== O ? (j = /* @__PURE__ */ g(c, { sensors: D, onDragEnd: T, children: O }), e[16] = c, e[17] = T, e[18] = D, e[19] = O, e[20] = j) : j = e[20], j;
891
+ };
892
+ function an(n) {
893
+ return n.kind === "section-header";
894
+ }
895
+ function cn(n) {
896
+ return n.kind === "node";
897
+ }
898
+ function un(n) {
899
+ return n.kind === "node" && n.level === 0;
900
+ }
901
+ function fn(n) {
902
+ return n.kind === "node" ? n.node.id : "";
903
+ }
904
+ function mn() {
905
+ }
906
+ function pn(n) {
907
+ return pt(n.id);
908
+ }
909
+ const Qe = (n, e) => n ? [...n.querySelectorAll("[data-tree-list-focus-id]")].find((t) => t.dataset.treeListFocusId === e) ?? null : null, gn = (n, e) => {
910
+ if (!(!n || !(e instanceof HTMLElement) || !n.contains(e)))
911
+ return e.closest("[data-tree-list-focus-id]")?.dataset.treeListFocusId;
912
+ }, xn = (n) => n instanceof HTMLElement ? n.isContentEditable ? !0 : ["INPUT", "TEXTAREA", "SELECT"].includes(n.tagName) : !1, Sn = (n, e) => n.findIndex((o) => dt(o) && pe(o) === e), xt = (n) => {
913
+ const e = V(28), {
914
+ rows: o,
915
+ activeNodeId: t,
916
+ expandedNodeIds: i,
917
+ onToggleNode: r,
918
+ onToggleSection: s,
919
+ scrollToRow: l
920
+ } = n, a = ie(null), [d, p] = ae(), [f, v] = ae();
921
+ let w;
922
+ e[0] !== t || e[1] !== d || e[2] !== o ? (w = at(d, t, o), e[0] = t, e[1] = d, e[2] = o, e[3] = w) : w = e[3];
923
+ const u = w;
924
+ let m;
925
+ e[4] !== o ? (m = _e(o).map(pe).join("\0"), e[4] = o, e[5] = m) : m = e[5];
926
+ const x = m;
927
+ let R, I;
928
+ e[6] !== x || e[7] !== d ? (R = () => {
929
+ d && (x.split("\0").includes(d) || p(void 0));
930
+ }, I = [d, x], e[6] = x, e[7] = d, e[8] = R, e[9] = I) : (R = e[8], I = e[9]), me(R, I);
931
+ let b, h;
932
+ e[10] !== f ? (b = () => {
933
+ if (!f)
934
+ return;
935
+ const y = requestAnimationFrame(() => {
936
+ requestAnimationFrame(() => {
937
+ const N = Qe(a.current, f);
938
+ N && (N.focus(), v(void 0));
939
+ });
940
+ });
941
+ return () => cancelAnimationFrame(y);
942
+ }, h = [f], e[10] = f, e[11] = b, e[12] = h) : (b = e[11], h = e[12]), me(b, h);
943
+ let S;
944
+ e[13] !== o || e[14] !== l ? (S = (y) => {
945
+ p(y);
946
+ const N = Qe(a.current, y);
947
+ if (N) {
948
+ N.focus();
949
+ return;
950
+ }
951
+ const E = Sn(o, y);
952
+ E !== -1 && (l?.(E), v(y));
953
+ }, e[13] = o, e[14] = l, e[15] = S) : S = e[15];
954
+ const D = S;
955
+ let z;
956
+ e[16] !== t || e[17] !== i || e[18] !== D || e[19] !== u || e[20] !== r || e[21] !== s || e[22] !== o ? (z = (y) => {
957
+ if (y.altKey || y.ctrlKey || y.metaKey || y.shiftKey || xn(y.target))
958
+ return;
959
+ const N = qt({
960
+ rows: o,
961
+ focusedRowId: gn(a.current, y.target) ?? u,
962
+ activeNodeId: t,
963
+ expandedNodeIds: i,
964
+ key: y.key
965
+ });
966
+ if (N) {
967
+ if (y.preventDefault(), N.type === "toggle-node") {
968
+ r?.(N.nodeId);
969
+ return;
970
+ }
971
+ if (N.type === "toggle-section") {
972
+ s?.(N.sectionId);
973
+ return;
974
+ }
975
+ D(N.rowId);
976
+ }
977
+ }, e[16] = t, e[17] = i, e[18] = D, e[19] = u, e[20] = r, e[21] = s, e[22] = o, e[23] = z) : z = e[23];
978
+ const T = z;
979
+ let C;
980
+ e[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = (y) => p(y), e[24] = C) : C = e[24];
981
+ let c;
982
+ return e[25] !== u || e[26] !== T ? (c = {
983
+ focusRowId: u,
984
+ rootRef: a,
985
+ handleKeyDown: T,
986
+ onRowFocus: C
987
+ }, e[25] = u, e[26] = T, e[27] = c) : c = e[27], c;
988
+ }, hn = 32, wn = 4, St = (n) => {
989
+ const {
990
+ row: e,
991
+ expandedNodeIds: o,
992
+ activeNodeId: t,
993
+ focusRowId: i,
994
+ rowVariant: r,
995
+ nodeGap: s,
996
+ linkComponent: l,
997
+ onRowFocus: a,
998
+ onNavigate: d,
999
+ onToggleSection: p,
1000
+ onToggleNode: f,
1001
+ onSectionContextMenu: v,
1002
+ onMoveNode: w
1003
+ } = n;
1004
+ return e.kind === "section-header" ? /* @__PURE__ */ g(mt, { section: e.section, collapsible: e.collapsible, expanded: e.expanded, focusId: e.key, tabIndex: e.key === i ? 0 : -1, onFocus: () => a(e.key), onToggle: () => p?.(e.sectionId), onContextMenu: v }) : e.kind === "section-empty" ? e.emptyState ?? null : /* @__PURE__ */ g(ft, { sectionId: e.sectionId, node: e.node, level: e.level, expandedNodeIds: o, activeNodeId: t, rowVariant: r, nodeGap: s, linkComponent: l, tabIndex: e.node.id === i ? 0 : -1, onFocus: () => a(e.node.id), onNavigate: d, onToggleNode: f, onMoveNode: w });
1005
+ }, In = (n) => {
1006
+ const {
1007
+ rows: e,
1008
+ expandedNodeIds: o = [],
1009
+ activeNodeId: t,
1010
+ rowVariant: i = "tree",
1011
+ nodeGap: r = "0",
1012
+ linkComponent: s,
1013
+ onNavigate: l,
1014
+ onToggleSection: a,
1015
+ onToggleNode: d,
1016
+ onSectionContextMenu: p,
1017
+ onMoveNode: f,
1018
+ scrollRef: v
1019
+ } = n, w = zt({
1020
+ count: e.length,
1021
+ getScrollElement: () => v.current,
1022
+ estimateSize: () => hn,
1023
+ overscan: wn,
1024
+ getItemKey: (m) => e[m]?.key ?? m
1025
+ }), u = xt({
1026
+ rows: e,
1027
+ activeNodeId: t,
1028
+ expandedNodeIds: o,
1029
+ onToggleNode: d,
1030
+ onToggleSection: a,
1031
+ scrollToRow: (m) => w.scrollToIndex(m, {
1032
+ align: "auto"
1033
+ })
1034
+ });
1035
+ return /* @__PURE__ */ g(G, { ref: u.rootRef, role: "listbox", w: "full", minW: "0", maxW: "full", position: "relative", style: {
1036
+ height: w.getTotalSize()
1037
+ }, onKeyDown: u.handleKeyDown, children: w.getVirtualItems().map((m) => {
1038
+ const x = e[m.index];
1039
+ return x ? /* @__PURE__ */ g(G, { ref: w.measureElement, "data-index": m.index, "data-tree-list-row": x.kind, position: "absolute", top: "0", left: "0", w: "full", pb: m.index === e.length - 1 ? "0" : r, style: {
1040
+ transform: `translateY(${m.start}px)`
1041
+ }, children: St({
1042
+ row: x,
1043
+ expandedNodeIds: o,
1044
+ activeNodeId: t,
1045
+ focusRowId: u.focusRowId,
1046
+ rowVariant: i,
1047
+ nodeGap: r,
1048
+ linkComponent: s,
1049
+ onRowFocus: u.onRowFocus,
1050
+ onNavigate: l,
1051
+ onToggleSection: a,
1052
+ onToggleNode: d,
1053
+ onSectionContextMenu: p,
1054
+ onMoveNode: f
1055
+ }) }, m.key) : null;
1056
+ }) });
1057
+ }, bn = (n) => {
1058
+ const {
1059
+ sections: e,
1060
+ expandedSectionIds: o = [],
1061
+ expandedNodeIds: t = [],
1062
+ activeNodeId: i,
1063
+ rowVariant: r = "tree",
1064
+ sectionGap: s = "0",
1065
+ nodeGap: l = "0",
1066
+ linkComponent: a,
1067
+ onNavigate: d,
1068
+ onToggleSection: p,
1069
+ onToggleNode: f,
1070
+ onSectionContextMenu: v,
1071
+ onMoveNode: w,
1072
+ virtualize: u,
1073
+ scrollRef: m
1074
+ } = n, x = lt(e, o, t), R = xt({
1075
+ rows: x,
1076
+ activeNodeId: i,
1077
+ expandedNodeIds: t,
1078
+ onToggleNode: f,
1079
+ onToggleSection: p
1080
+ });
1081
+ return u && m ? /* @__PURE__ */ g(In, { ...n, rows: x, scrollRef: m }) : /* @__PURE__ */ g(Se, { ref: R.rootRef, role: "listbox", gap: s, w: "full", minW: "0", maxW: "full", overflowX: "hidden", onKeyDown: R.handleKeyDown, children: e.map((I) => {
1082
+ const b = x.filter((h) => h.sectionId === I.id);
1083
+ return /* @__PURE__ */ g(Se, { gap: l, w: "full", minW: "0", maxW: "full", "data-testid": `tree-list-section-${I.id}`, children: b.map((h) => /* @__PURE__ */ g(G, { w: "full", minW: "0", children: St({
1084
+ row: h,
1085
+ expandedNodeIds: t,
1086
+ activeNodeId: i,
1087
+ focusRowId: R.focusRowId,
1088
+ rowVariant: r,
1089
+ nodeGap: l,
1090
+ linkComponent: a,
1091
+ onRowFocus: R.onRowFocus,
1092
+ onNavigate: d,
1093
+ onToggleSection: p,
1094
+ onToggleNode: f,
1095
+ onSectionContextMenu: v,
1096
+ onMoveNode: w
1097
+ }) }, h.key)) }, I.id);
1098
+ }) });
1099
+ }, An = (n) => {
1100
+ const e = V(8);
1101
+ let o;
1102
+ e[0] !== n ? (o = n.draggable ? /* @__PURE__ */ g(dn, { sections: n.sections, expandedSectionIds: n.expandedSectionIds, expandedNodeIds: n.expandedNodeIds, activeNodeId: n.activeNodeId, rowVariant: n.rowVariant, sectionGap: n.sectionGap, nodeGap: n.nodeGap, linkComponent: n.linkComponent, onNavigate: n.onNavigate, onToggleSection: n.onToggleSection, onToggleNode: n.onToggleNode, onSectionContextMenu: n.onSectionContextMenu, onReorderSections: n.onReorderSections, onReorderNodes: n.onReorderNodes }) : /* @__PURE__ */ g(bn, { ...n }), e[0] = n, e[1] = o) : o = e[1];
1103
+ const t = o;
1104
+ let i;
1105
+ e[2] !== t || e[3] !== n.onMoveNode ? (i = /* @__PURE__ */ g(Jt, { onMoveNode: n.onMoveNode, children: t }), e[2] = t, e[3] = n.onMoveNode, e[4] = i) : i = e[4];
1106
+ const r = i;
1107
+ if (!n.backgroundContextActions || n.backgroundContextActions.length === 0)
1108
+ return r;
1109
+ let s;
1110
+ return e[5] !== r || e[6] !== n.backgroundContextActions ? (s = /* @__PURE__ */ g(Bt, { actions: n.backgroundContextActions, children: r }), e[5] = r, e[6] = n.backgroundContextActions, e[7] = s) : s = e[7], s;
1111
+ };
1112
+ export {
1113
+ En as R,
1114
+ An as T
1115
+ };
1116
+ //# sourceMappingURL=tree-list-uV4UFj0x.js.map