@pstdio/workbench 0.45.0 → 0.46.0-nightly.20261024001730

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.
@@ -202,9 +202,9 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
202
202
  placement: n.widgets[e]
203
203
  };
204
204
  }
205
- }, de = (e, t) => ce(new Set(Object.values(e.regions).flatMap((e) => e.widgets.map((e) => e.widgetId))), t), fe = (e) => e.widgets.find((t) => t.widgetId === e.activeWidgetId) ?? e.widgets[0], w = (e) => e.role === "location", pe = (e) => e.resourceKey ?? `${e.contributionId}:${e.widgetId}`, T = (e, t, n, r) => {
205
+ }, de = (e, t) => ce(new Set(Object.values(e.regions).flatMap((e) => e.widgets.map((e) => e.widgetId))), t), w = (e) => e.widgets.find((t) => t.widgetId === e.activeWidgetId) ?? e.widgets[0], T = (e) => e.role === "location", fe = (e) => e.resourceKey ?? `${e.contributionId}:${e.widgetId}`, E = (e, t, n, r) => {
206
206
  if (!t) return e;
207
- let i = pe(t), a = { ...e.locationSubPanelSelections?.[i] ?? {} };
207
+ let i = fe(t), a = { ...e.locationSubPanelSelections?.[i] ?? {} };
208
208
  return r ? a[n] = r : delete a[n], {
209
209
  ...e,
210
210
  locationSubPanelSelections: {
@@ -212,21 +212,21 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
212
212
  [i]: a
213
213
  }
214
214
  };
215
- }, E = (e, t) => {
215
+ }, D = (e, t) => {
216
216
  if (!e.locationSubPanelSelections) return e;
217
217
  let n = Object.fromEntries(Object.entries(e.locationSubPanelSelections).map(([e, n]) => [e, Object.fromEntries(Object.entries(n).filter(([, e]) => e !== t))]));
218
218
  return {
219
219
  ...e,
220
220
  locationSubPanelSelections: n
221
221
  };
222
- }, D = (e) => {
223
- let t = Object.values(e.regions).flatMap((e) => e.widgets).filter(w);
222
+ }, O = (e) => {
223
+ let t = Object.values(e.regions).flatMap((e) => e.widgets).filter(T);
224
224
  return t.find((t) => t.widgetId === e.activeLocationWidgetId) ?? t.at(-1);
225
- }, me = (e, t, n, r = {}) => {
225
+ }, pe = (e, t, n, r = {}) => {
226
226
  let i = e.regions[t], a = n(i.widgets), o = r.activeWidgetId ?? (r.clearActiveWidget ? void 0 : i.activeWidgetId);
227
227
  return {
228
228
  ...e,
229
- activeLocationWidgetId: i.widgets.some((t) => t.widgetId === e.activeLocationWidgetId) && !a.some((t) => t.widgetId === e.activeLocationWidgetId) ? Object.values(e.regions).flatMap((e) => e.id === t ? a : e.widgets).filter(w).at(-1)?.widgetId : e.activeLocationWidgetId,
229
+ activeLocationWidgetId: i.widgets.some((t) => t.widgetId === e.activeLocationWidgetId) && !a.some((t) => t.widgetId === e.activeLocationWidgetId) ? Object.values(e.regions).flatMap((e) => e.id === t ? a : e.widgets).filter(T).at(-1)?.widgetId : e.activeLocationWidgetId,
230
230
  regions: {
231
231
  ...e.regions,
232
232
  [t]: {
@@ -236,7 +236,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
236
236
  }
237
237
  }
238
238
  };
239
- }, he = (e, t) => {
239
+ }, me = (e, t) => {
240
240
  let n = e;
241
241
  for (let r of Object.values(e.regions)) {
242
242
  let e = r.widgets.filter((e) => e.contributionId === t), i = r.widgets.filter((e) => e.contributionId !== t);
@@ -253,7 +253,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
253
253
  }
254
254
  }
255
255
  };
256
- for (let t of e) n = E(n, t.widgetId);
256
+ for (let t of e) n = D(n, t.widgetId);
257
257
  }
258
258
  let r = Object.values(n.regions).some((e) => e.widgets.some((e) => e.widgetId === n.activeWidgetId));
259
259
  return n.activeWidgetId && (!r || n.activeWidgetId.startsWith(`${t}:`) || n.activeWidgetId === t) && (n = {
@@ -262,19 +262,19 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
262
262
  activeResourceKey: void 0
263
263
  }), n.activeLocationWidgetId && !C(n, n.activeLocationWidgetId) && (n = {
264
264
  ...n,
265
- activeLocationWidgetId: D(n)?.widgetId
265
+ activeLocationWidgetId: O(n)?.widgetId
266
266
  }), n;
