react-resizable-panels 4.5.9-alpha.0 → 4.6.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,11 +1,11 @@
1
1
  "use client";
2
- import { jsx as q } from "react/jsx-runtime";
3
- import { useState as Y, useCallback as K, useId as tt, useLayoutEffect as Oe, useEffect as Te, useRef as k, createContext as nt, useImperativeHandle as Ne, useMemo as Ae, useSyncExternalStore as _e, useContext as ot } from "react";
4
- function z(e, t = "Assertion error") {
2
+ import { jsx as J } from "react/jsx-runtime";
3
+ import { useState as Z, useCallback as q, useId as tt, useLayoutEffect as Oe, useEffect as Te, useRef as I, createContext as nt, useImperativeHandle as Ne, useMemo as _e, useSyncExternalStore as Ae, useContext as ot } from "react";
4
+ function b(e, t = "Assertion error") {
5
5
  if (!e)
6
6
  throw Error(t);
7
7
  }
8
- function W({
8
+ function B({
9
9
  group: e
10
10
  }) {
11
11
  const { orientation: t, panels: n } = e;
@@ -48,117 +48,121 @@ function st({
48
48
  x: n.x + n.width / 2,
49
49
  y: n.y + n.height / 2
50
50
  };
51
- let i, r = Number.MAX_VALUE;
51
+ let i, s = Number.MAX_VALUE;
52
52
  for (const l of t) {
53
- const { x: s, y: a } = $e(o, l), u = e === "horizontal" ? s : a;
54
- u < r && (r = u, i = l);
53
+ const { x: r, y: a } = $e(o, l), f = e === "horizontal" ? r : a;
54
+ f < s && (s = f, i = l);
55
55
  }
56
- return z(i, "No rect found"), i;
56
+ return b(i, "No rect found"), i;
57
57
  }
58
58
  let ie;
59
59
  function at() {
60
60
  return ie === void 0 && (typeof matchMedia == "function" ? ie = !!matchMedia("(pointer:coarse)").matches : ie = !1), ie;
61
61
  }
62
62
  function He(e) {
63
- const { element: t, orientation: n, panels: o, separators: i } = e, r = fe(
63
+ const { element: t, orientation: n, panels: o, separators: i } = e, s = fe(
64
64
  n,
65
- Array.from(t.children).filter(Fe).map((c) => ({ element: c }))
66
- ).map(({ element: c }) => c), l = [];
67
- let s = !1, a, u = [];
68
- for (const c of r)
69
- if (c.hasAttribute("data-panel")) {
70
- const h = o.find(
71
- (y) => y.element === c
65
+ Array.from(t.children).filter(Fe).map((z) => ({ element: z }))
66
+ ).map(({ element: z }) => z), l = [];
67
+ let r = !1, a = !1, f = !1, u, m = [];
68
+ for (const z of s)
69
+ if (z.hasAttribute("data-panel")) {
70
+ z.ariaDisabled !== null && (r = !0);
71
+ const S = o.find(
72
+ (c) => c.element === z
72
73
  );
73
- if (h) {
74
- if (a) {
75
- const y = a.element.getBoundingClientRect(), m = c.getBoundingClientRect();
76
- let f;
77
- if (s) {
78
- const d = n === "horizontal" ? new DOMRect(y.right, y.top, 0, y.height) : new DOMRect(
79
- y.left,
80
- y.bottom,
81
- y.width,
74
+ if (S) {
75
+ if (u) {
76
+ const c = u.element.getBoundingClientRect(), d = z.getBoundingClientRect();
77
+ let p;
78
+ if (f) {
79
+ const y = n === "horizontal" ? new DOMRect(c.right, c.top, 0, c.height) : new DOMRect(
80
+ c.left,
81
+ c.bottom,
82
+ c.width,
82
83
  0
83
- ), p = n === "horizontal" ? new DOMRect(m.left, m.top, 0, m.height) : new DOMRect(m.left, m.top, m.width, 0);
84
- switch (u.length) {
84
+ ), h = n === "horizontal" ? new DOMRect(d.left, d.top, 0, d.height) : new DOMRect(d.left, d.top, d.width, 0);
85
+ switch (m.length) {
85
86
  case 0: {
86
- f = [
87
- d,
88
- p
87
+ p = [
88
+ y,
89
+ h
89
90
  ];
90
91
  break;
91
92
  }
92
93
  case 1: {
93
- const g = u[0], v = st({
94
+ const v = m[0], g = st({
94
95
  orientation: n,
95
- rects: [y, m],
96
- targetRect: g.element.getBoundingClientRect()
96
+ rects: [c, d],
97
+ targetRect: v.element.getBoundingClientRect()
97
98
  });
98
- f = [
99
- g,
100
- v === y ? p : d
99
+ p = [
100
+ v,
101
+ g === c ? h : y
101
102
  ];
102
103
  break;
103
104
  }
104
105
  default: {
105
- f = u;
106
+ p = m;
106
107
  break;
107
108
  }
108
109
  }
109
110
  } else
110
- u.length ? f = u : f = [
111
+ m.length ? p = m : p = [
111
112
  n === "horizontal" ? new DOMRect(
112
- y.right,
113
- m.top,
114
- m.left - y.right,
115
- m.height
113
+ c.right,
114
+ d.top,
115
+ d.left - c.right,
116
+ d.height
116
117
  ) : new DOMRect(
117
- m.left,
118
- y.bottom,
119
- m.width,
120
- m.top - y.bottom
118
+ d.left,
119
+ c.bottom,
120
+ d.width,
121
+ d.top - c.bottom
121
122
  )
122
123
  ];
123
- for (const d of f) {
124
- let p = "width" in d ? d : d.element.getBoundingClientRect();
125
- const g = at() ? e.resizeTargetMinimumSize.coarse : e.resizeTargetMinimumSize.fine;
126
- if (p.width < g) {
127
- const v = g - p.width;
128
- p = new DOMRect(
129
- p.x - v / 2,
130
- p.y,
131
- p.width + v,
132
- p.height
124
+ for (const y of p) {
125
+ let h = "width" in y ? y : y.element.getBoundingClientRect();
126
+ const v = at() ? e.resizeTargetMinimumSize.coarse : e.resizeTargetMinimumSize.fine;
127
+ if (h.width < v) {
128
+ const x = v - h.width;
129
+ h = new DOMRect(
130
+ h.x - x / 2,
131
+ h.y,
132
+ h.width + x,
133
+ h.height
133
134
  );
134
135
  }
135
- if (p.height < g) {
136
- const v = g - p.height;
137
- p = new DOMRect(
138
- p.x,
139
- p.y - v / 2,
140
- p.width,
141
- p.height + v
136
+ if (h.height < v) {
137
+ const x = v - h.height;
138
+ h = new DOMRect(
139
+ h.x,
140
+ h.y - x / 2,
141
+ h.width,
142
+ h.height + x
142
143
  );
143
144
  }
145
+ const g = !("width" in y);
144
146
  l.push({
147
+ disabled: a || r && !g,
145
148
  group: e,
146
- groupSize: W({ group: e }),
147
- panels: [a, h],
148
- separator: "width" in d ? void 0 : d,
149
- rect: p
150
- });
149
+ groupSize: B({ group: e }),
150
+ panels: [u, S],
151
+ separator: "width" in y ? void 0 : y,
152
+ rect: h
153
+ }), r = !1, a = !1;
151
154
  }
152
155
  }
153
- s = !1, a = h, u = [];
156
+ f = !1, u = S, m = [];
154
157
  }
155
- } else if (c.hasAttribute("data-separator")) {
156
- const h = i.find(
157
- (y) => y.element === c
158
+ } else if (z.hasAttribute("data-separator")) {
159
+ z.ariaDisabled !== null && (a = !0);
160
+ const S = i.find(
161
+ (c) => c.element === z
158
162
  );
159
- h ? u.push(h) : (a = void 0, u = []);
163
+ S ? m.push(S) : (u = void 0, m = []);
160
164
  } else
161
- s = !0;
165
+ f = !0;
162
166
  return l;
163
167
  }
164
168
  function lt(e, t) {
@@ -191,8 +195,8 @@ function re({
191
195
  styleProp: n
192
196
  }) {
193
197
  let o;
194
- const [i, r] = dt(n);
195
- switch (r) {
198
+ const [i, s] = dt(n);
199
+ switch (s) {
196
200
  case "%": {
197
201
  o = i / 100 * e;
198
202
  break;
@@ -220,62 +224,64 @@ function re({
220
224
  }
221
225
  return o;
222
226
  }
223
- function D(e) {
227
+ function O(e) {
224
228
  return parseFloat(e.toFixed(3));
225
229
  }
226
230
  function Se(e) {
227
- const { panels: t } = e, n = W({ group: e });
231
+ const { panels: t } = e, n = B({ group: e });
228
232
  return n === 0 ? t.map((o) => ({
229
233
  collapsedSize: 0,
230
234
  collapsible: o.panelConstraints.collapsible === !0,
231
235
  defaultSize: void 0,
236
+ disabled: o.panelConstraints.disabled,
232
237
  minSize: 0,
233
238
  maxSize: 100,
234
239
  panelId: o.id
235
240
  })) : t.map((o) => {
236
- const { element: i, panelConstraints: r } = o;
241
+ const { element: i, panelConstraints: s } = o;
237
242
  let l = 0;
238
- if (r.collapsedSize !== void 0) {
239
- const c = re({
243
+ if (s.collapsedSize !== void 0) {
244
+ const u = re({
240
245
  groupSize: n,
241
246
  panelElement: i,
242
- styleProp: r.collapsedSize
247
+ styleProp: s.collapsedSize
243
248
  });
244
- l = D(c / n * 100);
249
+ l = O(u / n * 100);
245
250
  }
246
- let s;
247
- if (r.defaultSize !== void 0) {
248
- const c = re({
251
+ let r;
252
+ if (s.defaultSize !== void 0) {
253
+ const u = re({
249
254
  groupSize: n,
250
255
  panelElement: i,
251
- styleProp: r.defaultSize
256
+ styleProp: s.defaultSize
252
257
  });
253
- s = D(c / n * 100);
258
+ r = O(u / n * 100);
254
259
  }
255
260
  let a = 0;
256
- if (r.minSize !== void 0) {
257
- const c = re({
261
+ if (s.minSize !== void 0) {
262
+ const u = re({
258
263
  groupSize: n,
259
264
  panelElement: i,
260
- styleProp: r.minSize
265
+ styleProp: s.minSize
261
266
  });
262
- a = D(c / n * 100);
267
+ a = O(u / n * 100);
263
268
  }
264
- let u = 100;
265
- if (r.maxSize !== void 0) {
266
- const c = re({
269
+ let f = 100;
270
+ if (s.maxSize !== void 0) {
271
+ const u = re({
267
272
  groupSize: n,
268
273
  panelElement: i,
269
- styleProp: r.maxSize
274
+ styleProp: s.maxSize
270
275
  });
271
- u = D(c / n * 100);
276
+ f = O(u / n * 100);
272
277
  }
273
278
  return {
274
279
  collapsedSize: l,
275
- collapsible: r.collapsible === !0,
276
- defaultSize: s,
280
+ collapsible: s.collapsible === !0,
281
+ defaultSize: r,
282
+ disabled: s.disabled,
277
283
  minSize: a,
278
- maxSize: u,
284
+ maxSize: f,
279
285
  panelId: o.id
280
286
  };
281
287
  });
@@ -294,18 +300,18 @@ class pt {
294
300
  if (o.length === 1)
295
301
  o[0].call(null, n);
296
302
  else {
297
- let i = !1, r = null;
303
+ let i = !1, s = null;
298
304
  const l = Array.from(o);
299
- for (let s = 0; s < l.length; s++) {
300
- const a = l[s];
305
+ for (let r = 0; r < l.length; r++) {
306
+ const a = l[r];
301
307
  try {
302
308
  a.call(null, n);
303
- } catch (u) {
304
- r === null && (i = !0, r = u);
309
+ } catch (f) {
310
+ s === null && (i = !0, s = f);
305
311
  }
306
312
  }
307
313
  if (i)
308
- throw r;
314
+ throw s;
309
315
  }
310
316
  }
311
317
  removeAllListeners() {
@@ -319,60 +325,62 @@ class pt {
319
325
  }
320
326
  }
321
327
  }
322
- function R(e, t, n = 0) {
323
- return Math.abs(D(e) - D(t)) <= n;
328
+ function M(e, t, n = 0) {
329
+ return Math.abs(O(e) - O(t)) <= n;
324
330
  }
325
- let I = {
331
+ let D = {
326
332
  cursorFlags: 0,
327
333
  interactionState: {
328
334
  state: "inactive"
329
335
  },
330
336
  mountedGroups: /* @__PURE__ */ new Map()
331
337
  };
332
- const O = new pt();
333
- function E() {
334
- return I;
335
- }
336
- function M(e) {
337
- const t = typeof e == "function" ? e(I) : e;
338
- if (I === t)
339
- return I;
340
- const n = I;
341
- return I = {
342
- ...I,
338
+ const N = new pt();
339
+ function G() {
340
+ return D;
341
+ }
342
+ function E(e) {
343
+ const t = typeof e == "function" ? e(D) : e;
344
+ if (D === t)
345
+ return D;
346
+ const n = D;
347
+ return D = {
348
+ ...D,
343
349
  ...t
344
- }, t.cursorFlags !== void 0 && O.emit("cursorFlagsChange", I.cursorFlags), t.interactionState !== void 0 && O.emit("interactionStateChange", I.interactionState), t.mountedGroups !== void 0 && (I.mountedGroups.forEach((o, i) => {
345
- o.derivedPanelConstraints.forEach((r) => {
346
- if (r.collapsible) {
350
+ }, t.cursorFlags !== void 0 && N.emit("cursorFlagsChange", D.cursorFlags), t.interactionState !== void 0 && N.emit("interactionStateChange", D.interactionState), t.mountedGroups !== void 0 && (D.mountedGroups.forEach((o, i) => {
351
+ o.derivedPanelConstraints.forEach((s) => {
352
+ if (s.collapsible) {
347
353
  const { layout: l } = n.mountedGroups.get(i) ?? {};
348
354
  if (l) {
349
- const s = R(
350
- r.collapsedSize,
351
- o.layout[r.panelId]
352
- ), a = R(
353
- r.collapsedSize,
354
- l[r.panelId]
355
+ const r = M(
356
+ s.collapsedSize,
357
+ o.layout[s.panelId]
358
+ ), a = M(
359
+ s.collapsedSize,
360
+ l[s.panelId]
355
361
  );
356
- s && !a && (i.inMemoryLastExpandedPanelSizes[r.panelId] = l[r.panelId]);
362
+ r && !a && (i.inMemoryLastExpandedPanelSizes[s.panelId] = l[s.panelId]);
357
363
  }
358
364
  }
359
365
  });
360
- }), O.emit("mountedGroupsChange", I.mountedGroups)), I;
366
+ }), N.emit("mountedGroupsChange", D.mountedGroups)), D;
361
367
  }
362
368
  function mt(e, t, n) {
363
369
  let o, i = {
364
370
  x: 1 / 0,
365
371
  y: 1 / 0
366
372
  };
367
- for (const r of t) {
368
- const l = $e(n, r.rect);
373
+ for (const s of t) {
374
+ if (s.disabled)
375
+ continue;
376
+ const l = $e(n, s.rect);
369
377
  switch (e) {
370
378
  case "horizontal": {
371
- l.x <= i.x && (o = r, i = l);
379
+ l.x <= i.x && (o = s, i = l);
372
380
  break;
373
381
  }
374
382
  case "vertical": {
375
- l.y <= i.y && (o = r, i = l);
383
+ l.y <= i.y && (o = s, i = l);
376
384
  break;
377
385
  }
378
386
  }
@@ -388,28 +396,28 @@ function ht(e) {
388
396
  function gt(e, t) {
389
397
  if (e === t) throw new Error("Cannot compare node with itself");
390
398
  const n = {
391
- a: ze(e),
392
- b: ze(t)
399
+ a: xe(e),
400
+ b: xe(t)
393
401
  };
394
402
  let o;
395
403
  for (; n.a.at(-1) === n.b.at(-1); )
396
404
  o = n.a.pop(), n.b.pop();
397
- z(
405
+ b(
398
406
  o,
399
407
  "Stacking order can only be calculated for elements with a common ancestor"
400
408
  );
401
409
  const i = {
402
- a: xe(ve(n.a)),
403
- b: xe(ve(n.b))
410
+ a: ze(ve(n.a)),
411
+ b: ze(ve(n.b))
404
412
  };
405
413
  if (i.a === i.b) {
406
- const r = o.childNodes, l = {
414
+ const s = o.childNodes, l = {
407
415
  a: n.a.at(-1),
408
416
  b: n.b.at(-1)
409
417
  };
410
- let s = r.length;
411
- for (; s--; ) {
412
- const a = r[s];
418
+ let r = s.length;
419
+ for (; r--; ) {
420
+ const a = s[r];
413
421
  if (a === l.a) return 1;
414
422
  if (a === l.b) return -1;
415
423
  }
@@ -429,14 +437,14 @@ function ve(e) {
429
437
  let t = e.length;
430
438
  for (; t--; ) {
431
439
  const n = e[t];
432
- if (z(n, "Missing node"), vt(n)) return n;
440
+ if (b(n, "Missing node"), vt(n)) return n;
433
441
  }
434
442
  return null;
435
443
  }
436
- function xe(e) {
444
+ function ze(e) {
437
445
  return e && Number(getComputedStyle(e).zIndex) || 0;
438
446
  }
439
- function ze(e) {
447
+ function xe(e) {
440
448
  const t = [];
441
449
  for (; e; )
442
450
  t.push(e), e = je(e);
@@ -446,10 +454,10 @@ function je(e) {
446
454
  const { parentNode: t } = e;
447
455
  return ht(t) ? t.host : t;
448
456
  }
449
- function xt(e, t) {
457
+ function zt(e, t) {
450
458
  return e.x < t.x + t.width && e.x + e.width > t.x && e.y < t.y + t.height && e.y + e.height > t.y;
451
459
  }
452
- function zt({
460
+ function xt({
453
461
  groupElement: e,
454
462
  hitRegion: t,
455
463
  pointerEventTarget: n
@@ -461,7 +469,7 @@ function zt({
461
469
  for (; o; ) {
462
470
  if (o.contains(e))
463
471
  return !0;
464
- if (xt(o.getBoundingClientRect(), t))
472
+ if (zt(o.getBoundingClientRect(), t))
465
473
  return !1;
466
474
  o = o.parentElement;
467
475
  }
@@ -473,11 +481,11 @@ function de(e, t) {
473
481
  return t.forEach((o, i) => {
474
482
  if (i.disabled)
475
483
  return;
476
- const r = He(i), l = mt(i.orientation, r, {
484
+ const s = He(i), l = mt(i.orientation, s, {
477
485
  x: e.clientX,
478
486
  y: e.clientY
479
487
  });
480
- l && l.distance.x <= 0 && l.distance.y <= 0 && zt({
488
+ l && l.distance.x <= 0 && l.distance.y <= 0 && xt({
481
489
  groupElement: i.element,
482
490
  hitRegion: l.hitRegion.rect,
483
491
  pointerEventTarget: e.target
@@ -492,326 +500,355 @@ function bt(e, t) {
492
500
  return !1;
493
501
  return !0;
494
502
  }
495
- function J(e, t) {
496
- return R(e, t) ? 0 : e > t ? 1 : -1;
503
+ function T(e, t) {
504
+ return M(e, t) ? 0 : e > t ? 1 : -1;
497
505
  }
498
- function V({
506
+ function U({
499
507
  panelConstraints: e,
500
- size: t
508
+ prevSize: t,
509
+ size: n
501
510
  }) {
502
511
  const {
503
- collapsedSize: n = 0,
504
- collapsible: o,
505
- maxSize: i = 100,
512
+ collapsedSize: o = 0,
513
+ collapsible: i,
514
+ disabled: s,
515
+ maxSize: l = 100,
506
516
  minSize: r = 0
507
517
  } = e;
508
- if (J(t, r) < 0)
509
- if (o) {
510
- const l = (n + r) / 2;
511
- J(t, l) < 0 ? t = n : t = r;
518
+ if (s)
519
+ return t;
520
+ if (T(n, r) < 0)
521
+ if (i) {
522
+ const a = (o + r) / 2;
523
+ T(n, a) < 0 ? n = o : n = r;
512
524
  } else
513
- t = r;
514
- return t = Math.min(i, t), t = D(t), t;
525
+ n = r;
526
+ return n = Math.min(l, n), n = O(n), n;
515
527
  }
516
- function Z({
528
+ function Q({
517
529
  delta: e,
518
530
  initialLayout: t,
519
531
  panelConstraints: n,
520
532
  pivotIndices: o,
521
533
  prevLayout: i,
522
- trigger: r
534
+ trigger: s
523
535
  }) {
524
- if (R(e, 0))
536
+ if (M(e, 0))
525
537
  return t;
526
- const l = Object.values(t), s = Object.values(i), a = [...l], [u, c] = o;
527
- z(u != null, "Invalid first pivot index"), z(c != null, "Invalid second pivot index");
528
- let h = 0;
529
- switch (r) {
538
+ const l = Object.values(t), r = Object.values(i), a = [...l], [f, u] = o;
539
+ b(f != null, "Invalid first pivot index"), b(u != null, "Invalid second pivot index");
540
+ let m = 0;
541
+ switch (s) {
530
542
  case "keyboard": {
531
543
  {
532
- const f = e < 0 ? c : u, d = n[f];
533
- z(
544
+ const c = e < 0 ? u : f, d = n[c];
545
+ b(
534
546
  d,
535
- `Panel constraints not found for index ${f}`
547
+ `Panel constraints not found for index ${c}`
536
548
  );
537
549
  const {
538
550
  collapsedSize: p = 0,
539
- collapsible: g,
540
- minSize: v = 0
551
+ collapsible: y,
552
+ minSize: h = 0
541
553
  } = d;
542
- if (g) {
543
- const x = l[f];
544
- if (z(
545
- x != null,
546
- `Previous layout not found for panel index ${f}`
547
- ), R(x, p)) {
548
- const S = v - x;
549
- J(S, Math.abs(e)) > 0 && (e = e < 0 ? 0 - S : S);
554
+ if (y) {
555
+ const v = l[c];
556
+ if (b(
557
+ v != null,
558
+ `Previous layout not found for panel index ${c}`
559
+ ), M(v, p)) {
560
+ const g = h - v;
561
+ T(g, Math.abs(e)) > 0 && (e = e < 0 ? 0 - g : g);
550
562
  }
551
563
  }
552
564
  }
553
565
  {
554
- const f = e < 0 ? u : c, d = n[f];
555
- z(
566
+ const c = e < 0 ? f : u, d = n[c];
567
+ b(
556
568
  d,
557
- `No panel constraints found for index ${f}`
569
+ `No panel constraints found for index ${c}`
558
570
  );
559
571
  const {
560
572
  collapsedSize: p = 0,
561
- collapsible: g,
562
- minSize: v = 0
573
+ collapsible: y,
574
+ minSize: h = 0
563
575
  } = d;
564
- if (g) {
565
- const x = l[f];
566
- if (z(
567
- x != null,
568
- `Previous layout not found for panel index ${f}`
569
- ), R(x, v)) {
570
- const S = x - p;
571
- J(S, Math.abs(e)) > 0 && (e = e < 0 ? 0 - S : S);
576
+ if (y) {
577
+ const v = l[c];
578
+ if (b(
579
+ v != null,
580
+ `Previous layout not found for panel index ${c}`
581
+ ), M(v, h)) {
582
+ const g = v - p;
583
+ T(g, Math.abs(e)) > 0 && (e = e < 0 ? 0 - g : g);
572
584
  }
573
585
  }
574
586
  }
575
587
  break;
576
588
  }
589
+ default: {
590
+ const c = e < 0 ? u : f, d = n[c];
591
+ b(
592
+ d,
593
+ `Panel constraints not found for index ${c}`
594
+ );
595
+ const p = l[c], { collapsible: y, collapsedSize: h, minSize: v } = d;
596
+ if (y && T(p, v) < 0)
597
+ if (e > 0) {
598
+ const g = v - h, x = g / 2, C = p + e;
599
+ T(C, v) < 0 && (e = T(e, x) <= 0 ? 0 : g);
600
+ } else {
601
+ const g = v - h, x = 100 - g / 2, C = p - e;
602
+ T(C, v) < 0 && (e = T(100 + e, x) > 0 ? 0 : -g);
603
+ }
604
+ break;
605
+ }
577
606
  }
578
607
  {
579
- const f = e < 0 ? 1 : -1;
580
- let d = e < 0 ? c : u, p = 0;
608
+ const c = e < 0 ? 1 : -1;
609
+ let d = e < 0 ? u : f, p = 0;
581
610
  for (; ; ) {
582
- const v = l[d];
583
- z(
584
- v != null,
611
+ const h = l[d];
612
+ b(
613
+ h != null,
585
614
  `Previous layout not found for panel index ${d}`
586
615
  );
587
- const S = V({
616
+ const g = U({
588
617
  panelConstraints: n[d],
618
+ prevSize: h,
589
619
  size: 100
590
- }) - v;
591
- if (p += S, d += f, d < 0 || d >= n.length)
620
+ }) - h;
621
+ if (p += g, d += c, d < 0 || d >= n.length)
592
622
  break;
593
623
  }
594
- const g = Math.min(Math.abs(e), Math.abs(p));
595
- e = e < 0 ? 0 - g : g;
624
+ const y = Math.min(Math.abs(e), Math.abs(p));
625
+ e = e < 0 ? 0 - y : y;
596
626
  }
597
627
  {
598
- let d = e < 0 ? u : c;
628
+ let d = e < 0 ? f : u;
599
629
  for (; d >= 0 && d < n.length; ) {
600
- const p = Math.abs(e) - Math.abs(h), g = l[d];
601
- z(
602
- g != null,
630
+ const p = Math.abs(e) - Math.abs(m), y = l[d];
631
+ b(
632
+ y != null,
603
633
  `Previous layout not found for panel index ${d}`
604
634
  );
605
- const v = g - p, x = V({
635
+ const h = y - p, v = U({
606
636
  panelConstraints: n[d],
607
- size: v
637
+ prevSize: y,
638
+ size: h
608
639
  });
609
- if (!R(g, x) && (h += g - x, a[d] = x, h.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
640
+ if (!M(y, v) && (m += y - v, a[d] = v, m.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
610
641
  numeric: !0
611
642
  }) >= 0))
612
643
  break;
613
644
  e < 0 ? d-- : d++;
614
645
  }
615
646
  }
616
- if (bt(s, a))
647
+ if (bt(r, a))
617
648
  return i;
618
649
  {
619
- const f = e < 0 ? c : u, d = l[f];
620
- z(
650
+ const c = e < 0 ? u : f, d = l[c];
651
+ b(
621
652
  d != null,
622
- `Previous layout not found for panel index ${f}`
653
+ `Previous layout not found for panel index ${c}`
623
654
  );
624
- const p = d + h, g = V({
625
- panelConstraints: n[f],
655
+ const p = d + m, y = U({
656
+ panelConstraints: n[c],
657
+ prevSize: d,
626
658
  size: p
627
659
  });
628
- if (a[f] = g, !R(g, p)) {
629
- let v = p - g, S = e < 0 ? c : u;
630
- for (; S >= 0 && S < n.length; ) {
631
- const L = a[S];
632
- z(
633
- L != null,
634
- `Previous layout not found for panel index ${S}`
660
+ if (a[c] = y, !M(y, p)) {
661
+ let h = p - y, g = e < 0 ? u : f;
662
+ for (; g >= 0 && g < n.length; ) {
663
+ const x = a[g];
664
+ b(
665
+ x != null,
666
+ `Previous layout not found for panel index ${g}`
635
667
  );
636
- const P = L + v, b = V({
637
- panelConstraints: n[S],
638
- size: P
668
+ const C = x + h, L = U({
669
+ panelConstraints: n[g],
670
+ prevSize: x,
671
+ size: C
639
672
  });
640
- if (R(L, b) || (v -= b - L, a[S] = b), R(v, 0))
673
+ if (M(x, L) || (h -= L - x, a[g] = L), M(h, 0))
641
674
  break;
642
- e > 0 ? S-- : S++;
675
+ e > 0 ? g-- : g++;
643
676
  }
644
677
  }
645
678
  }
646
- const y = Object.values(a).reduce(
647
- (f, d) => d + f,
679
+ const z = Object.values(a).reduce(
680
+ (c, d) => d + c,
648
681
  0
649
682
  );
650
- if (!R(y, 100, 0.1))
683
+ if (!M(z, 100, 0.1))
651
684
  return i;
652
- const m = Object.keys(i);
653
- return a.reduce((f, d, p) => (f[m[p]] = d, f), {});
685
+ const S = Object.keys(i);
686
+ return a.reduce((c, d, p) => (c[S[p]] = d, c), {});
654
687
  }
655
- function A(e, t) {
688
+ function $(e, t) {
656
689
  if (Object.keys(e).length !== Object.keys(t).length)
657
690
  return !1;
658
691
  for (const n in e)
659
- if (t[n] === void 0 || J(e[n], t[n]) !== 0)
692
+ if (t[n] === void 0 || T(e[n], t[n]) !== 0)
660
693
  return !1;
661
694
  return !0;
662
695
  }
663
- function _({
696
+ function H({
664
697
  layout: e,
665
698
  panelConstraints: t
666
699
  }) {
667
- const o = [...Object.values(e)], i = o.reduce(
668
- (s, a) => s + a,
700
+ const n = Object.values(e), o = [...n], i = o.reduce(
701
+ (r, a) => r + a,
669
702
  0
670
703
  );
671
704
  if (o.length !== t.length)
672
705
  throw Error(
673
- `Invalid ${t.length} panel layout: ${o.map((s) => `${s}%`).join(", ")}`
706
+ `Invalid ${t.length} panel layout: ${o.map((r) => `${r}%`).join(", ")}`
674
707
  );
675
- if (!R(i, 100) && o.length > 0)
676
- for (let s = 0; s < t.length; s++) {
677
- const a = o[s];
678
- z(a != null, `No layout data found for index ${s}`);
679
- const u = 100 / i * a;
680
- o[s] = u;
708
+ if (!M(i, 100) && o.length > 0)
709
+ for (let r = 0; r < t.length; r++) {
710
+ const a = o[r];
711
+ b(a != null, `No layout data found for index ${r}`);
712
+ const f = 100 / i * a;
713
+ o[r] = f;
681
714
  }
682
- let r = 0;
683
- for (let s = 0; s < t.length; s++) {
684
- const a = o[s];
685
- z(a != null, `No layout data found for index ${s}`);
686
- const u = V({
687
- panelConstraints: t[s],
688
- size: a
715
+ let s = 0;
716
+ for (let r = 0; r < t.length; r++) {
717
+ const a = n[r];
718
+ b(a != null, `No layout data found for index ${r}`);
719
+ const f = o[r];
720
+ b(f != null, `No layout data found for index ${r}`);
721
+ const u = U({
722
+ panelConstraints: t[r],
723
+ prevSize: a,
724
+ size: f
689
725
  });
690
- a != u && (r += a - u, o[s] = u);
726
+ f != u && (s += f - u, o[r] = u);
691
727
  }
692
- if (!R(r, 0))
693
- for (let s = 0; s < t.length; s++) {
694
- const a = o[s];
695
- z(a != null, `No layout data found for index ${s}`);
696
- const u = a + r, c = V({
697
- panelConstraints: t[s],
698
- size: u
728
+ if (!M(s, 0))
729
+ for (let r = 0; r < t.length; r++) {
730
+ const a = o[r];
731
+ b(a != null, `No layout data found for index ${r}`);
732
+ const f = a + s, u = U({
733
+ panelConstraints: t[r],
734
+ prevSize: a,
735
+ size: f
699
736
  });
700
- if (a !== c && (r -= c - a, o[s] = c, R(r, 0)))
737
+ if (a !== u && (s -= u - a, o[r] = u, M(s, 0)))
701
738
  break;
702
739
  }
703
740
  const l = Object.keys(e);
704
- return o.reduce((s, a, u) => (s[l[u]] = a, s), {});
741
+ return o.reduce((r, a, f) => (r[l[f]] = a, r), {});
705
742
  }
706
743
  function Ve({
707
744
  groupId: e,
708
745
  panelId: t
709
746
  }) {
710
747
  const n = () => {
711
- const { mountedGroups: s } = E();
748
+ const { mountedGroups: r } = G();
712
749
  for (const [
713
750
  a,
714
751
  {
715
- defaultLayoutDeferred: u,
716
- derivedPanelConstraints: c,
717
- layout: h,
718
- separatorToPanels: y
752
+ defaultLayoutDeferred: f,
753
+ derivedPanelConstraints: u,
754
+ layout: m,
755
+ separatorToPanels: z
719
756
  }
720
- ] of s)
757
+ ] of r)
721
758
  if (a.id === e)
722
759
  return {
723
- defaultLayoutDeferred: u,
724
- derivedPanelConstraints: c,
760
+ defaultLayoutDeferred: f,
761
+ derivedPanelConstraints: u,
725
762
  group: a,
726
- layout: h,
727
- separatorToPanels: y
763
+ layout: m,
764
+ separatorToPanels: z
728
765
  };
729
766
  throw Error(`Group ${e} not found`);
730
767
  }, o = () => {
731
- const s = n().derivedPanelConstraints.find(
768
+ const r = n().derivedPanelConstraints.find(
732
769
  (a) => a.panelId === t
733
770
  );
734
- if (s !== void 0)
735
- return s;
771
+ if (r !== void 0)
772
+ return r;
736
773
  throw Error(`Panel constraints not found for Panel ${t}`);
737
774
  }, i = () => {
738
- const s = n().group.panels.find((a) => a.id === t);
739
- if (s !== void 0)
740
- return s;
775
+ const r = n().group.panels.find((a) => a.id === t);
776
+ if (r !== void 0)
777
+ return r;
741
778
  throw Error(`Layout not found for Panel ${t}`);
742
- }, r = () => {
743
- const s = n().layout[t];
744
- if (s !== void 0)
745
- return s;
779
+ }, s = () => {
780
+ const r = n().layout[t];
781
+ if (r !== void 0)
782
+ return r;
746
783
  throw Error(`Layout not found for Panel ${t}`);
747
- }, l = (s) => {
748
- const a = r();
749
- if (s === a)
784
+ }, l = (r) => {
785
+ const a = s();
786
+ if (r === a)
750
787
  return;
751
788
  const {
752
- defaultLayoutDeferred: u,
753
- derivedPanelConstraints: c,
754
- group: h,
755
- layout: y,
756
- separatorToPanels: m
757
- } = n(), f = h.panels.findIndex((v) => v.id === t), d = f === h.panels.length - 1, p = Z({
758
- delta: d ? a - s : s - a,
759
- initialLayout: y,
760
- panelConstraints: c,
761
- pivotIndices: d ? [f - 1, f] : [f, f + 1],
762
- prevLayout: y,
789
+ defaultLayoutDeferred: f,
790
+ derivedPanelConstraints: u,
791
+ group: m,
792
+ layout: z,
793
+ separatorToPanels: S
794
+ } = n(), c = m.panels.findIndex((h) => h.id === t), d = c === m.panels.length - 1, p = Q({
795
+ delta: d ? a - r : r - a,
796
+ initialLayout: z,
797
+ panelConstraints: u,
798
+ pivotIndices: d ? [c - 1, c] : [c, c + 1],
799
+ prevLayout: z,
763
800
  trigger: "imperative-api"
764
- }), g = _({
801
+ }), y = H({
765
802
  layout: p,
766
- panelConstraints: c
803
+ panelConstraints: u
767
804
  });
768
- A(y, g) || M((v) => ({
769
- mountedGroups: new Map(v.mountedGroups).set(h, {
770
- defaultLayoutDeferred: u,
771
- derivedPanelConstraints: c,
772
- layout: g,
773
- separatorToPanels: m
805
+ $(z, y) || E((h) => ({
806
+ mountedGroups: new Map(h.mountedGroups).set(m, {
807
+ defaultLayoutDeferred: f,
808
+ derivedPanelConstraints: u,
809
+ layout: y,
810
+ separatorToPanels: S
774
811
  })
775
812
  }));
776
813
  };
777
814
  return {
778
815
  collapse: () => {
779
- const { collapsible: s, collapsedSize: a } = o(), { mutableValues: u } = i(), c = r();
780
- s && c !== a && (u.expandToSize = c, l(a));
816
+ const { collapsible: r, collapsedSize: a } = o(), { mutableValues: f } = i(), u = s();
817
+ r && u !== a && (f.expandToSize = u, l(a));
781
818
  },
782
819
  expand: () => {
783
- const { collapsible: s, collapsedSize: a, minSize: u } = o(), { mutableValues: c } = i(), h = r();
784
- if (s && h === a) {
785
- let y = c.expandToSize ?? u;
786
- y === 0 && (y = 1), l(y);
820
+ const { collapsible: r, collapsedSize: a, minSize: f } = o(), { mutableValues: u } = i(), m = s();
821
+ if (r && m === a) {
822
+ let z = u.expandToSize ?? f;
823
+ z === 0 && (z = 1), l(z);
787
824
  }
788
825
  },
789
826
  getSize: () => {
790
- const { group: s } = n(), a = r(), { element: u } = i(), c = s.orientation === "horizontal" ? u.offsetWidth : u.offsetHeight;
827
+ const { group: r } = n(), a = s(), { element: f } = i(), u = r.orientation === "horizontal" ? f.offsetWidth : f.offsetHeight;
791
828
  return {
792
829
  asPercentage: a,
793
- inPixels: c
830
+ inPixels: u
794
831
  };
795
832
  },
796
833
  isCollapsed: () => {
797
- const { collapsible: s, collapsedSize: a } = o(), u = r();
798
- return s && R(a, u);
834
+ const { collapsible: r, collapsedSize: a } = o(), f = s();
835
+ return r && M(a, f);
799
836
  },
800
- resize: (s) => {
801
- if (r() !== s) {
802
- let u;
803
- switch (typeof s) {
837
+ resize: (r) => {
838
+ if (s() !== r) {
839
+ let f;
840
+ switch (typeof r) {
804
841
  case "number": {
805
- const { group: c } = n(), h = W({ group: c });
806
- u = D(s / h * 100);
842
+ const { group: u } = n(), m = B({ group: u });
843
+ f = O(r / m * 100);
807
844
  break;
808
845
  }
809
846
  case "string": {
810
- u = parseFloat(s);
847
+ f = parseFloat(r);
811
848
  break;
812
849
  }
813
850
  }
814
- l(u);
851
+ l(f);
815
852
  }
816
853
  }
817
854
  };
@@ -819,24 +856,24 @@ function Ve({
819
856
  function be(e) {
820
857
  if (e.defaultPrevented)
821
858
  return;
822
- const { mountedGroups: t } = E();
859
+ const { mountedGroups: t } = G();
823
860
  de(e, t).forEach((o) => {
824
861
  if (o.separator) {
825
862
  const i = o.panels.find(
826
- (r) => r.panelConstraints.defaultSize !== void 0
863
+ (s) => s.panelConstraints.defaultSize !== void 0
827
864
  );
828
865
  if (i) {
829
- const r = i.panelConstraints.defaultSize, l = Ve({
866
+ const s = i.panelConstraints.defaultSize, l = Ve({
830
867
  groupId: o.group.id,
831
868
  panelId: i.id
832
869
  });
833
- l && r !== void 0 && (l.resize(r), e.preventDefault());
870
+ l && s !== void 0 && (l.resize(s), e.preventDefault());
834
871
  }
835
872
  }
836
873
  });
837
874
  }
838
875
  function ae(e) {
839
- const { mountedGroups: t } = E();
876
+ const { mountedGroups: t } = G();
840
877
  for (const [n] of t)
841
878
  if (n.separators.some(
842
879
  (o) => o.element === e
@@ -848,7 +885,7 @@ function We({
848
885
  groupId: e
849
886
  }) {
850
887
  const t = () => {
851
- const { mountedGroups: n } = E();
888
+ const { mountedGroups: n } = G();
852
889
  for (const [o, i] of n)
853
890
  if (o.id === e)
854
891
  return { group: o, ...i };
@@ -863,51 +900,58 @@ function We({
863
900
  const {
864
901
  defaultLayoutDeferred: o,
865
902
  derivedPanelConstraints: i,
866
- group: r,
903
+ group: s,
867
904
  layout: l,
868
- separatorToPanels: s
869
- } = t(), a = _({
905
+ separatorToPanels: r
906
+ } = t(), a = H({
870
907
  layout: n,
871
908
  panelConstraints: i
872
909
  });
873
- return o ? l : (A(l, a) || M((u) => ({
874
- mountedGroups: new Map(u.mountedGroups).set(r, {
875
- defaultLayoutDeferred: o,
876
- derivedPanelConstraints: i,
877
- layout: a,
878
- separatorToPanels: s
879
- })
880
- })), a);
910
+ if (o)
911
+ return l;
912
+ if (!$(l, a)) {
913
+ E((u) => ({
914
+ mountedGroups: new Map(u.mountedGroups).set(s, {
915
+ defaultLayoutDeferred: o,
916
+ derivedPanelConstraints: i,
917
+ layout: a,
918
+ separatorToPanels: r
919
+ })
920
+ }));
921
+ const f = s.panels.map(({ id: u }) => u).join(",");
922
+ s.inMemoryLayouts[f] = a;
923
+ }
924
+ return a;
881
925
  }
882
926
  };
883
927
  }
884
928
  function Ue(e) {
885
- const { mountedGroups: t } = E(), n = t.get(e);
886
- return z(n, `Mounted Group ${e.id} not found`), n;
929
+ const { mountedGroups: t } = G(), n = t.get(e);
930
+ return b(n, `Mounted Group ${e.id} not found`), n;
887
931
  }
888
- function N(e, t) {
932
+ function F(e, t) {
889
933
  const n = ae(e), o = Ue(n), i = n.separators.find(
890
- (h) => h.element === e
934
+ (m) => m.element === e
891
935
  );
892
- z(i, "Matching separator not found");
893
- const r = o.separatorToPanels.get(i);
894
- z(r, "Matching panels not found");
895
- const l = r.map((h) => n.panels.indexOf(h)), a = We({ groupId: n.id }).getLayout(), u = Z({
936
+ b(i, "Matching separator not found");
937
+ const s = o.separatorToPanels.get(i);
938
+ b(s, "Matching panels not found");
939
+ const l = s.map((m) => n.panels.indexOf(m)), a = We({ groupId: n.id }).getLayout(), f = Q({
896
940
  delta: t,
897
941
  initialLayout: a,
898
942
  panelConstraints: o.derivedPanelConstraints,
899
943
  pivotIndices: l,
900
944
  prevLayout: a,
901
945
  trigger: "keyboard"
902
- }), c = _({
903
- layout: u,
946
+ }), u = H({
947
+ layout: f,
904
948
  panelConstraints: o.derivedPanelConstraints
905
949
  });
906
- A(a, c) || M((h) => ({
907
- mountedGroups: new Map(h.mountedGroups).set(n, {
950
+ $(a, u) || E((m) => ({
951
+ mountedGroups: new Map(m.mountedGroups).set(n, {
908
952
  defaultLayoutDeferred: o.defaultLayoutDeferred,
909
953
  derivedPanelConstraints: o.derivedPanelConstraints,
910
- layout: c,
954
+ layout: u,
911
955
  separatorToPanels: o.separatorToPanels
912
956
  })
913
957
  }));
@@ -919,39 +963,39 @@ function we(e) {
919
963
  if (!n.disabled)
920
964
  switch (e.key) {
921
965
  case "ArrowDown": {
922
- e.preventDefault(), n.orientation === "vertical" && N(t, 5);
966
+ e.preventDefault(), n.orientation === "vertical" && F(t, 5);
923
967
  break;
924
968
  }
925
969
  case "ArrowLeft": {
926
- e.preventDefault(), n.orientation === "horizontal" && N(t, -5);
970
+ e.preventDefault(), n.orientation === "horizontal" && F(t, -5);
927
971
  break;
928
972
  }
929
973
  case "ArrowRight": {
930
- e.preventDefault(), n.orientation === "horizontal" && N(t, 5);
974
+ e.preventDefault(), n.orientation === "horizontal" && F(t, 5);
931
975
  break;
932
976
  }
933
977
  case "ArrowUp": {
934
- e.preventDefault(), n.orientation === "vertical" && N(t, -5);
978
+ e.preventDefault(), n.orientation === "vertical" && F(t, -5);
935
979
  break;
936
980
  }
937
981
  case "End": {
938
- e.preventDefault(), N(t, 100);
982
+ e.preventDefault(), F(t, 100);
939
983
  break;
940
984
  }
941
985
  case "Enter": {
942
986
  e.preventDefault();
943
- const o = ae(t), { derivedPanelConstraints: i, layout: r, separatorToPanels: l } = Ue(o), s = o.separators.find(
944
- (h) => h.element === t
987
+ const o = ae(t), { derivedPanelConstraints: i, layout: s, separatorToPanels: l } = Ue(o), r = o.separators.find(
988
+ (m) => m.element === t
945
989
  );
946
- z(s, "Matching separator not found");
947
- const a = l.get(s);
948
- z(a, "Matching panels not found");
949
- const u = a[0], c = i.find(
950
- (h) => h.panelId === u.id
990
+ b(r, "Matching separator not found");
991
+ const a = l.get(r);
992
+ b(a, "Matching panels not found");
993
+ const f = a[0], u = i.find(
994
+ (m) => m.panelId === f.id
951
995
  );
952
- if (z(c, "Panel metadata not found"), c.collapsible) {
953
- const h = r[u.id], y = c.collapsedSize === h ? o.inMemoryLastExpandedPanelSizes[u.id] ?? c.minSize : c.collapsedSize;
954
- N(t, y - h);
996
+ if (b(u, "Panel metadata not found"), u.collapsible) {
997
+ const m = s[f.id], z = u.collapsedSize === m ? o.inMemoryLastExpandedPanelSizes[f.id] ?? u.minSize : u.collapsedSize;
998
+ F(t, z - m);
955
999
  }
956
1000
  break;
957
1001
  }
@@ -959,16 +1003,16 @@ function we(e) {
959
1003
  e.preventDefault();
960
1004
  const i = ae(t).separators.map(
961
1005
  (a) => a.element
962
- ), r = Array.from(i).findIndex(
1006
+ ), s = Array.from(i).findIndex(
963
1007
  (a) => a === e.currentTarget
964
1008
  );
965
- z(r !== null, "Index not found");
966
- const l = e.shiftKey ? r > 0 ? r - 1 : i.length - 1 : r + 1 < i.length ? r + 1 : 0;
1009
+ b(s !== null, "Index not found");
1010
+ const l = e.shiftKey ? s > 0 ? s - 1 : i.length - 1 : s + 1 < i.length ? s + 1 : 0;
967
1011
  i[l].focus();
968
1012
  break;
969
1013
  }
970
1014
  case "Home": {
971
- e.preventDefault(), N(t, -100);
1015
+ e.preventDefault(), F(t, -100);
972
1016
  break;
973
1017
  }
974
1018
  }
@@ -978,13 +1022,13 @@ function Le(e) {
978
1022
  return;
979
1023
  if (e.pointerType === "mouse" && e.button > 0)
980
1024
  return;
981
- const { mountedGroups: t } = E(), n = de(e, t), o = /* @__PURE__ */ new Map();
1025
+ const { mountedGroups: t } = G(), n = de(e, t), o = /* @__PURE__ */ new Map();
982
1026
  let i = !1;
983
- n.forEach((r) => {
984
- r.separator && (i || (i = !0, r.separator.element.focus()));
985
- const l = t.get(r.group);
986
- l && o.set(r.group, l.layout);
987
- }), M({
1027
+ n.forEach((s) => {
1028
+ s.separator && (i || (i = !0, s.separator.element.focus()));
1029
+ const l = t.get(s.group);
1030
+ l && o.set(s.group, l.layout);
1031
+ }), E({
988
1032
  interactionState: {
989
1033
  hitRegions: n,
990
1034
  initialLayoutMap: o,
@@ -1008,9 +1052,9 @@ function Lt({
1008
1052
  switch (n) {
1009
1053
  case "active":
1010
1054
  case "hover":
1011
- t.forEach((r) => {
1012
- if (!r.disableCursor)
1013
- switch (r.orientation) {
1055
+ t.forEach((s) => {
1056
+ if (!s.disableCursor)
1057
+ switch (s.orientation) {
1014
1058
  case "horizontal": {
1015
1059
  o++;
1016
1060
  break;
@@ -1022,25 +1066,25 @@ function Lt({
1022
1066
  }
1023
1067
  });
1024
1068
  }
1025
- if (o === 0 && i === 0)
1026
- return null;
1027
- switch (n) {
1028
- case "active": {
1029
- if (e && Re()) {
1030
- const r = (e & Be) !== 0, l = (e & Ke) !== 0, s = (e & Xe) !== 0, a = (e & qe) !== 0;
1031
- if (r)
1032
- return s ? "se-resize" : a ? "ne-resize" : "e-resize";
1033
- if (l)
1034
- return s ? "sw-resize" : a ? "nw-resize" : "w-resize";
1035
- if (s)
1036
- return "s-resize";
1037
- if (a)
1038
- return "n-resize";
1069
+ if (!(o === 0 && i === 0)) {
1070
+ switch (n) {
1071
+ case "active": {
1072
+ if (e && Re()) {
1073
+ const s = (e & Be) !== 0, l = (e & Ke) !== 0, r = (e & Xe) !== 0, a = (e & qe) !== 0;
1074
+ if (s)
1075
+ return r ? "se-resize" : a ? "ne-resize" : "e-resize";
1076
+ if (l)
1077
+ return r ? "sw-resize" : a ? "nw-resize" : "w-resize";
1078
+ if (r)
1079
+ return "s-resize";
1080
+ if (a)
1081
+ return "n-resize";
1082
+ }
1083
+ break;
1039
1084
  }
1040
- break;
1041
1085
  }
1086
+ return Re() ? o > 0 && i > 0 ? "move" : o > 0 ? "ew-resize" : "ns-resize" : o > 0 && i > 0 ? "grab" : o > 0 ? "col-resize" : "row-resize";
1042
1087
  }
1043
- return Re() ? o > 0 && i > 0 ? "move" : o > 0 ? "ew-resize" : "ns-resize" : o > 0 && i > 0 ? "grab" : o > 0 ? "col-resize" : "row-resize";
1044
1088
  }
1045
1089
  const Me = /* @__PURE__ */ new WeakMap();
1046
1090
  function pe(e) {
@@ -1048,18 +1092,18 @@ function pe(e) {
1048
1092
  return;
1049
1093
  let { prevStyle: t, styleSheet: n } = Me.get(e) ?? {};
1050
1094
  n === void 0 && (n = new e.defaultView.CSSStyleSheet(), e.adoptedStyleSheets.push(n));
1051
- const { cursorFlags: o, interactionState: i } = E();
1095
+ const { cursorFlags: o, interactionState: i } = G();
1052
1096
  switch (i.state) {
1053
1097
  case "active":
1054
1098
  case "hover": {
1055
- const r = Lt({
1099
+ const s = Lt({
1056
1100
  cursorFlags: o,
1057
- groups: i.hitRegions.map((s) => s.group),
1101
+ groups: i.hitRegions.map((r) => r.group),
1058
1102
  state: i.state
1059
- }), l = `*, *:hover {cursor: ${r} !important; ${i.state === "active" ? "touch-action: none;" : ""} }`;
1103
+ }), l = `*, *:hover {cursor: ${s} !important; ${i.state === "active" ? "touch-action: none;" : ""} }`;
1060
1104
  if (t === l)
1061
1105
  return;
1062
- t = l, r ? n.cssRules.length === 0 ? n.insertRule(l) : n.replaceSync(l) : n.cssRules.length === 1 && n.deleteRule(0);
1106
+ t = l, s ? n.cssRules.length === 0 ? n.insertRule(l) : n.replaceSync(l) : n.cssRules.length === 1 && n.deleteRule(0);
1063
1107
  break;
1064
1108
  }
1065
1109
  case "inactive": {
@@ -1078,62 +1122,62 @@ function Ye({
1078
1122
  hitRegions: n,
1079
1123
  initialLayoutMap: o,
1080
1124
  mountedGroups: i,
1081
- pointerDownAtPoint: r,
1125
+ pointerDownAtPoint: s,
1082
1126
  prevCursorFlags: l
1083
1127
  }) {
1084
- let s = 0;
1128
+ let r = 0;
1085
1129
  const a = new Map(i);
1086
- n.forEach((c) => {
1087
- const { group: h, groupSize: y } = c, { disableCursor: m, orientation: f, panels: d } = h;
1130
+ n.forEach((u) => {
1131
+ const { group: m, groupSize: z } = u, { disableCursor: S, orientation: c, panels: d } = m;
1088
1132
  let p = 0;
1089
- r ? f === "horizontal" ? p = (t.clientX - r.x) / y * 100 : p = (t.clientY - r.y) / y * 100 : f === "horizontal" ? p = t.clientX < 0 ? -100 : 100 : p = t.clientY < 0 ? -100 : 100;
1090
- const g = o.get(h), {
1091
- defaultLayoutDeferred: v,
1092
- derivedPanelConstraints: x,
1093
- layout: S,
1094
- separatorToPanels: L
1095
- } = i.get(h) ?? { defaultLayoutDeferred: !1 };
1096
- if (x && g && S && L) {
1097
- const P = Z({
1133
+ s ? c === "horizontal" ? p = (t.clientX - s.x) / z * 100 : p = (t.clientY - s.y) / z * 100 : c === "horizontal" ? p = t.clientX < 0 ? -100 : 100 : p = t.clientY < 0 ? -100 : 100;
1134
+ const y = o.get(m), {
1135
+ defaultLayoutDeferred: h,
1136
+ derivedPanelConstraints: v,
1137
+ layout: g,
1138
+ separatorToPanels: x
1139
+ } = i.get(m) ?? { defaultLayoutDeferred: !1 };
1140
+ if (v && y && g && x) {
1141
+ const C = Q({
1098
1142
  delta: p,
1099
- initialLayout: g,
1100
- panelConstraints: x,
1101
- pivotIndices: c.panels.map((b) => d.indexOf(b)),
1102
- prevLayout: S,
1143
+ initialLayout: y,
1144
+ panelConstraints: v,
1145
+ pivotIndices: u.panels.map((L) => d.indexOf(L)),
1146
+ prevLayout: g,
1103
1147
  trigger: "mouse-or-touch"
1104
1148
  });
1105
- if (A(P, S)) {
1106
- if (p !== 0 && !m)
1107
- switch (f) {
1149
+ if ($(C, g)) {
1150
+ if (p !== 0 && !S)
1151
+ switch (c) {
1108
1152
  case "horizontal": {
1109
- s |= p < 0 ? Be : Ke;
1153
+ r |= p < 0 ? Be : Ke;
1110
1154
  break;
1111
1155
  }
1112
1156
  case "vertical": {
1113
- s |= p < 0 ? Xe : qe;
1157
+ r |= p < 0 ? Xe : qe;
1114
1158
  break;
1115
1159
  }
1116
1160
  }
1117
1161
  } else {
1118
- a.set(c.group, {
1119
- defaultLayoutDeferred: v,
1120
- derivedPanelConstraints: x,
1121
- layout: P,
1122
- separatorToPanels: L
1162
+ a.set(u.group, {
1163
+ defaultLayoutDeferred: h,
1164
+ derivedPanelConstraints: v,
1165
+ layout: C,
1166
+ separatorToPanels: x
1123
1167
  });
1124
- const b = c.group.panels.map(({ id: $ }) => $).join(",");
1125
- c.group.inMemoryLayouts[b] = P;
1168
+ const L = u.group.panels.map(({ id: R }) => R).join(",");
1169
+ u.group.inMemoryLayouts[L] = C;
1126
1170
  }
1127
1171
  }
1128
1172
  });
1129
- let u = 0;
1130
- t.movementX === 0 ? u |= l & Ce : u |= s & Ce, t.movementY === 0 ? u |= l & Pe : u |= s & Pe, M({
1131
- cursorFlags: u,
1173
+ let f = 0;
1174
+ t.movementX === 0 ? f |= l & Ce : f |= r & Ce, t.movementY === 0 ? f |= l & Pe : f |= r & Pe, E({
1175
+ cursorFlags: f,
1132
1176
  mountedGroups: a
1133
1177
  }), pe(e);
1134
1178
  }
1135
1179
  function Ee(e) {
1136
- const { cursorFlags: t, interactionState: n, mountedGroups: o } = E();
1180
+ const { cursorFlags: t, interactionState: n, mountedGroups: o } = G();
1137
1181
  switch (n.state) {
1138
1182
  case "active":
1139
1183
  Ye({
@@ -1146,22 +1190,22 @@ function Ee(e) {
1146
1190
  });
1147
1191
  }
1148
1192
  }
1149
- function Ge(e) {
1193
+ function ke(e) {
1150
1194
  if (e.defaultPrevented)
1151
1195
  return;
1152
- const { cursorFlags: t, interactionState: n, mountedGroups: o } = E();
1196
+ const { cursorFlags: t, interactionState: n, mountedGroups: o } = G();
1153
1197
  switch (n.state) {
1154
1198
  case "active": {
1155
1199
  if (
1156
1200
  // Skip this check for "pointerleave" events, else Firefox triggers a false positive (see #514)
1157
1201
  e.buttons === 0
1158
1202
  ) {
1159
- M(
1203
+ E(
1160
1204
  (i) => i.interactionState.state === "inactive" ? i : {
1161
1205
  cursorFlags: 0,
1162
1206
  interactionState: { state: "inactive" }
1163
1207
  }
1164
- ), M((i) => ({
1208
+ ), E((i) => ({
1165
1209
  mountedGroups: new Map(i.mountedGroups)
1166
1210
  }));
1167
1211
  return;
@@ -1179,11 +1223,11 @@ function Ge(e) {
1179
1223
  }
1180
1224
  default: {
1181
1225
  const i = de(e, o);
1182
- i.length === 0 ? n.state !== "inactive" && M({
1226
+ i.length === 0 ? n.state !== "inactive" && E({
1183
1227
  interactionState: {
1184
1228
  state: "inactive"
1185
1229
  }
1186
- }) : M({
1230
+ }) : E({
1187
1231
  interactionState: {
1188
1232
  hitRegions: i,
1189
1233
  state: "hover"
@@ -1193,12 +1237,12 @@ function Ge(e) {
1193
1237
  }
1194
1238
  }
1195
1239
  }
1196
- function ke(e) {
1240
+ function Ge(e) {
1197
1241
  if (e.relatedTarget instanceof HTMLIFrameElement) {
1198
- const { interactionState: t } = E();
1242
+ const { interactionState: t } = G();
1199
1243
  switch (t.state) {
1200
1244
  case "hover":
1201
- M({
1245
+ E({
1202
1246
  interactionState: {
1203
1247
  state: "inactive"
1204
1248
  }
@@ -1211,15 +1255,15 @@ function Ie(e) {
1211
1255
  return;
1212
1256
  if (e.pointerType === "mouse" && e.button > 0)
1213
1257
  return;
1214
- const { interactionState: t } = E();
1258
+ const { interactionState: t } = G();
1215
1259
  switch (t.state) {
1216
1260
  case "active":
1217
- M({
1261
+ E({
1218
1262
  cursorFlags: 0,
1219
1263
  interactionState: {
1220
1264
  state: "inactive"
1221
1265
  }
1222
- }), t.hitRegions.length > 0 && (pe(e.currentTarget), M((n) => ({
1266
+ }), t.hitRegions.length > 0 && (pe(e.currentTarget), E((n) => ({
1223
1267
  mountedGroups: new Map(n.mountedGroups)
1224
1268
  })), e.preventDefault());
1225
1269
  }
@@ -1227,32 +1271,32 @@ function Ie(e) {
1227
1271
  function De(e) {
1228
1272
  let t = 0, n = 0;
1229
1273
  const o = {};
1230
- for (const r of e)
1231
- if (r.defaultSize !== void 0) {
1274
+ for (const s of e)
1275
+ if (s.defaultSize !== void 0) {
1232
1276
  t++;
1233
- const l = D(r.defaultSize);
1234
- n += l, o[r.panelId] = l;
1277
+ const l = O(s.defaultSize);
1278
+ n += l, o[s.panelId] = l;
1235
1279
  } else
1236
- o[r.panelId] = void 0;
1280
+ o[s.panelId] = void 0;
1237
1281
  const i = e.length - t;
1238
1282
  if (i !== 0) {
1239
- const r = D((100 - n) / i);
1283
+ const s = O((100 - n) / i);
1240
1284
  for (const l of e)
1241
- l.defaultSize === void 0 && (o[l.panelId] = r);
1285
+ l.defaultSize === void 0 && (o[l.panelId] = s);
1242
1286
  }
1243
1287
  return o;
1244
1288
  }
1245
1289
  function Ct(e, t, n) {
1246
1290
  if (!n[0])
1247
1291
  return;
1248
- const i = e.panels.find((u) => u.element === t);
1292
+ const i = e.panels.find((f) => f.element === t);
1249
1293
  if (!i || !i.onResize)
1250
1294
  return;
1251
- const r = W({ group: e }), l = e.orientation === "horizontal" ? i.element.offsetWidth : i.element.offsetHeight, s = i.mutableValues.prevSize, a = {
1252
- asPercentage: D(l / r * 100),
1295
+ const s = B({ group: e }), l = e.orientation === "horizontal" ? i.element.offsetWidth : i.element.offsetHeight, r = i.mutableValues.prevSize, a = {
1296
+ asPercentage: O(l / s * 100),
1253
1297
  inPixels: l
1254
1298
  };
1255
- i.mutableValues.prevSize = a, i.onResize(a, i.id, s);
1299
+ i.mutableValues.prevSize = a, i.onResize(a, i.id, r);
1256
1300
  }
1257
1301
  function Pt(e, t) {
1258
1302
  if (Object.keys(e).length !== Object.keys(t).length)
@@ -1271,119 +1315,119 @@ function Rt(e, t) {
1271
1315
  return !1;
1272
1316
  return !0;
1273
1317
  }
1274
- const j = /* @__PURE__ */ new Map();
1318
+ const W = /* @__PURE__ */ new Map();
1275
1319
  function Mt(e) {
1276
1320
  let t = !0;
1277
- z(
1321
+ b(
1278
1322
  e.element.ownerDocument.defaultView,
1279
1323
  "Cannot register an unmounted Group"
1280
1324
  );
1281
- const n = e.element.ownerDocument.defaultView.ResizeObserver, o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), r = new n((f) => {
1282
- for (const d of f) {
1283
- const { borderBoxSize: p, target: g } = d;
1284
- if (g === e.element) {
1325
+ const n = e.element.ownerDocument.defaultView.ResizeObserver, o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set(), s = new n((c) => {
1326
+ for (const d of c) {
1327
+ const { borderBoxSize: p, target: y } = d;
1328
+ if (y === e.element) {
1285
1329
  if (t) {
1286
- if (W({ group: e }) === 0)
1330
+ if (B({ group: e }) === 0)
1287
1331
  return;
1288
- M((x) => {
1289
- const S = x.mountedGroups.get(e);
1290
- if (S) {
1291
- const L = Se(e), P = S.defaultLayoutDeferred ? De(L) : S.layout, b = _({
1292
- layout: P,
1293
- panelConstraints: L
1332
+ E((v) => {
1333
+ const g = v.mountedGroups.get(e);
1334
+ if (g) {
1335
+ const x = Se(e), C = g.defaultLayoutDeferred ? De(x) : g.layout, L = H({
1336
+ layout: C,
1337
+ panelConstraints: x
1294
1338
  });
1295
- return !S.defaultLayoutDeferred && A(P, b) && Pt(
1296
- S.derivedPanelConstraints,
1297
- L
1298
- ) ? x : {
1299
- mountedGroups: new Map(x.mountedGroups).set(e, {
1339
+ return !g.defaultLayoutDeferred && $(C, L) && Pt(
1340
+ g.derivedPanelConstraints,
1341
+ x
1342
+ ) ? v : {
1343
+ mountedGroups: new Map(v.mountedGroups).set(e, {
1300
1344
  defaultLayoutDeferred: !1,
1301
- derivedPanelConstraints: L,
1302
- layout: b,
1303
- separatorToPanels: S.separatorToPanels
1345
+ derivedPanelConstraints: x,
1346
+ layout: L,
1347
+ separatorToPanels: g.separatorToPanels
1304
1348
  })
1305
1349
  };
1306
1350
  }
1307
- return x;
1351
+ return v;
1308
1352
  });
1309
1353
  }
1310
1354
  } else
1311
- Ct(e, g, p);
1355
+ Ct(e, y, p);
1312
1356
  }
1313
1357
  });
1314
- r.observe(e.element), e.panels.forEach((f) => {
1315
- z(
1316
- !o.has(f.id),
1317
- `Panel ids must be unique; id "${f.id}" was used more than once`
1318
- ), o.add(f.id), f.onResize && r.observe(f.element);
1358
+ s.observe(e.element), e.panels.forEach((c) => {
1359
+ b(
1360
+ !o.has(c.id),
1361
+ `Panel ids must be unique; id "${c.id}" was used more than once`
1362
+ ), o.add(c.id), c.onResize && s.observe(c.element);
1319
1363
  });
1320
- const l = W({ group: e }), s = Se(e), a = e.panels.map(({ id: f }) => f).join(",");
1321
- let u = e.defaultLayout;
1322
- u && (Rt(e.panels, u) || (u = void 0));
1323
- const c = e.inMemoryLayouts[a] ?? u ?? De(s), h = _({
1324
- layout: c,
1325
- panelConstraints: s
1326
- }), y = He(e), m = e.element.ownerDocument;
1327
- return M((f) => {
1364
+ const l = B({ group: e }), r = Se(e), a = e.panels.map(({ id: c }) => c).join(",");
1365
+ let f = e.defaultLayout;
1366
+ f && (Rt(e.panels, f) || (f = void 0));
1367
+ const u = e.inMemoryLayouts[a] ?? f ?? De(r), m = H({
1368
+ layout: u,
1369
+ panelConstraints: r
1370
+ }), z = He(e), S = e.element.ownerDocument;
1371
+ return E((c) => {
1328
1372
  const d = /* @__PURE__ */ new Map();
1329
- return j.set(
1330
- m,
1331
- (j.get(m) ?? 0) + 1
1332
- ), y.forEach((p) => {
1373
+ return W.set(
1374
+ S,
1375
+ (W.get(S) ?? 0) + 1
1376
+ ), z.forEach((p) => {
1333
1377
  p.separator && d.set(p.separator, p.panels);
1334
1378
  }), {
1335
- mountedGroups: new Map(f.mountedGroups).set(e, {
1379
+ mountedGroups: new Map(c.mountedGroups).set(e, {
1336
1380
  defaultLayoutDeferred: l === 0,
1337
- derivedPanelConstraints: s,
1338
- layout: h,
1381
+ derivedPanelConstraints: r,
1382
+ layout: m,
1339
1383
  separatorToPanels: d
1340
1384
  })
1341
1385
  };
1342
- }), e.separators.forEach((f) => {
1343
- z(
1344
- !i.has(f.id),
1345
- `Separator ids must be unique; id "${f.id}" was used more than once`
1346
- ), i.add(f.id), f.element.addEventListener("keydown", we);
1347
- }), j.get(m) === 1 && (m.addEventListener("dblclick", be, !0), m.addEventListener("pointerdown", Le, !0), m.addEventListener("pointerleave", Ee), m.addEventListener("pointermove", Ge), m.addEventListener("pointerout", ke), m.addEventListener("pointerup", Ie, !0)), function() {
1348
- t = !1, j.set(
1349
- m,
1350
- Math.max(0, (j.get(m) ?? 0) - 1)
1351
- ), M((d) => {
1386
+ }), e.separators.forEach((c) => {
1387
+ b(
1388
+ !i.has(c.id),
1389
+ `Separator ids must be unique; id "${c.id}" was used more than once`
1390
+ ), i.add(c.id), c.element.addEventListener("keydown", we);
1391
+ }), W.get(S) === 1 && (S.addEventListener("dblclick", be, !0), S.addEventListener("pointerdown", Le, !0), S.addEventListener("pointerleave", Ee), S.addEventListener("pointermove", ke), S.addEventListener("pointerout", Ge), S.addEventListener("pointerup", Ie, !0)), function() {
1392
+ t = !1, W.set(
1393
+ S,
1394
+ Math.max(0, (W.get(S) ?? 0) - 1)
1395
+ ), E((d) => {
1352
1396
  const p = new Map(d.mountedGroups);
1353
1397
  return p.delete(e), { mountedGroups: p };
1354
1398
  }), e.separators.forEach((d) => {
1355
1399
  d.element.removeEventListener("keydown", we);
1356
- }), j.get(m) || (m.removeEventListener(
1400
+ }), W.get(S) || (S.removeEventListener(
1357
1401
  "dblclick",
1358
1402
  be,
1359
1403
  !0
1360
- ), m.removeEventListener(
1404
+ ), S.removeEventListener(
1361
1405
  "pointerdown",
1362
1406
  Le,
1363
1407
  !0
1364
- ), m.removeEventListener("pointerleave", Ee), m.removeEventListener("pointermove", Ge), m.removeEventListener("pointerout", ke), m.removeEventListener("pointerup", Ie, !0)), r.disconnect();
1408
+ ), S.removeEventListener("pointerleave", Ee), S.removeEventListener("pointermove", ke), S.removeEventListener("pointerout", Ge), S.removeEventListener("pointerup", Ie, !0)), s.disconnect();
1365
1409
  };
1366
1410
  }
1367
1411
  function Et() {
1368
- const [e, t] = Y({}), n = K(() => t({}), []);
1412
+ const [e, t] = Z({}), n = q(() => t({}), []);
1369
1413
  return [e, n];
1370
1414
  }
1371
1415
  function me(e) {
1372
1416
  const t = tt();
1373
1417
  return `${e ?? t}`;
1374
1418
  }
1375
- const F = typeof window < "u" ? Oe : Te;
1376
- function X(e) {
1377
- const t = k(e);
1378
- return F(() => {
1419
+ const j = typeof window < "u" ? Oe : Te;
1420
+ function Y(e) {
1421
+ const t = I(e);
1422
+ return j(() => {
1379
1423
  t.current = e;
1380
- }, [e]), K(
1424
+ }, [e]), q(
1381
1425
  (...n) => t.current?.(...n),
1382
1426
  [t]
1383
1427
  );
1384
1428
  }
1385
1429
  function he(...e) {
1386
- return X((t) => {
1430
+ return Y((t) => {
1387
1431
  e.forEach((n) => {
1388
1432
  if (n)
1389
1433
  switch (typeof n) {
@@ -1399,20 +1443,20 @@ function he(...e) {
1399
1443
  });
1400
1444
  });
1401
1445
  }
1402
- function Gt(e) {
1403
- const t = k({ ...e });
1404
- return F(() => {
1446
+ function kt(e) {
1447
+ const t = I({ ...e });
1448
+ return j(() => {
1405
1449
  for (const n in e)
1406
1450
  t.current[n] = e[n];
1407
1451
  }, [e]), t.current;
1408
1452
  }
1409
1453
  const Je = nt(null);
1410
- function kt(e, t) {
1411
- const n = k({
1454
+ function Gt(e, t) {
1455
+ const n = I({
1412
1456
  getLayout: () => ({}),
1413
1457
  setLayout: wt
1414
1458
  });
1415
- Ne(t, () => n.current, []), F(() => {
1459
+ Ne(t, () => n.current, []), j(() => {
1416
1460
  Object.assign(
1417
1461
  n.current,
1418
1462
  We({ groupId: e })
@@ -1425,164 +1469,164 @@ function It({
1425
1469
  defaultLayout: n,
1426
1470
  disableCursor: o,
1427
1471
  disabled: i,
1428
- elementRef: r,
1472
+ elementRef: s,
1429
1473
  groupRef: l,
1430
- id: s,
1474
+ id: r,
1431
1475
  onLayoutChange: a,
1432
- onLayoutChanged: u,
1433
- orientation: c = "horizontal",
1434
- resizeTargetMinimumSize: h = {
1476
+ onLayoutChanged: f,
1477
+ orientation: u = "horizontal",
1478
+ resizeTargetMinimumSize: m = {
1435
1479
  coarse: 20,
1436
1480
  fine: 10
1437
1481
  },
1438
- style: y,
1439
- ...m
1482
+ style: z,
1483
+ ...S
1440
1484
  }) {
1441
- const f = k({
1485
+ const c = I({
1442
1486
  onLayoutChange: {},
1443
1487
  onLayoutChanged: {}
1444
- }), d = X((w) => {
1445
- A(f.current.onLayoutChange, w) || (f.current.onLayoutChange = w, a?.(w));
1446
- }), p = X((w) => {
1447
- A(f.current.onLayoutChanged, w) || (f.current.onLayoutChanged = w, u?.(w));
1448
- }), g = me(s), v = k(null), [x, S] = Et(), L = k({
1488
+ }), d = Y((w) => {
1489
+ $(c.current.onLayoutChange, w) || (c.current.onLayoutChange = w, a?.(w));
1490
+ }), p = Y((w) => {
1491
+ $(c.current.onLayoutChanged, w) || (c.current.onLayoutChanged = w, f?.(w));
1492
+ }), y = me(r), h = I(null), [v, g] = Et(), x = I({
1449
1493
  lastExpandedPanelSizes: {},
1450
1494
  layouts: {},
1451
1495
  panels: [],
1452
- resizeTargetMinimumSize: h,
1496
+ resizeTargetMinimumSize: m,
1453
1497
  separators: []
1454
- }), P = he(v, r);
1455
- kt(g, l);
1456
- const b = X(
1457
- (w, C) => {
1458
- const { interactionState: G, mountedGroups: Q } = E();
1459
- for (const ee of Q.keys())
1498
+ }), C = he(h, s);
1499
+ Gt(y, l);
1500
+ const L = Y(
1501
+ (w, P) => {
1502
+ const { interactionState: k, mountedGroups: V } = G();
1503
+ for (const ee of V.keys())
1460
1504
  if (ee.id === w) {
1461
- const U = Q.get(ee);
1462
- if (U) {
1505
+ const K = V.get(ee);
1506
+ if (K) {
1463
1507
  let te = !1;
1464
- switch (G.state) {
1508
+ switch (k.state) {
1465
1509
  case "active": {
1466
- te = G.hitRegions.some(
1510
+ te = k.hitRegions.some(
1467
1511
  (le) => le.group === ee
1468
1512
  );
1469
1513
  break;
1470
1514
  }
1471
1515
  }
1472
1516
  return {
1473
- flexGrow: U.layout[C] ?? 1,
1517
+ flexGrow: K.layout[P] ?? 1,
1474
1518
  pointerEvents: te ? "none" : void 0
1475
1519
  };
1476
1520
  }
1477
1521
  }
1478
1522
  return {
1479
- flexGrow: n?.[C] ?? 1
1523
+ flexGrow: n?.[P] ?? 1
1480
1524
  };
1481
1525
  }
1482
- ), $ = Ae(
1526
+ ), R = _e(
1483
1527
  () => ({
1484
- getPanelStyles: b,
1485
- id: g,
1486
- orientation: c,
1528
+ getPanelStyles: L,
1529
+ id: y,
1530
+ orientation: u,
1487
1531
  registerPanel: (w) => {
1488
- const C = L.current;
1489
- return C.panels = fe(c, [
1490
- ...C.panels,
1532
+ const P = x.current;
1533
+ return P.panels = fe(u, [
1534
+ ...P.panels,
1491
1535
  w
1492
- ]), S(), () => {
1493
- C.panels = C.panels.filter(
1494
- (G) => G !== w
1495
- ), S();
1536
+ ]), g(), () => {
1537
+ P.panels = P.panels.filter(
1538
+ (k) => k !== w
1539
+ ), g();
1496
1540
  };
1497
1541
  },
1498
1542
  registerSeparator: (w) => {
1499
- const C = L.current;
1500
- return C.separators = fe(c, [
1501
- ...C.separators,
1543
+ const P = x.current;
1544
+ return P.separators = fe(u, [
1545
+ ...P.separators,
1502
1546
  w
1503
- ]), S(), () => {
1504
- C.separators = C.separators.filter(
1505
- (G) => G !== w
1506
- ), S();
1547
+ ]), g(), () => {
1548
+ P.separators = P.separators.filter(
1549
+ (k) => k !== w
1550
+ ), g();
1507
1551
  };
1508
1552
  }
1509
1553
  }),
1510
- [b, g, S, c]
1511
- ), T = Gt({
1554
+ [L, y, g, u]
1555
+ ), _ = kt({
1512
1556
  defaultLayout: n,
1513
1557
  disableCursor: o
1514
- }), H = k(null);
1515
- return F(() => {
1516
- const w = v.current;
1558
+ }), A = I(null);
1559
+ return j(() => {
1560
+ const w = h.current;
1517
1561
  if (w === null)
1518
1562
  return;
1519
- const C = L.current, G = {
1520
- defaultLayout: T.defaultLayout,
1521
- disableCursor: !!T.disableCursor,
1563
+ const P = x.current, k = {
1564
+ defaultLayout: _.defaultLayout,
1565
+ disableCursor: !!_.disableCursor,
1522
1566
  disabled: !!i,
1523
1567
  element: w,
1524
- id: g,
1525
- inMemoryLastExpandedPanelSizes: L.current.lastExpandedPanelSizes,
1526
- inMemoryLayouts: L.current.layouts,
1527
- orientation: c,
1528
- panels: C.panels,
1529
- resizeTargetMinimumSize: C.resizeTargetMinimumSize,
1530
- separators: C.separators
1568
+ id: y,
1569
+ inMemoryLastExpandedPanelSizes: x.current.lastExpandedPanelSizes,
1570
+ inMemoryLayouts: x.current.layouts,
1571
+ orientation: u,
1572
+ panels: P.panels,
1573
+ resizeTargetMinimumSize: P.resizeTargetMinimumSize,
1574
+ separators: P.separators
1531
1575
  };
1532
- H.current = G;
1533
- const Q = Mt(G), U = E().mountedGroups.get(G);
1534
- if (U) {
1535
- const { defaultLayoutDeferred: B, derivedPanelConstraints: ne, layout: oe } = U;
1536
- !B && ne.length > 0 && (d(oe), p(oe));
1576
+ A.current = k;
1577
+ const V = Mt(k), K = G().mountedGroups.get(k);
1578
+ if (K) {
1579
+ const { defaultLayoutDeferred: X, derivedPanelConstraints: ne, layout: oe } = K;
1580
+ !X && ne.length > 0 && (d(oe), p(oe));
1537
1581
  }
1538
- const te = O.addListener(
1582
+ const te = N.addListener(
1539
1583
  "interactionStateChange",
1540
- (B) => {
1541
- B.state;
1584
+ (X) => {
1585
+ X.state;
1542
1586
  }
1543
- ), le = O.addListener(
1587
+ ), le = N.addListener(
1544
1588
  "mountedGroupsChange",
1545
- (B) => {
1546
- const ne = B.get(G);
1589
+ (X) => {
1590
+ const ne = X.get(k);
1547
1591
  if (ne) {
1548
1592
  const { defaultLayoutDeferred: oe, derivedPanelConstraints: Ze, layout: ye } = ne;
1549
1593
  if (oe || Ze.length === 0)
1550
1594
  return;
1551
- const { interactionState: Qe } = E(), et = Qe.state !== "active";
1595
+ const { interactionState: Qe } = G(), et = Qe.state !== "active";
1552
1596
  d(ye), et && p(ye);
1553
1597
  }
1554
1598
  }
1555
1599
  );
1556
1600
  return () => {
1557
- H.current = null, Q(), te(), le();
1601
+ A.current = null, V(), te(), le();
1558
1602
  };
1559
1603
  }, [
1560
1604
  i,
1561
- g,
1605
+ y,
1562
1606
  p,
1563
1607
  d,
1564
- c,
1565
- x,
1566
- T
1608
+ u,
1609
+ v,
1610
+ _
1567
1611
  ]), Te(() => {
1568
- const w = H.current;
1612
+ const w = A.current;
1569
1613
  w && (w.defaultLayout = n, w.disableCursor = !!o);
1570
- }), /* @__PURE__ */ q(Je.Provider, { value: $, children: /* @__PURE__ */ q(
1614
+ }), /* @__PURE__ */ J(Je.Provider, { value: R, children: /* @__PURE__ */ J(
1571
1615
  "div",
1572
1616
  {
1573
- ...m,
1617
+ ...S,
1574
1618
  className: t,
1575
1619
  "data-group": !0,
1576
- "data-testid": g,
1577
- id: g,
1578
- ref: P,
1620
+ "data-testid": y,
1621
+ id: y,
1622
+ ref: C,
1579
1623
  style: {
1580
1624
  height: "100%",
1581
1625
  width: "100%",
1582
1626
  overflow: "hidden",
1583
- ...y,
1627
+ ...z,
1584
1628
  display: "flex",
1585
- flexDirection: c === "horizontal" ? "row" : "column",
1629
+ flexDirection: u === "horizontal" ? "row" : "column",
1586
1630
  flexWrap: "nowrap"
1587
1631
  },
1588
1632
  children: e
@@ -1599,39 +1643,39 @@ function Ht({
1599
1643
  storage: n = localStorage,
1600
1644
  ...o
1601
1645
  }) {
1602
- const i = t !== void 0, r = "id" in o ? o.id : o.groupId, l = ce(r, t ?? []), s = _e(
1646
+ const i = t !== void 0, s = "id" in o ? o.id : o.groupId, l = ce(s, t ?? []), r = Ae(
1603
1647
  Dt,
1604
1648
  () => n.getItem(l),
1605
1649
  () => n.getItem(l)
1606
- ), a = Ae(
1607
- () => s ? JSON.parse(s) : void 0,
1608
- [s]
1609
- ), u = k(null), c = K(() => {
1610
- const m = u.current;
1611
- m && (u.current = null, clearTimeout(m));
1650
+ ), a = _e(
1651
+ () => r ? JSON.parse(r) : void 0,
1652
+ [r]
1653
+ ), f = I(null), u = q(() => {
1654
+ const S = f.current;
1655
+ S && (f.current = null, clearTimeout(S));
1612
1656
  }, []);
1613
1657
  Oe(() => () => {
1614
- c();
1615
- }, [c]);
1616
- const h = K(
1617
- (m) => {
1618
- c();
1619
- let f;
1620
- i ? f = ce(r, Object.keys(m)) : f = ce(r, []);
1658
+ u();
1659
+ }, [u]);
1660
+ const m = q(
1661
+ (S) => {
1662
+ u();
1663
+ let c;
1664
+ i ? c = ce(s, Object.keys(S)) : c = ce(s, []);
1621
1665
  try {
1622
- n.setItem(f, JSON.stringify(m));
1666
+ n.setItem(c, JSON.stringify(S));
1623
1667
  } catch (d) {
1624
1668
  console.error(d);
1625
1669
  }
1626
1670
  },
1627
- [c, i, r, n]
1628
- ), y = K(
1629
- (m) => {
1630
- c(), e === 0 ? h(m) : u.current = setTimeout(() => {
1631
- h(m);
1671
+ [u, i, s, n]
1672
+ ), z = q(
1673
+ (S) => {
1674
+ u(), e === 0 ? m(S) : f.current = setTimeout(() => {
1675
+ m(S);
1632
1676
  }, e);
1633
1677
  },
1634
- [c, e, h]
1678
+ [u, e, m]
1635
1679
  );
1636
1680
  return {
1637
1681
  /**
@@ -1643,11 +1687,11 @@ function Ht({
1643
1687
  *
1644
1688
  * @deprecated Use the {@link onLayoutChanged} prop instead.
1645
1689
  */
1646
- onLayoutChange: y,
1690
+ onLayoutChange: z,
1647
1691
  /**
1648
1692
  * Attach this callback on the `Group` as the `onLayoutChanged` prop.
1649
1693
  */
1650
- onLayoutChanged: h
1694
+ onLayoutChanged: m
1651
1695
  };
1652
1696
  }
1653
1697
  function Dt() {
@@ -1655,20 +1699,20 @@ function Dt() {
1655
1699
  };
1656
1700
  }
1657
1701
  function jt() {
1658
- return Y(null);
1702
+ return Z(null);
1659
1703
  }
1660
1704
  function Vt() {
1661
- return k(null);
1705
+ return I(null);
1662
1706
  }
1663
1707
  function ge() {
1664
1708
  const e = ot(Je);
1665
- return z(
1709
+ return b(
1666
1710
  e,
1667
1711
  "Group Context not found; did you render a Panel or Separator outside of a Group?"
1668
1712
  ), e;
1669
1713
  }
1670
1714
  function Ot(e, t) {
1671
- const { id: n } = ge(), o = k({
1715
+ const { id: n } = ge(), o = I({
1672
1716
  collapse: ue,
1673
1717
  expand: ue,
1674
1718
  getSize: () => ({
@@ -1678,7 +1722,7 @@ function Ot(e, t) {
1678
1722
  isCollapsed: () => !1,
1679
1723
  resize: ue
1680
1724
  });
1681
- Ne(t, () => o.current, []), F(() => {
1725
+ Ne(t, () => o.current, []), j(() => {
1682
1726
  Object.assign(
1683
1727
  o.current,
1684
1728
  Ve({ groupId: n, panelId: e })
@@ -1691,69 +1735,73 @@ function Tt({
1691
1735
  collapsedSize: n = "0%",
1692
1736
  collapsible: o = !1,
1693
1737
  defaultSize: i,
1694
- elementRef: r,
1695
- id: l,
1696
- maxSize: s = "100%",
1697
- minSize: a = "0%",
1738
+ disabled: s,
1739
+ elementRef: l,
1740
+ id: r,
1741
+ maxSize: a = "100%",
1742
+ minSize: f = "0%",
1698
1743
  onResize: u,
1699
- panelRef: c,
1700
- style: h,
1701
- ...y
1744
+ panelRef: m,
1745
+ style: z,
1746
+ ...S
1702
1747
  }) {
1703
- const m = !!l, f = me(l), d = k(null), p = he(d, r), { getPanelStyles: g, id: v, registerPanel: x } = ge(), S = u !== null, L = X(
1704
- (b, $, T) => {
1705
- u?.(b, l, T);
1748
+ const c = !!r, d = me(r), p = I(null), y = he(p, l), { getPanelStyles: h, id: v, registerPanel: g } = ge(), x = u !== null, C = Y(
1749
+ (R, _, A) => {
1750
+ u?.(R, r, A);
1706
1751
  }
1707
1752
  );
1708
- F(() => {
1709
- const b = d.current;
1710
- if (b !== null)
1711
- return x({
1712
- element: b,
1713
- id: f,
1714
- idIsStable: m,
1753
+ j(() => {
1754
+ const R = p.current;
1755
+ if (R !== null)
1756
+ return g({
1757
+ element: R,
1758
+ id: d,
1759
+ idIsStable: c,
1715
1760
  mutableValues: {
1716
1761
  expandToSize: void 0,
1717
1762
  prevSize: void 0
1718
1763
  },
1719
- onResize: S ? L : void 0,
1764
+ onResize: x ? C : void 0,
1720
1765
  panelConstraints: {
1721
1766
  collapsedSize: n,
1722
1767
  collapsible: o,
1723
1768
  defaultSize: i,
1724
- maxSize: s,
1725
- minSize: a
1769
+ disabled: s,
1770
+ maxSize: a,
1771
+ minSize: f
1726
1772
  }
1727
1773
  });
1728
1774
  }, [
1729
1775
  n,
1730
1776
  o,
1731
1777
  i,
1732
- S,
1733
- f,
1734
- m,
1735
1778
  s,
1779
+ x,
1780
+ d,
1781
+ c,
1736
1782
  a,
1737
- L,
1738
- x
1739
- ]), Ot(f, c);
1740
- const P = _e(
1741
- (b) => (O.addListener("mountedGroupsChange", b), () => {
1742
- O.removeListener("mountedGroupsChange", b);
1783
+ f,
1784
+ C,
1785
+ g
1786
+ ]), Ot(d, m);
1787
+ const L = Ae(
1788
+ (R) => (N.addListener("mountedGroupsChange", R), () => {
1789
+ N.removeListener("mountedGroupsChange", R);
1743
1790
  }),
1744
1791
  // useSyncExternalStore does not support a custom equality check
1745
1792
  // stringify avoids re-rendering when the style value hasn't changed
1746
- () => JSON.stringify(g(v, f)),
1747
- () => JSON.stringify(g(v, f))
1793
+ () => JSON.stringify(h(v, d)),
1794
+ () => JSON.stringify(h(v, d))
1748
1795
  );
1749
- return /* @__PURE__ */ q(
1796
+ return /* @__PURE__ */ J(
1750
1797
  "div",
1751
1798
  {
1752
- ...y,
1799
+ ...S,
1800
+ "aria-disabled": s,
1753
1801
  "data-panel": !0,
1754
- "data-testid": f,
1755
- id: f,
1756
- ref: p,
1802
+ "data-testid": d,
1803
+ id: d,
1804
+ ref: y,
1757
1805
  style: {
1758
1806
  ...Nt,
1759
1807
  display: "flex",
@@ -1761,9 +1809,9 @@ function Tt({
1761
1809
  flexShrink: 1,
1762
1810
  // Prevent Panel content from interfering with panel size
1763
1811
  overflow: "hidden",
1764
- ...JSON.parse(P)
1812
+ ...JSON.parse(L)
1765
1813
  },
1766
- children: /* @__PURE__ */ q(
1814
+ children: /* @__PURE__ */ J(
1767
1815
  "div",
1768
1816
  {
1769
1817
  className: t,
@@ -1771,7 +1819,7 @@ function Tt({
1771
1819
  maxHeight: "100%",
1772
1820
  maxWidth: "100%",
1773
1821
  flexGrow: 1,
1774
- ...h
1822
+ ...z
1775
1823
  },
1776
1824
  children: e
1777
1825
  }
@@ -1793,38 +1841,38 @@ const Nt = {
1793
1841
  margin: 0
1794
1842
  };
1795
1843
  function Wt() {
1796
- return Y(null);
1844
+ return Z(null);
1797
1845
  }
1798
1846
  function Ut() {
1799
- return k(null);
1847
+ return I(null);
1800
1848
  }
1801
- function At({
1849
+ function _t({
1802
1850
  layout: e,
1803
1851
  panelConstraints: t,
1804
1852
  panelId: n,
1805
1853
  panelIndex: o
1806
1854
  }) {
1807
- let i, r;
1808
- const l = e[n], s = t.find(
1855
+ let i, s;
1856
+ const l = e[n], r = t.find(
1809
1857
  (a) => a.panelId === n
1810
1858
  );
1811
- if (s) {
1812
- const a = s.maxSize, u = s.collapsible ? s.collapsedSize : s.minSize, c = [o, o + 1];
1813
- r = _({
1814
- layout: Z({
1815
- delta: u - l,
1859
+ if (r) {
1860
+ const a = r.maxSize, f = r.collapsible ? r.collapsedSize : r.minSize, u = [o, o + 1];
1861
+ s = H({
1862
+ layout: Q({
1863
+ delta: f - l,
1816
1864
  initialLayout: e,
1817
1865
  panelConstraints: t,
1818
- pivotIndices: c,
1866
+ pivotIndices: u,
1819
1867
  prevLayout: e
1820
1868
  }),
1821
1869
  panelConstraints: t
1822
- })[n], i = _({
1823
- layout: Z({
1870
+ })[n], i = H({
1871
+ layout: Q({
1824
1872
  delta: a - l,
1825
1873
  initialLayout: e,
1826
1874
  panelConstraints: t,
1827
- pivotIndices: c,
1875
+ pivotIndices: u,
1828
1876
  prevLayout: e
1829
1877
  }),
1830
1878
  panelConstraints: t
@@ -1833,53 +1881,55 @@ function At({
1833
1881
  return {
1834
1882
  valueControls: n,
1835
1883
  valueMax: i,
1836
- valueMin: r,
1884
+ valueMin: s,
1837
1885
  valueNow: l
1838
1886
  };
1839
1887
  }
1840
- function _t({
1888
+ function At({
1841
1889
  children: e,
1842
1890
  className: t,
1843
- elementRef: n,
1844
- id: o,
1845
- style: i,
1846
- ...r
1891
+ disabled: n,
1892
+ elementRef: o,
1893
+ id: i,
1894
+ style: s,
1895
+ ...l
1847
1896
  }) {
1848
- const l = me(o), [s, a] = Y({}), [u, c] = Y("inactive"), h = k(null), y = he(h, n), {
1849
- id: m,
1850
- orientation: f,
1851
- registerSeparator: d
1852
- } = ge(), p = f === "horizontal" ? "vertical" : "horizontal";
1853
- return F(() => {
1854
- const g = h.current;
1855
- if (g !== null) {
1897
+ const r = me(i), [a, f] = Z({}), [u, m] = Z("inactive"), z = I(null), S = he(z, o), {
1898
+ id: c,
1899
+ orientation: d,
1900
+ registerSeparator: p
1901
+ } = ge(), y = d === "horizontal" ? "vertical" : "horizontal";
1902
+ return j(() => {
1903
+ const h = z.current;
1904
+ if (h !== null) {
1856
1905
  const v = {
1857
- element: g,
1858
- id: l
1859
- }, x = d(v), S = O.addListener(
1906
+ disabled: n,
1907
+ element: h,
1908
+ id: r
1909
+ }, g = p(v), x = N.addListener(
1860
1910
  "interactionStateChange",
1861
- (P) => {
1862
- c(
1863
- P.state !== "inactive" && P.hitRegions.some(
1864
- (b) => b.separator === v
1865
- ) ? P.state : "inactive"
1911
+ (L) => {
1912
+ m(
1913
+ L.state !== "inactive" && L.hitRegions.some(
1914
+ (R) => R.separator === v
1915
+ ) ? L.state : "inactive"
1866
1916
  );
1867
1917
  }
1868
- ), L = O.addListener(
1918
+ ), C = N.addListener(
1869
1919
  "mountedGroupsChange",
1870
- (P) => {
1871
- P.forEach(
1872
- ({ derivedPanelConstraints: b, layout: $, separatorToPanels: T }, H) => {
1873
- if (H.id === m) {
1874
- const w = T.get(v);
1875
- if (w) {
1876
- const C = w[0], G = H.panels.indexOf(C);
1877
- a(
1878
- At({
1879
- layout: $,
1880
- panelConstraints: b,
1881
- panelId: C.id,
1882
- panelIndex: G
1920
+ (L) => {
1921
+ L.forEach(
1922
+ ({ derivedPanelConstraints: R, layout: _, separatorToPanels: A }, w) => {
1923
+ if (w.id === c) {
1924
+ const P = A.get(v);
1925
+ if (P) {
1926
+ const k = P[0], V = w.panels.indexOf(k);
1927
+ f(
1928
+ _t({
1929
+ layout: _,
1930
+ panelConstraints: R,
1931
+ panelId: k.id,
1932
+ panelIndex: V
1883
1933
  })
1884
1934
  );
1885
1935
  }
@@ -1889,40 +1939,42 @@ function _t({
1889
1939
  }
1890
1940
  );
1891
1941
  return () => {
1892
- S(), L(), x();
1942
+ x(), C(), g();
1893
1943
  };
1894
1944
  }
1895
- }, [m, l, d]), /* @__PURE__ */ q(
1945
+ }, [n, c, r, p]), /* @__PURE__ */ J(
1896
1946
  "div",
1897
1947
  {
1898
- ...r,
1899
- "aria-controls": s.valueControls,
1900
- "aria-orientation": p,
1901
- "aria-valuemax": s.valueMax,
1902
- "aria-valuemin": s.valueMin,
1903
- "aria-valuenow": s.valueNow,
1948
+ ...l,
1949
+ "aria-controls": a.valueControls,
1950
+ "aria-disabled": n,
1951
+ "aria-orientation": y,
1952
+ "aria-valuemax": a.valueMax,
1953
+ "aria-valuemin": a.valueMin,
1954
+ "aria-valuenow": a.valueNow,
1904
1955
  children: e,
1905
1956
  className: t,
1906
- "data-separator": u,
1907
- "data-testid": l,
1908
- id: l,
1909
- ref: y,
1957
+ "data-separator": n ? "disabled" : u,
1958
+ "data-testid": r,
1959
+ id: r,
1960
+ ref: S,
1910
1961
  role: "separator",
1911
1962
  style: {
1912
1963
  flexBasis: "auto",
1913
- ...i,
1964
+ cursor: n ? "not-allowed" : void 0,
1965
+ ...s,
1914
1966
  flexGrow: 0,
1915
1967
  flexShrink: 0
1916
1968
  },
1917
- tabIndex: 0
1969
+ tabIndex: n ? void 0 : 0
1918
1970
  }
1919
1971
  );
1920
1972
  }
1921
- _t.displayName = "Separator";
1973
+ At.displayName = "Separator";
1922
1974
  export {
1923
1975
  It as Group,
1924
1976
  Tt as Panel,
1925
- _t as Separator,
1977
+ At as Separator,
1926
1978
  at as isCoarsePointer,
1927
1979
  Ht as useDefaultLayout,
1928
1980
  jt as useGroupCallbackRef,