@pstdio/workbench 0.45.0-nightly.20261021143541 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { r as e, t } from "./navigation-tree-registry-OZpN52UT.js";
2
- import { $ as n, $t as r, A as i, At as a, B as o, Bt as s, C as c, Ct as l, D as u, Dt as d, E as f, Et as p, F as m, G as h, Gt as g, H as _, Ht as v, I as y, It as b, J as x, Jt as S, K as C, Kt as w, L as ee, M as te, Mt as T, N as ne, Nt as E, O as re, P as ie, Q as D, Qt as ae, R as oe, S as O, St as k, T as se, Tt as ce, U as le, Ut as A, V as ue, Vt as de, W as fe, Wt as pe, X as me, Xt as he, Yt as j, Z as ge, Zt as _e, _ as M, _t as ve, a as ye, an as be, at as xe, bt as Se, c as Ce, cn as we, ct as N, d as Te, dn as Ee, dt as De, en as Oe, et as ke, f as Ae, fn as je, ft as Me, g as Ne, gt as Pe, h as Fe, hn as Ie, ht as Le, i as Re, in as P, it as ze, j as Be, jt as F, k as Ve, kt as He, l as Ue, ln as I, lt as We, m as Ge, mt as L, n as Ke, nt as qe, o as Je, on as R, ot as Ye, pn as Xe, pt as Ze, q as Qe, qt as $e, r as et, rn as tt, rt as nt, s as rt, sn as z, st as it, tn as at, tt as ot, u as st, un as B, ut as ct, v as lt, vt as ut, w as dt, wt as ft, x as pt, xt as mt, yt as ht, z as gt, zt as _t } from "./workbench-renderers-DYpdN2Xi.js";
3
- import { n as vt } from "./layout-tab-presentation-Bz6EgFEa.js";
1
+ import { r as e, t } from "./navigation-tree-registry-DM4Lhfir.js";
2
+ import { $ as n, $t as r, A as i, At as a, B as o, Bt as s, C as c, Ct as l, D as u, Dt as d, E as f, Et as p, F as m, G as h, Gt as g, H as _, Ht as v, I as y, It as b, J as x, Jt as S, K as C, Kt as w, L as ee, M as te, Mt as T, N as ne, Nt as E, O as re, P as ie, Q as D, Qt as ae, R as oe, S as O, St as k, T as se, Tt as ce, U as le, Ut as A, V as ue, Vt as de, W as fe, Wt as pe, X as me, Xt as he, Yt as j, Z as ge, Zt as _e, _ as M, _t as ve, a as ye, an as be, at as xe, bt as Se, c as Ce, cn as we, ct as N, d as Te, dn as Ee, dt as De, en as Oe, et as ke, f as Ae, fn as je, ft as Me, g as Ne, gt as Pe, h as Fe, hn as Ie, ht as Le, i as Re, in as P, it as ze, j as Be, jt as F, k as Ve, kt as He, l as Ue, ln as I, lt as We, m as Ge, mt as L, n as Ke, nt as qe, o as Je, on as R, ot as Ye, pn as Xe, pt as Ze, q as Qe, qt as $e, r as et, rn as tt, rt as nt, s as rt, sn as z, st as it, tn as at, tt as ot, u as st, un as B, ut as ct, v as lt, vt as ut, w as dt, wt as ft, x as pt, xt as mt, yt as ht, z as gt, zt as _t } from "./workbench-renderers-DOc_oE0K.js";
3
+ import { n as vt } from "./layout-tab-presentation-CCUroIOY.js";
4
4
  import { contributionRefId as yt, dockedWorkbenchRegions as bt, isLocalizedString as xt, isNavigationTarget as St, resourceKey as V, workbenchPages as Ct } from "@pstdio/sdk/extensions";
