react-resizable-panels 4.8.0 → 4.10.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.
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { jsx as ie } from "react/jsx-runtime";
3
- import { useState as re, useCallback as ne, useId as pt, useLayoutEffect as We, useEffect as pe, useRef as T, createContext as ht, useImperativeHandle as Ue, useMemo as ge, useSyncExternalStore as Ke, useContext as mt } from "react";
2
+ import { jsx as ae } from "react/jsx-runtime";
3
+ import { useState as Q, useCallback as re, useId as pt, useLayoutEffect as Ue, useEffect as me, useRef as O, createContext as ht, useImperativeHandle as Ke, useMemo as Se, useSyncExternalStore as Xe, useContext as mt } from "react";
4
4
  function gt(e, t) {
5
5
  const n = getComputedStyle(e), o = parseFloat(n.fontSize);
6
6
  return t * o;
@@ -15,7 +15,7 @@ function St(e) {
15
15
  function vt(e) {
16
16
  return e / 100 * window.innerWidth;
17
17
  }
18
- function zt(e) {
18
+ function bt(e) {
19
19
  switch (typeof e) {
20
20
  case "number":
21
21
  return [e, "px"];
@@ -25,13 +25,13 @@ function zt(e) {
25
25
  }
26
26
  }
27
27
  }
28
- function te({
28
+ function ie({
29
29
  groupSize: e,
30
30
  panelElement: t,
31
31
  styleProp: n
32
32
  }) {
33
33
  let o;
34
- const [i, s] = zt(n);
34
+ const [i, s] = bt(n);
35
35
  switch (s) {
36
36
  case "%": {
37
37
  o = i / 100 * e;
@@ -60,17 +60,17 @@ function te({
60
60
  }
61
61
  return o;
62
62
  }
63
- function D(e) {
63
+ function T(e) {
64
64
  return parseFloat(e.toFixed(3));
65
65
  }
66
- function Q({
66
+ function ne({
67
67
  group: e
68
68
  }) {
69
69
  const { orientation: t, panels: n } = e;
70
70
  return n.reduce((o, i) => (o += t === "horizontal" ? i.element.offsetWidth : i.element.offsetHeight, o), 0);
71
71
  }
72
- function ye(e) {
73
- const { panels: t } = e, n = Q({ group: e });
72
+ function ve(e) {
73
+ const { panels: t } = e, n = ne({ group: e });
74
74
  return n === 0 ? t.map((o) => ({
75
75
  groupResizeBehavior: o.panelConstraints.groupResizeBehavior,
76
76
  collapsedSize: 0,
@@ -84,39 +84,39 @@ function ye(e) {
84
84
  const { element: i, panelConstraints: s } = o;
85
85
  let l = 0;
86
86
  if (s.collapsedSize !== void 0) {
87
- const f = te({
87
+ const f = ie({
88
88
  groupSize: n,
89
89
  panelElement: i,
90
90
  styleProp: s.collapsedSize
91
91
  });
92
- l = D(f / n * 100);
92
+ l = T(f / n * 100);
93
93
  }
94
94
  let r;
95
95
  if (s.defaultSize !== void 0) {
96
- const f = te({
96
+ const f = ie({
97
97
  groupSize: n,
98
98
  panelElement: i,
99
99
  styleProp: s.defaultSize
100
100
  });
101
- r = D(f / n * 100);
101
+ r = T(f / n * 100);
102
102
  }
103
103
  let a = 0;
104
104
  if (s.minSize !== void 0) {
105
- const f = te({
105
+ const f = ie({
106
106
  groupSize: n,
107
107
  panelElement: i,
108
108
  styleProp: s.minSize
109
109
  });
110
- a = D(f / n * 100);
110
+ a = T(f / n * 100);
111
111
  }
112
- let u = 100;
112
+ let c = 100;
113
113
  if (s.maxSize !== void 0) {
114
- const f = te({
114
+ const f = ie({
115
115
  groupSize: n,
116
116
  panelElement: i,
117
117
  styleProp: s.maxSize
118
118
  });
119
- u = D(f / n * 100);
119
+ c = T(f / n * 100);
120
120
  }
121
121
  return {
122
122
  groupResizeBehavior: s.groupResizeBehavior,
@@ -125,21 +125,21 @@ function ye(e) {
125
125
  defaultSize: r,
126
126
  disabled: s.disabled,
127
127
  minSize: a,
128
- maxSize: u,
128
+ maxSize: c,
129
129
  panelId: o.id
130
130
  };
131
131
  });
132
132
  }
133
- function L(e, t = "Assertion error") {
133
+ function C(e, t = "Assertion error") {
134
134
  if (!e)
135
135
  throw Error(t);
136
136
  }
137
- function Se(e, t) {
137
+ function be(e, t) {
138
138
  return Array.from(t).sort(
139
- e === "horizontal" ? bt : xt
139
+ e === "horizontal" ? zt : xt
140
140
  );
141
141
  }
142
- function bt(e, t) {
142
+ function zt(e, t) {
143
143
  const n = e.element.offsetLeft - t.element.offsetLeft;
144
144
  return n !== 0 ? n : e.element.offsetWidth - t.element.offsetWidth;
145
145
  }
@@ -147,10 +147,10 @@ function xt(e, t) {
147
147
  const n = e.element.offsetTop - t.element.offsetTop;
148
148
  return n !== 0 ? n : e.element.offsetHeight - t.element.offsetHeight;
149
149
  }
150
- function Xe(e) {
150
+ function qe(e) {
151
151
  return e !== null && typeof e == "object" && "nodeType" in e && e.nodeType === Node.ELEMENT_NODE;
152
152
  }
153
- function qe(e, t) {
153
+ function Ye(e, t) {
154
154
  return {
155
155
  x: e.x >= t.left && e.x <= t.right ? 0 : Math.min(
156
156
  Math.abs(e.x - t.left),
@@ -173,37 +173,37 @@ function wt({
173
173
  };
174
174
  let i, s = Number.MAX_VALUE;
175
175
  for (const l of t) {
176
- const { x: r, y: a } = qe(o, l), u = e === "horizontal" ? r : a;
177
- u < s && (s = u, i = l);
176
+ const { x: r, y: a } = Ye(o, l), c = e === "horizontal" ? r : a;
177
+ c < s && (s = c, i = l);
178
178
  }
179
- return L(i, "No rect found"), i;
179
+ return C(i, "No rect found"), i;
180
180
  }
181
- let ue;
181
+ let fe;
182
182
  function Pt() {
183
- return ue === void 0 && (typeof matchMedia == "function" ? ue = !!matchMedia("(pointer:coarse)").matches : ue = !1), ue;
183
+ return fe === void 0 && (typeof matchMedia == "function" ? fe = !!matchMedia("(pointer:coarse)").matches : fe = !1), fe;
184
184
  }
185
- function Ye(e) {
186
- const { element: t, orientation: n, panels: o, separators: i } = e, s = Se(
185
+ function Je(e) {
186
+ const { element: t, orientation: n, panels: o, separators: i } = e, s = be(
187
187
  n,
188
- Array.from(t.children).filter(Xe).map((x) => ({ element: x }))
188
+ Array.from(t.children).filter(qe).map((x) => ({ element: x }))
189
189
  ).map(({ element: x }) => x), l = [];
190
- let r = !1, a = !1, u = -1, f = -1, g = 0, d, z = [];
190
+ let r = !1, a = !1, c = -1, f = -1, g = 0, d, b = [];
191
191
  {
192
192
  let x = -1;
193
- for (const c of s)
194
- c.hasAttribute("data-panel") && (x++, c.hasAttribute("data-disabled") || (g++, u === -1 && (u = x), f = x));
193
+ for (const u of s)
194
+ u.hasAttribute("data-panel") && (x++, u.hasAttribute("data-disabled") || (g++, c === -1 && (c = x), f = x));
195
195
  }
196
196
  if (g > 1) {
197
197
  let x = -1;
198
- for (const c of s)
199
- if (c.hasAttribute("data-panel")) {
198
+ for (const u of s)
199
+ if (u.hasAttribute("data-panel")) {
200
200
  x++;
201
201
  const p = o.find(
202
- (m) => m.element === c
202
+ (m) => m.element === u
203
203
  );
204
204
  if (p) {
205
205
  if (d) {
206
- const m = d.element.getBoundingClientRect(), S = c.getBoundingClientRect();
206
+ const m = d.element.getBoundingClientRect(), S = u.getBoundingClientRect();
207
207
  let v;
208
208
  if (a) {
209
209
  const y = n === "horizontal" ? new DOMRect(
@@ -217,7 +217,7 @@ function Ye(e) {
217
217
  m.width,
218
218
  0
219
219
  ), h = n === "horizontal" ? new DOMRect(S.left, S.top, 0, S.height) : new DOMRect(S.left, S.top, S.width, 0);
220
- switch (z.length) {
220
+ switch (b.length) {
221
221
  case 0: {
222
222
  v = [
223
223
  y,
@@ -226,24 +226,24 @@ function Ye(e) {
226
226
  break;
227
227
  }
228
228
  case 1: {
229
- const P = z[0], M = wt({
229
+ const w = b[0], M = wt({
230
230
  orientation: n,
231
231
  rects: [m, S],
232
- targetRect: P.element.getBoundingClientRect()
232
+ targetRect: w.element.getBoundingClientRect()
233
233
  });
234
234
  v = [
235
- P,
235
+ w,
236
236
  M === m ? h : y
237
237
  ];
238
238
  break;
239
239
  }
240
240
  default: {
241
- v = z;
241
+ v = b;
242
242
  break;
243
243
  }
244
244
  }
245
245
  } else
246
- z.length ? v = z : v = [
246
+ b.length ? v = b : v = [
247
247
  n === "horizontal" ? new DOMRect(
248
248
  m.right,
249
249
  S.top,
@@ -258,49 +258,49 @@ function Ye(e) {
258
258
  ];
259
259
  for (const y of v) {
260
260
  let h = "width" in y ? y : y.element.getBoundingClientRect();
261
- const P = Pt() ? e.resizeTargetMinimumSize.coarse : e.resizeTargetMinimumSize.fine;
262
- if (h.width < P) {
263
- const C = P - h.width;
261
+ const w = Pt() ? e.resizeTargetMinimumSize.coarse : e.resizeTargetMinimumSize.fine;
262
+ if (h.width < w) {
263
+ const P = w - h.width;
264
264
  h = new DOMRect(
265
- h.x - C / 2,
265
+ h.x - P / 2,
266
266
  h.y,
267
- h.width + C,
267
+ h.width + P,
268
268
  h.height
269
269
  );
270
270
  }
271
- if (h.height < P) {
272
- const C = P - h.height;
271
+ if (h.height < w) {
272
+ const P = w - h.height;
273
273
  h = new DOMRect(
274
274
  h.x,
275
- h.y - C / 2,
275
+ h.y - P / 2,
276
276
  h.width,
277
- h.height + C
277
+ h.height + P
278
278
  );
279
279
  }
280
- const M = x <= u || x > f;
280
+ const M = x <= c || x > f;
281
281
  !r && !M && l.push({
282
282
  group: e,
283
- groupSize: Q({ group: e }),
283
+ groupSize: ne({ group: e }),
284
284
  panels: [d, p],
285
285
  separator: "width" in y ? void 0 : y,
286
286
  rect: h
287
287
  }), r = !1;
288
288
  }
289
289
  }
290
- a = !1, d = p, z = [];
290
+ a = !1, d = p, b = [];
291
291
  }
292
- } else if (c.hasAttribute("data-separator")) {
293
- c.ariaDisabled !== null && (r = !0);
292
+ } else if (u.hasAttribute("data-separator")) {
293
+ u.ariaDisabled !== null && (r = !0);
294
294
  const p = i.find(
295
- (m) => m.element === c
295
+ (m) => m.element === u
296
296
  );
297
- p ? z.push(p) : (d = void 0, z = []);
297
+ p ? b.push(p) : (d = void 0, b = []);
298
298
  } else
299
299
  a = !0;
300
300
  }
301
301
  return l;
302
302
  }
303
- class Je {
303
+ class Ze {
304
304
  #e = {};
305
305
  addListener(t, n) {
306
306
  const o = this.#e[t];
@@ -320,8 +320,8 @@ class Je {
320
320
  const a = l[r];
321
321
  try {
322
322
  a.call(null, n);
323
- } catch (u) {
324
- s === null && (i = !0, s = u);
323
+ } catch (c) {
324
+ s === null && (i = !0, s = c);
325
325
  }
326
326
  }
327
327
  if (i)
@@ -339,34 +339,34 @@ class Je {
339
339
  }
340
340
  }
341
341
  }
342
- let A = /* @__PURE__ */ new Map();
343
- const Ze = new Je();
342
+ let F = /* @__PURE__ */ new Map();
343
+ const Qe = new Ze();
344
344
  function Lt(e) {
345
- A = new Map(A), A.delete(e);
345
+ F = new Map(F), F.delete(e);
346
346
  }
347
- function Ee(e, t) {
348
- for (const [n] of A)
347
+ function ke(e, t) {
348
+ for (const [n] of F)
349
349
  if (n.id === e)
350
350
  return n;
351
351
  }
352
- function $(e, t) {
353
- for (const [n, o] of A)
352
+ function H(e, t) {
353
+ for (const [n, o] of F)
354
354
  if (n.id === e)
355
355
  return o;
356
356
  if (t)
357
357
  throw Error(`Could not find data for Group with id ${e}`);
358
358
  }
359
- function U() {
360
- return A;
359
+ function X() {
360
+ return F;
361
361
  }
362
- function ve(e, t) {
363
- return Ze.addListener("groupChange", (n) => {
362
+ function ze(e, t) {
363
+ return Qe.addListener("groupChange", (n) => {
364
364
  n.group.id === e && t(n);
365
365
  });
366
366
  }
367
- function _(e, t) {
368
- const n = A.get(e);
369
- A = new Map(A), A.set(e, t), Ze.emit("groupChange", {
367
+ function $(e, t) {
368
+ const n = F.get(e);
369
+ F = new Map(F), F.set(e, t), Qe.emit("groupChange", {
370
370
  group: e,
371
371
  prev: n,
372
372
  next: t
@@ -378,7 +378,7 @@ function Ct(e, t, n) {
378
378
  y: 1 / 0
379
379
  };
380
380
  for (const s of t) {
381
- const l = qe(n, s.rect);
381
+ const l = Ye(n, s.rect);
382
382
  switch (e) {
383
383
  case "horizontal": {
384
384
  l.x <= i.x && (o = s, i = l);
@@ -401,19 +401,19 @@ function Rt(e) {
401
401
  function Mt(e, t) {
402
402
  if (e === t) throw new Error("Cannot compare node with itself");
403
403
  const n = {
404
- a: De(e),
405
- b: De(t)
404
+ a: Te(e),
405
+ b: Te(t)
406
406
  };
407
407
  let o;
408
408
  for (; n.a.at(-1) === n.b.at(-1); )
409
409
  o = n.a.pop(), n.b.pop();
410
- L(
410
+ C(
411
411
  o,
412
412
  "Stacking order can only be calculated for elements with a common ancestor"
413
413
  );
414
414
  const i = {
415
- a: Ie(ke(n.a)),
416
- b: Ie(ke(n.b))
415
+ a: De(Ie(n.a)),
416
+ b: De(Ie(n.b))
417
417
  };
418
418
  if (i.a === i.b) {
419
419
  const s = o.childNodes, l = {
@@ -431,31 +431,31 @@ function Mt(e, t) {
431
431
  }
432
432
  const Et = /\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;
433
433
  function kt(e) {
434
- const t = getComputedStyle(Qe(e) ?? e).display;
434
+ const t = getComputedStyle(et(e) ?? e).display;
435
435
  return t === "flex" || t === "inline-flex";
436
436
  }
437
437
  function It(e) {
438
438
  const t = getComputedStyle(e);
439
439
  return !!(t.position === "fixed" || t.zIndex !== "auto" && (t.position !== "static" || kt(e)) || +t.opacity < 1 || "transform" in t && t.transform !== "none" || "webkitTransform" in t && t.webkitTransform !== "none" || "mixBlendMode" in t && t.mixBlendMode !== "normal" || "filter" in t && t.filter !== "none" || "webkitFilter" in t && t.webkitFilter !== "none" || "isolation" in t && t.isolation === "isolate" || Et.test(t.willChange) || t.webkitOverflowScrolling === "touch");
440
440
  }
441
- function ke(e) {
441
+ function Ie(e) {
442
442
  let t = e.length;
443
443
  for (; t--; ) {
444
444
  const n = e[t];
445
- if (L(n, "Missing node"), It(n)) return n;
445
+ if (C(n, "Missing node"), It(n)) return n;
446
446
  }
447
447
  return null;
448
448
  }
449
- function Ie(e) {
449
+ function De(e) {
450
450
  return e && Number(getComputedStyle(e).zIndex) || 0;
451
451
  }
452
- function De(e) {
452
+ function Te(e) {
453
453
  const t = [];
454
454
  for (; e; )
455
- t.push(e), e = Qe(e);
455
+ t.push(e), e = et(e);
456
456
  return t;
457
457
  }
458
- function Qe(e) {
458
+ function et(e) {
459
459
  const { parentNode: t } = e;
460
460
  return Rt(t) ? t.host : t;
461
461
  }
@@ -467,7 +467,7 @@ function Tt({
467
467
  hitRegion: t,
468
468
  pointerEventTarget: n
469
469
  }) {
470
- if (!Xe(n) || n.contains(e) || e.contains(n))
470
+ if (!qe(n) || n.contains(e) || e.contains(n))
471
471
  return !0;
472
472
  if (Mt(n, e) > 0) {
473
473
  let o = n;
@@ -481,12 +481,12 @@ function Tt({
481
481
  }
482
482
  return !0;
483
483
  }
484
- function ze(e, t) {
484
+ function xe(e, t) {
485
485
  const n = [];
486
486
  return t.forEach((o, i) => {
487
487
  if (i.disabled)
488
488
  return;
489
- const s = Ye(i), l = Ct(i.orientation, s, {
489
+ const s = Je(i), l = Ct(i.orientation, s, {
490
490
  x: e.clientX,
491
491
  y: e.clientY
492
492
  });
@@ -505,13 +505,13 @@ function Ot(e, t) {
505
505
  return !1;
506
506
  return !0;
507
507
  }
508
- function I(e, t, n = 0) {
509
- return Math.abs(D(e) - D(t)) <= n;
508
+ function D(e, t, n = 0) {
509
+ return Math.abs(T(e) - T(t)) <= n;
510
510
  }
511
- function G(e, t) {
512
- return I(e, t) ? 0 : e > t ? 1 : -1;
511
+ function A(e, t) {
512
+ return D(e, t) ? 0 : e > t ? 1 : -1;
513
513
  }
514
- function Y({
514
+ function Z({
515
515
  overrideDisabledPanels: e,
516
516
  panelConstraints: t,
517
517
  prevSize: n,
@@ -526,15 +526,15 @@ function Y({
526
526
  } = t;
527
527
  if (l && !e)
528
528
  return n;
529
- if (G(o, a) < 0)
529
+ if (A(o, a) < 0)
530
530
  if (s) {
531
- const u = (i + a) / 2;
532
- G(o, u) < 0 ? o = i : o = a;
531
+ const c = (i + a) / 2;
532
+ A(o, c) < 0 ? o = i : o = a;
533
533
  } else
534
534
  o = a;
535
- return o = Math.min(r, o), o = D(o), o;
535
+ return o = Math.min(r, o), o = T(o), o;
536
536
  }
537
- function se({
537
+ function le({
538
538
  delta: e,
539
539
  initialLayout: t,
540
540
  panelConstraints: n,
@@ -542,18 +542,18 @@ function se({
542
542
  prevLayout: i,
543
543
  trigger: s
544
544
  }) {
545
- if (I(e, 0))
545
+ if (D(e, 0))
546
546
  return t;
547
- const l = s === "imperative-api", r = Object.values(t), a = Object.values(i), u = [...r], [f, g] = o;
548
- L(f != null, "Invalid first pivot index"), L(g != null, "Invalid second pivot index");
547
+ const l = s === "imperative-api", r = Object.values(t), a = Object.values(i), c = [...r], [f, g] = o;
548
+ C(f != null, "Invalid first pivot index"), C(g != null, "Invalid second pivot index");
549
549
  let d = 0;
550
550
  switch (s) {
551
551
  case "keyboard": {
552
552
  {
553
- const c = e < 0 ? g : f, p = n[c];
554
- L(
553
+ const u = e < 0 ? g : f, p = n[u];
554
+ C(
555
555
  p,
556
- `Panel constraints not found for index ${c}`
556
+ `Panel constraints not found for index ${u}`
557
557
  );
558
558
  const {
559
559
  collapsedSize: m = 0,
@@ -561,21 +561,21 @@ function se({
561
561
  minSize: v = 0
562
562
  } = p;
563
563
  if (S) {
564
- const y = r[c];
565
- if (L(
564
+ const y = r[u];
565
+ if (C(
566
566
  y != null,
567
- `Previous layout not found for panel index ${c}`
568
- ), I(y, m)) {
567
+ `Previous layout not found for panel index ${u}`
568
+ ), D(y, m)) {
569
569
  const h = v - y;
570
- G(h, Math.abs(e)) > 0 && (e = e < 0 ? 0 - h : h);
570
+ A(h, Math.abs(e)) > 0 && (e = e < 0 ? 0 - h : h);
571
571
  }
572
572
  }
573
573
  }
574
574
  {
575
- const c = e < 0 ? f : g, p = n[c];
576
- L(
575
+ const u = e < 0 ? f : g, p = n[u];
576
+ C(
577
577
  p,
578
- `No panel constraints found for index ${c}`
578
+ `No panel constraints found for index ${u}`
579
579
  );
580
580
  const {
581
581
  collapsedSize: m = 0,
@@ -583,52 +583,52 @@ function se({
583
583
  minSize: v = 0
584
584
  } = p;
585
585
  if (S) {
586
- const y = r[c];
587
- if (L(
586
+ const y = r[u];
587
+ if (C(
588
588
  y != null,
589
- `Previous layout not found for panel index ${c}`
590
- ), I(y, v)) {
589
+ `Previous layout not found for panel index ${u}`
590
+ ), D(y, v)) {
591
591
  const h = y - m;
592
- G(h, Math.abs(e)) > 0 && (e = e < 0 ? 0 - h : h);
592
+ A(h, Math.abs(e)) > 0 && (e = e < 0 ? 0 - h : h);
593
593
  }
594
594
  }
595
595
  }
596
596
  break;
597
597
  }
598
598
  default: {
599
- const c = e < 0 ? g : f, p = n[c];
600
- L(
599
+ const u = e < 0 ? g : f, p = n[u];
600
+ C(
601
601
  p,
602
- `Panel constraints not found for index ${c}`
602
+ `Panel constraints not found for index ${u}`
603
603
  );
604
- const m = r[c], { collapsible: S, collapsedSize: v, minSize: y } = p;
605
- if (S && G(m, y) < 0)
604
+ const m = r[u], { collapsible: S, collapsedSize: v, minSize: y } = p;
605
+ if (S && A(m, y) < 0)
606
606
  if (e > 0) {
607
- const h = y - v, P = h / 2, M = m + e;
608
- G(M, y) < 0 && (e = G(e, P) <= 0 ? 0 : h);
607
+ const h = y - v, w = h / 2, M = m + e;
608
+ A(M, y) < 0 && (e = A(e, w) <= 0 ? 0 : h);
609
609
  } else {
610
- const h = y - v, P = 100 - h / 2, M = m - e;
611
- G(M, y) < 0 && (e = G(100 + e, P) > 0 ? 0 : -h);
610
+ const h = y - v, w = 100 - h / 2, M = m - e;
611
+ A(M, y) < 0 && (e = A(100 + e, w) > 0 ? 0 : -h);
612
612
  }
613
613
  break;
614
614
  }
615
615
  }
616
616
  {
617
- const c = e < 0 ? 1 : -1;
617
+ const u = e < 0 ? 1 : -1;
618
618
  let p = e < 0 ? g : f, m = 0;
619
619
  for (; ; ) {
620
620
  const v = r[p];
621
- L(
621
+ C(
622
622
  v != null,
623
623
  `Previous layout not found for panel index ${p}`
624
624
  );
625
- const h = Y({
625
+ const h = Z({
626
626
  overrideDisabledPanels: l,
627
627
  panelConstraints: n[p],
628
628
  prevSize: v,
629
629
  size: 100
630
630
  }) - v;
631
- if (m += h, p += c, p < 0 || p >= n.length)
631
+ if (m += h, p += u, p < 0 || p >= n.length)
632
632
  break;
633
633
  }
634
634
  const S = Math.min(Math.abs(e), Math.abs(m));
@@ -638,75 +638,75 @@ function se({
638
638
  let p = e < 0 ? f : g;
639
639
  for (; p >= 0 && p < n.length; ) {
640
640
  const m = Math.abs(e) - Math.abs(d), S = r[p];
641
- L(
641
+ C(
642
642
  S != null,
643
643
  `Previous layout not found for panel index ${p}`
644
644
  );
645
- const v = S - m, y = Y({
645
+ const v = S - m, y = Z({
646
646
  overrideDisabledPanels: l,
647
647
  panelConstraints: n[p],
648
648
  prevSize: S,
649
649
  size: v
650
650
  });
651
- if (!I(S, y) && (d += S - y, u[p] = y, d.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
651
+ if (!D(S, y) && (d += S - y, c[p] = y, d.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
652
652
  numeric: !0
653
653
  }) >= 0))
654
654
  break;
655
655
  e < 0 ? p-- : p++;
656
656
  }
657
657
  }
658
- if (Ot(a, u))
658
+ if (Ot(a, c))
659
659
  return i;
660
660
  {
661
- const c = e < 0 ? g : f, p = r[c];
662
- L(
661
+ const u = e < 0 ? g : f, p = r[u];
662
+ C(
663
663
  p != null,
664
- `Previous layout not found for panel index ${c}`
664
+ `Previous layout not found for panel index ${u}`
665
665
  );
666
- const m = p + d, S = Y({
666
+ const m = p + d, S = Z({
667
667
  overrideDisabledPanels: l,
668
- panelConstraints: n[c],
668
+ panelConstraints: n[u],
669
669
  prevSize: p,
670
670
  size: m
671
671
  });
672
- if (u[c] = S, !I(S, m)) {
672
+ if (c[u] = S, !D(S, m)) {
673
673
  let v = m - S, h = e < 0 ? g : f;
674
674
  for (; h >= 0 && h < n.length; ) {
675
- const P = u[h];
676
- L(
677
- P != null,
675
+ const w = c[h];
676
+ C(
677
+ w != null,
678
678
  `Previous layout not found for panel index ${h}`
679
679
  );
680
- const M = P + v, C = Y({
680
+ const M = w + v, P = Z({
681
681
  overrideDisabledPanels: l,
682
682
  panelConstraints: n[h],
683
- prevSize: P,
683
+ prevSize: w,
684
684
  size: M
685
685
  });
686
- if (I(P, C) || (v -= C - P, u[h] = C), I(v, 0))
686
+ if (D(w, P) || (v -= P - w, c[h] = P), D(v, 0))
687
687
  break;
688
688
  e > 0 ? h-- : h++;
689
689
  }
690
690
  }
691
691
  }
692
- const z = Object.values(u).reduce(
693
- (c, p) => p + c,
692
+ const b = Object.values(c).reduce(
693
+ (u, p) => p + u,
694
694
  0
695
695
  );
696
- if (!I(z, 100, 0.1))
696
+ if (!D(b, 100, 0.1))
697
697
  return i;
698
698
  const x = Object.keys(i);
699
- return u.reduce((c, p, m) => (c[x[m]] = p, c), {});
699
+ return c.reduce((u, p, m) => (u[x[m]] = p, u), {});
700
700
  }
701
- function V(e, t) {
701
+ function W(e, t) {
702
702
  if (Object.keys(e).length !== Object.keys(t).length)
703
703
  return !1;
704
704
  for (const n in e)
705
- if (t[n] === void 0 || G(e[n], t[n]) !== 0)
705
+ if (t[n] === void 0 || A(e[n], t[n]) !== 0)
706
706
  return !1;
707
707
  return !0;
708
708
  }
709
- function B({
709
+ function U({
710
710
  layout: e,
711
711
  panelConstraints: t
712
712
  }) {
@@ -718,67 +718,67 @@ function B({
718
718
  throw Error(
719
719
  `Invalid ${t.length} panel layout: ${o.map((r) => `${r}%`).join(", ")}`
720
720
  );
721
- if (!I(i, 100) && o.length > 0)
721
+ if (!D(i, 100) && o.length > 0)
722
722
  for (let r = 0; r < t.length; r++) {
723
723
  const a = o[r];
724
- L(a != null, `No layout data found for index ${r}`);
725
- const u = 100 / i * a;
726
- o[r] = u;
724
+ C(a != null, `No layout data found for index ${r}`);
725
+ const c = 100 / i * a;
726
+ o[r] = c;
727
727
  }
728
728
  let s = 0;
729
729
  for (let r = 0; r < t.length; r++) {
730
730
  const a = n[r];
731
- L(a != null, `No layout data found for index ${r}`);
732
- const u = o[r];
733
- L(u != null, `No layout data found for index ${r}`);
734
- const f = Y({
731
+ C(a != null, `No layout data found for index ${r}`);
732
+ const c = o[r];
733
+ C(c != null, `No layout data found for index ${r}`);
734
+ const f = Z({
735
735
  overrideDisabledPanels: !0,
736
736
  panelConstraints: t[r],
737
737
  prevSize: a,
738
- size: u
738
+ size: c
739
739
  });
740
- u != f && (s += u - f, o[r] = f);
740
+ c != f && (s += c - f, o[r] = f);
741
741
  }
742
- if (!I(s, 0))
742
+ if (!D(s, 0))
743
743
  for (let r = 0; r < t.length; r++) {
744
744
  const a = o[r];
745
- L(a != null, `No layout data found for index ${r}`);
746
- const u = a + s, f = Y({
745
+ C(a != null, `No layout data found for index ${r}`);
746
+ const c = a + s, f = Z({
747
747
  overrideDisabledPanels: !0,
748
748
  panelConstraints: t[r],
749
749
  prevSize: a,
750
- size: u
750
+ size: c
751
751
  });
752
- if (a !== f && (s -= f - a, o[r] = f, I(s, 0)))
752
+ if (a !== f && (s -= f - a, o[r] = f, D(s, 0)))
753
753
  break;
754
754
  }
755
755
  const l = Object.keys(e);
756
- return o.reduce((r, a, u) => (r[l[u]] = a, r), {});
756
+ return o.reduce((r, a, c) => (r[l[c]] = a, r), {});
757
757
  }
758
- function et({
758
+ function tt({
759
759
  groupId: e,
760
760
  panelId: t
761
761
  }) {
762
762
  const n = () => {
763
- const r = U();
763
+ const r = X();
764
764
  for (const [
765
765
  a,
766
766
  {
767
- defaultLayoutDeferred: u,
767
+ defaultLayoutDeferred: c,
768
768
  derivedPanelConstraints: f,
769
769
  layout: g,
770
770
  groupSize: d,
771
- separatorToPanels: z
771
+ separatorToPanels: b
772
772
  }
773
773
  ] of r)
774
774
  if (a.id === e)
775
775
  return {
776
- defaultLayoutDeferred: u,
776
+ defaultLayoutDeferred: c,
777
777
  derivedPanelConstraints: f,
778
778
  group: a,
779
779
  groupSize: d,
780
780
  layout: g,
781
- separatorToPanels: z
781
+ separatorToPanels: b
782
782
  };
783
783
  throw Error(`Group ${e} not found`);
784
784
  }, o = () => {
@@ -803,25 +803,25 @@ function et({
803
803
  if (r === a)
804
804
  return;
805
805
  const {
806
- defaultLayoutDeferred: u,
806
+ defaultLayoutDeferred: c,
807
807
  derivedPanelConstraints: f,
808
808
  group: g,
809
809
  groupSize: d,
810
- layout: z,
810
+ layout: b,
811
811
  separatorToPanels: x
812
- } = n(), c = g.panels.findIndex((v) => v.id === t), p = c === g.panels.length - 1, m = se({
812
+ } = n(), u = g.panels.findIndex((v) => v.id === t), p = u === g.panels.length - 1, m = le({
813
813
  delta: p ? a - r : r - a,
814
- initialLayout: z,
814
+ initialLayout: b,
815
815
  panelConstraints: f,
816
- pivotIndices: p ? [c - 1, c] : [c, c + 1],
817
- prevLayout: z,
816
+ pivotIndices: p ? [u - 1, u] : [u, u + 1],
817
+ prevLayout: b,
818
818
  trigger: "imperative-api"
819
- }), S = B({
819
+ }), S = U({
820
820
  layout: m,
821
821
  panelConstraints: f
822
822
  });
823
- V(z, S) || _(g, {
824
- defaultLayoutDeferred: u,
823
+ W(b, S) || $(g, {
824
+ defaultLayoutDeferred: c,
825
825
  derivedPanelConstraints: f,
826
826
  groupSize: d,
827
827
  layout: S,
@@ -830,48 +830,48 @@ function et({
830
830
  };
831
831
  return {
832
832
  collapse: () => {
833
- const { collapsible: r, collapsedSize: a } = o(), { mutableValues: u } = i(), f = s();
834
- r && f !== a && (u.expandToSize = f, l(a));
833
+ const { collapsible: r, collapsedSize: a } = o(), { mutableValues: c } = i(), f = s();
834
+ r && f !== a && (c.expandToSize = f, l(a));
835
835
  },
836
836
  expand: () => {
837
- const { collapsible: r, collapsedSize: a, minSize: u } = o(), { mutableValues: f } = i(), g = s();
837
+ const { collapsible: r, collapsedSize: a, minSize: c } = o(), { mutableValues: f } = i(), g = s();
838
838
  if (r && g === a) {
839
- let d = f.expandToSize ?? u;
839
+ let d = f.expandToSize ?? c;
840
840
  d === 0 && (d = 1), l(d);
841
841
  }
842
842
  },
843
843
  getSize: () => {
844
- const { group: r } = n(), a = s(), { element: u } = i(), f = r.orientation === "horizontal" ? u.offsetWidth : u.offsetHeight;
844
+ const { group: r } = n(), a = s(), { element: c } = i(), f = r.orientation === "horizontal" ? c.offsetWidth : c.offsetHeight;
845
845
  return {
846
846
  asPercentage: a,
847
847
  inPixels: f
848
848
  };
849
849
  },
850
850
  isCollapsed: () => {
851
- const { collapsible: r, collapsedSize: a } = o(), u = s();
852
- return r && I(a, u);
851
+ const { collapsible: r, collapsedSize: a } = o(), c = s();
852
+ return r && D(a, c);
853
853
  },
854
854
  resize: (r) => {
855
- const { group: a } = n(), { element: u } = i(), f = Q({ group: a }), g = te({
855
+ const { group: a } = n(), { element: c } = i(), f = ne({ group: a }), g = ie({
856
856
  groupSize: f,
857
- panelElement: u,
857
+ panelElement: c,
858
858
  styleProp: r
859
- }), d = D(g / f * 100);
859
+ }), d = T(g / f * 100);
860
860
  l(d);
861
861
  }
862
862
  };
863
863
  }
864
- function Te(e) {
864
+ function Oe(e) {
865
865
  if (e.defaultPrevented)
866
866
  return;
867
- const t = U();
868
- ze(e, t).forEach((o) => {
869
- if (o.separator) {
867
+ const t = X();
868
+ xe(e, t).forEach((o) => {
869
+ if (o.separator && !o.separator.disableDoubleClick) {
870
870
  const i = o.panels.find(
871
871
  (s) => s.panelConstraints.defaultSize !== void 0
872
872
  );
873
873
  if (i) {
874
- const s = i.panelConstraints.defaultSize, l = et({
874
+ const s = i.panelConstraints.defaultSize, l = tt({
875
875
  groupId: o.group.id,
876
876
  panelId: i.id
877
877
  });
@@ -880,8 +880,8 @@ function Te(e) {
880
880
  }
881
881
  });
882
882
  }
883
- function fe(e) {
884
- const t = U();
883
+ function pe(e) {
884
+ const t = X();
885
885
  for (const [n] of t)
886
886
  if (n.separators.some(
887
887
  (o) => o.element === e
@@ -889,11 +889,11 @@ function fe(e) {
889
889
  return n;
890
890
  throw Error("Could not find parent Group for separator element");
891
891
  }
892
- function tt({
892
+ function nt({
893
893
  groupId: e
894
894
  }) {
895
895
  const t = () => {
896
- const n = U();
896
+ const n = X();
897
897
  for (const [o, i] of n)
898
898
  if (o.id === e)
899
899
  return { group: o, ...i };
@@ -912,39 +912,39 @@ function tt({
912
912
  groupSize: l,
913
913
  layout: r,
914
914
  separatorToPanels: a
915
- } = t(), u = B({
915
+ } = t(), c = U({
916
916
  layout: n,
917
917
  panelConstraints: i
918
918
  });
919
- return o ? r : (V(r, u) || _(s, {
919
+ return o ? r : (W(r, c) || $(s, {
920
920
  defaultLayoutDeferred: o,
921
921
  derivedPanelConstraints: i,
922
922
  groupSize: l,
923
- layout: u,
923
+ layout: c,
924
924
  separatorToPanels: a
925
- }), u);
925
+ }), c);
926
926
  }
927
927
  };
928
928
  }
929
- function H(e, t) {
930
- const n = fe(e), o = $(n.id, !0), i = n.separators.find(
929
+ function B(e, t) {
930
+ const n = pe(e), o = H(n.id, !0), i = n.separators.find(
931
931
  (g) => g.element === e
932
932
  );
933
- L(i, "Matching separator not found");
933
+ C(i, "Matching separator not found");
934
934
  const s = o.separatorToPanels.get(i);
935
- L(s, "Matching panels not found");
936
- const l = s.map((g) => n.panels.indexOf(g)), a = tt({ groupId: n.id }).getLayout(), u = se({
935
+ C(s, "Matching panels not found");
936
+ const l = s.map((g) => n.panels.indexOf(g)), a = nt({ groupId: n.id }).getLayout(), c = le({
937
937
  delta: t,
938
938
  initialLayout: a,
939
939
  panelConstraints: o.derivedPanelConstraints,
940
940
  pivotIndices: l,
941
941
  prevLayout: a,
942
942
  trigger: "keyboard"
943
- }), f = B({
944
- layout: u,
943
+ }), f = U({
944
+ layout: c,
945
945
  panelConstraints: o.derivedPanelConstraints
946
946
  });
947
- V(a, f) || _(n, {
947
+ W(a, f) || $(n, {
948
948
  defaultLayoutDeferred: o.defaultLayoutDeferred,
949
949
  derivedPanelConstraints: o.derivedPanelConstraints,
950
950
  groupSize: o.groupSize,
@@ -952,57 +952,57 @@ function H(e, t) {
952
952
  separatorToPanels: o.separatorToPanels
953
953
  });
954
954
  }
955
- function Oe(e) {
955
+ function Ge(e) {
956
956
  if (e.defaultPrevented)
957
957
  return;
958
- const t = e.currentTarget, n = fe(t);
958
+ const t = e.currentTarget, n = pe(t);
959
959
  if (!n.disabled)
960
960
  switch (e.key) {
961
961
  case "ArrowDown": {
962
- e.preventDefault(), n.orientation === "vertical" && H(t, 5);
962
+ e.preventDefault(), n.orientation === "vertical" && B(t, 5);
963
963
  break;
964
964
  }
965
965
  case "ArrowLeft": {
966
- e.preventDefault(), n.orientation === "horizontal" && H(t, -5);
966
+ e.preventDefault(), n.orientation === "horizontal" && B(t, -5);
967
967
  break;
968
968
  }
969
969
  case "ArrowRight": {
970
- e.preventDefault(), n.orientation === "horizontal" && H(t, 5);
970
+ e.preventDefault(), n.orientation === "horizontal" && B(t, 5);
971
971
  break;
972
972
  }
973
973
  case "ArrowUp": {
974
- e.preventDefault(), n.orientation === "vertical" && H(t, -5);
974
+ e.preventDefault(), n.orientation === "vertical" && B(t, -5);
975
975
  break;
976
976
  }
977
977
  case "End": {
978
- e.preventDefault(), H(t, 100);
978
+ e.preventDefault(), B(t, 100);
979
979
  break;
980
980
  }
981
981
  case "Enter": {
982
982
  e.preventDefault();
983
- const o = fe(t), i = $(o.id, !0), { derivedPanelConstraints: s, layout: l, separatorToPanels: r } = i, a = o.separators.find(
983
+ const o = pe(t), i = H(o.id, !0), { derivedPanelConstraints: s, layout: l, separatorToPanels: r } = i, a = o.separators.find(
984
984
  (d) => d.element === t
985
985
  );
986
- L(a, "Matching separator not found");
987
- const u = r.get(a);
988
- L(u, "Matching panels not found");
989
- const f = u[0], g = s.find(
986
+ C(a, "Matching separator not found");
987
+ const c = r.get(a);
988
+ C(c, "Matching panels not found");
989
+ const f = c[0], g = s.find(
990
990
  (d) => d.panelId === f.id
991
991
  );
992
- if (L(g, "Panel metadata not found"), g.collapsible) {
993
- const d = l[f.id], z = g.collapsedSize === d ? o.mutableState.expandedPanelSizes[f.id] ?? g.minSize : g.collapsedSize;
994
- H(t, z - d);
992
+ if (C(g, "Panel metadata not found"), g.collapsible) {
993
+ const d = l[f.id], b = g.collapsedSize === d ? o.mutableState.expandedPanelSizes[f.id] ?? g.minSize : g.collapsedSize;
994
+ B(t, b - d);
995
995
  }
996
996
  break;
997
997
  }
998
998
  case "F6": {
999
999
  e.preventDefault();
1000
- const i = fe(t).separators.map(
1000
+ const i = pe(t).separators.map(
1001
1001
  (a) => a.element
1002
1002
  ), s = Array.from(i).findIndex(
1003
1003
  (a) => a === e.currentTarget
1004
1004
  );
1005
- L(s !== null, "Index not found");
1005
+ C(s !== null, "Index not found");
1006
1006
  const l = e.shiftKey ? s > 0 ? s - 1 : i.length - 1 : s + 1 < i.length ? s + 1 : 0;
1007
1007
  i[l].focus({
1008
1008
  preventScroll: !0
@@ -1010,42 +1010,42 @@ function Oe(e) {
1010
1010
  break;
1011
1011
  }
1012
1012
  case "Home": {
1013
- e.preventDefault(), H(t, -100);
1013
+ e.preventDefault(), B(t, -100);
1014
1014
  break;
1015
1015
  }
1016
1016
  }
1017
1017
  }
1018
- let J = {
1018
+ let ee = {
1019
1019
  cursorFlags: 0,
1020
1020
  state: "inactive"
1021
1021
  };
1022
- const be = new Je();
1023
- function W() {
1024
- return J;
1022
+ const we = new Ze();
1023
+ function K() {
1024
+ return ee;
1025
1025
  }
1026
1026
  function Gt(e) {
1027
- return be.addListener("change", e);
1027
+ return we.addListener("change", e);
1028
1028
  }
1029
1029
  function At(e) {
1030
- const t = J, n = { ...J };
1031
- n.cursorFlags = e, J = n, be.emit("change", {
1030
+ const t = ee, n = { ...ee };
1031
+ n.cursorFlags = e, ee = n, we.emit("change", {
1032
1032
  prev: t,
1033
1033
  next: n
1034
1034
  });
1035
1035
  }
1036
- function Z(e) {
1037
- const t = J;
1038
- J = e, be.emit("change", {
1036
+ function te(e) {
1037
+ const t = ee;
1038
+ ee = e, we.emit("change", {
1039
1039
  prev: t,
1040
1040
  next: e
1041
1041
  });
1042
1042
  }
1043
- function Ge(e) {
1043
+ function Ae(e) {
1044
1044
  if (e.defaultPrevented)
1045
1045
  return;
1046
1046
  if (e.pointerType === "mouse" && e.button > 0)
1047
1047
  return;
1048
- const t = U(), n = ze(e, t), o = /* @__PURE__ */ new Map();
1048
+ const t = X(), n = xe(e, t), o = /* @__PURE__ */ new Map();
1049
1049
  let i = !1;
1050
1050
  n.forEach((s) => {
1051
1051
  s.separator && (i || (i = !0, s.separator.element.focus({
@@ -1053,7 +1053,7 @@ function Ge(e) {
1053
1053
  })));
1054
1054
  const l = t.get(s.group);
1055
1055
  l && o.set(s.group, l.layout);
1056
- }), Z({
1056
+ }), te({
1057
1057
  cursorFlags: 0,
1058
1058
  hitRegions: n,
1059
1059
  initialLayoutMap: o,
@@ -1061,13 +1061,13 @@ function Ge(e) {
1061
1061
  state: "active"
1062
1062
  }), n.length && e.preventDefault();
1063
1063
  }
1064
- const Nt = (e) => e, me = () => {
1065
- }, nt = 1, ot = 2, it = 4, rt = 8, Ae = 3, Ne = 12;
1066
- let ce;
1064
+ const Ft = (e) => e, ye = () => {
1065
+ }, ot = 1, it = 2, rt = 4, st = 8, Fe = 3, Ne = 12;
1066
+ let de;
1067
1067
  function _e() {
1068
- return ce === void 0 && (ce = !1, typeof window < "u" && (window.navigator.userAgent.includes("Chrome") || window.navigator.userAgent.includes("Firefox")) && (ce = !0)), ce;
1068
+ return de === void 0 && (de = !1, typeof window < "u" && (window.navigator.userAgent.includes("Chrome") || window.navigator.userAgent.includes("Firefox")) && (de = !0)), de;
1069
1069
  }
1070
- function _t({
1070
+ function Nt({
1071
1071
  cursorFlags: e,
1072
1072
  groups: t,
1073
1073
  state: n
@@ -1094,7 +1094,7 @@ function _t({
1094
1094
  switch (n) {
1095
1095
  case "active": {
1096
1096
  if (e && _e()) {
1097
- const s = (e & nt) !== 0, l = (e & ot) !== 0, r = (e & it) !== 0, a = (e & rt) !== 0;
1097
+ const s = (e & ot) !== 0, l = (e & it) !== 0, r = (e & rt) !== 0, a = (e & st) !== 0;
1098
1098
  if (s)
1099
1099
  return r ? "se-resize" : a ? "ne-resize" : "e-resize";
1100
1100
  if (l)
@@ -1110,17 +1110,17 @@ function _t({
1110
1110
  return _e() ? o > 0 && i > 0 ? "move" : o > 0 ? "ew-resize" : "ns-resize" : o > 0 && i > 0 ? "grab" : o > 0 ? "col-resize" : "row-resize";
1111
1111
  }
1112
1112
  }
1113
- const Fe = /* @__PURE__ */ new WeakMap();
1114
- function xe(e) {
1113
+ const $e = /* @__PURE__ */ new WeakMap();
1114
+ function Pe(e) {
1115
1115
  if (e.defaultView === null || e.defaultView === void 0)
1116
1116
  return;
1117
- let { prevStyle: t, styleSheet: n } = Fe.get(e) ?? {};
1117
+ let { prevStyle: t, styleSheet: n } = $e.get(e) ?? {};
1118
1118
  n === void 0 && (n = new e.defaultView.CSSStyleSheet(), e.adoptedStyleSheets && e.adoptedStyleSheets.push(n));
1119
- const o = W();
1119
+ const o = K();
1120
1120
  switch (o.state) {
1121
1121
  case "active":
1122
1122
  case "hover": {
1123
- const i = _t({
1123
+ const i = Nt({
1124
1124
  cursorFlags: o.cursorFlags,
1125
1125
  groups: o.hitRegions.map((l) => l.group),
1126
1126
  state: o.state
@@ -1135,12 +1135,12 @@ function xe(e) {
1135
1135
  break;
1136
1136
  }
1137
1137
  }
1138
- Fe.set(e, {
1138
+ $e.set(e, {
1139
1139
  prevStyle: t,
1140
1140
  styleSheet: n
1141
1141
  });
1142
1142
  }
1143
- function st({
1143
+ function at({
1144
1144
  document: e,
1145
1145
  event: t,
1146
1146
  hitRegions: n,
@@ -1150,10 +1150,10 @@ function st({
1150
1150
  prevCursorFlags: l
1151
1151
  }) {
1152
1152
  let r = 0;
1153
- n.forEach((u) => {
1154
- const { group: f, groupSize: g } = u, { orientation: d, panels: z } = f, { disableCursor: x } = f.mutableState;
1155
- let c = 0;
1156
- s ? d === "horizontal" ? c = (t.clientX - s.x) / g * 100 : c = (t.clientY - s.y) / g * 100 : d === "horizontal" ? c = t.clientX < 0 ? -100 : 100 : c = t.clientY < 0 ? -100 : 100;
1153
+ n.forEach((c) => {
1154
+ const { group: f, groupSize: g } = c, { orientation: d, panels: b } = f, { disableCursor: x } = f.mutableState;
1155
+ let u = 0;
1156
+ s ? d === "horizontal" ? u = (t.clientX - s.x) / g * 100 : u = (t.clientY - s.y) / g * 100 : d === "horizontal" ? u = t.clientX < 0 ? -100 : 100 : u = t.clientY < 0 ? -100 : 100;
1157
1157
  const p = o.get(f), m = i.get(f);
1158
1158
  if (!p || !m)
1159
1159
  return;
@@ -1162,47 +1162,47 @@ function st({
1162
1162
  derivedPanelConstraints: v,
1163
1163
  groupSize: y,
1164
1164
  layout: h,
1165
- separatorToPanels: P
1165
+ separatorToPanels: w
1166
1166
  } = m;
1167
- if (v && h && P) {
1168
- const M = se({
1169
- delta: c,
1167
+ if (v && h && w) {
1168
+ const M = le({
1169
+ delta: u,
1170
1170
  initialLayout: p,
1171
1171
  panelConstraints: v,
1172
- pivotIndices: u.panels.map((C) => z.indexOf(C)),
1172
+ pivotIndices: c.panels.map((P) => b.indexOf(P)),
1173
1173
  prevLayout: h,
1174
1174
  trigger: "mouse-or-touch"
1175
1175
  });
1176
- if (V(M, h)) {
1177
- if (c !== 0 && !x)
1176
+ if (W(M, h)) {
1177
+ if (u !== 0 && !x)
1178
1178
  switch (d) {
1179
1179
  case "horizontal": {
1180
- r |= c < 0 ? nt : ot;
1180
+ r |= u < 0 ? ot : it;
1181
1181
  break;
1182
1182
  }
1183
1183
  case "vertical": {
1184
- r |= c < 0 ? it : rt;
1184
+ r |= u < 0 ? rt : st;
1185
1185
  break;
1186
1186
  }
1187
1187
  }
1188
1188
  } else
1189
- _(u.group, {
1189
+ $(c.group, {
1190
1190
  defaultLayoutDeferred: S,
1191
1191
  derivedPanelConstraints: v,
1192
1192
  groupSize: y,
1193
1193
  layout: M,
1194
- separatorToPanels: P
1194
+ separatorToPanels: w
1195
1195
  });
1196
1196
  }
1197
1197
  });
1198
1198
  let a = 0;
1199
- t.movementX === 0 ? a |= l & Ae : a |= r & Ae, t.movementY === 0 ? a |= l & Ne : a |= r & Ne, At(a), xe(e);
1199
+ t.movementX === 0 ? a |= l & Fe : a |= r & Fe, t.movementY === 0 ? a |= l & Ne : a |= r & Ne, At(a), Pe(e);
1200
1200
  }
1201
- function $e(e) {
1202
- const t = U(), n = W();
1201
+ function je(e) {
1202
+ const t = X(), n = K();
1203
1203
  switch (n.state) {
1204
1204
  case "active":
1205
- st({
1205
+ at({
1206
1206
  document: e.currentTarget,
1207
1207
  event: e,
1208
1208
  hitRegions: n.hitRegions,
@@ -1212,22 +1212,22 @@ function $e(e) {
1212
1212
  });
1213
1213
  }
1214
1214
  }
1215
- function je(e) {
1215
+ function He(e) {
1216
1216
  if (e.defaultPrevented)
1217
1217
  return;
1218
- const t = W(), n = U();
1218
+ const t = K(), n = X();
1219
1219
  switch (t.state) {
1220
1220
  case "active": {
1221
1221
  if (
1222
1222
  // Skip this check for "pointerleave" events, else Firefox triggers a false positive (see #514)
1223
1223
  e.buttons === 0
1224
1224
  ) {
1225
- Z({
1225
+ te({
1226
1226
  cursorFlags: 0,
1227
1227
  state: "inactive"
1228
1228
  }), t.hitRegions.forEach((o) => {
1229
- const i = $(o.group.id, !0);
1230
- _(o.group, i);
1229
+ const i = H(o.group.id, !0);
1230
+ $(o.group, i);
1231
1231
  });
1232
1232
  return;
1233
1233
  }
@@ -1236,7 +1236,7 @@ function je(e) {
1236
1236
  const { element: i } = o.separator;
1237
1237
  i.hasPointerCapture?.(e.pointerId) || i.setPointerCapture?.(e.pointerId);
1238
1238
  }
1239
- st({
1239
+ at({
1240
1240
  document: e.currentTarget,
1241
1241
  event: e,
1242
1242
  hitRegions: t.hitRegions,
@@ -1248,72 +1248,72 @@ function je(e) {
1248
1248
  break;
1249
1249
  }
1250
1250
  default: {
1251
- const o = ze(e, n);
1252
- o.length === 0 ? t.state !== "inactive" && Z({
1251
+ const o = xe(e, n);
1252
+ o.length === 0 ? t.state !== "inactive" && te({
1253
1253
  cursorFlags: 0,
1254
1254
  state: "inactive"
1255
- }) : Z({
1255
+ }) : te({
1256
1256
  cursorFlags: 0,
1257
1257
  hitRegions: o,
1258
1258
  state: "hover"
1259
- }), xe(e.currentTarget);
1259
+ }), Pe(e.currentTarget);
1260
1260
  break;
1261
1261
  }
1262
1262
  }
1263
1263
  }
1264
- function He(e) {
1264
+ function Ve(e) {
1265
1265
  if (e.relatedTarget instanceof HTMLIFrameElement)
1266
- switch (W().state) {
1266
+ switch (K().state) {
1267
1267
  case "hover":
1268
- Z({
1268
+ te({
1269
1269
  cursorFlags: 0,
1270
1270
  state: "inactive"
1271
1271
  });
1272
1272
  }
1273
1273
  }
1274
- function Ve(e) {
1274
+ function Be(e) {
1275
1275
  if (e.defaultPrevented)
1276
1276
  return;
1277
1277
  if (e.pointerType === "mouse" && e.button > 0)
1278
1278
  return;
1279
- const t = W();
1279
+ const t = K();
1280
1280
  switch (t.state) {
1281
1281
  case "active":
1282
- Z({
1282
+ te({
1283
1283
  cursorFlags: 0,
1284
1284
  state: "inactive"
1285
- }), t.hitRegions.length > 0 && (xe(e.currentTarget), t.hitRegions.forEach((n) => {
1286
- const o = $(n.group.id, !0);
1287
- _(n.group, o);
1285
+ }), t.hitRegions.length > 0 && (Pe(e.currentTarget), t.hitRegions.forEach((n) => {
1286
+ const o = H(n.group.id, !0);
1287
+ $(n.group, o);
1288
1288
  }), e.preventDefault());
1289
1289
  }
1290
1290
  }
1291
- function Be(e) {
1291
+ function We(e) {
1292
1292
  let t = 0, n = 0;
1293
1293
  const o = {};
1294
1294
  for (const s of e)
1295
1295
  if (s.defaultSize !== void 0) {
1296
1296
  t++;
1297
- const l = D(s.defaultSize);
1297
+ const l = T(s.defaultSize);
1298
1298
  n += l, o[s.panelId] = l;
1299
1299
  } else
1300
1300
  o[s.panelId] = void 0;
1301
1301
  const i = e.length - t;
1302
1302
  if (i !== 0) {
1303
- const s = D((100 - n) / i);
1303
+ const s = T((100 - n) / i);
1304
1304
  for (const l of e)
1305
1305
  l.defaultSize === void 0 && (o[l.panelId] = s);
1306
1306
  }
1307
1307
  return o;
1308
1308
  }
1309
- function Ft(e, t, n) {
1309
+ function _t(e, t, n) {
1310
1310
  if (!n[0])
1311
1311
  return;
1312
- const i = e.panels.find((u) => u.element === t);
1312
+ const i = e.panels.find((c) => c.element === t);
1313
1313
  if (!i || !i.onResize)
1314
1314
  return;
1315
- const s = Q({ group: e }), l = e.orientation === "horizontal" ? i.element.offsetWidth : i.element.offsetHeight, r = i.mutableValues.prevSize, a = {
1316
- asPercentage: D(l / s * 100),
1315
+ const s = ne({ group: e }), l = e.orientation === "horizontal" ? i.element.offsetWidth : i.element.offsetHeight, r = i.mutableValues.prevSize, a = {
1316
+ asPercentage: T(l / s * 100),
1317
1317
  inPixels: l
1318
1318
  };
1319
1319
  i.mutableValues.prevSize = a, i.onResize(a, i.id, r);
@@ -1341,8 +1341,8 @@ function jt({
1341
1341
  switch (g.panelConstraints.groupResizeBehavior) {
1342
1342
  case "preserve-pixel-size": {
1343
1343
  l = !0;
1344
- const z = d / 100 * n, x = D(
1345
- z / t * 100
1344
+ const b = d / 100 * n, x = T(
1345
+ b / t * 100
1346
1346
  );
1347
1347
  r.set(g.id, x), i += x;
1348
1348
  break;
@@ -1356,19 +1356,19 @@ function jt({
1356
1356
  }
1357
1357
  if (!l || a.length === 0)
1358
1358
  return o;
1359
- const u = 100 - i, f = { ...o };
1359
+ const c = 100 - i, f = { ...o };
1360
1360
  if (r.forEach((g, d) => {
1361
1361
  f[d] = g;
1362
1362
  }), s > 0)
1363
1363
  for (const g of a) {
1364
1364
  const d = o[g] ?? 0;
1365
- f[g] = D(
1366
- d / s * u
1365
+ f[g] = T(
1366
+ d / s * c
1367
1367
  );
1368
1368
  }
1369
1369
  else {
1370
- const g = D(
1371
- u / a.length
1370
+ const g = T(
1371
+ c / a.length
1372
1372
  );
1373
1373
  for (const d of a)
1374
1374
  f[d] = g;
@@ -1384,118 +1384,118 @@ function Ht(e, t) {
1384
1384
  return !1;
1385
1385
  return !0;
1386
1386
  }
1387
- const q = /* @__PURE__ */ new Map();
1387
+ const J = /* @__PURE__ */ new Map();
1388
1388
  function Vt(e) {
1389
1389
  let t = !0;
1390
- L(
1390
+ C(
1391
1391
  e.element.ownerDocument.defaultView,
1392
1392
  "Cannot register an unmounted Group"
1393
1393
  );
1394
- const n = e.element.ownerDocument.defaultView.ResizeObserver, o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = new n((c) => {
1395
- for (const p of c) {
1394
+ const n = e.element.ownerDocument.defaultView.ResizeObserver, o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = new n((u) => {
1395
+ for (const p of u) {
1396
1396
  const { borderBoxSize: m, target: S } = p;
1397
1397
  if (S === e.element) {
1398
1398
  if (t) {
1399
- const v = Q({ group: e });
1399
+ const v = ne({ group: e });
1400
1400
  if (v === 0)
1401
1401
  return;
1402
- const y = $(e.id);
1402
+ const y = H(e.id);
1403
1403
  if (!y)
1404
1404
  return;
1405
- const h = ye(e), P = y.defaultLayoutDeferred ? Be(h) : y.layout, M = jt({
1405
+ const h = ve(e), w = y.defaultLayoutDeferred ? We(h) : y.layout, M = jt({
1406
1406
  group: e,
1407
1407
  nextGroupSize: v,
1408
1408
  prevGroupSize: y.groupSize,
1409
- prevLayout: P
1410
- }), C = B({
1409
+ prevLayout: w
1410
+ }), P = U({
1411
1411
  layout: M,
1412
1412
  panelConstraints: h
1413
1413
  });
1414
- if (!y.defaultLayoutDeferred && V(y.layout, C) && $t(
1414
+ if (!y.defaultLayoutDeferred && W(y.layout, P) && $t(
1415
1415
  y.derivedPanelConstraints,
1416
1416
  h
1417
1417
  ) && y.groupSize === v)
1418
1418
  return;
1419
- _(e, {
1419
+ $(e, {
1420
1420
  defaultLayoutDeferred: !1,
1421
1421
  derivedPanelConstraints: h,
1422
1422
  groupSize: v,
1423
- layout: C,
1423
+ layout: P,
1424
1424
  separatorToPanels: y.separatorToPanels
1425
1425
  });
1426
1426
  }
1427
1427
  } else
1428
- Ft(e, S, m);
1428
+ _t(e, S, m);
1429
1429
  }
1430
1430
  });
1431
- s.observe(e.element), e.panels.forEach((c) => {
1432
- L(
1433
- !o.has(c.id),
1434
- `Panel ids must be unique; id "${c.id}" was used more than once`
1435
- ), o.add(c.id), c.onResize && s.observe(c.element);
1431
+ s.observe(e.element), e.panels.forEach((u) => {
1432
+ C(
1433
+ !o.has(u.id),
1434
+ `Panel ids must be unique; id "${u.id}" was used more than once`
1435
+ ), o.add(u.id), u.onResize && s.observe(u.element);
1436
1436
  });
1437
- const l = Q({ group: e }), r = ye(e), a = e.panels.map(({ id: c }) => c).join(",");
1438
- let u = e.mutableState.defaultLayout;
1439
- u && (Ht(e.panels, u) || (u = void 0));
1440
- const f = e.mutableState.layouts[a] ?? u ?? Be(r), g = B({
1437
+ const l = ne({ group: e }), r = ve(e), a = e.panels.map(({ id: u }) => u).join(",");
1438
+ let c = e.mutableState.defaultLayout;
1439
+ c && (Ht(e.panels, c) || (c = void 0));
1440
+ const f = e.mutableState.layouts[a] ?? c ?? We(r), g = U({
1441
1441
  layout: f,
1442
1442
  panelConstraints: r
1443
1443
  }), d = e.element.ownerDocument;
1444
- q.set(
1444
+ J.set(
1445
1445
  d,
1446
- (q.get(d) ?? 0) + 1
1446
+ (J.get(d) ?? 0) + 1
1447
1447
  );
1448
- const z = /* @__PURE__ */ new Map();
1449
- return Ye(e).forEach((c) => {
1450
- c.separator && z.set(c.separator, c.panels);
1451
- }), _(e, {
1448
+ const b = /* @__PURE__ */ new Map();
1449
+ return Je(e).forEach((u) => {
1450
+ u.separator && b.set(u.separator, u.panels);
1451
+ }), $(e, {
1452
1452
  defaultLayoutDeferred: l === 0,
1453
1453
  derivedPanelConstraints: r,
1454
1454
  groupSize: l,
1455
1455
  layout: g,
1456
- separatorToPanels: z
1457
- }), e.separators.forEach((c) => {
1458
- L(
1459
- !i.has(c.id),
1460
- `Separator ids must be unique; id "${c.id}" was used more than once`
1461
- ), i.add(c.id), c.element.addEventListener("keydown", Oe);
1462
- }), q.get(d) === 1 && (d.addEventListener("dblclick", Te, !0), d.addEventListener("pointerdown", Ge, !0), d.addEventListener("pointerleave", $e), d.addEventListener("pointermove", je), d.addEventListener("pointerout", He), d.addEventListener("pointerup", Ve, !0)), function() {
1463
- t = !1, q.set(
1456
+ separatorToPanels: b
1457
+ }), e.separators.forEach((u) => {
1458
+ C(
1459
+ !i.has(u.id),
1460
+ `Separator ids must be unique; id "${u.id}" was used more than once`
1461
+ ), i.add(u.id), u.element.addEventListener("keydown", Ge);
1462
+ }), J.get(d) === 1 && (d.addEventListener("dblclick", Oe, !0), d.addEventListener("pointerdown", Ae, !0), d.addEventListener("pointerleave", je), d.addEventListener("pointermove", He), d.addEventListener("pointerout", Ve), d.addEventListener("pointerup", Be, !0)), function() {
1463
+ t = !1, J.set(
1464
1464
  d,
1465
- Math.max(0, (q.get(d) ?? 0) - 1)
1465
+ Math.max(0, (J.get(d) ?? 0) - 1)
1466
1466
  ), Lt(e), e.separators.forEach((p) => {
1467
- p.element.removeEventListener("keydown", Oe);
1468
- }), q.get(d) || (d.removeEventListener(
1467
+ p.element.removeEventListener("keydown", Ge);
1468
+ }), J.get(d) || (d.removeEventListener(
1469
1469
  "dblclick",
1470
- Te,
1470
+ Oe,
1471
1471
  !0
1472
1472
  ), d.removeEventListener(
1473
1473
  "pointerdown",
1474
- Ge,
1474
+ Ae,
1475
1475
  !0
1476
- ), d.removeEventListener("pointerleave", $e), d.removeEventListener("pointermove", je), d.removeEventListener("pointerout", He), d.removeEventListener("pointerup", Ve, !0)), s.disconnect();
1476
+ ), d.removeEventListener("pointerleave", je), d.removeEventListener("pointermove", He), d.removeEventListener("pointerout", Ve), d.removeEventListener("pointerup", Be, !0)), s.disconnect();
1477
1477
  };
1478
1478
  }
1479
1479
  function Bt() {
1480
- const [e, t] = re({}), n = ne(() => t({}), []);
1480
+ const [e, t] = Q({}), n = re(() => t({}), []);
1481
1481
  return [e, n];
1482
1482
  }
1483
- function we(e) {
1483
+ function Le(e) {
1484
1484
  const t = pt();
1485
1485
  return `${e ?? t}`;
1486
1486
  }
1487
- const K = typeof window < "u" ? We : pe;
1488
- function oe(e) {
1489
- const t = T(e);
1490
- return K(() => {
1487
+ const q = typeof window < "u" ? Ue : me;
1488
+ function se(e) {
1489
+ const t = O(e);
1490
+ return q(() => {
1491
1491
  t.current = e;
1492
- }, [e]), ne(
1492
+ }, [e]), re(
1493
1493
  (...n) => t.current?.(...n),
1494
1494
  [t]
1495
1495
  );
1496
1496
  }
1497
- function Pe(...e) {
1498
- return oe((t) => {
1497
+ function Ce(...e) {
1498
+ return se((t) => {
1499
1499
  e.forEach((n) => {
1500
1500
  if (n)
1501
1501
  switch (typeof n) {
@@ -1511,23 +1511,23 @@ function Pe(...e) {
1511
1511
  });
1512
1512
  });
1513
1513
  }
1514
- function Le(e) {
1515
- const t = T({ ...e });
1516
- return K(() => {
1514
+ function Re(e) {
1515
+ const t = O({ ...e });
1516
+ return q(() => {
1517
1517
  for (const n in e)
1518
1518
  t.current[n] = e[n];
1519
1519
  }, [e]), t.current;
1520
1520
  }
1521
- const at = ht(null);
1521
+ const lt = ht(null);
1522
1522
  function Wt(e, t) {
1523
- const n = T({
1523
+ const n = O({
1524
1524
  getLayout: () => ({}),
1525
- setLayout: Nt
1525
+ setLayout: Ft
1526
1526
  });
1527
- Ue(t, () => n.current, []), K(() => {
1527
+ Ke(t, () => n.current, []), q(() => {
1528
1528
  Object.assign(
1529
1529
  n.current,
1530
- tt({ groupId: e })
1530
+ nt({ groupId: e })
1531
1531
  );
1532
1532
  });
1533
1533
  }
@@ -1541,183 +1541,186 @@ function Ut({
1541
1541
  groupRef: l,
1542
1542
  id: r,
1543
1543
  onLayoutChange: a,
1544
- onLayoutChanged: u,
1544
+ onLayoutChanged: c,
1545
1545
  orientation: f = "horizontal",
1546
1546
  resizeTargetMinimumSize: g = {
1547
1547
  coarse: 20,
1548
1548
  fine: 10
1549
1549
  },
1550
1550
  style: d,
1551
- ...z
1551
+ ...b
1552
1552
  }) {
1553
- const x = T({
1553
+ const x = O({
1554
1554
  onLayoutChange: {},
1555
1555
  onLayoutChanged: {}
1556
- }), c = oe((b) => {
1557
- V(x.current.onLayoutChange, b) || (x.current.onLayoutChange = b, a?.(b));
1558
- }), p = oe((b) => {
1559
- V(x.current.onLayoutChanged, b) || (x.current.onLayoutChanged = b, u?.(b));
1560
- }), m = we(r), S = T(null), [v, y] = Bt(), h = T({
1556
+ }), u = se((z) => {
1557
+ W(x.current.onLayoutChange, z) || (x.current.onLayoutChange = z, a?.(z));
1558
+ }), p = se((z) => {
1559
+ W(x.current.onLayoutChanged, z) || (x.current.onLayoutChanged = z, c?.(z));
1560
+ }), m = Le(r), S = O(null), [v, y] = Bt(), h = O({
1561
1561
  lastExpandedPanelSizes: {},
1562
1562
  layouts: {},
1563
1563
  panels: [],
1564
1564
  resizeTargetMinimumSize: g,
1565
1565
  separators: []
1566
- }), P = Pe(S, s);
1566
+ }), w = Ce(S, s);
1567
1567
  Wt(m, l);
1568
- const M = oe(
1569
- (b, w) => {
1570
- const E = W(), R = Ee(b), k = $(b);
1571
- if (k) {
1572
- let O = !1;
1573
- switch (E.state) {
1568
+ const M = se(
1569
+ (z, L) => {
1570
+ const k = K(), R = ke(z), E = H(z);
1571
+ if (E) {
1572
+ let I = !1;
1573
+ switch (k.state) {
1574
1574
  case "active": {
1575
- O = E.hitRegions.some(
1576
- (j) => j.group === R
1575
+ I = k.hitRegions.some(
1576
+ (V) => V.group === R
1577
1577
  );
1578
1578
  break;
1579
1579
  }
1580
1580
  }
1581
1581
  return {
1582
- flexGrow: k.layout[w] ?? 1,
1583
- pointerEvents: O ? "none" : void 0
1582
+ flexGrow: E.layout[L] ?? 1,
1583
+ pointerEvents: I ? "none" : void 0
1584
1584
  };
1585
1585
  }
1586
- if (n?.[w])
1586
+ if (n?.[L])
1587
1587
  return {
1588
- flexGrow: n?.[w]
1588
+ flexGrow: n?.[L]
1589
1589
  };
1590
1590
  }
1591
- ), C = Le({
1591
+ ), P = Re({
1592
1592
  defaultLayout: n,
1593
1593
  disableCursor: o
1594
- }), X = ge(
1594
+ }), G = Se(
1595
1595
  () => ({
1596
1596
  get disableCursor() {
1597
- return !!C.disableCursor;
1597
+ return !!P.disableCursor;
1598
1598
  },
1599
1599
  getPanelStyles: M,
1600
1600
  id: m,
1601
1601
  orientation: f,
1602
- registerPanel: (b) => {
1603
- const w = h.current;
1604
- return w.panels = Se(f, [
1605
- ...w.panels,
1606
- b
1602
+ registerPanel: (z) => {
1603
+ const L = h.current;
1604
+ return L.panels = be(f, [
1605
+ ...L.panels,
1606
+ z
1607
1607
  ]), y(), () => {
1608
- w.panels = w.panels.filter(
1609
- (E) => E !== b
1608
+ L.panels = L.panels.filter(
1609
+ (k) => k !== z
1610
1610
  ), y();
1611
1611
  };
1612
1612
  },
1613
- registerSeparator: (b) => {
1614
- const w = h.current;
1615
- return w.separators = Se(f, [
1616
- ...w.separators,
1617
- b
1613
+ registerSeparator: (z) => {
1614
+ const L = h.current;
1615
+ return L.separators = be(f, [
1616
+ ...L.separators,
1617
+ z
1618
1618
  ]), y(), () => {
1619
- w.separators = w.separators.filter(
1620
- (E) => E !== b
1619
+ L.separators = L.separators.filter(
1620
+ (k) => k !== z
1621
1621
  ), y();
1622
1622
  };
1623
1623
  },
1624
- togglePanelDisabled: (b, w) => {
1624
+ updatePanelProps: (z, { disabled: L }) => {
1625
1625
  const R = h.current.panels.find(
1626
- (j) => j.id === b
1626
+ (V) => V.id === z
1627
1627
  );
1628
- R && (R.panelConstraints.disabled = w);
1629
- const k = Ee(m), O = $(m);
1630
- k && O && _(k, {
1631
- ...O,
1632
- derivedPanelConstraints: ye(k)
1628
+ R && (R.panelConstraints.disabled = L);
1629
+ const E = ke(m), I = H(m);
1630
+ E && I && $(E, {
1631
+ ...I,
1632
+ derivedPanelConstraints: ve(E)
1633
1633
  });
1634
1634
  },
1635
- toggleSeparatorDisabled: (b, w) => {
1636
- const R = h.current.separators.find(
1637
- (k) => k.id === b
1635
+ updateSeparatorProps: (z, {
1636
+ disabled: L,
1637
+ disableDoubleClick: k
1638
+ }) => {
1639
+ const E = h.current.separators.find(
1640
+ (I) => I.id === z
1638
1641
  );
1639
- R && (R.disabled = w);
1642
+ E && (E.disabled = L, E.disableDoubleClick = k);
1640
1643
  }
1641
1644
  }),
1642
- [M, m, y, f, C]
1643
- ), F = T(null);
1644
- return K(() => {
1645
- const b = S.current;
1646
- if (b === null)
1645
+ [M, m, y, f, P]
1646
+ ), N = O(null);
1647
+ return q(() => {
1648
+ const z = S.current;
1649
+ if (z === null)
1647
1650
  return;
1648
- const w = h.current;
1649
- let E;
1650
- if (C.defaultLayout !== void 0 && Object.keys(C.defaultLayout).length === w.panels.length) {
1651
- E = {};
1652
- for (const ee of w.panels) {
1653
- const ae = C.defaultLayout[ee.id];
1654
- ae !== void 0 && (E[ee.id] = ae);
1651
+ const L = h.current;
1652
+ let k;
1653
+ if (P.defaultLayout !== void 0 && Object.keys(P.defaultLayout).length === L.panels.length) {
1654
+ k = {};
1655
+ for (const j of L.panels) {
1656
+ const Y = P.defaultLayout[j.id];
1657
+ Y !== void 0 && (k[j.id] = Y);
1655
1658
  }
1656
1659
  }
1657
1660
  const R = {
1658
1661
  disabled: !!i,
1659
- element: b,
1662
+ element: z,
1660
1663
  id: m,
1661
1664
  mutableState: {
1662
- defaultLayout: E,
1663
- disableCursor: !!C.disableCursor,
1665
+ defaultLayout: k,
1666
+ disableCursor: !!P.disableCursor,
1664
1667
  expandedPanelSizes: h.current.lastExpandedPanelSizes,
1665
1668
  layouts: h.current.layouts
1666
1669
  },
1667
1670
  orientation: f,
1668
- panels: w.panels,
1669
- resizeTargetMinimumSize: w.resizeTargetMinimumSize,
1670
- separators: w.separators
1671
+ panels: L.panels,
1672
+ resizeTargetMinimumSize: L.resizeTargetMinimumSize,
1673
+ separators: L.separators
1671
1674
  };
1672
- F.current = R;
1673
- const k = Vt(R), { defaultLayoutDeferred: O, derivedPanelConstraints: j, layout: Re } = $(R.id, !0);
1674
- !O && j.length > 0 && (c(Re), p(Re));
1675
- const lt = ve(m, (ee) => {
1676
- const { defaultLayoutDeferred: ae, derivedPanelConstraints: Me, layout: le } = ee.next;
1677
- if (ae || Me.length === 0)
1675
+ N.current = R;
1676
+ const E = Vt(R), { defaultLayoutDeferred: I, derivedPanelConstraints: V, layout: ue } = H(R.id, !0);
1677
+ !I && V.length > 0 && (u(ue), p(ue));
1678
+ const oe = ze(m, (j) => {
1679
+ const { defaultLayoutDeferred: Y, derivedPanelConstraints: Ee, layout: ce } = j.next;
1680
+ if (Y || Ee.length === 0)
1678
1681
  return;
1679
- const ut = R.panels.map(({ id: N }) => N).join(",");
1680
- R.mutableState.layouts[ut] = le, Me.forEach((N) => {
1681
- if (N.collapsible) {
1682
- const { layout: he } = ee.prev ?? {};
1683
- if (he) {
1684
- const ft = I(
1685
- N.collapsedSize,
1686
- le[N.panelId]
1687
- ), dt = I(
1688
- N.collapsedSize,
1689
- he[N.panelId]
1682
+ const ut = R.panels.map(({ id: _ }) => _).join(",");
1683
+ R.mutableState.layouts[ut] = ce, Ee.forEach((_) => {
1684
+ if (_.collapsible) {
1685
+ const { layout: ge } = j.prev ?? {};
1686
+ if (ge) {
1687
+ const ft = D(
1688
+ _.collapsedSize,
1689
+ ce[_.panelId]
1690
+ ), dt = D(
1691
+ _.collapsedSize,
1692
+ ge[_.panelId]
1690
1693
  );
1691
- ft && !dt && (R.mutableState.expandedPanelSizes[N.panelId] = he[N.panelId]);
1694
+ ft && !dt && (R.mutableState.expandedPanelSizes[_.panelId] = ge[_.panelId]);
1692
1695
  }
1693
1696
  }
1694
1697
  });
1695
- const ct = W().state !== "active";
1696
- c(le), ct && p(le);
1698
+ const ct = K().state !== "active";
1699
+ u(ce), ct && p(ce);
1697
1700
  });
1698
1701
  return () => {
1699
- F.current = null, k(), lt();
1702
+ N.current = null, E(), oe();
1700
1703
  };
1701
1704
  }, [
1702
1705
  i,
1703
1706
  m,
1704
1707
  p,
1705
- c,
1708
+ u,
1706
1709
  f,
1707
1710
  v,
1708
- C
1709
- ]), pe(() => {
1710
- const b = F.current;
1711
- b && (b.mutableState.defaultLayout = n, b.mutableState.disableCursor = !!o);
1712
- }), /* @__PURE__ */ ie(at.Provider, { value: X, children: /* @__PURE__ */ ie(
1711
+ P
1712
+ ]), me(() => {
1713
+ const z = N.current;
1714
+ z && (z.mutableState.defaultLayout = n, z.mutableState.disableCursor = !!o);
1715
+ }), /* @__PURE__ */ ae(lt.Provider, { value: G, children: /* @__PURE__ */ ae(
1713
1716
  "div",
1714
1717
  {
1715
- ...z,
1718
+ ...b,
1716
1719
  className: t,
1717
1720
  "data-group": !0,
1718
1721
  "data-testid": m,
1719
1722
  id: m,
1720
- ref: P,
1723
+ ref: w,
1721
1724
  style: {
1722
1725
  height: "100%",
1723
1726
  width: "100%",
@@ -1737,7 +1740,7 @@ function Ut({
1737
1740
  ) });
1738
1741
  }
1739
1742
  Ut.displayName = "Group";
1740
- function de(e, t) {
1743
+ function he(e, t) {
1741
1744
  return `react-resizable-panels:${[e, ...t].join(":")}`;
1742
1745
  }
1743
1746
  function Kt({
@@ -1745,7 +1748,7 @@ function Kt({
1745
1748
  panelIds: t,
1746
1749
  storage: n
1747
1750
  }) {
1748
- const o = de(e, []), i = n.getItem(o);
1751
+ const o = he(e, []), i = n.getItem(o);
1749
1752
  if (i)
1750
1753
  try {
1751
1754
  const s = JSON.parse(i);
@@ -1753,8 +1756,8 @@ function Kt({
1753
1756
  const l = t.join(","), r = s[l];
1754
1757
  if (r && Array.isArray(r.layout) && t.length === r.layout.length) {
1755
1758
  const a = {};
1756
- for (let u = 0; u < t.length; u++)
1757
- a[t[u]] = r.layout[u];
1759
+ for (let c = 0; c < t.length; c++)
1760
+ a[t[c]] = r.layout[c];
1758
1761
  return a;
1759
1762
  }
1760
1763
  } else {
@@ -1764,10 +1767,10 @@ function Kt({
1764
1767
  if (r && Array.isArray(r.layout)) {
1765
1768
  const a = l[0].split(",");
1766
1769
  if (a.length === r.layout.length) {
1767
- const u = {};
1770
+ const c = {};
1768
1771
  for (let f = 0; f < a.length; f++)
1769
- u[a[f]] = r.layout[f];
1770
- return u;
1772
+ c[a[f]] = r.layout[f];
1773
+ return c;
1771
1774
  }
1772
1775
  }
1773
1776
  }
@@ -1781,49 +1784,49 @@ function on({
1781
1784
  storage: n = localStorage,
1782
1785
  ...o
1783
1786
  }) {
1784
- const i = t !== void 0, s = "id" in o ? o.id : o.groupId, l = de(s, t ?? []), r = Ke(
1787
+ const i = t !== void 0, s = "id" in o ? o.id : o.groupId, l = he(s, t ?? []), r = Xe(
1785
1788
  Xt,
1786
1789
  () => n.getItem(l),
1787
1790
  () => n.getItem(l)
1788
- ), a = ge(() => {
1791
+ ), a = Se(() => {
1789
1792
  if (r) {
1790
- const c = JSON.parse(r), p = Object.values(c);
1793
+ const u = JSON.parse(r), p = Object.values(u);
1791
1794
  if (Array.from(p).every((m) => typeof m == "number"))
1792
- return c;
1795
+ return u;
1793
1796
  }
1794
- }, [r]), u = ge(() => {
1797
+ }, [r]), c = Se(() => {
1795
1798
  if (!a)
1796
1799
  return Kt({
1797
1800
  id: s,
1798
1801
  panelIds: t,
1799
1802
  storage: n
1800
1803
  });
1801
- }, [a, s, t, n]), f = a ?? u, g = T(null), d = ne(() => {
1802
- const c = g.current;
1803
- c && (g.current = null, clearTimeout(c));
1804
+ }, [a, s, t, n]), f = a ?? c, g = O(null), d = re(() => {
1805
+ const u = g.current;
1806
+ u && (g.current = null, clearTimeout(u));
1804
1807
  }, []);
1805
- We(() => () => {
1808
+ Ue(() => () => {
1806
1809
  d();
1807
1810
  }, [d]);
1808
- const z = ne(
1809
- (c) => {
1811
+ const b = re(
1812
+ (u) => {
1810
1813
  d();
1811
1814
  let p;
1812
- i ? p = de(s, Object.keys(c)) : p = de(s, []);
1815
+ i ? p = he(s, Object.keys(u)) : p = he(s, []);
1813
1816
  try {
1814
- n.setItem(p, JSON.stringify(c));
1817
+ n.setItem(p, JSON.stringify(u));
1815
1818
  } catch (m) {
1816
1819
  console.error(m);
1817
1820
  }
1818
1821
  },
1819
1822
  [d, i, s, n]
1820
- ), x = ne(
1821
- (c) => {
1822
- d(), e === 0 ? z(c) : g.current = setTimeout(() => {
1823
- z(c);
1823
+ ), x = re(
1824
+ (u) => {
1825
+ d(), e === 0 ? b(u) : g.current = setTimeout(() => {
1826
+ b(u);
1824
1827
  }, e);
1825
1828
  },
1826
- [d, e, z]
1829
+ [d, e, b]
1827
1830
  );
1828
1831
  return {
1829
1832
  /**
@@ -1839,7 +1842,7 @@ function on({
1839
1842
  /**
1840
1843
  * Attach this callback on the `Group` as the `onLayoutChanged` prop.
1841
1844
  */
1842
- onLayoutChanged: z
1845
+ onLayoutChanged: b
1843
1846
  };
1844
1847
  }
1845
1848
  function Xt() {
@@ -1847,33 +1850,33 @@ function Xt() {
1847
1850
  };
1848
1851
  }
1849
1852
  function rn() {
1850
- return re(null);
1853
+ return Q(null);
1851
1854
  }
1852
1855
  function sn() {
1853
- return T(null);
1856
+ return O(null);
1854
1857
  }
1855
- function Ce() {
1856
- const e = mt(at);
1857
- return L(
1858
+ function Me() {
1859
+ const e = mt(lt);
1860
+ return C(
1858
1861
  e,
1859
1862
  "Group Context not found; did you render a Panel or Separator outside of a Group?"
1860
1863
  ), e;
1861
1864
  }
1862
1865
  function qt(e, t) {
1863
- const { id: n } = Ce(), o = T({
1864
- collapse: me,
1865
- expand: me,
1866
+ const { id: n } = Me(), o = O({
1867
+ collapse: ye,
1868
+ expand: ye,
1866
1869
  getSize: () => ({
1867
1870
  asPercentage: 0,
1868
1871
  inPixels: 0
1869
1872
  }),
1870
1873
  isCollapsed: () => !1,
1871
- resize: me
1874
+ resize: ye
1872
1875
  });
1873
- Ue(t, () => o.current, []), K(() => {
1876
+ Ke(t, () => o.current, []), q(() => {
1874
1877
  Object.assign(
1875
1878
  o.current,
1876
- et({ groupId: n, panelId: e })
1879
+ tt({ groupId: n, panelId: e })
1877
1880
  );
1878
1881
  });
1879
1882
  }
@@ -1887,81 +1890,81 @@ function Yt({
1887
1890
  elementRef: l,
1888
1891
  groupResizeBehavior: r = "preserve-relative-size",
1889
1892
  id: a,
1890
- maxSize: u = "100%",
1893
+ maxSize: c = "100%",
1891
1894
  minSize: f = "0%",
1892
1895
  onResize: g,
1893
1896
  panelRef: d,
1894
- style: z,
1897
+ style: b,
1895
1898
  ...x
1896
1899
  }) {
1897
- const c = !!a, p = we(a), m = Le({
1900
+ const u = !!a, p = Le(a), m = Re({
1898
1901
  disabled: s
1899
- }), S = T(null), v = Pe(S, l), {
1902
+ }), S = O(null), v = Ce(S, l), {
1900
1903
  getPanelStyles: y,
1901
1904
  id: h,
1902
- orientation: P,
1905
+ orientation: w,
1903
1906
  registerPanel: M,
1904
- togglePanelDisabled: C
1905
- } = Ce(), X = g !== null, F = oe(
1906
- (R, k, O) => {
1907
- g?.(R, a, O);
1907
+ updatePanelProps: P
1908
+ } = Me(), G = g !== null, N = se(
1909
+ (R, E, I) => {
1910
+ g?.(R, a, I);
1908
1911
  }
1909
1912
  );
1910
- K(() => {
1913
+ q(() => {
1911
1914
  const R = S.current;
1912
1915
  if (R !== null) {
1913
- const k = {
1916
+ const E = {
1914
1917
  element: R,
1915
1918
  id: p,
1916
- idIsStable: c,
1919
+ idIsStable: u,
1917
1920
  mutableValues: {
1918
1921
  expandToSize: void 0,
1919
1922
  prevSize: void 0
1920
1923
  },
1921
- onResize: X ? F : void 0,
1924
+ onResize: G ? N : void 0,
1922
1925
  panelConstraints: {
1923
1926
  groupResizeBehavior: r,
1924
1927
  collapsedSize: n,
1925
1928
  collapsible: o,
1926
1929
  defaultSize: i,
1927
1930
  disabled: m.disabled,
1928
- maxSize: u,
1931
+ maxSize: c,
1929
1932
  minSize: f
1930
1933
  }
1931
1934
  };
1932
- return M(k);
1935
+ return M(E);
1933
1936
  }
1934
1937
  }, [
1935
1938
  r,
1936
1939
  n,
1937
1940
  o,
1938
1941
  i,
1939
- X,
1942
+ G,
1940
1943
  p,
1941
- c,
1942
1944
  u,
1945
+ c,
1943
1946
  f,
1944
- F,
1947
+ N,
1945
1948
  M,
1946
1949
  m
1947
- ]), pe(() => {
1948
- C(p, !!s);
1949
- }, [s, p, C]), qt(p, d);
1950
- const b = () => {
1950
+ ]), me(() => {
1951
+ P(p, { disabled: s });
1952
+ }, [s, p, P]), qt(p, d);
1953
+ const z = () => {
1951
1954
  const R = y(h, p);
1952
1955
  if (R)
1953
1956
  return JSON.stringify(R);
1954
- }, w = Ke(
1955
- (R) => ve(h, R),
1956
- b,
1957
- b
1957
+ }, L = Xe(
1958
+ (R) => ze(h, R),
1959
+ z,
1960
+ z
1958
1961
  );
1959
- let E;
1960
- return w ? E = JSON.parse(w) : i ? E = {
1962
+ let k;
1963
+ return L ? k = JSON.parse(L) : i ? k = {
1961
1964
  flexGrow: void 0,
1962
1965
  flexShrink: void 0,
1963
1966
  flexBasis: i
1964
- } : E = { flexGrow: 1 }, /* @__PURE__ */ ie(
1967
+ } : k = { flexGrow: 1 }, /* @__PURE__ */ ae(
1965
1968
  "div",
1966
1969
  {
1967
1970
  ...x,
@@ -1976,9 +1979,9 @@ function Yt({
1976
1979
  flexBasis: 0,
1977
1980
  flexShrink: 1,
1978
1981
  overflow: "visible",
1979
- ...E
1982
+ ...k
1980
1983
  },
1981
- children: /* @__PURE__ */ ie(
1984
+ children: /* @__PURE__ */ ae(
1982
1985
  "div",
1983
1986
  {
1984
1987
  className: t,
@@ -1987,12 +1990,12 @@ function Yt({
1987
1990
  maxWidth: "100%",
1988
1991
  flexGrow: 1,
1989
1992
  overflow: "auto",
1990
- ...z,
1993
+ ...b,
1991
1994
  // Inform the browser that the library is handling touch events for this element
1992
1995
  // but still allow users to scroll content within panels in the non-resizing direction
1993
1996
  // NOTE This is not an inherited style
1994
1997
  // See github.com/bvaughn/react-resizable-panels/issues/662
1995
- touchAction: P === "horizontal" ? "pan-y" : "pan-x"
1998
+ touchAction: w === "horizontal" ? "pan-y" : "pan-x"
1996
1999
  },
1997
2000
  children: e
1998
2001
  }
@@ -2014,10 +2017,10 @@ const Jt = {
2014
2017
  margin: 0
2015
2018
  };
2016
2019
  function an() {
2017
- return re(null);
2020
+ return Q(null);
2018
2021
  }
2019
2022
  function ln() {
2020
- return T(null);
2023
+ return O(null);
2021
2024
  }
2022
2025
  function Zt({
2023
2026
  layout: e,
@@ -2030,18 +2033,18 @@ function Zt({
2030
2033
  (a) => a.panelId === n
2031
2034
  );
2032
2035
  if (r) {
2033
- const a = r.maxSize, u = r.collapsible ? r.collapsedSize : r.minSize, f = [o, o + 1];
2034
- s = B({
2035
- layout: se({
2036
- delta: u - l,
2036
+ const a = r.maxSize, c = r.collapsible ? r.collapsedSize : r.minSize, f = [o, o + 1];
2037
+ s = U({
2038
+ layout: le({
2039
+ delta: c - l,
2037
2040
  initialLayout: e,
2038
2041
  panelConstraints: t,
2039
2042
  pivotIndices: f,
2040
2043
  prevLayout: e
2041
2044
  }),
2042
2045
  panelConstraints: t
2043
- })[n], i = B({
2044
- layout: se({
2046
+ })[n], i = U({
2047
+ layout: le({
2045
2048
  delta: a - l,
2046
2049
  initialLayout: e,
2047
2050
  panelConstraints: t,
@@ -2062,81 +2065,99 @@ function Qt({
2062
2065
  children: e,
2063
2066
  className: t,
2064
2067
  disabled: n,
2065
- elementRef: o,
2066
- id: i,
2067
- style: s,
2068
- ...l
2068
+ disableDoubleClick: o,
2069
+ elementRef: i,
2070
+ id: s,
2071
+ style: l,
2072
+ ...r
2069
2073
  }) {
2070
- const r = we(i), a = Le({
2071
- disabled: n
2072
- }), [u, f] = re({}), [g, d] = re("inactive"), z = T(null), x = Pe(z, o), {
2073
- disableCursor: c,
2074
- id: p,
2075
- orientation: m,
2076
- registerSeparator: S,
2077
- toggleSeparatorDisabled: v
2078
- } = Ce(), y = m === "horizontal" ? "vertical" : "horizontal";
2079
- K(() => {
2080
- const P = z.current;
2081
- if (P !== null) {
2082
- const M = {
2083
- disabled: a.disabled,
2084
- element: P,
2085
- id: r
2086
- }, C = S(M), X = Gt(
2087
- (b) => {
2088
- d(
2089
- b.next.state !== "inactive" && b.next.hitRegions.some(
2090
- (w) => w.separator === M
2091
- ) ? b.next.state : "inactive"
2074
+ const a = Le(s), c = Re({
2075
+ disabled: n,
2076
+ disableDoubleClick: o
2077
+ }), [f, g] = Q({}), [d, b] = Q("inactive"), [x, u] = Q(!1), p = O(null), m = Ce(p, i), {
2078
+ disableCursor: S,
2079
+ id: v,
2080
+ orientation: y,
2081
+ registerSeparator: h,
2082
+ updateSeparatorProps: w
2083
+ } = Me(), M = y === "horizontal" ? "vertical" : "horizontal";
2084
+ q(() => {
2085
+ const N = p.current;
2086
+ if (N !== null) {
2087
+ const z = {
2088
+ disabled: c.disabled,
2089
+ disableDoubleClick: c.disableDoubleClick,
2090
+ element: N,
2091
+ id: a
2092
+ }, L = h(z), k = Gt(
2093
+ (E) => {
2094
+ b(
2095
+ E.next.state !== "inactive" && E.next.hitRegions.some(
2096
+ (I) => I.separator === z
2097
+ ) ? E.next.state : "inactive"
2092
2098
  );
2093
2099
  }
2094
- ), F = ve(
2095
- p,
2096
- (b) => {
2097
- const { derivedPanelConstraints: w, layout: E, separatorToPanels: R } = b.next, k = R.get(M);
2098
- if (k) {
2099
- const O = k[0], j = k.indexOf(O);
2100
- f(
2100
+ ), R = ze(
2101
+ v,
2102
+ (E) => {
2103
+ const { derivedPanelConstraints: I, layout: V, separatorToPanels: ue } = E.next, oe = ue.get(z);
2104
+ if (oe) {
2105
+ const j = oe[0], Y = oe.indexOf(j);
2106
+ g(
2101
2107
  Zt({
2102
- layout: E,
2103
- panelConstraints: w,
2104
- panelId: O.id,
2105
- panelIndex: j
2108
+ layout: V,
2109
+ panelConstraints: I,
2110
+ panelId: j.id,
2111
+ panelIndex: Y
2106
2112
  })
2107
2113
  );
2108
2114
  }
2109
2115
  }
2110
2116
  );
2111
2117
  return () => {
2112
- X(), F(), C();
2118
+ k(), R(), L();
2113
2119
  };
2114
2120
  }
2115
- }, [p, r, S, a]), pe(() => {
2116
- v(r, !!n);
2117
- }, [n, r, v]);
2118
- let h;
2119
- return n && !c && (h = "not-allowed"), /* @__PURE__ */ ie(
2121
+ }, [v, a, h, c]), me(() => {
2122
+ w(a, { disabled: n, disableDoubleClick: o });
2123
+ }, [n, o, a, w]);
2124
+ let P;
2125
+ n && !S && (P = "not-allowed");
2126
+ let G;
2127
+ if (n)
2128
+ G = "disabled";
2129
+ else
2130
+ switch (d) {
2131
+ case "active": {
2132
+ G = "active";
2133
+ break;
2134
+ }
2135
+ default:
2136
+ x ? G = "focus" : G = d;
2137
+ }
2138
+ return /* @__PURE__ */ ae(
2120
2139
  "div",
2121
2140
  {
2122
- ...l,
2123
- "aria-controls": u.valueControls,
2141
+ ...r,
2142
+ "aria-controls": f.valueControls,
2124
2143
  "aria-disabled": n || void 0,
2125
- "aria-orientation": y,
2126
- "aria-valuemax": u.valueMax,
2127
- "aria-valuemin": u.valueMin,
2128
- "aria-valuenow": u.valueNow,
2144
+ "aria-orientation": M,
2145
+ "aria-valuemax": f.valueMax,
2146
+ "aria-valuemin": f.valueMin,
2147
+ "aria-valuenow": f.valueNow,
2129
2148
  children: e,
2130
2149
  className: t,
2131
- "data-separator": n ? "disabled" : g,
2132
- "data-testid": r,
2133
- id: r,
2134
- ref: x,
2150
+ "data-separator": G,
2151
+ "data-testid": a,
2152
+ id: a,
2153
+ onBlur: () => u(!1),
2154
+ onFocus: () => u(!0),
2155
+ ref: m,
2135
2156
  role: "separator",
2136
2157
  style: {
2137
2158
  flexBasis: "auto",
2138
- cursor: h,
2139
- ...s,
2159
+ cursor: P,
2160
+ ...l,
2140
2161
  flexGrow: 0,
2141
2162
  flexShrink: 0,
2142
2163
  // Inform the browser that the library is handling touch events for this element