react-resizable-panels 4.0.8-alpha.1 → 4.0.8

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,75 +1,75 @@
1
1
  "use client";
2
- import { jsx as W } from "react/jsx-runtime";
3
- import { useId as _e, useLayoutEffect as Fe, useEffect as He, useRef as T, useCallback as ze, createContext as We, useImperativeHandle as be, useSyncExternalStore as we, useState as G, useMemo as Le, useContext as je } from "react";
2
+ import { jsx as B } from "react/jsx-runtime";
3
+ import { useId as Ne, useLayoutEffect as _e, useEffect as Fe, useRef as T, useCallback as ze, createContext as He, useImperativeHandle as be, useState as G, useMemo as Le, useSyncExternalStore as We, useContext as je } from "react";
4
4
  function z(e, t = "Assertion error") {
5
5
  if (!e)
6
6
  throw Error(t);
7
7
  }
8
+ function H({
9
+ group: e
10
+ }) {
11
+ const { orientation: t, panels: n } = e;
12
+ return n.reduce((o, r) => (o += t === "horizontal" ? r.element.offsetWidth : r.element.offsetHeight, o), 0);
13
+ }
8
14
  function re(e, t) {
9
15
  return t.sort(
10
- e === "horizontal" ? Ve : Be
16
+ e === "horizontal" ? Be : Ue
11
17
  );
12
18
  }
