@pstdio/workbench 0.39.0 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -307,7 +307,42 @@ var Ue = () => {
307
307
  }
308
308
  throw Error(`Widget placement not found: ${t}`);
309
309
  }
310
- }), at = (e, t) => {
310
+ }), at = (e) => {
311
+ let t = (t, n) => {
312
+ let r = e.getLayout(), i = r.regions[t], a = n(i);
313
+ a !== i && (e.setLayout({
314
+ ...r,
315
+ regions: {
316
+ ...r.regions,
317
+ [t]: a
318
+ }
319
+ }), e.persistLayout());
320
+ };
321
+ return {
322
+ setRegionVisible(e, n) {
323
+ t(e, (e) => e.visible === n ? e : {
324
+ ...e,
325
+ visible: n
326
+ });
327
+ },
328
+ setRegionSize(e, n) {
329
+ t(e, (e) => e.size === n ? e : {
330
+ ...e,
331
+ size: n
332
+ });
333
+ },
334
+ setSidePanelMode(e) {
335
+ t("side", (t) => e === "closed" ? t.visible ? {
336
+ ...t,
337
+ visible: !1
338
+ } : t : t.visible && t.presentation === e ? t : {
339
+ ...t,
340
+ visible: !0,
341
+ presentation: e
342
+ });
343
+ }
344
+ };
345
+ }, ot = (e, t) => {
311
346
  let n = { ...t.regions };
312
347
  for (let r of Object.values(e.regions)) {
313
348
  let e = r.widgets.filter((e) => e.pinned && e.role === "content");
@@ -323,7 +358,7 @@ var Ue = () => {
323
358
  ...t,
324
359
  regions: n
325
360
  };
326
- }, ot = (e, t, n) => {
361
+ }, st = (e, t, n) => {
327
362
  if (n.length === 0) return t;
328
363
  let r = { ...t.regions };
329
364
  for (let t of n) r[t] = e.regions[t];
@@ -331,7 +366,7 @@ var Ue = () => {
331
366
  ...t,
332
367
  regions: r
333
368
  };
334
- }, st = (e, t) => t ? Xe(t, e) : qe(e), ct = () => {
369
+ }, ct = (e, t) => t ? Xe(t, e) : qe(e), lt = () => {
335
370
  let e = /* @__PURE__ */ new Set();
336
371
  return {
337
372
  notify(t) {
@@ -341,8 +376,8 @@ var Ue = () => {
341
376
  return e.add(t), D(() => e.delete(t));
342
377
  }
343
378
  };
344
- }, lt = (e) => {
345
- let t, n = N("layout cache read for unscoped", () => e.persistence?.getLayout(void 0)) !== void 0, r = ct(), i = ct(), a = () => N(`layout cache for ${t ?? "unscoped"}`, () => e.persistence?.setLayout(e.getLayout(), t));
379
+ }, ut = (e) => {
380
+ let t, n = N("layout cache read for unscoped", () => e.persistence?.getLayout(void 0)) !== void 0, r = lt(), i = lt(), a = () => N(`layout cache for ${t ?? "unscoped"}`, () => e.persistence?.setLayout(e.getLayout(), t));
346
381
  return {
347
382
  getPersistenceScope: () => t,
348
383
  hasPersistedLayout: () => N(`layout cache read for ${t ?? "unscoped"}`, () => e.persistence?.getLayout(t)) !== void 0,
@@ -355,11 +390,11 @@ var Ue = () => {
355
390
  a(), r.notify(o), t = o;
356
391
  let c = N(`layout cache read for ${t ?? "unscoped"}`, () => e.persistence?.getLayout(t));
357
392
  n = c !== void 0;
358
- let l = st(e.defaultRegionVisibility, c), u = at(e.getLayout(), l), d = ot(e.getLayout(), u, s.carryRegionState ?? []);
393
+ let l = ct(e.defaultRegionVisibility, c), u = ot(e.getLayout(), l), d = st(e.getLayout(), u, s.carryRegionState ?? []);
359
394
  e.setLayout(d, "setPersistenceScope"), i.notify(t);
360
395
  }
361
396
  };
362
- }, ut = (e) => {
397
+ }, dt = (e) => {
363
398
  for (let t of e.widget.ownedPanelMenuIds ?? []) {
364
399
  let n = e.requireWidget(t);
365
400
  e.openWidget(t, {
@@ -370,7 +405,7 @@ var Ue = () => {
370
405
  title: n.region === "main-left-menu" ? e.placement.resource?.label : n.title
371
406
  });
372
407
  }
373
- }, dt = (e, t, n) => {
408
+ }, ft = (e, t, n) => {
374
409
  if (e.singleton || e.reuse !== "none") {
375
410
  if (n.role === "sub-panel" || n.role === "panel-menu") {
376
411
  let r = A(t)?.resourceKey;
@@ -386,20 +421,20 @@ var Ue = () => {
386
421
  }
387
422
  return e.singleton ? Ce(t, e.id) : n.resource ? be(t, e.id, P(n.resource)) : Ce(t, e.id);
388
423
  }
389
- }, ft = (e, t) => t.role ? t : e.panelMenuOwner ? {
424
+ }, pt = (e, t) => t.role ? t : e.panelMenuOwner ? {
390
425
  ...t,
391
426
  role: "panel-menu"
392
427
  } : e.eligibleLocations === void 0 ? t : {
393
428
  ...t,
394
429
  role: "sub-panel"
395
- }, pt = (e, t, n) => {
430
+ }, mt = (e, t, n) => {
396
431
  let r = e.regions[t], i = n.role === "location" ? e.activeLocationWidgetId : r.activeWidgetId;
397
432
  if (n.replaceWidgetId) return r.widgets.findIndex((e) => e.widgetId === n.replaceWidgetId);
398
433
  if (n.tabRetention === "preview") return r.widgets.findIndex((e) => e.tabRetention === "preview");
399
434
  if (!n.replaceActive) return -1;
400
435
  let a = t === "main" && n.resource && e.activeLocationWidgetId ? e.activeLocationWidgetId : i;
401
436
  return r.widgets.findIndex((e) => e.widgetId === a && !e.pinned);
402
- }, mt = (e, t, n) => {
437
+ }, ht = (e, t, n) => {
403
438
  let r = e.find((e) => {
404
439
  try {
405
440
  return t.priority > n(e.contributionId).priority;
@@ -408,7 +443,7 @@ var Ue = () => {
408
443
  }
409
444
  });
410
445
  return r ? { beforeWidgetId: r.widgetId } : void 0;
411
- }, ht = (e) => {
446
+ }, gt = (e) => {
412
447
  let { getLayout: t, requireWidget: n, applyAndActivate: r } = e, i = (e, t) => e.role !== "sub-panel" && e.role !== "panel-menu" ? e : {
413
448
  ...e,
414
449
  ownerResourceKey: A(t)?.resourceKey
@@ -439,14 +474,14 @@ var Ue = () => {
439
474
  return r(u, o, l);
440
475
  }, c = (e, a, o, s) => {
441
476
  let c = re(t(), e.id), l = i(Ge(c, e, s), t()), u = O(t(), a, (t) => {
442
- if (o < 0) return I(t, l, s.tabPosition ?? mt(t, e, n));
477
+ if (o < 0) return I(t, l, s.tabPosition ?? ht(t, e, n));
443
478
  let r = [...t];
444
479
  return r.splice(o, 1, l), l.tabRetention === "preview" ? I(r, l, "start") : r;
445
480
  });
446
481
  return r(u, a, l);
447
482
  }, l = (e, i = {}) => {
448
- let a = n(e), u = ft(a, i), d = t(), f = u.region ?? a.region ?? a.fallbackRegion ?? "main", p = d.regions[f], m = pt(d, f, u), h = m >= 0 ? p.widgets[m] : void 0, g = !u.replaceWidgetId && u.tabRetention === "preview" && u.resource ? be(d, a.id, P(u.resource)) : void 0, _ = u.replaceWidgetId && h ? void 0 : dt(a, d, u), v;
449
- return v = g ? r(d, g.regionId, g.placement) : _ ? s(a, _, f, m, u) : h?.contributionId === a.id ? o(a, f, m, h, u) : c(a, f, m, u), ut({
483
+ let a = n(e), u = pt(a, i), d = t(), f = u.region ?? a.region ?? a.fallbackRegion ?? "main", p = d.regions[f], m = mt(d, f, u), h = m >= 0 ? p.widgets[m] : void 0, g = !u.replaceWidgetId && u.tabRetention === "preview" && u.resource ? be(d, a.id, P(u.resource)) : void 0, _ = u.replaceWidgetId && h ? void 0 : ft(a, d, u), v;
484
+ return v = g ? r(d, g.regionId, g.placement) : _ ? s(a, _, f, m, u) : h?.contributionId === a.id ? o(a, f, m, h, u) : c(a, f, m, u), dt({
450
485
  openWidget: l,
451
486
  placement: v,
452
487
  requireWidget: n,
@@ -454,11 +489,11 @@ var Ue = () => {
454
489
  }), r(t(), g?.regionId ?? f, v);
455
490
  };
456
491
  return { openWidget: l };
457
- }, gt = (e, t) => {
492
+ }, _t = (e, t) => {
458
493
  if (t.pinned) return "persistent";
459
494
  let n = t.region ?? e.region ?? e.fallbackRegion ?? "main";
460
495
  return j.includes(n) ? "preview" : "persistent";
461
- }, _t = (t) => ({
496
+ }, vt = (t) => ({
462
497
  getPanel(e) {
463
498
  let n = t.getWidgets()[e];
464
499
  return n ? y(n) : void 0;
@@ -480,7 +515,7 @@ var Ue = () => {
480
515
  openPanel(e, n = {}) {
481
516
  let r = t.getWidgets()[e];
482
517
  if (!r) throw Error(`Panel not registered: ${e}`);
483
- return x(t.widgetOpeners.openWidget(e, s(n, gt(r, n))));
518
+ return x(t.widgetOpeners.openWidget(e, s(n, _t(r, n))));
484
519
  },
485
520
  updatePanel(e, n) {
486
521
  if (!M(t.getLayout(), e)) throw Error(`Panel instance not found: ${e}`);
@@ -502,7 +537,7 @@ var Ue = () => {
502
537
  if (!i) throw Error(`Panel instance not found: ${n}`);
503
538
  return t.setLayout(i.layout), t.persistLayout(), i.activePlacement ? x(i.activePlacement) : void 0;
504
539
  }
505
- }), vt = Object.values(ve).flatMap((e) => Object.values(e)), yt = (e) => e.endsWith("-left-menu") ? "left" : "right", bt = (e, t) => e(t)?.panelMenuOwner?.contributionId, xt = (e, t) => {
540
+ }), yt = Object.values(ve).flatMap((e) => Object.values(e)), bt = (e) => e.endsWith("-left-menu") ? "left" : "right", xt = (e, t) => e(t)?.panelMenuOwner?.contributionId, St = (e, t) => {
506
541
  for (let n of j) {
507
542
  let r = e.regions[n].widgets.find((e) => e.contributionId === t);
508
543
  if (r) return {
@@ -510,10 +545,10 @@ var Ue = () => {
510
545
  placement: r
511
546
  };
512
547
  }
513
- }, St = (e, t, n) => {
548
+ }, Ct = (e, t, n) => {
514
549
  let r = [], i = [], a = /* @__PURE__ */ new Set(), o = !1;
515
550
  for (let s of e.regions[n].widgets) {
516
- let c = bt(t, s.contributionId);
551
+ let c = xt(t, s.contributionId);
517
552
  if (!c) {
518
553
  r.push(s);
519
554
  continue;
@@ -523,7 +558,7 @@ var Ue = () => {
523
558
  continue;
524
559
  }
525
560
  a.add(s.contributionId);
526
- let l = xt(e, c);
561
+ let l = St(e, c);
527
562
  if (!l) {
528
563
  o = !0;
529
564
  continue;
@@ -533,7 +568,7 @@ var Ue = () => {
533
568
  ownerResourceKey: l.placement.resourceKey
534
569
  };
535
570
  u !== s && (o = !0);
536
- let d = ve[l.region][yt(n)];
571
+ let d = ve[l.region][bt(n)];
537
572
  if (d === n) {
538
573
  r.push(u);
539
574
  continue;
@@ -548,11 +583,11 @@ var Ue = () => {
548
583
  moves: i,
549
584
  placements: r
550
585
  };
551
- }, Ct = (e, t) => {
586
+ }, wt = (e, t) => {
552
587
  let n = !1, r = { ...e.regions }, i = [];
553
- for (let a of vt) {
588
+ for (let a of yt) {
554
589
  if (e.regions[a].widgets.length === 0) continue;
555
- let o = St(e, t, a);
590
+ let o = Ct(e, t, a);
556
591
  if (i.push(...o.moves), !o.changed) continue;
557
592
  n = !0;
558
593
  let s = r[a];
@@ -573,9 +608,9 @@ var Ue = () => {
573
608
  ...e,
574
609
  regions: r
575
610
  } : e;
576
- }, wt = (e) => {
611
+ }, Tt = (e) => {
577
612
  let t = () => {
578
- let t = Ct(e.getLayout(), e.getWidget);
613
+ let t = wt(e.getLayout(), e.getWidget);
579
614
  t !== e.getLayout() && (e.setLayout(t), e.persistLayout());
580
615
  };
581
616
  return {
@@ -585,7 +620,7 @@ var Ue = () => {
585
620
  },
586
621
  reconcilePanelMenus: t
587
622
  };
588
- }, Tt = (e, t, n) => {
623
+ }, Et = (e, t, n) => {
589
624
  let { side: r, ...i } = t, a = e.region, o = j.find((t) => t === e.fallbackRegion);
590
625
  return {
591
626
  ...i,
@@ -596,7 +631,7 @@ var Ue = () => {
596
631
  contributionId: e.id
597
632
  }
598
633
  };
599
- }, Et = (e) => {
634
+ }, Dt = (e) => {
600
635
  let { kind: t, metadata: n, panel: r, registerWidget: i } = e, { panelMenus: a = [], ...o } = r, s = [];
601
636
  if (a.length > 0 && !j.includes(r.region)) throw Error(`Panel Menus require a Panel region: ${r.id}`);
602
637
  try {
@@ -605,7 +640,7 @@ var Ue = () => {
605
640
  ownedPanelMenuIds: a.map((e) => e.id)
606
641
  };
607
642
  s.push(i(e, n));
608
- for (let e of a) s.push(i(Tt(r, e, t), n));
643
+ for (let e of a) s.push(i(Et(r, e, t), n));
609
644
  } catch (e) {
610
645
  for (let e of s.reverse()) e.dispose();
611
646
  throw e;
@@ -613,8 +648,8 @@ var Ue = () => {
613
648
  return D(() => {
614
649
  for (let e of s.reverse()) e.dispose();
615
650
  });
616
- }, Dt = (e) => ({
617
- registerPanel: (t, n) => Et({
651
+ }, Ot = (e) => ({
652
+ registerPanel: (t, n) => Dt({
618
653
  panel: t,
619
654
  kind: t.eligibleLocations ? "sub-panel" : "panel",
620
655
  metadata: n,
@@ -624,7 +659,7 @@ var Ue = () => {
624
659
  ...t,
625
660
  panelMenuOwner: t.panelMenuOwner ?? { level: "panel" }
626
661
  }, n)
627
- }), Ot = (e) => (t) => {
662
+ }), kt = (e) => (t) => {
628
663
  let n = e.getLayout(), r = M(n, t);
629
664
  if (!r) throw Error(`Panel instance not found: ${t}`);
630
665
  if (r.regionId !== "main" || r.placement.role === "sub-panel" || r.placement.role === "panel-menu") return e.panelMethods.activatePanel(t);
@@ -642,12 +677,12 @@ var Ue = () => {
642
677
  ...n,
643
678
  regions: o
644
679
  }, "main", i), e.panelMethods.getActivePanel("main");
645
- }, kt = (e, t) => {
680
+ }, At = (e, t) => {
646
681
  let n = e[t];
647
682
  if (!n) throw Error(`Widget not registered: ${t}`);
648
683
  return n;
649
- }, At = (t = {}) => {
650
- let n = t.persistence?.getLayout(void 0), r = st(t.defaultRegionVisibility, n), i = k({
684
+ }, jt = (t = {}) => {
685
+ let n = t.persistence?.getLayout(void 0), r = ct(t.defaultRegionVisibility, n), i = k({
651
686
  name: "workbench.layout",
652
687
  initialState: {
653
688
  layout: r,
@@ -662,7 +697,7 @@ var Ue = () => {
662
697
  }), u = Qe({
663
698
  getPlaceholders: o,
664
699
  getWidgets: s
665
- }), d = lt({
700
+ }), d = ut({
666
701
  defaultRegionVisibility: t.defaultRegionVisibility,
667
702
  getLayout: a,
668
703
  persistence: t.persistence,
@@ -670,27 +705,22 @@ var Ue = () => {
670
705
  ...i.getState(),
671
706
  layout: e
672
707
  }, !1, t)
673
- }), f = () => d.persistLayout(), p = (e) => kt(s(), e), m = (e) => {
708
+ }), f = () => d.persistLayout(), p = (e) => At(s(), e), m = (e) => {
674
709
  let t = i.getState();
675
710
  t.layout !== e && i.setState({
676
711
  ...t,
677
712
  layout: e
678
713
  }, !1, "setLayout");
679
- }, g = (e, t) => {
680
- let n = a(), r = n.regions[e], i = t(r);
681
- i !== r && (m({
682
- ...n,
683
- regions: {
684
- ...n.regions,
685
- [e]: i
686
- }
687
- }), f());
688
- }, _ = (e, t, n) => (m(h(e, t, n)), f(), n), v = $e({
714
+ }, g = at({
715
+ getLayout: a,
716
+ setLayout: m,
717
+ persistLayout: f
718
+ }), _ = (e, t, n) => (m(h(e, t, n)), f(), n), v = $e({
689
719
  store: i,
690
720
  getPlaceholders: o,
691
721
  getWidgets: s,
692
722
  persistLayout: f
693
- }), y = Dt({ registerWidget: v.registerWidget }), b = ht({
723
+ }), y = Ot({ registerWidget: v.registerWidget }), b = gt({
694
724
  getLayout: a,
695
725
  requireWidget: p,
696
726
  applyAndActivate: _
@@ -700,7 +730,7 @@ var Ue = () => {
700
730
  setLayout: m,
701
731
  persistLayout: f,
702
732
  applyAndActivate: _
703
- }), S = _t({
733
+ }), S = vt({
704
734
  getLayout: a,
705
735
  getWidgets: s,
706
736
  listWidgets: u.listWidgets,
@@ -708,13 +738,13 @@ var Ue = () => {
708
738
  placementMethods: x,
709
739
  setLayout: m,
710
740
  widgetOpeners: b
711
- }), C = wt({
741
+ }), C = Tt({
712
742
  getLayout: a,
713
743
  getWidget: (e) => s()[e],
714
744
  openWidget: b.openWidget,
715
745
  persistLayout: f,
716
746
  setLayout: m
717
- }), w = Ot({
747
+ }), w = kt({
718
748
  applyAndActivate: _,
719
749
  getLayout: a,
720
750
  getWidget: p,
@@ -743,18 +773,7 @@ var Ue = () => {
743
773
  getRegionSettings: (e) => t.getRegionSettings?.(e),
744
774
  getRegionCollapsible: l.getRegionCollapsible,
745
775
  getRegionHeaderBorderBottom: l.getRegionHeaderBorderBottom,
746
- setRegionVisible(e, t) {
747
- g(e, (e) => e.visible === t ? e : {
748
- ...e,
749
- visible: t
750
- });
751
- },
752
- setRegionSize(e, t) {
753
- g(e, (e) => e.size === t ? e : {
754
- ...e,
755
- size: t
756
- });
757
- },
776
+ ...g,
758
777
  listPlaceholders: u.listPlaceholders,
759
778
  listWidgets: u.listWidgets,
760
779
  ...S,
@@ -820,13 +839,13 @@ var Ue = () => {
820
839
  onWillChangePersistenceScope: d.onWillChangePersistenceScope,
821
840
  onDidChangePersistenceScope: d.onDidChangePersistenceScope
822
841
  };
823
- }, jt = /* @__PURE__ */ new WeakMap(), Mt = (e, t) => {
824
- jt.set(e, t);
825
- }, Nt = (e, t, n) => {
826
- let r = jt.get(e);
842
+ }, Mt = /* @__PURE__ */ new WeakMap(), Nt = (e, t) => {
843
+ Mt.set(e, t);
844
+ }, Pt = (e, t, n) => {
845
+ let r = Mt.get(e);
827
846
  if (!r) throw Error("Workbench mode registry internals are unavailable");
828
847
  r.activatePageMode(t, n);
829
- }, Pt = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], Ft = (e) => {
848
+ }, Ft = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], It = (e) => {
830
849
  let t = k({
831
850
  name: "workbench.modes",
832
851
  initialState: {
@@ -835,7 +854,7 @@ var Ue = () => {
835
854
  }
836
855
  }), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Map(), s = [], l, u, d = !1, f = (t) => {
837
856
  if (r.has(t.id)) return;
838
- let n = Pt(N(`mode ${t.id}.activate`, () => t.activate(e.resolveContext())));
857
+ let n = Ft(N(`mode ${t.id}.activate`, () => t.activate(e.resolveContext())));
839
858
  r.set(t.id, n);
840
859
  }, p = (t, n) => {
841
860
  let r = !1, i = () => void 0, a = () => {
@@ -901,7 +920,7 @@ var Ue = () => {
901
920
  f(a), t.setState({
902
921
  ...t.getState(),
903
922
  activeModeId: n
904
- }, !1, "activateMode"), r.afterPublish?.(), r.seed && m(a), s = Pt(N(`mode ${a.id}.enter`, () => a.enter?.(i))), r.seed && N(`mode ${a.id}.reconcile`, () => a.reconcile?.(e.resolveContext()));
923
+ }, !1, "activateMode"), r.afterPublish?.(), r.seed && m(a), s = Ft(N(`mode ${a.id}.enter`, () => a.enter?.(i))), r.seed && N(`mode ${a.id}.reconcile`, () => a.reconcile?.(e.resolveContext()));
905
924
  } catch (e) {
906
925
  throw v(), t.setState({
907
926
  ...t.getState(),
@@ -988,30 +1007,30 @@ var Ue = () => {
988
1007
  return D(n);
989
1008
  }
990
1009
  };
991
- return Mt(C, { activatePageMode: _ }), C;
992
- }, It = (e, t, n) => e.singleton ? t.some((t) => {
1010
+ return Nt(C, { activatePageMode: _ }), C;
1011
+ }, Lt = (e, t, n) => e.singleton ? t.some((t) => {
993
1012
  if (t.contributionId !== e.id) return !1;
994
1013
  let r = t.role === "location" ? t.resourceKey : t.ownerResourceKey;
995
1014
  return !r || r === P(n);
996
- }) : !1, Lt = (e) => {
1015
+ }) : !1, Rt = (e) => {
997
1016
  for (let t of e.mode?.listAddablePanels?.({
998
1017
  layout: e.layout,
999
1018
  resource: e.resource
1000
1019
  }) ?? []) {
1001
1020
  if (t.region !== e.region) continue;
1002
1021
  let n = e.widgets.find((e) => e.id === t.panelId);
1003
- n && !It(n, e.placements, e.resource) && e.addable.set(t.panelId, {
1022
+ n && !Lt(n, e.placements, e.resource) && e.addable.set(t.panelId, {
1004
1023
  ...t,
1005
1024
  contribution: n
1006
1025
  });
1007
1026
  }
1008
- }, Rt = (e) => {
1009
- for (let t of e.widgets) t.eligibleLocations && (t.region === e.region || t.fallbackRegion === e.region) && (e.addable.has(t.id) || It(t, e.placements, e.resource) || S(t, e.resource, e.modeId, void 0, { location: e.location }) && e.addable.set(t.id, {
1027
+ }, zt = (e) => {
1028
+ for (let t of e.widgets) t.eligibleLocations && (t.region === e.region || t.fallbackRegion === e.region) && (e.addable.has(t.id) || Lt(t, e.placements, e.resource) || S(t, e.resource, e.modeId, void 0, { location: e.location }) && e.addable.set(t.id, {
1010
1029
  panelId: t.id,
1011
1030
  region: e.region,
1012
1031
  contribution: t
1013
1032
  }));
1014
- }, zt = (e) => ({ panelsFor(t) {
1033
+ }, Bt = (e) => ({ panelsFor(t) {
1015
1034
  let n = e.getLayout(), r = n.regions[t]?.widgets ?? [], i = e.getResource(), a = A(n), o = e.getActiveMode();
1016
1035
  if (!g(o, t)) return {
1017
1036
  open: r,
@@ -1025,7 +1044,7 @@ var Ue = () => {
1025
1044
  region: t,
1026
1045
  resource: i
1027
1046
  }) ?? []) l.set(r.panelId, r);
1028
- return Lt({
1047
+ return Rt({
1029
1048
  addable: l,
1030
1049
  layout: n,
1031
1050
  mode: o,
@@ -1033,7 +1052,7 @@ var Ue = () => {
1033
1052
  region: t,
1034
1053
  resource: i,
1035
1054
  widgets: c
1036
- }), Rt({
1055
+ }), zt({
1037
1056
  addable: l,
1038
1057
  location: a,
1039
1058
  modeId: o?.id,
@@ -1046,27 +1065,27 @@ var Ue = () => {
1046
1065
  addable: [...l.values()],
1047
1066
  closable: r.filter((e) => e.closable === !0).map((e) => e.contributionId)
1048
1067
  };
1049
- } }), Bt = [
1068
+ } }), Vt = [
1050
1069
  "activity",
1051
1070
  "sidenav",
1052
1071
  "main",
1053
1072
  "secondary",
1054
1073
  "side",
1055
1074
  "status"
1056
- ], Vt = {
1075
+ ], Ht = {
1057
1076
  activity: "activityFocus",
1058
1077
  sidenav: "sidenavFocus",
1059
1078
  main: "mainFocus",
1060
1079
  secondary: "secondaryFocus",
1061
1080
  side: "sideFocus",
1062
1081
  status: "statusFocus"
1063
- }, Ht = (e) => {
1082
+ }, Ut = (e) => {
1064
1083
  let t = k({
1065
1084
  name: "workbench.focus",
1066
1085
  initialState: { activeRegion: void 0 }
1067
1086
  }), n = e.context.createScope("workbench.focus"), r = (e) => {
1068
1087
  n.set("workbenchFocus", e !== void 0), n.set("activeWorkbenchFocusRegion", e);
1069
- for (let t of Bt) n.set(Vt[t], t === e);
1088
+ for (let t of Vt) n.set(Ht[t], t === e);
1070
1089
  };
1071
1090
  return r(void 0), {
1072
1091
  store: t,
@@ -1084,23 +1103,33 @@ var Ue = () => {
1084
1103
  return D(n);
1085
1104
  }
1086
1105
  };
1087
- }, Ut = (e) => {
1106
+ }, Wt = (e, t) => t.find((t) => t.ref.id === e.page.id && t.ref.extensionId === e.page.extensionId), Gt = (e, t) => {
1107
+ let n = Wt(e, t.pages);
1108
+ return n ? t.navigationTrees.resolveOwner("page", n.id, "content") : void 0;
1109
+ }, Kt = (e, t) => {
1110
+ let n = Wt(e, t.pages);
1111
+ return n ? t.navigationTrees.resolveOwner("page", n.id, "content") ? !0 : t.modes.getMode(n.modeId)?.chrome?.sidenav !== void 0 : !1;
1112
+ }, qt = (e) => {
1088
1113
  let t = [];
1089
1114
  for (let n = e.location; n; n = n.parent) {
1090
- let r = e.pages.find((e) => e.ref.id === n.page.id && e.ref.extensionId === n.page.extensionId), i = r && e.navigationTrees.resolveOwner("page", r.id, "content");
1091
- i && !t.some((e) => e.owner.id === i.id) && t.unshift({
1092
- owner: i,
1115
+ let r = Gt(n, e);
1116
+ r && !t.some((e) => e.owner.id === r.id) && t.unshift({
1117
+ owner: r,
1093
1118
  location: n
1094
1119
  });
1095
1120
  }
1096
1121
  return t;
1097
- }, Wt = (e) => e.filter((e) => e.nodes.length > 0).map((e) => ({
1122
+ }, Jt = (e) => {
1123
+ let t = e.location;
1124
+ for (let n = e.location; n; n = n.parent) Kt(n, e) && (t = n.parent);
1125
+ return t;
1126
+ }, Yt = (e) => e.filter((e) => e.nodes.length > 0).map((e) => ({
1098
1127
  ...e,
1099
1128
  nodes: e.nodes.map((e) => ({
1100
1129
  ...e,
1101
1130
  pinnedOnly: !0
1102
1131
  }))
1103
- })), Gt = (e) => {
1132
+ })), Xt = (e) => {
1104
1133
  let t = /* @__PURE__ */ new Map();
1105
1134
  for (let n of e) {
1106
1135
  let e = t.get(n.id);
@@ -1110,11 +1139,11 @@ var Ue = () => {
1110
1139
  } : n);
1111
1140
  }
1112
1141
  return [...t.values()];
1113
- }, Kt = (e) => {
1142
+ }, Zt = (e) => {
1114
1143
  let t = () => {
1115
1144
  let t = e.modes.getActiveModeId();
1116
1145
  if (!t) return [];
1117
- let n = e.pages.store.getState(), r = Ut({
1146
+ let n = e.pages.store.getState(), r = qt({
1118
1147
  location: n.location,
1119
1148
  pages: Object.values(n.pages),
1120
1149
  navigationTrees: e.navigationTrees
@@ -1141,9 +1170,9 @@ var Ue = () => {
1141
1170
  resource: s,
1142
1171
  signal: r
1143
1172
  });
1144
- a.push(...n === "content" && t > 0 ? Wt(i) : i);
1173
+ a.push(...n === "content" && t > 0 ? Yt(i) : i);
1145
1174
  }
1146
- return r?.throwIfAborted(), Gt(a);
1175
+ return r?.throwIfAborted(), Xt(a);
1147
1176
  },
1148
1177
  getDefaultExpandedSectionIds: () => {
1149
1178
  let n = t();
@@ -1154,19 +1183,19 @@ var Ue = () => {
1154
1183
  ] : ["header", "footer"]).flatMap((n) => e.navigationTrees.getDefaultExpandedSectionIds(t, n)));
1155
1184
  }
1156
1185
  };
1157
- }, qt = /* @__PURE__ */ new WeakMap(), Jt = (e, t) => {
1158
- qt.set(e, t);
1186
+ }, Qt = /* @__PURE__ */ new WeakMap(), $t = (e, t) => {
1187
+ Qt.set(e, t);
1159
1188
  }, L = (e) => {
1160
- let t = qt.get(e);
1189
+ let t = Qt.get(e);
1161
1190
  if (!t) throw Error("Workbench page registry internals are unavailable");
1162
1191
  return t;
1163
- }, Yt = (e, t) => {
1192
+ }, en = (e, t) => {
1164
1193
  try {
1165
1194
  return !!e.resolveUrl(t, e.input.browser.current());
1166
1195
  } catch {
1167
1196
  return !1;
1168
1197
  }
1169
- }, Xt = (e) => {
1198
+ }, tn = (e) => {
1170
1199
  let { input: t } = e;
1171
1200
  return {
1172
1201
  historyStore: e.historyStore,
@@ -1178,7 +1207,7 @@ var Ue = () => {
1178
1207
  e.clearProject(void 0), e.resetHistory();
1179
1208
  },
1180
1209
  isCurrentProjectUrl: (e) => ze(t.browser.current().url, e),
1181
- hasCurrentPageUrl: (t) => Yt(e, t),
1210
+ hasCurrentPageUrl: (t) => en(e, t),
1182
1211
  boot: (t) => e.restore(t, "boot", !0),
1183
1212
  switchProject(t) {
1184
1213
  return e.clearProject(t), e.restore(t, "project-switch", !1);
@@ -1211,6 +1240,16 @@ var Ue = () => {
1211
1240
  return e.fail("navigation", t);
1212
1241
  }
1213
1242
  },
1243
+ navigateToRootLevel() {
1244
+ let n = t.registry.store.getState();
1245
+ if (!n.projectId) return e.fail("navigation", /* @__PURE__ */ Error("Cannot navigate before a project is active"));
1246
+ try {
1247
+ let t = e.rootLevelTarget(), r = e.locationsEqual(n.location, t.location) ? "none" : "push";
1248
+ return e.commit(n.projectId, t, r, "navigateToRootLevelPageLocation");
1249
+ } catch (t) {
1250
+ return e.fail("navigation", t);
1251
+ }
1252
+ },
1214
1253
  closePlacement: e.closePlacement,
1215
1254
  goBack() {
1216
1255
  e.canGoBack() && t.browser.back();
@@ -1220,7 +1259,7 @@ var Ue = () => {
1220
1259
  },
1221
1260
  dispose: e.dispose
1222
1261
  };
1223
- }, R = (e) => `${e.extensionId ?? ""}:page:${e.id}`, Zt = (e, t) => e.find((e) => R(e.ref) === R(t)), Qt = (e, t) => e.find((e) => e.id === t), $t = (e) => {
1262
+ }, R = (e) => `${e.extensionId ?? ""}:page:${e.id}`, nn = (e, t) => e.find((e) => R(e.ref) === R(t)), rn = (e, t) => e.find((e) => e.id === t), an = (e) => {
1224
1263
  if (!e) return;
1225
1264
  let t = e.anchors.map((e) => Object.freeze({
1226
1265
  id: e.id,
@@ -1228,9 +1267,9 @@ var Ue = () => {
1228
1267
  ...e.occurrence === void 0 ? {} : { occurrence: e.occurrence }
1229
1268
  }));
1230
1269
  return Object.freeze({ anchors: Object.freeze(t) });
1231
- }, en = (e) => {
1270
+ }, on = (e) => {
1232
1271
  if (e) return JSON.parse(JSON.stringify(e));
1233
- }, tn = (e, t) => {
1272
+ }, sn = (e, t) => {
1234
1273
  if (!e) return;
1235
1274
  let n = t.normalize(e);
1236
1275
  if (!n.type || !n.id) throw Error("Page resource has no canonical type or id");
@@ -1241,28 +1280,28 @@ var Ue = () => {
1241
1280
  ...n.label ? { label: n.label } : {},
1242
1281
  ...n.icon ? { icon: n.icon } : {},
1243
1282
  ...n.extensionId ? { extensionId: n.extensionId } : {},
1244
- ...n.metadata ? { metadata: en(n.metadata) } : {}
1283
+ ...n.metadata ? { metadata: on(n.metadata) } : {}
1245
1284
  };
1246
1285
  return Object.freeze(r);
1247
- }, nn = (e) => Object.freeze({
1286
+ }, cn = (e) => Object.freeze({
1248
1287
  extensionId: e.ref.extensionId,
1249
1288
  kind: "page",
1250
1289
  id: e.ref.id
1251
- }), rn = (e) => e ? JSON.stringify(e) : "", an = (e, t) => e.resource ? t.toUri(t.normalize(e.resource)) : "", on = (e, t, n) => R(e.page) === R(t.page) && an(e, n) === an(t, n), z = (e, t) => [
1290
+ }), ln = (e) => e ? JSON.stringify(e) : "", un = (e, t) => e.resource ? t.toUri(t.normalize(e.resource)) : "", dn = (e, t, n) => R(e.page) === R(t.page) && un(e, n) === un(t, n), z = (e, t) => [
1252
1291
  R(e.page),
1253
- an(e, t),
1254
- rn(e.section)
1292
+ un(e, t),
1293
+ ln(e.section)
1255
1294
  ].join("|"), B = (e, t) => {
1256
1295
  let n = z(e, t);
1257
1296
  return e.parent ? `${n}>${B(e.parent, t)}` : n;
1258
- }, sn = (e, t, n) => !e || !t ? e === t : B(e, n) === B(t, n), V = (e) => Object.freeze({
1259
- page: nn(e.page),
1260
- ...e.resource ? { resource: tn(e.resource, e.resources) } : {},
1261
- ...e.section ? { section: $t(e.section) } : {},
1297
+ }, fn = (e, t, n) => !e || !t ? e === t : B(e, n) === B(t, n), V = (e) => Object.freeze({
1298
+ page: cn(e.page),
1299
+ ...e.resource ? { resource: sn(e.resource, e.resources) } : {},
1300
+ ...e.section ? { section: an(e.section) } : {},
1262
1301
  ...e.parent ? { parent: e.parent } : {}
1263
- }), cn = (e) => {
1302
+ }), pn = (e) => {
1264
1303
  if (!e.page.parentId) return;
1265
- let t = Qt(e.pages, e.page.parentId);
1304
+ let t = rn(e.pages, e.page.parentId);
1266
1305
  if (!t) throw Error(`Unknown parent page: ${e.page.parentId}`);
1267
1306
  return H({
1268
1307
  page: t,
@@ -1278,7 +1317,7 @@ var Ue = () => {
1278
1317
  ...e.section ? { section: e.section } : {}
1279
1318
  }), n = z(t, e.resources);
1280
1319
  if (e.seen.has(n)) throw Error(`Page location parent cycle reaches ${e.page.id}`);
1281
- let r = new Set(e.seen).add(n), i = e.parent ?? cn({
1320
+ let r = new Set(e.seen).add(n), i = e.parent ?? pn({
1282
1321
  page: e.page,
1283
1322
  pages: e.pages,
1284
1323
  resources: e.resources,
@@ -1291,8 +1330,8 @@ var Ue = () => {
1291
1330
  ...t.section ? { section: t.section } : {},
1292
1331
  ...i ? { parent: i } : {}
1293
1332
  });
1294
- }, ln = (e, t, n) => t?.parent && on(e, t, n) ? t.parent : void 0, un = (e) => {
1295
- let t = Zt(e.pages, e.target.page);
1333
+ }, mn = (e, t, n) => t?.parent && dn(e, t, n) ? t.parent : void 0, hn = (e) => {
1334
+ let t = nn(e.pages, e.target.page);
1296
1335
  if (!t) throw Error(`Unknown page: ${R(e.target.page)}`);
1297
1336
  let n = V({
1298
1337
  page: t,
@@ -1301,12 +1340,12 @@ var Ue = () => {
1301
1340
  ...e.target.section ? { section: e.target.section } : {}
1302
1341
  }), r = z(n, e.resources);
1303
1342
  if (e.seen.has(r)) throw Error(`Page location parent cycle reaches ${t.id}`);
1304
- let i = new Set(e.seen).add(r), a = e.target.parent ? un({
1343
+ let i = new Set(e.seen).add(r), a = e.target.parent ? hn({
1305
1344
  target: e.target.parent,
1306
1345
  pages: e.pages,
1307
1346
  resources: e.resources,
1308
1347
  seen: i
1309
- }).location : ln(n, e.active, e.resources), o = H({
1348
+ }).location : mn(n, e.active, e.resources), o = H({
1310
1349
  page: t,
1311
1350
  pages: e.pages,
1312
1351
  resources: e.resources,
@@ -1320,12 +1359,12 @@ var Ue = () => {
1320
1359
  location: o,
1321
1360
  ...e.target.open ? { open: e.target.open } : {}
1322
1361
  };
1323
- }, U = (e) => un({
1362
+ }, gn = (e) => hn({
1324
1363
  ...e,
1325
1364
  seen: /* @__PURE__ */ new Set()
1326
- }), dn = (e) => {
1365
+ }), _n = (e) => {
1327
1366
  let t = (n, r) => {
1328
- let i = Zt(e.pages, n.page);
1367
+ let i = nn(e.pages, n.page);
1329
1368
  if (!i) throw Error(`Unknown page: ${R(n.page)}`);
1330
1369
  let a = V({
1331
1370
  page: i,
@@ -1349,8 +1388,8 @@ var Ue = () => {
1349
1388
  };
1350
1389
  };
1351
1390
  return t(e.location, /* @__PURE__ */ new Set());
1352
- }, fn = (e) => {
1353
- let t = Qt(e.pages, e.pageId);
1391
+ }, vn = (e) => {
1392
+ let t = rn(e.pages, e.pageId);
1354
1393
  if (!t) throw Error(`Unknown page: ${e.pageId}`);
1355
1394
  return {
1356
1395
  pageId: t.id,
@@ -1363,7 +1402,7 @@ var Ue = () => {
1363
1402
  ...e.section ? { section: e.section } : {}
1364
1403
  })
1365
1404
  };
1366
- }, pn = (e) => (t, n, r) => ({
1405
+ }, yn = (e) => (t, n, r) => ({
1367
1406
  url: Ve({
1368
1407
  projectId: t,
1369
1408
  location: n,
@@ -1377,7 +1416,7 @@ var Ue = () => {
1377
1416
  routeKey: z(n, e.resources),
1378
1417
  location: n
1379
1418
  }
1380
- }), mn = (e) => (t, n) => {
1419
+ }), bn = (e) => (t, n) => {
1381
1420
  let r = {
1382
1421
  code: "page-location-unresolved",
1383
1422
  source: t,
@@ -1387,19 +1426,74 @@ var Ue = () => {
1387
1426
  ok: !1,
1388
1427
  diagnostic: r
1389
1428
  };
1390
- }, hn = /* @__PURE__ */ new WeakMap(), gn = (e, t) => hn.set(e, t), _n = (e) => {
1391
- let t = hn.get(e);
1429
+ }, xn = /* @__PURE__ */ new WeakMap(), Sn = (e, t) => xn.set(e, t), Cn = (e) => {
1430
+ let t = xn.get(e);
1392
1431
  if (!t) throw Error("Page location preparation is unavailable");
1393
1432
  return t;
1394
- }, vn = (e, t, n) => (r, i, a, o, s) => w(() => {
1433
+ }, wn = (e, t, n) => (r, i, a, o, s) => w(() => {
1395
1434
  let c = i.location;
1396
1435
  if (!c) throw Error("Prepared page navigation has no location");
1397
1436
  let l = a === "push" ? n.getIndex() + 1 : n.getIndex();
1398
- return a !== "none" && e.browser[a](n.entry(r, c, l)), n.commitIndex(l, a === "push"), s?.(), t.publish(i, o), N(`page location cache for ${r}`, () => e.persistence.save(r, c)), a !== "none" && n.publish(), {
1437
+ a !== "none" && e.browser[a](n.entry(r, c, l)), n.commitIndex(l, a === "push"), s?.(), t.publish(i, o);
1438
+ let u = n.rememberRootLevel(c);
1439
+ return N(`page location cache for ${r}`, () => e.persistence.save(r, {
1440
+ location: c,
1441
+ ...u ? { rootLevel: u } : {}
1442
+ })), a !== "none" && n.publish(), {
1399
1443
  ok: !0,
1400
1444
  location: c
1401
1445
  };
1402
- }), yn = (e) => {
1446
+ }), Tn = (e, t) => e ? !!(e.resource && t(e.resource)) || Tn(e.parent, t) : !1, En = (e) => {
1447
+ let t;
1448
+ return {
1449
+ restore(e) {
1450
+ t = e;
1451
+ },
1452
+ remember(n) {
1453
+ let r = Jt({
1454
+ ...e.levels,
1455
+ location: n,
1456
+ pages: e.pages()
1457
+ });
1458
+ return r && (t = r), t;
1459
+ },
1460
+ forget(n) {
1461
+ let r = e.resourceKey(n);
1462
+ t && Tn(t, (t) => e.resourceKey(t) === r) && (t = void 0);
1463
+ },
1464
+ target() {
1465
+ if (!t) return e.start();
1466
+ try {
1467
+ return e.normalize(t);
1468
+ } catch {
1469
+ return e.start();
1470
+ }
1471
+ }
1472
+ };
1473
+ }, Dn = (e) => e.registry.store.subscribe((t, n) => {
1474
+ if (Object.keys(n.pages).some((e) => !t.pages[e]) && t.projectId && t.projectId === n.projectId && n.location) {
1475
+ try {
1476
+ if (t.location) {
1477
+ e.normalizeStored(t.location);
1478
+ return;
1479
+ }
1480
+ } catch (t) {
1481
+ e.fail("navigation", t);
1482
+ }
1483
+ try {
1484
+ let n = t.activePageId ? t.pages[t.activePageId] : void 0, r = n && t.location ? vn({
1485
+ pageId: n.id,
1486
+ pages: e.pages(),
1487
+ resources: e.resources,
1488
+ ...t.location.resource ? { resource: t.location.resource } : {},
1489
+ ...t.location.section ? { section: t.location.section } : {}
1490
+ }) : e.start();
1491
+ e.commit(t.projectId, r, "replace", "removePageLocationOwner");
1492
+ } catch (t) {
1493
+ e.fail("navigation", t);
1494
+ }
1495
+ }
1496
+ }), On = (e) => {
1403
1497
  let t = (t, n, r) => {
1404
1498
  let i = n.parent ? e.normalizeStored(n.parent) : void 0, a = e.getPageRef(r.parentId);
1405
1499
  if (!a) throw Error(`Unknown parent page: ${r.parentId}`);
@@ -1434,7 +1528,7 @@ var Ue = () => {
1434
1528
  return e.fail("navigation", t);
1435
1529
  }
1436
1530
  };
1437
- }, bn = "$main", xn = (e) => e.item.kind === "view" ? e.item.presence !== "fixed" : e.role !== "primary" || e.item.binding.cardinality === "many", W = (e) => {
1531
+ }, kn = "$main", An = (e) => e.item.kind === "view" ? e.item.presence !== "fixed" : e.role !== "primary" || e.item.binding.cardinality === "many", U = (e) => {
1438
1532
  if (e.main.kind !== "view") return;
1439
1533
  let { kind: t, view: n, cardinality: r, ...i } = e.main, a = e.resource ? {
1440
1534
  ...e.resource,
@@ -1443,7 +1537,7 @@ var Ue = () => {
1443
1537
  } : void 0;
1444
1538
  return {
1445
1539
  ...i,
1446
- id: bn,
1540
+ id: kn,
1447
1541
  role: "primary",
1448
1542
  region: "main",
1449
1543
  item: a ? {
@@ -1455,19 +1549,19 @@ var Ue = () => {
1455
1549
  presence: "fixed"
1456
1550
  }
1457
1551
  };
1458
- }, Sn = (e) => {
1459
- let t = W(e);
1552
+ }, jn = (e) => {
1553
+ let t = U(e);
1460
1554
  return [...t ? [t] : [], ...e.slots.map((e) => ({
1461
1555
  ...e,
1462
1556
  role: "auxiliary"
1463
1557
  }))];
1464
- }, Cn = (e, t) => {
1465
- let n = Sn(e).find((e) => e.id === t);
1558
+ }, Mn = (e, t) => {
1559
+ let n = jn(e).find((e) => e.id === t);
1466
1560
  if (!n) throw Error(`Unknown page slot: ${e.id}.${t}`);
1467
1561
  return n;
1468
- }, wn = (e) => {
1562
+ }, Nn = (e) => {
1469
1563
  if (e.main.kind === "panels") return {
1470
- id: bn,
1564
+ id: kn,
1471
1565
  role: "primary",
1472
1566
  region: "main",
1473
1567
  item: {
@@ -1476,10 +1570,10 @@ var Ue = () => {
1476
1570
  presence: "fixed"
1477
1571
  }
1478
1572
  };
1479
- }, Tn = (e) => {
1480
- let t = wn(e);
1481
- return [...Sn(e), ...t ? [t] : []];
1482
- }, G = (e, t, n) => e.main.kind === "panels" && t ? `${e.id}|${B(t, n)}` : e.id, En = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t && !e.startsWith(`${t}|`))), Dn = (e, t, n, r) => {
1573
+ }, Pn = (e) => {
1574
+ let t = Nn(e);
1575
+ return [...jn(e), ...t ? [t] : []];
1576
+ }, W = (e, t, n) => e.main.kind === "panels" && t ? `${e.id}|${B(t, n)}` : e.id, Fn = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t && !e.startsWith(`${t}|`))), In = (e, t, n, r) => {
1483
1577
  let i = (e) => n.toUri(n.normalize(e)), a = i(t), o = new Set(r.map(f)), s = Object.fromEntries(Object.entries(e.pageStates).map(([t, n]) => {
1484
1578
  let r = Object.keys(e.pages).find((e) => t === e || t.startsWith(`${e}|`));
1485
1579
  if (!r) return [t, n];
@@ -1488,7 +1582,7 @@ var Ue = () => {
1488
1582
  pageId: r,
1489
1583
  slotId: e,
1490
1584
  instanceKey: t.instanceKey
1491
- })))])), c = W(e.pages[r]), l = c ? s[c.id] ?? [] : [], u = n.activePrimaryInstanceKey;
1585
+ })))])), c = U(e.pages[r]), l = c ? s[c.id] ?? [] : [], u = n.activePrimaryInstanceKey;
1492
1586
  return c?.item.kind === "binding" && !l.some((e) => e.instanceKey === u) && (u = l.at(-1)?.instanceKey), [t, {
1493
1587
  ...n,
1494
1588
  resourceInstances: s,
@@ -1496,7 +1590,7 @@ var Ue = () => {
1496
1590
  }];
1497
1591
  })), c = e.location, l = e.activePageId ? e.pages[e.activePageId] : void 0;
1498
1592
  if (l && c?.resource && i(c.resource) === a) {
1499
- let t = s[G(l, c, n)], r = W(l), i = (r ? t?.resourceInstances[r.id] ?? [] : []).find((e) => e.instanceKey === t?.activePrimaryInstanceKey);
1593
+ let t = s[W(l, c, n)], r = U(l), i = (r ? t?.resourceInstances[r.id] ?? [] : []).find((e) => e.instanceKey === t?.activePrimaryInstanceKey);
1500
1594
  i ? c = {
1501
1595
  ...c,
1502
1596
  resource: i.resource,
@@ -1507,12 +1601,13 @@ var Ue = () => {
1507
1601
  pageStates: s,
1508
1602
  location: c
1509
1603
  };
1510
- }, On = (e) => (t, n) => {
1604
+ }, Ln = (e) => (t, n) => {
1605
+ e.forgetRootLevel(t);
1511
1606
  let r = e.getState();
1512
1607
  if (!r.projectId || !r.location) return;
1513
- let i = Dn(r, t, e.resources, n);
1608
+ let i = In(r, t, e.resources, n);
1514
1609
  if (!i.location) return;
1515
- let a = !sn(r.location, i.location, e.resources), o = dn({
1610
+ let a = !fn(r.location, i.location, e.resources), o = _n({
1516
1611
  location: i.location,
1517
1612
  pages: Object.values(r.pages),
1518
1613
  resources: e.resources
@@ -1521,11 +1616,11 @@ var Ue = () => {
1521
1616
  ...o,
1522
1617
  pageStates: i.pageStates
1523
1618
  }, a ? "replace" : "none", "removePageResource");
1524
- }, kn = (e) => {
1619
+ }, Rn = (e) => {
1525
1620
  if (!e || typeof e != "object") return !1;
1526
1621
  let t = e;
1527
1622
  return t.kind === "pstdio.page-location" && typeof t.index == "number" && typeof t.projectId == "string" && typeof t.routeKey == "string" && !!(t.location && typeof t.location == "object");
1528
- }, An = (e) => {
1623
+ }, zn = (e) => {
1529
1624
  let t = L(e.registry), n = () => e.registry.listPages(), r = 0, i = 0, a = k({
1530
1625
  name: "workbench.page-location-history",
1531
1626
  initialState: {
@@ -1537,17 +1632,24 @@ var Ue = () => {
1537
1632
  canGoForward: r < i
1538
1633
  }, !1, "pageLocationHistory"), s = () => {
1539
1634
  r = 0, i = 0, o();
1540
- }, c = mn(e.reportDiagnostic), l = vn(e, t, {
1635
+ }, c = bn(e.reportDiagnostic), l = yn({
1636
+ pages: n,
1637
+ resources: t.resources
1638
+ }), u = En({
1639
+ levels: e,
1640
+ pages: n,
1641
+ normalize: (e) => p(e),
1642
+ resourceKey: (e) => t.resources.toUri(t.resources.normalize(e)),
1643
+ start: () => m()
1644
+ }), d = wn(e, t, {
1541
1645
  getIndex: () => r,
1542
1646
  commitIndex: (e, t) => {
1543
1647
  r = e, t && (i = e);
1544
1648
  },
1545
- entry: pn({
1546
- pages: n,
1547
- resources: t.resources
1548
- }),
1549
- publish: o
1550
- }), u = (n, r, i, a) => {
1649
+ entry: l,
1650
+ publish: o,
1651
+ rememberRootLevel: u.remember
1652
+ }), f = (n, r, i, a) => {
1551
1653
  let o = t.prepare.location({
1552
1654
  pageId: r.pageId,
1553
1655
  projectId: n,
@@ -1558,19 +1660,19 @@ var Ue = () => {
1558
1660
  section: r.location.section,
1559
1661
  pageStates: r.pageStates
1560
1662
  }, e.registry.store.getState());
1561
- return l(n, o, i, a);
1562
- }, d = (e) => dn({
1663
+ return d(n, o, i, a);
1664
+ }, p = (e) => _n({
1563
1665
  location: e,
1564
1666
  pages: n(),
1565
1667
  resources: t.resources
1566
- }), f = () => U({
1668
+ }), m = () => gn({
1567
1669
  target: {
1568
1670
  kind: "page",
1569
1671
  page: e.startPage
1570
1672
  },
1571
1673
  pages: n(),
1572
1674
  resources: t.resources
1573
- }), p = (e, r) => {
1675
+ }), h = (e, r) => {
1574
1676
  let i = Be({
1575
1677
  url: r.url,
1576
1678
  projectId: e,
@@ -1578,69 +1680,56 @@ var Ue = () => {
1578
1680
  resources: t.resources
1579
1681
  });
1580
1682
  if (!i) return;
1581
- let a = fn({
1683
+ let a = vn({
1582
1684
  ...i,
1583
1685
  pages: n(),
1584
1686
  resources: t.resources
1585
1687
  });
1586
- if (!kn(r.state) || r.state.projectId !== e) return a;
1587
- let o = d(r.state.location), s = z(a.location, t.resources), c = z(o.location, t.resources);
1688
+ if (!Rn(r.state) || r.state.projectId !== e) return a;
1689
+ let o = p(r.state.location), s = z(a.location, t.resources), c = z(o.location, t.resources);
1588
1690
  return r.state.routeKey !== s || c !== s ? a : o;
1589
- }, m = (t, n, a) => {
1691
+ }, g = (t, n, a) => {
1590
1692
  try {
1591
1693
  let o = e.browser.current();
1592
- kn(o.state) && o.state.projectId === t ? (r = o.state.index, i = Math.max(i, r)) : (r = 0, i = 0);
1593
- let s = a && ze(o.url, t), c = s ? p(t, o) : void 0;
1694
+ Rn(o.state) && o.state.projectId === t ? (r = o.state.index, i = Math.max(i, r)) : (r = 0, i = 0);
1695
+ let s = a && ze(o.url, t), c = s ? h(t, o) : void 0;
1594
1696
  if (s && !c) throw Error(`Cannot resolve page URL: ${o.url}`);
1595
- let l = s ? void 0 : e.persistence.load(t), m = c ?? (l ? d(l) : f());
1596
- return u(t, m, "replace", n === "boot" ? "bootPageLocation" : "switchPageProject");
1697
+ let l = e.persistence.load(t);
1698
+ u.restore(l?.rootLevel);
1699
+ let d = s ? void 0 : l?.location, g = c ?? (d ? p(d) : m());
1700
+ return f(t, g, "replace", n === "boot" ? "bootPageLocation" : "switchPageProject");
1597
1701
  } catch (e) {
1598
1702
  c(n, e);
1599
1703
  try {
1600
- return u(t, f(), "replace", `${n}StartFallback`);
1704
+ return f(t, m(), "replace", `${n}StartFallback`);
1601
1705
  } catch (e) {
1602
1706
  return c(n, e);
1603
1707
  }
1604
1708
  }
1605
- }, h = e.browser.onPopState((t) => {
1709
+ }, _ = e.browser.onPopState((t) => {
1606
1710
  let n = e.registry.store.getState().projectId;
1607
1711
  if (n) try {
1608
- kn(t.state) && t.state.projectId === n && (r = t.state.index, i = Math.max(i, r), o());
1609
- let e = p(n, t);
1712
+ Rn(t.state) && t.state.projectId === n && (r = t.state.index, i = Math.max(i, r), o());
1713
+ let e = h(n, t);
1610
1714
  if (!e) throw Error(`Cannot resolve page URL: ${t.url}`);
1611
- u(n, e, "none", "replayPageHistory");
1715
+ f(n, e, "none", "replayPageHistory");
1612
1716
  } catch (e) {
1613
1717
  c("history", e);
1614
1718
  }
1615
- }), g = e.registry.store.subscribe((e, r) => {
1616
- if (Object.keys(r.pages).some((t) => !e.pages[t]) && e.projectId && e.projectId === r.projectId && r.location) {
1617
- try {
1618
- if (e.location) {
1619
- d(e.location);
1620
- return;
1621
- }
1622
- } catch (e) {
1623
- c("navigation", e);
1624
- }
1625
- try {
1626
- let r = e.activePageId ? e.pages[e.activePageId] : void 0, i = r && e.location ? fn({
1627
- pageId: r.id,
1628
- pages: n(),
1629
- resources: t.resources,
1630
- ...e.location.resource ? { resource: e.location.resource } : {},
1631
- ...e.location.section ? { section: e.location.section } : {}
1632
- }) : f();
1633
- u(e.projectId, i, "replace", "removePageLocationOwner");
1634
- } catch (e) {
1635
- c("navigation", e);
1636
- }
1637
- }
1638
- }), _ = yn({
1639
- commit: u,
1719
+ }), v = Dn({
1720
+ registry: e.registry,
1721
+ pages: n,
1722
+ resources: t.resources,
1723
+ normalizeStored: p,
1724
+ start: m,
1725
+ commit: f,
1726
+ fail: c
1727
+ }), y = On({
1728
+ commit: f,
1640
1729
  fail: c,
1641
1730
  getCurrent: () => e.registry.store.getState(),
1642
1731
  getPageRef: (t) => e.registry.getPage(t)?.ref,
1643
- normalizePage: (e) => U({
1732
+ normalizePage: (e) => gn({
1644
1733
  target: {
1645
1734
  kind: "page",
1646
1735
  page: e
@@ -1648,39 +1737,43 @@ var Ue = () => {
1648
1737
  pages: n(),
1649
1738
  resources: t.resources
1650
1739
  }),
1651
- normalizeStored: d,
1740
+ normalizeStored: p,
1652
1741
  resolveClosePlacement: t.resolveClosePlacement
1653
- }), v = Xt({
1742
+ }), b = tn({
1654
1743
  input: e,
1655
1744
  historyStore: a,
1656
- clearProject: t.clearProject,
1745
+ clearProject(e) {
1746
+ u.restore(void 0), t.clearProject(e);
1747
+ },
1657
1748
  resetHistory: s,
1658
- restore: m,
1659
- resolveUrl: p,
1660
- normalizeTarget: (r) => U({
1749
+ rootLevelTarget: u.target,
1750
+ restore: g,
1751
+ resolveUrl: h,
1752
+ normalizeTarget: (r) => gn({
1661
1753
  target: r,
1662
1754
  pages: n(),
1663
1755
  resources: t.resources,
1664
1756
  active: e.registry.store.getState().location
1665
1757
  }),
1666
- normalizeStored: d,
1667
- locationsEqual: (e, n) => sn(e, n, t.resources),
1668
- commit: u,
1758
+ normalizeStored: p,
1759
+ locationsEqual: (e, n) => fn(e, n, t.resources),
1760
+ commit: f,
1669
1761
  fail: c,
1670
- closePlacement: _,
1671
- removeResource: On({
1762
+ closePlacement: y,
1763
+ removeResource: Ln({
1672
1764
  getState: e.registry.store.getState,
1673
1765
  resources: t.resources,
1674
- commit: u
1766
+ forgetRootLevel: u.forget,
1767
+ commit: f
1675
1768
  }),
1676
1769
  canGoBack: () => r > 0,
1677
1770
  canGoForward: () => r < i,
1678
1771
  dispose() {
1679
- h.dispose(), g();
1772
+ _.dispose(), v();
1680
1773
  }
1681
1774
  });
1682
- return gn(v, {
1683
- resolve: (r) => U({
1775
+ return Sn(b, {
1776
+ resolve: (r) => gn({
1684
1777
  target: r,
1685
1778
  pages: n(),
1686
1779
  resources: t.resources,
@@ -1688,11 +1781,11 @@ var Ue = () => {
1688
1781
  }),
1689
1782
  commit: (n, r) => {
1690
1783
  if (!n.projectId || !n.location) throw Error("Cannot navigate before a project is active");
1691
- let i = sn(e.registry.store.getState().location, n.location, t.resources) ? "none" : "push";
1692
- return l(n.projectId, n, i, "navigateCompoundTarget", r);
1784
+ let i = fn(e.registry.store.getState().location, n.location, t.resources) ? "none" : "push";
1785
+ return d(n.projectId, n, i, "navigateCompoundTarget", r);
1693
1786
  }
1694
- }), v;
1695
- }, jn = (e = {}) => {
1787
+ }), b;
1788
+ }, Bn = (e = {}) => {
1696
1789
  let t, n = N(`panel menu cache read for ${t ?? "unscoped"}`, () => e.persistence?.getMenuStates(t)), r = (e) => ({ ...e?.openByMenuId }), i = k({
1697
1790
  name: "workbench.panelMenuState",
1698
1791
  initialState: { openByMenuId: r(n) }
@@ -1724,27 +1817,26 @@ var Ue = () => {
1724
1817
  return D(t);
1725
1818
  }
1726
1819
  };
1727
- }, Mn = (e = {}) => {
1728
- let t = () => e.getFloatingPanels?.() !== "hidden", n = (e) => !t() && e === "floating" ? "attached" : e, r = k({
1729
- name: "workbench.sidePanel",
1730
- initialState: { mode: n(e.persistence?.getMode() ?? e.initialMode ?? "floating") }
1731
- }), i = (t) => {
1732
- let i = n(t);
1733
- r.getState().mode !== i && (r.setState({ mode: i }, !1, "setMode"), e.persistence?.setMode(i));
1820
+ }, Vn = (e) => {
1821
+ let t = () => e.getFloatingPanels?.() !== "hidden", n = (e) => !t() && e === "floating" ? "attached" : e, r = e.initialMode === "attached" ? "attached" : "floating", i = () => {
1822
+ let t = e.layout.getLayout().regions.side;
1823
+ return t.visible ? n(t.presentation ?? r) : "closed";
1734
1824
  };
1735
- return e.onDidChangePolicy?.(() => i(r.getState().mode)), {
1825
+ return {
1736
1826
  canFloat: t,
1737
- store: r,
1738
- getMode() {
1739
- return r.getState().mode;
1740
- },
1741
- setMode: i,
1742
- onDidChange(e) {
1743
- let t = r.subscribeSelector((e) => e.mode, (t) => e(t));
1744
- return D(t);
1827
+ getMode: i,
1828
+ setMode: (t) => e.layout.setSidePanelMode(n(t)),
1829
+ onDidChange(t) {
1830
+ let n = i(), r = () => {
1831
+ let e = i();
1832
+ e !== n && (n = e, t(e));
1833
+ }, a = e.layout.store.subscribe(r), o = e.onDidChangePolicy?.(r);
1834
+ return D(() => {
1835
+ a(), o?.dispose();
1836
+ });
1745
1837
  }
1746
1838
  };
1747
- }, Nn = "Terminal", Pn = 200, Fn = () => {
1839
+ }, Hn = "Terminal", Un = 200, Wn = () => {
1748
1840
  let e = k({
1749
1841
  name: "workbench.terminal",
1750
1842
  initialState: { sessionsById: {} }
@@ -1772,7 +1864,7 @@ var Ue = () => {
1772
1864
  let n = i.get(e);
1773
1865
  if (!n) return;
1774
1866
  let r = new Uint8Array(t);
1775
- n.push(r), n.length > Pn && n.shift();
1867
+ n.push(r), n.length > Un && n.shift();
1776
1868
  for (let t of a.get(e) ?? []) t(r);
1777
1869
  }, p = async (e) => {
1778
1870
  await u(e.sessionId).kill(e.signal), l(e.sessionId, { status: "killed" }, "killTerminalSession"), d(e.sessionId);
@@ -1806,7 +1898,7 @@ var Ue = () => {
1806
1898
  ...h.sessionsById,
1807
1899
  [c.id]: {
1808
1900
  id: c.id,
1809
- title: u.title ?? Nn,
1901
+ title: u.title ?? Hn,
1810
1902
  status: "running"
1811
1903
  }
1812
1904
  } }, !1, "openTerminalSession"), { sessionId: c.id };
@@ -1860,7 +1952,7 @@ var Ue = () => {
1860
1952
  n.clear();
1861
1953
  }
1862
1954
  };
1863
- }, In = () => {
1955
+ }, Gn = () => {
1864
1956
  let e = k({
1865
1957
  name: "workbench.commandPaletteResources",
1866
1958
  initialState: {
@@ -1919,7 +2011,7 @@ var Ue = () => {
1919
2011
  }, !1, "refresh");
1920
2012
  }
1921
2013
  };
1922
- }, Ln = (e = {}) => {
2014
+ }, Kn = (e = {}) => {
1923
2015
  let t = k({
1924
2016
  name: "workbench.commands",
1925
2017
  initialState: { commands: {} }
@@ -1996,7 +2088,7 @@ var Ue = () => {
1996
2088
  });
1997
2089
  }
1998
2090
  };
1999
- }, Rn = (e) => e.join("/"), zn = (e) => {
2091
+ }, qn = (e) => e.join("/"), Jn = (e) => {
2000
2092
  let t = k({
2001
2093
  name: "workbench.menus",
2002
2094
  initialState: { itemsByPath: {} }
@@ -2005,7 +2097,7 @@ var Ue = () => {
2005
2097
  menuStore: t,
2006
2098
  registerMenuItem(n, r, i) {
2007
2099
  if (!e.commands.getCommand(r.commandId)) throw Error(`Menu command not registered: ${r.commandId}`);
2008
- let a = Rn(n), o = {
2100
+ let a = qn(n), o = {
2009
2101
  ...l(i),
2010
2102
  ...r,
2011
2103
  path: n
@@ -2022,59 +2114,59 @@ var Ue = () => {
2022
2114
  });
2023
2115
  },
2024
2116
  listMenuItems(e) {
2025
- return [...t.getState().itemsByPath[Rn(e)] ?? []].sort((e, t) => (e.order ?? 0) - (t.order ?? 0) || o(e, t));
2117
+ return [...t.getState().itemsByPath[qn(e)] ?? []].sort((e, t) => (e.order ?? 0) - (t.order ?? 0) || o(e, t));
2026
2118
  }
2027
2119
  };
2028
- }, K = (e) => !e.extensionId || e.extensionId === "pstdio" ? e.id : `${e.extensionId}.${e.kind}.${e.id}`, q = (e, t) => e.kinds.some((e) => e.id === t.type && (!t.extensionId || !e.extensionId || t.extensionId === e.extensionId)), J = (e) => K(e.kind === "view" ? e.view : e.binding.view), Y = () => ({
2120
+ }, G = (e) => !e.extensionId || e.extensionId === "pstdio" ? e.id : `${e.extensionId}.${e.kind}.${e.id}`, K = (e, t) => e.kinds.some((e) => e.id === t.type && (!t.extensionId || !e.extensionId || t.extensionId === e.extensionId)), q = (e) => G(e.kind === "view" ? e.view : e.binding.view), J = () => ({
2029
2121
  staticOverrides: /* @__PURE__ */ new Map(),
2030
2122
  resourceInstances: /* @__PURE__ */ new Map()
2031
- }), Bn = (e, t, n) => e.kind === "view" ? e.presence === "fixed" || (t.staticOverrides.get(n) ?? e.presence) === "open" : !1, Vn = (e) => e.kind !== "view" || e.presence !== "fixed", Hn = (e, t, n) => {
2123
+ }), Yn = (e, t, n) => e.kind === "view" ? e.presence === "fixed" || (t.staticOverrides.get(n) ?? e.presence) === "open" : !1, Xn = (e) => e.kind !== "view" || e.presence !== "fixed", Zn = (e, t, n) => {
2032
2124
  if (n.kind === "binding" && n.binding.kinds.length === 0) throw Error(`${e} "${t}" must bind at least one resource kind`);
2033
- }, Un = (e) => {
2125
+ }, Qn = (e) => {
2034
2126
  let { id: t, item: n, label: r, state: i } = e;
2035
2127
  if (n.kind !== "view") throw Error(`${r} "${t}" is not a static placement`);
2036
2128
  if (e.resource) throw Error(`${r} "${t}" does not accept a resource`);
2037
2129
  if (e.open) throw Error(`${r} "${t}" does not accept an open intent`);
2038
2130
  n.presence !== "fixed" && i.staticOverrides.set(t, "open");
2039
- }, Wn = (e) => {
2131
+ }, $n = (e) => {
2040
2132
  let { id: t, item: n, label: r, state: i } = e;
2041
2133
  if (n.kind !== "view") throw Error(`${r} "${t}" is not a static placement`);
2042
2134
  if (n.presence === "fixed") throw Error(`${r} "${t}" is fixed and cannot close`);
2043
2135
  i.staticOverrides.set(t, "closed");
2044
- }, Gn = (e, t, n) => {
2136
+ }, er = (e, t, n) => {
2045
2137
  if (e.binding.cardinality === "one") return [n];
2046
2138
  let r = t.find((e) => e.instanceKey === n.instanceKey)?.open === "pin" || n.open === "pin" ? "pin" : "preview";
2047
2139
  return [...t.filter((e) => e.instanceKey !== n.instanceKey && (r === "pin" || e.open === "pin")), {
2048
2140
  ...n,
2049
2141
  open: r
2050
2142
  }];
2051
- }, Kn = (e, t) => {
2143
+ }, tr = (e, t) => {
2052
2144
  let n = P(t), r = e.find((e) => P(e.resource) === n);
2053
2145
  if (r) return r.instanceKey;
2054
2146
  let i = new Set(e.map((e) => e.instanceKey)), a = n;
2055
2147
  for (let e = 2; i.has(a); e += 1) a = `${n}#${e}`;
2056
2148
  return a;
2057
- }, qn = (e) => {
2149
+ }, nr = (e) => {
2058
2150
  let { id: t, item: n, label: r, state: i } = e;
2059
2151
  if (n.kind !== "binding") throw Error(`${r} "${t}" is not resource-backed`);
2060
2152
  if (!e.resource) throw Error(`${r} "${t}" requires a resource`);
2061
- if (!q(n.binding, e.resource)) throw Error(`${r} "${t}" does not accept resource kind "${e.resource.type}"`);
2153
+ if (!K(n.binding, e.resource)) throw Error(`${r} "${t}" does not accept resource kind "${e.resource.type}"`);
2062
2154
  if (e.open && n.binding.cardinality !== "many") throw Error(`${r} "${t}" accepts open intent only with many cardinality`);
2063
2155
  let a = i.resourceInstances.get(t) ?? [], o = {
2064
- instanceKey: Kn(a, e.resource),
2156
+ instanceKey: tr(a, e.resource),
2065
2157
  resource: e.resource,
2066
2158
  ...n.binding.cardinality === "many" ? { open: e.open ?? "preview" } : {},
2067
2159
  ...e.title ? { title: e.title } : {}
2068
2160
  };
2069
- return i.resourceInstances.set(t, Gn(n, a, o)), o.instanceKey;
2070
- }, Jn = (e) => {
2071
- if (e.instanceKey === "default") return Wn(e), !0;
2161
+ return i.resourceInstances.set(t, er(n, a, o)), o.instanceKey;
2162
+ }, rr = (e) => {
2163
+ if (e.instanceKey === "default") return $n(e), !0;
2072
2164
  let t = e.state.resourceInstances.get(e.id) ?? [], n = t.filter((t) => t.instanceKey !== e.instanceKey);
2073
2165
  return n.length !== t.length && (e.state.resourceInstances.set(e.id, n), !0);
2074
- }, Yn = (e) => {
2166
+ }, ir = (e) => {
2075
2167
  let { id: t, item: n, label: r, state: i } = e;
2076
2168
  if (e.instanceKey === "default" || n.kind !== "binding") return;
2077
- if (e.resource && !q(n.binding, e.resource)) throw Error(`${r} "${t}" does not accept resource kind "${e.resource.type}"`);
2169
+ if (e.resource && !K(n.binding, e.resource)) throw Error(`${r} "${t}" does not accept resource kind "${e.resource.type}"`);
2078
2170
  let a = i.resourceInstances.get(t) ?? [];
2079
2171
  i.resourceInstances.set(t, a.map((t) => t.instanceKey === e.instanceKey ? {
2080
2172
  ...t,
@@ -2082,13 +2174,13 @@ var Ue = () => {
2082
2174
  ...e.resource ? { resource: e.resource } : {},
2083
2175
  ...e.title === void 0 ? {} : { title: e.title }
2084
2176
  } : t));
2085
- }, Xn = (e, t) => {
2177
+ }, ar = (e, t) => {
2086
2178
  e.staticOverrides.delete(t), e.resourceInstances.delete(t);
2087
- }, Zn = /* @__PURE__ */ new WeakMap(), Qn = (e, t) => Zn.set(e, t), X = (e) => {
2088
- let t = Zn.get(e);
2179
+ }, or = /* @__PURE__ */ new WeakMap(), sr = (e, t) => or.set(e, t), Y = (e) => {
2180
+ let t = or.get(e);
2089
2181
  if (!t) throw Error("Owned placement preparation is unavailable");
2090
2182
  return t;
2091
- }, $n = (e) => {
2183
+ }, cr = (e) => {
2092
2184
  let t = {
2093
2185
  staticOverrides: new Map(e.current.staticOverrides),
2094
2186
  resourceInstances: new Map(e.current.resourceInstances)
@@ -2099,11 +2191,11 @@ var Ue = () => {
2099
2191
  item: e.item,
2100
2192
  state: t
2101
2193
  }, r = "default";
2102
- return e.item.kind === "view" ? Un(n) : r = qn(n), {
2194
+ return e.item.kind === "view" ? Qn(n) : r = nr(n), {
2103
2195
  state: t,
2104
2196
  identity: e.identityFor(r)
2105
2197
  };
2106
- }, Z = (e) => {
2198
+ }, X = (e) => {
2107
2199
  let t = {
2108
2200
  staticOverrides: new Map(e.state.staticOverrides),
2109
2201
  resourceInstances: new Map(e.state.resourceInstances)
@@ -2117,7 +2209,7 @@ var Ue = () => {
2117
2209
  t.staticOverrides.set(n.id, r.length ? "open" : "closed");
2118
2210
  continue;
2119
2211
  }
2120
- let i = n.item.binding, a = r.flatMap((e) => !e.resource || !e.placementIdentity || !q(i, e.resource) ? [] : [{
2212
+ let i = n.item.binding, a = r.flatMap((e) => !e.resource || !e.placementIdentity || !K(i, e.resource) ? [] : [{
2121
2213
  instanceKey: e.placementIdentity.instanceKey,
2122
2214
  resource: e.resource,
2123
2215
  title: e.title,
@@ -2126,7 +2218,7 @@ var Ue = () => {
2126
2218
  t.resourceInstances.set(n.id, i.cardinality === "one" ? a.slice(-1) : a);
2127
2219
  }
2128
2220
  return t;
2129
- }, er = (e, t, n, r) => {
2221
+ }, lr = (e, t, n, r) => {
2130
2222
  let i = t.getView(n.viewId);
2131
2223
  if (!i) throw Error(`Workbench placement view is not registered: ${n.viewId}`);
2132
2224
  let { role: a, viewId: o, ...s } = n;
@@ -2137,50 +2229,50 @@ var Ue = () => {
2137
2229
  rendererId: i.id,
2138
2230
  panelMenus: r?.definitionsFor(i.id, n.id)
2139
2231
  });
2140
- }, tr = (e) => `workbench.mode-placement.${encodeURIComponent(e)}`, nr = (e, t) => `workbench.page-placement.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, rr = (e, t) => ({
2232
+ }, ur = (e) => `workbench.mode-placement.${encodeURIComponent(e)}`, dr = (e, t) => `workbench.page-placement.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, fr = (e, t) => ({
2141
2233
  kind: "mode",
2142
2234
  modeId: e.modeId,
2143
2235
  placementId: e.id,
2144
2236
  instanceKey: t
2145
- }), ir = (e) => e === "pin" ? {
2237
+ }), pr = (e) => e === "pin" ? {
2146
2238
  pinned: !0,
2147
2239
  tabRetention: "persistent"
2148
2240
  } : e === "preview" ? {
2149
2241
  pinned: !1,
2150
2242
  tabRetention: "preview"
2151
- } : {}, ar = (e) => JSON.stringify([e.extensionId, e.id]), or = (e) => {
2243
+ } : {}, mr = (e) => JSON.stringify([e.extensionId, e.id]), hr = (e) => {
2152
2244
  let { placement: t, placements: n, refs: r, views: i } = e;
2153
2245
  if (n.has(t.id)) throw Error(`Mode placement already registered: ${t.id}`);
2154
2246
  if (t.ref.kind !== "placement" || !t.ref.extensionId || !t.ref.id) throw Error(`Mode placement "${t.id}" must declare a normalized placement ref`);
2155
- let a = ar(t.ref);
2247
+ let a = mr(t.ref);
2156
2248
  if (r.has(a)) throw Error(`Mode placement ref already registered: ${a}`);
2157
2249
  if (t.movableTo && !t.movableTo.includes(t.region)) throw Error(`Mode placement "${t.id}" must include its initial region in movableTo`);
2158
- if (Hn("Mode placement", t.id, t.item), !i.getView(J(t.item))) throw Error(`Workbench mode placement view is not registered: ${J(t.item)}`);
2250
+ if (Zn("Mode placement", t.id, t.item), !i.getView(q(t.item))) throw Error(`Workbench mode placement view is not registered: ${q(t.item)}`);
2159
2251
  return a;
2160
- }, sr = (e) => ({
2252
+ }, gr = (e) => ({
2161
2253
  ...e,
2162
2254
  ref: { ...e.ref },
2163
2255
  item: { ...e.item },
2164
2256
  ...e.movableTo ? { movableTo: [...e.movableTo] } : {}
2165
- }), cr = (e) => {
2166
- let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = Y(), i = /* @__PURE__ */ new Set(), a = "Mode placement", o = (e) => [...t.values()].filter((t) => !e || t.modeId === e).sort((e, t) => e.id.localeCompare(t.id)), s, c = () => {
2257
+ }), _r = (e) => {
2258
+ let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = J(), i = /* @__PURE__ */ new Set(), a = "Mode placement", o = (e) => [...t.values()].filter((t) => !e || t.modeId === e).sort((e, t) => e.id.localeCompare(t.id)), s, c = () => {
2167
2259
  s?.();
2168
2260
  for (let e of i) De(e, () => N("mode placement subscriber", e));
2169
2261
  }, l = (t, n, r, i, a) => {
2170
- if (!e.views.getView(J(t.item))) throw Error(`Workbench mode placement view is not registered: ${J(t.item)}`);
2171
- let o = tr(t.id), s = e.getPanel(o);
2262
+ if (!e.views.getView(q(t.item))) throw Error(`Workbench mode placement view is not registered: ${q(t.item)}`);
2263
+ let o = ur(t.id), s = e.getPanel(o);
2172
2264
  if (!s) throw Error(`Workbench mode placement is not registered: ${t.id}`);
2173
2265
  return {
2174
- identity: rr(t, n),
2266
+ identity: fr(t, n),
2175
2267
  region: t.region,
2176
2268
  order: t.order ?? 0,
2177
2269
  value: Ge(`workbench.mode.${encodeURIComponent(t.id)}.${encodeURIComponent(n)}`, s, {
2178
- viewId: J(t.item),
2270
+ viewId: q(t.item),
2179
2271
  role: t.region === "main" ? "location" : "sub-panel",
2180
- closable: Vn(t.item),
2272
+ closable: Xn(t.item),
2181
2273
  ...r ? { resource: r } : {},
2182
2274
  ...a ? { title: a } : {},
2183
- ...ir(i)
2275
+ ...pr(i)
2184
2276
  })
2185
2277
  };
2186
2278
  }, u = {
@@ -2191,11 +2283,11 @@ var Ue = () => {
2191
2283
  },
2192
2284
  getState: () => r,
2193
2285
  restore(t, n = r) {
2194
- e.getProjectId && t.projectId !== e.getProjectId() && (n = Y());
2286
+ e.getProjectId && t.projectId !== e.getProjectId() && (n = J());
2195
2287
  let i = e.loadLayout?.(t);
2196
2288
  if (!i) return n;
2197
2289
  let a = o(t.modeId).filter((e) => e.item.kind === "view" ? !n.staticOverrides.has(e.id) : !n.resourceInstances.has(e.id));
2198
- return a.length ? Z({
2290
+ return a.length ? X({
2199
2291
  state: n,
2200
2292
  declarations: a,
2201
2293
  saved: Object.values(i.regions).flatMap((e) => e.widgets),
@@ -2203,7 +2295,7 @@ var Ue = () => {
2203
2295
  }) : n;
2204
2296
  },
2205
2297
  adopt(e, t, n = r) {
2206
- return Z({
2298
+ return X({
2207
2299
  state: n,
2208
2300
  declarations: o(e),
2209
2301
  saved: t,
@@ -2213,12 +2305,12 @@ var Ue = () => {
2213
2305
  open(e, n = r) {
2214
2306
  let i = t.get(e.placementId);
2215
2307
  if (!i) throw Error(`Unknown mode placement: ${e.placementId}`);
2216
- return $n({
2308
+ return cr({
2217
2309
  label: a,
2218
2310
  target: e,
2219
2311
  item: i.item,
2220
2312
  current: n,
2221
- identityFor: (e) => rr(i, e)
2313
+ identityFor: (e) => fr(i, e)
2222
2314
  });
2223
2315
  },
2224
2316
  apply: (e) => {
@@ -2226,33 +2318,33 @@ var Ue = () => {
2226
2318
  },
2227
2319
  publish: c,
2228
2320
  resolve(e, t = r) {
2229
- return e ? o(e).flatMap((e) => e.item.kind === "view" ? Bn(e.item, t, e.id) ? [l(e, "default")] : [] : (t.resourceInstances.get(e.id) ?? []).map((t) => l(e, t.instanceKey, t.resource, t.open, t.title))) : [];
2321
+ return e ? o(e).flatMap((e) => e.item.kind === "view" ? Yn(e.item, t, e.id) ? [l(e, "default")] : [] : (t.resourceInstances.get(e.id) ?? []).map((t) => l(e, t.instanceKey, t.resource, t.open, t.title))) : [];
2230
2322
  }
2231
2323
  }, d = {
2232
2324
  registerPlacement(i) {
2233
- let a = or({
2325
+ let a = hr({
2234
2326
  placement: i,
2235
2327
  placements: t,
2236
2328
  refs: n,
2237
2329
  views: e.views
2238
- }), o = sr(i), s = er(e.registerPanel, e.views, {
2330
+ }), o = gr(i), s = lr(e.registerPanel, e.views, {
2239
2331
  ...o,
2240
- id: tr(o.id),
2241
- viewId: J(o.item),
2332
+ id: ur(o.id),
2333
+ viewId: q(o.item),
2242
2334
  role: o.region === "main" ? "location" : "sub-panel",
2243
2335
  singleton: o.item.kind === "view" || o.item.binding.cardinality === "one",
2244
- closable: Vn(o.item)
2336
+ closable: Xn(o.item)
2245
2337
  }, e.viewMenus);
2246
2338
  return t.set(o.id, o), n.set(a, o), c(), D(() => {
2247
- t.get(o.id) === o && (t.delete(o.id), n.delete(a), Xn(r, o.id), s.dispose(), c());
2339
+ t.get(o.id) === o && (t.delete(o.id), n.delete(a), ar(r, o.id), s.dispose(), c());
2248
2340
  });
2249
2341
  },
2250
2342
  getPlacement(e) {
2251
- return n.get(ar(e));
2343
+ return n.get(mr(e));
2252
2344
  },
2253
2345
  listPlacements: o,
2254
2346
  openPlacement(e) {
2255
- let t = n.get(ar(e.panel));
2347
+ let t = n.get(mr(e.panel));
2256
2348
  if (!t) throw Error(`Unknown mode panel: ${e.panel.extensionId}.${e.panel.id}`);
2257
2349
  let r = u.open({
2258
2350
  ...e,
@@ -2263,7 +2355,7 @@ var Ue = () => {
2263
2355
  closePlacement(e) {
2264
2356
  if (e.kind !== "mode") throw Error("Mode placement registry closes only mode-owned placements");
2265
2357
  let n = t.get(e.placementId);
2266
- n && Jn({
2358
+ n && rr({
2267
2359
  label: a,
2268
2360
  id: n.id,
2269
2361
  item: n.item,
@@ -2274,7 +2366,7 @@ var Ue = () => {
2274
2366
  updatePlacement(e, n) {
2275
2367
  if (e.kind !== "mode") throw Error("Mode placement registry updates only mode-owned placements");
2276
2368
  let i = t.get(e.placementId);
2277
- i && (Yn({
2369
+ i && (ir({
2278
2370
  label: a,
2279
2371
  id: i.id,
2280
2372
  item: i.item,
@@ -2288,10 +2380,10 @@ var Ue = () => {
2288
2380
  return i.add(e), D(() => i.delete(e));
2289
2381
  }
2290
2382
  };
2291
- return Qn(d, u), d;
2292
- }, lr = (e, t) => t.priority - e.priority || e.id.localeCompare(t.id), ur = () => {
2383
+ return sr(d, u), d;
2384
+ }, vr = (e, t) => t.priority - e.priority || e.id.localeCompare(t.id), yr = () => {
2293
2385
  throw Error("navigation.openTarget: no dispatcher available (configure resolveDispatcher)");
2294
- }, dr = async (e, t) => {
2386
+ }, br = async (e, t) => {
2295
2387
  if (e.kind === "page") {
2296
2388
  if (!t.openPageTarget) throw Error("navigation.openTarget: page target dispatcher is not configured");
2297
2389
  return t.openPageTarget(e);
@@ -2305,12 +2397,12 @@ var Ue = () => {
2305
2397
  return t.openHref(e.href);
2306
2398
  }
2307
2399
  return t.executeCommand(e.commandId, e.args);
2308
- }, fr = (e, t) => {
2400
+ }, xr = (e, t) => {
2309
2401
  if (e.kind === "href" && !Re(e)) throw Error("Navigation requires an HTTP or HTTPS URL.");
2310
2402
  if (e.kind === "panel" && t.canOpenPanel?.(e) === !1) throw Error(`Cannot open navigation panel target: ${e.panel.id}`);
2311
2403
  if (e.kind === "command" && t.canExecuteCommand?.(e.commandId) === !1) throw Error(`Cannot open navigation command target: ${e.commandId}`);
2312
- }, pr = (e) => e.kind === "compound" ? e.targets : [e], mr = (e = {}) => {
2313
- let t = e.resolveDispatcher ?? ur, n = k({
2404
+ }, Sr = (e) => e.kind === "compound" ? e.targets : [e], Cr = (e = {}) => {
2405
+ let t = e.resolveDispatcher ?? yr, n = k({
2314
2406
  name: "workbench.navigation",
2315
2407
  initialState: { parsers: {} }
2316
2408
  }), r = (e, t) => {
@@ -2343,7 +2435,7 @@ var Ue = () => {
2343
2435
  });
2344
2436
  },
2345
2437
  listParsers() {
2346
- return Object.values(n.getState().parsers).sort(lr);
2438
+ return Object.values(n.getState().parsers).sort(vr);
2347
2439
  },
2348
2440
  resolveLocation(e) {
2349
2441
  let t = this.listParsers().find((t) => t.canParse(e));
@@ -2351,14 +2443,14 @@ var Ue = () => {
2351
2443
  return t.parse(e);
2352
2444
  },
2353
2445
  async openTarget(e) {
2354
- let n = t(), r = pr(e), i = [];
2355
- for (let e of r) fr(e, n);
2446
+ let n = t(), r = Sr(e), i = [];
2447
+ for (let e of r) xr(e, n);
2356
2448
  if (e.kind === "compound") {
2357
2449
  if (e.targets.some((e) => e.kind !== "page" && e.kind !== "panel")) throw Error("Compound navigation accepts only page and panel targets");
2358
2450
  if (!n.prepareNavigation) throw Error("navigation.openTarget: navigation preparation is not configured");
2359
2451
  return [n.prepareNavigation(e.targets).commit()];
2360
2452
  }
2361
- for (let e of r) i.push(await dr(e, n));
2453
+ for (let e of r) i.push(await br(e, n));
2362
2454
  return i;
2363
2455
  },
2364
2456
  async openPage(e) {
@@ -2378,7 +2470,7 @@ var Ue = () => {
2378
2470
  }
2379
2471
  };
2380
2472
  return i;
2381
- }, hr = () => {
2473
+ }, wr = () => {
2382
2474
  let e = k({
2383
2475
  name: "workbench.notifications",
2384
2476
  initialState: { notifications: {} }
@@ -2431,14 +2523,14 @@ var Ue = () => {
2431
2523
  });
2432
2524
  }
2433
2525
  };
2434
- }, gr = (e) => `workbench.overlay.${encodeURIComponent(e)}`, _r = (e) => {
2526
+ }, Tr = (e) => `workbench.overlay.${encodeURIComponent(e)}`, Er = (e) => {
2435
2527
  let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
2436
2528
  return {
2437
2529
  registerOverlay(r) {
2438
2530
  if (t.has(r.id)) throw Error(`Overlay already registered: ${r.id}`);
2439
- let i = { ...r }, a = er(e.layout, e.views, {
2531
+ let i = { ...r }, a = lr(e.layout, e.views, {
2440
2532
  ...i,
2441
- id: gr(i.id),
2533
+ id: Tr(i.id),
2442
2534
  region: "overlay",
2443
2535
  role: "content",
2444
2536
  singleton: !0,
@@ -2452,7 +2544,7 @@ var Ue = () => {
2452
2544
  listOverlays: () => [...t.values()].sort((e, t) => e.id.localeCompare(t.id)),
2453
2545
  openOverlay(n, r = {}) {
2454
2546
  if (!t.has(n)) throw Error(`Unknown overlay: ${n}`);
2455
- return e.layout.openPanel(gr(n), {
2547
+ return e.layout.openPanel(Tr(n), {
2456
2548
  viewId: t.get(n)?.viewId,
2457
2549
  resource: r.resource,
2458
2550
  title: r.title,
@@ -2464,22 +2556,22 @@ var Ue = () => {
2464
2556
  e.layout.removeWidgetPlacement(t);
2465
2557
  }
2466
2558
  };
2467
- }, vr = (e) => ({
2559
+ }, Dr = (e) => ({
2468
2560
  openStaticSlotIds: e.slots.filter((e) => e.item.kind === "view" && e.item.presence === "open").map((e) => e.id),
2469
2561
  resourceInstances: {}
2470
- }), yr = (e, t) => e.item.kind === "view" && (e.item.presence === "fixed" || t.openStaticSlotIds.includes(e.id)), br = (e, t, n) => {
2562
+ }), Or = (e, t) => e.item.kind === "view" && (e.item.presence === "fixed" || t.openStaticSlotIds.includes(e.id)), kr = (e, t, n) => {
2471
2563
  if (e.item.kind !== "binding" || e.item.binding.cardinality !== "many") return [n];
2472
2564
  let r = t.find((e) => e.instanceKey === n.instanceKey)?.open === "pin" || n.open === "pin" ? "pin" : "preview";
2473
2565
  return [...t.filter((e) => e.instanceKey !== n.instanceKey && (r === "pin" || e.open === "pin")), {
2474
2566
  ...n,
2475
2567
  open: r
2476
2568
  }];
2477
- }, xr = (e) => {
2569
+ }, Ar = (e) => {
2478
2570
  let { slot: t, state: n, target: r } = e;
2479
2571
  if (t.item.kind !== "binding") throw Error(`Page slot "${t.id}" does not accept a resource`);
2480
2572
  let i = t.item.binding;
2481
2573
  if (!r.resource) throw Error(`Page slot "${t.id}" requires a resource`);
2482
- if (!q(i, r.resource)) throw Error(`Page slot "${t.id}" does not accept resource kind "${r.resource.type}"`);
2574
+ if (!K(i, r.resource)) throw Error(`Page slot "${t.id}" does not accept resource kind "${r.resource.type}"`);
2483
2575
  if (r.open && i.cardinality !== "many") throw Error(`Page slot "${t.id}" accepts open intent only with many cardinality`);
2484
2576
  let a = e.resourceKey(r.resource), o = {
2485
2577
  instanceKey: a,
@@ -2491,22 +2583,22 @@ var Ue = () => {
2491
2583
  ...n,
2492
2584
  resourceInstances: {
2493
2585
  ...n.resourceInstances,
2494
- [t.id]: br(t, n.resourceInstances[t.id] ?? [], o)
2586
+ [t.id]: kr(t, n.resourceInstances[t.id] ?? [], o)
2495
2587
  },
2496
2588
  ...t.role === "primary" ? { activePrimaryInstanceKey: a } : {}
2497
2589
  };
2498
- }, Sr = (e) => {
2590
+ }, jr = (e) => {
2499
2591
  let { page: t, target: n } = e;
2500
2592
  if (t.resource) {
2501
2593
  if (!n.resource) throw Error(`Page "${t.id}" requires a resource`);
2502
- if (!q(t.resource, n.resource)) throw Error(`Page "${t.id}" does not accept resource kind "${n.resource.type}"`);
2594
+ if (!K(t.resource, n.resource)) throw Error(`Page "${t.id}" does not accept resource kind "${n.resource.type}"`);
2503
2595
  } else if (n.resource) throw Error(`Page "${t.id}" does not accept a resource`);
2504
- let r = W(t);
2596
+ let r = U(t);
2505
2597
  if (!r) {
2506
2598
  if (n.open) throw Error(`Panel collection page "${t.id}" does not accept an open intent`);
2507
2599
  return e.state;
2508
2600
  }
2509
- if (n.resource) return xr({
2601
+ if (n.resource) return Ar({
2510
2602
  ...e,
2511
2603
  slot: r
2512
2604
  });
@@ -2515,7 +2607,7 @@ var Ue = () => {
2515
2607
  ...e.state,
2516
2608
  activePrimaryInstanceKey: "default"
2517
2609
  };
2518
- }, Cr = (e, t) => e.slots.filter((e) => e.item.kind === "binding" && e.openOn === "page-resource" && t && q(e.item.binding, t)), wr = (e) => e.target.resource ? Cr(e.page, e.target.resource).reduce((t, n) => xr({
2610
+ }, Mr = (e, t) => e.slots.filter((e) => e.item.kind === "binding" && e.openOn === "page-resource" && t && K(e.item.binding, t)), Nr = (e) => e.target.resource ? Mr(e.page, e.target.resource).reduce((t, n) => Ar({
2519
2611
  slot: {
2520
2612
  ...n,
2521
2613
  role: "auxiliary"
@@ -2526,22 +2618,22 @@ var Ue = () => {
2526
2618
  resource: e.target.resource
2527
2619
  },
2528
2620
  resourceKey: e.resourceKey
2529
- }), e.state) : e.state, Tr = (e, t, n) => {
2621
+ }), e.state) : e.state, Pr = (e, t, n) => {
2530
2622
  let r = new Set(e.openStaticSlotIds);
2531
2623
  return n ? r.add(t) : r.delete(t), {
2532
2624
  ...e,
2533
2625
  openStaticSlotIds: [...r]
2534
2626
  };
2535
- }, Er = (e, t, n) => ({
2627
+ }, Fr = (e, t, n) => ({
2536
2628
  ...e,
2537
2629
  resourceInstances: {
2538
2630
  ...e.resourceInstances,
2539
2631
  [t]: (e.resourceInstances[t] ?? []).filter((e) => e.instanceKey !== n)
2540
2632
  }
2541
- }), Dr = (e) => {
2633
+ }), Ir = (e) => {
2542
2634
  let { page: t, slot: n, instanceKey: r } = e;
2543
- if (!xn(n)) throw Error(`Page slot "${n.id}" is fixed and cannot close`);
2544
- let i = r === "default" ? Tr(e.state, n.id, !1) : Er(e.state, n.id, r);
2635
+ if (!An(n)) throw Error(`Page slot "${n.id}" is fixed and cannot close`);
2636
+ let i = r === "default" ? Pr(e.state, n.id, !1) : Fr(e.state, n.id, r);
2545
2637
  if (n.role === "auxiliary") return {
2546
2638
  kind: "stay",
2547
2639
  state: i
@@ -2564,13 +2656,13 @@ var Ue = () => {
2564
2656
  state: i,
2565
2657
  parentId: t.parentId
2566
2658
  };
2567
- }, Or = (e) => {
2659
+ }, Lr = (e) => {
2568
2660
  let { identity: t, page: n, state: r } = e;
2569
2661
  if (t.kind !== "page") throw Error("Page registry can close only page-owned placements");
2570
2662
  if (r.activePageId !== t.pageId) throw Error(`Page is not active: ${t.pageId}`);
2571
- let i = Cn(n, t.slotId);
2663
+ let i = Mn(n, t.slotId);
2572
2664
  if (!r.placements.some((e) => f(e.identity) === f(t))) throw Error(`Page placement is not open: ${f(t)}`);
2573
- let a = r.pageStates[e.stateKey] ?? vr(n), o = i.role === "primary" && a.activePrimaryInstanceKey === t.instanceKey, s = Dr({
2665
+ let a = r.pageStates[e.stateKey] ?? Dr(n), o = i.role === "primary" && a.activePrimaryInstanceKey === t.instanceKey, s = Ir({
2574
2666
  page: n,
2575
2667
  slot: i,
2576
2668
  state: a,
@@ -2609,9 +2701,9 @@ var Ue = () => {
2609
2701
  },
2610
2702
  locationChanged: o
2611
2703
  };
2612
- }, kr = (e, t, n) => {
2704
+ }, Rr = (e, t, n) => {
2613
2705
  if (t.kind !== "page" || e.activePageId !== t.pageId) throw Error("Only an active page placement can be pinned");
2614
- let r = e.pages[t.pageId], i = G(r, e.location, n), a = e.pageStates[i], o = a.resourceInstances[t.slotId] ?? [];
2706
+ let r = e.pages[t.pageId], i = W(r, e.location, n), a = e.pageStates[i], o = a.resourceInstances[t.slotId] ?? [];
2615
2707
  if (!o.some((e) => e.instanceKey === t.instanceKey)) throw Error("Only an open resource placement can be pinned");
2616
2708
  return {
2617
2709
  ...e,
@@ -2629,28 +2721,28 @@ var Ue = () => {
2629
2721
  }
2630
2722
  }
2631
2723
  };
2632
- }, Ar = (e, t, n) => ({
2724
+ }, zr = (e, t, n) => ({
2633
2725
  kind: "page",
2634
2726
  pageId: e,
2635
2727
  slotId: t,
2636
2728
  instanceKey: n
2637
- }), jr = (e, t, n) => t ? Cr(e, t).filter((e) => e.region !== "main").filter((e, t, n) => n.findIndex((t) => t.region === e.region) === t).map((r) => Ar(e.id, r.id, n(t))) : [], Mr = (e) => {
2729
+ }), Br = (e, t, n) => t ? Mr(e, t).filter((e) => e.region !== "main").filter((e, t, n) => n.findIndex((t) => t.region === e.region) === t).map((r) => zr(e.id, r.id, n(t))) : [], Vr = (e) => {
2638
2730
  let t = /* @__PURE__ */ new Set();
2639
2731
  for (let n of e.slots) {
2640
2732
  if (n.id === "$main" || t.has(n.id)) throw Error(`Page "${e.id}" declares duplicate or reserved slot "${n.id}"`);
2641
2733
  if (t.add(n.id), n.item.kind === "binding" && n.item.binding.kinds.length === 0) throw Error(`Page slot "${n.id}" must bind at least one resource kind`);
2642
2734
  if (n.openOn && n.item.kind !== "binding") throw Error(`Page slot "${n.id}" requires a binding for openOn`);
2643
2735
  }
2644
- }, Nr = (e) => {
2736
+ }, Hr = (e) => {
2645
2737
  if (e.ref.kind !== "page" || !e.ref.extensionId || !e.ref.id) throw Error(`Page "${e.id}" must declare a normalized page ref`);
2646
2738
  if (e.path.startsWith("/") || e.path.endsWith("/")) throw Error(`Page "${e.id}" must declare a normalized path`);
2647
2739
  if (!e.main || e.main.kind !== "view" && e.main.kind !== "panels") throw Error(`Page "${e.id}" must declare Main content or a panel collection`);
2648
2740
  if (e.resource && e.resource.kinds.length === 0) throw Error(`Page "${e.id}" must accept at least one resource kind`);
2649
2741
  if (e.main.kind === "view" && e.main.cardinality === "many" && !e.resource) throw Error(`Page "${e.id}" requires a resource for many cardinality`);
2650
2742
  if (e.main.kind === "view" && e.resource && !e.parentId) throw Error(`Resource page "${e.id}" must declare a parent`);
2651
- Mr(e);
2652
- }, Pr = (e) => {
2653
- let t = e.slot.item, n = t.kind === "view" ? t.view : t.binding.view, r = Ar(e.page.id, e.slot.id, e.instanceKey);
2743
+ Vr(e);
2744
+ }, Ur = (e) => {
2745
+ let t = e.slot.item, n = t.kind === "view" ? t.view : t.binding.view, r = zr(e.page.id, e.slot.id, e.instanceKey);
2654
2746
  return {
2655
2747
  identity: r,
2656
2748
  region: e.slot.region,
@@ -2660,32 +2752,32 @@ var Ue = () => {
2660
2752
  pageId: e.page.id,
2661
2753
  slotId: e.slot.id,
2662
2754
  role: e.slot.role,
2663
- viewId: K(n),
2755
+ viewId: G(n),
2664
2756
  ...e.resource ? { resource: e.resource } : {},
2665
2757
  ...e.section ? { section: e.section } : {},
2666
2758
  ...e.open ? { open: e.open } : {},
2667
- closable: xn(e.slot)
2759
+ closable: An(e.slot)
2668
2760
  })
2669
2761
  };
2670
- }, Fr = (e) => {
2762
+ }, Wr = (e) => {
2671
2763
  let t = [];
2672
- for (let n of Sn(e.page)) if (!n.isAvailable || n.isAvailable(e.resource)) {
2673
- yr(n, e.state) && t.push(Pr({
2764
+ for (let n of jn(e.page)) if (!n.isAvailable || n.isAvailable(e.resource)) {
2765
+ Or(n, e.state) && t.push(Ur({
2674
2766
  ...e,
2675
2767
  slot: n,
2676
2768
  instanceKey: "default"
2677
2769
  }));
2678
- for (let r of e.state.resourceInstances[n.id] ?? []) t.push(Pr({
2770
+ for (let r of e.state.resourceInstances[n.id] ?? []) t.push(Ur({
2679
2771
  ...e,
2680
2772
  slot: n,
2681
2773
  ...r
2682
2774
  }));
2683
2775
  }
2684
- return e.page.main.kind === "panels" && ![...t, ...e.sharedPlacements].some((e) => e.region === "main") && t.push(Pr({
2776
+ return e.page.main.kind === "panels" && ![...t, ...e.sharedPlacements].some((e) => e.region === "main") && t.push(Ur({
2685
2777
  ...e,
2686
2778
  instanceKey: "default",
2687
2779
  slot: {
2688
- id: bn,
2780
+ id: kn,
2689
2781
  role: "primary",
2690
2782
  region: "main",
2691
2783
  item: {
@@ -2695,23 +2787,23 @@ var Ue = () => {
2695
2787
  }
2696
2788
  }
2697
2789
  })), t;
2698
- }, Ir = () => ({
2790
+ }, Gr = () => ({
2699
2791
  add: [],
2700
2792
  retain: [],
2701
2793
  update: [],
2702
2794
  activate: [],
2703
2795
  remove: []
2704
- }), Lr = (e) => k({
2796
+ }), Kr = (e) => k({
2705
2797
  name: "workbench.pages",
2706
2798
  initialState: {
2707
2799
  pages: {},
2708
2800
  pageStates: {},
2709
2801
  placements: d({ shell: e.resolveShellPlacements() }).placements,
2710
- reconciliation: Ir()
2802
+ reconciliation: Gr()
2711
2803
  }
2712
- }), Rr = (e) => {
2804
+ }), qr = (e) => {
2713
2805
  if (e.modeId) return e.desired ? e.desired : e.resolveModePlacements(e.modeId, e.location, e.projectId, e.pageId);
2714
- }, zr = (e) => {
2806
+ }, Jr = (e) => {
2715
2807
  let t = e.state.activeModeId;
2716
2808
  t && e.commit({
2717
2809
  pageStates: e.state.pageStates,
@@ -2722,7 +2814,7 @@ var Ue = () => {
2722
2814
  modePlacements: e.registryInput.resolveModePlacements(t),
2723
2815
  action: "refreshModePlacements"
2724
2816
  });
2725
- }, Br = (e) => {
2817
+ }, Yr = (e) => {
2726
2818
  e.commit({
2727
2819
  pageStates: e.state.pageStates,
2728
2820
  projectId: e.state.projectId,
@@ -2731,15 +2823,15 @@ var Ue = () => {
2731
2823
  activeModeId: e.state.activeModeId,
2732
2824
  action: "refreshShellPlacements"
2733
2825
  });
2734
- }, Vr = (e) => {
2826
+ }, Xr = (e) => {
2735
2827
  let t = e.resources.normalize, n = (n) => e.resources.toUri(t(n)), r = (e, t) => {
2736
2828
  let n = e.pages[t];
2737
2829
  if (!n) throw Error(`Unknown page: ${t}`);
2738
2830
  return n;
2739
2831
  }, i = (t, n, r) => {
2740
- let i = n.activePageId ? t.pages[n.activePageId] : void 0, a = i ? n.pageStates[G(i, n.location, e.resources)] : void 0;
2832
+ let i = n.activePageId ? t.pages[n.activePageId] : void 0, a = i ? n.pageStates[W(i, n.location, e.resources)] : void 0;
2741
2833
  n.activeModeId && e.validateMode?.(n.activeModeId);
2742
- let o = r?.mode ?? Rr({
2834
+ let o = r?.mode ?? qr({
2743
2835
  current: t,
2744
2836
  modeId: n.activeModeId,
2745
2837
  desired: n.modePlacements,
@@ -2757,7 +2849,7 @@ var Ue = () => {
2757
2849
  } : void 0), c = d({
2758
2850
  shell: s,
2759
2851
  mode: o,
2760
- ...i && a ? { page: Fr({
2852
+ ...i && a ? { page: Wr({
2761
2853
  page: i,
2762
2854
  state: a,
2763
2855
  resource: n.location?.resource,
@@ -2787,17 +2879,17 @@ var Ue = () => {
2787
2879
  let c = a.pageStates ?? o.pageStates, l = r(o, a.pageId), u = {
2788
2880
  ...a,
2789
2881
  ...a.resource ? { resource: t(a.resource) } : {}
2790
- }, d = G(l, a.location, e.resources), f = Sr({
2882
+ }, d = W(l, a.location, e.resources), f = jr({
2791
2883
  page: l,
2792
- state: c[d] ?? e.restorePageState?.(l, a.location, a.projectId) ?? vr(l),
2884
+ state: c[d] ?? e.restorePageState?.(l, a.location, a.projectId) ?? Dr(l),
2793
2885
  target: u,
2794
2886
  resourceKey: n
2795
- }), p = !a.pageStates || o.activePageId !== l.id || P(o.location?.resource) !== P(u.resource) || o.pageStates[d]?.activePrimaryInstanceKey !== f.activePrimaryInstanceKey, m = p ? wr({
2887
+ }), p = !a.pageStates || o.activePageId !== l.id || P(o.location?.resource) !== P(u.resource) || o.pageStates[d]?.activePrimaryInstanceKey !== f.activePrimaryInstanceKey, m = p ? Nr({
2796
2888
  page: l,
2797
2889
  state: f,
2798
2890
  target: u,
2799
2891
  resourceKey: n
2800
- }) : f, h = W(l), g = m.activePrimaryInstanceKey, _ = p ? jr(l, u.resource, n) : [];
2892
+ }) : f, h = U(l), g = m.activePrimaryInstanceKey, _ = p ? Br(l, u.resource, n) : [];
2801
2893
  return i(o, {
2802
2894
  pageStates: {
2803
2895
  ...c,
@@ -2807,16 +2899,16 @@ var Ue = () => {
2807
2899
  location: a.location,
2808
2900
  activePageId: l.id,
2809
2901
  activeModeId: l.modeId,
2810
- activate: [...h && g ? [Ar(l.id, h.id, g)] : [], ..._],
2902
+ activate: [...h && g ? [zr(l.id, h.id, g)] : [], ..._],
2811
2903
  action: a.action
2812
2904
  }, s);
2813
2905
  },
2814
2906
  slot: (a, o, s) => {
2815
2907
  if (o.activePageId !== a.pageId) throw Error(`Page is not active: ${a.pageId}`);
2816
- let c = r(o, a.pageId), l = Cn(c, a.slotId);
2908
+ let c = r(o, a.pageId), l = Mn(c, a.slotId);
2817
2909
  if (l.role !== "auxiliary") throw Error(`Page slot is not an auxiliary panel: ${c.id}.${l.id}`);
2818
- let u = G(c, o.location, e.resources), d = o.pageStates[u] ?? vr(c), f = "default", p = a.resource ? t(a.resource) : void 0;
2819
- if (p) f = n(p), d = xr({
2910
+ let u = W(c, o.location, e.resources), d = o.pageStates[u] ?? Dr(c), f = "default", p = a.resource ? t(a.resource) : void 0;
2911
+ if (p) f = n(p), d = Ar({
2820
2912
  slot: l,
2821
2913
  state: d,
2822
2914
  target: {
@@ -2828,7 +2920,7 @@ var Ue = () => {
2828
2920
  else {
2829
2921
  if (l.item.kind === "binding") throw Error(`Page slot "${l.id}" requires a resource`);
2830
2922
  if (a.open) throw Error(`Page slot "${l.id}" accepts open intent only with a resource`);
2831
- l.item.presence !== "fixed" && (d = Tr(d, l.id, !0));
2923
+ l.item.presence !== "fixed" && (d = Pr(d, l.id, !0));
2832
2924
  }
2833
2925
  return i(o, {
2834
2926
  ...o,
@@ -2836,20 +2928,20 @@ var Ue = () => {
2836
2928
  ...o.pageStates,
2837
2929
  [u]: d
2838
2930
  },
2839
- activate: [Ar(c.id, l.id, f)],
2931
+ activate: [zr(c.id, l.id, f)],
2840
2932
  action: "openPageSlot"
2841
2933
  }, s);
2842
2934
  }
2843
2935
  };
2844
- }, Hr = () => ({
2936
+ }, Zr = () => ({
2845
2937
  add: [],
2846
2938
  retain: [],
2847
2939
  update: [],
2848
2940
  activate: [],
2849
2941
  remove: []
2850
- }), Ur = (e) => {
2942
+ }), Qr = (e) => {
2851
2943
  let { page: t, store: n } = e;
2852
- Nr(t);
2944
+ Hr(t);
2853
2945
  let r = n.getState();
2854
2946
  if (r.pages[t.id]) throw Error(`Page already registered: ${t.id}`);
2855
2947
  if (Object.values(r.pages).some((e) => e.ref.extensionId === t.ref.extensionId && e.ref.id === t.ref.id)) throw Error(`Page ref already registered: ${t.ref.extensionId}.${t.ref.id}`);
@@ -2865,11 +2957,11 @@ var Ue = () => {
2865
2957
  ...r.pages,
2866
2958
  [t.id]: i
2867
2959
  },
2868
- reconciliation: Hr()
2960
+ reconciliation: Zr()
2869
2961
  }, !1, "registerPage"), D(() => {
2870
2962
  let r = n.getState();
2871
2963
  if (r.pages[t.id] !== i) return;
2872
- let { [t.id]: o, ...s } = r.pages, c = En(r.pageStates, t.id);
2964
+ let { [t.id]: o, ...s } = r.pages, c = Fn(r.pageStates, t.id);
2873
2965
  if (r.activePageId === t.id) {
2874
2966
  let t = d({ shell: e.registryInput.resolveShellPlacements() }).placements;
2875
2967
  e.publishState({
@@ -2892,11 +2984,11 @@ var Ue = () => {
2892
2984
  ...r,
2893
2985
  pages: s,
2894
2986
  pageStates: c,
2895
- reconciliation: Hr()
2987
+ reconciliation: Zr()
2896
2988
  }, !1, "unregisterPage"), a?.dispose();
2897
2989
  });
2898
- }, Wr = (e) => {
2899
- let t = (t) => e.resources.normalize(t), n = (n) => e.resources.toUri(t(n)), r = Lr(e), i, a, o = (e, t) => w(() => {
2990
+ }, $r = (e) => {
2991
+ let t = (t) => e.resources.normalize(t), n = (n) => e.resources.toUri(t(n)), r = Kr(e), i, a, o = (e, t) => w(() => {
2900
2992
  let n = r.getState(), o = a;
2901
2993
  a = e;
2902
2994
  try {
@@ -2909,10 +3001,10 @@ var Ue = () => {
2909
3001
  let t = r.getState().pages[e];
2910
3002
  if (!t) throw Error(`Unknown page: ${e}`);
2911
3003
  return t;
2912
- }, c = Vr(e), l = (e) => o(c.compose(a ?? r.getState(), e), e.action), u = (e) => o(c.location(e, r.getState()), e.action), f = {
3004
+ }, c = Xr(e), l = (e) => o(c.compose(a ?? r.getState(), e), e.action), u = (e) => o(c.location(e, r.getState()), e.action), f = {
2913
3005
  store: r,
2914
3006
  registerPage(i) {
2915
- return Ur({
3007
+ return Qr({
2916
3008
  page: i,
2917
3009
  registryInput: e,
2918
3010
  store: r,
@@ -2929,7 +3021,7 @@ var Ue = () => {
2929
3021
  },
2930
3022
  pinPlacement(t) {
2931
3023
  l({
2932
- ...kr(r.getState(), t, e.resources),
3024
+ ...Rr(r.getState(), t, e.resources),
2933
3025
  action: "pinPagePlacement"
2934
3026
  });
2935
3027
  },
@@ -2937,7 +3029,7 @@ var Ue = () => {
2937
3029
  o(c.slot(e, r.getState()), "openPageSlot");
2938
3030
  }
2939
3031
  };
2940
- return Jt(f, {
3032
+ return $t(f, {
2941
3033
  resources: e.resources,
2942
3034
  prepare: c,
2943
3035
  publish: o,
@@ -2956,14 +3048,14 @@ var Ue = () => {
2956
3048
  });
2957
3049
  },
2958
3050
  refreshModePlacements() {
2959
- zr({
3051
+ Jr({
2960
3052
  state: a ?? r.getState(),
2961
3053
  registryInput: e,
2962
3054
  commit: l
2963
3055
  });
2964
3056
  },
2965
3057
  refreshShellPlacements() {
2966
- Br({
3058
+ Yr({
2967
3059
  state: a ?? r.getState(),
2968
3060
  commit: l
2969
3061
  });
@@ -2989,16 +3081,16 @@ var Ue = () => {
2989
3081
  resolveClosePlacement(t) {
2990
3082
  let i = r.getState();
2991
3083
  if (t.kind !== "page") throw Error("Page registry can close only page-owned placements");
2992
- return Or({
3084
+ return Lr({
2993
3085
  identity: t,
2994
3086
  page: s(t.pageId),
2995
3087
  state: i,
2996
- stateKey: G(s(t.pageId), i.location, e.resources),
3088
+ stateKey: W(s(t.pageId), i.location, e.resources),
2997
3089
  resourceKey: n
2998
3090
  });
2999
3091
  }
3000
3092
  }), f;
3001
- }, Gr = (e) => ({ registerPlaceholder(t, n) {
3093
+ }, ei = (e) => ({ registerPlaceholder(t, n) {
3002
3094
  let r = e.views.getView(t.viewId);
3003
3095
  if (!r) throw Error(`Workbench placeholder view is not registered: ${t.viewId}`);
3004
3096
  return e.layout.registerPlaceholder({
@@ -3006,26 +3098,26 @@ var Ue = () => {
3006
3098
  title: t.title ?? r.title,
3007
3099
  rendererId: r.id
3008
3100
  }, n);
3009
- } }), Kr = (e) => `workbench.shell-placement.${encodeURIComponent(e)}`, qr = (e, t) => ({
3101
+ } }), ti = (e) => `workbench.shell-placement.${encodeURIComponent(e)}`, ni = (e, t) => ({
3010
3102
  kind: "shell",
3011
3103
  placementId: e,
3012
3104
  instanceKey: t
3013
- }), Jr = (e) => e === "main" ? "location" : e === "secondary" || e === "side" ? "sub-panel" : "content", Yr = (e) => e === "pin" ? {
3105
+ }), ri = (e) => e === "main" ? "location" : e === "secondary" || e === "side" ? "sub-panel" : "content", ii = (e) => e === "pin" ? {
3014
3106
  pinned: !0,
3015
3107
  tabRetention: "persistent"
3016
3108
  } : e === "preview" ? {
3017
3109
  pinned: !1,
3018
3110
  tabRetention: "preview"
3019
- } : {}, Xr = (e) => {
3020
- let t = /* @__PURE__ */ new Map(), n = Y(), r = /* @__PURE__ */ new Set(), i = "Shell placement", a, o = () => {
3111
+ } : {}, ai = (e) => {
3112
+ let t = /* @__PURE__ */ new Map(), n = J(), r = /* @__PURE__ */ new Set(), i = "Shell placement", a, o = () => {
3021
3113
  a?.();
3022
3114
  for (let e of r) De(e, () => N("shell placement subscriber", e));
3023
3115
  }, s = (t) => {
3024
3116
  if (!e.enteredWithPersistedLayout()) {
3025
- Xn(n, t.id);
3117
+ ar(n, t.id);
3026
3118
  return;
3027
3119
  }
3028
- n = Z({
3120
+ n = X({
3029
3121
  state: n,
3030
3122
  declarations: [t],
3031
3123
  saved: Object.values(e.getLayout().regions).flatMap((e) => e.widgets),
@@ -3037,19 +3129,19 @@ var Ue = () => {
3037
3129
  De(t, o);
3038
3130
  });
3039
3131
  let c = (t, n, r, i, a) => {
3040
- let o = e.getPanel(Kr(t.id));
3132
+ let o = e.getPanel(ti(t.id));
3041
3133
  if (!o) throw Error(`Workbench shell placement is not registered: ${t.id}`);
3042
3134
  return {
3043
- identity: qr(t.id, n),
3135
+ identity: ni(t.id, n),
3044
3136
  region: t.region,
3045
3137
  order: t.order ?? 0,
3046
3138
  value: Ge(`workbench.shell.${encodeURIComponent(t.id)}.${encodeURIComponent(n)}`, o, {
3047
- viewId: J(t.item),
3048
- role: Jr(t.region),
3049
- closable: Vn(t.item),
3139
+ viewId: q(t.item),
3140
+ role: ri(t.region),
3141
+ closable: Xn(t.item),
3050
3142
  ...r ? { resource: r } : {},
3051
3143
  ...a ? { title: a } : {},
3052
- ...Yr(i)
3144
+ ...ii(i)
3053
3145
  })
3054
3146
  };
3055
3147
  }, l = {
@@ -3065,15 +3157,15 @@ var Ue = () => {
3065
3157
  if (o === (a ? e.resolveScope(a) : e.getScope?.())) return i;
3066
3158
  if (o === e.getScope?.()) return n;
3067
3159
  let s = e.loadLayout?.(r);
3068
- return s ? Z({
3069
- state: Y(),
3160
+ return s ? X({
3161
+ state: J(),
3070
3162
  declarations: [...t.values()],
3071
3163
  saved: Object.values(s.regions).flatMap((e) => e.widgets),
3072
3164
  owns: (e) => e.kind === "shell"
3073
- }) : Y();
3165
+ }) : J();
3074
3166
  },
3075
3167
  adopt(e, r, i = n) {
3076
- return Z({
3168
+ return X({
3077
3169
  state: i,
3078
3170
  declarations: [...t.values()],
3079
3171
  saved: r,
@@ -3083,12 +3175,12 @@ var Ue = () => {
3083
3175
  open(e, r = n) {
3084
3176
  let a = t.get(e.placementId);
3085
3177
  if (!a) throw Error(`Unknown shell placement: ${e.placementId}`);
3086
- return $n({
3178
+ return cr({
3087
3179
  label: i,
3088
3180
  target: e,
3089
3181
  item: a.item,
3090
3182
  current: r,
3091
- identityFor: (e) => qr(a.id, e)
3183
+ identityFor: (e) => ni(a.id, e)
3092
3184
  });
3093
3185
  },
3094
3186
  apply: (e) => {
@@ -3096,26 +3188,26 @@ var Ue = () => {
3096
3188
  },
3097
3189
  publish: o,
3098
3190
  resolve(e, r = n) {
3099
- return [...t.values()].flatMap((e) => e.item.kind === "view" ? Bn(e.item, r, e.id) ? [c(e, "default")] : [] : (r.resourceInstances.get(e.id) ?? []).map((t) => c(e, t.instanceKey, t.resource, t.open, t.title)));
3191
+ return [...t.values()].flatMap((e) => e.item.kind === "view" ? Yn(e.item, r, e.id) ? [c(e, "default")] : [] : (r.resourceInstances.get(e.id) ?? []).map((t) => c(e, t.instanceKey, t.resource, t.open, t.title)));
3100
3192
  }
3101
3193
  }, u = {
3102
3194
  registerPlacement(r) {
3103
3195
  if (t.has(r.id)) throw Error(`Shell placement already registered: ${r.id}`);
3104
- if (!e.views.getView(J(r.item))) throw Error(`Workbench shell placement view is not registered: ${J(r.item)}`);
3105
- Hn(i, r.id, r.item);
3196
+ if (!e.views.getView(q(r.item))) throw Error(`Workbench shell placement view is not registered: ${q(r.item)}`);
3197
+ Zn(i, r.id, r.item);
3106
3198
  let a = {
3107
3199
  ...r,
3108
3200
  item: { ...r.item }
3109
- }, c = er(e.registerPanel, e.views, {
3201
+ }, c = lr(e.registerPanel, e.views, {
3110
3202
  ...a,
3111
- id: Kr(a.id),
3112
- viewId: J(a.item),
3113
- role: Jr(a.region),
3203
+ id: ti(a.id),
3204
+ viewId: q(a.item),
3205
+ role: ri(a.region),
3114
3206
  singleton: a.item.kind === "view" || a.item.binding.cardinality === "one",
3115
- closable: Vn(a.item)
3207
+ closable: Xn(a.item)
3116
3208
  }, e.viewMenus);
3117
3209
  return t.set(a.id, a), e.enteredWithPersistedLayout() && s(a), o(), D(() => {
3118
- t.get(a.id) === a && (t.delete(a.id), Xn(n, a.id), c.dispose(), o());
3210
+ t.get(a.id) === a && (t.delete(a.id), ar(n, a.id), c.dispose(), o());
3119
3211
  });
3120
3212
  },
3121
3213
  getPlacement: (e) => t.get(e),
@@ -3127,7 +3219,7 @@ var Ue = () => {
3127
3219
  closePlacement(e) {
3128
3220
  if (e.kind !== "shell") throw Error("Shell placement registry closes only shell-owned placements");
3129
3221
  let r = t.get(e.placementId);
3130
- r && Jn({
3222
+ r && rr({
3131
3223
  label: i,
3132
3224
  id: r.id,
3133
3225
  item: r.item,
@@ -3138,7 +3230,7 @@ var Ue = () => {
3138
3230
  updatePlacement(e, r) {
3139
3231
  if (e.kind !== "shell") throw Error("Shell placement registry updates only shell-owned placements");
3140
3232
  let a = t.get(e.placementId);
3141
- a && (Yn({
3233
+ a && (ir({
3142
3234
  label: i,
3143
3235
  id: a.id,
3144
3236
  item: a.item,
@@ -3152,22 +3244,22 @@ var Ue = () => {
3152
3244
  return r.add(e), D(() => r.delete(e));
3153
3245
  }
3154
3246
  };
3155
- return Qn(u, l), u;
3156
- }, Zr = (e, t) => `${e}:${t.scope}:${t.scopeId ?? ""}`, Qr = () => {
3247
+ return sr(u, l), u;
3248
+ }, oi = (e, t) => `${e}:${t.scope}:${t.scopeId ?? ""}`, si = () => {
3157
3249
  let e = /* @__PURE__ */ new Map();
3158
3250
  return {
3159
3251
  getValue(t, n) {
3160
- return e.get(Zr(t, n));
3252
+ return e.get(oi(t, n));
3161
3253
  },
3162
3254
  setValue(t, n, r) {
3163
- e.set(Zr(t, r), n);
3255
+ e.set(oi(t, r), n);
3164
3256
  }
3165
3257
  };
3166
- }, $r = (e = {}) => {
3258
+ }, ci = (e = {}) => {
3167
3259
  let t = k({
3168
3260
  name: "workbench.preferences",
3169
3261
  initialState: { schemas: {} }
3170
- }), n = e.persistence ?? Qr();
3262
+ }), n = e.persistence ?? si();
3171
3263
  return {
3172
3264
  store: t,
3173
3265
  registerSchema(e, n) {
@@ -3207,7 +3299,7 @@ var Ue = () => {
3207
3299
  return i === void 0 ? t.getState().schemas[e]?.default : i;
3208
3300
  }
3209
3301
  };
3210
- }, ei = (e) => {
3302
+ }, li = (e) => {
3211
3303
  let { rendererRegistry: t } = e, n = k({
3212
3304
  name: "workbench.controlsRenderers",
3213
3305
  initialState: { renderers: {} }
@@ -3267,7 +3359,7 @@ var Ue = () => {
3267
3359
  });
3268
3360
  }
3269
3361
  };
3270
- }, ti = (e) => {
3362
+ }, ui = (e) => {
3271
3363
  let t = k({
3272
3364
  name: "workbench.dataTableRenderers",
3273
3365
  initialState: { renderers: {} }
@@ -3318,7 +3410,7 @@ var Ue = () => {
3318
3410
  return n.add(e), D(() => n.delete(e));
3319
3411
  }
3320
3412
  };
3321
- }, ni = (e) => {
3413
+ }, di = (e) => {
3322
3414
  let { rendererRegistry: t } = e, n = k({
3323
3415
  name: "workbench.fileRenderers",
3324
3416
  initialState: { renderers: {} }
@@ -3381,7 +3473,7 @@ var Ue = () => {
3381
3473
  });
3382
3474
  }
3383
3475
  };
3384
- }, ri = (e) => {
3476
+ }, fi = (e) => {
3385
3477
  let { rendererRegistry: t } = e, n = k({
3386
3478
  name: "workbench.kanbanRenderers",
3387
3479
  initialState: { renderers: {} }
@@ -3441,7 +3533,7 @@ var Ue = () => {
3441
3533
  });
3442
3534
  }
3443
3535
  };
3444
- }, ii = (e = {}) => {
3536
+ }, pi = (e = {}) => {
3445
3537
  let t = k({
3446
3538
  name: "workbench.renderers",
3447
3539
  initialState: {
@@ -3488,16 +3580,16 @@ var Ue = () => {
3488
3580
  };
3489
3581
  for (let t of e.initialRenderers ?? []) n.registerRenderer(t);
3490
3582
  return n;
3491
- }, ai = (e) => ({
3583
+ }, mi = (e) => ({
3492
3584
  expandedNodeIds: [...e.defaultExpandedNodeIds ?? []],
3493
3585
  expandedSectionIds: [...e.defaultExpandedSectionIds ?? []]
3494
- }), oi = (e, t) => {
3586
+ }), hi = (e, t) => {
3495
3587
  let n = (t.defaultExpandedSectionIds ?? []).filter((t) => !e.expandedSectionIds.includes(t));
3496
3588
  return n.length === 0 ? e : {
3497
3589
  ...e,
3498
3590
  expandedSectionIds: [...e.expandedSectionIds, ...n]
3499
3591
  };
3500
- }, si = (e, t, n) => n ? e.includes(t) ? e : [...e, t] : e.includes(t) ? e.filter((e) => e !== t) : e, ci = (e) => {
3592
+ }, gi = (e, t, n) => n ? e.includes(t) ? e : [...e, t] : e.includes(t) ? e.filter((e) => e !== t) : e, _i = (e) => {
3501
3593
  let { rendererRegistry: t, persistence: n } = e, r = n?.getTreeStates(), i = k({
3502
3594
  name: "workbench.treeRenderers",
3503
3595
  initialState: {
@@ -3514,7 +3606,7 @@ var Ue = () => {
3514
3606
  if (n) return n;
3515
3607
  let r = t.trees[e];
3516
3608
  if (!r) throw Error(`Tree renderer not registered: ${e}`);
3517
- let a = ai(r);
3609
+ let a = mi(r);
3518
3610
  return i.setState({
3519
3611
  ...t,
3520
3612
  statesByTreeId: {
@@ -3552,7 +3644,7 @@ var Ue = () => {
3552
3644
  let a = {
3553
3645
  ...l(n),
3554
3646
  ...e
3555
- }, o = r.statesByTreeId[e.id], c = o ? oi(o, e) : ai(e);
3647
+ }, o = r.statesByTreeId[e.id], c = o ? hi(o, e) : mi(e);
3556
3648
  i.setState({
3557
3649
  ...r,
3558
3650
  trees: {
@@ -3634,7 +3726,7 @@ var Ue = () => {
3634
3726
  },
3635
3727
  setNodeExpanded(e, t, n) {
3636
3728
  c(e), f(e, (e) => {
3637
- let r = si(e.expandedNodeIds, t, n);
3729
+ let r = gi(e.expandedNodeIds, t, n);
3638
3730
  return r === e.expandedNodeIds ? e : {
3639
3731
  ...e,
3640
3732
  expandedNodeIds: r
@@ -3643,7 +3735,7 @@ var Ue = () => {
3643
3735
  },
3644
3736
  setSectionExpanded(e, t, n) {
3645
3737
  c(e), f(e, (e) => {
3646
- let r = si(e.expandedSectionIds, t, n);
3738
+ let r = gi(e.expandedSectionIds, t, n);
3647
3739
  return r === e.expandedSectionIds ? e : {
3648
3740
  ...e,
3649
3741
  expandedSectionIds: r
@@ -3692,7 +3784,7 @@ var Ue = () => {
3692
3784
  }
3693
3785
  };
3694
3786
  return p;
3695
- }, li = () => {
3787
+ }, vi = () => {
3696
3788
  let e = /* @__PURE__ */ new Map(), t = !1, n = (t, n) => {
3697
3789
  !n.binding && !n.active && !n.pending && e.get(t) === n && e.delete(t);
3698
3790
  }, r = (e, t) => e.binding === t.token && e.generation === t.generation, i = (e, a) => {
@@ -3763,7 +3855,7 @@ var Ue = () => {
3763
3855
  await Promise.allSettled(r);
3764
3856
  }
3765
3857
  };
3766
- }, ui = (e, t) => (e.order ?? 0) - (t.order ?? 0) || o(e, t), di = (e = {}) => {
3858
+ }, yi = (e, t) => (e.order ?? 0) - (t.order ?? 0) || o(e, t), bi = (e = {}) => {
3767
3859
  let t = k({
3768
3860
  name: "workbench.settings",
3769
3861
  initialState: {
@@ -3837,10 +3929,10 @@ var Ue = () => {
3837
3929
  return t.getState().panels[e];
3838
3930
  },
3839
3931
  listSections() {
3840
- return Object.values(t.getState().sections).sort(ui);
3932
+ return Object.values(t.getState().sections).sort(yi);
3841
3933
  },
3842
3934
  listPanels() {
3843
- return Object.values(t.getState().panels).sort(ui);
3935
+ return Object.values(t.getState().panels).sort(yi);
3844
3936
  },
3845
3937
  async resolveCollectionItem(e, i) {
3846
3938
  let a = t.getState().panels[e];
@@ -3850,11 +3942,11 @@ var Ue = () => {
3850
3942
  },
3851
3943
  getCollectionItem: (e, t) => n.get(r(e, t))
3852
3944
  };
3853
- }, fi = (e, t) => e.slot.localeCompare(t.slot) || (e.order ?? 0) - (t.order ?? 0) || e.id.localeCompare(t.id), pi = (e) => {
3945
+ }, xi = (e, t) => e.slot.localeCompare(t.slot) || (e.order ?? 0) - (t.order ?? 0) || e.id.localeCompare(t.id), Si = (e) => {
3854
3946
  let t = k({
3855
3947
  name: "workbench.statusBar",
3856
3948
  initialState: { items: {} }
3857
- }), n = () => Object.values(t.getState().items).sort(fi);
3949
+ }), n = () => Object.values(t.getState().items).sort(xi);
3858
3950
  return {
3859
3951
  store: t,
3860
3952
  registerItem(n) {
@@ -3880,9 +3972,9 @@ var Ue = () => {
3880
3972
  return n().filter((t) => (!e || t.slot === e) && (t.isVisible?.() ?? !0));
3881
3973
  }
3882
3974
  };
3883
- }, mi = (e, t, n) => {
3975
+ }, Ci = (e, t, n) => {
3884
3976
  for (let r of t.actions ?? []) if (!n.has(r)) throw Error(`Status "${e.id}.${t.id}" references unknown action "${r}"`);
3885
- }, hi = (e, t) => {
3977
+ }, wi = (e, t) => {
3886
3978
  let n = /* @__PURE__ */ new Set(), r = new Set((e.actions ?? []).map((e) => e.id)), i = 0;
3887
3979
  for (let a of t) {
3888
3980
  if (!a.id.trim()) throw Error(`Status set "${e.id}" contains an empty status id`);
@@ -3890,11 +3982,11 @@ var Ue = () => {
3890
3982
  if (n.add(a.id), !a.label.trim()) throw Error(`Status "${e.id}.${a.id}" must have a label`);
3891
3983
  if (!a.color.trim()) throw Error(`Status "${e.id}.${a.id}" must have a color`);
3892
3984
  if (!Number.isFinite(a.sortOrder)) throw Error(`Status "${e.id}.${a.id}" must have a finite order`);
3893
- mi(e, a, r), a.isDefault && (i += 1);
3985
+ Ci(e, a, r), a.isDefault && (i += 1);
3894
3986
  }
3895
3987
  if (i > 1) throw Error(`Status set "${e.id}" has more than one default status`);
3896
3988
  return [...t].sort((e, t) => e.sortOrder - t.sortOrder || e.id.localeCompare(t.id));
3897
- }, gi = () => {
3989
+ }, Ti = () => {
3898
3990
  let e = k({
3899
3991
  name: "workbench.statuses",
3900
3992
  initialState: {
@@ -3906,7 +3998,7 @@ var Ue = () => {
3906
3998
  if (!n) throw Error(`Status set is not registered: ${t}`);
3907
3999
  return n;
3908
4000
  }, n = /* @__PURE__ */ new Map(), r = async (n) => {
3909
- let r = t(n), i = hi(r, await r.query()), a = e.getState();
4001
+ let r = t(n), i = wi(r, await r.query()), a = e.getState();
3910
4002
  return a.statusSets[n] === r && e.setState({
3911
4003
  ...a,
3912
4004
  values: {
@@ -3964,7 +4056,7 @@ var Ue = () => {
3964
4056
  async save(n, r) {
3965
4057
  let i = t(n);
3966
4058
  if (!i.save) throw Error(`Status set is read-only: ${n}`);
3967
- let a = hi(i, r), o = hi(i, await i.save(a)), s = e.getState();
4059
+ let a = wi(i, r), o = wi(i, await i.save(a)), s = e.getState();
3968
4060
  return e.setState({
3969
4061
  ...s,
3970
4062
  values: {
@@ -3974,7 +4066,7 @@ var Ue = () => {
3974
4066
  }, !1, "saveStatuses"), o;
3975
4067
  }
3976
4068
  };
3977
- }, _i = () => {
4069
+ }, Ei = () => {
3978
4070
  let e = k({
3979
4071
  name: "workbench.fileIconThemes",
3980
4072
  initialState: { themes: [] }
@@ -3992,7 +4084,7 @@ var Ue = () => {
3992
4084
  return e.getState().themes;
3993
4085
  }
3994
4086
  };
3995
- }, vi = () => {
4087
+ }, Di = () => {
3996
4088
  let e = k({
3997
4089
  name: "workbench.themes",
3998
4090
  initialState: { themes: [] }
@@ -4010,13 +4102,13 @@ var Ue = () => {
4010
4102
  return e.getState().themes;
4011
4103
  }
4012
4104
  };
4013
- }, yi = (e, t) => `workbench.view-menu.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, bi = (e) => e.config === void 0 ? { viewContextId: e.id } : !e.config || typeof e.config != "object" || Array.isArray(e.config) ? {
4105
+ }, Oi = (e, t) => `workbench.view-menu.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, ki = (e) => e.config === void 0 ? { viewContextId: e.id } : !e.config || typeof e.config != "object" || Array.isArray(e.config) ? {
4014
4106
  viewContextId: e.id,
4015
4107
  value: e.config
4016
4108
  } : {
4017
4109
  ...e.config,
4018
4110
  viewContextId: e.id
4019
- }, xi = (e) => {
4111
+ }, Ai = (e) => {
4020
4112
  let t = /* @__PURE__ */ new Map();
4021
4113
  return {
4022
4114
  registerViewMenu(n) {
@@ -4035,7 +4127,7 @@ var Ue = () => {
4035
4127
  let n = e.views.getView(t.viewId);
4036
4128
  if (!n) throw Error(`View menu View is not registered: ${t.viewId}`);
4037
4129
  return {
4038
- id: yi(r, t.id),
4130
+ id: Oi(r, t.id),
4039
4131
  title: n.title,
4040
4132
  icon: n.icon,
4041
4133
  side: t.side,
@@ -4046,18 +4138,18 @@ var Ue = () => {
4046
4138
  regionSize: t.regionSize,
4047
4139
  regionCollapsible: t.regionCollapsible,
4048
4140
  headerBorderBottom: t.headerBorderBottom,
4049
- config: bi(t)
4141
+ config: ki(t)
4050
4142
  };
4051
4143
  });
4052
4144
  }
4053
4145
  };
4054
- }, Si = "workbench.view.id", Ci = (e, t) => t.priority - e.priority || e.id.localeCompare(t.id), wi = (e) => {
4146
+ }, ji = "workbench.view.id", Mi = (e, t) => t.priority - e.priority || e.id.localeCompare(t.id), Ni = (e) => {
4055
4147
  let t = k({
4056
4148
  name: "workbench.views",
4057
4149
  initialState: { views: {} }
4058
4150
  }), n = /* @__PURE__ */ new Map();
4059
4151
  return {
4060
- reads: li(),
4152
+ reads: vi(),
4061
4153
  store: t,
4062
4154
  registerView(r, i) {
4063
4155
  let a = t.getState();
@@ -4082,14 +4174,14 @@ var Ue = () => {
4082
4174
  return t.getState().views[e];
4083
4175
  },
4084
4176
  listViews() {
4085
- return Object.values(t.getState().views).sort(Ci);
4177
+ return Object.values(t.getState().views).sort(Mi);
4086
4178
  },
4087
4179
  refreshView(e, r) {
4088
4180
  if (!t.getState().views[e]) throw Error(`View is not registered: ${e}`);
4089
4181
  n.get(e)?.refresh?.(r);
4090
4182
  }
4091
4183
  };
4092
- }, Ti = (e) => (t) => {
4184
+ }, Pi = (e) => (t) => {
4093
4185
  let n = e(), r = f(t), i = Object.values(n.layout.getLayout().regions).flatMap((e) => e.widgets).find((e) => e.placementIdentity && f(e.placementIdentity) === r);
4094
4186
  if (!i) throw Error(`Placement is not open: ${r}`);
4095
4187
  if (!i.closable) throw Error(`Placement is fixed and cannot close: ${r}`);
@@ -4099,16 +4191,16 @@ var Ue = () => {
4099
4191
  return;
4100
4192
  }
4101
4193
  t.kind === "mode" ? n.modePlacements.closePlacement(t) : n.shellPlacements.closePlacement(t);
4102
- }, Ei = (e) => (t) => {
4194
+ }, Fi = (e) => (t) => {
4103
4195
  let n = e(), r = f(t), i = Object.values(n.layout.getLayout().regions).flatMap((e) => e.widgets).find((e) => e.placementIdentity && f(e.placementIdentity) === r);
4104
4196
  if (!i) throw Error(`Placement is not open: ${r}`);
4105
4197
  i.tabRetention === "preview" && (t.kind === "page" ? n.pages.pinPlacement(t) : t.kind === "mode" ? n.modePlacements.updatePlacement(t, { open: "pin" }) : n.shellPlacements.updatePlacement(t, { open: "pin" }));
4106
- }, Di = (e, t, n) => {
4198
+ }, Ii = (e, t, n) => {
4107
4199
  if (t.projectId !== e.pages.store.getState().projectId) return;
4108
4200
  let r = new Set(n.map(f));
4109
4201
  w(() => {
4110
4202
  for (let n of ["mode", "shell"]) {
4111
- let i = X(n === "mode" ? e.modePlacements : e.shellPlacements), a = i.getState(), o = new Map([...a.resourceInstances].map(([i, a]) => [i, a.filter((a) => {
4203
+ let i = Y(n === "mode" ? e.modePlacements : e.shellPlacements), a = i.getState(), o = new Map([...a.resourceInstances].map(([i, a]) => [i, a.filter((a) => {
4112
4204
  if (P(a.resource) !== P(t)) return !0;
4113
4205
  let o = n === "shell" ? {
4114
4206
  kind: n,
@@ -4129,33 +4221,36 @@ var Ue = () => {
4129
4221
  }
4130
4222
  e.pageLocations.removeResource(t, n);
4131
4223
  });
4132
- }, Oi = (e) => `${e.extensionId ?? ""}:${e.id}`, ki = (e) => e.parent ? [...ki(e.parent), e] : [e], Ai = (e) => ({
4224
+ }, Li = (e) => `${e.extensionId ?? ""}:${e.id}`, Ri = (e) => e.parent ? [...Ri(e.parent), e] : [e], zi = (e) => ({
4133
4225
  kind: "page",
4134
4226
  page: e.page,
4135
4227
  ...e.resource ? { resource: e.resource } : {},
4136
4228
  ...e.section ? { section: e.section } : {},
4137
- ...e.parent ? { parent: Ai(e.parent) } : {}
4138
- }), ji = (e) => e.title === void 0 ? e.ref.id : Le(e.title) ? e.title.default ?? e.title.$l10n : e.title, Mi = (e) => {
4139
- let t = new Map(e.pages.map((e) => [Oi(e.ref), e])), n = ki(e.location);
4229
+ ...e.parent ? { parent: zi(e.parent) } : {}
4230
+ }), Bi = (e) => e.title === void 0 ? e.ref.id : Le(e.title) ? e.title.default ?? e.title.$l10n : e.title, Vi = (e) => {
4231
+ let t = new Map(e.pages.map((e) => [Li(e.ref), e])), n = Ri(e.location);
4140
4232
  return n.map((r, i) => {
4141
- let a = t.get(Oi(r.page)), o = {
4142
- title: r.resource?.label ?? (a ? ji(a) : r.page.id),
4233
+ let a = t.get(Li(r.page)), o = {
4234
+ title: r.resource?.label ?? (a ? Bi(a) : r.page.id),
4143
4235
  icon: r.resource?.icon ?? a?.icon,
4236
+ ...Kt(r, e) ? { startsLevel: !0 } : {},
4144
4237
  ...r.resource ? { resource: e.resources.normalize(r.resource) } : {}
4145
4238
  };
4146
- return i < n.length - 1 && (o.onClick = () => e.navigate(Ai(r))), o;
4239
+ return i < n.length - 1 && (o.onClick = () => e.navigate(zi(r))), o;
4147
4240
  });
4148
- }, Ni = (e) => e.breadcrumbs.setItems(Mi(e)), Pi = (e) => {
4241
+ }, Hi = (e) => e.breadcrumbs.setItems(Vi(e)), Ui = (e) => {
4149
4242
  let t, n = () => {
4150
4243
  let n = e.pages.store.getState();
4151
4244
  if (!n.activePageId || !n.location) {
4152
4245
  t?.dispose(), t = void 0;
4153
4246
  return;
4154
4247
  }
4155
- t?.dispose(), t = Ni({
4248
+ t?.dispose(), t = Hi({
4156
4249
  breadcrumbs: e.breadcrumbs,
4157
4250
  location: n.location,
4158
4251
  pages: Object.values(n.pages),
4252
+ navigationTrees: e.navigationTrees,
4253
+ modes: e.modes,
4159
4254
  resources: e.resources,
4160
4255
  navigate: (t) => {
4161
4256
  e.locations.navigate(t);
@@ -4165,7 +4260,7 @@ var Ue = () => {
4165
4260
  return n(), D(() => {
4166
4261
  r.dispose(), t?.dispose();
4167
4262
  });
4168
- }, Fi = () => {
4263
+ }, Wi = () => {
4169
4264
  let e = [{ url: "/" }], t = 0, n = /* @__PURE__ */ new Set(), r = () => {
4170
4265
  for (let r of n) r(e[t]);
4171
4266
  };
@@ -4185,13 +4280,13 @@ var Ue = () => {
4185
4280
  },
4186
4281
  onPopState: (e) => (n.add(e), { dispose: () => n.delete(e) })
4187
4282
  };
4188
- }, Ii = () => {
4283
+ }, Gi = () => {
4189
4284
  let e = /* @__PURE__ */ new Map();
4190
4285
  return {
4191
4286
  load: (t) => e.get(t),
4192
4287
  save: (t, n) => e.set(t, n)
4193
4288
  };
4194
- }, Li = (e) => e.value.role === "sub-panel" && (e.identity.kind === "page" || !!e.value.resourceKey), Ri = (e) => {
4289
+ }, Ki = (e) => e.value.role === "sub-panel" && (e.identity.kind === "page" || !!e.value.resourceKey), qi = (e) => {
4195
4290
  let t = /* @__PURE__ */ new Map();
4196
4291
  for (let n of Object.values(e.regions)) for (let e of n.widgets) {
4197
4292
  if (!e.placementIdentity) continue;
@@ -4203,22 +4298,22 @@ var Ue = () => {
4203
4298
  });
4204
4299
  }
4205
4300
  return t;
4206
- }, zi = (e) => {
4301
+ }, Ji = (e) => {
4207
4302
  if (e.desired.identity.kind !== "mode") return;
4208
4303
  let t = e.desired.identity;
4209
4304
  return [...e.current.entries()].find(([n, r]) => !e.desiredKeys.has(n) && !e.transferredCurrentKeys.has(n) && r.placement.placementIdentity?.kind === "mode" && (r.placement.placementIdentity.modeId !== t.modeId || r.placement.placementIdentity.placementId !== t.placementId) && r.region === e.desired.region && r.placement.contributionId === e.desired.value.contributionId && r.placement.viewId === e.desired.value.viewId);
4210
- }, Bi = (e) => {
4305
+ }, Yi = (e) => {
4211
4306
  let t = /* @__PURE__ */ new Map();
4212
4307
  for (let n of Object.values(e.regions)) for (let e of n.widgets) {
4213
4308
  if (t.has(e.widgetId)) throw Error(`Duplicate rendered widget ID: ${e.widgetId}`);
4214
4309
  t.set(e.widgetId, e.placementIdentity ? f(e.placementIdentity) : null);
4215
4310
  }
4216
4311
  return t;
4217
- }, Vi = (e, t, n) => {
4312
+ }, Xi = (e, t, n) => {
4218
4313
  let r = new Set(e.map((e) => e.widgetId));
4219
4314
  return [...e, ...t.filter((e) => !r.has(e.widgetId) && e.placementIdentity && n.has(f(e.placementIdentity)))];
4220
- }, Hi = (e, t) => {
4221
- let n = [], r = /* @__PURE__ */ new Set(), i = Bi(e.layout), a = /* @__PURE__ */ new Set(), o = d({
4315
+ }, Zi = (e, t) => {
4316
+ let n = [], r = /* @__PURE__ */ new Set(), i = Yi(e.layout), a = /* @__PURE__ */ new Set(), o = d({
4222
4317
  shell: e.placements.filter((e) => e.identity.kind === "shell"),
4223
4318
  mode: e.placements.filter((e) => e.identity.kind === "mode"),
4224
4319
  page: e.placements.filter((e) => e.identity.kind === "page")
@@ -4227,7 +4322,7 @@ var Ue = () => {
4227
4322
  let o = f(e.identity);
4228
4323
  if (r.has(o)) throw Error(`Duplicate desired placement identity: ${o}`);
4229
4324
  r.add(o);
4230
- let l = t.get(o), u = l ? void 0 : zi({
4325
+ let l = t.get(o), u = l ? void 0 : Ji({
4231
4326
  current: t,
4232
4327
  desired: e,
4233
4328
  desiredKeys: s,
@@ -4238,7 +4333,7 @@ var Ue = () => {
4238
4333
  if (m !== void 0 && m !== o && m !== d) throw Error(`Rendered widget ID belongs to another placement: ${p}`);
4239
4334
  if (a.has(p)) throw Error(`Duplicate desired widget ID: ${p}`);
4240
4335
  a.add(p);
4241
- let h = Li(e) ? e.value.ownerResourceKey ?? l?.placement.ownerResourceKey ?? u?.[1].placement.ownerResourceKey : e.value.ownerResourceKey;
4336
+ let h = Ki(e) ? e.value.ownerResourceKey ?? l?.placement.ownerResourceKey ?? u?.[1].placement.ownerResourceKey : e.value.ownerResourceKey;
4242
4337
  n.push({
4243
4338
  identity: e.identity,
4244
4339
  region: e.region,
@@ -4252,10 +4347,10 @@ var Ue = () => {
4252
4347
  });
4253
4348
  }
4254
4349
  return n;
4255
- }, Ui = (e, t, n, r) => {
4256
- let i = new Set(Ie), a = { ...e.regions }, o = new Map(t.map((e) => [f(e.identity), e])), s = new Set(t.flatMap((e) => e.transferredFromKey ?? []));
4350
+ }, Qi = (e, t, n, r) => {
4351
+ let i = new Set(Ie.filter((e) => e !== "side")), a = { ...e.regions }, o = new Map(t.map((e) => [f(e.identity), e])), s = new Set(t.flatMap((e) => e.transferredFromKey ?? []));
4257
4352
  for (let c of se) {
4258
- let l = e.regions[c], u = t.some((e) => e.region === c && e.identity.kind === "page" && e.placement.role === "location"), d = /* @__PURE__ */ new Set(), p = Vi(l.widgets, r?.regions[c].widgets ?? [], o).flatMap((e) => {
4353
+ let l = e.regions[c], u = t.some((e) => e.region === c && e.identity.kind === "page" && e.placement.role === "location"), d = /* @__PURE__ */ new Set(), p = Xi(l.widgets, r?.regions[c].widgets ?? [], o).flatMap((e) => {
4259
4354
  if (!e.placementIdentity) return c === "main" && u && e.role === "location" ? [] : [e];
4260
4355
  let t = f(e.placementIdentity), r = o.get(t);
4261
4356
  return r ? r.region === c ? (d.add(t), [r.placement]) : [] : n.has(t) || s.has(t) ? [] : [e];
@@ -4276,7 +4371,7 @@ var Ue = () => {
4276
4371
  ...e,
4277
4372
  regions: a
4278
4373
  };
4279
- }, Wi = (e) => {
4374
+ }, $i = (e) => {
4280
4375
  let t = new Set(e.desired.flatMap((e) => e.transferredFromKey ?? [])), n = e.layout;
4281
4376
  for (let [r, i] of e.current) e.removedKeys.has(r) && !t.has(r) && (n = ge(n, i.placement.widgetId));
4282
4377
  let r = n.activeLocationWidgetId ? M(n, n.activeLocationWidgetId)?.placement : void 0, i = n.regions.main.widgets.filter((e) => e.role === "location").at(-1), a = r?.widgetId ?? i?.widgetId, o = n.activeWidgetId ? M(n, n.activeWidgetId)?.placement : void 0, s = a ? M(n, a)?.placement : Object.values(n.regions).flatMap((e) => e.widgets)[0];
@@ -4286,7 +4381,7 @@ var Ue = () => {
4286
4381
  activeLocationWidgetId: a,
4287
4382
  activeResourceKey: o?.resourceKey ?? s?.resourceKey
4288
4383
  };
4289
- }, Gi = (e, t) => {
4384
+ }, ea = (e, t) => {
4290
4385
  let n = A(e)?.resourceKey;
4291
4386
  if (!n) return e;
4292
4387
  let r = new Map(t.map((e) => [f(e.identity), e])), i = Object.fromEntries(Object.entries(e.regions).map(([e, t]) => [e, {
@@ -4304,24 +4399,24 @@ var Ue = () => {
4304
4399
  ...e,
4305
4400
  regions: i
4306
4401
  };
4307
- }, Ki = (e, t) => {
4402
+ }, ta = (e, t) => {
4308
4403
  if (e.placements.length === 0 && t.size === 0 && (e.activate?.length ?? 0) === 0) return e.layout;
4309
- let n = Ri(e.layout), r = Hi(e, n), i = Wi({
4404
+ let n = qi(e.layout), r = Zi(e, n), i = $i({
4310
4405
  current: n,
4311
4406
  desired: r,
4312
4407
  removedKeys: t,
4313
- layout: Ui(e.layout, r, t, e.modeLayout)
4408
+ layout: Qi(e.layout, r, t, e.modeLayout)
4314
4409
  }), a = new Map(r.map((e) => [f(e.identity), e]));
4315
4410
  for (let t of e.activate ?? []) {
4316
4411
  let e = a.get(f(t));
4317
4412
  if (!e) throw Error(`Cannot activate missing rendered placement: ${f(t)}`);
4318
4413
  i = h(i, e.region, e.placement);
4319
4414
  }
4320
- return Gi(i, r);
4321
- }, qi = (e) => {
4322
- let t = new Set(e.placements.map((e) => f(e.identity))), n = Ri(e.layout);
4323
- return Ki(e, new Set([...n.keys()].filter((e) => !t.has(e))));
4324
- }, Ji = (e) => Ki(e, new Set(e.remove.map(f))), Yi = (e) => {
4415
+ return ea(i, r);
4416
+ }, na = (e) => {
4417
+ let t = new Set(e.placements.map((e) => f(e.identity))), n = qi(e.layout);
4418
+ return ta(e, new Set([...n.keys()].filter((e) => !t.has(e))));
4419
+ }, ra = (e) => ta(e, new Set(e.remove.map(f))), ia = (e) => {
4325
4420
  let t = Object.values(e.getLayout().regions).flatMap((e) => e.widgets).filter((e) => !!e.placementIdentity);
4326
4421
  for (let n of t) {
4327
4422
  let t = e.getWidget(n.contributionId);
@@ -4337,7 +4432,7 @@ var Ue = () => {
4337
4432
  }
4338
4433
  }
4339
4434
  e.reconcilePanelMenus();
4340
- }, Xi = (e) => {
4435
+ }, aa = (e) => {
4341
4436
  let t = P(e.location?.resource);
4342
4437
  return t ? e.placements.map((e) => e.value.role === "sub-panel" && (e.identity.kind === "page" || e.value.resourceKey) ? {
4343
4438
  ...e,
@@ -4346,46 +4441,46 @@ var Ue = () => {
4346
4441
  ownerResourceKey: t
4347
4442
  }
4348
4443
  } : e) : e.placements;
4349
- }, Zi = (e, t, n, r = e.registry.store.getState()) => {
4444
+ }, oa = (e, t, n, r = e.registry.store.getState()) => {
4350
4445
  let i = e.layout.getPersistenceScope();
4351
- Nt(e.modes, t.activeModeId, () => {
4446
+ Pt(e.modes, t.activeModeId, () => {
4352
4447
  n === "transition" && e.beforeApply?.(t);
4353
4448
  let a = e.registry.store.getState(), o = a === r ? t : a, s = o.reconciliation.activate.length > 0 ? o.reconciliation.activate : t.reconciliation.activate, c = {
4354
4449
  layout: e.layout.getLayout(),
4355
4450
  modeLayout: o.activeModeId ? e.loadModeLayout?.(o.projectId, o.activeModeId) : void 0,
4356
- placements: Xi(o),
4451
+ placements: aa(o),
4357
4452
  activate: s.map((e) => e.identity)
4358
4453
  }, l;
4359
- if (l = n === "scope-restore" || e.layout.getPersistenceScope() !== i ? qi(c) : Ji({
4454
+ if (l = n === "scope-restore" || e.layout.getPersistenceScope() !== i ? na(c) : ra({
4360
4455
  ...c,
4361
4456
  remove: o.reconciliation.remove.map((e) => e.identity)
4362
- }), e.layout.restoreLayout(l), Yi(e.layout), n === "transition") for (let t of s) e.revealRegion?.(t.region);
4457
+ }), e.layout.restoreLayout(l), ia(e.layout), n === "transition") for (let t of s) e.revealRegion?.(t.region);
4363
4458
  });
4364
- }, Qi = (e) => {
4459
+ }, sa = (e) => {
4365
4460
  let t = !1, n = L(e.registry).connectRuntime((n) => {
4366
4461
  let r = e.registry.store.getState();
4367
4462
  t = !0;
4368
4463
  try {
4369
- Zi(e, n, "transition", r);
4464
+ oa(e, n, "transition", r);
4370
4465
  } finally {
4371
4466
  t = !1;
4372
4467
  }
4373
4468
  }), r = e.layout.onDidChangePersistenceScope(() => {
4374
- t || Zi(e, e.registry.store.getState(), "scope-restore");
4469
+ t || oa(e, e.registry.store.getState(), "scope-restore");
4375
4470
  });
4376
4471
  return D(() => {
4377
4472
  r.dispose(), n.dispose();
4378
4473
  });
4379
- }, $i = (e) => e ? e === "pin" ? {
4474
+ }, ca = (e) => e ? e === "pin" ? {
4380
4475
  pinned: !0,
4381
4476
  tabRetention: "persistent"
4382
4477
  } : {
4383
4478
  pinned: !1,
4384
4479
  tabRetention: "preview"
4385
- } : {}, ea = (e, t, n) => {
4480
+ } : {}, la = (e, t, n) => {
4386
4481
  let r = e.resource, i = n.getView(e.viewId);
4387
4482
  if (!i) throw Error(`Workbench page view is not registered: ${e.viewId}`);
4388
- let a = nr(e.pageId, e.slotId), o = t.getWidget(a);
4483
+ let a = dr(e.pageId, e.slotId), o = t.getWidget(a);
4389
4484
  if (!o) throw Error(`Workbench page placement is not registered: ${e.pageId}.${e.slotId}`);
4390
4485
  return {
4391
4486
  ...Ge(`workbench.page.${encodeURIComponent(f(e.identity))}`, o, {
@@ -4394,12 +4489,12 @@ var Ue = () => {
4394
4489
  role: e.role === "primary" ? "location" : "sub-panel",
4395
4490
  closable: e.closable,
4396
4491
  ...r ? { resource: r } : {},
4397
- ...$i(e.open)
4492
+ ...ca(e.open)
4398
4493
  }),
4399
4494
  ...e.section ? { section: e.section } : {}
4400
4495
  };
4401
- }, ta = (e) => {
4402
- let t = e.resources ?? Pe, n = Wr({
4496
+ }, ua = (e) => {
4497
+ let t = e.resources ?? Pe, n = $r({
4403
4498
  restorePageState: e.restorePageState,
4404
4499
  validateMode: (t) => {
4405
4500
  if (!e.modes.getMode(t)) throw Error(`Workbench mode not registered: ${t}`);
@@ -4411,17 +4506,17 @@ var Ue = () => {
4411
4506
  projectId: r,
4412
4507
  pageId: i
4413
4508
  } : void 0),
4414
- resolvePagePlacement: (t) => ea(t, e.layout, e.views),
4509
+ resolvePagePlacement: (t) => la(t, e.layout, e.views),
4415
4510
  resources: t,
4416
4511
  valuesEqual: (e, t) => JSON.stringify(e) === JSON.stringify(t),
4417
4512
  registerPagePlacements: (t) => {
4418
- let n = Tn(t).map((n) => {
4419
- let r = K(n.item.kind === "view" ? n.item.view : n.item.binding.view);
4513
+ let n = Pn(t).map((n) => {
4514
+ let r = G(n.item.kind === "view" ? n.item.view : n.item.binding.view);
4420
4515
  if (!r) throw Error(`Workbench page slot view is not registered: ${t.id}.${n.id}`);
4421
- let i = xn(n);
4422
- return er(e.layout, e.views, {
4516
+ let i = An(n);
4517
+ return lr(e.layout, e.views, {
4423
4518
  ...n,
4424
- id: nr(t.id, n.id),
4519
+ id: dr(t.id, n.id),
4425
4520
  viewId: r,
4426
4521
  role: n.role === "primary" ? "location" : "sub-panel",
4427
4522
  singleton: n.item.kind === "view" || n.item.binding.cardinality !== "many",
@@ -4433,17 +4528,17 @@ var Ue = () => {
4433
4528
  });
4434
4529
  }
4435
4530
  });
4436
- return Qi({
4531
+ return sa({
4437
4532
  loadModeLayout: e.loadModeLayout,
4438
4533
  beforeApply: (t) => {
4439
4534
  e.beforeApply?.(t);
4440
- let r = X(e.shellPlacements);
4535
+ let r = Y(e.shellPlacements);
4441
4536
  r.apply(r.adopt(t.activeModeId ?? "", t.placements.map((e) => ({
4442
4537
  ...e.value,
4443
4538
  placementIdentity: e.identity
4444
4539
  }))));
4445
- let i = X(e.modePlacements);
4446
- t.projectId !== n.store.getState().projectId && i.apply(Y()), t.activeModeId && i.apply(i.adopt(t.activeModeId, t.placements.map((e) => ({
4540
+ let i = Y(e.modePlacements);
4541
+ t.projectId !== n.store.getState().projectId && i.apply(J()), t.activeModeId && i.apply(i.adopt(t.activeModeId, t.placements.map((e) => ({
4447
4542
  ...e.value,
4448
4543
  placementIdentity: e.identity
4449
4544
  }))));
@@ -4452,10 +4547,10 @@ var Ue = () => {
4452
4547
  layout: e.layout,
4453
4548
  modes: e.modes,
4454
4549
  registry: n
4455
- }), X(e.modePlacements).connectRuntime(() => L(n).refreshModePlacements()), X(e.shellPlacements).connectRuntime(() => L(n).refreshShellPlacements()), n;
4456
- }, na = (e, t) => {
4550
+ }), Y(e.modePlacements).connectRuntime(() => L(n).refreshModePlacements()), Y(e.shellPlacements).connectRuntime(() => L(n).refreshShellPlacements()), n;
4551
+ }, da = (e, t) => {
4457
4552
  let n = Object.values(t.regions).flatMap((e) => e.widgets), r = [], i = {}, a;
4458
- for (let o of Sn(e)) {
4553
+ for (let o of jn(e)) {
4459
4554
  let s = n.filter((t) => t.placementIdentity?.kind === "page" && t.placementIdentity.pageId === e.id && t.placementIdentity.slotId === o.id);
4460
4555
  if (o.item.kind === "view") {
4461
4556
  s.length && r.push(o.id);
@@ -4463,7 +4558,7 @@ var Ue = () => {
4463
4558
  }
4464
4559
  let c = o.item.binding, l = s.flatMap((e) => {
4465
4560
  let t = e.placementIdentity;
4466
- return !t || !e.resource || !q(c, e.resource) ? [] : [{
4561
+ return !t || !e.resource || !K(c, e.resource) ? [] : [{
4467
4562
  instanceKey: t.instanceKey,
4468
4563
  resource: e.resource,
4469
4564
  ...e.section ? { section: e.section } : {},
@@ -4477,18 +4572,18 @@ var Ue = () => {
4477
4572
  resourceInstances: i,
4478
4573
  activePrimaryInstanceKey: a
4479
4574
  };
4480
- }, ra = (e, t) => {
4575
+ }, fa = (e, t) => {
4481
4576
  let n = e.resolvePagePersistenceScope?.(t).scope;
4482
4577
  return e.persistence?.getSnapshot(n)?.layout ?? e.layoutPersistence?.getLayout(n);
4483
- }, ia = (e) => (t, n, r) => {
4484
- let i = ra(e, {
4578
+ }, pa = (e) => (t, n, r) => {
4579
+ let i = fa(e, {
4485
4580
  modeId: t.modeId,
4486
4581
  pageId: t.id,
4487
4582
  projectId: r,
4488
4583
  resource: n.resource
4489
4584
  });
4490
- if (i && Object.values(i.regions).some((e) => e.widgets.some((e) => e.placementIdentity?.kind === "page" && e.placementIdentity.pageId === t.id))) return na(t, i);
4491
- }, aa = (e, t) => {
4585
+ if (i && Object.values(i.regions).some((e) => e.widgets.some((e) => e.placementIdentity?.kind === "page" && e.placementIdentity.pageId === t.id))) return da(t, i);
4586
+ }, ma = (e, t) => {
4492
4587
  let n = { ...e.regions };
4493
4588
  for (let r of se) {
4494
4589
  let i = e.regions[r], a = i.widgets.filter(t);
@@ -4502,7 +4597,7 @@ var Ue = () => {
4502
4597
  ...e,
4503
4598
  regions: n
4504
4599
  };
4505
- }, oa = (e, t) => `workbench-mode:${JSON.stringify([e ?? null, t])}`, sa = (e) => {
4600
+ }, ha = (e, t) => `workbench-mode:${JSON.stringify([e ?? null, t])}`, ga = (e) => {
4506
4601
  let t = /* @__PURE__ */ new Set(), n = e.persistence ? {
4507
4602
  getLayout: (t) => e.persistence?.getSnapshot(t)?.layout,
4508
4603
  setLayout: (t, n) => e.persistence?.setSnapshot({ layout: t }, n),
@@ -4513,22 +4608,22 @@ var Ue = () => {
4513
4608
  removeResource(e) {
4514
4609
  for (let n of t) {
4515
4610
  let t = r(n);
4516
- t && i(aa(t, (t) => P(t.resource) !== P(e)), n);
4611
+ t && i(ma(t, (t) => P(t.resource) !== P(e)), n);
4517
4612
  }
4518
4613
  },
4519
4614
  layout: n ? {
4520
4615
  ...n,
4521
4616
  getLayout: r,
4522
- setLayout: (e, t) => i(aa(e, (e) => e.placementIdentity?.kind !== "mode"), t)
4617
+ setLayout: (e, t) => i(ma(e, (e) => e.placementIdentity?.kind !== "mode"), t)
4523
4618
  } : void 0,
4524
- readMode: (e, t) => r(oa(e, t)),
4525
- saveMode: (e, t, n) => i(aa(n, (e) => e.placementIdentity?.kind === "mode" && e.placementIdentity.modeId === t), oa(e, t))
4619
+ readMode: (e, t) => r(ha(e, t)),
4620
+ saveMode: (e, t, n) => i(ma(n, (e) => e.placementIdentity?.kind === "mode" && e.placementIdentity.modeId === t), ha(e, t))
4526
4621
  };
4527
- }, ca = (e) => ({
4622
+ }, _a = (e) => ({
4528
4623
  getRegionState(t) {
4529
4624
  let n = e.layout.getLayout().regions[t];
4530
4625
  return {
4531
- open: t === "side" ? e.sidePanel.getMode() !== "closed" : n.visible,
4626
+ open: n.visible,
4532
4627
  size: n.size
4533
4628
  };
4534
4629
  },
@@ -4545,23 +4640,26 @@ var Ue = () => {
4545
4640
  getSidePanelPresentation: e.sidePanel.getMode,
4546
4641
  setSidePanelPresentation: e.sidePanel.setMode,
4547
4642
  onDidChange(t) {
4548
- let n = e.layout.store.subscribeSelector((e) => e.layout, t), r = e.sidePanel.onDidChange(t);
4643
+ let n = e.layout.getLayout(), r = e.sidePanel.getMode(), i = () => {
4644
+ let i = e.layout.getLayout(), a = e.sidePanel.getMode();
4645
+ (i !== n || a !== r) && (n = i, r = a, t());
4646
+ }, a = e.layout.store.subscribeSelector((e) => e.layout, i), o = e.sidePanel.onDidChange(i);
4549
4647
  return D(() => {
4550
- n(), r.dispose();
4648
+ a(), o.dispose();
4551
4649
  });
4552
4650
  }
4553
- }), Q = (e, t) => ({
4651
+ }), Z = (e, t) => ({
4554
4652
  dispose: () => e.dispose(),
4555
4653
  refresh: t
4556
- }), la = (e) => (t, n) => {
4654
+ }), va = (e) => (t, n) => {
4557
4655
  let r = t.body;
4558
- if (r.kind === "react") return Q(e.registerRenderer({
4656
+ if (r.kind === "react") return Z(e.registerRenderer({
4559
4657
  id: t.id,
4560
4658
  render: r.render
4561
4659
  }), () => e.refreshRenderer(t.id));
4562
4660
  if (r.kind === "tree") {
4563
4661
  let { kind: i, ...a } = r;
4564
- return Q(e.registerTreeRenderer({
4662
+ return Z(e.registerTreeRenderer({
4565
4663
  ...a,
4566
4664
  id: t.id,
4567
4665
  title: t.title,
@@ -4570,7 +4668,7 @@ var Ue = () => {
4570
4668
  }
4571
4669
  if (r.kind === "file") {
4572
4670
  let { kind: i, ...a } = r;
4573
- return Q(e.registerFileRenderer({
4671
+ return Z(e.registerFileRenderer({
4574
4672
  ...a,
4575
4673
  id: t.id,
4576
4674
  title: t.title
@@ -4578,7 +4676,7 @@ var Ue = () => {
4578
4676
  }
4579
4677
  if (r.kind === "controls") {
4580
4678
  let { kind: i, ...a } = r;
4581
- return Q(e.registerControlsRenderer({
4679
+ return Z(e.registerControlsRenderer({
4582
4680
  ...a,
4583
4681
  id: t.id,
4584
4682
  title: t.title
@@ -4586,41 +4684,41 @@ var Ue = () => {
4586
4684
  }
4587
4685
  if (r.kind === "kanban") {
4588
4686
  let { kind: i, ...a } = r;
4589
- return Q(e.registerKanbanRenderer({
4687
+ return Z(e.registerKanbanRenderer({
4590
4688
  ...a,
4591
4689
  id: t.id,
4592
4690
  title: t.title
4593
4691
  }, n), () => e.refreshKanbanRenderer(t.id));
4594
4692
  }
4595
4693
  let { kind: i, ...a } = r;
4596
- return Q(e.registerDataTableRenderer({
4694
+ return Z(e.registerDataTableRenderer({
4597
4695
  ...a,
4598
4696
  id: t.id,
4599
4697
  title: t.title
4600
4698
  }, n), () => e.refreshDataTableRenderer(t.id));
4601
- }, ua = (e, t) => Object.values(e.regions).some((e) => e.widgets.some((e) => e.placementIdentity && t(e.placementIdentity))), da = (e, t) => {
4699
+ }, ya = (e, t) => Object.values(e.regions).some((e) => e.widgets.some((e) => e.placementIdentity && t(e.placementIdentity))), ba = (e, t) => {
4602
4700
  let n = Object.values(e.layout.getLayout().regions).flatMap((e) => e.widgets).find((e) => e.placementIdentity && f(e.placementIdentity) === f(t));
4603
4701
  n && e.layout.activatePanel(n.widgetId);
4604
- }, fa = (e, t) => {
4702
+ }, xa = (e, t) => {
4605
4703
  if (t.kind === "command") {
4606
- e.commands.executeCommand(K(t.target.command), t.target.params, { source: "panel-add" });
4704
+ e.commands.executeCommand(G(t.target.command), t.target.params, { source: "panel-add" });
4607
4705
  return;
4608
4706
  }
4609
4707
  e.navigation.openTarget(t);
4610
- }, pa = (e, t, n) => {
4708
+ }, Sa = (e, t, n) => {
4611
4709
  if (t.kind !== "binding") return !0;
4612
4710
  let r = t.binding.add;
4613
- if (!r) return !!(n && q(t.binding, n));
4711
+ if (!r) return !!(n && K(t.binding, n));
4614
4712
  if (r.kind !== "command") return !0;
4615
- let i = K(r.target.command);
4713
+ let i = G(r.target.command);
4616
4714
  return !!(e.commands.getCommand(i) && e.commands.isCommandVisible(i, r.target.params) && e.commands.isCommandEnabled(i, r.target.params));
4617
- }, ma = (e, t, n) => {
4715
+ }, Ca = (e, t, n) => {
4618
4716
  for (let r of e.shellPlacements.listPlacements()) {
4619
4717
  if (r.region !== t.region || r.item.kind === "view" && r.item.presence === "fixed") continue;
4620
- let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = ua(t.layout, (e) => e.kind === "shell" && e.placementId === r.id);
4621
- !i && a || !pa(e, r.item, t.resource) || n(Kr(r.id), (t) => {
4718
+ let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = ya(t.layout, (e) => e.kind === "shell" && e.placementId === r.id);
4719
+ !i && a || !Sa(e, r.item, t.resource) || n(ti(r.id), (t) => {
4622
4720
  if (r.item.kind === "binding" && r.item.binding.add) {
4623
- fa(e, r.item.binding.add);
4721
+ xa(e, r.item.binding.add);
4624
4722
  return;
4625
4723
  }
4626
4724
  e.shellPlacements.openPlacement({
@@ -4632,16 +4730,16 @@ var Ue = () => {
4632
4730
  });
4633
4731
  });
4634
4732
  }
4635
- }, ha = (e, t, n) => {
4733
+ }, wa = (e, t, n) => {
4636
4734
  for (let r of e.modePlacements.listPlacements(t.modeId)) {
4637
4735
  if (r.region !== t.region || r.item.kind === "view" && r.item.presence === "fixed") continue;
4638
- let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = ua(t.layout, (e) => e.kind === "mode" && e.placementId === r.id);
4639
- !i && a || !pa(e, r.item, t.resource) || n(tr(r.id), (t) => {
4736
+ let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = ya(t.layout, (e) => e.kind === "mode" && e.placementId === r.id);
4737
+ !i && a || !Sa(e, r.item, t.resource) || n(ur(r.id), (t) => {
4640
4738
  if (r.item.kind === "binding" && r.item.binding.add) {
4641
- fa(e, r.item.binding.add);
4739
+ xa(e, r.item.binding.add);
4642
4740
  return;
4643
4741
  }
4644
- da(e, e.modePlacements.openPlacement({
4742
+ ba(e, e.modePlacements.openPlacement({
4645
4743
  panel: r.ref,
4646
4744
  ...r.item.kind === "binding" && t ? {
4647
4745
  resource: t,
@@ -4650,14 +4748,14 @@ var Ue = () => {
4650
4748
  }));
4651
4749
  });
4652
4750
  }
4653
- }, ga = (e, t, n) => {
4751
+ }, Ta = (e, t, n) => {
4654
4752
  let r = e.pages.store.getState(), i = r.activePageId ? e.pages.getPage(r.activePageId) : void 0;
4655
4753
  if (i) for (let r of i.slots) {
4656
4754
  if (r.isAvailable && !r.isAvailable(t.resource) || r.region !== t.region || r.item.kind === "view" && r.item.presence === "fixed") continue;
4657
- let a = r.item.kind === "binding" && r.item.binding.cardinality === "many", o = ua(t.layout, (e) => e.kind === "page" && e.pageId === i.id && e.slotId === r.id);
4658
- !a && o || !pa(e, r.item, t.resource) || n(nr(i.id, r.id), (t) => {
4755
+ let a = r.item.kind === "binding" && r.item.binding.cardinality === "many", o = ya(t.layout, (e) => e.kind === "page" && e.pageId === i.id && e.slotId === r.id);
4756
+ !a && o || !Sa(e, r.item, t.resource) || n(dr(i.id, r.id), (t) => {
4659
4757
  if (r.item.kind === "binding" && r.item.binding.add) {
4660
- fa(e, r.item.binding.add);
4758
+ xa(e, r.item.binding.add);
4661
4759
  return;
4662
4760
  }
4663
4761
  e.pages.openSlot({
@@ -4668,7 +4766,7 @@ var Ue = () => {
4668
4766
  });
4669
4767
  });
4670
4768
  }
4671
- }, _a = (e, t) => {
4769
+ }, Ea = (e, t) => {
4672
4770
  let n = [], r = (r, i) => {
4673
4771
  let a = e.layout.getWidget(r);
4674
4772
  a && n.push({
@@ -4678,8 +4776,8 @@ var Ue = () => {
4678
4776
  open: i
4679
4777
  });
4680
4778
  };
4681
- return ma(e, t, r), ha(e, t, r), ga(e, t, r), n;
4682
- }, va = (e) => (t) => !e.listProviders().some((e) => e.kind === t.type) || e.listResources("").some((e) => P(e.resource) === P(t)), ya = ({ layout: e, isInScope: t }) => {
4779
+ return Ca(e, t, r), wa(e, t, r), Ta(e, t, r), n;
4780
+ }, Da = (e) => (t) => !e.listProviders().some((e) => e.kind === t.type) || e.listResources("").some((e) => P(e.resource) === P(t)), Oa = ({ layout: e, isInScope: t }) => {
4683
4781
  let n = !1, r = e.onWillChangePersistenceScope(() => {
4684
4782
  n = !0;
4685
4783
  }), i = e.onDidChangePersistenceScope(() => {
@@ -4697,9 +4795,9 @@ var Ue = () => {
4697
4795
  return D(() => {
4698
4796
  a(), r.dispose(), i.dispose();
4699
4797
  });
4700
- }, ba = "sidenav", xa = (e, t) => {
4798
+ }, ka = "sidenav", Aa = (e, t) => {
4701
4799
  e.shell.setRegionOpen(t, !e.shell.getRegionState(t).open);
4702
- }, Sa = [
4800
+ }, ja = [
4703
4801
  {
4704
4802
  id: "workbench.toggleCommandPalette",
4705
4803
  label: "Toggle Command Palette",
@@ -4744,10 +4842,10 @@ var Ue = () => {
4744
4842
  label: "Toggle Sidenav",
4745
4843
  icon: "PanelLeft",
4746
4844
  keybinding: "Mod+B",
4747
- execute: (e) => xa(e, ba)
4845
+ execute: (e) => Aa(e, ka)
4748
4846
  }
4749
- ], Ca = (e) => {
4750
- for (let t of Sa) e.commands.registerCommand({
4847
+ ], Ma = (e) => {
4848
+ for (let t of ja) e.commands.registerCommand({
4751
4849
  id: t.id,
4752
4850
  label: t.label,
4753
4851
  category: "Workbench",
@@ -4764,7 +4862,7 @@ var Ue = () => {
4764
4862
  commandId: t.id,
4765
4863
  group: "Workbench"
4766
4864
  });
4767
- }, wa = (e) => zt({
4865
+ }, Na = (e) => Bt({
4768
4866
  getActiveMode: () => {
4769
4867
  let t = e(), n = t.modes.getActiveModeId();
4770
4868
  return n ? t.modes.getMode(n) : void 0;
@@ -4772,13 +4870,13 @@ var Ue = () => {
4772
4870
  getLayout: () => e().layout.getLayout(),
4773
4871
  getResource: () => e().getPrimaryResource(),
4774
4872
  listWidgets: () => e().layout.listWidgets(),
4775
- listOwnedAddablePanels: ({ layout: t, mode: n, region: r, resource: i }) => _a(e(), {
4873
+ listOwnedAddablePanels: ({ layout: t, mode: n, region: r, resource: i }) => Ea(e(), {
4776
4874
  layout: t,
4777
4875
  modeId: n?.id,
4778
4876
  region: r,
4779
4877
  resource: i
4780
4878
  })
4781
- }), Ta = (e, t) => {
4879
+ }), Pa = (e, t) => {
4782
4880
  e.layout.store.subscribe((t) => {
4783
4881
  let n = e.focus.getActiveRegion();
4784
4882
  n && !t.layout.regions[n].visible && e.focus.clearFocus();
@@ -4786,32 +4884,32 @@ var Ue = () => {
4786
4884
  let t = e.layout.activeWidgetId;
4787
4885
  if (t) return Object.values(e.layout.regions).flatMap((e) => e.widgets).find((e) => e.widgetId === t)?.viewId;
4788
4886
  }, (t) => {
4789
- t ? e.context.set(Si, t) : e.context.delete(Si);
4790
- }, { fireImmediately: !0 }), ya({
4887
+ t ? e.context.set(ji, t) : e.context.delete(ji);
4888
+ }, { fireImmediately: !0 }), Oa({
4791
4889
  layout: e.layout,
4792
- isInScope: t.isInScope ?? va(e.resources)
4793
- }), Ca(e);
4794
- }, Ea = (e) => {
4890
+ isInScope: t.isInScope ?? Da(e.resources)
4891
+ }), Ma(e);
4892
+ }, Fa = (e) => {
4795
4893
  let t = e.layout.getLayout().activeWidgetId;
4796
4894
  if (t) for (let n of Object.values(e.layout.getLayout().regions)) {
4797
4895
  let e = n.widgets.find((e) => e.widgetId === t);
4798
4896
  if (e) return e.resource;
4799
4897
  }
4800
- }, Da = (e) => e.pages.store.getState().location?.resource, Oa = (e) => e.activeModeId ? {
4898
+ }, Ia = (e) => e.pages.store.getState().location?.resource, La = (e) => e.activeModeId ? {
4801
4899
  modeId: e.activeModeId,
4802
4900
  pageId: e.activePageId,
4803
4901
  projectId: e.projectId,
4804
4902
  location: e.location
4805
- } : void 0, ka = (e, t) => {
4903
+ } : void 0, Ra = (e, t) => {
4806
4904
  let n = Object.values(e.pages).find((e) => e.ref.extensionId === t.page.extensionId && e.ref.id === t.page.id);
4807
4905
  if (!n || n.id !== e.activePageId) throw Error(`Page panel "${t.id}" is not owned by the proposed page`);
4808
4906
  return n;
4809
- }, Aa = (e, t, n, r, i) => {
4907
+ }, za = (e, t, n, r, i) => {
4810
4908
  let a = t.panel;
4811
4909
  if (a.kind === "placement") {
4812
4910
  let o = e.modePlacements.getPlacement(a);
4813
4911
  if (!o || o.modeId !== n) throw Error(`Mode panel "${a.id}" is not owned by the proposed mode`);
4814
- let s = X(e.modePlacements).open({
4912
+ let s = Y(e.modePlacements).open({
4815
4913
  placementId: o.id,
4816
4914
  resource: t.resource,
4817
4915
  open: t.open
@@ -4822,7 +4920,7 @@ var Ue = () => {
4822
4920
  identity: s.identity
4823
4921
  };
4824
4922
  }
4825
- let o = X(e.shellPlacements).open({
4923
+ let o = Y(e.shellPlacements).open({
4826
4924
  placementId: a.id,
4827
4925
  resource: t.resource,
4828
4926
  open: t.open,
@@ -4833,9 +4931,9 @@ var Ue = () => {
4833
4931
  shellState: o.state,
4834
4932
  identity: o.identity
4835
4933
  };
4836
- }, ja = (e, t) => {
4934
+ }, Ba = (e, t) => {
4837
4935
  if (!t.length) throw Error("Compound navigation requires at least one page or panel target");
4838
- let n = L(e.pages), r = _n(e.pageLocations), i = X(e.modePlacements), a = X(e.shellPlacements), o = e.pages.store.getState(), s = i.getState(), c = a.getState(), l = s, u = c, d = o, p = /* @__PURE__ */ new Map(), m = (e = d.activeModeId) => ({
4936
+ let n = L(e.pages), r = Cn(e.pageLocations), i = Y(e.modePlacements), a = Y(e.shellPlacements), o = e.pages.store.getState(), s = i.getState(), c = a.getState(), l = s, u = c, d = o, p = /* @__PURE__ */ new Map(), m = (e = d.activeModeId) => ({
4839
4937
  shell: a.resolve(void 0, u),
4840
4938
  mode: i.resolve(e, l)
4841
4939
  });
@@ -4848,7 +4946,7 @@ var Ue = () => {
4848
4946
  pageId: t.id,
4849
4947
  projectId: d.projectId,
4850
4948
  location: e.location
4851
- }, u, Oa(d)) ?? u, l = i.restore?.({
4949
+ }, u, La(d)) ?? u, l = i.restore?.({
4852
4950
  modeId: t.modeId,
4853
4951
  pageId: t.id,
4854
4952
  location: e.location,
@@ -4865,7 +4963,7 @@ var Ue = () => {
4865
4963
  } else if (o.kind === "panel") {
4866
4964
  let t = o.panel;
4867
4965
  if (t.kind === "page-slot") {
4868
- let e = ka(d, t);
4966
+ let e = Ra(d, t);
4869
4967
  d = n.prepare.slot({
4870
4968
  pageId: e.id,
4871
4969
  slotId: t.id,
@@ -4873,7 +4971,7 @@ var Ue = () => {
4873
4971
  open: o.open
4874
4972
  }, d, m());
4875
4973
  } else {
4876
- let t = d.activeModeId ?? e.modes.getActiveModeId(), r = Aa(e, o, t, l, u);
4974
+ let t = d.activeModeId ?? e.modes.getActiveModeId(), r = za(e, o, t, l, u);
4877
4975
  l = r.modeState, u = r.shellState;
4878
4976
  let i = r.identity;
4879
4977
  d = n.prepare.compose(d, {
@@ -4897,13 +4995,13 @@ var Ue = () => {
4897
4995
  }, t = g.location ? r.commit(g, e) : (e(), n.publish(g, "navigateCompoundTarget"));
4898
4996
  return l !== s && i.publish(), u !== c && a.publish(), t;
4899
4997
  }) };
4900
- }, Ma = (e, t) => e.pages.listPages().find((e) => e.ref.extensionId === t.page.extensionId && e.ref.id === t.page.id), Na = (e, t) => {
4998
+ }, Va = (e, t) => e.pages.listPages().find((e) => e.ref.extensionId === t.page.extensionId && e.ref.id === t.page.id), Ha = (e, t) => {
4901
4999
  let n = t.panel;
4902
- return n.kind === "shell-placement" ? !!e.shellPlacements.getPlacement(n.id) : n.kind === "page-slot" ? !!Ma(e, n)?.slots.some((e) => e.id === n.id) : !!e.modePlacements.getPlacement(n);
4903
- }, Pa = (e, t) => {
5000
+ return n.kind === "shell-placement" ? !!e.shellPlacements.getPlacement(n.id) : n.kind === "page-slot" ? !!Va(e, n)?.slots.some((e) => e.id === n.id) : !!e.modePlacements.getPlacement(n);
5001
+ }, Q = (e, t) => {
4904
5002
  t === "secondary" && e.shell.setRegionOpen("secondary", !0), t === "side" && e.sidePanel.getMode() === "closed" && e.sidePanel.setMode("attached");
4905
- }, Fa = (e, t, n) => {
4906
- let r = Ma(e, n);
5003
+ }, Ua = (e, t, n) => {
5004
+ let r = Va(e, n);
4907
5005
  if (!r || e.pages.store.getState().activePageId !== r.id) throw Error(`Page panel "${n.id}" is not owned by the active page`);
4908
5006
  let i = r.slots.find((e) => e.id === n.id);
4909
5007
  if (!i) throw Error(`Page panel "${n.id}" is not an auxiliary slot`);
@@ -4912,8 +5010,8 @@ var Ue = () => {
4912
5010
  slotId: n.id,
4913
5011
  ...t.resource ? { resource: t.resource } : {},
4914
5012
  ...t.open ? { open: t.open } : {}
4915
- }), Pa(e, i.region);
4916
- }, Ia = (e, t) => {
5013
+ }), Q(e, i.region);
5014
+ }, Wa = (e, t) => {
4917
5015
  let n = t.panel;
4918
5016
  if (n.kind !== "placement") throw Error(`Expected a mode placement panel: ${n.id}`);
4919
5017
  let r = e.modePlacements.getPlacement(n);
@@ -4923,8 +5021,8 @@ var Ue = () => {
4923
5021
  ...t.resource ? { resource: t.resource } : {},
4924
5022
  ...t.open ? { open: t.open } : {}
4925
5023
  });
4926
- Pa(e, r.region), da(e, i);
4927
- }, La = (e, t) => {
5024
+ Q(e, r.region), ba(e, i);
5025
+ }, Ga = (e, t) => {
4928
5026
  let n = e.shellPlacements.getPlacement(t.panel.id);
4929
5027
  if (!n) throw Error(`Unknown shell placement: ${t.panel.id}`);
4930
5028
  let r = e.shellPlacements.openPlacement({
@@ -4933,28 +5031,28 @@ var Ue = () => {
4933
5031
  ...t.open ? { open: t.open } : {},
4934
5032
  ...t.title ? { title: t.title } : {}
4935
5033
  });
4936
- Pa(e, n.region), da(e, r);
4937
- }, Ra = (e, t) => {
5034
+ Q(e, n.region), ba(e, r);
5035
+ }, Ka = (e, t) => {
4938
5036
  let n = t.panel;
4939
5037
  if (n.kind === "shell-placement") {
4940
- La(e, {
5038
+ Ga(e, {
4941
5039
  ...t,
4942
5040
  panel: n
4943
5041
  });
4944
5042
  return;
4945
5043
  }
4946
5044
  if (n.kind === "page-slot") {
4947
- Fa(e, t, n);
5045
+ Ua(e, t, n);
4948
5046
  return;
4949
5047
  }
4950
- Ia(e, t);
4951
- }, za = (e) => mr({ resolveDispatcher: () => {
5048
+ Wa(e, t);
5049
+ }, qa = (e) => Cr({ resolveDispatcher: () => {
4952
5050
  let t = e();
4953
5051
  return {
4954
- prepareNavigation: (e) => ja(t, e),
4955
- canOpenPanel: (e) => Na(t, e),
5052
+ prepareNavigation: (e) => Ba(t, e),
5053
+ canOpenPanel: (e) => Ha(t, e),
4956
5054
  canExecuteCommand: (e) => !!t.commands.getCommand(e),
4957
- openPanelTarget: (e) => Ra(t, e),
5055
+ openPanelTarget: (e) => Ka(t, e),
4958
5056
  openPageTarget: (e) => {
4959
5057
  let n = t.pageLocations.navigate(e);
4960
5058
  if (!n.ok) throw Error(n.diagnostic.message);
@@ -4963,26 +5061,26 @@ var Ue = () => {
4963
5061
  executeCommand: (e, n) => t.commands.executeCommand(e, n),
4964
5062
  openHref: (e) => globalThis.open(e, "_blank", "noopener,noreferrer")
4965
5063
  };
4966
- } }), Ba = (e) => {
4967
- let t = ii();
5064
+ } }), Ja = (e) => {
5065
+ let t = pi();
4968
5066
  return {
4969
5067
  ...t,
4970
- ...ci({
5068
+ ..._i({
4971
5069
  rendererRegistry: t,
4972
5070
  persistence: e.treePersistence
4973
5071
  }),
4974
- ...ri({ rendererRegistry: t }),
4975
- ...ti({ rendererRegistry: t }),
4976
- ...ni({ rendererRegistry: t }),
4977
- ...ei({ rendererRegistry: t })
5072
+ ...fi({ rendererRegistry: t }),
5073
+ ...ui({ rendererRegistry: t }),
5074
+ ...di({ rendererRegistry: t }),
5075
+ ...li({ rendererRegistry: t })
4978
5076
  };
4979
5077
  }, $ = (e, t) => ({
4980
5078
  ...t,
4981
5079
  source: e.source,
4982
5080
  ownerId: e.ownerId
4983
- }), Va = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], Ha = (e) => {
5081
+ }), Ya = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], Xa = (e) => {
4984
5082
  for (let t = e.length - 1; t >= 0; --t) e[t]?.dispose();
4985
- }, Ua = (e, t) => {
5083
+ }, Za = (e, t) => {
4986
5084
  let n = e.context.createScope(t.contextScopeId);
4987
5085
  t.track(n);
4988
5086
  let r = (e) => (t.track(e), e), { openPanel: i, openWidget: a, registerPanel: o, registerPanelMenu: s, registerPlaceholder: c, registerWidget: l, ...u } = e.layout;
@@ -5030,12 +5128,12 @@ var Ue = () => {
5030
5128
  registerMode: (n) => r(e.modes.registerMode({
5031
5129
  ...n,
5032
5130
  activate: () => {
5033
- let r = [], i = Ua(e, {
5131
+ let r = [], i = Za(e, {
5034
5132
  ...t,
5035
5133
  contextScopeId: `mode:${n.id}`,
5036
5134
  track: (e) => r.push(e)
5037
- }), a = Va(n.activate(i));
5038
- return D(() => Ha([...r, ...a]));
5135
+ }), a = Ya(n.activate(i));
5136
+ return D(() => Xa([...r, ...a]));
5039
5137
  }
5040
5138
  })),
5041
5139
  onDidChangeActive: (t) => r(e.modes.onDidChangeActive(t))
@@ -5128,19 +5226,19 @@ var Ue = () => {
5128
5226
  register: (t) => r(e.fileIconThemes.register(t))
5129
5227
  }
5130
5228
  };
5131
- }, Wa = (e) => {
5229
+ }, Qa = (e) => {
5132
5230
  let t = /* @__PURE__ */ new Map();
5133
5231
  return {
5134
5232
  registerModule(n) {
5135
5233
  if (t.has(n.id)) throw Error(`Workbench module already registered: ${n.id}`);
5136
5234
  let r = [], i;
5137
5235
  i = D(() => {
5138
- t.get(n.id)?.disposable === i && (t.delete(n.id), Ha(r));
5236
+ t.get(n.id)?.disposable === i && (t.delete(n.id), Xa(r));
5139
5237
  });
5140
5238
  let a = { disposable: i };
5141
5239
  t.set(n.id, a);
5142
5240
  try {
5143
- let t = Ua(e(), {
5241
+ let t = Za(e(), {
5144
5242
  contextScopeId: `module:${n.id}`,
5145
5243
  ownerId: n.ownerId ?? n.id,
5146
5244
  source: n.source ?? "module",
@@ -5148,7 +5246,7 @@ var Ue = () => {
5148
5246
  r.push(e);
5149
5247
  }
5150
5248
  });
5151
- r.push(...Va(n.activate(t)));
5249
+ r.push(...Ya(n.activate(t)));
5152
5250
  } catch (e) {
5153
5251
  throw a.disposable.dispose(), e;
5154
5252
  }
@@ -5158,7 +5256,7 @@ var Ue = () => {
5158
5256
  t.get(e)?.disposable.dispose();
5159
5257
  }
5160
5258
  };
5161
- }, Ga = (e, t, n) => {
5259
+ }, $a = (e, t, n) => {
5162
5260
  let r = e.resolvePagePersistenceScope;
5163
5261
  if (r) return (e) => {
5164
5262
  let i = r({
@@ -5170,13 +5268,25 @@ var Ue = () => {
5170
5268
  });
5171
5269
  n.setPersistenceScope(i.scope), t.setPersistenceScope(i.scope, { carryRegionState: i.carryRegions });
5172
5270
  };
5173
- }, Ka = (e = {}) => {
5174
- let n = ye(), r = Ln({ context: n }), i = Ba(e), a = sa(e), o = {
5271
+ }, eo = (e, t, n, r) => zn({
5272
+ registry: t,
5273
+ browser: e.pageLocationBrowser ?? Wi(),
5274
+ navigationTrees: n,
5275
+ modes: r,
5276
+ persistence: e.pageLocationPersistence ?? Gi(),
5277
+ startPage: e.startPage ?? He.start
5278
+ }), to = (e) => {
5279
+ e?.flush?.(), e?.dispose?.();
5280
+ }, no = (e = {}) => {
5281
+ let n = ye(), r = Kn({ context: n }), i = Ja(e), a = ga(e), o = {
5175
5282
  ...e,
5176
5283
  persistence: void 0,
5177
5284
  layoutPersistence: a.layout
5178
- }, { establishLocation: s, ...c } = At({
5179
- defaultRegionVisibility: e.defaultPanelOpenByRegionId,
5285
+ }, { establishLocation: s, ...c } = jt({
5286
+ defaultRegionVisibility: {
5287
+ ...e.defaultPanelOpenByRegionId,
5288
+ side: (e.initialSidePanelMode ?? "floating") !== "closed"
5289
+ },
5180
5290
  getRegionSettings: (t) => {
5181
5291
  let n = C?.modes.getActiveModeId(), r = n ? C?.modes.getMode(n) : void 0;
5182
5292
  return {
@@ -5187,18 +5297,18 @@ var Ue = () => {
5187
5297
  persistence: a.layout
5188
5298
  }), l = {
5189
5299
  ...c,
5190
- ...zn({ commands: r })
5191
- }, u = Ht({
5300
+ ...Jn({ commands: r })
5301
+ }, u = Ut({
5192
5302
  context: n,
5193
5303
  isRegionFocusable: (e) => l.getLayout().regions[e].visible
5194
- }), d = wi({ registerBody: la(i) }), f = xi({ views: d }), p = e.pageResources ?? Pe, m = cr({
5304
+ }), d = Ni({ registerBody: va(i) }), f = Ai({ views: d }), p = e.pageResources ?? Pe, m = _r({
5195
5305
  loadLayout: (e) => a.readMode(e.projectId, e.modeId),
5196
5306
  getProjectId: () => C?.pages.store.getState().projectId,
5197
5307
  views: d,
5198
5308
  viewMenus: f,
5199
5309
  getPanel: l.getWidget,
5200
5310
  registerPanel: l
5201
- }), h = Xr({
5311
+ }), h = ai({
5202
5312
  views: d,
5203
5313
  viewMenus: f,
5204
5314
  getPanel: l.getWidget,
@@ -5211,13 +5321,13 @@ var Ue = () => {
5211
5321
  currentScope: l.getPersistenceScope(),
5212
5322
  resource: t.location?.resource
5213
5323
  }).scope : void 0,
5214
- loadLayout: (e) => ra(o, {
5324
+ loadLayout: (e) => fa(o, {
5215
5325
  ...e,
5216
5326
  resource: e.location?.resource
5217
5327
  }),
5218
5328
  enteredWithPersistedLayout: l.enteredWithPersistedLayout,
5219
5329
  onDidChangePersistenceScope: l.onDidChangePersistenceScope
5220
- }), g = pi({ hasView: (e) => !!d.getView(e) }), _ = Me({
5330
+ }), g = Si({ hasView: (e) => !!d.getView(e) }), _ = Me({
5221
5331
  subscribeViewRefresh: (e, t) => i.onDidRefresh(({ treeId: n }) => {
5222
5332
  n === e && t();
5223
5333
  }),
@@ -5230,39 +5340,39 @@ var Ue = () => {
5230
5340
  ...n,
5231
5341
  viewId: e
5232
5342
  })
5233
- }), v = _r({
5343
+ }), v = Er({
5234
5344
  layout: l,
5235
5345
  views: d,
5236
5346
  viewMenus: f
5237
- }), y = Gr({
5347
+ }), y = ei({
5238
5348
  layout: l,
5239
5349
  views: d
5240
- }), b = Ue(), x = jn({ persistence: e.panelMenuStatePersistence }), S = xe({
5350
+ }), b = Ue(), x = Bn({ persistence: e.panelMenuStatePersistence }), S = xe({
5241
5351
  remove: (e, t) => {
5242
- Di(C, e, t), a.removeResource(e);
5352
+ Ii(C, e, t), a.removeResource(e);
5243
5353
  },
5244
5354
  getPrimary: () => C.getPrimaryResource(),
5245
5355
  resolveView: d.getView
5246
- }), C, w = Ft({
5356
+ }), C, w = It({
5247
5357
  establishLocation: s,
5248
5358
  layout: l,
5249
5359
  resolveContext: () => C
5250
- }), ee = Mn({
5360
+ }), ee = Vn({
5251
5361
  getFloatingPanels: () => {
5252
5362
  let t = w.getActiveModeId();
5253
5363
  return (t ? w.getMode(t)?.floatingPanels : void 0) ?? e.floatingPanels ?? "visible";
5254
5364
  },
5255
5365
  onDidChangePolicy: w.onDidChangeActive,
5256
5366
  initialMode: e.initialSidePanelMode,
5257
- persistence: e.sidePanelPersistence
5258
- }), T = ca({
5367
+ layout: l
5368
+ }), T = _a({
5259
5369
  layout: l,
5260
5370
  sidePanel: ee
5261
- }), E = ta({
5371
+ }), E = ua({
5262
5372
  loadModeLayout: a.readMode,
5263
- beforeApply: Ga(e, l, x),
5264
- restorePageState: ia(o),
5265
- revealRegion: (e) => Pa(C, e),
5373
+ beforeApply: $a(e, l, x),
5374
+ restorePageState: pa(o),
5375
+ revealRegion: (e) => Q(C, e),
5266
5376
  layout: l,
5267
5377
  modePlacements: m,
5268
5378
  modes: w,
@@ -5270,15 +5380,10 @@ var Ue = () => {
5270
5380
  views: d,
5271
5381
  viewMenus: f,
5272
5382
  resources: p
5273
- }), te = An({
5274
- registry: E,
5275
- browser: e.pageLocationBrowser ?? Fi(),
5276
- persistence: e.pageLocationPersistence ?? Ii(),
5277
- startPage: e.startPage ?? He.start
5278
- }), O = wa(() => C), ne = za(() => C);
5383
+ }), te = eo(e, E, _, w), O = Na(() => C), ne = qa(() => C);
5279
5384
  return C = {
5280
- closePlacement: Ti(() => C),
5281
- pinPlacement: Ei(() => C),
5385
+ closePlacement: Pi(() => C),
5386
+ pinPlacement: Fi(() => C),
5282
5387
  breadcrumbs: b,
5283
5388
  commandPalette: We(),
5284
5389
  commands: r,
@@ -5299,7 +5404,7 @@ var Ue = () => {
5299
5404
  modes: w,
5300
5405
  modePlacements: m,
5301
5406
  shellPlacements: h,
5302
- notifications: hr(),
5407
+ notifications: wr(),
5303
5408
  overlays: v,
5304
5409
  placeholders: y,
5305
5410
  pageLocations: te,
@@ -5307,36 +5412,36 @@ var Ue = () => {
5307
5412
  navigation: ne,
5308
5413
  navigationTrees: _,
5309
5414
  panelMenuState: x,
5310
- preferences: $r({ persistence: e.preferencePersistence }),
5415
+ preferences: ci({ persistence: e.preferencePersistence }),
5311
5416
  treeViews: {
5312
5417
  getTreeState: i.getTreeState,
5313
5418
  setNodeExpanded: i.setNodeExpanded,
5314
5419
  setSectionExpanded: i.setSectionExpanded,
5315
5420
  setSelectedNode: i.setSelectedNode
5316
5421
  },
5317
- commandPaletteResources: In(),
5422
+ commandPaletteResources: Gn(),
5318
5423
  resources: S,
5319
5424
  views: d,
5320
5425
  viewMenus: f,
5321
- settings: di({ hasView: (e) => !!d.getView(e) }),
5426
+ settings: bi({ hasView: (e) => !!d.getView(e) }),
5322
5427
  statusBar: g,
5323
- statuses: gi(),
5428
+ statuses: Ti(),
5324
5429
  shell: T,
5325
5430
  sidePanel: ee,
5326
- terminal: Fn(),
5327
- themes: vi(),
5328
- fileIconThemes: _i(),
5431
+ terminal: Wn(),
5432
+ themes: Di(),
5433
+ fileIconThemes: Ei(),
5329
5434
  getActiveResource() {
5330
- return Ea(C);
5435
+ return Fa(C);
5331
5436
  },
5332
5437
  async dispose() {
5333
- await Promise.all([d.reads.dispose(), C.terminal.dispose()]);
5438
+ to(a.layout), await Promise.all([d.reads.dispose(), C.terminal.dispose()]);
5334
5439
  },
5335
5440
  onDidChangeActiveResource(e) {
5336
5441
  return D(C.layout.store.subscribeSelector((e) => e.layout.activeResourceKey, () => e(C.getActiveResource())));
5337
5442
  },
5338
5443
  getPrimaryResource() {
5339
- return Da(C);
5444
+ return Ia(C);
5340
5445
  },
5341
5446
  onDidChangePrimaryResource(e) {
5342
5447
  return D(C.pages.store.subscribeSelector((e) => e.location?.resource, () => e(C.getPrimaryResource())));
@@ -5344,18 +5449,20 @@ var Ue = () => {
5344
5449
  registerChildModule(e) {
5345
5450
  return C.registerModule(e);
5346
5451
  },
5347
- ...Wa(() => C)
5452
+ ...Qa(() => C)
5348
5453
  }, me(C, i), l.store.subscribe(() => {
5349
5454
  let e = E.store.getState();
5350
5455
  e.activeModeId && a.saveMode(e.projectId, e.activeModeId, l.getLayout());
5351
- }), Pi({
5456
+ }), Ui({
5352
5457
  breadcrumbs: b,
5353
5458
  locations: te,
5354
5459
  pages: E,
5460
+ navigationTrees: _,
5461
+ modes: w,
5355
5462
  resources: p
5356
- }), Ta(C, e), C;
5463
+ }), Pa(C, e), C;
5357
5464
  };
5358
5465
  //#endregion
5359
- export { w as batchWorkbenchChanges, Kt as createLevelNavigation, li as createRendererReadRegistry, pi as createStatusBarRegistry, gi as createStatusRegistry, wi as createViewRegistry, Ka as createWorkbench, te as createWorkbenchResourceContextValues, de as createWorkbenchSelectionResourceMetadata, Ne as defaultPageResourceCodec, Fe as dockedWorkbenchRegions, le as getKeybindingSteps, u as getWorkbenchModePanelForRegion, we as getWorkbenchSelectionResourceKeys, Ae as headerLeadingMenuPath, E as headerTrailingMenuPath, g as isWorkbenchModePanelAvailable, ae as isWorkbenchViewHierarchyNode, ce as matchesContextExpression, he as rendererReadKey, ue as resolveAnchorRegion, ke as resourceContextMenuPath, C as resourceHierarchyCycleCode, ee as settleReadBatch, Ee as standardResourceIcons, _ as workbenchCommandPaletteMenuPath, j as workbenchPanelRegions, r as workbenchRegionTabAddMenuPath, Oe as workbenchRegionTabLeadingMenuPath, se as workbenchRegions, ie as workbenchResourceIdContextKey, _e as workbenchResourceMetadataContextKey, pe as workbenchResourceTypeContextKey, oe as workbenchSelectionResourceKeyMetadataKey, v as workbenchTopHeaderLeadingMenuPath, i as workbenchTopHeaderTrailingMenuPath, Si as workbenchViewIdContextKey };
5466
+ export { w as batchWorkbenchChanges, Zt as createLevelNavigation, vi as createRendererReadRegistry, Si as createStatusBarRegistry, Ti as createStatusRegistry, Ni as createViewRegistry, no as createWorkbench, te as createWorkbenchResourceContextValues, de as createWorkbenchSelectionResourceMetadata, Ne as defaultPageResourceCodec, Fe as dockedWorkbenchRegions, le as getKeybindingSteps, u as getWorkbenchModePanelForRegion, we as getWorkbenchSelectionResourceKeys, Ae as headerLeadingMenuPath, E as headerTrailingMenuPath, g as isWorkbenchModePanelAvailable, ae as isWorkbenchViewHierarchyNode, ce as matchesContextExpression, he as rendererReadKey, ue as resolveAnchorRegion, ke as resourceContextMenuPath, C as resourceHierarchyCycleCode, ee as settleReadBatch, Ee as standardResourceIcons, _ as workbenchCommandPaletteMenuPath, j as workbenchPanelRegions, r as workbenchRegionTabAddMenuPath, Oe as workbenchRegionTabLeadingMenuPath, se as workbenchRegions, ie as workbenchResourceIdContextKey, _e as workbenchResourceMetadataContextKey, pe as workbenchResourceTypeContextKey, oe as workbenchSelectionResourceKeyMetadataKey, v as workbenchTopHeaderLeadingMenuPath, i as workbenchTopHeaderTrailingMenuPath, ji as workbenchViewIdContextKey };
5360
5467
 
5361
5468
  //# sourceMappingURL=index.js.map