267
- }, ge = (e, t) => {
267
+ }, he = (e, t) => {
268
268
  let n = C(e, t);
269
269
  if (!n) return;
270
- let r = e.regions[n.regionId], i = r.widgets.filter((e) => e.widgetId !== t), a = r.activeWidgetId === t || !r.activeWidgetId && n.index === 0, o = (n.placement.role === "sub-panel" ? i.find((e) => e.role === "sub-panel" && e.ownerResourceKey === n.placement.ownerResourceKey) : void 0) ?? (n.placement.role === "sub-panel" ? i.find(w) : void 0) ?? i[n.index] ?? i[n.index - 1], s = a ? o?.widgetId : r.activeWidgetId, c = {
270
+ let r = e.regions[n.regionId], i = r.widgets.filter((e) => e.widgetId !== t), a = r.activeWidgetId === t || !r.activeWidgetId && n.index === 0, o = (n.placement.role === "sub-panel" ? i.find((e) => e.role === "sub-panel" && e.ownerResourceKey === n.placement.ownerResourceKey) : void 0) ?? (n.placement.role === "sub-panel" ? i.find(T) : void 0) ?? i[n.index] ?? i[n.index - 1], s = a ? o?.widgetId : r.activeWidgetId, c = {
271
271
  ...r,
272
272
  widgets: i,
273
273
  activeWidgetId: s,
274
274
  visible: i.length === 0 && (r.id === "side" || r.id === "secondary") ? !1 : r.visible
275
275
  }, l = e.activeLocationWidgetId;
276
- e.activeWidgetId === t && o?.role === "location" ? l = o.widgetId : l === t && (l = Object.values(e.regions).flatMap((e) => e.widgets).filter((e) => e.widgetId !== t && w(e)).at(-1)?.widgetId);
277
- let u = E({
276
+ e.activeWidgetId === t && o?.role === "location" ? l = o.widgetId : l === t && (l = Object.values(e.regions).flatMap((e) => e.widgets).filter((e) => e.widgetId !== t && T(e)).at(-1)?.widgetId);
277
+ let u = D({
278
278
  ...e,
279
279
  activeLocationWidgetId: l,
280
280
  regions: {
@@ -282,20 +282,20 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
282
282
  [r.id]: c
283
283
  }
284
284
  }, t);
285
- return a && n.regionId !== "side" && x.includes(n.regionId) && (u = T(u, D(u), n.regionId, o?.role === "sub-panel" ? o.widgetId : void 0)), e.activeWidgetId === t && (u = {
285
+ return a && n.regionId !== "side" && x.includes(n.regionId) && (u = E(u, O(u), n.regionId, o?.role === "sub-panel" ? o.widgetId : void 0)), e.activeWidgetId === t && (u = {
286
286
  ...u,
287
287
  activeWidgetId: o?.widgetId,
288
288
  activeResourceKey: o?.resourceKey
289
289
  }), {
290
290
  regionId: n.regionId,
291
291
  closedPlacement: n.placement,
292
- activePlacement: fe(c),
292
+ activePlacement: w(c),
293
293
  layout: u
294
294
  };
295
- }, _e = (e, t, n) => {
295
+ }, ge = (e, t, n) => {
296
296
  let r = e.regions[t];
297
- if (w(n)) {
298
- let r = e.locationSubPanelSelections?.[pe(n)] ?? {}, i = { ...e.regions };
297
+ if (T(n)) {
298
+ let r = e.locationSubPanelSelections?.[fe(n)] ?? {}, i = { ...e.regions };
299
299
  for (let e of x) {
300
300
  let a = i[e], o = r[e], s = a.widgets.find((e) => e.widgetId === o && e.role === "sub-panel" && (!e.ownerResourceKey || e.ownerResourceKey === n.resourceKey));
301
301
  i[e] = {
@@ -311,7 +311,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
311
311
  regions: i
312
312
  };
313
313
  }
314
- let i = n.role === "sub-panel" && t === "main" ? T(e, D(e), t, n.widgetId) : e;
314
+ let i = n.role === "sub-panel" && t === "main" ? E(e, O(e), t, n.widgetId) : e;
315
315
  return {
316
316
  ...i,
317
317
  activeWidgetId: n.widgetId,
@@ -325,7 +325,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
325
325
  }
326
326
  }
327
327
  };
328
- }, ve = (e, t, n) => {
328
+ }, _e = (e, t, n) => {
329
329
  let r = e.regions[t], i = n ? r.widgets.find((e) => e.widgetId === n) : void 0;
330
330
  if (n && !i) throw Error(`Widget placement not found in ${t}: ${n}`);
331
331
  if (r.activeWidgetId === n) return;
@@ -342,27 +342,27 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
342
342
  }
343
343
  }
344
344
  };
345
- return t === "side" || !x.includes(t) ? o : T(o, D(o), t, i?.role === "sub-panel" ? i.widgetId : void 0);
346
- }, ye = (e, t) => !(e.resourceKinds?.length && (!t || !e.resourceKinds.includes(t.type)) || e.canOpen && (!t || !e.canOpen(t))), be = (e, t, n, r = {}) => {
345
+ return t === "side" || !x.includes(t) ? o : E(o, O(o), t, i?.role === "sub-panel" ? i.widgetId : void 0);
346
+ }, ve = (e, t) => !(e.resourceKinds?.length && (!t || !e.resourceKinds.includes(t.type)) || e.canOpen && (!t || !e.canOpen(t))), ye = (e, t, n, r = {}) => {
347
347
  let a = e.regions[t];
348
348
  return a.widgets.find((e) => e.widgetId === a.activeWidgetId && e.role === "sub-panel" && (r.ignoreOwnerResourceKey || !e.ownerResourceKey || e.ownerResourceKey === i(n)));
349
- }, xe = (e) => D(e), Se = (e, t, n, r, a) => {
349
+ }, be = (e) => O(e), xe = (e, t, n, r, a) => {
350
350
  let o = e.eligibleLocations;
351
- return !(!Ce(e, n) || o?.resourceKinds?.length && (!t || !o.resourceKinds.includes(t.type)) || o?.resourceIds?.length && (!t?.id || !o.resourceIds.includes(t.id)) || o?.canOpen && (!t || !o.canOpen(t)) || o?.canOpenLocation && !o.canOpenLocation({
351
+ return !(!k(e, n) || o?.resourceKinds?.length && (!t || !o.resourceKinds.includes(t.type)) || o?.resourceIds?.length && (!t?.id || !o.resourceIds.includes(t.id)) || o?.canOpen && (!t || !o.canOpen(t)) || o?.canOpenLocation && !o.canOpenLocation({
352
352
  resource: t,
353
353
  viewId: a?.viewId
354
354
  }) || r?.ownerResourceKey && r.ownerResourceKey !== i(t));
355
- }, Ce = (e, t) => {
355
+ }, k = (e, t) => {
356
356
  let n = e.eligibleLocations?.modeIds;
357
357
  return !n?.length || t !== void 0 && n.includes(t);
358
- }, we = (e, t, n, r, i = {}) => ye(e, r?.resource ?? t) ? i.ignoreResourceLocation ? Ce(e, n) : Se(e, t, n, r, i.location) : !1, Te = (e, t) => {
358
+ }, Se = (e, t, n, r, i = {}) => ve(e, r?.resource ?? t) ? i.ignoreResourceLocation ? k(e, n) : xe(e, t, n, r, i.location) : !1, Ce = (e, t) => {
359
359
  let n = e.panelMenuOwner ?? { level: "panel" };
360
360
  return n.contributionId ? (t.subPanel ?? t.locationPanel)?.contributionId === n.contributionId : t.subPanel ? n.level === "sub-panel" : n.level === "panel";
361
- }, Ee = "workbench.core", De = (e = {}) => ({
361
+ }, we = "workbench.core", A = (e = {}) => ({
362
362
  source: e.source ?? "module",
363
- ownerId: e.ownerId ?? Ee,
363
+ ownerId: e.ownerId ?? we,
364
364
  priority: e.priority ?? 0
365
- }), O = (e, t) => t.priority - e.priority || e.ownerId.localeCompare(t.ownerId), Oe = (e = {}, t) => {
365
+ }), j = (e, t) => t.priority - e.priority || e.ownerId.localeCompare(t.ownerId), Te = (e = {}, t) => {
366
366
  let { strategy: n, ...r } = e, i = r.resource && r.viewId === void 0 ? {
367
367
  ...r,
368
368
  viewId: null
@@ -386,7 +386,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
386
386
  ...i,
387
387
  tabRetention: t
388
388
  };
389
- }, ke = (e) => ({
389
+ }, Ee = (e) => ({
390
390
  instanceId: e.widgetId,
391
391
  panelId: e.contributionId,
392
392
  placementIdentity: e.placementIdentity,
@@ -404,10 +404,10 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
404
404
  hiddenByDefault: e.hiddenByDefault,
405
405
  tabRetention: e.tabRetention,
406
406
  tab: e.tab
407
- }), Ae = (e) => {
407
+ }), De = (e) => {
408
408
  let { closable: t, ownedPanelMenuIds: n, ...r } = e;
409
409
  return r;
410
- }, k = {
410
+ }, M = {
411
411
  side: ["left", "right"],
412
412
  sidenav: ["left", "right"],
413
413
  main: ["top", "bottom"],
@@ -418,17 +418,17 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
418
418
  "top",
419
419
  "bottom"
420
420
  ]
421
- }, A = {
421
+ }, N = {
422
422
  side: "right",
423
423
  sidenav: "left",
424
424
  secondary: "bottom",
425
425
  activity: "left"
426
- }, je = (e, t) => t === "main" ? e.secondary === "top" ? "bottom" : "top" : e[t], j = (e, t, n) => e && t.includes(e) ? e : n, Me = (e) => ({
427
- side: j(e?.side, k.side, A.side),
428
- sidenav: j(e?.sidenav, k.sidenav, A.sidenav),
429
- secondary: j(e?.secondary, k.secondary, A.secondary),
430
- activity: j(e?.activity, k.activity, A.activity)
431
- }), M = {
426
+ }, Oe = (e, t) => t === "main" ? e.secondary === "top" ? "bottom" : "top" : e[t], P = (e, t, n) => e && t.includes(e) ? e : n, ke = (e) => ({
427
+ side: P(e?.side, M.side, N.side),
428
+ sidenav: P(e?.sidenav, M.sidenav, N.sidenav),
429
+ secondary: P(e?.secondary, M.secondary, N.secondary),
430
+ activity: P(e?.activity, M.activity, N.activity)
431
+ }), F = {
432
432
  main: [
433
433
  "main-header",
434
434
  "main-left-menu",
@@ -447,18 +447,18 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
447
447
  "side",
448
448
  "side-right-menu"
449
449
  ]
450
- }, N = Object.values(M).flat(), P = (e) => e.panels ? [.../* @__PURE__ */ new Set(["main", ...e.panels])] : x, Ne = (e) => Object.keys(M).find((t) => M[t].some((t) => t === e)), Pe = (e, t) => !e || P(e).includes(t), F = (e, t) => {
450
+ }, Ae = Object.values(F).flat(), je = (e) => e.panels ? [.../* @__PURE__ */ new Set(["main", ...e.panels])] : x, Me = (e) => Object.keys(F).find((t) => F[t].some((t) => t === e)), Ne = (e, t) => !e || je(e).includes(t), I = (e, t) => {
451
451
  if (t) return Object.values(e.regions).flatMap((e) => e.widgets).find((e) => e.widgetId === t);
452
- }, Fe = (e, t) => {
453
- let n = t.find((t) => t && F(e, t.widgetId));
452
+ }, Pe = (e, t) => {
453
+ let n = t.find((t) => t && I(e, t.widgetId));
454
454
  return {
455
455
  ...e,
456
456
  activeWidgetId: n?.widgetId,
457
457
  activeResourceKey: n?.resourceKey
458
458
  };
459
- }, Ie = (e, t) => {
459
+ }, Fe = (e, t) => {
460
460
  if (t.length === 0) return e;
461
- let n = new Set(Object.keys(M).filter((e) => M[e].some((e) => t.includes(e)))), r = t.some((t) => {
461
+ let n = new Set(Object.keys(F).filter((e) => F[e].some((e) => t.includes(e)))), r = t.some((t) => {
462
462
  let n = e.regions[t];
463
463
  return n.widgets.length > 0 || n.activeWidgetId !== void 0 || n.visible;
464
464
  }), i = Object.values(e.locationSubPanelSelections ?? {}).some((e) => Object.keys(e).some((e) => n.has(e)));
@@ -475,16 +475,16 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
475
475
  regions: a
476
476
  };
477
477
  return {
478
- ...Fe(s, [F(s, e.activeWidgetId)]),
479
- activeLocationWidgetId: F(s, e.activeLocationWidgetId)?.widgetId,
478
+ ...Pe(s, [I(s, e.activeWidgetId)]),
479
+ activeLocationWidgetId: I(s, e.activeLocationWidgetId)?.widgetId,
480
480
  locationSubPanelSelections: o
481
481
  };
482
- }, I = (e, t) => {
482
+ }, Ie = (e, t) => {
483
483
  let n = new Set(t);
484
- return Ie(e, Object.keys(M).filter((e) => !n.has(e)).flatMap((e) => M[e]));
484
+ return Fe(e, Object.keys(F).filter((e) => !n.has(e)).flatMap((e) => F[e]));
485
485
  }, Le = (e, t, n) => {
486
- let r = t ? I(e, P(t)) : e;
487
- for (let e of ["side", "secondary"]) Pe(t, e) && n(e)?.canClose === !1 && !r.regions[e].visible && (r = {
486
+ let r = t ? Ie(e, je(t)) : e;
487
+ for (let e of ["side", "secondary"]) Ne(t, e) && n(e)?.canClose === !1 && !r.regions[e].visible && (r = {
488
488
  ...r,
489
489
  regions: {
490
490
  ...r.regions,
@@ -495,37 +495,37 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
495
495
  }
496
496
  });
497
497
  if (!r.arrangement) return r;
498
- let i = Me(r.arrangement);
498
+ let i = ke(r.arrangement);
499
499
  for (let e of [
500
500
  "side",
501
501
  "sidenav",
502
502
  "secondary",
503
503
  "activity"
504
- ]) (n(e)?.movable === !1 || e === "secondary" && n("main")?.movable === !1) && Object.assign(i, { [e]: A[e] });
504
+ ]) (n(e)?.movable === !1 || e === "secondary" && n("main")?.movable === !1) && Object.assign(i, { [e]: N[e] });
505
505
  return Object.keys(i).every((e) => i[e] === r.arrangement?.[e]) ? r : {
506
506
  ...r,
507
507
  arrangement: i
508
508
  };
509
509
  }, Re = (e, t, n, r) => {
510
510
  if (!t) {
511
- let t = Ie(e, N), i = { ...t.regions };
512
- for (let e of N) i[e] = r.regions[e];
513
- return I({
511
+ let t = Fe(e, Ae), i = { ...t.regions };
512
+ for (let e of Ae) i[e] = r.regions[e];
513
+ return Ie({
514
514
  ...t,
515
515
  arrangement: r.arrangement,
516
516
  regions: i
517
517
  }, n);
518
518
  }
519
519
  let i = { ...e.regions };
520
- for (let e of N) i[e] = t.regions[e];
521
- let a = I({
520
+ for (let e of Ae) i[e] = t.regions[e];
521
+ let a = Ie({
522
522
  ...e,
523
523
  arrangement: t.arrangement,
524
524
  regions: i
525
525
  }, n);
526
526
  return {
527
- ...Fe(a, [F(a, t.activeWidgetId), F(a, e.activeWidgetId)]),
528
- activeLocationWidgetId: F(a, t.activeLocationWidgetId)?.widgetId ?? F(a, e.activeLocationWidgetId)?.widgetId,
527
+ ...Pe(a, [I(a, t.activeWidgetId), I(a, e.activeWidgetId)]),
528
+ activeLocationWidgetId: I(a, t.activeLocationWidgetId)?.widgetId ?? I(a, e.activeLocationWidgetId)?.widgetId,
529
529
  locationSubPanelSelections: t.locationSubPanelSelections
530
530
  };
531
531
  }, ze = (e) => {
@@ -572,7 +572,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
572
572
  let t = e.location;
573
573
  for (let n = e.location; n; n = n.parent) We(n, e) && (t = n.parent);
574
574
  return t;
575
- }, L = (e) => `${e.extensionId ?? ""}:page:${e.id}`, R = (e, t) => e.find((e) => L(e.ref) === L(t)), qe = (e, t) => e.find((e) => e.id === t), Je = (e) => {
575
+ }, L = (e) => `${e.extensionId ?? ""}:page:${e.id}`, qe = (e, t) => e.find((e) => L(e.ref) === L(t)), Je = (e, t) => e.find((e) => e.id === t), Ye = (e) => {
576
576
  if (!e) return;
577
577
  let t = e.anchors.map((e) => Object.freeze({
578
578
  id: e.id,
@@ -580,9 +580,9 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
580
580
  ...e.occurrence === void 0 ? {} : { occurrence: e.occurrence }
581
581
  }));
582
582
  return Object.freeze({ anchors: Object.freeze(t) });
583
- }, Ye = (e) => {
583
+ }, Xe = (e) => {
584
584
  if (e) return JSON.parse(JSON.stringify(e));
585
- }, Xe = (e, t) => {
585
+ }, Ze = (e, t) => {
586
586
  if (!e) return;
587
587
  let n = t.normalize(e);
588
588
  if (!n.type || !n.id) throw Error("Page resource has no canonical type or id");
@@ -593,18 +593,18 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
593
593
  ...n.label ? { label: n.label } : {},
594
594
  ...n.icon ? { icon: n.icon } : {},
595
595
  ...n.extensionId ? { extensionId: n.extensionId } : {},
596
- ...n.metadata ? { metadata: Ye(n.metadata) } : {}
596
+ ...n.metadata ? { metadata: Xe(n.metadata) } : {}
597
597
  };
598
598
  return Object.freeze(r);
599
- }, Ze = (e) => Object.freeze({
599
+ }, Qe = (e) => Object.freeze({
600
600
  extensionId: e.ref.extensionId,
601
601
  kind: "page",
602
602
  id: e.ref.id
603
- }), Qe = (e) => e ? JSON.stringify(e) : "", z = (e, t) => e.resource ? t.toUri(t.normalize(e.resource)) : "", $e = (e, t, n) => L(e.page) === L(t.page) && z(e, n) === z(t, n), B = (e, t, n = []) => {
604
- let r = R(n, e.page)?.document, i = r ? e.resource?.metadata?.[r.metadataKey] : void 0;
603
+ }), $e = (e) => e ? JSON.stringify(e) : "", R = (e, t) => e.resource ? t.toUri(t.normalize(e.resource)) : "", et = (e, t, n) => L(e.page) === L(t.page) && R(e, n) === R(t, n), z = (e, t, n = []) => {
604
+ let r = qe(n, e.page)?.document, i = r ? e.resource?.metadata?.[r.metadataKey] : void 0;
605
605
  return JSON.stringify([
606
606
  L(e.page),
607
- z(e, t),
607
+ R(e, t),
608
608
  i ?? null,
609
609
  e.position ? [
610
610
  e.position.line,
@@ -612,67 +612,67 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
612
612
  e.position.endLine ?? null,
613
613
  e.position.endColumn ?? null
614
614
  ] : null,
615
- Qe(e.section)
615
+ $e(e.section)
616
616
  ]);
617
- }, et = (e, t, n = []) => {
618
- let r = B(e, t, n);
619
- return e.parent ? `${r}>${et(e.parent, t, n)}` : r;
620
- }, tt = (e, t, n, r = []) => {
617
+ }, tt = (e, t, n = []) => {
618
+ let r = z(e, t, n);
619
+ return e.parent ? `${r}>${tt(e.parent, t, n)}` : r;
620
+ }, nt = (e, t, n, r = []) => {
621
621
  let i = e, a = t;
622
622
  for (; i && a;) {
623
- if (B(i, n, r) !== B(a, n, r) || JSON.stringify(i.params ?? {}) !== JSON.stringify(a.params ?? {})) return !1;
623
+ if (z(i, n, r) !== z(a, n, r) || JSON.stringify(i.params ?? {}) !== JSON.stringify(a.params ?? {})) return !1;
624
624
  i = i.parent, a = a.parent;
625
625
  }
626
626
  return i === a;
627
- }, nt = (e) => Object.isFrozen(e) ? e : Object.freeze({
627
+ }, rt = (e) => Object.isFrozen(e) ? e : Object.freeze({
628
628
  line: e.line,
629
629
  ...e.column === void 0 ? {} : { column: e.column },
630
630
  ...e.endLine === void 0 ? {} : { endLine: e.endLine },
631
631
  ...e.endColumn === void 0 ? {} : { endColumn: e.endColumn }
632
- }), V = (e) => {
632
+ }), B = (e) => {
633
633
  let t = e.page.document?.metadataKey, n = t ? e.resource?.metadata?.[t] : void 0;
634
634
  if (n !== void 0 && (typeof n != "string" || !n)) throw Error("Page location has an invalid document");
635
635
  if (e.position && (!t || !n || e.section || !r(e.position))) throw Error("Page location has an invalid source position");
636
636
  return Object.freeze({
637
- page: Ze(e.page),
637
+ page: Qe(e.page),
638
638
  ...e.params ? { params: e.params } : {},
639
- ...e.resource ? { resource: Xe(e.resource, e.resources) } : {},
640
- ...e.section ? { section: Je(e.section) } : {},
641
- ...e.position ? { position: nt(e.position) } : {},
639
+ ...e.resource ? { resource: Ze(e.resource, e.resources) } : {},
640
+ ...e.section ? { section: Ye(e.section) } : {},
641
+ ...e.position ? { position: rt(e.position) } : {},
642
642
  ...e.parent ? { parent: e.parent } : {}
643
643
  });
644
- }, rt = (e) => {
644
+ }, it = (e) => {
645
645
  if (!e.page.parentId) return;
646
- let t = qe(e.pages, e.page.parentId);
646
+ let t = Je(e.pages, e.page.parentId);
647
647
  if (!t) throw Error(`Unknown parent page: ${e.page.parentId}`);
648
- return H({
648
+ return V({
649
649
  page: t,
650
650
  pages: e.pages,
651
651
  resources: e.resources,
652
652
  seen: e.seen
653
653
  });
654
- }, it = (e) => ({
654
+ }, at = (e) => ({
655
655
  resource: e.resource,
656
656
  section: e.section,
657
657
  position: e.position,
658
658
  params: e.params
659
- }), H = (e) => {
660
- let t = V({
659
+ }), V = (e) => {
660
+ let t = B({
661
661
  page: e.page,
662
662
  resources: e.resources,
663
663
  ...e.resource ? { resource: e.resource } : {},
664
664
  ...e.section ? { section: e.section } : {},
665
665
  ...e.position ? { position: e.position } : {},
666
666
  ...e.params ? { params: e.params } : {}
667
- }), n = B(t, e.resources, e.pages);
667
+ }), n = z(t, e.resources, e.pages);
668
668
  if (e.seen.has(n)) throw Error(`Page location parent cycle reaches ${e.page.id}`);
669
- let r = new Set(e.seen).add(n), i = e.parent ?? rt({
669
+ let r = new Set(e.seen).add(n), i = e.parent ?? it({
670
670
  page: e.page,
671
671
  pages: e.pages,
672
672
  resources: e.resources,
673
673
  seen: r
674
674
  });
675
- return V({
675
+ return B({
676
676
  page: e.page,
677
677
  resources: e.resources,
678
678
  ...t.resource ? { resource: t.resource } : {},
@@ -681,24 +681,24 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
681
681
  ...t.params ? { params: t.params } : {},
682
682
  ...i ? { parent: i } : {}
683
683
  });
684
- }, at = (e, t, n) => t?.parent && $e(e, t, n) ? t.parent : void 0, ot = (e) => {
685
- let t = R(e.pages, e.target.page);
684
+ }, ot = (e, t, n) => t?.parent && et(e, t, n) ? t.parent : void 0, st = (e) => {
685
+ let t = qe(e.pages, e.target.page);
686
686
  if (!t) throw Error(`Unknown page: ${L(e.target.page)}`);
687
- let n = V({
687
+ let n = B({
688
688
  page: t,
689
689
  resources: e.resources,
690
690
  ...e.target.resource ? { resource: e.target.resource } : {},
691
691
  ...e.target.section ? { section: e.target.section } : {},
692
692
  ...e.target.position ? { position: { ...e.target.position } } : {},
693
693
  params: d(t.params, e.target.params)
694
- }), r = B(n, e.resources, e.pages);
694
+ }), r = z(n, e.resources, e.pages);
695
695
  if (e.seen.has(r)) throw Error(`Page location parent cycle reaches ${t.id}`);
696
- let i = new Set(e.seen).add(r), a = e.target.parent ? ot({
696
+ let i = new Set(e.seen).add(r), a = e.target.parent ? st({
697
697
  target: e.target.parent,
698
698
  pages: e.pages,
699
699
  resources: e.resources,
700
700
  seen: i
701
- }).location : at(n, e.active, e.resources), o = H({
701
+ }).location : ot(n, e.active, e.resources), o = V({
702
702
  page: t,
703
703
  pages: e.pages,
704
704
  resources: e.resources,
@@ -714,42 +714,42 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
714
714
  location: o,
715
715
  ...e.target.open ? { open: e.target.open } : {}
716
716
  };
717
- }, st = (e) => ot({
717
+ }, ct = (e) => st({
718
718
  ...e,
719
719
  seen: /* @__PURE__ */ new Set()
720
- }), ct = (e) => {
720
+ }), lt = (e) => {
721
721
  let t = (n, r) => {
722
- let i = R(e.pages, n.page);
722
+ let i = qe(e.pages, n.page);
723
723
  if (!i) throw Error(`Unknown page: ${L(n.page)}`);
724
- let a = V({
724
+ let a = B({
725
725
  page: i,
726
726
  resources: e.resources,
727
727
  ...n.resource ? { resource: n.resource } : {},
728
728
  ...n.section ? { section: n.section } : {},
729
729
  ...n.position ? { position: n.position } : {},
730
730
  params: d(i.params, n.params, !1)
731
- }), o = B(a, e.resources, e.pages);
731
+ }), o = z(a, e.resources, e.pages);
732
732
  if (r.has(o)) throw Error(`Page location parent cycle reaches ${i.id}`);
733
733
  let s = new Set(r).add(o), c = n.parent ? t(n.parent, s).location : void 0;
734
734
  return {
735
735
  pageId: i.id,
736
- location: H({
736
+ location: V({
737
737
  page: i,
738
738
  pages: e.pages,
739
739
  resources: e.resources,
740
740
  seen: r,
741
- ...it(a),
741
+ ...at(a),
742
742
  ...c ? { parent: c } : {}
743
743
  })
744
744
  };
745
745
  };
746
746
  return t(e.location, /* @__PURE__ */ new Set());
747
- }, lt = (e) => {
748
- let t = qe(e.pages, e.pageId);
747
+ }, ut = (e) => {
748
+ let t = Je(e.pages, e.pageId);
749
749
  if (!t) throw Error(`Unknown page: ${e.pageId}`);
750
750
  return {
751
751
  pageId: t.id,
752
- location: H({
752
+ location: V({
753
753
  page: t,
754
754
  pages: e.pages,
755
755
  resources: e.resources,
@@ -760,7 +760,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
760
760
  ...e.params ? { params: e.params } : {}
761
761
  })
762
762
  };
763
- }, ut = (e, t) => e < t ? -1 : +(e > t), dt = (e) => e.kind === "shell" ? `shell\0${e.placementId}` : e.kind === "mode" ? `mode\0${e.modeId}\0${e.placementId}` : `page\0${e.pageId}\0${e.slotId}`, U = (e) => e.kind === "shell" ? JSON.stringify([
763
+ }, dt = (e, t) => e < t ? -1 : +(e > t), ft = (e) => e.kind === "shell" ? `shell\0${e.placementId}` : e.kind === "mode" ? `mode\0${e.modeId}\0${e.placementId}` : `page\0${e.pageId}\0${e.slotId}`, H = (e) => e.kind === "shell" ? JSON.stringify([
764
764
  "shell",
765
765
  e.placementId,
766
766
  e.instanceKey
@@ -774,58 +774,58 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
774
774
  e.pageId,
775
775
  e.slotId,
776
776
  e.instanceKey
777
- ]), W = (e, t) => {
778
- let n = ut(dt(e.identity), dt(t.identity));
779
- return n === 0 ? ut(e.identity.instanceKey, t.identity.instanceKey) : n;
780
- }, ft = (e, t) => e.order - t.order || W(e, t), pt = (e, t) => {
777
+ ]), U = (e, t) => {
778
+ let n = dt(ft(e.identity), ft(t.identity));
779
+ return n === 0 ? dt(e.identity.instanceKey, t.identity.instanceKey) : n;
780
+ }, pt = (e, t) => e.order - t.order || U(e, t), mt = (e, t) => {
781
781
  if (t.identity.kind === e) return;
782
782
  let n = `${e[0]?.toUpperCase()}${e.slice(1)}`;
783
783
  throw Error(`${n} placement must have a ${e} owner`);
784
- }, mt = (e) => {
784
+ }, ht = (e) => {
785
785
  let t = [], n = /* @__PURE__ */ new Set(), r = (e, r) => {
786
786
  for (let i of r) {
787
- if (pt(e, i), !Number.isFinite(i.order)) throw Error("Placement order must be a finite number");
788
- let r = U(i.identity);
787
+ if (mt(e, i), !Number.isFinite(i.order)) throw Error("Placement order must be a finite number");
788
+ let r = H(i.identity);
789
789
  if (n.has(r)) throw Error(`Duplicate placement identity: ${r}`);
790
790
  n.add(r), t.push(i);
791
791
  }
792
792
  };
793
793
  if (r("shell", e.shell), r("mode", e.mode ?? []), r("page", e.page ?? []), new Set((e.mode ?? []).map((e) => e.identity.kind === "mode" ? e.identity.modeId : "invalid-mode-owner")).size > 1) throw Error("Mode placements must belong to one active mode");
794
794
  return t;
795
- }, ht = () => b.reduce((e, t) => (e[t] = [], e), {}), gt = (e) => {
796
- let t = mt(e), n = new Set((e.closed ?? []).map(U)), r = [], i = ht();
797
- for (let e of t) n.has(U(e.identity)) ? r.push(e) : i[e.region].push(e);
798
- for (let e of b) i[e].sort(ft);
799
- return r.sort(W), {
795
+ }, gt = () => b.reduce((e, t) => (e[t] = [], e), {}), _t = (e) => {
796
+ let t = ht(e), n = new Set((e.closed ?? []).map(H)), r = [], i = gt();
797
+ for (let e of t) n.has(H(e.identity)) ? r.push(e) : i[e.region].push(e);
798
+ for (let e of b) i[e].sort(pt);
799
+ return r.sort(U), {
800
800
  placements: b.flatMap((e) => i[e]),
801
801
  closed: r,
802
802
  regions: i,
803
803
  visibleRegions: new Set(b.filter((e) => i[e].length > 0))
804
804
  };
805
- }, _t = (e) => {
805
+ }, vt = (e) => {
806
806
  let t = /* @__PURE__ */ new Map();
807
807
  for (let n of e) {
808
- let e = U(n.identity);
808
+ let e = H(n.identity);
809
809
  if (t.has(e)) throw Error(`Duplicate placement identity: ${e}`);
810
810
  t.set(e, n);
811
811
  }
812
812
  return t;
813
- }, vt = (e, t, n) => e.region === t.region && e.order === t.order && n(e.value, t.value), G = (e) => {
814
- let t = _t(e.current), n = _t(e.desired), r = [], i = [], a = [], o = [];
813
+ }, yt = (e, t, n) => e.region === t.region && e.order === t.order && n(e.value, t.value), W = (e) => {
814
+ let t = vt(e.current), n = vt(e.desired), r = [], i = [], a = [], o = [];
815
815
  for (let [o, s] of n) {
816
816
  let n = t.get(o);
817
- n ? vt(n, s, e.valuesEqual) ? i.push(s) : a.push({
817
+ n ? yt(n, s, e.valuesEqual) ? i.push(s) : a.push({
818
818
  current: n,
819
819
  desired: s
820
820
  }) : r.push(s);
821
821
  }
822
822
  for (let [e, r] of t) n.has(e) || o.push(r);
823
- let s = new Set((e.activate ?? []).map(U)), c = Array.from(s, (e) => {
823
+ let s = new Set((e.activate ?? []).map(H)), c = Array.from(s, (e) => {
824
824
  let t = n.get(e);
825
825
  if (!t) throw Error(`Cannot activate missing placement: ${e}`);
826
826
  return t;
827
827
  });
828
- return r.sort(W), i.sort(W), a.sort((e, t) => W(e.desired, t.desired)), c.sort(W), o.sort(W), {
828
+ return r.sort(U), i.sort(U), a.sort((e, t) => U(e.desired, t.desired)), c.sort(U), o.sort(U), {
829
829
  add: r,
830
830
  retain: i,
831
831
  update: a,
@@ -833,7 +833,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
833
833
  remove: o,
834
834
  ...e.destinations?.length ? { destinations: e.destinations } : {}
835
835
  };
836
- }, K = "$main", yt = (e) => e.item.kind === "view" ? e.item.presence !== "fixed" : e.role !== "primary" || e.item.binding.cardinality === "many", bt = (e) => {
836
+ }, G = "$main", bt = (e) => e.item.kind === "view" ? e.item.presence !== "fixed" : e.role !== "primary" || e.item.binding.cardinality === "many", xt = (e) => {
837
837
  if (e.main.kind !== "view") return;
838
838
  let { kind: t, view: n, cardinality: r, ...i } = e.main, a = e.resource ? {
839
839
  ...e.resource,
@@ -842,7 +842,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
842
842
  } : void 0;
843
843
  return {
844
844
  ...i,
845
- id: K,
845
+ id: G,
846
846
  role: "primary",
847
847
  region: "main",
848
848
  item: a ? {
@@ -854,19 +854,19 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
854
854
  presence: "fixed"
855
855
  }
856
856
  };
857
- }, q = (e) => {
858
- let t = bt(e);
857
+ }, K = (e) => {
858
+ let t = xt(e);
859
859
  return [...t ? [t] : [], ...e.slots.map((e) => ({
860
860
  ...e,
861
861
  role: "auxiliary"
862
862
  }))];
863
- }, xt = (e, t) => {
864
- let n = q(e).find((e) => e.id === t);
863
+ }, St = (e, t) => {
864
+ let n = K(e).find((e) => e.id === t);
865
865
  if (!n) throw Error(`Unknown page slot: ${e.id}.${t}`);
866
866
  return n;
867
- }, St = (e) => {
867
+ }, Ct = (e) => {
868
868
  if (e.main.kind === "panels") return {
869
- id: K,
869
+ id: G,
870
870
  role: "primary",
871
871
  region: "main",
872
872
  item: {
@@ -875,13 +875,13 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
875
875
  presence: "fixed"
876
876
  }
877
877
  };
878
- }, Ct = (e) => {
879
- let t = St(e);
880
- return [...q(e), ...t ? [t] : []];
881
- }, wt = (e, t, n) => e.resource && t ? `${e.id}|${JSON.stringify([n.toUri(n.normalize(t)), e.document ? t.metadata?.[e.document.metadataKey] : null])}` : e.id, Tt = (e, t, n) => e.resource && t ? wt(e, t, n) : "default", Et = (e, t, n) => {
878
+ }, wt = (e) => {
879
+ let t = Ct(e);
880
+ return [...K(e), ...t ? [t] : []];
881
+ }, q = (e, t, n) => e.resource && t ? `${e.id}|${JSON.stringify([n.toUri(n.normalize(t)), e.document ? t.metadata?.[e.document.metadataKey] : null])}` : e.id, Tt = (e, t, n) => e.resource && t ? q(e, t, n) : "default", Et = (e, t, n) => {
882
882
  let r = n === "default" ? t : n;
883
883
  return e === r || e.startsWith(`${r}|`);
884
- }, Dt = (e, t, n) => e.resource ? wt(e, t?.resource, n) : e.main.kind === "panels" && t ? `${e.id}|${et({
884
+ }, Dt = (e, t, n) => e.resource ? q(e, t?.resource, n) : e.main.kind === "panels" && t ? `${e.id}|${tt({
885
885
  ...t,
886
886
  position: void 0
887
887
  }, n)}` : e.id, Ot = (e, t) => Object.fromEntries(Object.entries(e).filter(([e]) => e !== t && !e.startsWith(`${t}|`))), kt = (e) => e.replace(/^['"]|['"]$/g, ""), At = (e, t) => {
@@ -1070,7 +1070,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1070
1070
  let n = i.getState(), r = e.extensionId ? `${e.extensionId}:${e.kind}` : e.kind;
1071
1071
  if (n.kinds[r]) throw Error(`Resource kind already registered: ${r}`);
1072
1072
  let a = {
1073
- ...De(t),
1073
+ ...A(t),
1074
1074
  ...e
1075
1075
  };
1076
1076
  return i.setState({
@@ -1094,7 +1094,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1094
1094
  return t ? n[`${t}:${e}`] ?? n[e] : n[e] ?? Object.values(n).find((t) => t.kind === e);
1095
1095
  },
1096
1096
  listKinds() {
1097
- return Object.values(i.getState().kinds).sort(O);
1097
+ return Object.values(i.getState().kinds).sort(j);
1098
1098
  },
1099
1099
  registerProvider(e) {
1100
1100
  let t = i.getState();
@@ -1184,7 +1184,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1184
1184
  registerKeybinding(n, r) {
1185
1185
  if (n.action.kind === "command" && !e.commands.getCommand(n.action.commandId)) throw Error(`Keybinding command not registered: ${n.action.commandId}`);
1186
1186
  let i = {
1187
- ...De(r),
1187
+ ...A(r),
1188
1188
  ...n,
1189
1189
  keybinding: Zt(n.keybinding)
1190
1190
  }, a = t.getState();
@@ -1194,13 +1194,13 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1194
1194
  });
1195
1195
  },
1196
1196
  listKeybindings() {
1197
- return [...t.getState().keybindings].sort(O);
1197
+ return [...t.getState().keybindings].sort(j);
1198
1198
  },
1199
1199
  listActiveKeybindings() {
1200
- return t.getState().keybindings.filter((t) => e.context.matches(t.when)).sort(O);
1200
+ return t.getState().keybindings.filter((t) => e.context.matches(t.when)).sort(j);
1201
1201
  },
1202
1202
  listCommandKeybindings() {
1203
- return [...t.getState().keybindings].sort(O).flatMap((e) => e.action.kind === "command" ? [{
1203
+ return [...t.getState().keybindings].sort(j).flatMap((e) => e.action.kind === "command" ? [{
1204
1204
  commandId: e.action.commandId,
1205
1205
  keybinding: e.keybinding
1206
1206
  }] : []);
@@ -1244,9 +1244,9 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1244
1244
  if (!t) throw Error(`No region hosts anchor: ${e}`);
1245
1245
  return t;
1246
1246
  }, an = (e, t) => {
1247
- let n = fe(e.regions[rn(t)]);
1247
+ let n = w(e.regions[rn(t)]);
1248
1248
  if (t !== "primary") return n?.resource;
1249
- let r = D(e);
1249
+ let r = O(e);
1250
1250
  return r ? r.resource : n?.role === "sub-panel" ? void 0 : n?.resource;
1251
1251
  }, on = ({ layout: e, primary: t, isInScope: n }) => {
1252
1252
  let r = [];
@@ -1305,48 +1305,135 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1305
1305
  return t && n?.registryToken !== t ? void 0 : n;
1306
1306
  }, Z = (e, t) => JSON.stringify([i(t), e?.document ? t?.metadata?.[e.document.metadataKey] ?? null : null]), xn = (e, t, n) => {
1307
1307
  let r = n.normalize(t);
1308
- return e.document && e.resource && gn(e.resource, r) ? wt(e, r, n) : n.toUri(r);
1308
+ return e.document && e.resource && gn(e.resource, r) ? q(e, r, n) : n.toUri(r);
1309
1309
  }, Sn = {
1310
1310
  project: "folder-root",
1311
1311
  workspace: "computer",
1312
1312
  worktree: "git-pull-request-draft",
1313
1313
  settings: "settings",
1314
1314
  kanbanRenderer: "table-properties"
1315
- }, Cn = (e, t = "view") => JSON.stringify([t, e.placementIdentity ? U(e.placementIdentity) : e.instanceId]), wn = (e, t, n) => {
1315
+ }, Cn = (e, t = "view") => JSON.stringify([t, e.placementIdentity ? H(e.placementIdentity) : e.instanceId]), wn = (e, t) => (e.order ?? 0) - (t.order ?? 0) || j(e, t), Tn = (e) => Object.values(e.panels).sort(wn), En = (e = {}) => {
1316
+ let t = y({
1317
+ name: "workbench.settings",
1318
+ initialState: {
1319
+ sections: {},
1320
+ panels: {},
1321
+ revision: 0
1322
+ }
1323
+ }), n = /* @__PURE__ */ new Map(), r = (e, t) => JSON.stringify([e, t]);
1324
+ return {
1325
+ store: t,
1326
+ refresh() {
1327
+ n.clear();
1328
+ let e = t.getState();
1329
+ t.setState({
1330
+ ...e,
1331
+ revision: e.revision + 1
1332
+ }, !1, "refreshSettings");
1333
+ },
1334
+ registerSection(e, n) {
1335
+ let r = t.getState();
1336
+ if (r.sections[e.id]) throw Error(`Settings section already registered: ${e.id}`);
1337
+ let i = {
1338
+ ...A(n),
1339
+ ...e
1340
+ };
1341
+ return t.setState({
1342
+ ...r,
1343
+ sections: {
1344
+ ...r.sections,
1345
+ [e.id]: i
1346
+ }
1347
+ }, !1, "registerSection"), h(() => {
1348
+ let n = t.getState();
1349
+ if (n.sections[e.id] !== i) return;
1350
+ let { [e.id]: r, ...a } = n.sections;
1351
+ t.setState({
1352
+ ...n,
1353
+ sections: a
1354
+ }, !1, "unregisterSection");
1355
+ });
1356
+ },
1357
+ registerPanel(r, i) {
1358
+ let a = t.getState();
1359
+ if (a.panels[r.id]) throw Error(`Settings panel already registered: ${r.id}`);
1360
+ if (r.kind !== "schema" && e.hasView && !e.hasView(r.viewId)) throw Error(`Settings panel View is not registered: ${r.viewId}`);
1361
+ let o = {
1362
+ ...A(i),
1363
+ ...r
1364
+ };
1365
+ return t.setState({
1366
+ ...a,
1367
+ panels: {
1368
+ ...a.panels,
1369
+ [r.id]: o
1370
+ }
1371
+ }, !1, "registerPanel"), h(() => {
1372
+ let e = t.getState();
1373
+ if (e.panels[r.id] !== o) return;
1374
+ let { [r.id]: i, ...a } = e.panels;
1375
+ for (let e of n.keys()) e.startsWith(`["${r.id}",`) && n.delete(e);
1376
+ t.setState({
1377
+ ...e,
1378
+ panels: a
1379
+ }, !1, "unregisterPanel");
1380
+ });
1381
+ },
1382
+ getSection(e) {
1383
+ return t.getState().sections[e];
1384
+ },
1385
+ getPanel(e) {
1386
+ return t.getState().panels[e];
1387
+ },
1388
+ listSections() {
1389
+ return Object.values(t.getState().sections).sort(wn);
1390
+ },
1391
+ listPanels() {
1392
+ return Tn(t.getState());
1393
+ },
1394
+ async resolveCollectionItem(e, i) {
1395
+ let a = t.getState().panels[e];
1396
+ if (!a || a.kind !== "collection") return;
1397
+ let o = (await a.items()).find((e) => a.itemId(e) === i);
1398
+ return o !== void 0 && n.set(r(e, i), o), o;
1399
+ },
1400
+ getCollectionItem: (e, t) => n.get(r(e, t))
1401
+ };
1402
+ }, Dn = (e, t, n) => {
1316
1403
  e.notifications.captureActionError(t)(n);
1317
- }, Tn = async (e, t, n, r) => {
1404
+ }, On = async (e, t, n, r) => {
1318
1405
  let i = e.notifications.captureActionError(t, r?.inlineTarget);
1319
1406
  try {
1320
1407
  await n(), r?.onSuccess?.();
1321
1408
  } catch (e) {
1322
1409
  i(e);
1323
1410
  }
1324
- }, En = (e, t, n) => {
1411
+ }, kn = (e, t, n) => {
1325
1412
  let r = e.placementIdentity;
1326
1413
  if (r?.kind !== "page") return !1;
1327
1414
  let i = (e, t) => Et(e, r.pageId, r.instanceKey) && t?.openStaticSlotIds.includes(r.slotId) || t?.resourceInstances[r.slotId]?.some((e) => e.instanceKey === r.instanceKey);
1328
1415
  return Object.entries(n.pageStates).some(([e, n]) => (e === r.pageId || e.startsWith(`${r.pageId}|`)) && i(e, n) && !i(e, t.pageStates[e]));
1329
- }, Dn = (e) => ({
1416
+ }, An = (e) => ({
1330
1417
  projectId: e.projectId,
1331
1418
  modeId: e.activeModeId,
1332
1419
  pageId: e.activePageId,
1333
1420
  resource: e.location?.resource
1334
- }), Q = (e, t) => e.projectId !== t.projectId || e.activeModeId !== t.activeModeId || e.activePageId !== t.activePageId || Z(e.pages[e.activePageId ?? ""], e.location?.resource) !== Z(t.pages[t.activePageId ?? ""], t.location?.resource), On = (e, t) => new Set(Object.values(e?.regions ?? {}).flatMap((e) => e.widgets.flatMap((n) => e.id === "main" === t && n.placementIdentity ? [U(n.placementIdentity)] : []))), kn = (e, t, n) => {
1421
+ }), Q = (e, t) => e.projectId !== t.projectId || e.activeModeId !== t.activeModeId || e.activePageId !== t.activePageId || Z(e.pages[e.activePageId ?? ""], e.location?.resource) !== Z(t.pages[t.activePageId ?? ""], t.location?.resource), jn = (e, t) => new Set(Object.values(e?.regions ?? {}).flatMap((e) => e.widgets.flatMap((n) => e.id === "main" === t && n.placementIdentity ? [H(n.placementIdentity)] : []))), Mn = (e, t, n) => {
1335
1422
  let r = e.placementIdentity;
1336
1423
  if (!r) return !1;
1337
1424
  if (r.kind !== "page") return n;
1338
1425
  if (r.pageId !== t.activePageId) return !0;
1339
- let i = t.pages[r.pageId], a = i && Ct(i).find((e) => e.id === r.slotId), o = a?.item.kind === "binding" ? a.item.binding : i?.resource;
1426
+ let i = t.pages[r.pageId], a = i && wt(i).find((e) => e.id === r.slotId), o = a?.item.kind === "binding" ? a.item.binding : i?.resource;
1340
1427
  return o && (!e.resource || !gn(o, e.resource)) ? !1 : !!(i?.resource && Z(i, e.resource) !== Z(i, t.location?.resource));
1341
- }, An = (e, t, n) => {
1342
- let { state: r, previous: i, layout: a, pageLayout: o } = e, s = Q(r, i), c = new Set(r.reconciliation.activate.map((e) => U(e.identity))), l = [...t], u = s ? o?.regions.main.widgets : a.regions.main.widgets;
1428
+ }, Nn = (e, t, n) => {
1429
+ let { state: r, previous: i, layout: a, pageLayout: o } = e, s = Q(r, i), c = new Set(r.reconciliation.activate.map((e) => H(e.identity))), l = [...t], u = s ? o?.regions.main.widgets : a.regions.main.widgets;
1343
1430
  for (let [t, a] of (u ?? []).entries()) {
1344
1431
  let o = a.placementIdentity;
1345
- if (!o || !e.getWidget(a.contributionId) || En(a, r, i) || !kn(a, r, s)) continue;
1346
- let u = U(o);
1432
+ if (!o || !e.getWidget(a.contributionId) || kn(a, r, i) || !Mn(a, r, s)) continue;
1433
+ let u = H(o);
1347
1434
  if (n.has(u)) continue;
1348
- let d = l.find((e) => U(e.identity) === u);
1349
- l = l.filter((e) => U(e.identity) !== u), l.push({
1435
+ let d = l.find((e) => H(e.identity) === u);
1436
+ l = l.filter((e) => H(e.identity) !== u), l.push({
1350
1437
  identity: o,
1351
1438
  region: "main",
1352
1439
  order: t,
@@ -1354,7 +1441,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1354
1441
  });
1355
1442
  }
1356
1443
  return l;
1357
- }, jn = (e, t) => {
1444
+ }, Pn = (e, t) => {
1358
1445
  let n = t.placementIdentity;
1359
1446
  if (n?.kind !== "page" || !t.resource) return t;
1360
1447
  let r = Object.entries(e.state.pageStates).filter(([e]) => e === n.pageId || e.startsWith(`${n.pageId}|`)).flatMap(([, e]) => e.resourceInstances[n.slotId] ?? []).find((e) => e.instanceKey === n.instanceKey && i(e.resource) === i(t.resource));
@@ -1363,48 +1450,48 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1363
1450
  resource: r.resource,
1364
1451
  title: r.resource.label ?? e.getWidget(t.contributionId)?.title ?? t.title
1365
1452
  } : t;
1366
- }, Mn = (e, t) => {
1367
- let n = U(t.placementIdentity), r = e.state.reconciliation.activate.find((e) => U(e.identity) === n);
1453
+ }, Fn = (e, t) => {
1454
+ let n = H(t.placementIdentity), r = e.state.reconciliation.activate.find((e) => H(e.identity) === n);
1368
1455
  return r ? {
1369
1456
  ...r.value,
1370
1457
  widgetId: t.widgetId
1371
- } : jn(e, t);
1372
- }, Nn = (e, t, n) => {
1458
+ } : Pn(e, t);
1459
+ }, In = (e, t, n) => {
1373
1460
  let r = t.placementIdentity;
1374
- return r?.kind === "page" && !!e.getWidget(t.contributionId) && e.state.pages[r.pageId]?.modeId === e.state.activeModeId && !(n && t.tabRetention === "preview") && !En(t, e.state, e.previous);
1375
- }, Pn = (e, t, n) => {
1461
+ return r?.kind === "page" && !!e.getWidget(t.contributionId) && e.state.pages[r.pageId]?.modeId === e.state.activeModeId && !(n && t.tabRetention === "preview") && !kn(t, e.state, e.previous);
1462
+ }, Ln = (e, t, n) => {
1376
1463
  let { state: r, previous: i } = e, a = Q(r, i) && r.projectId === i.projectId && r.activeModeId === i.activeModeId, o = [...t];
1377
1464
  for (let t of Object.values(n?.regions ?? {})) if (t.id === "side" || t.id === "secondary") for (let [n, r] of t.widgets.entries()) {
1378
1465
  let i = r.placementIdentity;
1379
- if (!i || !Nn(e, r, a)) continue;
1380
- let s = U(i);
1381
- o = o.filter((e) => U(e.identity) !== s), o.push({
1466
+ if (!i || !In(e, r, a)) continue;
1467
+ let s = H(i);
1468
+ o = o.filter((e) => H(e.identity) !== s), o.push({
1382
1469
  identity: i,
1383
1470
  region: t.id,
1384
1471
  order: n,
1385
- value: Mn(e, r)
1472
+ value: Fn(e, r)
1386
1473
  });
1387
1474
  }
1388
1475
  return o;
1389
- }, Fn = (e) => {
1476
+ }, Rn = (e) => {
1390
1477
  let { state: t, previous: n, layout: r, modeLayout: i } = e;
1391
1478
  if (!t.activePageId) return t;
1392
- let a = Q(t, n), o = t.projectId === n.projectId && t.activeModeId === n.activeModeId ? r : i, s = n.activePageId ? On(r, !0) : /* @__PURE__ */ new Set(), c = On(o, !1), l = new Set(t.reconciliation.activate.map((e) => U(e.identity))), u = Pn(e, An(e, t.placements.filter((e) => {
1393
- let t = U(e.identity);
1479
+ let a = Q(t, n), o = t.projectId === n.projectId && t.activeModeId === n.activeModeId ? r : i, s = n.activePageId ? jn(r, !0) : /* @__PURE__ */ new Set(), c = jn(o, !1), l = new Set(t.reconciliation.activate.map((e) => H(e.identity))), u = Ln(e, Nn(e, t.placements.filter((e) => {
1480
+ let t = H(e.identity);
1394
1481
  return !a || !s.has(t) || c.has(t) || l.has(t);
1395
1482
  }), c), o);
1396
1483
  return {
1397
1484
  ...t,
1398
1485
  placements: u,
1399
- reconciliation: G({
1486
+ reconciliation: W({
1400
1487
  current: n.placements,
1401
1488
  desired: u,
1402
1489
  destinations: t.reconciliation.destinations,
1403
- activate: t.reconciliation.activate.filter((e) => u.some((t) => U(t.identity) === U(e.identity))).map((e) => e.identity),
1490
+ activate: t.reconciliation.activate.filter((e) => u.some((t) => H(t.identity) === H(e.identity))).map((e) => e.identity),
1404
1491
  valuesEqual: (e, t) => JSON.stringify(e) === JSON.stringify(t)
1405
1492
  })
1406
1493
  };
1407
- }, In = (e, t, n) => Object.fromEntries(Object.entries(e).map(([e, r]) => {
1494
+ }, zn = (e, t, n) => Object.fromEntries(Object.entries(e).map(([e, r]) => {
1408
1495
  if (e !== t.pageId && !e.startsWith(`${t.pageId}|`)) return [e, r];
1409
1496
  let i = (r.resourceInstances[t.slotId] ?? []).flatMap((e) => e.instanceKey === t.instanceKey ? n.kind === "close" ? [] : [{
1410
1497
  ...e,
@@ -1419,11 +1506,11 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1419
1506
  },
1420
1507
  activePrimaryInstanceKey: n.kind === "close" && r.activePrimaryInstanceKey === t.instanceKey ? i.at(-1)?.instanceKey : r.activePrimaryInstanceKey
1421
1508
  }];
1422
- })), Ln = (e) => e.value.role === "sub-panel" && e.identity.kind === "page", Rn = (e, t, n) => Ln(e) ? e.value.ownerResourceKey ?? t?.ownerResourceKey ?? n?.ownerResourceKey : e.value.ownerResourceKey, $ = (e) => {
1509
+ })), Bn = (e) => e.value.role === "sub-panel" && e.identity.kind === "page", Vn = (e, t, n) => Bn(e) ? e.value.ownerResourceKey ?? t?.ownerResourceKey ?? n?.ownerResourceKey : e.value.ownerResourceKey, $ = (e) => {
1423
1510
  let t = /* @__PURE__ */ new Map();
1424
1511
  for (let n of Object.values(e.regions)) for (let e of n.widgets) {
1425
1512
  if (!e.placementIdentity) continue;
1426
- let r = U(e.placementIdentity);
1513
+ let r = H(e.placementIdentity);
1427
1514
  if (t.has(r)) throw Error(`Duplicate rendered placement identity: ${r}`);
1428
1515
  t.set(r, {
1429
1516
  region: n.id,
@@ -1431,33 +1518,33 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1431
1518
  });
1432
1519
  }
1433
1520
  return t;
1434
- }, zn = (e) => {
1521
+ }, Hn = (e) => {
1435
1522
  if (e.desired.identity.kind !== "mode") return;
1436
1523
  let t = e.desired.identity;
1437
1524
  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);
1438
- }, Bn = (e) => {
1525
+ }, Un = (e) => {
1439
1526
  let t = /* @__PURE__ */ new Map();
1440
1527
  for (let n of Object.values(e.regions)) for (let e of n.widgets) {
1441
1528
  if (t.has(e.widgetId)) throw Error(`Duplicate rendered widget ID: ${e.widgetId}`);
1442
- t.set(e.widgetId, e.placementIdentity ? U(e.placementIdentity) : null);
1529
+ t.set(e.widgetId, e.placementIdentity ? H(e.placementIdentity) : null);
1443
1530
  }
1444
1531
  return t;
1445
- }, Vn = (e, t, n, r) => {
1446
- let i = new Set(e.map((e) => e.widgetId)), a = [...e, ...t.filter((e) => !i.has(e.widgetId) && e.placementIdentity && n.has(U(e.placementIdentity)))];
1532
+ }, Wn = (e, t, n, r) => {
1533
+ let i = new Set(e.map((e) => e.widgetId)), a = [...e, ...t.filter((e) => !i.has(e.widgetId) && e.placementIdentity && n.has(H(e.placementIdentity)))];
1447
1534
  if (!r) return a;
1448
1535
  let o = new Map(r.map((e, t) => [e, t])), s = a.sort((e, t) => (o.get(e.widgetId) ?? r.length) - (o.get(t.widgetId) ?? r.length)), c = new Map(t.map((e, t) => [e.widgetId, t])), l = s.filter((e) => e.placementIdentity?.kind !== "page").sort((e, n) => (c.get(e.widgetId) ?? t.length) - (c.get(n.widgetId) ?? t.length)), u = 0;
1449
1536
  return s.map((e) => e.placementIdentity?.kind === "page" ? e : l[u++]);
1450
- }, Hn = (e, t) => {
1451
- let n = [], r = /* @__PURE__ */ new Set(), i = Bn(e.layout), a = e.modeLayout ? $(e.modeLayout) : /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), s = new Map(e.destinations?.map((e) => [U(e.identity), e.region])), c = gt({
1537
+ }, Gn = (e, t) => {
1538
+ let n = [], r = /* @__PURE__ */ new Set(), i = Un(e.layout), a = e.modeLayout ? $(e.modeLayout) : /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), s = new Map(e.destinations?.map((e) => [H(e.identity), e.region])), c = _t({
1452
1539
  shell: e.placements.filter((e) => e.identity.kind === "shell"),
1453
1540
  mode: e.placements.filter((e) => e.identity.kind === "mode"),
1454
1541
  page: e.placements.filter((e) => e.identity.kind === "page")
1455
- }).placements, l = new Set(c.map((e) => U(e.identity))), u = /* @__PURE__ */ new Set();
1542
+ }).placements, l = new Set(c.map((e) => H(e.identity))), u = /* @__PURE__ */ new Set();
1456
1543
  for (let e of c) {
1457
- let c = U(e.identity);
1544
+ let c = H(e.identity);
1458
1545
  if (r.has(c)) throw Error(`Duplicate desired placement identity: ${c}`);
1459
1546
  r.add(c);
1460
- let d = t.get(c) ?? a.get(c), f = d ? void 0 : zn({
1547
+ let d = t.get(c) ?? a.get(c), f = d ? void 0 : Hn({
1461
1548
  current: t,
1462
1549
  desired: e,
1463
1550
  desiredKeys: l,
@@ -1468,7 +1555,7 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1468
1555
  if (h !== void 0 && h !== c && h !== p) throw Error(`Rendered widget ID belongs to another placement: ${m}`);
1469
1556
  if (o.has(m)) throw Error(`Duplicate desired widget ID: ${m}`);
1470
1557
  o.add(m);
1471
- let g = Rn(e, d?.placement, f?.[1].placement);
1558
+ let g = Vn(e, d?.placement, f?.[1].placement);
1472
1559
  n.push({
1473
1560
  identity: e.identity,
1474
1561
  region: s.get(c) ?? d?.region ?? e.region,
@@ -1482,16 +1569,16 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1482
1569
  });
1483
1570
  }
1484
1571
  return n;
1485
- }, Un = (e, t, r, i) => {
1486
- let a = new Set(n.filter((e) => e !== "side")), o = { ...e.regions }, s = new Map(t.map((e) => [U(e.identity), e])), c = new Set(t.flatMap((e) => e.transferredFromKey ?? []));
1572
+ }, Kn = (e, t, r, i) => {
1573
+ let a = new Set(n.filter((e) => e !== "side")), o = { ...e.regions }, s = new Map(t.map((e) => [H(e.identity), e])), c = new Set(t.flatMap((e) => e.transferredFromKey ?? []));
1487
1574
  for (let n of b) {
1488
- let l = e.regions[n], u = t.some((e) => e.region === n && e.identity.kind === "page" && e.placement.role === "location"), d = /* @__PURE__ */ new Set(), f = Vn(l.widgets, i?.regions[n].widgets ?? [], s, l.savedWidgetOrder).flatMap((e) => {
1575
+ let l = e.regions[n], u = t.some((e) => e.region === n && e.identity.kind === "page" && e.placement.role === "location"), d = /* @__PURE__ */ new Set(), f = Wn(l.widgets, i?.regions[n].widgets ?? [], s, l.savedWidgetOrder).flatMap((e) => {
1489
1576
  if (!e.placementIdentity) return n === "main" && u && e.role === "location" ? [] : [e];
1490
- let t = U(e.placementIdentity), i = s.get(t);
1577
+ let t = H(e.placementIdentity), i = s.get(t);
1491
1578
  return i ? i.region === n ? (d.add(t), [i.placement]) : [] : r.has(t) || c.has(t) ? [] : [e];
1492
1579
  });
1493
1580
  for (let e of t) {
1494
- let t = U(e.identity);
1581
+ let t = H(e.identity);
1495
1582
  e.region === n && !d.has(t) && f.push(e.placement);
1496
1583
  }
1497
1584
  let p = S(f, t.find((e) => e.region === n && e.placement.tabRetention === "preview")?.placement.widgetId ?? l.activeWidgetId), m = l.widgets.find((e) => e.widgetId === l.activeWidgetId), h = [
@@ -1512,24 +1599,24 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1512
1599
  ...e,
1513
1600
  regions: o
1514
1601
  };
1515
- }, Wn = (e) => {
1602
+ }, qn = (e) => {
1516
1603
  let t = new Set(e.desired.flatMap((e) => e.transferredFromKey ?? [])), n = e.layout;
1517
- for (let [r, i] of e.current) e.removedKeys.has(r) && !t.has(r) && (n = E(n, i.placement.widgetId));
1518
- let r = n.activeLocationWidgetId ? C(n, n.activeLocationWidgetId)?.placement : void 0, i = D(n), a = r?.widgetId ?? i?.widgetId, o = n.activeWidgetId ? C(n, n.activeWidgetId)?.placement : void 0, s = a ? C(n, a)?.placement : Object.values(n.regions).flatMap((e) => e.widgets)[0];
1604
+ for (let [r, i] of e.current) e.removedKeys.has(r) && !t.has(r) && (n = D(n, i.placement.widgetId));
1605
+ let r = n.activeLocationWidgetId ? C(n, n.activeLocationWidgetId)?.placement : void 0, i = O(n), a = r?.widgetId ?? i?.widgetId, o = n.activeWidgetId ? C(n, n.activeWidgetId)?.placement : void 0, s = a ? C(n, a)?.placement : Object.values(n.regions).flatMap((e) => e.widgets)[0];
1519
1606
  return {
1520
1607
  ...n,
1521
1608
  activeWidgetId: o?.widgetId ?? s?.widgetId,
1522
1609
  activeLocationWidgetId: a,
1523
1610
  activeResourceKey: o?.resourceKey ?? s?.resourceKey
1524
1611
  };
1525
- }, Gn = (e, t) => {
1526
- let n = D(e)?.resourceKey;
1612
+ }, Jn = (e, t) => {
1613
+ let n = O(e)?.resourceKey;
1527
1614
  if (!n) return e;
1528
- let r = new Map(t.map((e) => [U(e.identity), e])), i = Object.fromEntries(Object.entries(e.regions).map(([e, t]) => [e, {
1615
+ let r = new Map(t.map((e) => [H(e.identity), e])), i = Object.fromEntries(Object.entries(e.regions).map(([e, t]) => [e, {
1529
1616
  ...t,
1530
1617
  widgets: t.widgets.map((e) => {
1531
1618
  if (e.role !== "sub-panel" || !e.placementIdentity) return e;
1532
- let t = r.get(U(e.placementIdentity));
1619
+ let t = r.get(H(e.placementIdentity));
1533
1620
  return !t || t.identity.kind !== "page" ? e : {
1534
1621
  ...e,
1535
1622
  ownerResourceKey: n
@@ -1540,25 +1627,25 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1540
1627
  ...e,
1541
1628
  regions: i
1542
1629
  };
1543
- }, Kn = (e, t) => {
1630
+ }, Yn = (e, t) => {
1544
1631
  if (e.placements.length === 0 && t.size === 0 && (e.activate?.length ?? 0) === 0) return e.layout;
1545
- let n = $(e.layout), r = Hn(e, n), i = Wn({
1632
+ let n = $(e.layout), r = Gn(e, n), i = qn({
1546
1633
  current: n,
1547
1634
  desired: r,
1548
1635
  removedKeys: t,
1549
- layout: Un(e.layout, r, t, e.modeLayout)
1550
- }), a = new Map(r.map((e) => [U(e.identity), e]));
1636
+ layout: Kn(e.layout, r, t, e.modeLayout)
1637
+ }), a = new Map(r.map((e) => [H(e.identity), e]));
1551
1638
  for (let t of e.activate ?? []) {
1552
- let e = a.get(U(t));
1553
- if (!e) throw Error(`Cannot activate missing rendered placement: ${U(t)}`);
1554
- i = _e(i, e.region, e.placement);
1639
+ let e = a.get(H(t));
1640
+ if (!e) throw Error(`Cannot activate missing rendered placement: ${H(t)}`);
1641
+ i = ge(i, e.region, e.placement);
1555
1642
  }
1556
- return Gn(i, r);
1557
- }, qn = (e) => {
1558
- let t = new Set(e.placements.map((e) => U(e.identity))), n = $(e.layout);
1559
- return Kn(e, new Set([...n.keys()].filter((e) => !t.has(e))));
1560
- }, Jn = (e) => Kn(e, new Set(e.remove.map(U))), Yn = (e, t, n, r) => {
1561
- let i = Hn({
1643
+ return Jn(i, r);
1644
+ }, Xn = (e) => {
1645
+ let t = new Set(e.placements.map((e) => H(e.identity))), n = $(e.layout);
1646
+ return Yn(e, new Set([...n.keys()].filter((e) => !t.has(e))));
1647
+ }, Zn = (e) => Yn(e, new Set(e.remove.map(H))), Qn = (e, t, n, r) => {
1648
+ let i = Gn({
1562
1649
  layout: n,
1563
1650
  modeLayout: r,
1564
1651
  placements: e.placements,
@@ -1567,52 +1654,52 @@ var _ = 0, v = /* @__PURE__ */ new Map(), ee = (e, t) => {
1567
1654
  ...e.reconciliation.activate,
1568
1655
  ...e.reconciliation.add,
1569
1656
  ...e.reconciliation.update.map((e) => e.desired)
1570
- ].filter((e) => e.value.tabRetention === "preview").map((e) => U(e.identity)), o = /* @__PURE__ */ new Set();
1657
+ ].filter((e) => e.value.tabRetention === "preview").map((e) => H(e.identity)), o = /* @__PURE__ */ new Set();
1571
1658
  for (let e of Object.values(n.regions)) {
1572
- let t = i.filter((t) => t.region === e.id), n = a.map((e) => t.find((t) => U(t.identity) === e)).find(Boolean), r = S(t.map((e) => e.placement), n?.placement.widgetId ?? e.activeWidgetId);
1573
- for (let e of r.replaced) e.placementIdentity && o.add(U(e.placementIdentity));
1659
+ let t = i.filter((t) => t.region === e.id), n = a.map((e) => t.find((t) => H(t.identity) === e)).find(Boolean), r = S(t.map((e) => e.placement), n?.placement.widgetId ?? e.activeWidgetId);
1660
+ for (let e of r.replaced) e.placementIdentity && o.add(H(e.placementIdentity));
1574
1661
  }
1575
- return Xn(e, t, o);
1576
- }, Xn = (e, t, n) => {
1662
+ return $n(e, t, o);
1663
+ }, $n = (e, t, n) => {
1577
1664
  if (!n.size) return e;
1578
- let r = e.placements.filter((e) => !n.has(U(e.identity))), i = e.pageStates;
1665
+ let r = e.placements.filter((e) => !n.has(H(e.identity))), i = e.pageStates;
1579
1666
  for (let t of e.placements) {
1580
1667
  let e = t.identity;
1581
- e.kind === "page" && n.has(U(e)) && (i = In(i, e, { kind: "close" }));
1668
+ e.kind === "page" && n.has(H(e)) && (i = zn(i, e, { kind: "close" }));
1582
1669
  }
1583
1670
  return {
1584
1671
  ...e,
1585
1672
  placements: r,
1586
1673
  pageStates: i,
1587
- reconciliation: G({
1674
+ reconciliation: W({
1588
1675
  current: t.placements,
1589
1676
  desired: r,
1590
1677
  destinations: e.reconciliation.destinations,
1591
- activate: e.reconciliation.activate.filter((e) => !n.has(U(e.identity))).map((e) => e.identity),
1678
+ activate: e.reconciliation.activate.filter((e) => !n.has(H(e.identity))).map((e) => e.identity),
1592
1679
  valuesEqual: (e, t) => JSON.stringify(e) === JSON.stringify(t)
1593
1680
  })
1594
1681
  };
1595
- }, Zn = (e, t, n) => !t.activePageId || t.projectId !== e.projectId || t.activeModeId !== e.activeModeId || !Q(e, t) ? [] : Object.values(n.regions).flatMap((e) => e.widgets.filter((e) => e.tabRetention === "preview")), Qn = (e, t, n) => {
1596
- let r = Zn(e, t, n), a = Xn(e, t, new Set(r.flatMap((t) => {
1682
+ }, er = (e, t, n) => !t.activePageId || t.projectId !== e.projectId || t.activeModeId !== e.activeModeId || !Q(e, t) ? [] : Object.values(n.regions).flatMap((e) => e.widgets.filter((e) => e.tabRetention === "preview")), tr = (e, t, n) => {
1683
+ let r = er(e, t, n), a = $n(e, t, new Set(r.flatMap((t) => {
1597
1684
  if (!t.placementIdentity) return [];
1598
- let n = U(t.placementIdentity), r = e.placements.find((e) => U(e.identity) === n);
1685
+ let n = H(t.placementIdentity), r = e.placements.find((e) => H(e.identity) === n);
1599
1686
  return r?.value.tabRetention === "preview" && i(r.value.resource) === i(t.resource) ? [n] : [];
1600
1687
  }))), o = a.pageStates;
1601
1688
  for (let e of r) {
1602
1689
  let t = e.placementIdentity;
1603
- t?.kind === "page" && (o = In(o, t, { kind: "close" }));
1690
+ t?.kind === "page" && (o = zn(o, t, { kind: "close" }));
1604
1691
  }
1605
1692
  return r.length ? {
1606
1693
  ...a,
1607
1694
  pageStates: o
1608
1695
  } : a;
1609
- }, $n = /* @__PURE__ */ new WeakMap(), er = (e, t) => {
1610
- $n.set(e, t);
1611
- }, tr = (e) => {
1612
- let t = $n.get(e);
1696
+ }, nr = /* @__PURE__ */ new WeakMap(), rr = (e, t) => {
1697
+ nr.set(e, t);
1698
+ }, ir = (e) => {
1699
+ let t = nr.get(e);
1613
1700
  if (!t) throw Error("Workbench renderers are not initialized");
1614
1701
  return t;
1615
1702
  };
1616
- export { Ot as $, se as $t, fn as A, Ae as At, Jt as B, ge as Bt, sn as C, P as Ct, dn as D, Me as Dt, mn as E, k as Et, Qt as F, be as Ft, Rt as G, D as Gt, Bt as H, le as Ht, Xt as I, we as It, Ft as J, he as Jt, Ht as K, fe as Kt, Yt as L, Ce as Lt, an as M, O as Mt, on as N, De as Nt, un as O, je as Ot, rn as P, xe as Pt, Dt as Q, ce as Qt, Wt as R, Te as Rt, gn as S, Pe as St, hn as T, Re as Tt, Vt as U, C as Ut, Kt as V, de as Vt, zt as W, ue as Wt, Mt as X, ve as Xt, Nt as Y, me as Yt, jt as Z, T as Zt, Z as _, Ke as _t, Xn as a, b as an, bt as at, yn as b, ze as bt, qn as c, ee as cn, U as ct, Dn as d, d as dn, ct as dt, oe as en, Tt as et, Fn as f, p as fn, st as ft, Sn as g, Ge as gt, Cn as h, l as hn, We as ht, Zn as i, x as in, q as it, pn as j, ke as jt, ln as k, Oe as kt, In as l, g as ln, G as lt, Tn as m, f as mn, tt as mt, er as n, ae as nn, yt as nt, Yn as o, y as on, xt as ot, wn as p, m as pn, B as pt, J as q, E as qt, Qn as r, re as rn, Ct as rt, Jn as s, te as sn, gt as st, tr as t, S as tn, K as tt, Q as u, h as un, lt as ut, xn as v, Ve as vt, cn as w, Be as wt, _n as x, Ne as xt, bn as y, Le as yt, qt as z, _e as zt };
1703
+ export { jt as $, E as $t, un as A, Oe as At, Wt as B, Ce as Bt, _n as C, Me as Ct, hn as D, Re as Dt, cn as E, Be as Et, on as F, A as Ft, Vt as G, C as Gt, Jt as H, he as Ht, rn as I, be as It, Ht as J, w as Jt, zt as K, ue as Kt, Qt as L, ye as Lt, fn as M, De as Mt, pn as N, Ee as Nt, mn as O, M as Ot, an as P, j as Pt, Mt as Q, _e as Qt, Xt as R, Se as Rt, yn as S, ze as St, sn as T, je as Tt, Kt as U, de as Ut, qt as V, ge as Vt, Bt as W, le as Wt, Ft as X, me as Xt, J as Y, D as Yt, Nt as Z, pe as Zt, Cn as _, l as _n, We as _t, $n as a, re as an, wt as at, xn as b, Ve as bt, Xn as c, y as cn, St as ct, An as d, g as dn, W as dt, ce as en, Dt as et, Rn as f, h as fn, ut as ft, Tn as g, f as gn, nt as gt, En as h, m as hn, z as ht, er as i, ae as in, bt as it, ln as j, Te as jt, dn as k, ke as kt, zn as l, te as ln, _t as lt, On as m, p as mn, ct as mt, rr as n, oe as nn, Tt as nt, Qn as o, x as on, K as ot, Dn as p, d as pn, lt as pt, Rt as q, O as qt, tr as r, S as rn, G as rt, Zn as s, b as sn, xt as st, ir as t, se as tn, Ot as tt, Q as u, ee as un, H as ut, Sn as v, Ge as vt, gn as w, Ne as wt, bn as x, Le as xt, Z as y, Ke as yt, Yt as z, k as zt };
1617
1704
 
1618
- //# sourceMappingURL=workbench-renderers-DOc_oE0K.js.map
1705
+ //# sourceMappingURL=workbench-renderers-DLrojHYg.js.map