@aiquants/directory-tree 1.16.0 → 2.1.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.
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
- import Fe, { memo as je, useRef as se, useCallback as j, useEffect as q, useState as ee, useMemo as ae, Fragment as Ye, useTransition as Be } from "react";
2
- import { VirtualScroll as He } from "@aiquants/virtualscroll";
3
- import { FolderIcon as We, DocumentTextIcon as Xe, ChevronDownIcon as Ve, ChevronRightIcon as Je } from "@heroicons/react/24/solid";
4
- import { FileIcon as Ge } from "@phosphor-icons/react";
5
- import { twMerge as $ } from "tailwind-merge";
6
- var ye = { exports: {} }, ce = {};
7
- var _e;
8
- function ze() {
9
- if (_e) return ce;
10
- _e = 1;
1
+ import ze, { memo as $e, useRef as ce, useCallback as P, useEffect as K, useState as oe, useMemo as ie, Fragment as Ue, useTransition as qe } from "react";
2
+ import { VirtualScroll as Ze } from "@aiquants/virtualscroll";
3
+ import { FolderIcon as Qe, DocumentTextIcon as Ke, ChevronDownIcon as et, ChevronRightIcon as tt } from "@heroicons/react/24/solid";
4
+ import { FileIcon as rt } from "@phosphor-icons/react";
5
+ import { twMerge as A } from "tailwind-merge";
6
+ var ge = { exports: {} }, me = {};
7
+ var je;
8
+ function nt() {
9
+ if (je) return me;
10
+ je = 1;
11
11
  var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), r = /* @__PURE__ */ Symbol.for("react.fragment");
12
12
  function o(l, n, a) {
13
13
  var i = null;
14
14
  if (a !== void 0 && (i = "" + a), n.key !== void 0 && (i = "" + n.key), "key" in n) {
15
15
  a = {};
16
- for (var m in n)
17
- m !== "key" && (a[m] = n[m]);
16
+ for (var h in n)
17
+ h !== "key" && (a[h] = n[h]);
18
18
  } else a = n;
19
19
  return n = a.ref, {
20
20
  $$typeof: e,
@@ -24,29 +24,29 @@ function ze() {
24
24
  props: a
25
25
  };
26
26
  }
27
- return ce.Fragment = r, ce.jsx = o, ce.jsxs = o, ce;
27
+ return me.Fragment = r, me.jsx = o, me.jsxs = o, me;
28
28
  }
29
- var ue = {};
30
- var Pe;
31
- function Ue() {
32
- return Pe || (Pe = 1, process.env.NODE_ENV !== "production" && (function() {
29
+ var he = {};
30
+ var Me;
31
+ function ot() {
32
+ return Me || (Me = 1, process.env.NODE_ENV !== "production" && (function() {
33
33
  function e(t) {
34
34
  if (t == null) return null;
35
35
  if (typeof t == "function")
36
- return t.$$typeof === V ? null : t.displayName || t.name || null;
36
+ return t.$$typeof === $ ? null : t.displayName || t.name || null;
37
37
  if (typeof t == "string") return t;
38
38
  switch (t) {
39
39
  case s:
40
40
  return "Fragment";
41
- case R:
41
+ case I:
42
42
  return "Profiler";
43
- case h:
43
+ case m:
44
44
  return "StrictMode";
45
45
  case F:
46
46
  return "Suspense";
47
- case E:
47
+ case V:
48
48
  return "SuspenseList";
49
- case C:
49
+ case q:
50
50
  return "Activity";
51
51
  }
52
52
  if (typeof t == "object")
@@ -55,16 +55,16 @@ function Ue() {
55
55
  ), t.$$typeof) {
56
56
  case u:
57
57
  return "Portal";
58
- case x:
58
+ case S:
59
59
  return t.displayName || "Context";
60
- case _:
60
+ case T:
61
61
  return (t._context.displayName || "Context") + ".Consumer";
62
62
  case d:
63
63
  var f = t.render;
64
64
  return t = t.displayName, t || (t = f.displayName || f.name || "", t = t !== "" ? "ForwardRef(" + t + ")" : "ForwardRef"), t;
65
- case N:
65
+ case Y:
66
66
  return f = t.displayName || null, f !== null ? f : e(t.type) || "Memo";
67
- case O:
67
+ case B:
68
68
  f = t._payload, t = t._init;
69
69
  try {
70
70
  return e(t(f));
@@ -85,17 +85,17 @@ function Ue() {
85
85
  }
86
86
  if (f) {
87
87
  f = console;
88
- var I = f.error, P = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
89
- return I.call(
88
+ var x = f.error, w = typeof Symbol == "function" && Symbol.toStringTag && t[Symbol.toStringTag] || t.constructor.name || "Object";
89
+ return x.call(
90
90
  f,
91
91
  "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
92
- P
92
+ w
93
93
  ), r(t);
94
94
  }
95
95
  }
96
96
  function l(t) {
97
97
  if (t === s) return "<>";
98
- if (typeof t == "object" && t !== null && t.$$typeof === O)
98
+ if (typeof t == "object" && t !== null && t.$$typeof === B)
99
99
  return "<...>";
100
100
  try {
101
101
  var f = e(t);
@@ -112,41 +112,41 @@ function Ue() {
112
112
  return Error("react-stack-top-frame");
113
113
  }
114
114
  function i(t) {
115
- if (Y.call(t, "key")) {
115
+ if (Z.call(t, "key")) {
116
116
  var f = Object.getOwnPropertyDescriptor(t, "key").get;
117
117
  if (f && f.isReactWarning) return !1;
118
118
  }
119
119
  return t.key !== void 0;
120
120
  }
121
- function m(t, f) {
122
- function I() {
123
- J || (J = !0, console.error(
121
+ function h(t, f) {
122
+ function x() {
123
+ g || (g = !0, console.error(
124
124
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
125
125
  f
126
126
  ));
127
127
  }
128
- I.isReactWarning = !0, Object.defineProperty(t, "key", {
129
- get: I,
128
+ x.isReactWarning = !0, Object.defineProperty(t, "key", {
129
+ get: x,
130
130
  configurable: !0
131
131
  });
132
132
  }
133
- function v() {
133
+ function E() {
134
134
  var t = e(this.type);
135
- return te[t] || (te[t] = !0, console.error(
135
+ return M[t] || (M[t] = !0, console.error(
136
136
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
137
137
  )), t = this.props.ref, t !== void 0 ? t : null;
138
138
  }
139
- function y(t, f, I, P, ne, A) {
140
- var T = I.ref;
139
+ function y(t, f, x, w, z, ee) {
140
+ var R = x.ref;
141
141
  return t = {
142
142
  $$typeof: k,
143
143
  type: t,
144
144
  key: f,
145
- props: I,
146
- _owner: P
147
- }, (T !== void 0 ? T : null) !== null ? Object.defineProperty(t, "ref", {
145
+ props: x,
146
+ _owner: w
147
+ }, (R !== void 0 ? R : null) !== null ? Object.defineProperty(t, "ref", {
148
148
  enumerable: !1,
149
- get: v
149
+ get: E
150
150
  }) : Object.defineProperty(t, "ref", { enumerable: !1, value: null }), t._store = {}, Object.defineProperty(t._store, "validated", {
151
151
  configurable: !1,
152
152
  enumerable: !1,
@@ -161,109 +161,109 @@ function Ue() {
161
161
  configurable: !1,
162
162
  enumerable: !1,
163
163
  writable: !0,
164
- value: ne
164
+ value: z
165
165
  }), Object.defineProperty(t, "_debugTask", {
166
166
  configurable: !1,
167
167
  enumerable: !1,
168
168
  writable: !0,
169
- value: A
169
+ value: ee
170
170
  }), Object.freeze && (Object.freeze(t.props), Object.freeze(t)), t;
171
171
  }
172
- function c(t, f, I, P, ne, A) {
173
- var T = f.children;
174
- if (T !== void 0)
175
- if (P)
176
- if (W(T)) {
177
- for (P = 0; P < T.length; P++)
178
- b(T[P]);
179
- Object.freeze && Object.freeze(T);
172
+ function c(t, f, x, w, z, ee) {
173
+ var R = f.children;
174
+ if (R !== void 0)
175
+ if (w)
176
+ if (J(R)) {
177
+ for (w = 0; w < R.length; w++)
178
+ b(R[w]);
179
+ Object.freeze && Object.freeze(R);
180
180
  } else
181
181
  console.error(
182
182
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
183
183
  );
184
- else b(T);
185
- if (Y.call(f, "key")) {
186
- T = e(t);
187
- var G = Object.keys(f).filter(function(fe) {
188
- return fe !== "key";
184
+ else b(R);
185
+ if (Z.call(f, "key")) {
186
+ R = e(t);
187
+ var W = Object.keys(f).filter(function(de) {
188
+ return de !== "key";
189
189
  });
190
- P = 0 < G.length ? "{key: someKey, " + G.join(": ..., ") + ": ...}" : "{key: someKey}", Z[T + P] || (G = 0 < G.length ? "{" + G.join(": ..., ") + ": ...}" : "{}", console.error(
190
+ w = 0 < W.length ? "{key: someKey, " + W.join(": ..., ") + ": ...}" : "{key: someKey}", ae[R + w] || (W = 0 < W.length ? "{" + W.join(": ..., ") + ": ...}" : "{}", console.error(
191
191
  `A props object containing a "key" prop is being spread into JSX:
192
192
  let props = %s;
193
193
  <%s {...props} />
194
194
  React keys must be passed directly to JSX without using spread:
195
195
  let props = %s;
196
196
  <%s key={someKey} {...props} />`,
197
- P,
198
- T,
199
- G,
200
- T
201
- ), Z[T + P] = !0);
197
+ w,
198
+ R,
199
+ W,
200
+ R
201
+ ), ae[R + w] = !0);
202
202
  }
203
- if (T = null, I !== void 0 && (o(I), T = "" + I), i(f) && (o(f.key), T = "" + f.key), "key" in f) {
204
- I = {};
205
- for (var z in f)
206
- z !== "key" && (I[z] = f[z]);
207
- } else I = f;
208
- return T && m(
209
- I,
203
+ if (R = null, x !== void 0 && (o(x), R = "" + x), i(f) && (o(f.key), R = "" + f.key), "key" in f) {
204
+ x = {};
205
+ for (var Q in f)
206
+ Q !== "key" && (x[Q] = f[Q]);
207
+ } else x = f;
208
+ return R && h(
209
+ x,
210
210
  typeof t == "function" ? t.displayName || t.name || "Unknown" : t
211
211
  ), y(
212
212
  t,
213
- T,
214
- I,
213
+ R,
214
+ x,
215
215
  n(),
216
- ne,
217
- A
216
+ z,
217
+ ee
218
218
  );
219
219
  }
220
220
  function b(t) {
221
- p(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === O && (t._payload.status === "fulfilled" ? p(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
221
+ p(t) ? t._store && (t._store.validated = 1) : typeof t == "object" && t !== null && t.$$typeof === B && (t._payload.status === "fulfilled" ? p(t._payload.value) && t._payload.value._store && (t._payload.value._store.validated = 1) : t._store && (t._store.validated = 1));
222
222
  }
223
223
  function p(t) {
224
224
  return typeof t == "object" && t !== null && t.$$typeof === k;
225
225
  }
226
- var g = Fe, k = /* @__PURE__ */ Symbol.for("react.transitional.element"), u = /* @__PURE__ */ Symbol.for("react.portal"), s = /* @__PURE__ */ Symbol.for("react.fragment"), h = /* @__PURE__ */ Symbol.for("react.strict_mode"), R = /* @__PURE__ */ Symbol.for("react.profiler"), _ = /* @__PURE__ */ Symbol.for("react.consumer"), x = /* @__PURE__ */ Symbol.for("react.context"), d = /* @__PURE__ */ Symbol.for("react.forward_ref"), F = /* @__PURE__ */ Symbol.for("react.suspense"), E = /* @__PURE__ */ Symbol.for("react.suspense_list"), N = /* @__PURE__ */ Symbol.for("react.memo"), O = /* @__PURE__ */ Symbol.for("react.lazy"), C = /* @__PURE__ */ Symbol.for("react.activity"), V = /* @__PURE__ */ Symbol.for("react.client.reference"), H = g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Y = Object.prototype.hasOwnProperty, W = Array.isArray, X = console.createTask ? console.createTask : function() {
226
+ var v = ze, k = /* @__PURE__ */ Symbol.for("react.transitional.element"), u = /* @__PURE__ */ Symbol.for("react.portal"), s = /* @__PURE__ */ Symbol.for("react.fragment"), m = /* @__PURE__ */ Symbol.for("react.strict_mode"), I = /* @__PURE__ */ Symbol.for("react.profiler"), T = /* @__PURE__ */ Symbol.for("react.consumer"), S = /* @__PURE__ */ Symbol.for("react.context"), d = /* @__PURE__ */ Symbol.for("react.forward_ref"), F = /* @__PURE__ */ Symbol.for("react.suspense"), V = /* @__PURE__ */ Symbol.for("react.suspense_list"), Y = /* @__PURE__ */ Symbol.for("react.memo"), B = /* @__PURE__ */ Symbol.for("react.lazy"), q = /* @__PURE__ */ Symbol.for("react.activity"), $ = /* @__PURE__ */ Symbol.for("react.client.reference"), H = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, Z = Object.prototype.hasOwnProperty, J = Array.isArray, G = console.createTask ? console.createTask : function() {
227
227
  return null;
228
228
  };
229
- g = {
229
+ v = {
230
230
  react_stack_bottom_frame: function(t) {
231
231
  return t();
232
232
  }
233
233
  };
234
- var J, te = {}, re = g.react_stack_bottom_frame.bind(
235
- g,
234
+ var g, M = {}, O = v.react_stack_bottom_frame.bind(
235
+ v,
236
236
  a
237
- )(), D = X(l(a)), Z = {};
238
- ue.Fragment = s, ue.jsx = function(t, f, I) {
239
- var P = 1e4 > H.recentlyCreatedOwnerStacks++;
237
+ )(), C = G(l(a)), ae = {};
238
+ he.Fragment = s, he.jsx = function(t, f, x) {
239
+ var w = 1e4 > H.recentlyCreatedOwnerStacks++;
240
240
  return c(
241
241
  t,
242
242
  f,
243
- I,
243
+ x,
244
244
  !1,
245
- P ? Error("react-stack-top-frame") : re,
246
- P ? X(l(t)) : D
245
+ w ? Error("react-stack-top-frame") : O,
246
+ w ? G(l(t)) : C
247
247
  );
248
- }, ue.jsxs = function(t, f, I) {
249
- var P = 1e4 > H.recentlyCreatedOwnerStacks++;
248
+ }, he.jsxs = function(t, f, x) {
249
+ var w = 1e4 > H.recentlyCreatedOwnerStacks++;
250
250
  return c(
251
251
  t,
252
252
  f,
253
- I,
253
+ x,
254
254
  !0,
255
- P ? Error("react-stack-top-frame") : re,
256
- P ? X(l(t)) : D
255
+ w ? Error("react-stack-top-frame") : O,
256
+ w ? G(l(t)) : C
257
257
  );
258
258
  };
259
- })()), ue;
259
+ })()), he;
260
260
  }
261
- var Te;
262
- function qe() {
263
- return Te || (Te = 1, process.env.NODE_ENV === "production" ? ye.exports = ze() : ye.exports = Ue()), ye.exports;
261
+ var Oe;
262
+ function at() {
263
+ return Oe || (Oe = 1, process.env.NODE_ENV === "production" ? ge.exports = nt() : ge.exports = ot()), ge.exports;
264
264
  }
265
- var S = qe();
266
- const Ze = (e, r, o) => {
265
+ var N = at();
266
+ const st = (e, r, o) => {
267
267
  const l = [];
268
268
  for (let n = r; n < o; n++) {
269
269
  const a = e[n];
@@ -272,7 +272,7 @@ const Ze = (e, r, o) => {
272
272
  l.push(i);
273
273
  }
274
274
  return l;
275
- }, Qe = (e, r, o) => {
275
+ }, lt = (e, r, o) => {
276
276
  const l = [];
277
277
  for (let n = r; n < o; n++) {
278
278
  const a = e[n];
@@ -281,36 +281,36 @@ const Ze = (e, r, o) => {
281
281
  l.push(i);
282
282
  }
283
283
  return l;
284
- }, Ke = (e, r, o, l) => {
284
+ }, it = (e, r, o, l) => {
285
285
  const n = Math.max(1, Math.floor(r * l)), a = Math.max(1, Math.floor(o * l));
286
286
  (e.width !== n || e.height !== a) && (e.width = n, e.height = a);
287
287
  const i = e.style;
288
288
  i.width !== `${r}px` && (i.width = `${r}px`), i.height !== `${o}px` && (i.height = `${o}px`);
289
- }, et = (e, r, o) => {
289
+ }, ct = (e, r, o) => {
290
290
  e.lineWidth = o, e.beginPath();
291
291
  for (const l of r)
292
292
  e.moveTo(l.x1, l.y1), e.lineTo(l.x2, l.y2);
293
293
  e.stroke();
294
- }, tt = (e, r) => {
294
+ }, ut = (e, r) => {
295
295
  const o = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());
296
296
  if (!o)
297
297
  return null;
298
298
  let l = o[1];
299
- l.length === 3 && (l = l.split("").map((m) => m + m).join(""));
299
+ l.length === 3 && (l = l.split("").map((h) => h + h).join(""));
300
300
  const n = Number.parseInt(l.slice(0, 2), 16), a = Number.parseInt(l.slice(2, 4), 16), i = Number.parseInt(l.slice(4, 6), 16);
301
301
  return `rgba(${n}, ${a}, ${i}, ${r})`;
302
- }, rt = (e, r, o, l) => {
302
+ }, dt = (e, r, o, l) => {
303
303
  if (r.length === 0)
304
304
  return;
305
- const n = tt(o, 0.14), a = e.strokeStyle, i = e.fillStyle, m = e.lineWidth, v = e.lineCap, y = e.lineJoin;
305
+ const n = ut(o, 0.14), a = e.strokeStyle, i = e.fillStyle, h = e.lineWidth, E = e.lineCap, y = e.lineJoin;
306
306
  e.strokeStyle = o, e.lineCap = "round", e.lineJoin = "round";
307
307
  for (const c of r) {
308
- const b = l ?? c.size, p = Math.max(0, b / 2), g = Math.max(1, Math.round(b * 0.08)), k = Math.max(1, Math.round(b * 0.14)), u = Math.max(0, p - g * 0.8), s = Math.max(0, u * 0.55);
309
- n && (e.fillStyle = n, e.beginPath(), e.arc(c.centerX, c.centerY, u, 0, Math.PI * 2), e.fill()), e.lineWidth = g, e.beginPath(), e.arc(c.centerX, c.centerY, Math.max(0, p - g * 0.3), 0, Math.PI * 2), e.stroke(), e.lineWidth = k, e.beginPath(), e.moveTo(c.centerX - s, c.centerY), e.lineTo(c.centerX + s, c.centerY), e.stroke(), c.isExpanded || (e.beginPath(), e.moveTo(c.centerX, c.centerY - s), e.lineTo(c.centerX, c.centerY + s), e.stroke());
308
+ const b = l ?? c.size, p = Math.max(0, b / 2), v = Math.max(1, Math.round(b * 0.08)), k = Math.max(1, Math.round(b * 0.14)), u = Math.max(0, p - v * 0.8), s = Math.max(0, u * 0.55);
309
+ n && (e.fillStyle = n, e.beginPath(), e.arc(c.centerX, c.centerY, u, 0, Math.PI * 2), e.fill()), e.lineWidth = v, e.beginPath(), e.arc(c.centerX, c.centerY, Math.max(0, p - v * 0.3), 0, Math.PI * 2), e.stroke(), e.lineWidth = k, e.beginPath(), e.moveTo(c.centerX - s, c.centerY), e.lineTo(c.centerX + s, c.centerY), e.stroke(), c.isExpanded || (e.beginPath(), e.moveTo(c.centerX, c.centerY - s), e.lineTo(c.centerX, c.centerY + s), e.stroke());
310
310
  }
311
- e.strokeStyle = a, e.fillStyle = i, e.lineWidth = m, e.lineCap = v, e.lineJoin = y;
312
- }, Ce = je(({ segmentsByItem: e, glyphsByItem: r, itemHeight: o, width: l, viewportHeight: n, scrollPosition: a, color: i = "#a0aec0", strokeWidth: m = 1, renderStartIndex: v, renderEndIndex: y, lookaheadEndIndex: c, devicePixelRatio: b, expandGlyphColor: p, expandGlyphSize: g }) => {
313
- const k = se(null), u = se(null), s = se({
311
+ e.strokeStyle = a, e.fillStyle = i, e.lineWidth = h, e.lineCap = E, e.lineJoin = y;
312
+ }, De = $e(({ segmentsByItem: e, glyphsByItem: r, itemHeight: o, width: l, viewportHeight: n, scrollPosition: a, color: i = "#a0aec0", strokeWidth: h = 1, renderStartIndex: E, renderEndIndex: y, lookaheadEndIndex: c, devicePixelRatio: b, expandGlyphColor: p, expandGlyphSize: v }) => {
313
+ const k = ce(null), u = ce(null), s = ce({
314
314
  segmentsByItem: e,
315
315
  glyphsByItem: r,
316
316
  itemHeight: o,
@@ -318,46 +318,46 @@ const Ze = (e, r, o) => {
318
318
  viewportHeight: n,
319
319
  scrollPosition: a,
320
320
  color: i,
321
- strokeWidth: m,
322
- renderStartIndex: v,
321
+ strokeWidth: h,
322
+ renderStartIndex: E,
323
323
  renderEndIndex: y,
324
324
  lookaheadEndIndex: c,
325
325
  devicePixelRatio: b,
326
326
  expandGlyphColor: p,
327
- expandGlyphSize: g
328
- }), h = j(() => {
327
+ expandGlyphSize: v
328
+ }), m = P(() => {
329
329
  u.current = null;
330
- const _ = k.current;
331
- if (!_)
330
+ const T = k.current;
331
+ if (!T)
332
332
  return;
333
- const x = _.getContext("2d");
334
- if (!x)
333
+ const S = T.getContext("2d");
334
+ if (!S)
335
335
  return;
336
336
  const d = s.current;
337
337
  if (d.width <= 0 || d.viewportHeight <= 0) {
338
- x.clearRect(0, 0, _.width, _.height);
338
+ S.clearRect(0, 0, T.width, T.height);
339
339
  return;
340
340
  }
341
341
  const F = Number.isFinite(d.devicePixelRatio ?? NaN) ? d.devicePixelRatio : typeof window < "u" && window.devicePixelRatio || 1;
342
- Ke(_, d.width, d.viewportHeight, F);
343
- const E = d.segmentsByItem.length, N = typeof d.renderStartIndex == "number" && Number.isFinite(d.renderStartIndex) ? Math.max(0, Math.floor(d.renderStartIndex)) : Math.max(0, Math.floor(d.scrollPosition / d.itemHeight)), O = Math.min(E, Math.ceil((d.scrollPosition + d.viewportHeight) / d.itemHeight)), C = (() => {
342
+ it(T, d.width, d.viewportHeight, F);
343
+ const V = d.segmentsByItem.length, Y = typeof d.renderStartIndex == "number" && Number.isFinite(d.renderStartIndex) ? Math.max(0, Math.floor(d.renderStartIndex)) : Math.max(0, Math.floor(d.scrollPosition / d.itemHeight)), B = Math.min(V, Math.ceil((d.scrollPosition + d.viewportHeight) / d.itemHeight)), q = (() => {
344
344
  if (typeof d.renderEndIndex == "number" && Number.isFinite(d.renderEndIndex)) {
345
- const W = Math.floor(d.renderEndIndex);
346
- return Math.max(Math.min(E, W + 1), N);
345
+ const J = Math.floor(d.renderEndIndex);
346
+ return Math.max(Math.min(V, J + 1), Y);
347
347
  }
348
- return Math.max(O, N);
349
- })(), V = (() => {
348
+ return Math.max(B, Y);
349
+ })(), $ = (() => {
350
350
  if (typeof d.lookaheadEndIndex == "number" && Number.isFinite(d.lookaheadEndIndex)) {
351
- const W = Math.floor(d.lookaheadEndIndex), X = Math.min(E, W + 1);
352
- return Math.max(X, C);
351
+ const J = Math.floor(d.lookaheadEndIndex), G = Math.min(V, J + 1);
352
+ return Math.max(G, q);
353
353
  }
354
- return Math.max(O, C);
355
- })(), H = Ze(d.segmentsByItem, N, V), Y = Qe(d.glyphsByItem, N, V);
356
- x.save(), x.scale(F, F), x.clearRect(0, 0, d.width, d.viewportHeight), x.translate(0, -d.scrollPosition), x.strokeStyle = d.color, et(x, H, d.strokeWidth), rt(x, Y, d.expandGlyphColor ?? d.color, d.expandGlyphSize), x.restore();
357
- }, []), R = j(() => {
358
- u.current === null && (u.current = window.requestAnimationFrame(h));
359
- }, [h]);
360
- return q(() => {
354
+ return Math.max(B, q);
355
+ })(), H = st(d.segmentsByItem, Y, $), Z = lt(d.glyphsByItem, Y, $);
356
+ S.save(), S.scale(F, F), S.clearRect(0, 0, d.width, d.viewportHeight), S.translate(0, -d.scrollPosition), S.strokeStyle = d.color, ct(S, H, d.strokeWidth), dt(S, Z, d.expandGlyphColor ?? d.color, d.expandGlyphSize), S.restore();
357
+ }, []), I = P(() => {
358
+ u.current === null && (u.current = window.requestAnimationFrame(m));
359
+ }, [m]);
360
+ return K(() => {
361
361
  s.current = {
362
362
  segmentsByItem: e,
363
363
  glyphsByItem: r,
@@ -366,157 +366,157 @@ const Ze = (e, r, o) => {
366
366
  viewportHeight: n,
367
367
  scrollPosition: a,
368
368
  color: i,
369
- strokeWidth: m,
370
- renderStartIndex: v,
369
+ strokeWidth: h,
370
+ renderStartIndex: E,
371
371
  renderEndIndex: y,
372
372
  lookaheadEndIndex: c,
373
373
  devicePixelRatio: b,
374
374
  expandGlyphColor: p,
375
- expandGlyphSize: g
376
- }, R();
377
- }, [e, r, o, l, n, a, i, m, v, y, c, b, p, g, R]), q(() => () => {
375
+ expandGlyphSize: v
376
+ }, I();
377
+ }, [e, r, o, l, n, a, i, h, E, y, c, b, p, v, I]), K(() => () => {
378
378
  u.current !== null && (window.cancelAnimationFrame(u.current), u.current = null);
379
- }, []), /* @__PURE__ */ S.jsx("canvas", { ref: k, className: "pointer-events-none absolute top-0 left-0 z-0" });
379
+ }, []), /* @__PURE__ */ N.jsx("canvas", { ref: k, className: "pointer-events-none absolute top-0 left-0 z-0" });
380
380
  });
381
- Ce.displayName = "TreeLineCanvas";
381
+ De.displayName = "TreeLineCanvas";
382
382
  const L = {
383
383
  container: "directory-tree-container relative h-full transition-opacity duration-300 overflow-y-hidden pb-[5px] pr-[3px]",
384
384
  containerPending: "opacity-70",
385
385
  entry: "directory-tree-entry flex items-center cursor-pointer relative select-none",
386
386
  // ホバー時のスタイル(ライト/ダークモード対応)
387
- entryHover: $("directory-tree-entry--hover hover:bg-gray-400/15", "dark:hover:bg-gray-200/10"),
387
+ entryHover: A("directory-tree-entry--hover hover:bg-gray-400/15", "dark:hover:bg-gray-200/10"),
388
388
  // 選択時のスタイル(ライト/ダークモード対応)
389
- entrySelected: $("directory-tree-entry--selected bg-blue-400/10", "dark:bg-blue-400/15"),
389
+ entrySelected: A("directory-tree-entry--selected bg-blue-400/10", "dark:bg-blue-400/15"),
390
390
  // アイテム選択時のスタイル(ライト/ダークモード対応)
391
- entryItemSelected: $("directory-tree-entry--item-selected bg-blue-400/20 shadow-[0_0_0_1px_rgba(59,130,246,0.3)]", "dark:bg-blue-400/25 dark:shadow-[0_0_0_1px_rgba(96,165,250,0.4)]"),
391
+ entryItemSelected: A("directory-tree-entry--item-selected bg-blue-400/20 shadow-[0_0_0_1px_rgba(59,130,246,0.3)]", "dark:bg-blue-400/25 dark:shadow-[0_0_0_1px_rgba(96,165,250,0.4)]"),
392
392
  // アイコンのスタイル
393
- expandIcon: $("directory-tree-expand-icon w-5 h-5 flex-shrink-0 flex items-center justify-center", "text-gray-500", "dark:text-gray-400"),
394
- expandIconSelected: $("directory-tree-expand-icon--selected text-blue-700", "dark:text-blue-400"),
395
- typeIcon: $("directory-tree-type-icon w-5 h-5 flex-shrink-0 flex items-center justify-center", "text-gray-500", "dark:text-gray-400"),
396
- typeIconSelected: $("directory-tree-type-icon--selected text-blue-700", "dark:text-blue-400"),
393
+ expandIcon: A("directory-tree-expand-icon w-5 h-5 flex-shrink-0 flex items-center justify-center", "text-gray-500", "dark:text-gray-400"),
394
+ expandIconSelected: A("directory-tree-expand-icon--selected text-blue-700", "dark:text-blue-400"),
395
+ typeIcon: A("directory-tree-type-icon w-5 h-5 flex-shrink-0 flex items-center justify-center", "text-gray-500", "dark:text-gray-400"),
396
+ typeIconSelected: A("directory-tree-type-icon--selected text-blue-700", "dark:text-blue-400"),
397
397
  // テキストのスタイル
398
- name: $("directory-tree-name overflow-hidden text-ellipsis whitespace-nowrap ml-1", "text-gray-700", "dark:text-gray-200"),
398
+ name: A("directory-tree-name overflow-hidden text-ellipsis whitespace-nowrap ml-1", "text-gray-700", "dark:text-gray-200"),
399
399
  nameDirectory: "directory-tree-name--directory",
400
- nameSelected: $("directory-tree-name--selected text-blue-800 font-medium", "dark:text-blue-300")
401
- }, nt = {
400
+ nameSelected: A("directory-tree-name--selected text-blue-800 font-medium", "dark:text-blue-300")
401
+ }, ft = {
402
402
  msOverflowStyle: "none",
403
403
  scrollbarWidth: "none"
404
- }, ot = () => {
404
+ }, mt = () => {
405
405
  let e = document.getElementById("directory-tree-webkit-scrollbar-hide");
406
406
  e || (e = document.createElement("style"), e.id = "directory-tree-webkit-scrollbar-hide", e.textContent = ".directory-tree-container::-webkit-scrollbar { display: none; }", document.head.appendChild(e));
407
- }, at = (e, r, o, l) => {
407
+ }, ht = (e, r, o, l) => {
408
408
  const n = [], a = [];
409
409
  let i = 0;
410
- const m = (v, y, c) => {
411
- for (let b = 0; b < v.length; b++) {
412
- const p = v[b], g = b === v.length - 1, k = [...c, g], u = p.children !== void 0, s = u && r(p.absolutePath, p.relativePath);
413
- let h = y, R = k, _ = c;
414
- l && (h = y - 1, R = k.slice(1), _ = c.slice(1)), n.push({ entry: p, indentLevel: h, parentIsLast: R }), o && (h > i && (i = h), a.push({
410
+ const h = (E, y, c) => {
411
+ for (let b = 0; b < E.length; b++) {
412
+ const p = E[b], v = b === E.length - 1, k = [...c, v], u = p.children !== void 0, s = u && r(p.absolutePath, p.relativePath);
413
+ let m = y, I = k, T = c;
414
+ l && (m = y - 1, I = k.slice(1), T = c.slice(1)), n.push({ entry: p, indentLevel: m, parentIsLast: I }), o && (m > i && (i = m), a.push({
415
415
  id: p.absolutePath,
416
416
  name: p.name,
417
417
  absolutePath: p.absolutePath,
418
- indentLevel: h,
419
- isLastChild: g,
418
+ indentLevel: m,
419
+ isLastChild: v,
420
420
  isDirectory: u,
421
421
  isExpanded: s,
422
- ancestorIsLast: [..._],
422
+ ancestorIsLast: [...T],
423
423
  hideLines: l && y === 0
424
- })), u && s && p.children && m(p.children, y + 1, k);
424
+ })), u && s && p.children && h(p.children, y + 1, k);
425
425
  }
426
426
  };
427
- return m(e, 0, []), { flatItems: n, lineItems: a, maxIndent: i };
428
- }, st = (e, r, o, l, n) => {
429
- const a = l?.renderStart ?? Math.max(0, Math.floor(n / le)), i = r > 0 ? Math.ceil(r / le) + o : o, m = e > 0 ? Math.min(e - 1, a + i) : a, v = l?.renderEnd ?? m, y = e > 0 ? Math.min(e - 1, v + o) : v;
430
- return { renderStart: a, renderEnd: v, lookaheadEnd: y };
431
- }, lt = ({ isDirectory: e, isExpanded: r, showExpandIcons: o, useCanvasExpandIcons: l, expandIconSize: n }) => {
427
+ return h(e, 0, []), { flatItems: n, lineItems: a, maxIndent: i };
428
+ }, yt = (e, r, o, l, n) => {
429
+ const a = l?.renderStart ?? Math.max(0, Math.floor(n / ue)), i = r > 0 ? Math.ceil(r / ue) + o : o, h = e > 0 ? Math.min(e - 1, a + i) : a, E = l?.renderEnd ?? h, y = e > 0 ? Math.min(e - 1, E + o) : E;
430
+ return { renderStart: a, renderEnd: E, lookaheadEnd: y };
431
+ }, pt = ({ isDirectory: e, isExpanded: r, showExpandIcons: o, useCanvasExpandIcons: l, expandIconSize: n }) => {
432
432
  const a = n ? { width: n, height: n } : void 0, i = n ? "" : "h-4 w-4";
433
- return !(o && e) || l ? /* @__PURE__ */ S.jsx("span", { className: i, style: a, "aria-hidden": "true" }) : r ? /* @__PURE__ */ S.jsx(Ve, { className: i, style: a }) : /* @__PURE__ */ S.jsx(Je, { className: i, style: a });
434
- }, it = (e) => e.slice((e.lastIndexOf(".") - 1 >>> 0) + 2).toLowerCase(), ct = (e, r, o, l, n) => {
433
+ return !(o && e) || l ? /* @__PURE__ */ N.jsx("span", { className: i, style: a, "aria-hidden": "true" }) : r ? /* @__PURE__ */ N.jsx(et, { className: i, style: a }) : /* @__PURE__ */ N.jsx(tt, { className: i, style: a });
434
+ }, bt = (e) => e.slice((e.lastIndexOf(".") - 1 >>> 0) + 2).toLowerCase(), vt = (e, r, o, l, n) => {
435
435
  if (e.length === 0)
436
436
  return { segmentsByItem: [], glyphsByItem: [] };
437
- const a = Array.from({ length: e.length }, () => []), i = Array.from({ length: e.length }, () => []), m = l ? typeof n == "number" && Number.isFinite(n) && n > 0 ? n : Math.max(8, Math.min(o * 0.9, r * 0.7)) : 0, v = 3;
437
+ const a = Array.from({ length: e.length }, () => []), i = Array.from({ length: e.length }, () => []), h = l ? typeof n == "number" && Number.isFinite(n) && n > 0 ? n : Math.max(8, Math.min(o * 0.9, r * 0.7)) : 0, E = 3;
438
438
  for (let y = 0; y < e.length; y++) {
439
439
  const c = e[y];
440
440
  if (c.hideLines)
441
441
  continue;
442
- const b = [], p = y * r, g = p + r / 2, k = m > 0 ? m / 2 + 2 : o / 1.5;
443
- for (let h = 0; h < c.indentLevel; h++) {
444
- if (c.ancestorIsLast[h] ?? !1)
442
+ const b = [], p = y * r, v = p + r / 2, k = h > 0 ? h / 2 + 2 : o / 1.5;
443
+ for (let m = 0; m < c.indentLevel; m++) {
444
+ if (c.ancestorIsLast[m] ?? !1)
445
445
  continue;
446
- let _ = !1;
447
- for (let x = y; x < e.length; x++) {
448
- const d = e[x];
449
- if (d.indentLevel > h && d.ancestorIsLast.length > h && !d.ancestorIsLast[h]) {
450
- _ = !0;
446
+ let T = !1;
447
+ for (let S = y; S < e.length; S++) {
448
+ const d = e[S];
449
+ if (d.indentLevel > m && d.ancestorIsLast.length > m && !d.ancestorIsLast[m]) {
450
+ T = !0;
451
451
  break;
452
452
  }
453
- if (x > y && d.indentLevel === h)
453
+ if (S > y && d.indentLevel === m)
454
454
  break;
455
455
  }
456
- if (_) {
457
- const x = h * o + o / 2 + v;
456
+ if (T) {
457
+ const S = m * o + o / 2 + E;
458
458
  b.push({
459
- key: `${c.id}-ancestor-${h}`,
460
- x1: x,
459
+ key: `${c.id}-ancestor-${m}`,
460
+ x1: S,
461
461
  y1: p,
462
- x2: x,
462
+ x2: S,
463
463
  y2: p + r,
464
464
  itemIndex: y
465
465
  });
466
466
  }
467
467
  }
468
- const u = c.indentLevel * o, s = u + o / 2 + v;
468
+ const u = c.indentLevel * o, s = u + o / 2 + E;
469
469
  if (c.isDirectory ? b.push({
470
470
  key: `${c.id}-connector-top`,
471
471
  x1: s,
472
472
  y1: p,
473
473
  x2: s,
474
- y2: g - k,
474
+ y2: v - k,
475
475
  itemIndex: y
476
476
  }) : b.push({
477
477
  key: `${c.id}-connector-top`,
478
478
  x1: s,
479
479
  y1: p,
480
480
  x2: s,
481
- y2: g,
481
+ y2: v,
482
482
  itemIndex: y
483
483
  }), !c.isDirectory && c.isLastChild && b.push({
484
484
  key: `${c.id}-connector-horizontal`,
485
485
  x1: s,
486
- y1: g,
487
- x2: u + o + v,
488
- y2: g,
486
+ y1: v,
487
+ x2: u + o + E,
488
+ y2: v,
489
489
  itemIndex: y
490
490
  }), c.isLastChild || (c.isDirectory ? b.push({
491
491
  key: `${c.id}-connector-bottom`,
492
492
  x1: s,
493
- y1: g + k,
493
+ y1: v + k,
494
494
  x2: s,
495
495
  y2: p + r,
496
496
  itemIndex: y
497
497
  }) : b.push({
498
498
  key: `${c.id}-connector-bottom`,
499
499
  x1: s,
500
- y1: g,
500
+ y1: v,
501
501
  x2: s,
502
502
  y2: p + r,
503
503
  itemIndex: y
504
504
  })), a[y] = b, l && c.isDirectory) {
505
- const h = m, R = s, _ = g;
505
+ const m = h, I = s, T = v;
506
506
  i[y] = [
507
507
  {
508
508
  key: `${c.id}-glyph`,
509
509
  itemIndex: y,
510
- centerX: R,
511
- centerY: _,
512
- size: h,
510
+ centerX: I,
511
+ centerY: T,
512
+ size: m,
513
513
  isExpanded: c.isExpanded
514
514
  }
515
515
  ];
516
516
  }
517
517
  }
518
518
  return { segmentsByItem: a, glyphsByItem: i };
519
- }, ve = (e, r) => {
519
+ }, Se = (e, r) => {
520
520
  if (e == null || typeof e == "boolean") return null;
521
521
  if (typeof e == "function")
522
522
  return console.warn(`[DirectoryTree] Function returned by renderer for "${r}". Return a node.`), null;
@@ -524,7 +524,7 @@ const L = {
524
524
  if ("then" in e)
525
525
  return console.warn(`[DirectoryTree] Promise returned for "${r}". Not supported.`), null;
526
526
  if (Array.isArray(e)) {
527
- const l = e.map((n) => ve(n, r)).filter(Boolean);
527
+ const l = e.map((n) => Se(n, r)).filter(Boolean);
528
528
  return l.length ? l : null;
529
529
  }
530
530
  const o = e.type;
@@ -532,11 +532,11 @@ const L = {
532
532
  return console.warn(`[DirectoryTree] Lazy component for "${r}". Not supported.`), null;
533
533
  }
534
534
  return e;
535
- }, ut = (e, r) => {
535
+ }, gt = (e, r) => {
536
536
  const { entry: o, isDirectory: l, isExpanded: n, extension: a } = e;
537
537
  let i;
538
- return o.icon !== void 0 ? i = o.icon : l ? i = n && r?.directoryExpanded || r?.directory || /* @__PURE__ */ S.jsx(We, { className: "h-4 w-4" }) : a && r?.fileByExtension?.[a] ? i = r.fileByExtension[a] : i = r?.file || (a === "md" ? /* @__PURE__ */ S.jsx(Xe, { className: "h-4 w-4" }) : /* @__PURE__ */ S.jsx(Ge, { className: "h-4 w-4" })), ve(typeof i == "function" ? i(e) : i, o.absolutePath);
539
- }, xe = je(
538
+ return o.icon !== void 0 ? i = o.icon : l ? i = n && r?.directoryExpanded || r?.directory || /* @__PURE__ */ N.jsx(Qe, { className: "h-4 w-4" }) : a && r?.fileByExtension?.[a] ? i = r.fileByExtension[a] : i = r?.file || (a === "md" ? /* @__PURE__ */ N.jsx(Ke, { className: "h-4 w-4" }) : /* @__PURE__ */ N.jsx(rt, { className: "h-4 w-4" })), Se(typeof i == "function" ? i(e) : i, o.absolutePath);
539
+ }, ke = $e(
540
540
  ({
541
541
  entry: e,
542
542
  indentLevel: r,
@@ -544,76 +544,134 @@ const L = {
544
544
  parentIsLast: l,
545
545
  renderChildren: n = !0,
546
546
  expansion: { toggleDirectory: a, onToggleDirectoryRecursive: i },
547
- selection: { onFileSelect: m, selectedPath: v, mode: y = "none", selectedItems: c, onSelectionChange: b },
548
- visual: { iconOverrides: p, showExpandIcons: g = !0, showDirectoryIcons: k = !0, showFileIcons: u = !0, useCanvasExpandIcons: s = !1, expandIconSize: h }
547
+ selection: { onEntryClick: h, selectedPath: E, mode: y = "none", selectedItems: c, onSelectionChange: b },
548
+ visual: {
549
+ iconOverrides: p,
550
+ showExpandIcons: v = !0,
551
+ showDirectoryIcons: k = !0,
552
+ showFileIcons: u = !0,
553
+ useCanvasExpandIcons: s = !1,
554
+ expandIconSize: m,
555
+ highlightStyles: I,
556
+ entryClassName: T,
557
+ entryStyle: S,
558
+ nameClassName: d,
559
+ nameStyle: F,
560
+ directoryNameClassName: V,
561
+ directoryNameStyle: Y,
562
+ fileNameClassName: B,
563
+ fileNameStyle: q
564
+ }
549
565
  }) => {
550
- const R = se(null), [_, x] = ee(null), [d, F] = ee(!1);
551
- q(
566
+ const $ = ce(null), [H, Z] = oe(null), [J, G] = oe(!1);
567
+ K(
552
568
  () => () => {
553
- R.current && window.clearTimeout(R.current);
569
+ $.current && window.clearTimeout($.current);
554
570
  },
555
571
  []
556
572
  );
557
- const E = e.children !== void 0, N = E && o(e.absolutePath, e.relativePath), O = e.absolutePath === v, C = !E && c?.has(e.absolutePath), V = E ? void 0 : it(e.name);
558
- q(() => {
559
- x(N && e.children ? e.children : null);
560
- }, [N, e.children]);
561
- const H = j(
573
+ const g = e.children !== void 0, M = g && o(e.absolutePath), O = e.absolutePath === E, C = !g && c?.has(e.absolutePath), ae = g ? void 0 : bt(e.name);
574
+ K(() => {
575
+ Z(M && e.children ? e.children : null);
576
+ }, [M, e.children]);
577
+ const t = P(
562
578
  (D) => {
563
- if (D.stopPropagation(), y !== "none" && !E && b && b(e.absolutePath, !C), !E) return m(e.absolutePath, e.relativePath);
564
- R.current ? (window.clearTimeout(R.current), R.current = null, i(e)) : R.current = window.setTimeout(() => {
565
- a(e.absolutePath, e.relativePath), R.current = null;
566
- }, 500);
579
+ D.stopPropagation(), y !== "none" && !g && b && b(e, !C);
580
+ let se = !1;
581
+ h({
582
+ entry: e,
583
+ isDirectory: g,
584
+ isExpanded: M,
585
+ preventDefault: () => {
586
+ se = !0;
587
+ }
588
+ }), !(!g || se) && ($.current ? (window.clearTimeout($.current), $.current = null, i(e)) : $.current = window.setTimeout(() => {
589
+ a(e.absolutePath), $.current = null;
590
+ }, 500));
567
591
  },
568
- [E, e, i, a, m, y, b, C]
569
- ), Y = $(L.entry, d && L.entryHover, O && L.entrySelected, C && L.entryItemSelected, e.className), W = $(L.expandIcon, (O || C) && L.expandIconSelected), X = $(L.typeIcon, (O || C) && L.typeIconSelected), J = $(L.name, E && L.nameDirectory, (O || C) && L.nameSelected), te = lt({ isDirectory: E, isExpanded: N, showExpandIcons: g, useCanvasExpandIcons: s, expandIconSize: h }), re = (E ? k : u) ? ut({ entry: e, isDirectory: E, isExpanded: N, isSelected: O, isItemSelected: !!C, extension: V }, p) : null;
570
- return /* @__PURE__ */ S.jsxs(Ye, { children: [
571
- /* @__PURE__ */ S.jsxs(
592
+ [g, e, M, i, a, h, y, b, C]
593
+ ), f = J ? I?.hoverClassName !== void 0 ? I.hoverClassName : L.entryHover : "", x = (() => {
594
+ if (g) {
595
+ if (O)
596
+ return I?.directorySelectedClassName !== void 0 ? I.directorySelectedClassName : L.entrySelected;
597
+ } else if (O || C)
598
+ return I?.itemSelectedClassName !== void 0 ? I.itemSelectedClassName : A(O && L.entrySelected, C && L.entryItemSelected);
599
+ return "";
600
+ })(), w = A(L.entry, f, x, T, e.className), z = A(L.expandIcon, (O || C) && L.expandIconSelected), ee = A(L.typeIcon, (O || C) && L.typeIconSelected), R = A(L.name, d, g && L.nameDirectory, g && V, !g && B, (O || C) && L.nameSelected), W = pt({ isDirectory: g, isExpanded: M, showExpandIcons: v, useCanvasExpandIcons: s, expandIconSize: m }), Q = (g ? k : u) ? gt({ entry: e, isDirectory: g, isExpanded: M, isSelected: O, isItemSelected: !!C, extension: ae }, p) : null, de = {
601
+ ...J ? I?.hoverStyle : {},
602
+ ...g && O ? I?.directorySelectedStyle : {},
603
+ ...!g && (O || C) ? I?.itemSelectedStyle : {}
604
+ };
605
+ return /* @__PURE__ */ N.jsxs(Ue, { children: [
606
+ /* @__PURE__ */ N.jsxs(
572
607
  "div",
573
608
  {
574
- className: Y,
609
+ className: w,
575
610
  style: {
576
- paddingLeft: `${Math.max(0, r * de)}px`,
577
- transform: r < 0 ? `translateX(${r * de}px)` : void 0,
578
- width: r < 0 ? `calc(100% + ${Math.abs(r * de)}px)` : void 0,
579
- height: `${le}px`,
611
+ paddingLeft: `${Math.max(0, r * ye)}px`,
612
+ transform: r < 0 ? `translateX(${r * ye}px)` : void 0,
613
+ width: r < 0 ? `calc(100% + ${Math.abs(r * ye)}px)` : void 0,
614
+ height: `${ue}px`,
615
+ ...de,
616
+ ...S,
580
617
  ...e.style
581
618
  },
582
- "data-entry-type": E ? "directory" : "file",
583
- "data-entry-expanded": E ? String(N) : void 0,
619
+ "data-entry-type": g ? "directory" : "file",
620
+ "data-entry-expanded": g ? String(M) : void 0,
584
621
  "data-entry-selected": O ? "true" : void 0,
585
622
  "data-entry-item-selected": C ? "true" : void 0,
586
- onClick: H,
587
- onMouseEnter: () => F(!0),
588
- onMouseLeave: () => F(!1),
589
- onKeyDown: (D) => D.key === "Enter" && H(D),
623
+ onClick: t,
624
+ onMouseEnter: () => G(!0),
625
+ onMouseLeave: () => G(!1),
626
+ onKeyDown: (D) => D.key === "Enter" && t(D),
590
627
  tabIndex: 0,
591
628
  role: "treeitem",
592
- "aria-expanded": E ? N : void 0,
593
- "aria-label": `${e.name} (${E ? "directory" : "file"})`,
629
+ "aria-expanded": g ? M : void 0,
630
+ "aria-label": `${e.name} (${g ? "directory" : "file"})`,
594
631
  children: [
595
- (g || s) && /* @__PURE__ */ S.jsx("span", { className: W, children: te }),
596
- (E ? k : u) && /* @__PURE__ */ S.jsx("span", { className: X, children: re }),
597
- /* @__PURE__ */ S.jsx("span", { className: J, "data-entry-type": E ? "directory" : "file", "data-entry-role": "name", children: e.label ?? e.name })
632
+ (v || s) && /* @__PURE__ */ N.jsx("span", { className: z, children: W }),
633
+ (g ? k : u) && /* @__PURE__ */ N.jsx("span", { className: ee, children: Q }),
634
+ /* @__PURE__ */ N.jsx(
635
+ "span",
636
+ {
637
+ className: R,
638
+ style: {
639
+ ...F,
640
+ ...g ? Y : q
641
+ },
642
+ "data-entry-type": g ? "directory" : "file",
643
+ "data-entry-role": "name",
644
+ children: e.label ?? e.name
645
+ }
646
+ )
598
647
  ]
599
648
  }
600
649
  ),
601
- N && _ && n && /* @__PURE__ */ S.jsx("fieldset", { children: _.map((D, Z) => /* @__PURE__ */ S.jsx(
602
- xe,
650
+ M && H && n && /* @__PURE__ */ N.jsx("fieldset", { children: H.map((D, se) => /* @__PURE__ */ N.jsx(
651
+ ke,
603
652
  {
604
653
  entry: D,
605
654
  indentLevel: r + 1,
606
655
  isDirOpen: o,
607
- parentIsLast: [...l, Z === _.length - 1],
656
+ parentIsLast: [...l, se === H.length - 1],
608
657
  expansion: { toggleDirectory: a, onToggleDirectoryRecursive: i },
609
- selection: { onFileSelect: m, selectedPath: v, mode: y, selectedItems: c, onSelectionChange: b },
658
+ selection: { onEntryClick: h, selectedPath: E, mode: y, selectedItems: c, onSelectionChange: b },
610
659
  visual: {
611
660
  iconOverrides: p,
612
- showExpandIcons: g,
661
+ showExpandIcons: v,
613
662
  showDirectoryIcons: k,
614
663
  showFileIcons: u,
615
664
  useCanvasExpandIcons: s,
616
- expandIconSize: h
665
+ expandIconSize: m,
666
+ highlightStyles: I,
667
+ entryClassName: T,
668
+ entryStyle: S,
669
+ nameClassName: d,
670
+ nameStyle: F,
671
+ directoryNameClassName: V,
672
+ directoryNameStyle: Y,
673
+ fileNameClassName: B,
674
+ fileNameStyle: q
617
675
  }
618
676
  },
619
677
  D.absolutePath
@@ -622,155 +680,184 @@ const L = {
622
680
  },
623
681
  (e, r) => {
624
682
  if (e.entry !== r.entry) return !1;
625
- const o = e.entry.children !== void 0, l = r.entry.children !== void 0, n = o && e.isDirOpen(e.entry.absolutePath, e.entry.relativePath), a = l && r.isDirOpen(r.entry.absolutePath, r.entry.relativePath);
626
- return e.indentLevel === r.indentLevel && n === a && e.selection.selectedPath === r.selection.selectedPath && e.selection.mode === r.selection.mode && e.selection.selectedItems === r.selection.selectedItems && e.visual.iconOverrides === r.visual.iconOverrides && e.visual.showExpandIcons === r.visual.showExpandIcons && e.visual.showDirectoryIcons === r.visual.showDirectoryIcons && e.visual.showFileIcons === r.visual.showFileIcons && e.visual.useCanvasExpandIcons === r.visual.useCanvasExpandIcons && e.visual.expandIconSize === r.visual.expandIconSize && e.parentIsLast.length === r.parentIsLast.length && e.parentIsLast.every((i, m) => i === r.parentIsLast[m]);
683
+ const o = e.entry.children !== void 0, l = r.entry.children !== void 0, n = o && e.isDirOpen(e.entry.absolutePath), a = l && r.isDirOpen(r.entry.absolutePath);
684
+ return e.indentLevel === r.indentLevel && n === a && e.selection.selectedPath === r.selection.selectedPath && e.selection.mode === r.selection.mode && e.selection.selectedItems === r.selection.selectedItems && e.visual.iconOverrides === r.visual.iconOverrides && e.visual.showExpandIcons === r.visual.showExpandIcons && e.visual.showDirectoryIcons === r.visual.showDirectoryIcons && e.visual.showFileIcons === r.visual.showFileIcons && e.visual.useCanvasExpandIcons === r.visual.useCanvasExpandIcons && e.visual.expandIconSize === r.visual.expandIconSize && e.visual.highlightStyles === r.visual.highlightStyles && e.visual.entryClassName === r.visual.entryClassName && e.visual.entryStyle === r.visual.entryStyle && e.visual.nameClassName === r.visual.nameClassName && e.visual.nameStyle === r.visual.nameStyle && e.visual.directoryNameClassName === r.visual.directoryNameClassName && e.visual.directoryNameStyle === r.visual.directoryNameStyle && e.visual.fileNameClassName === r.visual.fileNameClassName && e.visual.fileNameStyle === r.visual.fileNameStyle && e.parentIsLast.length === r.parentIsLast.length && e.parentIsLast.every((i, h) => i === r.parentIsLast[h]);
627
685
  }
628
686
  );
629
- xe.displayName = "DirectoryEntryItem";
630
- const le = 20, dt = () => le, de = 16, Ne = 12, Me = (e) => {
687
+ ke.displayName = "DirectoryEntryItem";
688
+ const ue = 20, xt = () => ue, ye = 16, Ae = 12, Le = (e) => {
631
689
  const r = [];
632
690
  if (e.children)
633
691
  for (const o of e.children)
634
- o.type === "directory" && (r.push(o.absolutePath), r.push(...Me(o)));
692
+ o.type === "directory" && (r.push(o.absolutePath), r.push(...Le(o)));
635
693
  return r;
636
- }, bt = ({
694
+ }, Rt = ({
637
695
  entries: e,
638
- expansion: { toggle: r, isExpanded: o, expandMultiple: l, collapseMultiple: n, isPending: a, alwaysExpanded: i = !1, doubleClickAction: m = "recursive" },
639
- selection: { onFileSelect: v, selectedPath: y, mode: c = "none", selectedItems: b, onSelectionChange: p },
640
- visual: { className: g, style: k, lineColor: u = "#A0AEC0", showTreeLines: s = !0, showExpandIcons: h = !0, showDirectoryIcons: R = !0, showFileIcons: _ = !0, iconOverrides: x, expandIconSize: d, removeRootIndent: F = !1 } = {},
641
- virtualScroll: E
696
+ expansion: { toggle: r, isExpanded: o, expandMultiple: l, collapseMultiple: n, isPending: a, alwaysExpanded: i = !1, doubleClickAction: h = "recursive" },
697
+ selection: { onEntryClick: E, selectedPath: y, mode: c = "none", selectedItems: b, onSelectionChange: p },
698
+ visual: {
699
+ className: v,
700
+ style: k,
701
+ lineColor: u = "#A0AEC0",
702
+ showTreeLines: s = !0,
703
+ showExpandIcons: m = !0,
704
+ showDirectoryIcons: I = !0,
705
+ showFileIcons: T = !0,
706
+ iconOverrides: S,
707
+ expandIconSize: d,
708
+ removeRootIndent: F = !1,
709
+ highlightStyles: V,
710
+ entryClassName: Y,
711
+ entryStyle: B,
712
+ nameClassName: q,
713
+ nameStyle: $,
714
+ directoryNameClassName: H,
715
+ directoryNameStyle: Z,
716
+ fileNameClassName: J,
717
+ fileNameStyle: G
718
+ } = {},
719
+ virtualScroll: g
642
720
  }) => {
643
- const [N, O] = ee(!1), C = se(null), V = se(null), [H, Y] = ee(0), [W, X] = ee(null), {
644
- overscanCount: J = 15,
645
- className: te,
646
- background: re,
647
- onScroll: D,
648
- onRangeChange: Z,
649
- initialScrollIndex: t,
650
- initialScrollOffset: f,
651
- callbackThrottleMs: I = 5,
652
- contentInsets: P,
653
- onItemFocus: ne,
654
- viewportHeightOverride: A,
655
- scrollBarOptions: T,
656
- behaviorOptions: G
657
- } = E ?? {}, [z, fe] = ee(typeof f == "number" ? f : 0), Oe = j(
658
- (w, U) => {
659
- fe(w), D?.(w, U);
721
+ const [M, O] = oe(!1), C = ce(null), ae = ce(null), [t, f] = oe(0), [x, w] = oe(null), {
722
+ overscanCount: z = 15,
723
+ className: ee,
724
+ background: R,
725
+ onScroll: W,
726
+ onRangeChange: Q,
727
+ initialScrollIndex: de,
728
+ initialScrollOffset: D,
729
+ callbackThrottleMs: se = 5,
730
+ contentInsets: Fe,
731
+ onItemFocus: Ye,
732
+ viewportHeightOverride: U,
733
+ scrollBarOptions: Be,
734
+ behaviorOptions: He
735
+ } = g ?? {}, [pe, we] = oe(typeof D == "number" ? D : 0), We = P(
736
+ (_, re) => {
737
+ we(_), W?.(_, re);
660
738
  },
661
- [D]
662
- ), Ae = j(
663
- (w) => {
664
- const { renderingStartIndex: U, renderingEndIndex: B } = w;
665
- X((M) => M && M.renderStart === U && M.renderEnd === B ? M : { renderStart: U, renderEnd: B }), Z?.(w);
739
+ [W]
740
+ ), Xe = P(
741
+ (_) => {
742
+ const { renderingStartIndex: re, renderingEndIndex: X } = _;
743
+ w((j) => j && j.renderStart === re && j.renderEnd === X ? j : { renderStart: re, renderEnd: X }), Q?.(_);
666
744
  },
667
- [Z]
745
+ [Q]
668
746
  );
669
- q(() => {
670
- typeof f == "number" && fe(f);
671
- }, [f]), q(() => {
672
- O(!0), ot();
673
- }, []), q(() => {
674
- if (typeof A == "number") {
675
- Y((M) => Math.abs(M - A) > 1 ? A : M);
747
+ K(() => {
748
+ typeof D == "number" && we(D);
749
+ }, [D]), K(() => {
750
+ O(!0), mt();
751
+ }, []), K(() => {
752
+ if (typeof U == "number") {
753
+ f((j) => Math.abs(j - U) > 1 ? U : j);
676
754
  return;
677
755
  }
678
- const w = C.current;
679
- if (!w) return Y(0);
756
+ const _ = C.current;
757
+ if (!_) return f(0);
680
758
  (() => {
681
- const M = w.clientHeight;
682
- Y((K) => Math.abs(K - M) > 1 ? M : K);
759
+ const j = _.clientHeight;
760
+ f((ne) => Math.abs(ne - j) > 1 ? j : ne);
683
761
  })();
684
- const B = new ResizeObserver((M) => {
685
- for (const K of M)
686
- K.target === w && Y((be) => Math.abs(be - K.contentRect.height) > 1 ? K.contentRect.height : be);
762
+ const X = new ResizeObserver((j) => {
763
+ for (const ne of j)
764
+ ne.target === _ && f((Ee) => Math.abs(Ee - ne.contentRect.height) > 1 ? ne.contentRect.height : Ee);
687
765
  });
688
- return B.observe(w), () => B.disconnect();
689
- }, [A]);
690
- const Q = typeof A == "number" ? A : H, oe = j((w, U) => i || (N ? o(w) : !1), [N, o, i]), Ee = $(L.container, a && L.containerPending, g), Ie = ae(
766
+ return X.observe(_), () => X.disconnect();
767
+ }, [U]);
768
+ const te = typeof U == "number" ? U : t, le = P((_) => i || (M ? o(_) : !1), [M, o, i]), Re = A(L.container, a && L.containerPending, v), _e = ie(
691
769
  () => ({
692
- ...nt,
770
+ ...ft,
693
771
  ...k ?? {},
694
- ...typeof A == "number" ? { height: A, minHeight: A } : {}
772
+ ...typeof U == "number" ? { height: U, minHeight: U } : {}
695
773
  }),
696
- [k, A]
697
- ), $e = j(
698
- (w, U) => {
699
- const B = [w.absolutePath, ...Me(w)], M = U || m;
700
- if (B.every((ge) => oe(ge))) return n(B);
701
- if (B.every((ge) => !oe(ge)) || M === "recursive") return l(B);
702
- if (M === "toggle") return n(B);
703
- console.warn(`[DirectoryTree] Unknown double click action: ${M}. No action taken.`);
774
+ [k, U]
775
+ ), Ve = P(
776
+ (_, re) => {
777
+ const X = [_.absolutePath, ...Le(_)], j = re || h;
778
+ if (X.every((Ie) => le(Ie))) return n(X);
779
+ if (X.every((Ie) => !le(Ie)) || j === "recursive") return l(X);
780
+ if (j === "toggle") return n(X);
781
+ console.warn(`[DirectoryTree] Unknown double click action: ${j}. No action taken.`);
704
782
  },
705
- [oe, l, n, m]
706
- ), { flatItems: ie, lineItems: pe, maxIndent: ke } = ae(() => at(e, oe, s, F), [e, oe, s, F]), he = ae(
707
- () => !s || pe.length === 0 ? { segmentsByItem: [], glyphsByItem: [] } : ct(pe, le, de, s, d ?? Ne),
708
- [pe, s, d]
709
- ), me = ae(() => !s || e.length === 0 ? 0 : (ke + 2) * de, [e.length, ke, s]), { renderStart: we, renderEnd: Se, lookaheadEnd: Re } = ae(() => st(ie.length, Q, J, W, z), [ie.length, Q, J, W, z]), De = ae(() => !s || me <= 0 || Q <= 0 || he.segmentsByItem.length === 0 ? null : /* @__PURE__ */ S.jsx("div", { className: "pointer-events-none absolute inset-0 z-0", "aria-hidden": "true", children: /* @__PURE__ */ S.jsx("div", { className: "absolute top-0 left-0", style: { width: me, height: Q }, children: /* @__PURE__ */ S.jsx(
710
- Ce,
783
+ [le, l, n, h]
784
+ ), { flatItems: fe, lineItems: xe, maxIndent: Ne } = ie(() => ht(e, le, s, F), [e, le, s, F]), be = ie(
785
+ () => !s || xe.length === 0 ? { segmentsByItem: [], glyphsByItem: [] } : vt(xe, ue, ye, s, d ?? Ae),
786
+ [xe, s, d]
787
+ ), ve = ie(() => !s || e.length === 0 ? 0 : (Ne + 2) * ye, [e.length, Ne, s]), { renderStart: Te, renderEnd: Pe, lookaheadEnd: Ce } = ie(() => yt(fe.length, te, z, x, pe), [fe.length, te, z, x, pe]), Je = ie(() => !s || ve <= 0 || te <= 0 || be.segmentsByItem.length === 0 ? null : /* @__PURE__ */ N.jsx("div", { className: "pointer-events-none absolute inset-0 z-0", "aria-hidden": "true", children: /* @__PURE__ */ N.jsx("div", { className: "absolute top-0 left-0", style: { width: ve, height: te }, children: /* @__PURE__ */ N.jsx(
788
+ De,
711
789
  {
712
- segmentsByItem: he.segmentsByItem,
713
- glyphsByItem: he.glyphsByItem,
714
- itemHeight: le,
715
- width: me,
716
- viewportHeight: Q,
717
- scrollPosition: z,
790
+ segmentsByItem: be.segmentsByItem,
791
+ glyphsByItem: be.glyphsByItem,
792
+ itemHeight: ue,
793
+ width: ve,
794
+ viewportHeight: te,
795
+ scrollPosition: pe,
718
796
  color: u,
719
797
  expandGlyphColor: u,
720
- expandGlyphSize: d ?? Ne,
721
- renderStartIndex: we,
722
- renderEndIndex: Se,
723
- lookaheadEndIndex: Re
798
+ expandGlyphSize: d ?? Ae,
799
+ renderStartIndex: Te,
800
+ renderEndIndex: Pe,
801
+ lookaheadEndIndex: Ce
724
802
  }
725
- ) }) }), [me, Q, we, Se, Re, z, he, u, s, d]), Le = j((w) => ie[w], [ie]);
726
- return e.length === 0 ? /* @__PURE__ */ S.jsx("div", { className: Ee, style: Ie }) : /* @__PURE__ */ S.jsx("div", { ref: C, className: Ee, style: Ie, role: "tree", children: /* @__PURE__ */ S.jsx(
727
- He,
803
+ ) }) }), [ve, te, Te, Pe, Ce, pe, be, u, s, d]), Ge = P((_) => fe[_], [fe]);
804
+ return e.length === 0 ? /* @__PURE__ */ N.jsx("div", { className: Re, style: _e }) : /* @__PURE__ */ N.jsx("div", { ref: C, className: Re, style: _e, role: "tree", children: /* @__PURE__ */ N.jsx(
805
+ Ze,
728
806
  {
729
- ref: V,
730
- itemCount: ie.length,
731
- getItem: Le,
732
- getItemHeight: dt,
733
- viewportSize: Q,
734
- overscanCount: J,
735
- onScroll: Oe,
736
- onRangeChange: Ae,
737
- className: te,
738
- background: /* @__PURE__ */ S.jsxs(S.Fragment, { children: [
739
- De,
740
- re
807
+ ref: ae,
808
+ itemCount: fe.length,
809
+ getItem: Ge,
810
+ getItemHeight: xt,
811
+ viewportSize: te,
812
+ overscanCount: z,
813
+ onScroll: We,
814
+ onRangeChange: Xe,
815
+ className: ee,
816
+ background: /* @__PURE__ */ N.jsxs(N.Fragment, { children: [
817
+ Je,
818
+ R
741
819
  ] }),
742
- initialScrollIndex: t,
743
- initialScrollOffset: f,
744
- onItemFocus: ne,
745
- callbackThrottleMs: I,
746
- contentInsets: P,
747
- scrollBarOptions: T,
748
- behaviorOptions: G,
749
- children: (w) => w && /* @__PURE__ */ S.jsx(
750
- xe,
820
+ initialScrollIndex: de,
821
+ initialScrollOffset: D,
822
+ onItemFocus: Ye,
823
+ callbackThrottleMs: se,
824
+ contentInsets: Fe,
825
+ scrollBarOptions: Be,
826
+ behaviorOptions: He,
827
+ children: (_) => _ && /* @__PURE__ */ N.jsx(
828
+ ke,
751
829
  {
752
- entry: w.entry,
753
- indentLevel: w.indentLevel,
754
- isDirOpen: oe,
755
- parentIsLast: w.parentIsLast,
830
+ entry: _.entry,
831
+ indentLevel: _.indentLevel,
832
+ isDirOpen: le,
833
+ parentIsLast: _.parentIsLast,
756
834
  renderChildren: !1,
757
- expansion: { toggleDirectory: r, onToggleDirectoryRecursive: $e },
758
- selection: { onFileSelect: v, selectedPath: y ?? null, mode: c, selectedItems: b, onSelectionChange: p },
835
+ expansion: { toggleDirectory: r, onToggleDirectoryRecursive: Ve },
836
+ selection: { onEntryClick: E, selectedPath: y ?? null, mode: c, selectedItems: b, onSelectionChange: p },
759
837
  visual: {
760
- iconOverrides: x,
761
- showExpandIcons: h,
762
- showDirectoryIcons: R,
763
- showFileIcons: _,
838
+ iconOverrides: S,
839
+ showExpandIcons: m,
840
+ showDirectoryIcons: I,
841
+ showFileIcons: T,
764
842
  useCanvasExpandIcons: s,
765
- expandIconSize: d
843
+ expandIconSize: d,
844
+ highlightStyles: V,
845
+ entryClassName: Y,
846
+ entryStyle: B,
847
+ nameClassName: q,
848
+ nameStyle: $,
849
+ directoryNameClassName: H,
850
+ directoryNameStyle: Z,
851
+ fileNameClassName: J,
852
+ fileNameStyle: G
766
853
  }
767
854
  },
768
- w.entry.absolutePath
855
+ _.entry.absolutePath
769
856
  )
770
857
  }
771
858
  ) });
772
- }, gt = ({ initialExpanded: e = /* @__PURE__ */ new Set(), storageKey: r } = {}) => {
773
- const [o, l] = Be(), [n, a] = ee(() => {
859
+ }, _t = ({ initialExpanded: e = /* @__PURE__ */ new Set(), storageKey: r } = {}) => {
860
+ const [o, l] = qe(), [n, a] = oe(() => {
774
861
  if (typeof window < "u" && r)
775
862
  try {
776
863
  const u = window.localStorage.getItem(r);
@@ -782,23 +869,23 @@ const le = 20, dt = () => le, de = 16, Ne = 12, Me = (e) => {
782
869
  console.error("[useDirectoryTreeState] Error reading from localStorage", u);
783
870
  }
784
871
  return e;
785
- }), i = j((u) => {
872
+ }), i = P((u) => {
786
873
  l(() => {
787
874
  a((s) => {
788
- const h = new Set(s);
789
- return u(h), h;
875
+ const m = new Set(s);
876
+ return u(m), m;
790
877
  });
791
878
  });
792
- }, []), m = j(
879
+ }, []), h = P(
793
880
  (u, s) => {
794
- i((h) => {
795
- for (const R of u)
796
- s(h, R);
881
+ i((m) => {
882
+ for (const I of u)
883
+ s(m, I);
797
884
  });
798
885
  },
799
886
  [i]
800
887
  );
801
- q(() => {
888
+ K(() => {
802
889
  if (r && typeof window < "u")
803
890
  try {
804
891
  window.localStorage.setItem(r, JSON.stringify(Array.from(n)));
@@ -806,60 +893,60 @@ const le = 20, dt = () => le, de = 16, Ne = 12, Me = (e) => {
806
893
  console.warn(`Error setting localStorage key "${r}":`, u);
807
894
  }
808
895
  }, [n, r]);
809
- const v = j(
896
+ const E = P(
810
897
  (u) => {
811
- m([u], (s, h) => {
812
- s.has(h) ? s.delete(h) : s.add(h);
898
+ h([u], (s, m) => {
899
+ s.has(m) ? s.delete(m) : s.add(m);
813
900
  });
814
901
  },
815
- [m]
816
- ), y = j(
902
+ [h]
903
+ ), y = P(
817
904
  (u) => {
818
- m([u], (s, h) => {
819
- s.add(h);
905
+ h([u], (s, m) => {
906
+ s.add(m);
820
907
  });
821
908
  },
822
- [m]
823
- ), c = j(
909
+ [h]
910
+ ), c = P(
824
911
  (u) => {
825
- m([u], (s, h) => {
826
- s.delete(h);
912
+ h([u], (s, m) => {
913
+ s.delete(m);
827
914
  });
828
915
  },
829
- [m]
830
- ), b = j(
916
+ [h]
917
+ ), b = P(
831
918
  (u) => {
832
- m(u, (s, h) => {
833
- s.delete(h);
919
+ h(u, (s, m) => {
920
+ s.delete(m);
834
921
  });
835
922
  },
836
- [m]
837
- ), p = j(
923
+ [h]
924
+ ), p = P(
838
925
  (u) => {
839
- m(u, (s, h) => {
840
- s.add(h);
926
+ h(u, (s, m) => {
927
+ s.add(m);
841
928
  });
842
929
  },
843
- [m]
844
- ), g = j(() => {
930
+ [h]
931
+ ), v = P(() => {
845
932
  i((u) => {
846
933
  u.clear();
847
934
  });
848
- }, [i]), k = j((u) => n.has(u), [n]);
935
+ }, [i]), k = P((u) => n.has(u), [n]);
849
936
  return {
850
937
  expanded: n,
851
- toggle: v,
938
+ toggle: E,
852
939
  expand: y,
853
940
  collapse: c,
854
941
  collapseMultiple: b,
855
942
  expandMultiple: p,
856
- collapseAll: g,
943
+ collapseAll: v,
857
944
  isExpanded: k,
858
945
  isPending: o
859
946
  };
860
947
  };
861
948
  export {
862
- bt as DirectoryTree,
949
+ Rt as DirectoryTree,
863
950
  L as directoryTreeClasses,
864
- gt as useDirectoryTreeState
951
+ _t as useDirectoryTreeState
865
952
  };