5
- var wt = {
5
+ var H = {
6
6
  normalize: (e) => ({ ...e }),
7
7
  toUri: (e) => {
8
8
  let t = `pstdio://extension-resource/${encodeURIComponent(e.type)}/${encodeURIComponent(e.id)}`, n = new URLSearchParams();
@@ -25,12 +25,12 @@ var wt = {
25
25
  return;
26
26
  }
27
27
  }
28
- }, Tt = "pstdio", Et = (e) => `${e.extensionId ?? ""}:page:${e.id}`, Dt = (e, t) => e.find((e) => Et(e.ref) === Et(t)), Ot = (e) => e.split("/").filter(Boolean).map((e) => encodeURIComponent(e)).join("/"), kt = (e, t) => {
29
- let n = `/projects/${encodeURIComponent(e)}`, r = Ot(t.path);
30
- if (t.ref.extensionId === Tt) return r ? `${n}/${r}` : n;
28
+ }, wt = "pstdio", Tt = (e) => `${e.extensionId ?? ""}:page:${e.id}`, Et = (e, t) => e.find((e) => Tt(e.ref) === Tt(t)), Dt = (e) => e.split("/").filter(Boolean).map((e) => encodeURIComponent(e)).join("/"), Ot = (e, t) => {
29
+ let n = `/projects/${encodeURIComponent(e)}`, r = Dt(t.path);
30
+ if (t.ref.extensionId === wt) return r ? `${n}/${r}` : n;
31
31
  if (!t.ref.extensionId) throw Error(`Page "${t.id}" has no extension id`);
32
32
  return `${n}/extensions/${encodeURIComponent(t.ref.extensionId)}/${r}`;
33
- }, At = (e) => {
33
+ }, kt = (e) => {
34
34
  if (!e || typeof e != "object" || !Array.isArray(e.anchors)) return;
35
35
  let t = e.anchors;
36
36
  if (!t.some((e) => !e || typeof e != "object" || typeof e.id != "string" || typeof e.heading != "string" || e.occurrence !== void 0 && (!Number.isInteger(e.occurrence) || Number(e.occurrence) < 0))) return { anchors: t.map((e) => {
@@ -41,19 +41,19 @@ var wt = {
41
41
  ...t.occurrence === void 0 ? {} : { occurrence: t.occurrence }
42
42
  };
43
43
  }) };
44
- }, jt = (e) => {
45
- let t = At(e);
44
+ }, At = (e) => {
45
+ let t = kt(e);
46
46
  if (!t) throw Error("Page location has an invalid section");
47
47
  return JSON.stringify(t);
48
- }, Mt = (e) => {
48
+ }, jt = (e) => {
49
49
  try {
50
- return At(JSON.parse(e));
50
+ return kt(JSON.parse(e));
51
51
  } catch {
52
52
  return;
53
53
  }
54
- }, Nt = (t) => {
55
- let n = Dt(t.pages, t.location.page);
56
- if (!n) throw Error(`Unknown page ref: ${Et(t.location.page)}`);
54
+ }, Mt = (t) => {
55
+ let n = Et(t.pages, t.location.page);
56
+ if (!n) throw Error(`Unknown page ref: ${Tt(t.location.page)}`);
57
57
  let r = new URLSearchParams();
58
58
  t.location.resource && r.set("resource", t.resources.toUri(t.resources.normalize(t.location.resource)));
59
59
  let i = n.document && t.location.resource?.metadata?.[n.document.metadataKey];
@@ -73,32 +73,32 @@ var wt = {
73
73
  n !== void 0 && r.set(e, String(n));
74
74
  }
75
75
  }
76
- t.location.section && r.set("section", jt(t.location.section));
76
+ t.location.section && r.set("section", At(t.location.section));
77
77
  let a = Ee(n.params, t.location.params);
78
78
  for (let [e, t] of je(n.params, a)) r.append(e, t);
79
- let o = r.toString(), s = kt(t.projectId, n);
79
+ let o = r.toString(), s = Ot(t.projectId, n);
80
80
  return o ? `${s}?${o}` : s;
81
- }, Pt = (e) => {
81
+ }, Nt = (e) => {
82
82
  try {
83
83
  return e.split("/").filter(Boolean).map((e) => decodeURIComponent(e));
84
84
  } catch {
85
85
  return;
86
86
  }
87
- }, Ft = (e, t) => {
87
+ }, Pt = (e, t) => {
88
88
  try {
89
- let n = Pt(new URL(e, "http://workbench.local").pathname);
89
+ let n = Nt(new URL(e, "http://workbench.local").pathname);
90
90
  return !!(n && n[0] === "projects" && n[1] === t);
91
91
  } catch {
92
92
  return !1;
93
93
  }
94
- }, It = (e, t, n) => e.find((e) => e.ref.extensionId === t && e.path === n), Lt = (e, t) => {
94
+ }, Ft = (e, t, n) => e.find((e) => e.ref.extensionId === t && e.path === n), It = (e, t) => {
95
95
  try {
96
96
  let n = t.fromUri(e);
97
97
  return n ? t.normalize(n) : void 0;
98
98
  } catch {
99
99
  return;
100
100
  }
101
- }, Rt = (t, n, r, i) => {
101
+ }, Lt = (t, n, r, i) => {
102
102
  let a = Object.fromEntries([
103
103
  "line",
104
104
  "column",
@@ -113,19 +113,19 @@ var wt = {
113
113
  o = a;
114
114
  }
115
115
  return o;
116
- }, zt = (e, t, n) => {
117
- let r = Pt(e.pathname);
116
+ }, Rt = (e, t, n) => {
117
+ let r = Nt(e.pathname);
118
118
  if (!r || r[0] !== "projects" || r[1] !== t) return;
119
- let i = r.slice(2), a = i[0] === "extensions", o = a ? i[1] : Tt, s = (a ? i.slice(2) : i).join("/");
120
- if (!(!o || a && !s)) return It(n, o, s);
121
- }, Bt = (e) => {
119
+ let i = r.slice(2), a = i[0] === "extensions", o = a ? i[1] : wt, s = (a ? i.slice(2) : i).join("/");
120
+ if (!(!o || a && !s)) return Ft(n, o, s);
121
+ }, zt = (e) => {
122
122
  let t;
123
123
  try {
124
124
  t = new URL(e.url, "http://workbench.local");
125
125
  } catch {
126
126
  return;
127
127
  }
128
- let n = zt(t, e.projectId, e.pages);
128
+ let n = Rt(t, e.projectId, e.pages);
129
129
  if (!n) return;
130
130
  for (let e of [
131
131
  "resource",
@@ -136,7 +136,7 @@ var wt = {
136
136
  "endLine",
137
137
  "endColumn"
138
138
  ]) if (t.searchParams.getAll(e).length > 1) return;
139
- let r = t.searchParams.get("resource"), i = r ? Lt(r, e.resources) : void 0;
139
+ let r = t.searchParams.get("resource"), i = r ? It(r, e.resources) : void 0;
140
140
  if (r !== null && !i) return;
141
141
  let a = t.searchParams.get("document");
142
142
  if (a !== null) {
@@ -146,9 +146,9 @@ var wt = {
146
146
  metadata: { [n.document.metadataKey]: a }
147
147
  };
148
148
  }
149
- let o = t.searchParams.get("section"), s = o ? Mt(o) : void 0;
149
+ let o = t.searchParams.get("section"), s = o ? jt(o) : void 0;
150
150
  if (o !== null && !s) return;
151
- let c = Rt(t, n, a, s);
151
+ let c = Lt(t, n, a, s);
152
152
  if (c === !1) return;
153
153
  let l = Xe(n.params, t.searchParams);
154
154
  return {
@@ -158,7 +158,7 @@ var wt = {
158
158
  ...s ? { section: s } : {},
159
159
  ...c ? { position: c } : {}
160
160
  };
161
- }, Vt = () => {
161
+ }, Bt = () => {
162
162
  let e = R({
163
163
  name: "workbench.breadcrumbs",
164
164
  initialState: { items: void 0 }
@@ -181,7 +181,7 @@ var wt = {
181
181
  return B(n);
182
182
  }
183
183
  };
184
- }, Ht = (e = {}) => {
184
+ }, Vt = (e = {}) => {
185
185
  let t = R({
186
186
  name: "workbench.commandPalette",
187
187
  initialState: {
@@ -281,10 +281,10 @@ var wt = {
281
281
  return B(n);
282
282
  }
283
283
  };
284
- }, H = (e, t, n) => {
284
+ }, U = (e, t, n) => {
285
285
  let r = { ...e };
286
286
  return n.viewId !== void 0 && (r.viewId = n.viewId ?? void 0), n.resource === null ? (r.resource = void 0, r.resourceKey = void 0, r.title = n.title ?? t.title) : n.resource ? (r.resource = n.resource, r.resourceKey = V(n.resource), r.title = n.title ?? n.resource.label ?? t.title) : n.title !== void 0 && (r.title = n.title), n.pinned !== void 0 && (r.pinned = n.pinned), n.closable !== void 0 && (r.closable = n.closable), n.mountStrategy !== void 0 && (r.mountStrategy = n.mountStrategy), n.hiddenByDefault !== void 0 && (r.hiddenByDefault = n.hiddenByDefault), n.tabRetention !== void 0 && (r.tabRetention = n.tabRetention), n.tab !== void 0 && (r.tab = n.tab), n.ownerId !== void 0 && (r.ownerId = n.ownerId), n.source !== void 0 && (r.source = n.source), n.role !== void 0 && (r.role = n.role), r;
287
- }, Ut = (e, t, n) => ({
287
+ }, Ht = (e, t, n) => ({
288
288
  widgetId: e,
289
289
  contributionId: t.id,
290
290
  viewId: n.viewId ?? void 0,
@@ -300,12 +300,12 @@ var wt = {
300
300
  tabRetention: n.tabRetention,
301
301
  tab: n.tab ?? t.tab,
302
302
  role: n.role ?? "content"
303
- }), Wt = (e, t) => ({
303
+ }), Ut = (e, t) => ({
304
304
  id: e,
305
305
  visible: t,
306
306
  widgets: []
307
- }), Gt = (e = {}) => {
308
- let t = (t) => Wt(t, e[t] ?? !0);
307
+ }), Wt = (e = {}) => {
308
+ let t = (t) => Ut(t, e[t] ?? !0);
309
309
  return { regions: {
310
310
  nav: t("nav"),
311
311
  activity: t("activity"),
@@ -325,13 +325,13 @@ var wt = {
325
325
  status: t("status"),
326
326
  overlay: t("overlay")
327
327
  } };
328
- }, Kt = (e, t) => {
328
+ }, Gt = (e, t) => {
329
329
  for (let n = e.length - 1; n >= 0; --n) if (e[n]?.widgetId === t) return n;
330
330
  return -1;
331
- }, qt = (e) => {
331
+ }, Kt = (e) => {
332
332
  let t = /* @__PURE__ */ new Set(), n = {}, r = e.activeWidgetId, i = e.activeResourceKey;
333
333
  for (let [a, o] of Object.entries(e.regions)) {
334
- let s = o.activeWidgetId, c = s ? Kt(o.widgets, s) : -1, l = o.widgets.map((e) => {
334
+ let s = o.activeWidgetId, c = s ? Gt(o.widgets, s) : -1, l = o.widgets.map((e) => {
335
335
  let n = ae(t, e.contributionId, e.widgetId);
336
336
  return t.add(n), n === e.widgetId ? e : {
337
337
  ...e,
@@ -350,16 +350,16 @@ var wt = {
350
350
  activeWidgetId: r,
351
351
  activeResourceKey: i
352
352
  };
353
- }, Jt = (e, t = {}) => {
354
- let n = Gt(t), r = Object.fromEntries(be.flatMap((t) => e.regions[t] ? [[t, e.regions[t]]] : []));
355
- return qt({
353
+ }, qt = (e, t = {}) => {
354
+ let n = Wt(t), r = Object.fromEntries(be.flatMap((t) => e.regions[t] ? [[t, e.regions[t]]] : []));
355
+ return Kt({
356
356
  ...e,
357
357
  regions: {
358
358
  ...n.regions,
359
359
  ...r
360
360
  }
361
361
  });
362
- }, Yt = (e, t) => {
362
+ }, Jt = (e, t) => {
363
363
  let n = !1, r = { ...e.regions };
364
364
  for (let e of Object.values(r)) {
365
365
  let i = t(e.id);
@@ -374,7 +374,7 @@ var wt = {
374
374
  ...e,
375
375
  regions: r
376
376
  } : e;
377
- }, Xt = (e) => {
377
+ }, Yt = (e) => {
378
378
  let { getLayout: t, getWidgets: n, getPlaceholder: r } = e;
379
379
  return {
380
380
  getRegionSize(i) {
@@ -393,13 +393,13 @@ var wt = {
393
393
  return r ? n()[r.contributionId]?.headerBorderBottom ?? !0 : !0;
394
394
  }
395
395
  };
396
- }, Zt = (e) => {
396
+ }, Xt = (e) => {
397
397
  let { getPlaceholders: t, getWidgets: n } = e;
398
398
  return {
399
399
  listPlaceholders: () => Object.values(t()).sort(T),
400
400
  listWidgets: () => Object.values(n()).sort(T)
401
401
  };
402
- }, Qt = (e) => {
402
+ }, Zt = (e) => {
403
403
  let { store: t, getPlaceholders: n, getWidgets: r, persistLayout: i } = e;
404
404
  return {
405
405
  registerPlaceholder(e, r) {
@@ -455,7 +455,7 @@ var wt = {
455
455
  });
456
456
  }
457
457
  };
458
- }, $t = (e) => (t) => {
458
+ }, Qt = (e) => (t) => {
459
459
  let n = e.getLayout(), r = A(n, t);
460
460
  if (!r) throw Error(`Panel instance not found: ${t}`);
461
461
  if (r.regionId !== "main" || r.placement.role === "sub-panel" || r.placement.role === "panel-menu") return e.panelMethods.activatePanel(t);
@@ -473,12 +473,12 @@ var wt = {
473
473
  ...n,
474
474
  regions: o
475
475
  }, "main", i), e.panelMethods.getActivePanel("main");
476
- }, U = (e, t, n) => Oe(e, t, n).widgets, en = (e, t, n) => {
476
+ }, W = (e, t, n) => Oe(e, t, n).widgets, $t = (e, t, n) => {
477
477
  let r = e.find((e) => e.widgetId === t);
478
478
  if (!r) return e;
479
479
  let i = e.filter((e) => e.widgetId !== t);
480
480
  return Oe(i, r, n).widgets;
481
- }, tn = (e, t) => {
481
+ }, en = (e, t) => {
482
482
  let n = e;
483
483
  for (let r of Object.values(e.regions)) {
484
484
  let e = r.widgets.filter(t);
@@ -492,7 +492,7 @@ var wt = {
492
492
  activeWidgetId: void 0,
493
493
  activeResourceKey: void 0
494
494
  }), n;
495
- }, nn = (e, t) => tn(e, (e) => e.tabRetention === "preview" && (t === void 0 || e.ownerResourceKey !== t)), rn = (e) => ({
495
+ }, tn = (e, t) => en(e, (e) => e.tabRetention === "preview" && (t === void 0 || e.ownerResourceKey !== t)), nn = (e) => ({
496
496
  updateWidgetPlacement(t, n) {
497
497
  let r = e.getLayout();
498
498
  for (let i of Object.values(r.regions)) {
@@ -500,7 +500,7 @@ var wt = {
500
500
  if (a < 0) continue;
501
501
  let o = e.requireWidget(i.widgets[a].contributionId);
502
502
  e.validateOpen?.(i.id, i.widgets[a], n);
503
- let s = H(i.widgets[a], o, n), c = at(i.widgets.map((e, t) => t === a ? s : e), s.tabRetention === "preview" ? s.widgetId : i.activeWidgetId), l = j(r, i.id, () => c.widgets);
503
+ let s = U(i.widgets[a], o, n), c = at(i.widgets.map((e, t) => t === a ? s : e), s.tabRetention === "preview" ? s.widgetId : i.activeWidgetId), l = j(r, i.id, () => c.widgets);
504
504
  return c.replaced.some((e) => e.widgetId === r.activeWidgetId || e.widgetId === i.activeWidgetId) ? e.applyAndActivate(l, i.id, s) : (e.setLayout(l), e.persistLayout(), s);
505
505
  }
506
506
  throw Error(`Widget placement not found: ${t}`);
@@ -508,13 +508,13 @@ var wt = {
508
508
  reorderWidget(t, n) {
509
509
  let r = e.getLayout();
510
510
  for (let i of Object.values(r.regions)) if (i.widgets.some((e) => e.widgetId === t)) {
511
- e.setLayout(j(r, i.id, (e) => en(e, t, n))), e.persistLayout();
511
+ e.setLayout(j(r, i.id, (e) => $t(e, t, n))), e.persistLayout();
512
512
  return;
513
513
  }
514
514
  throw Error(`Widget placement not found: ${t}`);
515
515
  },
516
516
  expirePreviewTabs(t) {
517
- e.setLayout(nn(e.getLayout(), t)), e.persistLayout();
517
+ e.setLayout(tn(e.getLayout(), t)), e.persistLayout();
518
518
  },
519
519
  activateWidget(t) {
520
520
  let n = e.getLayout();
@@ -524,7 +524,7 @@ var wt = {
524
524
  }
525
525
  throw Error(`Widget placement not found: ${t}`);
526
526
  }
527
- }), W = (e) => {
527
+ }), G = (e) => {
528
528
  let t = /* @__PURE__ */ new Set();
529
529
  return {
530
530
  notify(n) {
@@ -534,8 +534,8 @@ var wt = {
534
534
  return t.add(e), B(() => t.delete(e));
535
535
  }
536
536
  };
537
- }, an = (e) => {
538
- let { getLayout: t, setLayout: n, persistLayout: r } = e, i = W("layout restoration subscriber");
537
+ }, rn = (e) => {
538
+ let { getLayout: t, setLayout: n, persistLayout: r } = e, i = G("layout restoration subscriber");
539
539
  return {
540
540
  onWillRestoreLayout: i.subscribe,
541
541
  setRegionActiveWidget(e, i) {
@@ -587,10 +587,10 @@ var wt = {
587
587
  }), r();
588
588
  },
589
589
  restoreLayout(t) {
590
- i.notify(), n(Jt(t, e.defaultRegionVisibility)), r();
590
+ i.notify(), n(qt(t, e.defaultRegionVisibility)), r();
591
591
  }
592
592
  };
593
- }, on = (e) => {
593
+ }, an = (e) => {
594
594
  let t = (t, n) => {
595
595
  let r = e.getLayout(), i = r.regions[t], a = n(i);
596
596
  a !== i && (e.setLayout({
@@ -627,7 +627,7 @@ var wt = {
627
627
  });
628
628
  }
629
629
  };
630
- }, sn = (e, t) => {
630
+ }, on = (e, t) => {
631
631
  let n = { ...t.regions };
632
632
  for (let r of Object.values(e.regions)) {
633
633
  let e = r.widgets.filter((e) => e.pinned && e.role === "content");
@@ -643,7 +643,7 @@ var wt = {
643
643
  ...t,
644
644
  regions: n
645
645
  };
646
- }, cn = (e, t, n) => {
646
+ }, sn = (e, t, n) => {
647
647
  if (n.length === 0) return t;
648
648
  let r = { ...t.regions };
649
649
  for (let t of n) r[t] = e.regions[t];
@@ -651,8 +651,8 @@ var wt = {
651
651
  ...t,
652
652
  regions: r
653
653
  };
654
- }, ln = (e, t) => t ? Jt(t, e) : Gt(e), un = (e) => {
655
- let t, n = I("layout cache read for unscoped", () => e.persistence?.getLayout(void 0)) !== void 0, r = W("layout scope subscriber"), i = W("layout scope subscriber"), a = () => I(`layout cache for ${t ?? "unscoped"}`, () => e.persistence?.setLayout(e.getLayout(), t));
654
+ }, cn = (e, t) => t ? qt(t, e) : Wt(e), ln = (e) => {
655
+ let t, n = I("layout cache read for unscoped", () => e.persistence?.getLayout(void 0)) !== void 0, r = G("layout scope subscriber"), i = G("layout scope subscriber"), a = () => I(`layout cache for ${t ?? "unscoped"}`, () => e.persistence?.setLayout(e.getLayout(), t));
656
656
  return {
657
657
  getPersistenceScope: () => t,
658
658
  hasPersistedLayout: () => I(`layout cache read for ${t ?? "unscoped"}`, () => e.persistence?.getLayout(t)) !== void 0,
@@ -665,11 +665,11 @@ var wt = {
665
665
  a(), r.notify(o), t = o;
666
666
  let c = I(`layout cache read for ${t ?? "unscoped"}`, () => e.persistence?.getLayout(t));
667
667
  n = c !== void 0;
668
- let l = ln(e.defaultRegionVisibility, c), u = sn(e.getLayout(), l), d = cn(e.getLayout(), u, s.carryRegionState ?? []);
668
+ let l = cn(e.defaultRegionVisibility, c), u = on(e.getLayout(), l), d = sn(e.getLayout(), u, s.carryRegionState ?? []);
669
669
  e.setLayout(d, "setPersistenceScope"), i.notify(t);
670
670
  }
671
671
  };
672
- }, dn = (e) => {
672
+ }, un = (e) => {
673
673
  for (let t of e.widget.ownedPanelMenuIds ?? []) {
674
674
  let n = e.requireWidget(t);
675
675
  e.openWidget(t, {
@@ -680,7 +680,7 @@ var wt = {
680
680
  title: n.region === "main-left-menu" ? e.placement.resource?.label : n.title
681
681
  });
682
682
  }
683
- }, fn = (e, t, n) => {
683
+ }, dn = (e, t, n) => {
684
684
  if (e.singleton || e.reuse !== "none") {
685
685
  if (n.role === "sub-panel" || n.role === "panel-menu") {
686
686
  let r = g(t)?.resourceKey;
@@ -692,24 +692,22 @@ var wt = {
692
692
  placement: i.widgets[t]
693
693
  };
694
694
  }
695
- return;
696
- }
697
- return e.singleton ? v(t, e.id) : n.resource ? pe(t, e.id, V(n.resource)) : v(t, e.id);
695
+ } else return e.singleton ? v(t, e.id) : n.resource ? pe(t, e.id, V(n.resource)) : v(t, e.id);
698
696
  }
699
- }, pn = (e, t) => t.role ? t : e.panelMenuOwner ? {
697
+ }, fn = (e, t) => t.role ? t : e.panelMenuOwner ? {
700
698
  ...t,
701
699
  role: "panel-menu"
702
700
  } : e.eligibleLocations === void 0 ? t : {
703
701
  ...t,
704
702
  role: "sub-panel"
705
- }, mn = (e, t, n) => {
703
+ }, pn = (e, t, n) => {
706
704
  let r = e.regions[t], i = n.role === "location" ? e.activeLocationWidgetId : r.activeWidgetId;
707
705
  if (n.replaceWidgetId) return r.widgets.findIndex((e) => e.widgetId === n.replaceWidgetId);
708
706
  if (n.tabRetention === "preview") return r.widgets.findIndex((e) => e.tabRetention === "preview");
709
707
  if (!n.replaceActive) return -1;
710
708
  let a = t === "main" && n.resource && e.activeLocationWidgetId ? e.activeLocationWidgetId : i;
711
709
  return r.widgets.findIndex((e) => e.widgetId === a && !e.pinned);
712
- }, hn = (e, t, n) => {
710
+ }, mn = (e, t, n) => {
713
711
  let r = e.find((e) => {
714
712
  try {
715
713
  return t.priority > n(e.contributionId).priority;
@@ -718,47 +716,47 @@ var wt = {
718
716
  }
719
717
  });
720
718
  return r ? { beforeWidgetId: r.widgetId } : void 0;
721
- }, gn = (e) => {
719
+ }, hn = (e) => {
722
720
  let { getLayout: t, requireWidget: n, applyAndActivate: r } = e, i = (e, t) => e.role !== "sub-panel" && e.role !== "panel-menu" ? e : {
723
721
  ...e,
724
722
  ownerResourceKey: g(t)?.resourceKey
725
723
  }, a = (e, n, a) => {
726
- let o = i(H(n.placement, e, a), t()), s = j(t(), n.regionId, (e) => {
724
+ let o = i(U(n.placement, e, a), t()), s = j(t(), n.regionId, (e) => {
727
725
  let t = e.map((e, t) => t === n.index ? o : e);
728
- return a.tabPosition ? U(t.filter((e) => e.widgetId !== o.widgetId), o, a.tabPosition) : t;
726
+ return a.tabPosition ? W(t.filter((e) => e.widgetId !== o.widgetId), o, a.tabPosition) : t;
729
727
  });
730
728
  return r(s, n.regionId, o);
731
729
  }, o = (e, n, a, o, s) => {
732
- let c = i(H(o, e, s), t()), l = j(t(), n, (e) => {
730
+ let c = i(U(o, e, s), t()), l = j(t(), n, (e) => {
733
731
  let t = e.map((e, t) => t === a ? c : e);
734
- return c.tabRetention === "preview" ? U(t, c, "start") : t;
732
+ return c.tabRetention === "preview" ? W(t, c, "start") : t;
735
733
  });
736
734
  return r(l, n, c);
737
735
  }, s = (e, n, o, s, c) => {
738
736
  if (c.tabRetention === "preview" && n.placement.tabRetention !== "preview") return r(t(), n.regionId, n.placement);
739
737
  if (n.regionId !== o) {
740
- let a = i(H(n.placement, e, c), t()), l = j(t(), n.regionId, (e) => e.filter((e, t) => t !== n.index), { clearActiveWidget: t().regions[n.regionId].activeWidgetId === n.placement.widgetId }), u = j(l, o, (e) => {
741
- if (s < 0) return U(e, a, c.tabPosition);
738
+ let a = i(U(n.placement, e, c), t()), l = j(t(), n.regionId, (e) => e.filter((e, t) => t !== n.index), { clearActiveWidget: t().regions[n.regionId].activeWidgetId === n.placement.widgetId }), u = j(l, o, (e) => {
739
+ if (s < 0) return W(e, a, c.tabPosition);
742
740
  let t = [...e];
743
- return t.splice(s, 1, a), a.tabRetention === "preview" ? U(t, a, "start") : t;
741
+ return t.splice(s, 1, a), a.tabRetention === "preview" ? W(t, a, "start") : t;
744
742
  });
745
743
  return r(u, o, a);
746
744
  }
747
745
  if (s < 0 || n.index === s) return a(e, n, c);
748
- let l = i(H(n.placement, e, c), t()), u = j(t(), o, (e) => U(e.map((e, t) => t === n.index ? l : e).filter((e, t) => t !== s && t !== n.index), l, c.tabPosition));
746
+ let l = i(U(n.placement, e, c), t()), u = j(t(), o, (e) => W(e.map((e, t) => t === n.index ? l : e).filter((e, t) => t !== s && t !== n.index), l, c.tabPosition));
749
747
  return r(u, o, l);
750
748
  }, c = (e, a, o, s) => {
751
- let c = de(t(), e.id), l = i(Ut(c, e, s), t()), u = j(t(), a, (t) => {
752
- if (o < 0) return U(t, l, s.tabPosition ?? hn(t, e, n));
749
+ let c = de(t(), e.id), l = i(Ht(c, e, s), t()), u = j(t(), a, (t) => {
750
+ if (o < 0) return W(t, l, s.tabPosition ?? mn(t, e, n));
753
751
  let r = [...t];
754
- return r.splice(o, 1, l), l.tabRetention === "preview" ? U(r, l, "start") : r;
752
+ return r.splice(o, 1, l), l.tabRetention === "preview" ? W(r, l, "start") : r;
755
753
  });
756
754
  return r(u, a, l);
757
755
  }, l = (i, a = {}) => {
758
- let u = n(i), d = pn(u, a), f = t(), p = d.region ?? u.region ?? u.fallbackRegion ?? "main", m = f.regions[p], h = mn(f, p, d), g = h >= 0 ? m.widgets[h] : void 0, _ = !d.replaceWidgetId && d.tabRetention === "preview" && d.resource ? pe(f, u.id, V(d.resource)) : void 0, v = d.replaceWidgetId && g ? void 0 : fn(u, f, d);
756
+ let u = n(i), d = fn(u, a), f = t(), p = d.region ?? u.region ?? u.fallbackRegion ?? "main", m = f.regions[p], h = pn(f, p, d), g = h >= 0 ? m.widgets[h] : void 0, _ = !d.replaceWidgetId && d.tabRetention === "preview" && d.resource ? pe(f, u.id, V(d.resource)) : void 0, v = d.replaceWidgetId && g ? void 0 : dn(u, f, d);
759
757
  e.validateOpen?.(p, _?.placement ?? (v?.regionId === p ? v.placement : void 0), d);
760
758
  let y;
761
- return y = _ ? r(f, _.regionId, _.placement) : v ? s(u, v, p, h, d) : g?.contributionId === u.id ? o(u, p, h, g, d) : c(u, p, h, d), dn({
759
+ return y = _ ? r(f, _.regionId, _.placement) : v ? s(u, v, p, h, d) : g?.contributionId === u.id ? o(u, p, h, g, d) : c(u, p, h, d), un({
762
760
  openWidget: l,
763
761
  placement: y,
764
762
  requireWidget: n,
@@ -766,12 +764,12 @@ var wt = {
766
764
  }), r(t(), _?.regionId ?? p, y);
767
765
  };
768
766
  return { openWidget: l };
769
- }, _n = (e, t) => {
767
+ }, gn = (e, t) => {
770
768
  if (t.pinned) return "persistent";
771
769
  let n = t.region ?? e.region ?? e.fallbackRegion ?? "main";
772
770
  return P.includes(n) ? "preview" : "persistent";
773
- }, vn = (e) => {
774
- let t = W("panel activation subscriber");
771
+ }, _n = (e) => {
772
+ let t = G("panel activation subscriber");
775
773
  return {
776
774
  onDidActivatePanel: t.subscribe,
777
775
  getPanel(t) {
@@ -795,7 +793,7 @@ var wt = {
795
793
  openPanel(t, n = {}) {
796
794
  let r = e.getWidgets()[t];
797
795
  if (!r) throw Error(`Panel not registered: ${t}`);
798
- return F(e.widgetOpeners.openWidget(t, He(n, _n(r, n))));
796
+ return F(e.widgetOpeners.openWidget(t, He(n, gn(r, n))));
799
797
  },
800
798
  updatePanel(t, n) {
801
799
  if (!A(e.getLayout(), t)) throw Error(`Panel instance not found: ${t}`);
@@ -819,7 +817,7 @@ var wt = {
819
817
  return e.setLayout(r.layout), e.persistLayout(), r.activePlacement ? F(r.activePlacement) : void 0;
820
818
  }
821
819
  };
822
- }, yn = Object.values(tt).flatMap((e) => Object.values(e)), bn = (e) => e.endsWith("-left-menu") ? "left" : "right", xn = (e, t) => e(t)?.panelMenuOwner?.contributionId, Sn = (e, t) => {
820
+ }, vn = Object.values(tt).flatMap((e) => Object.values(e)), yn = (e) => e.endsWith("-left-menu") ? "left" : "right", bn = (e, t) => e(t)?.panelMenuOwner?.contributionId, xn = (e, t) => {
823
821
  for (let n of P) {
824
822
  let r = e.regions[n].widgets.find((e) => e.contributionId === t);
825
823
  if (r) return {
@@ -827,10 +825,10 @@ var wt = {
827
825
  placement: r
828
826
  };
829
827
  }
830
- }, Cn = (e, t, n) => {
828
+ }, Sn = (e, t, n) => {
831
829
  let r = [], i = [], a = /* @__PURE__ */ new Set(), o = !1;
832
830
  for (let s of e.regions[n].widgets) {
833
- let c = xn(t, s.contributionId);
831
+ let c = bn(t, s.contributionId);
834
832
  if (!c) {
835
833
  r.push(s);
836
834
  continue;
@@ -840,7 +838,7 @@ var wt = {
840
838
  continue;
841
839
  }
842
840
  a.add(s.contributionId);
843
- let l = Sn(e, c);
841
+ let l = xn(e, c);
844
842
  if (!l) {
845
843
  o = !0;
846
844
  continue;
@@ -850,26 +848,22 @@ var wt = {
850
848
  ownerResourceKey: l.placement.resourceKey
851
849
  };
852
850
  u !== s && (o = !0);
853
- let d = tt[l.region][bn(n)];
854
- if (d === n) {
855
- r.push(u);
856
- continue;
857
- }
858
- o = !0, i.push({
851
+ let d = tt[l.region][yn(n)];
852
+ d === n ? r.push(u) : (o = !0, i.push({
859
853
  placement: u,
860
854
  target: d
861
- });
855
+ }));
862
856
  }
863
857
  return {
864
858
  changed: o,
865
859
  moves: i,
866
860
  placements: r
867
861
  };
868
- }, wn = (e, t) => {
862
+ }, Cn = (e, t) => {
869
863
  let n = !1, r = { ...e.regions }, i = [];
870
- for (let a of yn) {
864
+ for (let a of vn) {
871
865
  if (e.regions[a].widgets.length === 0) continue;
872
- let o = Cn(e, t, a);
866
+ let o = Sn(e, t, a);
873
867
  if (i.push(...o.moves), !o.changed) continue;
874
868
  n = !0;
875
869
  let s = r[a];
@@ -890,9 +884,9 @@ var wt = {
890
884
  ...e,
891
885
  regions: r
892
886
  } : e;
893
- }, Tn = (e) => {
887
+ }, wn = (e) => {
894
888
  let t = () => {
895
- let t = wn(e.getLayout(), e.getWidget);
889
+ let t = Cn(e.getLayout(), e.getWidget);
896
890
  t !== e.getLayout() && (e.setLayout(t), e.persistLayout());
897
891
  };
898
892
  return {
@@ -902,7 +896,7 @@ var wt = {
902
896
  },
903
897
  reconcilePanelMenus: t
904
898
  };
905
- }, En = (e, t, n) => {
899
+ }, Tn = (e, t, n) => {
906
900
  let { side: r, ...i } = t, a = e.region, o = P.find((t) => t === e.fallbackRegion);
907
901
  return {
908
902
  ...i,
@@ -913,7 +907,7 @@ var wt = {
913
907
  contributionId: e.id
914
908
  }
915
909
  };
916
- }, Dn = (e) => {
910
+ }, En = (e) => {
917
911
  let { kind: t, metadata: n, panel: r, registerWidget: i } = e, { panelMenus: a = [], ...o } = r, s = [];
918
912
  if (a.length > 0 && !P.includes(r.region)) throw Error(`Panel Menus require a Panel region: ${r.id}`);
919
913
  try {
@@ -922,7 +916,7 @@ var wt = {
922
916
  ownedPanelMenuIds: a.map((e) => e.id)
923
917
  };
924
918
  s.push(i(e, n));
925
- for (let e of a) s.push(i(En(r, e, t), n));
919
+ for (let e of a) s.push(i(Tn(r, e, t), n));
926
920
  } catch (e) {
927
921
  for (let e of s.reverse()) e.dispose();
928
922
  throw e;
@@ -930,8 +924,8 @@ var wt = {
930
924
  return B(() => {
931
925
  for (let e of s.reverse()) e.dispose();
932
926
  });
933
- }, On = (e) => ({
934
- registerPanel: (t, n) => Dn({
927
+ }, Dn = (e) => ({
928
+ registerPanel: (t, n) => En({
935
929
  panel: t,
936
930
  kind: t.eligibleLocations ? "sub-panel" : "panel",
937
931
  metadata: n,
@@ -941,27 +935,27 @@ var wt = {
941
935
  ...t,
942
936
  panelMenuOwner: t.panelMenuOwner ?? { level: "panel" }
943
937
  }, n)
944
- }), kn = (e, t) => {
938
+ }), On = (e, t) => {
945
939
  let n = e[t];
946
940
  if (!n) throw Error(`Widget not registered: ${t}`);
947
941
  return n;
948
- }, An = (e = {}) => {
949
- let t = e.persistence?.getLayout(void 0), n = ln(e.defaultRegionVisibility, t), r = R({
942
+ }, kn = (e = {}) => {
943
+ let t = e.persistence?.getLayout(void 0), n = cn(e.defaultRegionVisibility, t), r = R({
950
944
  name: "workbench.layout",
951
945
  initialState: {
952
946
  layout: n,
953
947
  widgets: {},
954
948
  placeholders: {}
955
949
  }
956
- }), i = () => r.getState().layout, a = () => r.getState().placeholders, o = () => r.getState().widgets, s = (e) => a()[e], c = Xt({
950
+ }), i = () => r.getState().layout, a = () => r.getState().placeholders, o = () => r.getState().widgets, s = (e) => a()[e], c = Yt({
957
951
  getLayout: i,
958
952
  getWidgets: o,
959
953
  getPlaceholder: s,
960
954
  getRegionSettings: e.getRegionSettings
961
- }), l = Zt({
955
+ }), l = Xt({
962
956
  getPlaceholders: a,
963
957
  getWidgets: o
964
- }), u = un({
958
+ }), u = ln({
965
959
  defaultRegionVisibility: e.defaultRegionVisibility,
966
960
  getLayout: i,
967
961
  persistence: e.persistence,
@@ -969,42 +963,42 @@ var wt = {
969
963
  ...r.getState(),
970
964
  layout: e
971
965
  }, !1, t)
972
- }), d = () => u.persistLayout(), f = (e) => kn(o(), e), p = (t) => {
966
+ }), d = () => u.persistLayout(), f = (e) => On(o(), e), p = (t) => {
973
967
  t = e.normalizeLayout?.(t) ?? t;
974
968
  let n = r.getState();
975
969
  n.layout !== t && r.setState({
976
970
  ...n,
977
971
  layout: t
978
972
  }, !1, "setLayout");
979
- }, m = on({
973
+ }, m = an({
980
974
  getLayout: i,
981
975
  setLayout: p,
982
976
  persistLayout: d,
983
977
  validateChange: e.validateRegionChange,
984
978
  getRegionSettings: e.getRegionSettings
985
- }), h = an({
979
+ }), h = rn({
986
980
  defaultRegionVisibility: e.defaultRegionVisibility,
987
981
  getLayout: i,
988
982
  setLayout: p,
989
983
  persistLayout: d
990
- }), g = (e, t, n) => (p(_t(e, t, n)), d(), n), _ = Qt({
984
+ }), g = (e, t, n) => (p(_t(e, t, n)), d(), n), _ = Zt({
991
985
  store: r,
992
986
  getPlaceholders: a,
993
987
  getWidgets: o,
994
988
  persistLayout: d
995
- }), v = On({ registerWidget: _.registerWidget }), y = gn({
989
+ }), v = Dn({ registerWidget: _.registerWidget }), y = hn({
996
990
  getLayout: i,
997
991
  requireWidget: f,
998
992
  applyAndActivate: g,
999
993
  validateOpen: e.validateWidgetOpen
1000
- }), b = rn({
994
+ }), b = nn({
1001
995
  validateOpen: e.validateWidgetOpen,
1002
996
  getLayout: i,
1003
997
  requireWidget: f,
1004
998
  setLayout: p,
1005
999
  persistLayout: d,
1006
1000
  applyAndActivate: g
1007
- }), x = vn({
1001
+ }), x = _n({
1008
1002
  getLayout: i,
1009
1003
  getWidgets: o,
1010
1004
  listWidgets: l.listWidgets,
@@ -1012,13 +1006,13 @@ var wt = {
1012
1006
  placementMethods: b,
1013
1007
  setLayout: p,
1014
1008
  widgetOpeners: y
1015
- }), C = Tn({
1009
+ }), C = wn({
1016
1010
  getLayout: i,
1017
1011
  getWidget: (e) => o()[e],
1018
1012
  openWidget: y.openWidget,
1019
1013
  persistLayout: d,
1020
1014
  setLayout: p
1021
- }), w = $t({
1015
+ }), w = Qt({
1022
1016
  applyAndActivate: g,
1023
1017
  getLayout: i,
1024
1018
  getWidget: f,
@@ -1064,13 +1058,13 @@ var wt = {
1064
1058
  onWillChangePersistenceScope: u.onWillChangePersistenceScope,
1065
1059
  onDidChangePersistenceScope: u.onDidChangePersistenceScope
1066
1060
  };
1067
- }, jn = /* @__PURE__ */ new WeakMap(), Mn = (e, t) => {
1068
- jn.set(e, t);
1069
- }, Nn = (e, t, n) => {
1070
- let r = jn.get(e);
1061
+ }, An = /* @__PURE__ */ new WeakMap(), jn = (e, t) => {
1062
+ An.set(e, t);
1063
+ }, Mn = (e, t, n) => {
1064
+ let r = An.get(e);
1071
1065
  if (!r) throw Error("Workbench mode registry internals are unavailable");
1072
1066
  r.activatePageMode(t, n);
1073
- }, Pn = (e, t, n) => {
1067
+ }, Nn = (e, t, n) => {
1074
1068
  let r = !1, i = () => void 0, a = () => {
1075
1069
  if (r) return;
1076
1070
  let e = t.layout.getActivePanel("main");
@@ -1084,7 +1078,7 @@ var wt = {
1084
1078
  } finally {
1085
1079
  i();
1086
1080
  }
1087
- }, Fn = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], In = (e) => {
1081
+ }, Pn = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], Fn = (e) => {
1088
1082
  let t = R({
1089
1083
  name: "workbench.modes",
1090
1084
  initialState: {
@@ -1093,11 +1087,11 @@ var wt = {
1093
1087
  }
1094
1088
  }), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map(), a = [], o, s, c = !1, u = (t) => {
1095
1089
  if (n.has(t.id)) return;
1096
- let r = Fn(I(`mode ${t.id}.activate`, () => t.activate(e.resolveContext())));
1090
+ let r = Pn(I(`mode ${t.id}.activate`, () => t.activate(e.resolveContext())));
1097
1091
  n.set(t.id, r);
1098
1092
  }, d = (t) => {
1099
- let n = e.resolveContext(), i = `${t.id}\0${n.layout.getPersistenceScope() ?? "unscoped"}`, a = Yt(ht(n.layout.getLayout(), t, (e) => n.layout.getRegionSettings(e, t.id)), n.layout.getRegionSize);
1100
- ft(n, a), n.layout.reconcilePanelMenus(), !r.has(i) && !n.layout.enteredWithPersistedLayout() && Pn(t, n, e.establishLocation), r.add(i);
1093
+ let n = e.resolveContext(), i = `${t.id}\0${n.layout.getPersistenceScope() ?? "unscoped"}`, a = Jt(ht(n.layout.getLayout(), t, (e) => n.layout.getRegionSettings(e, t.id)), n.layout.getRegionSize);
1094
+ ft(n, a), n.layout.reconcilePanelMenus(), !r.has(i) && !n.layout.enteredWithPersistedLayout() && Nn(t, n, e.establishLocation), r.add(i);
1101
1095
  }, f = (t) => {
1102
1096
  d(t), I(`mode ${t.id}.reconcile`, () => t.reconcile?.(e.resolveContext()));
1103
1097
  }, p = (n) => {
@@ -1114,25 +1108,24 @@ var wt = {
1114
1108
  o && ft(r, ce(r.layout.getLayout(), i.get(n), l(c), r.layout.store.getInitialState().layout)), g(n, { seed: s !== n });
1115
1109
  }, m = (e, n) => {
1116
1110
  if (e && !t.getState().modes[e]) throw Error(`Workbench mode not registered: ${e}`);
1117
- if (e === t.getState().activeModeId) {
1118
- n();
1119
- return;
1120
- }
1121
- c = !0, s = void 0;
1122
- try {
1123
- if (h(), e === void 0) {
1124
- t.setState({
1125
- ...t.getState(),
1126
- activeModeId: void 0
1127
- }, !1, "deactivatePageMode"), n();
1128
- return;
1111
+ if (e === t.getState().activeModeId) n();
1112
+ else {
1113
+ c = !0, s = void 0;
1114
+ try {
1115
+ if (h(), e === void 0) {
1116
+ t.setState({
1117
+ ...t.getState(),
1118
+ activeModeId: void 0
1119
+ }, !1, "deactivatePageMode"), n();
1120
+ return;
1121
+ }
1122
+ g(e, {
1123
+ seed: !1,
1124
+ afterPublish: n
1125
+ });
1126
+ } finally {
1127
+ c = !1;
1129
1128
  }
1130
- g(e, {
1131
- seed: !1,
1132
- afterPublish: n
1133
- });
1134
- } finally {
1135
- c = !1;
1136
1129
  }
1137
1130
  }, h = () => {
1138
1131
  Se(a), a = [], o?.dispose(), o = void 0;
@@ -1145,7 +1138,7 @@ var wt = {
1145
1138
  u(s), t.setState({
1146
1139
  ...t.getState(),
1147
1140
  activeModeId: n
1148
- }, !1, "activateMode"), r.afterPublish?.(), r.seed && d(s), a = Fn(I(`mode ${s.id}.enter`, () => s.enter?.(i))), r.seed && I(`mode ${s.id}.reconcile`, () => s.reconcile?.(e.resolveContext()));
1141
+ }, !1, "activateMode"), r.afterPublish?.(), r.seed && d(s), a = Pn(I(`mode ${s.id}.enter`, () => s.enter?.(i))), r.seed && I(`mode ${s.id}.reconcile`, () => s.reconcile?.(e.resolveContext()));
1149
1142
  } catch (e) {
1150
1143
  throw h(), t.setState({
1151
1144
  ...t.getState(),
@@ -1209,13 +1202,13 @@ var wt = {
1209
1202
  if (e === t.getState().activeModeId) {
1210
1203
  let n = e ? t.getState().modes[e] : void 0;
1211
1204
  n && e !== s && f(n);
1212
- return;
1213
- }
1214
- c = !0, s = n.deferSeed ? e : void 0;
1215
- try {
1216
- p(e);
1217
- } finally {
1218
- c = !1;
1205
+ } else {
1206
+ c = !0, s = n.deferSeed ? e : void 0;
1207
+ try {
1208
+ p(e);
1209
+ } finally {
1210
+ c = !1;
1211
+ }
1219
1212
  }
1220
1213
  },
1221
1214
  seedActiveMode() {
@@ -1232,8 +1225,8 @@ var wt = {
1232
1225
  return B(n);
1233
1226
  }
1234
1227
  };
1235
- return Mn(y, { activatePageMode: m }), y;
1236
- }, Ln = (e, t, n, r) => {
1228
+ return jn(y, { activatePageMode: m }), y;
1229
+ }, In = (e, t, n, r) => {
1237
1230
  let i = t.getView(n.viewId);
1238
1231
  if (!i) throw Error(`Workbench placement view is not registered: ${n.viewId}`);
1239
1232
  let { role: a, viewId: o, ...s } = n;
@@ -1244,10 +1237,10 @@ var wt = {
1244
1237
  rendererId: i.id,
1245
1238
  panelMenus: r?.definitionsFor(i.id, n.id)
1246
1239
  });
1247
- }, G = (e) => `workbench.mode-placement.${encodeURIComponent(e)}`, Rn = (e, t) => `workbench.page-placement.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, zn = (e) => P.filter((t) => k(e.mode, t) && e.mode?.regionSettings?.[t]?.acceptsTabs !== !1 && (!e.movableTo || e.movableTo.includes(t)) && (!e.allowedRegions || e.allowedRegions.includes(t))), Bn = (e, t) => {
1240
+ }, Ln = (e) => `workbench.mode-placement.${encodeURIComponent(e)}`, Rn = (e, t) => `workbench.page-placement.${encodeURIComponent(e)}.${encodeURIComponent(t)}`, zn = (e) => P.filter((t) => k(e.mode, t) && e.mode?.regionSettings?.[t]?.acceptsTabs !== !1 && (!e.movableTo || e.movableTo.includes(t)) && (!e.allowedRegions || e.allowedRegions.includes(t))), Bn = (e, t) => {
1248
1241
  let n = e.layout.getWidget(t);
1249
1242
  if (!n || !P.some((e) => e === n.region)) return [];
1250
- let r = e.modes.getActiveModeId(), i = r ? e.modes.getMode(r) : void 0, a = e.modePlacements.listPlacements(r).find((e) => G(e.id) === t), o = i?.listAddablePanels?.({
1243
+ let r = e.modes.getActiveModeId(), i = r ? e.modes.getMode(r) : void 0, a = e.modePlacements.listPlacements(r).find((e) => Ln(e.id) === t), o = i?.listAddablePanels?.({
1251
1244
  layout: e.layout.getLayout(),
1252
1245
  resource: e.getPrimaryResource()
1253
1246
  }).find((e) => e.panelId === t);
@@ -1461,11 +1454,11 @@ var wt = {
1461
1454
  clearProject() {
1462
1455
  e.clearProject(void 0), e.resetHistory();
1463
1456
  },
1464
- isCurrentProjectUrl: (e) => Ft(t.browser.current().url, e),
1457
+ isCurrentProjectUrl: (e) => Pt(t.browser.current().url, e),
1465
1458
  hasCurrentPageUrl: (t) => $n(e, t),
1466
1459
  getBootLocation(n) {
1467
1460
  try {
1468
- if (Ft(t.browser.current().url, n)) return e.resolveUrl(n, t.browser.current())?.location;
1461
+ if (Pt(t.browser.current().url, n)) return e.resolveUrl(n, t.browser.current())?.location;
1469
1462
  let r = t.persistence.load(n);
1470
1463
  return r ? e.normalizeStored(r.location).location : e.normalizeTarget({
1471
1464
  kind: "page",
@@ -1544,7 +1537,7 @@ var wt = {
1544
1537
  dispose: e.dispose
1545
1538
  };
1546
1539
  }, tr = (e) => (t, n, r) => ({
1547
- url: Nt({
1540
+ url: Mt({
1548
1541
  projectId: t,
1549
1542
  location: n,
1550
1543
  pages: e.pages(),
@@ -1779,7 +1772,7 @@ var wt = {
1779
1772
  ...e.params ? { params: e.params } : {}
1780
1773
  };
1781
1774
  }, yr = (e) => {
1782
- let t = W("page navigation subscriber"), n = K(e.registry), r = e.registry.listPages, i = rr(), a = nr(e.reportDiagnostic), o = tr({
1775
+ let t = G("page navigation subscriber"), n = K(e.registry), r = e.registry.listPages, i = rr(), a = nr(e.reportDiagnostic), o = tr({
1783
1776
  pages: r,
1784
1777
  resources: n.resources
1785
1778
  }), s = fr({
@@ -1806,7 +1799,7 @@ var wt = {
1806
1799
  pages: r(),
1807
1800
  resources: n.resources
1808
1801
  }), p = (e, t) => {
1809
- let i = Bt({
1802
+ let i = zt({
1810
1803
  url: t.url,
1811
1804
  projectId: e,
1812
1805
  pages: r(),
@@ -1828,7 +1821,7 @@ var wt = {
1828
1821
  try {
1829
1822
  let a = e.browser.current();
1830
1823
  _r(a.state) && a.state.projectId === o ? i.adopt(a.state.index) : i.reset();
1831
- let u = h && Ft(a.url, o), g = u ? p(o, a) : void 0;
1824
+ let u = h && Pt(a.url, o), g = u ? p(o, a) : void 0;
1832
1825
  if (u && !g) throw Error(`Cannot resolve page URL: ${a.url}`);
1833
1826
  let _ = e.persistence.load(o);
1834
1827
  s.restore(_?.rootLevel);
@@ -2398,14 +2391,14 @@ var wt = {
2398
2391
  for (let e of i) we(e, () => I("mode placement subscriber", e));
2399
2392
  }, l = (t, n, r, i, a, o) => {
2400
2393
  if (!e.views.getView(q(t.item))) throw Error(`Workbench mode placement view is not registered: ${q(t.item)}`);
2401
- let s = G(t.id), c = e.getPanel(s);
2394
+ let s = Ln(t.id), c = e.getPanel(s);
2402
2395
  if (!c) throw Error(`Workbench mode placement is not registered: ${t.id}`);
2403
2396
  return {
2404
2397
  identity: Wr(t, n),
2405
2398
  region: t.region,
2406
2399
  order: t.order ?? 0,
2407
2400
  value: {
2408
- ...Ut(`workbench.mode.${encodeURIComponent(t.id)}.${encodeURIComponent(n)}`, c, {
2401
+ ...Ht(`workbench.mode.${encodeURIComponent(t.id)}.${encodeURIComponent(n)}`, c, {
2409
2402
  viewId: q(t.item),
2410
2403
  role: t.region === "main" ? "location" : "sub-panel",
2411
2404
  closable: jr(t.item),
@@ -2469,9 +2462,9 @@ var wt = {
2469
2462
  placements: t,
2470
2463
  refs: n,
2471
2464
  views: e.views
2472
- }), o = Jr(i), s = Ln(e.registerPanel, e.views, {
2465
+ }), o = Jr(i), s = In(e.registerPanel, e.views, {
2473
2466
  ...o,
2474
- id: G(o.id),
2467
+ id: Ln(o.id),
2475
2468
  viewId: q(o.item),
2476
2469
  role: o.region === "main" ? "location" : "sub-panel",
2477
2470
  singleton: o.item.kind === "view" || o.item.binding.cardinality === "one",
@@ -2698,7 +2691,7 @@ var wt = {
2698
2691
  return {
2699
2692
  registerOverlay(r) {
2700
2693
  if (t.has(r.id)) throw Error(`Overlay already registered: ${r.id}`);
2701
- let i = { ...r }, a = Ln(e.layout, e.views, {
2694
+ let i = { ...r }, a = In(e.layout, e.views, {
2702
2695
  ...i,
2703
2696
  id: ri(i.id),
2704
2697
  region: "overlay",
@@ -3173,9 +3166,7 @@ var wt = {
3173
3166
  valuesEqual: e.registryInput.valuesEqual
3174
3167
  })
3175
3168
  }, "unregisterActivePage"), o?.dispose();
3176
- return;
3177
- }
3178
- r.setState({
3169
+ } else r.setState({
3179
3170
  ...i,
3180
3171
  pages: c,
3181
3172
  pageStates: l,
@@ -3345,16 +3336,12 @@ var wt = {
3345
3336
  a?.(e);
3346
3337
  for (let e of r) we(e, () => I("shell placement subscriber", e));
3347
3338
  }, s = (t) => {
3348
- if (!e.enteredWithPersistedLayout()) {
3349
- Br(n, t.id);
3350
- return;
3351
- }
3352
- n = X({
3339
+ e.enteredWithPersistedLayout() ? n = X({
3353
3340
  state: n,
3354
3341
  declarations: [t],
3355
3342
  saved: Object.values(e.getLayout().regions).flatMap((e) => e.widgets),
3356
3343
  owns: (e) => e.kind === "shell"
3357
- });
3344
+ }) : Br(n, t.id);
3358
3345
  };
3359
3346
  e.onDidChangePersistenceScope(() => {
3360
3347
  if (!e.isChangingPage?.()) {
@@ -3370,7 +3357,7 @@ var wt = {
3370
3357
  region: t.region,
3371
3358
  order: t.order ?? 0,
3372
3359
  value: {
3373
- ...Ut(Ri(t.id, n), s, {
3360
+ ...Ht(Ri(t.id, n), s, {
3374
3361
  viewId: q(t.item),
3375
3362
  role: zi(t.region),
3376
3363
  closable: jr(t.item),
@@ -3446,7 +3433,7 @@ var wt = {
3446
3433
  let a = {
3447
3434
  ...r,
3448
3435
  item: { ...r.item }
3449
- }, c = Ln(e.registerPanel, e.views, {
3436
+ }, c = In(e.registerPanel, e.views, {
3450
3437
  ...a,
3451
3438
  id: Ii(a.id),
3452
3439
  viewId: q(a.item),
@@ -4074,16 +4061,12 @@ var wt = {
4074
4061
  for (let e of n.waiters) e();
4075
4062
  n.waiters.clear();
4076
4063
  }
4077
- !n.binding && !n.active && !n.pending && e.get(t) === n && e.delete(t);
4064
+ n.binding || n.active || n.pending || e.get(t) !== n || e.delete(t);
4078
4065
  }, r = (e, t) => e.binding === t.token && e.generation === t.generation, i = (e, a) => {
4079
4066
  a.queued || a.active || t || (a.queued = !0, queueMicrotask(() => {
4080
4067
  a.queued = !1;
4081
4068
  let o = a.pending;
4082
- if (!o || t || a.active) {
4083
- n(e, a);
4084
- return;
4085
- }
4086
- if (a.pending = void 0, !r(a, o)) {
4069
+ if (!o || t || a.active || (a.pending = void 0, !r(a, o))) {
4087
4070
  n(e, a);
4088
4071
  return;
4089
4072
  }
@@ -4695,7 +4678,7 @@ var wt = {
4695
4678
  }, { execute: (t) => e.movePanel(t.instanceId, t.region, t.position) });
4696
4679
  }, ya = (e) => ({
4697
4680
  loadPageLayout: (t) => e.loadPageLayout(Te(t), t.pages[t.activePageId ?? ""]),
4698
- savePageMain: (t, n) => e.savePageMain(Te(t), n, t.pages[t.activePageId ?? ""])
4681
+ savePageMain: (t, n, r) => e.savePageMain(Te(t), n, t.pages[t.activePageId ?? ""], r)
4699
4682
  }), ba = /* @__PURE__ */ new WeakMap(), xa = (e, t = e.modes.getActiveModeId(), n) => {
4700
4683
  let r = ba.get(e), i = e.pages.store.getState(), a = e.layout.store.getInitialState().layout, o = t && t !== e.modes.getActiveModeId() ? r?.readMode(i.projectId, t) ?? a : e.layout.getLayout();
4701
4684
  if (!n || !st(n, i)) return o;
@@ -4753,7 +4736,7 @@ var wt = {
4753
4736
  }), Ea = (e, t) => {
4754
4737
  if (!e || e.modes.isTransitioning()) return t;
4755
4738
  let n = e.modes.getActiveModeId(), r = n ? e.modes.getMode(n) : void 0;
4756
- return Yt(ht(t, r, (t) => e.layout.getRegionSettings(t, n)), e.layout.getRegionSize);
4739
+ return Jt(ht(t, r, (t) => e.layout.getRegionSettings(t, n)), e.layout.getRegionSize);
4757
4740
  }, Da = (e, t, n = {}) => {
4758
4741
  let r = n.identity && Object.values(xa(e, n.modeId, n.proposed).regions).flatMap((e) => e.widgets.map((t) => ({
4759
4742
  region: e.id,
@@ -4986,9 +4969,7 @@ var wt = {
4986
4969
  }
4987
4970
  let e = n.pageLocations.closePlacement(t);
4988
4971
  if (!e.ok) throw Error(e.diagnostic.message);
4989
- return;
4990
- }
4991
- t.kind === "mode" ? n.modePlacements.closePlacement(t) : n.shellPlacements.closePlacement(t);
4972
+ } else t.kind === "mode" ? n.modePlacements.closePlacement(t) : n.shellPlacements.closePlacement(t);
4992
4973
  }, Ga = (e) => (t, n = !0) => {
4993
4974
  let r = e(), i = N(t), a = Object.values(r.layout.getLayout().regions).flatMap((e) => e.widgets).find((e) => e.placementIdentity && N(e.placementIdentity) === i);
4994
4975
  if (!a) throw Error(`Placement is not open: ${i}`);
@@ -5197,11 +5178,7 @@ var wt = {
5197
5178
  }, io = (e) => e.breadcrumbs.setItems(ro(e)), ao = (e) => {
5198
5179
  let t, n = () => {
5199
5180
  let n = e.pages.store.getState();
5200
- if (!n.activePageId || !n.location) {
5201
- t?.dispose(), t = void 0;
5202
- return;
5203
- }
5204
- t?.dispose(), t = io({
5181
+ !n.activePageId || !n.location ? (t?.dispose(), t = void 0) : (t?.dispose(), t = io({
5205
5182
  breadcrumbs: e.breadcrumbs,
5206
5183
  location: n.location,
5207
5184
  pages: Object.values(n.pages),
@@ -5215,7 +5192,7 @@ var wt = {
5215
5192
  pageId: t,
5216
5193
  slotId: n
5217
5194
  })
5218
- });
5195
+ }));
5219
5196
  }, r = K(e.pages).onDidCommit(n);
5220
5197
  return n(), B(() => {
5221
5198
  r.dispose(), t?.dispose();
@@ -5313,11 +5290,12 @@ var wt = {
5313
5290
  }, _o = (e, t, n, r = e.registry.store.getState()) => {
5314
5291
  let i = e.layout.getPersistenceScope(), a = e.registry.store.getState(), o = a.activeModeId ? e.layout.store.getInitialState().layout : e.layout.getLayout(), s = a.activeModeId !== t.activeModeId || a.projectId !== t.projectId, c = t.activeModeId ? e.loadModeLayout?.(t.projectId, t.activeModeId) : void 0, l = e.loadPageLayout?.(t), u = po(a, t, s, c);
5315
5292
  if (n === "transition") {
5293
+ let n = e.layout.getLayout();
5316
5294
  s && a.activeModeId && e.saveModeLayout?.(a.projectId, a.activeModeId, e.layout.getLayout());
5317
5295
  for (let n of Re(t, a, e.layout.getLayout())) e.layout.removeWidgetPlacement(n.widgetId);
5318
- st(t, a) && e.savePageMain?.(a, e.layout.getLayout());
5296
+ st(t, a) && e.savePageMain?.(a, e.layout.getLayout(), n);
5319
5297
  }
5320
- return Nn(e.modes, t.activeModeId, () => {
5298
+ return Mn(e.modes, t.activeModeId, () => {
5321
5299
  n === "transition" && e.beforeApply?.(t);
5322
5300
  let d = e.registry.store.getState(), f = d === r ? t : d, p = n === "scope-restore" || e.layout.getPersistenceScope() !== i, m = s || p || st(t, a), h = ho(t, f, u), g = mo({
5323
5301
  layout: m ? co(e.layout.getLayout(), c, o, l) : e.layout.getLayout(),
@@ -5326,7 +5304,7 @@ var wt = {
5326
5304
  activate: h.map((e) => e.identity),
5327
5305
  destinations: n === "transition" ? f.reconciliation.destinations : void 0
5328
5306
  }, f, m), _ = f.activeModeId ? e.modes.getMode(f.activeModeId) : void 0, v = ht(g, _, (t) => e.layout.getRegionSettings(t, _?.id));
5329
- e.layout.restoreLayout(Yt(v, e.layout.getRegionSize)), uo(e.layout), n === "transition" && go(e, g, h);
5307
+ e.layout.restoreLayout(Jt(v, e.layout.getRegionSize)), uo(e.layout), n === "transition" && go(e, g, h);
5330
5308
  }), u ? "restore-mode" : "open-page";
5331
5309
  }, vo = (e) => {
5332
5310
  let t = !1, n = K(e.registry).connectRuntime((n) => {
@@ -5363,7 +5341,7 @@ var wt = {
5363
5341
  let a = Rn(e.pageId, e.slotId), o = t.getWidget(a);
5364
5342
  if (!o) throw Error(`Workbench page placement is not registered: ${e.pageId}.${e.slotId}`);
5365
5343
  return {
5366
- ...Ut(`workbench.page.${encodeURIComponent(N(e.identity))}`, o, {
5344
+ ...Ht(`workbench.page.${encodeURIComponent(N(e.identity))}`, o, {
5367
5345
  viewId: e.viewId,
5368
5346
  title: r?.label ?? i.title ?? o.title,
5369
5347
  role: e.role === "primary" ? "location" : "sub-panel",
@@ -5374,7 +5352,7 @@ var wt = {
5374
5352
  ...e.section ? { section: e.section } : {}
5375
5353
  };
5376
5354
  }, xo = (e) => {
5377
- let t = e.resources ?? wt, n = Pi({
5355
+ let t = e.resources ?? H, n = Pi({
5378
5356
  restorePageState: e.restorePageState,
5379
5357
  validateMode: (t) => {
5380
5358
  if (!e.modes.getMode(t)) throw Error(`Workbench mode not registered: ${t}`);
@@ -5394,7 +5372,7 @@ var wt = {
5394
5372
  let r = yt(n.item.kind === "view" ? n.item.view : n.item.binding.view);
5395
5373
  if (!r) throw Error(`Workbench page slot view is not registered: ${t.id}.${n.id}`);
5396
5374
  let i = qe(n);
5397
- return Ln(e.layout, e.views, {
5375
+ return In(e.layout, e.views, {
5398
5376
  ...n,
5399
5377
  id: Rn(t.id, n.id),
5400
5378
  viewId: r,
@@ -5463,15 +5441,101 @@ var wt = {
5463
5441
  ...t,
5464
5442
  currentScope: n?.getPersistenceScope() ?? t.currentScope
5465
5443
  }), i = e.persistence?.getSnapshot(r?.scope)?.layout ?? e.layoutPersistence?.getLayout(r?.scope);
5466
- return !n || !r?.carryRegions?.length ? i : cn(n.getLayout(), i ?? Gt(), r.carryRegions);
5467
- }, wo = (e, t = (t) => Co(e, t)) => (n, r, i) => {
5468
- let a = t({
5469
- modeId: n.modeId,
5470
- pageId: n.id,
5471
- projectId: i,
5472
- resource: r.resource
5473
- }, n), o = e.pageLocationPersistence?.load(i)?.location, s = L(o, r, wt, [n]);
5474
- if (a && (s || Object.values(a.regions).some((e) => e.widgets.some((e) => e.placementIdentity?.kind === "page" && e.placementIdentity.pageId === n.id)))) return So(n, a, r.resource);
5444
+ return !n || !r?.carryRegions?.length ? i : sn(n.getLayout(), i ?? Wt(), r.carryRegions);
5445
+ }, wo = (e, t = (t) => Co(e, t), n) => (r, i, a) => {
5446
+ let o = {
5447
+ modeId: r.modeId,
5448
+ pageId: r.id,
5449
+ projectId: a,
5450
+ resource: i.resource
5451
+ }, s = t(o, r);
5452
+ if (n && !n(o, r)) return;
5453
+ let c = e.pageLocationPersistence?.load(a)?.location, l = L(c, i, H, [r]);
5454
+ if (s && (l || Object.values(s.regions).some((e) => e.widgets.some((e) => e.placementIdentity?.kind === "page" && e.placementIdentity.pageId === r.id)))) return So(r, s, i.resource);
5455
+ }, To = () => {
5456
+ let e = Symbol("current layout"), t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o, s, c, l, u = (t) => {
5457
+ let a = n.get(t), o = r.get(t), u = a?.get(e) ?? a?.get(i.get(t));
5458
+ o !== u && (!!o != !!u && (s = void 0), o?.resource !== u?.resource && (l = void 0), u ? r.set(t, u) : r.delete(t), c = void 0);
5459
+ }, d = (e, t, n) => {
5460
+ let r = new Set([...t.values()].flatMap((e) => e.resource ? [V(e.resource)] : [])), i = new Set([...n.values()].flatMap((e) => e.resource ? [V(e.resource)] : []));
5461
+ for (let t of r) {
5462
+ if (i.has(t)) continue;
5463
+ let n = a.get(t);
5464
+ n.delete(e), n.size || a.delete(t);
5465
+ }
5466
+ for (let t of i) {
5467
+ if (r.has(t)) continue;
5468
+ let n = a.get(t);
5469
+ n || (n = /* @__PURE__ */ new Set(), a.set(t, n)), n.add(e);
5470
+ }
5471
+ }, f = (t, r) => {
5472
+ let a = n.get(r);
5473
+ if (a.delete(t), i.get(r) === t) {
5474
+ i.delete(r);
5475
+ for (let t of a.keys()) t !== e && i.set(r, t);
5476
+ }
5477
+ a.size || n.delete(r), u(r);
5478
+ }, p = (t, r, a) => {
5479
+ for (let e of r.keys()) a.has(e) || f(t, e);
5480
+ for (let [o, s] of a) {
5481
+ if (r.get(o) === s) continue;
5482
+ let a = n.get(o);
5483
+ a || (a = /* @__PURE__ */ new Map(), n.set(o, a)), a.delete(t), a.set(t, s), t !== e && i.set(o, t), u(o);
5484
+ }
5485
+ }, m = (e, n) => {
5486
+ let r = t.get(e) ?? /* @__PURE__ */ new Map(), i = new Map(Object.values(n?.regions ?? {}).flatMap((e) => e.widgets.map((e) => [e.widgetId, e])));
5487
+ d(e, r, i), p(e, r, i), i.size ? t.set(e, i) : t.delete(e);
5488
+ };
5489
+ return {
5490
+ set: m,
5491
+ removeResource(e, n) {
5492
+ let r = t.get(e);
5493
+ if (!r) return;
5494
+ let i = V(n), a = new Map([...r].filter(([, e]) => V(e.resource) !== i));
5495
+ d(e, r, a), p(e, r, a), a.size ? t.set(e, a) : t.delete(e);
5496
+ },
5497
+ setCurrent(t) {
5498
+ o !== t && (o = t, m(e, t));
5499
+ },
5500
+ getIds: () => s ??= new Set(r.keys()),
5501
+ getPlacements: () => c ??= [...r.values()],
5502
+ getResources: () => (l ??= [...new Map([...r.values()].flatMap((e) => e.resource ? [[V(e.resource), e.resource]] : [])).values()], l),
5503
+ getScopes(e) {
5504
+ return [...a.get(V(e)) ?? []].filter((e) => typeof e != "symbol");
5505
+ }
5506
+ };
5507
+ }, Eo = (e, t, n) => {
5508
+ let r = {
5509
+ pageId: e.id,
5510
+ resource: t
5511
+ }, i = (t) => lt(e, t, n), a = di({
5512
+ page: e,
5513
+ state: li({
5514
+ page: e,
5515
+ state: ai(e),
5516
+ target: r,
5517
+ resourceKey: i
5518
+ }),
5519
+ target: r,
5520
+ resourceKey: i
5521
+ });
5522
+ return it({
5523
+ shell: [],
5524
+ page: Si({
5525
+ page: e,
5526
+ resource: t,
5527
+ state: a,
5528
+ staticInstanceKey: ke(e, t, n),
5529
+ sharedPlacements: [],
5530
+ resolvePagePlacement: (e) => e
5531
+ })
5532
+ }).regions.main;
5533
+ }, Do = (e, t, n) => e.placementIdentity && N(e.placementIdentity) === N(t.identity) && e.viewId === t.viewId && M(n, e.resource) === M(n, t.resource) && !!e.pinned == (t.open === "pin") && e.tabRetention === (t.open === "pin" ? "persistent" : t.open) && JSON.stringify(e.section) === JSON.stringify(t.section), Oo = (e, t, n, r = H) => {
5534
+ if (!e || e.resource && !t) return !1;
5535
+ let i = Eo(e, t, r), a = n.regions.main;
5536
+ if (a.widgets.length !== i.length || !a.widgets.every((t, n) => Do(t, i[n].value, e))) return !1;
5537
+ let o = a.widgets.find((e) => e.widgetId === a.activeWidgetId) ?? a.widgets[0], s = i.find((e) => e.value.role === "primary") ?? i[0];
5538
+ return o?.placementIdentity && s ? N(o.placementIdentity) === N(s.identity) : !o && !s;
5475
5539
  }, Z = (e, t) => {
5476
5540
  let n = { ...e.regions };
5477
5541
  for (let r of be) {
@@ -5486,12 +5550,12 @@ var wt = {
5486
5550
  ...e,
5487
5551
  regions: n
5488
5552
  };
5489
- }, To = (e, t) => `workbench-mode:${JSON.stringify([e ?? null, t])}`, Eo = (e, t) => `workbench-main:${JSON.stringify([
5553
+ }, ko = (e, t) => `workbench-mode:${JSON.stringify([e ?? null, t])}`, Ao = (e, t) => `workbench-main:${JSON.stringify([
5490
5554
  e.projectId,
5491
5555
  e.modeId,
5492
5556
  e.pageId,
5493
5557
  M(t, e.resource)
5494
- ])}`, Do = (e, t) => t !== "main" && (e.placementIdentity?.kind === "mode" || !!mt(t)), Oo = (e) => {
5558
+ ])}`, jo = (e, t) => t !== "main" && (e.placementIdentity?.kind === "mode" || !!mt(t)), Mo = (e) => {
5495
5559
  let { context: t, pages: n, saved: r } = e, i = Object.values(e.layout.regions).flatMap((e) => e.widgets).find((t) => t.widgetId === e.layout.activeLocationWidgetId), a = r && n.find((e) => e.ref.id === r.page.id && e.ref.extensionId === r.page.extensionId);
5496
5560
  if (a && (!i?.resource?.projectId || i.resource.projectId === t.projectId)) {
5497
5561
  let n = {
@@ -5516,22 +5580,26 @@ var wt = {
5516
5580
  },
5517
5581
  page: s
5518
5582
  };
5519
- }, ko = (e, t = () => void 0, n = () => void 0, r = () => []) => {
5520
- let i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map(), o = e.persistence ? {
5583
+ }, No = (e, t = () => void 0, n = () => void 0, r = () => []) => {
5584
+ let i = /* @__PURE__ */ new Map(), a = To(), o = !1, s = e.persistence ? {
5521
5585
  getLayout: (t) => e.persistence?.getSnapshot(t)?.layout,
5522
5586
  setLayout: (t, n) => e.persistence?.setSnapshot({ layout: t }, n),
5587
+ removeLayout: e.persistence.removeSnapshot ? (t) => e.persistence?.removeSnapshot?.(t) : void 0,
5523
5588
  listLayouts: () => e.persistence?.listLayouts?.() ?? [],
5589
+ onDidChangeLayout: e.persistence?.onDidChangeLayout,
5524
5590
  flush: e.persistence.flush,
5525
5591
  dispose: e.persistence.dispose
5526
5592
  } : e.layoutPersistence ?? {
5527
- getLayout: (e) => a.get(e),
5528
- setLayout: (e, t) => a.set(t, e)
5529
- }, s = (e) => {
5530
- i.add(e);
5531
- let t = I(`layout cache read for ${e ?? "unscoped"}`, () => o.getLayout(e));
5532
- return t ? vt(t, n) : void 0;
5533
- }, c = (e, t) => (i.add(t), I(`layout cache write for ${t ?? "unscoped"}`, () => (o.setLayout(e, t), !0))), l = (t, n, i, a) => {
5534
- let o = Oo({
5593
+ getLayout: (e) => i.get(e),
5594
+ setLayout: (e, t) => i.set(t, e),
5595
+ removeLayout: (e) => {
5596
+ i.delete(e);
5597
+ }
5598
+ }, c = s.onDidChangeLayout?.((e, t) => a.set(e, t)), l = (e) => {
5599
+ let t = I(`layout cache read for ${e ?? "unscoped"}`, () => s.getLayout(e));
5600
+ return t && a.set(e, t), t ? vt(t, n) : void 0;
5601
+ }, u = (e, t) => I(`layout cache write for ${t ?? "unscoped"}`, () => (s.setLayout(e, t), a.set(t, e), !0)), d = (t, n, i, a) => {
5602
+ let o = Mo({
5535
5603
  layout: t,
5536
5604
  context: n,
5537
5605
  pages: i ? [i, ...r()] : r(),
@@ -5540,31 +5608,35 @@ var wt = {
5540
5608
  resolveScope: e.resolvePagePersistenceScope
5541
5609
  });
5542
5610
  if (!o) return;
5543
- let l = Eo(o.context, o.page);
5544
- (s(l) || c(Z(t, (e, t) => t === "main"), l)) && c(Z(t, (e, t) => t !== "main"), a);
5545
- }, u = (e) => {
5546
- let t = /* @__PURE__ */ new Map(), n = [
5547
- ...o.listLayouts?.().map((e) => e.layout) ?? [],
5548
- ...[...i].map((e) => s(e)),
5549
- e
5550
- ];
5551
- for (let e of n) if (e) for (let n of Object.values(e.regions)) for (let e of n.widgets) t.set(e.widgetId, e);
5552
- return [...t.values()];
5611
+ let s = Ao(o.context, o.page);
5612
+ (l(s) || u(Z(t, (e, t) => t === "main"), s)) && u(Z(t, (e, t) => t !== "main"), a);
5613
+ }, f = (e) => {
5614
+ if (!o) {
5615
+ o = !0;
5616
+ for (let { scope: e, layout: t } of s.listLayouts?.() ?? []) a.set(e, t);
5617
+ }
5618
+ a.setCurrent(e);
5553
5619
  };
5554
5620
  return {
5555
- listPlacements: u,
5621
+ listPlacements(e) {
5622
+ return f(e), a.getPlacements();
5623
+ },
5624
+ placementIds(e) {
5625
+ return f(e), a.getIds();
5626
+ },
5556
5627
  listResources(e) {
5557
- let t = /* @__PURE__ */ new Map();
5558
- for (let n of u(e)) n.resource && t.set(V(n.resource), n.resource);
5559
- return [...t.values()];
5628
+ return f(e), a.getResources();
5629
+ },
5630
+ hasPageMain(e, t) {
5631
+ return !!l(Ao(e, t));
5560
5632
  },
5561
5633
  loadPageLayout(t, n) {
5562
- let r = e.resolvePagePersistenceScope?.(t)?.scope, i = s(r);
5634
+ let r = e.resolvePagePersistenceScope?.(t)?.scope, i = l(r);
5563
5635
  if (!t.pageId || !t.modeId) return i;
5564
- i?.regions.main.widgets.length && l(i, t, n, r);
5565
- let a = s(Eo(t, n));
5636
+ i?.regions.main.widgets.length && d(i, t, n, r);
5637
+ let a = l(Ao(t, n));
5566
5638
  if (!i && !a) return;
5567
- let o = i ?? Gt(), c = new Set(a?.regions.main.widgets.map((e) => e.widgetId));
5639
+ let o = i ?? Wt(), s = new Set(a?.regions.main.widgets.map((e) => e.widgetId));
5568
5640
  return {
5569
5641
  ...o,
5570
5642
  regions: {
@@ -5575,33 +5647,43 @@ var wt = {
5575
5647
  activeWidgetId: void 0
5576
5648
  }
5577
5649
  },
5578
- activeWidgetId: c.has(a?.activeWidgetId ?? "") ? a?.activeWidgetId : o.activeWidgetId,
5579
- activeLocationWidgetId: c.has(a?.activeLocationWidgetId ?? "") ? a?.activeLocationWidgetId : o.activeLocationWidgetId
5650
+ activeWidgetId: s.has(a?.activeWidgetId ?? "") ? a?.activeWidgetId : o.activeWidgetId,
5651
+ activeLocationWidgetId: s.has(a?.activeLocationWidgetId ?? "") ? a?.activeLocationWidgetId : o.activeLocationWidgetId
5580
5652
  };
5581
5653
  },
5582
- savePageMain(e, t, n) {
5583
- e.pageId && e.modeId && c(Z(t, (e, t) => t === "main"), Eo(e, n));
5654
+ savePageMain(t, n, r, i = n) {
5655
+ if (!t.pageId || !t.modeId) return;
5656
+ let o = Ao(t, r), c = Z(n, (e, t) => t === "main");
5657
+ Oo(r, t.resource, n, e.pageResources) || i !== n && Oo(r, t.resource, i, e.pageResources) ? (I(`remove default page layout for ${o}`, () => {
5658
+ s.removeLayout ? s.removeLayout(o) : s.getLayout(o) && s.setLayout(c, o);
5659
+ }), a.set(o, s.removeLayout ? void 0 : s.getLayout(o))) : u(c, o);
5584
5660
  },
5585
5661
  removeResource(e) {
5586
- let t = /* @__PURE__ */ new Set([...i, ...o.listLayouts?.().map((e) => e.scope) ?? []]);
5587
- for (let n of t) {
5588
- let t = s(n);
5589
- t && c(Z(t, (t) => V(t.resource) !== V(e)), n);
5662
+ if (!o) {
5663
+ o = !0;
5664
+ for (let { scope: e, layout: t } of s.listLayouts?.() ?? []) a.set(e, t);
5665
+ }
5666
+ for (let t of a.getScopes(e)) {
5667
+ let n = l(t);
5668
+ n ? u(Z(n, (t) => V(t.resource) !== V(e)), t) : a.removeResource(t, e);
5590
5669
  }
5591
5670
  },
5592
5671
  layout: {
5593
- ...o,
5594
- getLayout: s,
5672
+ ...s,
5673
+ dispose() {
5674
+ c?.(), s.dispose?.();
5675
+ },
5676
+ getLayout: l,
5595
5677
  setLayout: (e, n) => {
5596
- let r = Z(e, (e, n) => !t() || n !== "main" && !Do(e, n));
5678
+ let r = Z(e, (e, n) => !t() || n !== "main" && !jo(e, n));
5597
5679
  for (let t of be) r.regions[t].savedWidgetOrder = e.regions[t].widgets.map((e) => e.widgetId);
5598
- return c(r, n);
5680
+ return u(r, n);
5599
5681
  }
5600
5682
  },
5601
- readMode: (e, t) => s(To(e, t)),
5602
- saveMode: (e, t, n) => c(Z(n, (e, n) => Do(e, n) && (e.placementIdentity?.kind !== "mode" || e.placementIdentity.modeId === t)), To(e, t))
5683
+ readMode: (e, t) => l(ko(e, t)),
5684
+ saveMode: (e, t, n) => u(Z(n, (e, n) => jo(e, n) && (e.placementIdentity?.kind !== "mode" || e.placementIdentity.modeId === t)), ko(e, t))
5603
5685
  };
5604
- }, Ao = (e) => {
5686
+ }, Po = (e) => {
5605
5687
  let t = (t) => !Object.hasOwn(p, t) || !e.getPolicy(t).movable || t === "main" && !e.getPolicy("secondary").open || (t === "main" || t === "secondary") && (!e.getPolicy("main").movable || !e.getPolicy("secondary").movable) ? [] : p[t];
5606
5688
  return {
5607
5689
  getArrangement: () => d(e.layout.getLayout().arrangement),
@@ -5618,7 +5700,7 @@ var wt = {
5618
5700
  });
5619
5701
  }
5620
5702
  };
5621
- }, jo = (e) => {
5703
+ }, Fo = (e) => {
5622
5704
  let t = (t, n) => {
5623
5705
  let r = e.getPolicy(t);
5624
5706
  if (!r.provided) throw Error(`Panel is not provided: ${t}`);
@@ -5629,7 +5711,7 @@ var wt = {
5629
5711
  }[n]) throw Error(`Panel cannot ${n}: ${t}`);
5630
5712
  };
5631
5713
  return {
5632
- ...Ao(e),
5714
+ ...Po(e),
5633
5715
  getPanelPolicy: e.getPolicy,
5634
5716
  setHeaderVisible(t, n) {
5635
5717
  if (!e.getPolicy(t).provided) throw Error(`Panel is not provided: ${t}`);
@@ -5653,11 +5735,7 @@ var wt = {
5653
5735
  };
5654
5736
  },
5655
5737
  setRegionOpen(n, r) {
5656
- if (t(n, r ? "open" : "close"), n === "side") {
5657
- r ? e.sidePanel.getMode() === "closed" && e.sidePanel.setMode("attached") : e.sidePanel.setMode("closed");
5658
- return;
5659
- }
5660
- e.layout.setRegionVisible(n, r);
5738
+ t(n, r ? "open" : "close"), n === "side" ? r ? e.sidePanel.getMode() === "closed" && e.sidePanel.setMode("attached") : e.sidePanel.setMode("closed") : e.layout.setRegionVisible(n, r);
5661
5739
  },
5662
5740
  setRegionSize(n, r) {
5663
5741
  t(n, "resize");
@@ -5679,7 +5757,7 @@ var wt = {
5679
5757
  });
5680
5758
  }
5681
5759
  };
5682
- }, Mo = (e, t, n, r) => xr({
5760
+ }, Io = (e, t, n, r) => xr({
5683
5761
  validateMode: (e) => {
5684
5762
  let t = r();
5685
5763
  if (!t) return;
@@ -5698,13 +5776,13 @@ var wt = {
5698
5776
  onDidChangePolicy: t.onDidChangeActive,
5699
5777
  initialMode: n.initialSidePanelMode,
5700
5778
  layout: e
5701
- }), No = (e) => {
5779
+ }), Lo = (e) => {
5702
5780
  let t = e.focus.getActiveRegion() ?? "main";
5703
5781
  return e.layout.getLayout().regions[t].activeWidgetId ?? `region:${t}`;
5704
- }, Po = (e, t, n) => Object.values(e.regions).filter((e) => e.id === t).some((e) => e.widgets.some((e) => e.placementIdentity && n(e.placementIdentity))), Fo = (e, t) => {
5782
+ }, Ro = (e, t, n) => Object.values(e.regions).filter((e) => e.id === t).some((e) => e.widgets.some((e) => e.placementIdentity && n(e.placementIdentity))), zo = (e, t) => {
5705
5783
  let n = Object.values(e.layout.getLayout().regions).flatMap((e) => e.widgets).find((e) => e.placementIdentity && N(e.placementIdentity) === N(t));
5706
5784
  n && e.layout.activatePanel(n.widgetId);
5707
- }, Io = async (e, t, n) => {
5785
+ }, Bo = async (e, t, n) => {
5708
5786
  if (t.kind === "command") await e.commands.executeCommand(yt(t.target.command), t.target.params, {
5709
5787
  source: "panel-add",
5710
5788
  region: n
@@ -5729,20 +5807,20 @@ var wt = {
5729
5807
  }
5730
5808
  await e.navigation.openTarget(t);
5731
5809
  }
5732
- }, Lo = (e, t, n) => {
5810
+ }, Vo = (e, t, n) => {
5733
5811
  if (t.kind !== "binding") return !0;
5734
5812
  let r = t.binding.add;
5735
5813
  if (!r) return !!(n && O(t.binding, n));
5736
5814
  if (r.kind !== "command") return !0;
5737
5815
  let i = yt(r.target.command);
5738
5816
  return !!(e.commands.getCommand(i) && e.commands.isCommandVisible(i, r.target.params) && e.commands.isCommandEnabled(i, r.target.params));
5739
- }, Ro = (e, t, n) => {
5817
+ }, Ho = (e, t, n) => {
5740
5818
  for (let r of e.shellPlacements.listPlacements()) {
5741
5819
  if (!Bn(e, Ii(r.id)).includes(t.region) || r.item.kind === "view" && r.item.presence === "fixed") continue;
5742
- let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = Po(t.layout, t.region, (e) => e.kind === "shell" && e.placementId === r.id);
5743
- !i && a || !Lo(e, r.item, t.resource) || n(Ii(r.id), (n) => {
5744
- if (r.item.kind === "binding" && r.item.binding.add) return Io(e, r.item.binding.add, t.region);
5745
- Fo(e, e.shellPlacements.openPlacement({
5820
+ let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = Ro(t.layout, t.region, (e) => e.kind === "shell" && e.placementId === r.id);
5821
+ !i && a || !Vo(e, r.item, t.resource) || n(Ii(r.id), (n) => {
5822
+ if (r.item.kind === "binding" && r.item.binding.add) return Bo(e, r.item.binding.add, t.region);
5823
+ zo(e, e.shellPlacements.openPlacement({
5746
5824
  placementId: r.id,
5747
5825
  region: t.region,
5748
5826
  ...r.item.kind === "binding" && n ? {
@@ -5752,13 +5830,13 @@ var wt = {
5752
5830
  }));
5753
5831
  });
5754
5832
  }
5755
- }, zo = (e, t, n) => {
5833
+ }, Uo = (e, t, n) => {
5756
5834
  for (let r of e.modePlacements.listPlacements(t.modeId)) {
5757
- if (!Bn(e, G(r.id)).includes(t.region) || r.item.kind === "view" && r.item.presence === "fixed") continue;
5758
- let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = Po(t.layout, t.region, (e) => e.kind === "mode" && e.placementId === r.id);
5759
- !i && a || !Lo(e, r.item, t.resource) || n(G(r.id), (n) => {
5760
- if (r.item.kind === "binding" && r.item.binding.add) return Io(e, r.item.binding.add, t.region);
5761
- Fo(e, e.modePlacements.openPlacement({
5835
+ if (!Bn(e, Ln(r.id)).includes(t.region) || r.item.kind === "view" && r.item.presence === "fixed") continue;
5836
+ let i = r.item.kind === "binding" && r.item.binding.cardinality === "many", a = Ro(t.layout, t.region, (e) => e.kind === "mode" && e.placementId === r.id);
5837
+ !i && a || !Vo(e, r.item, t.resource) || n(Ln(r.id), (n) => {
5838
+ if (r.item.kind === "binding" && r.item.binding.add) return Bo(e, r.item.binding.add, t.region);
5839
+ zo(e, e.modePlacements.openPlacement({
5762
5840
  panel: r.ref,
5763
5841
  region: t.region,
5764
5842
  ...r.item.kind === "binding" && n ? {
@@ -5768,13 +5846,13 @@ var wt = {
5768
5846
  }));
5769
5847
  });
5770
5848
  }
5771
- }, Bo = (e, t, n) => {
5849
+ }, Wo = (e, t, n) => {
5772
5850
  let r = e.pages.store.getState(), i = r.activePageId ? e.pages.getPage(r.activePageId) : void 0;
5773
5851
  if (i) for (let r of i.slots) {
5774
5852
  if (r.isAvailable && !r.isAvailable(t.resource) || !Bn(e, Rn(i.id, r.id)).includes(t.region) || r.item.kind === "view" && r.item.presence === "fixed") continue;
5775
- let a = r.item.kind === "binding" && r.item.binding.cardinality === "many", o = Po(t.layout, t.region, (e) => e.kind === "page" && e.pageId === i.id && e.slotId === r.id);
5776
- !a && o || !Lo(e, r.item, t.resource) || n(Rn(i.id, r.id), (n) => {
5777
- if (r.item.kind === "binding" && r.item.binding.add) return Io(e, r.item.binding.add, t.region);
5853
+ let a = r.item.kind === "binding" && r.item.binding.cardinality === "many", o = Ro(t.layout, t.region, (e) => e.kind === "page" && e.pageId === i.id && e.slotId === r.id);
5854
+ !a && o || !Vo(e, r.item, t.resource) || n(Rn(i.id, r.id), (n) => {
5855
+ if (r.item.kind === "binding" && r.item.binding.add) return Bo(e, r.item.binding.add, t.region);
5778
5856
  e.pages.openSlot({
5779
5857
  pageId: i.id,
5780
5858
  slotId: r.id,
@@ -5783,10 +5861,10 @@ var wt = {
5783
5861
  ...a ? { open: "pin" } : {}
5784
5862
  });
5785
5863
  let o = Object.values(e.layout.getLayout().regions).flatMap((e) => e.widgets).find((t) => t.widgetId === e.layout.getLayout().activeWidgetId && t.contributionId === Rn(i.id, r.id));
5786
- o?.placementIdentity && Fo(e, o.placementIdentity);
5864
+ o?.placementIdentity && zo(e, o.placementIdentity);
5787
5865
  });
5788
5866
  }
5789
- }, Vo = (e, t) => {
5867
+ }, Go = (e, t) => {
5790
5868
  let n = [], r = (r, i) => {
5791
5869
  let a = e.layout.getWidget(r);
5792
5870
  a && n.push({
@@ -5796,8 +5874,8 @@ var wt = {
5796
5874
  open: (t) => Ge(e, "Add panel", () => i?.(t))
5797
5875
  });
5798
5876
  };
5799
- return Ro(e, t, r), zo(e, t, r), Bo(e, t, r), n;
5800
- }, Ho = (e) => (t) => !e.listProviders().some((e) => e.kind === t.type) || e.listResources("").some((e) => V(e.resource) === V(t)), Uo = ({ layout: e, isInScope: t }) => {
5877
+ return Ho(e, t, r), Uo(e, t, r), Wo(e, t, r), n;
5878
+ }, Ko = (e) => (t) => !e.listProviders().some((e) => e.kind === t.type) || e.listResources("").some((e) => V(e.resource) === V(t)), qo = ({ layout: e, isInScope: t }) => {
5801
5879
  let n = !1, r = e.onWillChangePersistenceScope(() => {
5802
5880
  n = !0;
5803
5881
  }), i = e.onDidChangePersistenceScope(() => {
@@ -5813,9 +5891,9 @@ var wt = {
5813
5891
  return B(() => {
5814
5892
  a(), r.dispose(), i.dispose();
5815
5893
  });
5816
- }, Wo = "sidenav", Go = (e, t) => {
5894
+ }, Jo = "sidenav", Yo = (e, t) => {
5817
5895
  e.shell.setRegionOpen(t, !e.shell.getRegionState(t).open);
5818
- }, Ko = [
5896
+ }, Xo = [
5819
5897
  {
5820
5898
  id: "workbench.toggleCommandPalette",
5821
5899
  label: "Toggle Command Palette",
@@ -5860,10 +5938,10 @@ var wt = {
5860
5938
  label: "Toggle Sidenav",
5861
5939
  icon: "PanelLeft",
5862
5940
  keybinding: "Mod+B",
5863
- execute: (e) => Go(e, Wo)
5941
+ execute: (e) => Yo(e, Jo)
5864
5942
  }
5865
- ], qo = (e) => {
5866
- for (let t of Ko) e.commands.registerCommand({
5943
+ ], Zo = (e) => {
5944
+ for (let t of Xo) e.commands.registerCommand({
5867
5945
  id: t.id,
5868
5946
  label: t.label,
5869
5947
  category: "Workbench",
@@ -5880,7 +5958,7 @@ var wt = {
5880
5958
  commandId: t.id,
5881
5959
  group: "Workbench"
5882
5960
  });
5883
- }, Jo = (e) => Wn({
5961
+ }, Qo = (e) => Wn({
5884
5962
  getActiveMode: () => {
5885
5963
  let t = e(), n = t.modes.getActiveModeId();
5886
5964
  return n ? t.modes.getMode(n) : void 0;
@@ -5888,13 +5966,13 @@ var wt = {
5888
5966
  getLayout: () => e().layout.getLayout(),
5889
5967
  getResource: () => e().getPrimaryResource(),
5890
5968
  listWidgets: () => e().layout.listWidgets(),
5891
- listOwnedAddablePanels: ({ layout: t, mode: n, region: r, resource: i }) => Vo(e(), {
5969
+ listOwnedAddablePanels: ({ layout: t, mode: n, region: r, resource: i }) => Go(e(), {
5892
5970
  layout: t,
5893
5971
  modeId: n?.id,
5894
5972
  region: r,
5895
5973
  resource: i
5896
5974
  })
5897
- }), Yo = (e, t) => {
5975
+ }), $o = (e, t) => {
5898
5976
  e.layout.store.subscribe((t) => {
5899
5977
  let n = e.focus.getActiveRegion();
5900
5978
  n && !(Xa(e, n) ?? t.layout.regions[n].visible) && e.focus.clearFocus();
@@ -5903,17 +5981,17 @@ var wt = {
5903
5981
  if (t) return Object.values(e.layout.regions).flatMap((e) => e.widgets).find((e) => e.widgetId === t)?.viewId;
5904
5982
  }, (t) => {
5905
5983
  t ? e.context.set(pa, t) : e.context.delete(pa);
5906
- }, { fireImmediately: !0 }), Uo({
5984
+ }, { fireImmediately: !0 }), qo({
5907
5985
  layout: e.layout,
5908
- isInScope: t.isInScope ?? Ho(e.resources)
5909
- }), qo(e);
5910
- }, Xo = (e) => {
5986
+ isInScope: t.isInScope ?? Ko(e.resources)
5987
+ }), Zo(e);
5988
+ }, es = (e) => {
5911
5989
  let t = e.layout.getLayout().activeWidgetId;
5912
5990
  if (t) for (let n of Object.values(e.layout.getLayout().regions)) {
5913
5991
  let e = n.widgets.find((e) => e.widgetId === t);
5914
5992
  if (e) return e.resource;
5915
5993
  }
5916
- }, Zo = (e) => e.pages.store.getState().location?.resource, Qo = (e) => t({
5994
+ }, ts = (e) => e.pages.store.getState().location?.resource, ns = (e) => t({
5917
5995
  subscribeViewRefresh: (t, n) => e.onDidRefresh(({ treeId: e }) => {
5918
5996
  e === t && n();
5919
5997
  }),
@@ -5930,8 +6008,8 @@ var wt = {
5930
6008
  ...r,
5931
6009
  viewId: t
5932
6010
  }),
5933
- moveViewNode: (t, n, r, i) => $o(e, t, n, r, i)
5934
- }), $o = async (e, t, n, r, i) => {
6011
+ moveViewNode: (t, n, r, i) => rs(e, t, n, r, i)
6012
+ }), rs = async (e, t, n, r, i) => {
5935
6013
  await e.getTreeRenderer(t)?.moveNode?.(n, r, {
5936
6014
  ...i,
5937
6015
  viewId: t,
@@ -5939,7 +6017,7 @@ var wt = {
5939
6017
  refresh: () => e.refresh(t),
5940
6018
  setSelectedNode: (n) => e.setSelectedNode(t, n)
5941
6019
  });
5942
- }, es = (e) => {
6020
+ }, is = (e) => {
5943
6021
  let t = Yi();
5944
6022
  return {
5945
6023
  ...t,
@@ -5955,7 +6033,7 @@ var wt = {
5955
6033
  }, Q = (e, t) => ({
5956
6034
  dispose: () => e.dispose(),
5957
6035
  refresh: t
5958
- }), ts = (e) => (t, n) => {
6036
+ }), as = (e) => (t, n) => {
5959
6037
  let r = t.body;
5960
6038
  if (r.kind === "react") return Q(e.registerRenderer({
5961
6039
  id: t.id,
@@ -6000,8 +6078,8 @@ var wt = {
6000
6078
  id: t.id,
6001
6079
  title: t.title
6002
6080
  }, n), () => e.refreshDataTableRenderer(t.id));
6003
- }, ns = (e, t) => {
6004
- let n = ha({ registerBody: ts(t) });
6081
+ }, os = (e, t) => {
6082
+ let n = ha({ registerBody: as(t) });
6005
6083
  return {
6006
6084
  views: n,
6007
6085
  viewMenus: fa({ views: n }),
@@ -6014,9 +6092,9 @@ var wt = {
6014
6092
  ...t,
6015
6093
  source: e.source,
6016
6094
  ownerId: e.ownerId
6017
- }), rs = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], is = (e) => {
6095
+ }), ss = (e) => e ? Array.isArray(e) ? [...e] : [e] : [], cs = (e) => {
6018
6096
  for (let t = e.length - 1; t >= 0; --t) e[t]?.dispose();
6019
- }, as = (e, t) => {
6097
+ }, ls = (e, t) => {
6020
6098
  let n = e.context.createScope(t.contextScopeId);
6021
6099
  t.track(n);
6022
6100
  let r = (e) => (t.track(e), e), { openPanel: i, openWidget: a, registerPanel: o, registerPanelMenu: s, registerPlaceholder: c, registerWidget: l, ...u } = e.layout;
@@ -6064,12 +6142,12 @@ var wt = {
6064
6142
  registerMode: (n) => r(e.modes.registerMode({
6065
6143
  ...n,
6066
6144
  activate: () => {
6067
- let r = [], i = as(e, {
6145
+ let r = [], i = ls(e, {
6068
6146
  ...t,
6069
6147
  contextScopeId: `mode:${n.id}`,
6070
6148
  track: (e) => r.push(e)
6071
- }), a = rs(n.activate(i));
6072
- return B(() => is([...r, ...a]));
6149
+ }), a = ss(n.activate(i));
6150
+ return B(() => cs([...r, ...a]));
6073
6151
  }
6074
6152
  })),
6075
6153
  onDidChangeActive: (t) => r(e.modes.onDidChangeActive(t))
@@ -6163,19 +6241,19 @@ var wt = {
6163
6241
  register: (t) => r(e.fileIconThemes.register(t))
6164
6242
  }
6165
6243
  };
6166
- }, os = (e) => {
6244
+ }, us = (e) => {
6167
6245
  let t = /* @__PURE__ */ new Map();
6168
6246
  return {
6169
6247
  registerModule(n) {
6170
6248
  if (t.has(n.id)) throw Error(`Workbench module already registered: ${n.id}`);
6171
6249
  let r = [], i;
6172
6250
  i = B(() => {
6173
- t.get(n.id)?.disposable === i && (t.delete(n.id), is(r));
6251
+ t.get(n.id)?.disposable === i && (t.delete(n.id), cs(r));
6174
6252
  });
6175
6253
  let a = { disposable: i };
6176
6254
  t.set(n.id, a);
6177
6255
  try {
6178
- let t = as(e(), {
6256
+ let t = ls(e(), {
6179
6257
  contextScopeId: `module:${n.id}`,
6180
6258
  ownerId: n.ownerId ?? n.id,
6181
6259
  source: n.source ?? "module",
@@ -6183,7 +6261,7 @@ var wt = {
6183
6261
  r.push(e);
6184
6262
  }
6185
6263
  });
6186
- r.push(...rs(n.activate(t)));
6264
+ r.push(...ss(n.activate(t)));
6187
6265
  } catch (e) {
6188
6266
  throw a.disposable.dispose(), e;
6189
6267
  }
@@ -6193,7 +6271,7 @@ var wt = {
6193
6271
  t.get(e)?.disposable.dispose();
6194
6272
  }
6195
6273
  };
6196
- }, ss = (e, t, n) => {
6274
+ }, ds = (e, t, n) => {
6197
6275
  let r = e.resolvePagePersistenceScope;
6198
6276
  if (r) return (e) => {
6199
6277
  let i = r({
@@ -6205,7 +6283,7 @@ var wt = {
6205
6283
  });
6206
6284
  n.setPersistenceScope(i.scope), t.setPersistenceScope(i.scope, { carryRegionState: i.carryRegions });
6207
6285
  };
6208
- }, cs = (e) => ({
6286
+ }, fs = (e) => ({
6209
6287
  validateRegionChange(t, n) {
6210
6288
  let r = e();
6211
6289
  if (!r || r.modes.isTransitioning()) return;
@@ -6229,21 +6307,28 @@ var wt = {
6229
6307
  if ((!n || r.resource && V(n.resource) !== V(r.resource)) && !a.acceptsTabs) throw Error(`Panel cannot accept tabs: ${t}`);
6230
6308
  if (!a.open && !a.canOpen) throw Error(`Panel cannot open: ${t}`);
6231
6309
  }
6232
- }), ls = (e, t, n, r) => yr({
6310
+ }), ps = (e, t) => ({
6311
+ getOpenPlacements: () => t.listPlacements(e.getLayout()),
6312
+ getOpenPlacementIds: () => t.placementIds(e.getLayout()),
6313
+ getSnapshot: () => ({ layout: e.getLayout() }),
6314
+ restoreSnapshot: (t) => e.restoreLayout(t.layout),
6315
+ setPersistenceScope: (t, n = {}) => e.setPersistenceScope(t, { carryRegionState: n.carryRegions }),
6316
+ getPersistenceScope: e.getPersistenceScope
6317
+ }), ms = (e, t, n, r) => yr({
6233
6318
  registry: t,
6234
6319
  browser: e.pageLocationBrowser ?? oo(),
6235
6320
  navigationTrees: n,
6236
6321
  modes: r,
6237
6322
  persistence: e.pageLocationPersistence ?? so(),
6238
6323
  startPage: e.startPage ?? Ct.start
6239
- }), us = (e) => {
6324
+ }), hs = (e) => {
6240
6325
  e?.flush?.(), e?.dispose?.();
6241
- }, ds = (e = {}) => {
6242
- let t, n = me(), r = Er({ context: n }), i = es(e), a = ko(e, () => t?.pages.store.getState().activeModeId, (e) => t?.layout.getWidget(e)?.tab, () => t?.pages.listPages() ?? []), o = {
6326
+ }, gs = (e = {}) => {
6327
+ let t, n = me(), r = Er({ context: n }), i = is(e), a = No(e, () => t?.pages.store.getState().activeModeId, (e) => t?.layout.getWidget(e)?.tab, () => t?.pages.listPages() ?? []), o = {
6243
6328
  ...e,
6244
6329
  persistence: void 0,
6245
6330
  layoutPersistence: a.layout
6246
- }, { establishLocation: s, ...c } = An({
6331
+ }, { establishLocation: s, ...c } = kn({
6247
6332
  defaultRegionVisibility: {
6248
6333
  ...e.defaultPanelOpenByRegionId,
6249
6334
  side: (e.initialSidePanelMode ?? "floating") !== "closed"
@@ -6255,7 +6340,7 @@ var wt = {
6255
6340
  ...i?.regionSettings?.[n]
6256
6341
  };
6257
6342
  },
6258
- ...cs(() => t),
6343
+ ...fs(() => t),
6259
6344
  normalizeLayout: (e) => Ea(t, e),
6260
6345
  persistence: a.layout
6261
6346
  }), l = {
@@ -6264,7 +6349,7 @@ var wt = {
6264
6349
  }, u = qn({
6265
6350
  context: n,
6266
6351
  isRegionFocusable: (e) => Xa(t, e) ?? l.getLayout().regions[e].visible
6267
- }), { views: d, viewMenus: f, statusBar: p } = ns(e, i), h = e.pageResources ?? wt, g = Yr({
6352
+ }), { views: d, viewMenus: f, statusBar: p } = os(e, i), h = e.pageResources ?? H, g = Yr({
6268
6353
  loadLayout: (e) => a.readMode(e.projectId, e.modeId),
6269
6354
  validateOpen: (e, n, r) => Da(t, n, {
6270
6355
  identity: e,
@@ -6299,22 +6384,22 @@ var wt = {
6299
6384
  }, l),
6300
6385
  enteredWithPersistedLayout: l.enteredWithPersistedLayout,
6301
6386
  onDidChangePersistenceScope: l.onDidChangePersistenceScope
6302
- }), v = Qo(i), y = ii({
6387
+ }), v = ns(i), y = ii({
6303
6388
  layout: l,
6304
6389
  views: d,
6305
6390
  viewMenus: f
6306
6391
  }), b = Fi({
6307
6392
  layout: l,
6308
6393
  views: d
6309
- }), x = Vt(), S = br({ persistence: e.panelMenuStatePersistence }), C = ee({
6394
+ }), x = Bt(), S = br({ persistence: e.panelMenuStatePersistence }), C = ee({
6310
6395
  remove: (e, n) => Ya(t, e, n, a.removeResource),
6311
6396
  getPrimary: () => t.getPrimaryResource(),
6312
6397
  resolveView: d.getView
6313
- }), w = In({
6398
+ }), w = Fn({
6314
6399
  establishLocation: s,
6315
6400
  layout: l,
6316
6401
  resolveContext: () => t
6317
- }), te = Mo(l, w, e, () => t), T = jo({
6402
+ }), te = Io(l, w, e, () => t), T = Fo({
6318
6403
  layout: l,
6319
6404
  sidePanel: te,
6320
6405
  getPolicy: (e) => Ta(t, e)
@@ -6322,8 +6407,8 @@ var wt = {
6322
6407
  ...ya(a),
6323
6408
  loadModeLayout: a.readMode,
6324
6409
  saveModeLayout: a.saveMode,
6325
- beforeApply: ss(e, l, S),
6326
- restorePageState: wo(o, a.loadPageLayout),
6410
+ beforeApply: ds(e, l, S),
6411
+ restorePageState: wo(o, a.loadPageLayout, a.hasPageMain),
6327
6412
  revealRegion: (e) => Ia(t, e),
6328
6413
  layout: l,
6329
6414
  modePlacements: g,
@@ -6332,7 +6417,7 @@ var wt = {
6332
6417
  views: d,
6333
6418
  viewMenus: f,
6334
6419
  resources: h
6335
- }), E = ls(e, ne, v, w), re = Jo(() => t);
6420
+ }), E = ms(e, ne, v, w), re = Qo(() => t);
6336
6421
  t = {
6337
6422
  getOpenResources: () => a.listResources(l.getLayout()),
6338
6423
  closePlacement: Wa(() => t),
@@ -6340,19 +6425,13 @@ var wt = {
6340
6425
  ...Va(() => t),
6341
6426
  ...qa(() => t),
6342
6427
  breadcrumbs: x,
6343
- commandPalette: Ht(),
6428
+ commandPalette: Vt(),
6344
6429
  commands: r,
6345
6430
  composition: re,
6346
6431
  context: n,
6347
6432
  focus: u,
6348
6433
  fullscreen: Za(() => t),
6349
- host: {
6350
- getOpenPlacements: () => a.listPlacements(l.getLayout()),
6351
- getSnapshot: () => ({ layout: l.getLayout() }),
6352
- restoreSnapshot: (e) => l.restoreLayout(e.layout),
6353
- setPersistenceScope: (e, t = {}) => l.setPersistenceScope(e, { carryRegionState: t.carryRegions }),
6354
- getPersistenceScope: l.getPersistenceScope
6355
- },
6434
+ host: ps(l, a),
6356
6435
  keybindings: m({
6357
6436
  commands: r,
6358
6437
  context: n
@@ -6361,7 +6440,7 @@ var wt = {
6361
6440
  modes: w,
6362
6441
  modePlacements: g,
6363
6442
  shellPlacements: _,
6364
- notifications: ni(() => No({
6443
+ notifications: ni(() => Lo({
6365
6444
  focus: u,
6366
6445
  layout: l
6367
6446
  })),
@@ -6392,16 +6471,16 @@ var wt = {
6392
6471
  themes: la(),
6393
6472
  fileIconThemes: ca(),
6394
6473
  getActiveResource() {
6395
- return Xo(t);
6474
+ return es(t);
6396
6475
  },
6397
6476
  async dispose() {
6398
- ie(), us(a.layout), await Promise.all([d.reads.dispose(), t.terminal.dispose()]);
6477
+ ie(), hs(a.layout), await Promise.all([d.reads.dispose(), t.terminal.dispose()]);
6399
6478
  },
6400
6479
  onDidChangeActiveResource(e) {
6401
6480
  return B(t.layout.store.subscribeSelector((e) => e.layout.activeResourceKey, () => e(t.getActiveResource())));
6402
6481
  },
6403
6482
  getPrimaryResource() {
6404
- return Zo(t);
6483
+ return ts(t);
6405
6484
  },
6406
6485
  onDidChangePrimaryResource(e) {
6407
6486
  return B(t.pages.store.subscribeSelector((e) => e.location?.resource, () => e(t.getPrimaryResource())));
@@ -6409,7 +6488,7 @@ var wt = {
6409
6488
  registerChildModule(e) {
6410
6489
  return t.registerModule(e);
6411
6490
  },
6412
- ...os(() => t)
6491
+ ...us(() => t)
6413
6492
  }, Ke(t, i);
6414
6493
  let ie = Qa(t);
6415
6494
  return va(t), Ca(t, a), ao({
@@ -6419,9 +6498,8 @@ var wt = {
6419
6498
  navigationTrees: v,
6420
6499
  modes: w,
6421
6500
  resources: h
6422
- }), Yo(t, e), t;
6501
+ }), $o(t, e), t;
6423
6502
  };
6424
- //#endregion
6425
- export { z as batchWorkbenchChanges, Xn as createLevelNavigation, ea as createRendererReadRegistry, ia as createStatusBarRegistry, sa as createStatusRegistry, ha as createViewRegistry, ds as createWorkbench, oe as createWorkbenchResourceContextValues, gt as createWorkbenchSelectionResourceMetadata, wt as defaultPageResourceCodec, bt as dockedWorkbenchRegions, y as getKeybindingSteps, pt as getNavigationTargetKey, mt as getWorkbenchModePanelForRegion, o as getWorkbenchSelectionResourceKeys, c as headerLeadingMenuPath, dt as headerTrailingMenuPath, k as isWorkbenchModePanelAvailable, Qe as isWorkbenchViewHierarchyNode, ge as matchesContextExpression, Fe as rendererReadKey, ie as resolveAnchorRegion, se as resourceContextMenuPath, x as resourceHierarchyCycleCode, Ge as runUserAction, ut as settleReadBatch, Ne as standardResourceIcons, f as workbenchBreadcrumbLocationMenuPath, u as workbenchCommandPaletteMenuPath, P as workbenchPanelRegions, re as workbenchRegionTabAddMenuPath, Ve as workbenchRegionTabLeadingMenuPath, be as workbenchRegions, _ as workbenchResourceIdContextKey, le as workbenchResourceMetadataContextKey, fe as workbenchResourceOwnerContextKey, h as workbenchResourceTypeContextKey, C as workbenchSelectionResourceKeyMetadataKey, i as workbenchTopHeaderLeadingMenuPath, Be as workbenchTopHeaderTrailingMenuPath, pa as workbenchViewIdContextKey };
6503
+ export { z as batchWorkbenchChanges, Xn as createLevelNavigation, ea as createRendererReadRegistry, ia as createStatusBarRegistry, sa as createStatusRegistry, ha as createViewRegistry, gs as createWorkbench, oe as createWorkbenchResourceContextValues, gt as createWorkbenchSelectionResourceMetadata, H as defaultPageResourceCodec, bt as dockedWorkbenchRegions, y as getKeybindingSteps, pt as getNavigationTargetKey, mt as getWorkbenchModePanelForRegion, o as getWorkbenchSelectionResourceKeys, c as headerLeadingMenuPath, dt as headerTrailingMenuPath, k as isWorkbenchModePanelAvailable, Qe as isWorkbenchViewHierarchyNode, ge as matchesContextExpression, Fe as rendererReadKey, ie as resolveAnchorRegion, se as resourceContextMenuPath, x as resourceHierarchyCycleCode, Ge as runUserAction, ut as settleReadBatch, Ne as standardResourceIcons, f as workbenchBreadcrumbLocationMenuPath, u as workbenchCommandPaletteMenuPath, P as workbenchPanelRegions, re as workbenchRegionTabAddMenuPath, Ve as workbenchRegionTabLeadingMenuPath, be as workbenchRegions, _ as workbenchResourceIdContextKey, le as workbenchResourceMetadataContextKey, fe as workbenchResourceOwnerContextKey, h as workbenchResourceTypeContextKey, C as workbenchSelectionResourceKeyMetadataKey, i as workbenchTopHeaderLeadingMenuPath, Be as workbenchTopHeaderTrailingMenuPath, pa as workbenchViewIdContextKey };
6426
6504
 
6427
6505
  //# sourceMappingURL=index.js.map