13
- function Ve(e, t) {
19
+ function Be(e, t) {
14
20
  const n = e.element.offsetLeft - t.element.offsetLeft;
15
21
  return n !== 0 ? n : e.element.offsetWidth - t.element.offsetWidth;
16
22
  }
17
- function Be(e, t) {
23
+ function Ue(e, t) {
18
24
  const n = e.element.offsetTop - t.element.offsetTop;
19
25
  return n !== 0 ? n : e.element.offsetHeight - t.element.offsetHeight;
20
26
  }
21
- function ee({
22
- group: e
23
- }) {
24
- const { orientation: t, panels: n } = e;
25
- return n.reduce((o, r) => (o += t === "horizontal" ? r.element.offsetWidth : r.element.offsetHeight, o), 0);
26
- }
27
- function Pe(e) {
28
- const { element: t, orientation: n, panels: o, separators: r } = e, s = re(
27
+ function we(e) {
28
+ const { element: t, orientation: n, panels: o, separators: r } = e, a = re(
29
29
  n,
30
30
  Array.from(t.children).filter((l) => l instanceof HTMLElement).map((l) => ({ element: l }))
31
- ).map(({ element: l }) => l), c = [];
32
- let i, a;
33
- for (const l of s) {
34
- const f = o.find(
35
- (u) => u.element === l
31
+ ).map(({ element: l }) => l), u = [];
32
+ let i, s;
33
+ for (const l of a) {
34
+ const c = o.find(
35
+ (d) => d.element === l
36
36
  );
37
- if (f) {
37
+ if (c) {
38
38
  if (i) {
39
- const u = i.element.getBoundingClientRect(), h = l.getBoundingClientRect();
40
- c.push({
39
+ const d = i.element.getBoundingClientRect(), x = l.getBoundingClientRect();
40
+ u.push({
41
41
  group: e,
42
- groupSize: ee({ group: e }),
43
- panels: [i, f],
44
- separator: a,
42
+ groupSize: H({ group: e }),
43
+ panels: [i, c],
44
+ separator: s,
45
45
  rect: n === "horizontal" ? new DOMRect(
46
- u.right,
47
- h.top,
48
- h.left - u.right,
49
- h.height
46
+ d.right,
47
+ x.top,
48
+ x.left - d.right,
49
+ x.height
50
50
  ) : new DOMRect(
51
- h.left,
52
- u.bottom,
53
- h.width,
54
- h.top - u.bottom
51
+ x.left,
52
+ d.bottom,
53
+ x.width,
54
+ x.top - d.bottom
55
55
  )
56
56
  });
57
57
  }
58
- i = f, a = void 0;
58
+ i = c, s = void 0;
59
59
  } else {
60
- const u = r.find(
61
- (h) => h.element === l
60
+ const d = r.find(
61
+ (x) => x.element === l
62
62
  );
63
- u ? a = u : (i = void 0, a = void 0);
63
+ d ? s = d : (i = void 0, s = void 0);
64
64
  }
65
65
  }
66
- return c;
66
+ return u;
67
67
  }
68
- function Ue(e, t) {
68
+ function Ke(e, t) {
69
69
  const n = getComputedStyle(e), o = parseFloat(n.fontSize);
70
70
  return t * o;
71
71
  }
72
- function Ke(e, t) {
72
+ function Ve(e, t) {
73
73
  const n = getComputedStyle(e.ownerDocument.body), o = parseFloat(n.fontSize);
74
74
  return t * o;
75
75
  }
@@ -89,14 +89,14 @@ function qe(e) {
89
89
  }
90
90
  }
91
91
  }
92
- function Z({
92
+ function Q({
93
93
  groupSize: e,
94
94
  panelElement: t,
95
95
  styleProp: n
96
96
  }) {
97
97
  let o;
98
- const [r, s] = qe(n);
99
- switch (s) {
98
+ const [r, a] = qe(n);
99
+ switch (a) {
100
100
  case "%": {
101
101
  o = r / 100 * e;
102
102
  break;
@@ -106,11 +106,11 @@ function Z({
106
106
  break;
107
107
  }
108
108
  case "rem": {
109
- o = Ke(t, r);
109
+ o = Ve(t, r);
110
110
  break;
111
111
  }
112
112
  case "em": {
113
- o = Ue(t, r);
113
+ o = Ke(t, r);
114
114
  break;
115
115
  }
116
116
  case "vh": {
@@ -127,8 +127,8 @@ function Z({
127
127
  function I(e) {
128
128
  return parseFloat(e.toFixed(3));
129
129
  }
130
- function me(e) {
131
- const { panels: t } = e, n = ee({ group: e });
130
+ function pe(e) {
131
+ const { panels: t } = e, n = H({ group: e });
132
132
  return n === 0 ? t.map((o) => ({
133
133
  collapsedSize: 0,
134
134
  collapsible: o.panelConstraints.collapsible === !0,
@@ -137,48 +137,48 @@ function me(e) {
137
137
  maxSize: 100,
138
138
  panelId: o.id
139
139
  })) : t.map((o) => {
140
- const { element: r, panelConstraints: s } = o;
141
- let c = 0;
142
- if (s.collapsedSize) {
143
- const f = Z({
140
+ const { element: r, panelConstraints: a } = o;
141
+ let u = 0;
142
+ if (a.collapsedSize) {
143
+ const c = Q({
144
144
  groupSize: n,
145
145
  panelElement: r,
146
- styleProp: s.collapsedSize
146
+ styleProp: a.collapsedSize
147
147
  });
148
- c = I(f / n * 100);
148
+ u = I(c / n * 100);
149
149
  }
150
150
  let i;
151
- if (s.defaultSize) {
152
- const f = Z({
151
+ if (a.defaultSize) {
152
+ const c = Q({
153
153
  groupSize: n,
154
154
  panelElement: r,
155
- styleProp: s.defaultSize
155
+ styleProp: a.defaultSize
156
156
  });
157
- i = I(f / n * 100);
157
+ i = I(c / n * 100);
158
158
  }
159
- let a = 0;
160
- if (s.minSize) {
161
- const f = Z({
159
+ let s = 0;
160
+ if (a.minSize) {
161
+ const c = Q({
162
162
  groupSize: n,
163
163
  panelElement: r,
164
- styleProp: s.minSize
164
+ styleProp: a.minSize
165
165
  });
166
- a = I(f / n * 100);
166
+ s = I(c / n * 100);
167
167
  }
168
168
  let l = 100;
169
- if (s.maxSize) {
170
- const f = Z({
169
+ if (a.maxSize) {
170
+ const c = Q({
171
171
  groupSize: n,
172
172
  panelElement: r,
173
- styleProp: s.maxSize
173
+ styleProp: a.maxSize
174
174
  });
175
- l = I(f / n * 100);
175
+ l = I(c / n * 100);
176
176
  }
177
177
  return {
178
- collapsedSize: c,
179
- collapsible: s.collapsible === !0,
178
+ collapsedSize: u,
179
+ collapsible: a.collapsible === !0,
180
180
  defaultSize: i,
181
- minSize: a,
181
+ minSize: s,
182
182
  maxSize: l,
183
183
  panelId: o.id
184
184
  };
@@ -198,18 +198,18 @@ class Ze {
198
198
  if (o.length === 1)
199
199
  o[0].call(null, n);
200
200
  else {
201
- let r = !1, s = null;
202
- const c = Array.from(o);
203
- for (let i = 0; i < c.length; i++) {
204
- const a = c[i];
201
+ let r = !1, a = null;
202
+ const u = Array.from(o);
203
+ for (let i = 0; i < u.length; i++) {
204
+ const s = u[i];
205
205
  try {
206
- a.call(null, n);
206
+ s.call(null, n);
207
207
  } catch (l) {
208
- s === null && (r = !0, s = l);
208
+ a === null && (r = !0, a = l);
209
209
  }
210
210
  }
211
211
  if (r)
212
- throw s;
212
+ throw a;
213
213
  }
214
214
  }
215
215
  removeAllListeners() {
@@ -223,7 +223,7 @@ class Ze {
223
223
  }
224
224
  }
225
225
  }
226
- function w(e, t, n = 0) {
226
+ function P(e, t, n = 0) {
227
227
  return Math.abs(I(e) - I(t)) <= n;
228
228
  }
229
229
  let R = {
@@ -246,25 +246,25 @@ function C(e) {
246
246
  ...R,
247
247
  ...t
248
248
  }, t.cursorFlags !== void 0 && A.emit("cursorFlagsChange", R.cursorFlags), t.interactionState !== void 0 && A.emit("interactionStateChange", R.interactionState), t.mountedGroups !== void 0 && (R.mountedGroups.forEach((o, r) => {
249
- o.derivedPanelConstraints.forEach((s) => {
250
- if (s.collapsible) {
251
- const { layout: c } = n.mountedGroups.get(r) ?? {};
252
- if (c) {
253
- const i = w(
254
- s.collapsedSize,
255
- o.layout[s.panelId]
256
- ), a = w(
257
- s.collapsedSize,
258
- c[s.panelId]
249
+ o.derivedPanelConstraints.forEach((a) => {
250
+ if (a.collapsible) {
251
+ const { layout: u } = n.mountedGroups.get(r) ?? {};
252
+ if (u) {
253
+ const i = P(
254
+ a.collapsedSize,
255
+ o.layout[a.panelId]
256
+ ), s = P(
257
+ a.collapsedSize,
258
+ u[a.panelId]
259
259
  );
260
- i && !a && (r.inMemoryLastExpandedPanelSizes[s.panelId] = c[s.panelId]);
260
+ i && !s && (r.inMemoryLastExpandedPanelSizes[a.panelId] = u[a.panelId]);
261
261
  }
262
262
  }
263
263
  });
264
264
  }), A.emit("mountedGroupsChange", R.mountedGroups)), R;
265
265
  }
266
266
  const Je = (e) => e, ie = () => {
267
- }, Ee = 1, Re = 2, Ce = 4, Me = 8, he = {
267
+ }, Pe = 1, Ee = 2, Re = 4, Ce = 8, me = {
268
268
  coarse: 10,
269
269
  precise: 5
270
270
  };
@@ -277,9 +277,9 @@ function Qe({
277
277
  switch (n) {
278
278
  case "active":
279
279
  case "hover":
280
- t.forEach((s) => {
281
- if (!s.disableCursor)
282
- switch (s.orientation) {
280
+ t.forEach((a) => {
281
+ if (!a.disableCursor)
282
+ switch (a.orientation) {
283
283
  case "horizontal": {
284
284
  o++;
285
285
  break;
@@ -295,15 +295,15 @@ function Qe({
295
295
  return null;
296
296
  switch (n) {
297
297
  case "active": {
298
- const s = (e & Ee) !== 0, c = (e & Re) !== 0, i = (e & Ce) !== 0, a = (e & Me) !== 0;
298
+ const a = (e & Pe) !== 0, u = (e & Ee) !== 0, i = (e & Re) !== 0, s = (e & Ce) !== 0;
299
299
  if (e) {
300
- if (s)
301
- return i ? "se-resize" : a ? "ne-resize" : "e-resize";
302
- if (c)
303
- return i ? "sw-resize" : a ? "nw-resize" : "w-resize";
300
+ if (a)
301
+ return i ? "se-resize" : s ? "ne-resize" : "e-resize";
302
+ if (u)
303
+ return i ? "sw-resize" : s ? "nw-resize" : "w-resize";
304
304
  if (i)
305
305
  return "s-resize";
306
- if (a)
306
+ if (s)
307
307
  return "n-resize";
308
308
  }
309
309
  break;
@@ -342,8 +342,8 @@ function et(e, t) {
342
342
  return !1;
343
343
  return !0;
344
344
  }
345
- function j(e, t) {
346
- return w(e, t) ? 0 : e > t ? 1 : -1;
345
+ function U(e, t) {
346
+ return P(e, t) ? 0 : e > t ? 1 : -1;
347
347
  }
348
348
  function F({
349
349
  panelConstraints: e,
@@ -353,215 +353,215 @@ function F({
353
353
  collapsedSize: n = 0,
354
354
  collapsible: o,
355
355
  maxSize: r = 100,
356
- minSize: s = 0
356
+ minSize: a = 0
357
357
  } = e;
358
- if (j(t, s) < 0)
358
+ if (U(t, a) < 0)
359
359
  if (o) {
360
- const c = (n + s) / 2;
361
- j(t, c) < 0 ? t = n : t = s;
360
+ const u = (n + a) / 2;
361
+ U(t, u) < 0 ? t = n : t = a;
362
362
  } else
363
- t = s;
363
+ t = a;
364
364
  return t = Math.min(r, t), t = I(t), t;
365
365
  }
366
- function V({
366
+ function K({
367
367
  delta: e,
368
368
  initialLayout: t,
369
369
  panelConstraints: n,
370
370
  pivotIndices: o,
371
371
  prevLayout: r,
372
- trigger: s
372
+ trigger: a
373
373
  }) {
374
- if (w(e, 0))
374
+ if (P(e, 0))
375
375
  return t;
376
- const c = Object.values(t), i = Object.values(r), a = [...c], [l, f] = o;
377
- z(l != null, "Invalid first pivot index"), z(f != null, "Invalid second pivot index");
378
- let u = 0;
379
- if (s === "keyboard") {
376
+ const u = Object.values(t), i = Object.values(r), s = [...u], [l, c] = o;
377
+ z(l != null, "Invalid first pivot index"), z(c != null, "Invalid second pivot index");
378
+ let d = 0;
379
+ if (a === "keyboard") {
380
380
  {
381
- const d = e < 0 ? f : l, p = n[d];
381
+ const f = e < 0 ? c : l, p = n[f];
382
382
  z(
383
383
  p,
384
- `Panel constraints not found for index ${d}`
384
+ `Panel constraints not found for index ${f}`
385
385
  );
386
386
  const {
387
- collapsedSize: v = 0,
388
- collapsible: m,
389
- minSize: x = 0
387
+ collapsedSize: h = 0,
388
+ collapsible: g,
389
+ minSize: S = 0
390
390
  } = p;
391
- if (m) {
392
- const S = c[d];
391
+ if (g) {
392
+ const y = u[f];
393
393
  if (z(
394
- S != null,
395
- `Previous layout not found for panel index ${d}`
396
- ), w(S, v)) {
397
- const g = x - S;
398
- j(g, Math.abs(e)) > 0 && (e = e < 0 ? 0 - g : g);
394
+ y != null,
395
+ `Previous layout not found for panel index ${f}`
396
+ ), P(y, h)) {
397
+ const v = S - y;
398
+ U(v, Math.abs(e)) > 0 && (e = e < 0 ? 0 - v : v);
399
399
  }
400
400
  }
401
401
  }
402
402
  {
403
- const d = e < 0 ? l : f, p = n[d];
403
+ const f = e < 0 ? l : c, p = n[f];
404
404
  z(
405
405
  p,
406
- `No panel constraints found for index ${d}`
406
+ `No panel constraints found for index ${f}`
407
407
  );
408
408
  const {
409
- collapsedSize: v = 0,
410
- collapsible: m,
411
- minSize: x = 0
409
+ collapsedSize: h = 0,
410
+ collapsible: g,
411
+ minSize: S = 0
412
412
  } = p;
413
- if (m) {
414
- const S = c[d];
413
+ if (g) {
414
+ const y = u[f];
415
415
  if (z(
416
- S != null,
417
- `Previous layout not found for panel index ${d}`
418
- ), w(S, x)) {
419
- const g = S - v;
420
- j(g, Math.abs(e)) > 0 && (e = e < 0 ? 0 - g : g);
416
+ y != null,
417
+ `Previous layout not found for panel index ${f}`
418
+ ), P(y, S)) {
419
+ const v = y - h;
420
+ U(v, Math.abs(e)) > 0 && (e = e < 0 ? 0 - v : v);
421
421
  }
422
422
  }
423
423
  }
424
424
  }
425
425
  {
426
- const d = e < 0 ? 1 : -1;
427
- let p = e < 0 ? f : l, v = 0;
426
+ const f = e < 0 ? 1 : -1;
427
+ let p = e < 0 ? c : l, h = 0;
428
428
  for (; ; ) {
429
- const x = c[p];
429
+ const S = u[p];
430
430
  z(
431
- x != null,
431
+ S != null,
432
432
  `Previous layout not found for panel index ${p}`
433
433
  );
434
- const g = F({
434
+ const v = F({
435
435
  panelConstraints: n[p],
436
436
  size: 100
437
- }) - x;
438
- if (v += g, p += d, p < 0 || p >= n.length)
437
+ }) - S;
438
+ if (h += v, p += f, p < 0 || p >= n.length)
439
439
  break;
440
440
  }
441
- const m = Math.min(Math.abs(e), Math.abs(v));
442
- e = e < 0 ? 0 - m : m;
441
+ const g = Math.min(Math.abs(e), Math.abs(h));
442
+ e = e < 0 ? 0 - g : g;
443
443
  }
444
444
  {
445
- let p = e < 0 ? l : f;
445
+ let p = e < 0 ? l : c;
446
446
  for (; p >= 0 && p < n.length; ) {
447
- const v = Math.abs(e) - Math.abs(u), m = c[p];
447
+ const h = Math.abs(e) - Math.abs(d), g = u[p];
448
448
  z(
449
- m != null,
449
+ g != null,
450
450
  `Previous layout not found for panel index ${p}`
451
451
  );
452
- const x = m - v, S = F({
452
+ const S = g - h, y = F({
453
453
  panelConstraints: n[p],
454
- size: x
454
+ size: S
455
455
  });
456
- if (!w(m, S) && (u += m - S, a[p] = S, u.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
456
+ if (!P(g, y) && (d += g - y, s[p] = y, d.toFixed(3).localeCompare(Math.abs(e).toFixed(3), void 0, {
457
457
  numeric: !0
458
458
  }) >= 0))
459
459
  break;
460
460
  e < 0 ? p-- : p++;
461
461
  }
462
462
  }
463
- if (et(i, a))
463
+ if (et(i, s))
464
464
  return r;
465
465
  {
466
- const d = e < 0 ? f : l, p = c[d];
466
+ const f = e < 0 ? c : l, p = u[f];
467
467
  z(
468
468
  p != null,
469
- `Previous layout not found for panel index ${d}`
469
+ `Previous layout not found for panel index ${f}`
470
470
  );
471
- const v = p + u, m = F({
472
- panelConstraints: n[d],
473
- size: v
471
+ const h = p + d, g = F({
472
+ panelConstraints: n[f],
473
+ size: h
474
474
  });
475
- if (a[d] = m, !w(m, v)) {
476
- let x = v - m, g = e < 0 ? f : l;
477
- for (; g >= 0 && g < n.length; ) {
478
- const L = a[g];
475
+ if (s[f] = g, !P(g, h)) {
476
+ let S = h - g, v = e < 0 ? c : l;
477
+ for (; v >= 0 && v < n.length; ) {
478
+ const L = s[v];
479
479
  z(
480
480
  L != null,
481
- `Previous layout not found for panel index ${g}`
481
+ `Previous layout not found for panel index ${v}`
482
482
  );
483
- const P = L + x, E = F({
484
- panelConstraints: n[g],
485
- size: P
483
+ const w = L + S, E = F({
484
+ panelConstraints: n[v],
485
+ size: w
486
486
  });
487
- if (w(L, E) || (x -= E - L, a[g] = E), w(x, 0))
487
+ if (P(L, E) || (S -= E - L, s[v] = E), P(S, 0))
488
488
  break;
489
- e > 0 ? g-- : g++;
489
+ e > 0 ? v-- : v++;
490
490
  }
491
491
  }
492
492
  }
493
- const h = Object.values(a).reduce(
494
- (d, p) => p + d,
493
+ const x = Object.values(s).reduce(
494
+ (f, p) => p + f,
495
495
  0
496
496
  );
497
- if (!w(h, 100, 0.1))
497
+ if (!P(x, 100, 0.1))
498
498
  return r;
499
- const y = Object.keys(r);
500
- return a.reduce((d, p, v) => (d[y[v]] = p, d), {});
499
+ const m = Object.keys(r);
500
+ return s.reduce((f, p, h) => (f[m[h]] = p, f), {});
501
501
  }
502
- function B(e, t) {
502
+ function W(e, t) {
503
503
  if (Object.keys(e).length !== Object.keys(t).length)
504
504
  return !1;
505
505
  for (const n in e)
506
- if (j(e[n], t[n]) !== 0)
506
+ if (U(e[n], t[n]) !== 0)
507
507
  return !1;
508
508
  return !0;
509
509
  }
510
- function Ge({
510
+ function Me({
511
511
  event: e,
512
512
  hitRegions: t,
513
513
  initialLayoutMap: n,
514
514
  mountedGroups: o,
515
515
  pointerDownAtPoint: r
516
516
  }) {
517
- let s = 0;
518
- const c = new Map(o);
517
+ let a = 0;
518
+ const u = new Map(o);
519
519
  t.forEach((i) => {
520
- const { group: a, groupSize: l } = i, { disableCursor: f, orientation: u, panels: h } = a;
521
- let y = 0;
522
- r ? u === "horizontal" ? y = (e.clientX - r.x) / l * 100 : y = (e.clientY - r.y) / l * 100 : u === "horizontal" ? y = e.clientX < 0 ? -100 : 100 : y = e.clientY < 0 ? -100 : 100;
523
- const d = n.get(a), {
520
+ const { group: s, groupSize: l } = i, { disableCursor: c, orientation: d, panels: x } = s;
521
+ let m = 0;
522
+ r ? d === "horizontal" ? m = (e.clientX - r.x) / l * 100 : m = (e.clientY - r.y) / l * 100 : d === "horizontal" ? m = e.clientX < 0 ? -100 : 100 : m = e.clientY < 0 ? -100 : 100;
523
+ const f = n.get(s), {
524
524
  derivedPanelConstraints: p,
525
- layout: v,
526
- separatorToPanels: m
527
- } = o.get(a) ?? {};
528
- if (p && d && v && m) {
529
- const x = V({
530
- delta: y,
531
- initialLayout: d,
525
+ layout: h,
526
+ separatorToPanels: g
527
+ } = o.get(s) ?? {};
528
+ if (p && f && h && g) {
529
+ const S = K({
530
+ delta: m,
531
+ initialLayout: f,
532
532
  panelConstraints: p,
533
- pivotIndices: i.panels.map((S) => h.indexOf(S)),
534
- prevLayout: v,
533
+ pivotIndices: i.panels.map((y) => x.indexOf(y)),
534
+ prevLayout: h,
535
535
  trigger: "mouse-or-touch"
536
536
  });
537
- if (B(x, v)) {
538
- if (y !== 0 && !f)
539
- switch (u) {
537
+ if (W(S, h)) {
538
+ if (m !== 0 && !c)
539
+ switch (d) {
540
540
  case "horizontal": {
541
- s |= y < 0 ? Ee : Re;
541
+ a |= m < 0 ? Pe : Ee;
542
542
  break;
543
543
  }
544
544
  case "vertical": {
545
- s |= y < 0 ? Ce : Me;
545
+ a |= m < 0 ? Re : Ce;
546
546
  break;
547
547
  }
548
548
  }
549
549
  } else {
550
- c.set(i.group, {
550
+ u.set(i.group, {
551
551
  derivedPanelConstraints: p,
552
- layout: x,
553
- separatorToPanels: m
552
+ layout: S,
553
+ separatorToPanels: g
554
554
  });
555
- const S = i.group.panels.map(({ id: g }) => g).join(",");
556
- i.group.inMemoryLayouts[S] = x;
555
+ const y = i.group.panels.map(({ id: v }) => v).join(",");
556
+ i.group.inMemoryLayouts[y] = S;
557
557
  }
558
558
  }
559
559
  }), C({
560
- cursorFlags: s,
561
- mountedGroups: c
560
+ cursorFlags: a,
561
+ mountedGroups: u
562
562
  }), le();
563
563
  }
564
- function ve(e) {
564
+ function he(e) {
565
565
  if (e.defaultPrevented)
566
566
  return;
567
567
  if (e.relatedTarget !== null)
@@ -572,7 +572,7 @@ function ve(e) {
572
572
  switch (t.state) {
573
573
  case "active":
574
574
  t.hitRegions.forEach((o) => {
575
- e.currentTarget === o.group.element && Ge({
575
+ e.currentTarget === o.group.element && Me({
576
576
  event: e,
577
577
  hitRegions: t.hitRegions,
578
578
  initialLayoutMap: t.initialLayoutMap,
@@ -581,7 +581,7 @@ function ve(e) {
581
581
  });
582
582
  }
583
583
  }
584
- function Q(e) {
584
+ function te(e) {
585
585
  const t = e.parentElement;
586
586
  z(t, "Parent group element not found");
587
587
  const { mountedGroups: n } = O();
@@ -595,45 +595,45 @@ function $({
595
595
  panelConstraints: t
596
596
  }) {
597
597
  const o = [...Object.values(e)], r = o.reduce(
598
- (i, a) => i + a,
598
+ (i, s) => i + s,
599
599
  0
600
600
  );
601
601
  if (o.length !== t.length)
602
602
  throw Error(
603
603
  `Invalid ${t.length} panel layout: ${o.map((i) => `${i}%`).join(", ")}`
604
604
  );
605
- if (!w(r, 100) && o.length > 0)
605
+ if (!P(r, 100) && o.length > 0)
606
606
  for (let i = 0; i < t.length; i++) {
607
- const a = o[i];
608
- z(a != null, `No layout data found for index ${i}`);
609
- const l = 100 / r * a;
607
+ const s = o[i];
608
+ z(s != null, `No layout data found for index ${i}`);
609
+ const l = 100 / r * s;
610
610
  o[i] = l;
611
611
  }
612
- let s = 0;
612
+ let a = 0;
613
613
  for (let i = 0; i < t.length; i++) {
614
- const a = o[i];
615
- z(a != null, `No layout data found for index ${i}`);
614
+ const s = o[i];
615
+ z(s != null, `No layout data found for index ${i}`);
616
616
  const l = F({
617
617
  panelConstraints: t[i],
618
- size: a
618
+ size: s
619
619
  });
620
- a != l && (s += a - l, o[i] = l);
620
+ s != l && (a += s - l, o[i] = l);
621
621
  }
622
- if (!w(s, 0))
622
+ if (!P(a, 0))
623
623
  for (let i = 0; i < t.length; i++) {
624
- const a = o[i];
625
- z(a != null, `No layout data found for index ${i}`);
626
- const l = a + s, f = F({
624
+ const s = o[i];
625
+ z(s != null, `No layout data found for index ${i}`);
626
+ const l = s + a, c = F({
627
627
  panelConstraints: t[i],
628
628
  size: l
629
629
  });
630
- if (a !== f && (s -= f - a, o[i] = f, w(s, 0)))
630
+ if (s !== c && (a -= c - s, o[i] = c, P(a, 0)))
631
631
  break;
632
632
  }
633
- const c = Object.keys(e);
634
- return o.reduce((i, a, l) => (i[c[l]] = a, i), {});
633
+ const u = Object.keys(e);
634
+ return o.reduce((i, s, l) => (i[u[l]] = s, i), {});
635
635
  }
636
- function Ie({
636
+ function Ge({
637
637
  groupId: e
638
638
  }) {
639
639
  const t = () => {
@@ -652,56 +652,56 @@ function Ie({
652
652
  const {
653
653
  derivedPanelConstraints: o,
654
654
  group: r,
655
- layout: s,
656
- separatorToPanels: c
655
+ layout: a,
656
+ separatorToPanels: u
657
657
  } = t(), i = $({
658
658
  layout: n,
659
659
  panelConstraints: o
660
660
  });
661
- return B(s, i) || C((a) => ({
662
- mountedGroups: new Map(a.mountedGroups).set(r, {
661
+ return W(a, i) || C((s) => ({
662
+ mountedGroups: new Map(s.mountedGroups).set(r, {
663
663
  derivedPanelConstraints: o,
664
664
  layout: i,
665
- separatorToPanels: c
665
+ separatorToPanels: u
666
666
  })
667
667
  })), i;
668
668
  }
669
669
  };
670
670
  }
671
- function ke(e) {
671
+ function Ie(e) {
672
672
  const { mountedGroups: t } = O(), n = t.get(e);
673
673
  return z(n, `Mounted Group ${e.id} not found`), n;
674
674
  }
675
675
  function D(e, t) {
676
- const n = Q(e), o = ke(n), r = n.separators.find(
677
- (u) => u.element === e
676
+ const n = te(e), o = Ie(n), r = n.separators.find(
677
+ (d) => d.element === e
678
678
  );
679
679
  z(r, "Matching separator not found");
680
- const s = o.separatorToPanels.get(r);
681
- z(s, "Matching panels not found");
682
- const c = s.map((u) => n.panels.indexOf(u)), a = Ie({ groupId: n.id }).getLayout(), l = V({
680
+ const a = o.separatorToPanels.get(r);
681
+ z(a, "Matching panels not found");
682
+ const u = a.map((d) => n.panels.indexOf(d)), s = Ge({ groupId: n.id }).getLayout(), l = K({
683
683
  delta: t,
684
- initialLayout: a,
684
+ initialLayout: s,
685
685
  panelConstraints: o.derivedPanelConstraints,
686
- pivotIndices: c,
687
- prevLayout: a,
686
+ pivotIndices: u,
687
+ prevLayout: s,
688
688
  trigger: "keyboard"
689
- }), f = $({
689
+ }), c = $({
690
690
  layout: l,
691
691
  panelConstraints: o.derivedPanelConstraints
692
692
  });
693
- B(a, f) || C((u) => ({
694
- mountedGroups: new Map(u.mountedGroups).set(n, {
693
+ W(s, c) || C((d) => ({
694
+ mountedGroups: new Map(d.mountedGroups).set(n, {
695
695
  derivedPanelConstraints: o.derivedPanelConstraints,
696
- layout: f,
696
+ layout: c,
697
697
  separatorToPanels: o.separatorToPanels
698
698
  })
699
699
  }));
700
700
  }
701
- function ye(e) {
701
+ function ve(e) {
702
702
  if (e.defaultPrevented)
703
703
  return;
704
- const t = e.currentTarget, n = Q(t);
704
+ const t = e.currentTarget, n = te(t);
705
705
  if (!n.disabled)
706
706
  switch (e.key) {
707
707
  case "ArrowDown": {
@@ -726,31 +726,31 @@ function ye(e) {
726
726
  }
727
727
  case "Enter": {
728
728
  e.preventDefault();
729
- const o = Q(t), { derivedPanelConstraints: r, layout: s, separatorToPanels: c } = ke(o), i = o.separators.find(
730
- (u) => u.element === t
729
+ const o = te(t), { derivedPanelConstraints: r, layout: a, separatorToPanels: u } = Ie(o), i = o.separators.find(
730
+ (d) => d.element === t
731
731
  );
732
732
  z(i, "Matching separator not found");
733
- const a = c.get(i);
734
- z(a, "Matching panels not found");
735
- const l = a[0], f = r.find(
736
- (u) => u.panelId === l.id
733
+ const s = u.get(i);
734
+ z(s, "Matching panels not found");
735
+ const l = s[0], c = r.find(
736
+ (d) => d.panelId === l.id
737
737
  );
738
- if (z(f, "Panel metadata not found"), f.collapsible) {
739
- const u = s[l.id], h = f.collapsedSize === u ? o.inMemoryLastExpandedPanelSizes[l.id] ?? f.minSize : f.collapsedSize;
740
- D(t, h - u);
738
+ if (z(c, "Panel metadata not found"), c.collapsible) {
739
+ const d = a[l.id], x = c.collapsedSize === d ? o.inMemoryLastExpandedPanelSizes[l.id] ?? c.minSize : c.collapsedSize;
740
+ D(t, x - d);
741
741
  }
742
742
  break;
743
743
  }
744
744
  case "F6": {
745
745
  e.preventDefault();
746
- const r = Q(t).separators.map(
747
- (a) => a.element
748
- ), s = Array.from(r).findIndex(
749
- (a) => a === e.currentTarget
746
+ const r = te(t).separators.map(
747
+ (s) => s.element
748
+ ), a = Array.from(r).findIndex(
749
+ (s) => s === e.currentTarget
750
750
  );
751
- z(s !== null, "Index not found");
752
- const c = e.shiftKey ? s > 0 ? s - 1 : r.length - 1 : s + 1 < r.length ? s + 1 : 0;
753
- r[c].focus();
751
+ z(a !== null, "Index not found");
752
+ const u = e.shiftKey ? a > 0 ? a - 1 : r.length - 1 : a + 1 < r.length ? a + 1 : 0;
753
+ r[u].focus();
754
754
  break;
755
755
  }
756
756
  case "Home": {
@@ -776,15 +776,15 @@ function nt(e, t, n) {
776
776
  x: 1 / 0,
777
777
  y: 1 / 0
778
778
  };
779
- for (const s of t) {
780
- const c = tt(n, s.rect);
779
+ for (const a of t) {
780
+ const u = tt(n, a.rect);
781
781
  switch (e) {
782
782
  case "horizontal": {
783
- c.x <= r.x && (o = s, r = c);
783
+ u.x <= r.x && (o = a, r = u);
784
784
  break;
785
785
  }
786
786
  case "vertical": {
787
- c.y <= r.y && (o = s, r = c);
787
+ u.y <= r.y && (o = a, r = u);
788
788
  break;
789
789
  }
790
790
  }
@@ -794,43 +794,43 @@ function nt(e, t, n) {
794
794
  hitRegion: o
795
795
  } : void 0;
796
796
  }
797
- let J;
797
+ let ee;
798
798
  function ot() {
799
- return J === void 0 && (typeof matchMedia == "function" ? J = !!matchMedia("(pointer:coarse)").matches : J = !1), J;
799
+ return ee === void 0 && (typeof matchMedia == "function" ? ee = !!matchMedia("(pointer:coarse)").matches : ee = !1), ee;
800
800
  }
801
- function Oe(e, t) {
801
+ function ke(e, t) {
802
802
  const n = [];
803
803
  return t.forEach((o, r) => {
804
804
  if (r.disabled)
805
805
  return;
806
- const s = ot() ? he.coarse : he.precise, c = Pe(r), i = nt(r.orientation, c, {
806
+ const a = ot() ? me.coarse : me.precise, u = we(r), i = nt(r.orientation, u, {
807
807
  x: e.clientX,
808
808
  y: e.clientY
809
809
  });
810
- i && i.distance.x <= s && i.distance.y <= s && n.push(i.hitRegion);
810
+ i && i.distance.x <= a && i.distance.y <= a && n.push(i.hitRegion);
811
811
  }), n;
812
812
  }
813
813
  function ge(e) {
814
814
  if (e.defaultPrevented)
815
815
  return;
816
- const { mountedGroups: t } = O(), n = Oe(e, t), o = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Map();
816
+ const { mountedGroups: t } = O(), n = ke(e, t), o = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Map();
817
817
  let i = !1;
818
- n.forEach((a) => {
819
- o.add(a.group), a.panels.forEach((f) => {
820
- r.add(f);
821
- }), a.separator && (s.add(a.separator), i || (i = !0, a.separator.element.focus()));
822
- const l = t.get(a.group);
823
- l && c.set(a.group, l.layout);
818
+ n.forEach((s) => {
819
+ o.add(s.group), s.panels.forEach((c) => {
820
+ r.add(c);
821
+ }), s.separator && (a.add(s.separator), i || (i = !0, s.separator.element.focus()));
822
+ const l = t.get(s.group);
823
+ l && u.set(s.group, l.layout);
824
824
  }), C({
825
825
  interactionState: {
826
826
  hitRegions: n,
827
- initialLayoutMap: c,
827
+ initialLayoutMap: u,
828
828
  pointerDownAtPoint: { x: e.clientX, y: e.clientY },
829
829
  state: "active"
830
830
  }
831
831
  }), n.length && e.preventDefault();
832
832
  }
833
- function Se(e) {
833
+ function ye(e) {
834
834
  if (e.defaultPrevented)
835
835
  return;
836
836
  const { interactionState: t, mountedGroups: n } = O();
@@ -850,7 +850,7 @@ function Se(e) {
850
850
  );
851
851
  return;
852
852
  }
853
- Ge({
853
+ Me({
854
854
  event: e,
855
855
  hitRegions: t.hitRegions,
856
856
  initialLayoutMap: t.initialLayoutMap,
@@ -860,7 +860,7 @@ function Se(e) {
860
860
  break;
861
861
  }
862
862
  default: {
863
- const o = Oe(e, n);
863
+ const o = ke(e, n);
864
864
  o.length === 0 ? t.state !== "inactive" && C({
865
865
  interactionState: { state: "inactive" }
866
866
  }) : C({
@@ -873,7 +873,7 @@ function Se(e) {
873
873
  }
874
874
  }
875
875
  }
876
- function xe(e) {
876
+ function Se(e) {
877
877
  if (e.defaultPrevented)
878
878
  return;
879
879
  e.preventDefault();
@@ -888,117 +888,128 @@ function xe(e) {
888
888
  }), le();
889
889
  }
890
890
  }
891
- function it(e) {
891
+ function xe(e) {
892
892
  let t = 0, n = 0;
893
893
  const o = {};
894
- for (const s of e)
895
- if (s.defaultSize !== void 0) {
894
+ for (const a of e)
895
+ if (a.defaultSize !== void 0) {
896
896
  t++;
897
- const c = I(s.defaultSize);
898
- n += c, o[s.panelId] = c;
897
+ const u = I(a.defaultSize);
898
+ n += u, o[a.panelId] = u;
899
899
  } else
900
- o[s.panelId] = void 0;
900
+ o[a.panelId] = void 0;
901
901
  const r = e.length - t;
902
902
  if (r !== 0) {
903
- const s = I((100 - n) / r);
904
- for (const c of e)
905
- c.defaultSize === void 0 && (o[c.panelId] = s);
903
+ const a = I((100 - n) / r);
904
+ for (const u of e)
905
+ u.defaultSize === void 0 && (o[u.panelId] = a);
906
906
  }
907
907
  return o;
908
908
  }
909
- function st(e, t, n) {
909
+ function it(e, t, n) {
910
910
  const o = n[0];
911
911
  if (!o)
912
912
  return;
913
- const r = e.panels.find((c) => c.element === t);
913
+ const r = e.panels.find((u) => u.element === t);
914
914
  if (!r || !r.onResize)
915
915
  return;
916
- const s = ee({ group: e });
916
+ const a = H({ group: e });
917
917
  r.onResize(
918
918
  {
919
919
  asPercentage: I(
920
- o.inlineSize / s * 100
920
+ o.inlineSize / a * 100
921
921
  ),
922
922
  inPixels: o.inlineSize
923
923
  },
924
924
  r.id
925
925
  );
926
926
  }
927
- function rt(e) {
927
+ function st(e) {
928
928
  let t = !0;
929
929
  z(
930
930
  e.separators.length === 0 || e.separators.length < e.panels.length,
931
931
  "Invalid Group configuration; too many Separator components"
932
932
  );
933
- const n = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), r = new ResizeObserver((u) => {
934
- for (const h of u) {
935
- const { borderBoxSize: y, target: d } = h;
936
- d === e.element ? t && C((p) => {
937
- const v = p.mountedGroups.get(e);
938
- if (v) {
939
- const m = me(e), x = v.layout, S = $({
940
- layout: x,
941
- panelConstraints: m
933
+ const n = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), r = new ResizeObserver((m) => {
934
+ for (const f of m) {
935
+ const { borderBoxSize: p, target: h } = f;
936
+ if (h === e.element) {
937
+ if (t) {
938
+ if (H({ group: e }) === 0)
939
+ return;
940
+ C((S) => {
941
+ const y = S.mountedGroups.get(e);
942
+ if (y) {
943
+ const v = pe(e), L = y.defaultLayoutDeferred ? xe(v) : y.layout, w = $({
944
+ layout: L,
945
+ panelConstraints: v
946
+ });
947
+ return !y.defaultLayoutDeferred && W(L, w) ? S : {
948
+ mountedGroups: new Map(S.mountedGroups).set(e, {
949
+ derivedPanelConstraints: v,
950
+ layout: w,
951
+ separatorToPanels: y.separatorToPanels
952
+ })
953
+ };
954
+ }
955
+ return S;
942
956
  });
943
- return {
944
- mountedGroups: new Map(p.mountedGroups).set(e, {
945
- derivedPanelConstraints: m,
946
- layout: S,
947
- separatorToPanels: v.separatorToPanels
948
- })
949
- };
950
957
  }
951
- return p;
952
- }) : st(e, d, y);
958
+ } else
959
+ it(e, h, p);
953
960
  }
954
961
  });
955
- r.observe(e.element), e.panels.forEach((u) => {
962
+ r.observe(e.element), e.panels.forEach((m) => {
956
963
  z(
957
- !n.has(u.id),
958
- `Panel ids must be unique; id "${u.id}" was used more than once`
959
- ), n.add(u.id), u.onResize && r.observe(u.element);
964
+ !n.has(m.id),
965
+ `Panel ids must be unique; id "${m.id}" was used more than once`
966
+ ), n.add(m.id), m.onResize && r.observe(m.element);
960
967
  });
961
- const s = me(e), c = e.panels.map(({ id: u }) => u).join(","), i = e.inMemoryLayouts[c] ?? e.defaultLayout ?? it(s), a = $({
962
- layout: i,
963
- panelConstraints: s
964
- }), l = Pe(e), f = C((u) => ({
965
- mountedGroups: new Map(u.mountedGroups).set(e, {
966
- derivedPanelConstraints: s,
967
- layout: a,
968
+ const a = H({ group: e }), u = pe(e), i = e.panels.map(({ id: m }) => m).join(",");
969
+ let s = e.defaultLayout;
970
+ s && e.panels.length !== Object.keys(s).length && (s = void 0);
971
+ const l = e.inMemoryLayouts[i] ?? s ?? xe(u), c = $({
972
+ layout: l,
973
+ panelConstraints: u
974
+ }), d = we(e), x = C((m) => ({
975
+ mountedGroups: new Map(m.mountedGroups).set(e, {
976
+ defaultLayoutDeferred: a === 0,
977
+ derivedPanelConstraints: u,
978
+ layout: c,
968
979
  separatorToPanels: new Map(
969
- l.filter((h) => h.separator).map((h) => [h.separator, h.panels])
980
+ d.filter((f) => f.separator).map((f) => [f.separator, f.panels])
970
981
  )
971
982
  })
972
983
  }));
973
- return e.element.addEventListener("pointerleave", ve), e.separators.forEach((u) => {
984
+ return e.element.addEventListener("pointerleave", he), e.separators.forEach((m) => {
974
985
  z(
975
- !o.has(u.id),
976
- `Separator ids must be unique; id "${u.id}" was used more than once`
977
- ), o.add(u.id), u.element.addEventListener("keydown", ye);
978
- }), f.mountedGroups.size === 1 && (window.addEventListener("pointerdown", ge), window.addEventListener("pointermove", Se), window.addEventListener("pointerup", xe)), function() {
986
+ !o.has(m.id),
987
+ `Separator ids must be unique; id "${m.id}" was used more than once`
988
+ ), o.add(m.id), m.element.addEventListener("keydown", ve);
989
+ }), x.mountedGroups.size === 1 && (window.addEventListener("pointerdown", ge), window.addEventListener("pointermove", ye), window.addEventListener("pointerup", Se)), function() {
979
990
  t = !1;
980
- const h = C((y) => {
981
- const d = new Map(y.mountedGroups);
982
- return d.delete(e), { mountedGroups: d };
991
+ const f = C((p) => {
992
+ const h = new Map(p.mountedGroups);
993
+ return h.delete(e), { mountedGroups: h };
983
994
  });
984
- e.element.removeEventListener("pointerleave", ve), e.separators.forEach((y) => {
985
- y.element.removeEventListener("keydown", ye);
986
- }), h.mountedGroups.size === 0 && (window.removeEventListener("pointerdown", ge), window.removeEventListener("pointermove", Se), window.removeEventListener("pointerup", xe)), r.disconnect();
995
+ e.element.removeEventListener("pointerleave", he), e.separators.forEach((p) => {
996
+ p.element.removeEventListener("keydown", ve);
997
+ }), f.mountedGroups.size === 0 && (window.removeEventListener("pointerdown", ge), window.removeEventListener("pointermove", ye), window.removeEventListener("pointerup", Se)), r.disconnect();
987
998
  };
988
999
  }
989
- function ce(e) {
990
- const t = _e();
1000
+ function ue(e) {
1001
+ const t = Ne();
991
1002
  return `${e ?? t}`;
992
1003
  }
993
- const H = typeof window < "u" ? Fe : He;
994
- function ue(e) {
1004
+ const j = typeof window < "u" ? _e : Fe;
1005
+ function ce(e) {
995
1006
  const t = T(e);
996
- return H(() => {
1007
+ return j(() => {
997
1008
  t.current = e;
998
1009
  }, [e]), ze((n) => t.current?.(n), [t]);
999
1010
  }
1000
1011
  function fe(...e) {
1001
- return ue((t) => {
1012
+ return ce((t) => {
1002
1013
  e.forEach((n) => {
1003
1014
  if (n)
1004
1015
  switch (typeof n) {
@@ -1014,151 +1025,134 @@ function fe(...e) {
1014
1025
  });
1015
1026
  });
1016
1027
  }
1017
- const Te = "--react-resizable-panels--panel--pointer-events";
1018
- function De(e, t) {
1028
+ const Oe = "--react-resizable-panels--panel--pointer-events";
1029
+ function Te(e, t) {
1019
1030
  const n = e.replace(/[^a-zA-Z0-9\-_]/g, ""), o = t.replace(/[^a-zA-Z0-9\-_]/g, "");
1020
1031
  return `--react-resizable-panels--${n}--${o}`;
1021
1032
  }
1022
- const Ae = We(null);
1023
- function at(e, t) {
1033
+ const De = He(null);
1034
+ function rt(e, t) {
1024
1035
  const n = T({
1025
1036
  getLayout: () => ({}),
1026
1037
  setLayout: Je
1027
1038
  });
1028
- be(t, () => n.current, []), H(() => {
1039
+ be(t, () => n.current, []), j(() => {
1029
1040
  Object.assign(
1030
1041
  n.current,
1031
- Ie({ groupId: e })
1042
+ Ge({ groupId: e })
1032
1043
  );
1033
1044
  });
1034
1045
  }
1035
- function lt(e) {
1036
- return we(
1037
- (t) => (e?.addEventListener(
1038
- "contentvisibilityautostatechange",
1039
- t
1040
- ), () => {
1041
- e?.removeEventListener(
1042
- "contentvisibilityautostatechange",
1043
- t
1044
- );
1045
- }),
1046
- () => typeof e?.checkVisibility == "function" ? e.checkVisibility() : !0,
1047
- () => !0
1048
- );
1049
- }
1050
- function yt({
1046
+ function ht({
1051
1047
  children: e,
1052
1048
  className: t,
1053
1049
  defaultLayout: n,
1054
1050
  disableCursor: o,
1055
1051
  disabled: r,
1056
- elementRef: s,
1057
- groupRef: c,
1052
+ elementRef: a,
1053
+ groupRef: u,
1058
1054
  id: i,
1059
- onLayoutChange: a,
1055
+ onLayoutChange: s,
1060
1056
  orientation: l = "horizontal",
1061
- style: f,
1062
- ...u
1057
+ style: c,
1058
+ ...d
1063
1059
  }) {
1064
- const h = T({}), y = ue((b) => {
1065
- B(h.current, b) || (h.current = b, a?.(b));
1066
- }), d = ce(i), [p, v] = G(!1), [m, x] = G(null), [S, g] = G(n ?? {}), [L, P] = G([]), [E, U] = G([]), te = lt(m), K = T({}), X = T({}), Y = fe(x, s);
1067
- at(d, c);
1068
- const ne = Le(
1060
+ const x = T({}), m = ce((b) => {
1061
+ W(x.current, b) || (x.current = b, s?.(b));
1062
+ }), f = ue(i), [p, h] = G(!1), [g, S] = G(null), [y, v] = G(n ?? {}), [L, w] = G([]), [E, V] = G([]), ne = T({}), X = T({}), Y = fe(S, a);
1063
+ rt(f, u);
1064
+ const q = Le(
1069
1065
  () => ({
1070
- id: d,
1066
+ id: f,
1071
1067
  orientation: l,
1072
- registerPanel: (b) => (P((M) => re(l, [...M, b])), () => {
1073
- P((M) => M.filter((N) => N !== b));
1068
+ registerPanel: (b) => (w((M) => re(l, [...M, b])), () => {
1069
+ w((M) => M.filter((N) => N !== b));
1074
1070
  }),
1075
- registerSeparator: (b) => (U(
1071
+ registerSeparator: (b) => (V(
1076
1072
  (M) => re(l, [...M, b])
1077
1073
  ), () => {
1078
- U(
1074
+ V(
1079
1075
  (M) => M.filter((N) => N !== b)
1080
1076
  );
1081
1077
  })
1082
1078
  }),
1083
- [d, l]
1079
+ [f, l]
1084
1080
  );
1085
- H(() => {
1086
- if (m === null || L.length === 0)
1081
+ j(() => {
1082
+ if (g === null || L.length === 0)
1087
1083
  return;
1088
1084
  const b = {
1089
1085
  defaultLayout: n,
1090
1086
  disableCursor: !!o,
1091
1087
  disabled: !!r,
1092
- element: m,
1093
- id: d,
1094
- inMemoryLastExpandedPanelSizes: K.current,
1088
+ element: g,
1089
+ id: f,
1090
+ inMemoryLastExpandedPanelSizes: ne.current,
1095
1091
  inMemoryLayouts: X.current,
1096
1092
  orientation: l,
1097
1093
  panels: L,
1098
1094
  separators: E
1099
- }, M = rt(b), oe = O().mountedGroups.get(b);
1100
- oe && (g(oe.layout), y?.(oe.layout));
1101
- const $e = A.addListener(
1095
+ }, M = st(b), oe = O().mountedGroups.get(b);
1096
+ oe && (v(oe.layout), m?.(oe.layout));
1097
+ const Ae = A.addListener(
1102
1098
  "interactionStateChange",
1103
- (q) => {
1104
- switch (q.state) {
1099
+ (J) => {
1100
+ switch (J.state) {
1105
1101
  case "active": {
1106
- v(
1107
- q.hitRegions.some(
1102
+ h(
1103
+ J.hitRegions.some(
1108
1104
  (_) => _.group === b
1109
1105
  )
1110
1106
  );
1111
1107
  break;
1112
1108
  }
1113
1109
  default: {
1114
- v(!1);
1110
+ h(!1);
1115
1111
  break;
1116
1112
  }
1117
1113
  }
1118
1114
  }
1119
- ), Ne = A.addListener(
1115
+ ), $e = A.addListener(
1120
1116
  "mountedGroupsChange",
1121
- (q) => {
1122
- const _ = q.get(b);
1123
- _ && _.derivedPanelConstraints.length > 0 && (g(_.layout), y?.(_.layout));
1117
+ (J) => {
1118
+ const _ = J.get(b);
1119
+ _ && _.derivedPanelConstraints.length > 0 && (v(_.layout), m?.(_.layout));
1124
1120
  }
1125
1121
  );
1126
1122
  return () => {
1127
- M(), $e(), Ne();
1123
+ M(), Ae(), $e();
1128
1124
  };
1129
1125
  }, [
1130
1126
  n,
1131
1127
  o,
1132
1128
  r,
1129
+ g,
1130
+ f,
1133
1131
  m,
1134
- d,
1135
- te,
1136
- y,
1137
1132
  l,
1138
1133
  L,
1139
1134
  E
1140
1135
  ]);
1141
- const pe = {
1142
- [Te]: p ? "none" : void 0
1136
+ const Z = {
1137
+ [Oe]: p ? "none" : void 0
1143
1138
  };
1144
- for (const b in S) {
1145
- const M = De(d, b), N = S[b];
1146
- pe[M] = N;
1139
+ for (const b in y) {
1140
+ const M = Te(f, b), N = y[b];
1141
+ Z[M] = N;
1147
1142
  }
1148
- return /* @__PURE__ */ W(Ae.Provider, { value: ne, children: /* @__PURE__ */ W(
1143
+ return /* @__PURE__ */ B(De.Provider, { value: q, children: /* @__PURE__ */ B(
1149
1144
  "div",
1150
1145
  {
1151
- ...u,
1146
+ ...d,
1152
1147
  "aria-orientation": l,
1153
1148
  className: t,
1154
1149
  "data-group": !0,
1155
- "data-testid": d,
1156
- id: d,
1150
+ "data-testid": f,
1151
+ id: f,
1157
1152
  ref: Y,
1158
1153
  style: {
1159
- ...f,
1160
- ...pe,
1161
- contentVisibility: "auto",
1154
+ ...c,
1155
+ ...Z,
1162
1156
  display: "flex",
1163
1157
  flexDirection: l === "horizontal" ? "row" : "column",
1164
1158
  flexWrap: "nowrap"
@@ -1170,7 +1164,7 @@ function yt({
1170
1164
  function ae(e) {
1171
1165
  return `react-resizable-panels:${e}`;
1172
1166
  }
1173
- function ct({
1167
+ function at({
1174
1168
  id: e,
1175
1169
  layout: t,
1176
1170
  storage: n
@@ -1182,21 +1176,21 @@ function ct({
1182
1176
  console.error(o);
1183
1177
  }
1184
1178
  }
1185
- function gt({
1179
+ function vt({
1186
1180
  groupId: e,
1187
1181
  storage: t
1188
1182
  }) {
1189
- const n = we(
1190
- ut,
1183
+ const n = We(
1184
+ lt,
1191
1185
  () => t.getItem(ae(e)),
1192
1186
  () => t.getItem(ae(e))
1193
1187
  ), o = Le(
1194
1188
  () => n ? JSON.parse(n) : void 0,
1195
1189
  [n]
1196
1190
  ), r = ze(
1197
- (s) => ct({
1191
+ (a) => at({
1198
1192
  id: e,
1199
- layout: s,
1193
+ layout: a,
1200
1194
  storage: t
1201
1195
  }),
1202
1196
  [e, t]
@@ -1206,108 +1200,108 @@ function gt({
1206
1200
  onLayoutChange: r
1207
1201
  };
1208
1202
  }
1209
- function ut() {
1203
+ function lt() {
1210
1204
  return function() {
1211
1205
  };
1212
1206
  }
1213
- function St() {
1207
+ function gt() {
1214
1208
  return G(null);
1215
1209
  }
1216
- function xt() {
1210
+ function yt() {
1217
1211
  return T(null);
1218
1212
  }
1219
1213
  function de() {
1220
- const e = je(Ae);
1214
+ const e = je(De);
1221
1215
  return z(
1222
1216
  e,
1223
1217
  "Group Context not found; did you render a Panel or Separator outside of a Group?"
1224
1218
  ), e;
1225
1219
  }
1226
- function ft({
1220
+ function ut({
1227
1221
  groupId: e,
1228
1222
  panelId: t
1229
1223
  }) {
1230
1224
  const n = () => {
1231
1225
  const { mountedGroups: i } = O();
1232
1226
  for (const [
1233
- a,
1234
- { derivedPanelConstraints: l, layout: f, separatorToPanels: u }
1227
+ s,
1228
+ { derivedPanelConstraints: l, layout: c, separatorToPanels: d }
1235
1229
  ] of i)
1236
- if (a.id === e)
1237
- return { derivedPanelConstraints: l, group: a, layout: f, separatorToPanels: u };
1230
+ if (s.id === e)
1231
+ return { derivedPanelConstraints: l, group: s, layout: c, separatorToPanels: d };
1238
1232
  throw Error(`Group ${e} not found`);
1239
1233
  }, o = () => {
1240
1234
  const i = n().derivedPanelConstraints.find(
1241
- (a) => a.panelId === t
1235
+ (s) => s.panelId === t
1242
1236
  );
1243
1237
  if (i !== void 0)
1244
1238
  return i;
1245
1239
  throw Error(`Panel constraints not found for Panel ${t}`);
1246
1240
  }, r = () => {
1247
- const i = n().group.panels.find((a) => a.id === t);
1241
+ const i = n().group.panels.find((s) => s.id === t);
1248
1242
  if (i !== void 0)
1249
1243
  return i;
1250
1244
  throw Error(`Layout not found for Panel ${t}`);
1251
- }, s = () => {
1245
+ }, a = () => {
1252
1246
  const i = n().layout[t];
1253
1247
  if (i !== void 0)
1254
1248
  return i;
1255
1249
  throw Error(`Layout not found for Panel ${t}`);
1256
- }, c = (i) => {
1257
- const a = s();
1258
- if (i === a)
1250
+ }, u = (i) => {
1251
+ const s = a();
1252
+ if (i === s)
1259
1253
  return;
1260
1254
  const {
1261
1255
  derivedPanelConstraints: l,
1262
- group: f,
1263
- layout: u,
1264
- separatorToPanels: h
1265
- } = n(), y = f.panels.findIndex((m) => m.id === t), d = y === f.panels.length - 1, p = V({
1266
- delta: d ? a - i : i - a,
1267
- initialLayout: u,
1256
+ group: c,
1257
+ layout: d,
1258
+ separatorToPanels: x
1259
+ } = n(), m = c.panels.findIndex((g) => g.id === t), f = m === c.panels.length - 1, p = K({
1260
+ delta: f ? s - i : i - s,
1261
+ initialLayout: d,
1268
1262
  panelConstraints: l,
1269
- pivotIndices: d ? [y - 1, y] : [y, y + 1],
1270
- prevLayout: u,
1263
+ pivotIndices: f ? [m - 1, m] : [m, m + 1],
1264
+ prevLayout: d,
1271
1265
  trigger: "imperative-api"
1272
- }), v = $({
1266
+ }), h = $({
1273
1267
  layout: p,
1274
1268
  panelConstraints: l
1275
1269
  });
1276
- B(u, v) || C((m) => ({
1277
- mountedGroups: new Map(m.mountedGroups).set(f, {
1270
+ W(d, h) || C((g) => ({
1271
+ mountedGroups: new Map(g.mountedGroups).set(c, {
1278
1272
  derivedPanelConstraints: l,
1279
- layout: v,
1280
- separatorToPanels: h
1273
+ layout: h,
1274
+ separatorToPanels: x
1281
1275
  })
1282
1276
  }));
1283
1277
  };
1284
1278
  return {
1285
1279
  collapse: () => {
1286
- const { collapsible: i, collapsedSize: a } = o(), l = s();
1287
- i && l !== a && c(a);
1280
+ const { collapsible: i, collapsedSize: s } = o(), l = a();
1281
+ i && l !== s && u(s);
1288
1282
  },
1289
1283
  expand: () => {
1290
- const { collapsible: i, collapsedSize: a, minSize: l } = o(), f = s();
1291
- i && f === a && c(l);
1284
+ const { collapsible: i, collapsedSize: s, minSize: l } = o(), c = a();
1285
+ i && c === s && u(l);
1292
1286
  },
1293
1287
  getSize: () => {
1294
- const { group: i } = n(), a = s(), { element: l } = r(), f = i.orientation === "horizontal" ? l.offsetWidth : l.offsetHeight;
1288
+ const { group: i } = n(), s = a(), { element: l } = r(), c = i.orientation === "horizontal" ? l.offsetWidth : l.offsetHeight;
1295
1289
  return {
1296
- asPercentage: a,
1297
- inPixels: f
1290
+ asPercentage: s,
1291
+ inPixels: c
1298
1292
  };
1299
1293
  },
1300
1294
  isCollapsed: () => {
1301
- const { collapsible: i, collapsedSize: a } = o(), l = s();
1302
- return i && w(a, l);
1295
+ const { collapsible: i, collapsedSize: s } = o(), l = a();
1296
+ return i && P(s, l);
1303
1297
  },
1304
1298
  resize: (i) => {
1305
- if (s() !== i) {
1299
+ if (a() !== i) {
1306
1300
  let l;
1307
1301
  switch (typeof i) {
1308
1302
  case "number": {
1309
- const { group: f } = n(), u = ee({ group: f });
1310
- l = I(i / u * 100);
1303
+ const { group: c } = n(), d = H({ group: c });
1304
+ l = I(i / d * 100);
1311
1305
  break;
1312
1306
  }
1313
1307
  case "string": {
@@ -1315,12 +1309,12 @@ function ft({
1315
1309
  break;
1316
1310
  }
1317
1311
  }
1318
- c(l);
1312
+ u(l);
1319
1313
  }
1320
1314
  }
1321
1315
  };
1322
1316
  }
1323
- function dt(e, t) {
1317
+ function ct(e, t) {
1324
1318
  const { id: n } = de(), o = T({
1325
1319
  collapse: ie,
1326
1320
  expand: ie,
@@ -1331,44 +1325,44 @@ function dt(e, t) {
1331
1325
  isCollapsed: () => !1,
1332
1326
  resize: ie
1333
1327
  });
1334
- be(t, () => o.current, []), H(() => {
1328
+ be(t, () => o.current, []), j(() => {
1335
1329
  Object.assign(
1336
1330
  o.current,
1337
- ft({ groupId: n, panelId: e })
1331
+ ut({ groupId: n, panelId: e })
1338
1332
  );
1339
1333
  });
1340
1334
  }
1341
- function zt({
1335
+ function St({
1342
1336
  children: e,
1343
1337
  className: t,
1344
1338
  collapsedSize: n = "0%",
1345
1339
  collapsible: o = !1,
1346
1340
  defaultSize: r,
1347
- elementRef: s,
1348
- id: c,
1341
+ elementRef: a,
1342
+ id: u,
1349
1343
  maxSize: i = "100%",
1350
- minSize: a = "0%",
1344
+ minSize: s = "0%",
1351
1345
  onResize: l,
1352
- panelRef: f,
1353
- style: u,
1354
- ...h
1346
+ panelRef: c,
1347
+ style: d,
1348
+ ...x
1355
1349
  }) {
1356
- const y = !!c, d = ce(c), [p, v] = G(null), m = fe(v, s), { id: x, registerPanel: S } = de(), g = l !== null, L = ue((E) => {
1357
- l?.(E, c);
1350
+ const m = !!u, f = ue(u), [p, h] = G(null), g = fe(h, a), { id: S, registerPanel: y } = de(), v = l !== null, L = ce((E) => {
1351
+ l?.(E, u);
1358
1352
  });
1359
- H(() => {
1353
+ j(() => {
1360
1354
  if (p !== null)
1361
- return S({
1355
+ return y({
1362
1356
  element: p,
1363
- id: d,
1364
- idIsStable: y,
1365
- onResize: g ? L : void 0,
1357
+ id: f,
1358
+ idIsStable: m,
1359
+ onResize: v ? L : void 0,
1366
1360
  panelConstraints: {
1367
1361
  collapsedSize: n,
1368
1362
  collapsible: o,
1369
1363
  defaultSize: r,
1370
1364
  maxSize: i,
1371
- minSize: a
1365
+ minSize: s
1372
1366
  }
1373
1367
  });
1374
1368
  }, [
@@ -1376,42 +1370,42 @@ function zt({
1376
1370
  o,
1377
1371
  r,
1378
1372
  p,
1379
- g,
1380
- d,
1381
- y,
1373
+ v,
1374
+ f,
1375
+ m,
1382
1376
  i,
1383
- a,
1377
+ s,
1384
1378
  L,
1385
- S
1386
- ]), dt(d, f);
1387
- const P = De(x, d);
1388
- return /* @__PURE__ */ W(
1379
+ y
1380
+ ]), ct(f, c);
1381
+ const w = Te(S, f);
1382
+ return /* @__PURE__ */ B(
1389
1383
  "div",
1390
1384
  {
1391
- ...h,
1385
+ ...x,
1392
1386
  "data-panel": !0,
1393
- "data-testid": d,
1394
- id: d,
1395
- ref: m,
1387
+ "data-testid": f,
1388
+ id: f,
1389
+ ref: g,
1396
1390
  style: {
1397
- ...pt,
1391
+ ...ft,
1398
1392
  flexBasis: 0,
1399
- flexGrow: `var(${P}, 1)`,
1393
+ flexGrow: `var(${w}, 1)`,
1400
1394
  flexShrink: 1,
1401
1395
  // Prevent Panel content from interfering with panel size
1402
1396
  overflow: "hidden",
1403
1397
  // Disable pointer events inside of a panel during resize
1404
1398
  // This avoid edge cases like nested iframes
1405
- pointerEvents: `var(${Te})`
1399
+ pointerEvents: `var(${Oe})`
1406
1400
  },
1407
- children: /* @__PURE__ */ W(
1401
+ children: /* @__PURE__ */ B(
1408
1402
  "div",
1409
1403
  {
1410
1404
  className: t,
1411
1405
  style: {
1412
1406
  width: "100%",
1413
1407
  height: "100%",
1414
- ...u
1408
+ ...d
1415
1409
  },
1416
1410
  children: e
1417
1411
  }
@@ -1419,7 +1413,7 @@ function zt({
1419
1413
  }
1420
1414
  );
1421
1415
  }
1422
- const pt = {
1416
+ const ft = {
1423
1417
  minHeight: "unset",
1424
1418
  maxHeight: "unset",
1425
1419
  height: "unset",
@@ -1435,40 +1429,40 @@ const pt = {
1435
1429
  padding: "unset",
1436
1430
  margin: "unset"
1437
1431
  };
1438
- function bt() {
1432
+ function xt() {
1439
1433
  return G(null);
1440
1434
  }
1441
- function wt() {
1435
+ function zt() {
1442
1436
  return T(null);
1443
1437
  }
1444
- function mt({
1438
+ function dt({
1445
1439
  layout: e,
1446
1440
  panelConstraints: t,
1447
1441
  panelId: n,
1448
1442
  panelIndex: o
1449
1443
  }) {
1450
- let r, s;
1451
- const c = e[n], i = t.find(
1452
- (a) => a.panelId === n
1444
+ let r, a;
1445
+ const u = e[n], i = t.find(
1446
+ (s) => s.panelId === n
1453
1447
  );
1454
1448
  if (i) {
1455
- const a = i.maxSize, l = s = i.collapsible ? i.collapsedSize : i.minSize, f = [o, o + 1];
1456
- s = $({
1457
- layout: V({
1458
- delta: l - c,
1449
+ const s = i.maxSize, l = a = i.collapsible ? i.collapsedSize : i.minSize, c = [o, o + 1];
1450
+ a = $({
1451
+ layout: K({
1452
+ delta: l - u,
1459
1453
  initialLayout: e,
1460
1454
  panelConstraints: t,
1461
- pivotIndices: f,
1455
+ pivotIndices: c,
1462
1456
  prevLayout: e,
1463
1457
  trigger: "keyboard"
1464
1458
  }),
1465
1459
  panelConstraints: t
1466
1460
  })[n], r = $({
1467
- layout: V({
1468
- delta: a - c,
1461
+ layout: K({
1462
+ delta: s - u,
1469
1463
  initialLayout: e,
1470
1464
  panelConstraints: t,
1471
- pivotIndices: f,
1465
+ pivotIndices: c,
1472
1466
  prevLayout: e,
1473
1467
  trigger: "keyboard"
1474
1468
  }),
@@ -1478,52 +1472,52 @@ function mt({
1478
1472
  return {
1479
1473
  valueControls: n,
1480
1474
  valueMax: r,
1481
- valueMin: s,
1482
- valueNow: c
1475
+ valueMin: a,
1476
+ valueNow: u
1483
1477
  };
1484
1478
  }
1485
- function Lt({
1479
+ function bt({
1486
1480
  children: e,
1487
1481
  className: t,
1488
1482
  elementRef: n,
1489
1483
  id: o,
1490
1484
  style: r,
1491
- ...s
1485
+ ...a
1492
1486
  }) {
1493
- const c = ce(o), [i, a] = G({}), [l, f] = G("inactive"), [u, h] = G(null), y = fe(h, n), {
1494
- id: d,
1487
+ const u = ue(o), [i, s] = G({}), [l, c] = G("inactive"), [d, x] = G(null), m = fe(x, n), {
1488
+ id: f,
1495
1489
  orientation: p,
1496
- registerSeparator: v
1497
- } = de(), m = p === "horizontal" ? "vertical" : "horizontal";
1498
- return H(() => {
1499
- if (u !== null) {
1500
- const x = {
1501
- element: u,
1502
- id: c
1503
- }, S = v(x), g = A.addListener(
1490
+ registerSeparator: h
1491
+ } = de(), g = p === "horizontal" ? "vertical" : "horizontal";
1492
+ return j(() => {
1493
+ if (d !== null) {
1494
+ const S = {
1495
+ element: d,
1496
+ id: u
1497
+ }, y = h(S), v = A.addListener(
1504
1498
  "interactionStateChange",
1505
- (P) => {
1506
- f(
1507
- P.state !== "inactive" && P.hitRegions.some(
1508
- (E) => E.separator === x
1509
- ) ? P.state : "inactive"
1499
+ (w) => {
1500
+ c(
1501
+ w.state !== "inactive" && w.hitRegions.some(
1502
+ (E) => E.separator === S
1503
+ ) ? w.state : "inactive"
1510
1504
  );
1511
1505
  }
1512
1506
  ), L = A.addListener(
1513
1507
  "mountedGroupsChange",
1514
- (P) => {
1515
- P.forEach(
1516
- ({ derivedPanelConstraints: E, layout: U, separatorToPanels: te }, K) => {
1517
- if (K.id === d) {
1518
- const X = te.get(x);
1519
- if (X) {
1520
- const Y = X[0], ne = K.panels.indexOf(Y);
1521
- a(
1522
- mt({
1523
- layout: U,
1508
+ (w) => {
1509
+ w.forEach(
1510
+ ({ derivedPanelConstraints: E, layout: V, separatorToPanels: ne }, X) => {
1511
+ if (X.id === f) {
1512
+ const Y = ne.get(S);
1513
+ if (Y) {
1514
+ const q = Y[0], Z = X.panels.indexOf(q);
1515
+ s(
1516
+ dt({
1517
+ layout: V,
1524
1518
  panelConstraints: E,
1525
- panelId: Y.id,
1526
- panelIndex: ne
1519
+ panelId: q.id,
1520
+ panelIndex: Z
1527
1521
  })
1528
1522
  );
1529
1523
  }
@@ -1533,24 +1527,24 @@ function Lt({
1533
1527
  }
1534
1528
  );
1535
1529
  return () => {
1536
- g(), L(), S();
1530
+ v(), L(), y();
1537
1531
  };
1538
1532
  }
1539
- }, [u, d, c, v]), /* @__PURE__ */ W(
1533
+ }, [d, f, u, h]), /* @__PURE__ */ B(
1540
1534
  "div",
1541
1535
  {
1542
- ...s,
1536
+ ...a,
1543
1537
  "aria-controls": i.valueControls,
1544
- "aria-orientation": m,
1538
+ "aria-orientation": g,
1545
1539
  "aria-valuemax": i.valueMax,
1546
1540
  "aria-valuemin": i.valueMin,
1547
1541
  "aria-valuenow": i.valueNow,
1548
1542
  children: e,
1549
1543
  className: t,
1550
1544
  "data-separator": l,
1551
- "data-testid": c,
1552
- id: c,
1553
- ref: y,
1545
+ "data-testid": u,
1546
+ id: u,
1547
+ ref: m,
1554
1548
  role: "separator",
1555
1549
  style: {
1556
1550
  flexBasis: "auto",
@@ -1563,13 +1557,13 @@ function Lt({
1563
1557
  );
1564
1558
  }
1565
1559
  export {
1566
- yt as Group,
1567
- zt as Panel,
1568
- Lt as Separator,
1569
- gt as useDefaultLayout,
1570
- St as useGroupCallbackRef,
1571
- xt as useGroupRef,
1572
- bt as usePanelCallbackRef,
1573
- wt as usePanelRef
1560
+ ht as Group,
1561
+ St as Panel,
1562
+ bt as Separator,
1563
+ vt as useDefaultLayout,
1564
+ gt as useGroupCallbackRef,
1565
+ yt as useGroupRef,
1566
+ xt as usePanelCallbackRef,
1567
+ zt as usePanelRef
1574
1568
  };
1575
1569
  //# sourceMappingURL=react-resizable-panels.js.map