@pstdio/workbench 0.35.0 → 0.36.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/extensions.d.ts +8 -7
- package/dist/extensions.js +374 -368
- package/dist/extensions.js.map +1 -1
- package/dist/file-renderer-view-DKu2l8bT.js +637 -0
- package/dist/file-renderer-view-DKu2l8bT.js.map +1 -0
- package/dist/{index-DDmpcM-n.d.ts → index-DSsmgN2a.d.ts} +54 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1402 -1493
- package/dist/index.js.map +1 -1
- package/dist/{kanban-presentation-CX6Smht6.d.ts → kanban-presentation-BWhkLbw3.d.ts} +1 -1
- package/dist/navigation-tree-registry-CTidmvVs.js +91 -0
- package/dist/navigation-tree-registry-CTidmvVs.js.map +1 -0
- package/dist/{react-C8jwnIWT.js → react-BxrTklvM.js} +2807 -2640
- package/dist/react-BxrTklvM.js.map +1 -0
- package/dist/react.d.ts +3 -3
- package/dist/react.js +1 -1
- package/dist/storage.d.ts +1 -1
- package/dist/{workbench-renderers-BK6g8mG_.js → workbench-renderers-RPeMVtTc.js} +206 -101
- package/dist/workbench-renderers-RPeMVtTc.js.map +1 -0
- package/package.json +3 -3
- package/dist/file-renderer-view-CZhPOpNc.js +0 -628
- package/dist/file-renderer-view-CZhPOpNc.js.map +0 -1
- package/dist/react-C8jwnIWT.js.map +0 -1
- package/dist/workbench-renderers-BK6g8mG_.js.map +0 -1
|
@@ -106,12 +106,12 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
106
106
|
"secondary-right-menu": "secondary",
|
|
107
107
|
"side-left-menu": "side",
|
|
108
108
|
"side-right-menu": "side"
|
|
109
|
-
},
|
|
109
|
+
}, p = (e) => te[e], m = (e, t, n = t) => {
|
|
110
110
|
if (!e.has(n)) return n;
|
|
111
111
|
let r = 1;
|
|
112
112
|
for (; e.has(`${t}:${r}`);) r += 1;
|
|
113
113
|
return `${t}:${r}`;
|
|
114
|
-
},
|
|
114
|
+
}, ne = (e, t) => {
|
|
115
115
|
for (let n of Object.values(e.regions)) {
|
|
116
116
|
let e = n.widgets.findIndex((e) => e.contributionId === t);
|
|
117
117
|
if (e >= 0) return {
|
|
@@ -120,7 +120,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
120
120
|
placement: n.widgets[e]
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
|
-
},
|
|
123
|
+
}, re = (e, t, n) => {
|
|
124
124
|
for (let r of Object.values(e.regions)) {
|
|
125
125
|
let e = r.widgets.findIndex((e) => e.contributionId === t && e.resourceKey === n);
|
|
126
126
|
if (e >= 0) return {
|
|
@@ -129,7 +129,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
129
129
|
placement: r.widgets[e]
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
|
-
},
|
|
132
|
+
}, h = (e, t) => {
|
|
133
133
|
for (let n of Object.values(e.regions)) {
|
|
134
134
|
let e = n.widgets.findIndex((e) => e.widgetId === t);
|
|
135
135
|
if (e >= 0) return {
|
|
@@ -138,9 +138,9 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
138
138
|
placement: n.widgets[e]
|
|
139
139
|
};
|
|
140
140
|
}
|
|
141
|
-
},
|
|
141
|
+
}, ie = (e, t) => m(new Set(Object.values(e.regions).flatMap((e) => e.widgets.map((e) => e.widgetId))), t), g = (e) => e.widgets.find((t) => t.widgetId === e.activeWidgetId) ?? e.widgets[0], _ = (e) => e.role === "location", v = (e) => e.resourceKey ?? `${e.contributionId}:${e.widgetId}`, y = (e, t, n, r) => {
|
|
142
142
|
if (!t) return e;
|
|
143
|
-
let i =
|
|
143
|
+
let i = v(t), a = { ...e.locationSubPanelSelections?.[i] ?? {} };
|
|
144
144
|
return r ? a[n] = r : delete a[n], {
|
|
145
145
|
...e,
|
|
146
146
|
locationSubPanelSelections: {
|
|
@@ -148,21 +148,21 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
148
148
|
[i]: a
|
|
149
149
|
}
|
|
150
150
|
};
|
|
151
|
-
},
|
|
151
|
+
}, b = (e, t) => {
|
|
152
152
|
if (!e.locationSubPanelSelections) return e;
|
|
153
153
|
let n = Object.fromEntries(Object.entries(e.locationSubPanelSelections).map(([e, n]) => [e, Object.fromEntries(Object.entries(n).filter(([, e]) => e !== t))]));
|
|
154
154
|
return {
|
|
155
155
|
...e,
|
|
156
156
|
locationSubPanelSelections: n
|
|
157
157
|
};
|
|
158
|
-
},
|
|
159
|
-
let t = e.regions.main.widgets.filter(
|
|
158
|
+
}, x = (e) => {
|
|
159
|
+
let t = e.regions.main.widgets.filter(_);
|
|
160
160
|
return t.find((t) => t.widgetId === e.activeLocationWidgetId) ?? t.at(-1);
|
|
161
|
-
},
|
|
161
|
+
}, ae = (e, t, n, r = {}) => {
|
|
162
162
|
let i = e.regions[t], a = n(i.widgets), o = r.activeWidgetId === void 0 ? r.clearActiveWidget ? void 0 : i.activeWidgetId : r.activeWidgetId;
|
|
163
163
|
return {
|
|
164
164
|
...e,
|
|
165
|
-
activeLocationWidgetId: t === "main" && !a.some((t) => t.widgetId === e.activeLocationWidgetId) ? a.filter(
|
|
165
|
+
activeLocationWidgetId: t === "main" && !a.some((t) => t.widgetId === e.activeLocationWidgetId) ? a.filter(_).at(-1)?.widgetId : e.activeLocationWidgetId,
|
|
166
166
|
regions: {
|
|
167
167
|
...e.regions,
|
|
168
168
|
[t]: {
|
|
@@ -172,7 +172,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
};
|
|
175
|
-
},
|
|
175
|
+
}, oe = (e, t) => {
|
|
176
176
|
let n = e;
|
|
177
177
|
for (let r of Object.values(e.regions)) {
|
|
178
178
|
let e = r.widgets.filter((e) => e.contributionId === t), i = r.widgets.filter((e) => e.contributionId !== t);
|
|
@@ -189,7 +189,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
};
|
|
192
|
-
for (let t of e) n =
|
|
192
|
+
for (let t of e) n = b(n, t.widgetId);
|
|
193
193
|
}
|
|
194
194
|
let r = Object.values(n.regions).some((e) => e.widgets.some((e) => e.widgetId === n.activeWidgetId));
|
|
195
195
|
return n.activeWidgetId && (!r || n.activeWidgetId.startsWith(`${t}:`) || n.activeWidgetId === t) && (n = {
|
|
@@ -198,37 +198,37 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
198
198
|
activeResourceKey: void 0
|
|
199
199
|
}), n.activeLocationWidgetId && !n.regions.main.widgets.some((e) => e.widgetId === n.activeLocationWidgetId) && (n = {
|
|
200
200
|
...n,
|
|
201
|
-
activeLocationWidgetId: n.regions.main.widgets.filter(
|
|
201
|
+
activeLocationWidgetId: n.regions.main.widgets.filter(_).at(-1)?.widgetId
|
|
202
202
|
}), n;
|
|
203
|
-
},
|
|
204
|
-
let n =
|
|
203
|
+
}, se = (e, t) => {
|
|
204
|
+
let n = h(e, t);
|
|
205
205
|
if (!n) return;
|
|
206
|
-
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" && n.regionId === "main" ?
|
|
206
|
+
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" && n.regionId === "main" ? x(e) : i[n.index] ?? i[n.index - 1]), s = a ? o?.widgetId : r.activeWidgetId, c = {
|
|
207
207
|
...r,
|
|
208
208
|
widgets: i,
|
|
209
209
|
activeWidgetId: s
|
|
210
|
-
}, l =
|
|
210
|
+
}, l = b({
|
|
211
211
|
...e,
|
|
212
|
-
activeLocationWidgetId: e.activeLocationWidgetId === t ? e.regions.main.widgets.filter((e) => e.widgetId !== t &&
|
|
212
|
+
activeLocationWidgetId: e.activeLocationWidgetId === t ? e.regions.main.widgets.filter((e) => e.widgetId !== t && _(e)).at(-1)?.widgetId : e.activeLocationWidgetId,
|
|
213
213
|
regions: {
|
|
214
214
|
...e.regions,
|
|
215
215
|
[r.id]: c
|
|
216
216
|
}
|
|
217
217
|
}, t);
|
|
218
|
-
return a && n.regionId !== "side" && f.includes(n.regionId) && (l =
|
|
218
|
+
return a && n.regionId !== "side" && f.includes(n.regionId) && (l = y(l, x(l), n.regionId, o?.role === "sub-panel" ? o.widgetId : void 0)), e.activeWidgetId === t && (l = {
|
|
219
219
|
...l,
|
|
220
220
|
activeWidgetId: o?.widgetId,
|
|
221
221
|
activeResourceKey: o?.resourceKey
|
|
222
222
|
}), {
|
|
223
223
|
regionId: n.regionId,
|
|
224
224
|
closedPlacement: n.placement,
|
|
225
|
-
activePlacement:
|
|
225
|
+
activePlacement: g(c),
|
|
226
226
|
layout: l
|
|
227
227
|
};
|
|
228
|
-
},
|
|
228
|
+
}, ce = (e, t, n) => {
|
|
229
229
|
let r = e.regions[t];
|
|
230
|
-
if (t === "main" &&
|
|
231
|
-
let t = e.locationSubPanelSelections?.[
|
|
230
|
+
if (t === "main" && _(n)) {
|
|
231
|
+
let t = e.locationSubPanelSelections?.[v(n)] ?? {}, r = Object.fromEntries(Object.entries(e.regions).map(([e, t]) => [e, {
|
|
232
232
|
...t,
|
|
233
233
|
widgets: t.widgets.map((e) => !n.resource || e.widgetId === n.widgetId || e.ownerResourceKey !== n.resourceKey || e.resourceKey !== n.resourceKey ? e : {
|
|
234
234
|
...e,
|
|
@@ -250,7 +250,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
250
250
|
regions: r
|
|
251
251
|
};
|
|
252
252
|
}
|
|
253
|
-
let i = n.role === "sub-panel" && t !== "side" && f.includes(t) ?
|
|
253
|
+
let i = n.role === "sub-panel" && t !== "side" && f.includes(t) ? y(e, x(e), t, n.widgetId) : e;
|
|
254
254
|
return {
|
|
255
255
|
...i,
|
|
256
256
|
activeWidgetId: n.widgetId,
|
|
@@ -264,7 +264,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
};
|
|
267
|
-
},
|
|
267
|
+
}, le = (e, t, n) => {
|
|
268
268
|
let r = e.regions[t], i = n ? r.widgets.find((e) => e.widgetId === n) : void 0;
|
|
269
269
|
if (n && !i) throw Error(`Widget placement not found in ${t}: ${n}`);
|
|
270
270
|
if (r.activeWidgetId === n) return;
|
|
@@ -281,27 +281,27 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
};
|
|
284
|
-
return t === "side" || !f.includes(t) ? o :
|
|
285
|
-
},
|
|
284
|
+
return t === "side" || !f.includes(t) ? o : y(o, x(o), t, i?.role === "sub-panel" ? i.widgetId : void 0);
|
|
285
|
+
}, ue = (e, t) => !(e.resourceKinds?.length && (!t || !e.resourceKinds.includes(t.type)) || e.canOpen && (!t || !e.canOpen(t))), de = (t, n, r, i = {}) => {
|
|
286
286
|
let a = t.regions[n];
|
|
287
287
|
return a.widgets.find((t) => t.widgetId === a.activeWidgetId && t.role === "sub-panel" && (i.ignoreOwnerResourceKey || !t.ownerResourceKey || t.ownerResourceKey === e(r)));
|
|
288
|
-
},
|
|
288
|
+
}, fe = (e) => x(e), pe = (t, n, r, i, a) => {
|
|
289
289
|
let o = t.eligibleLocations;
|
|
290
|
-
return !(!
|
|
290
|
+
return !(!S(t, r) || o?.resourceKinds?.length && (!n || !o.resourceKinds.includes(n.type)) || o?.resourceIds?.length && (!n?.id || !o.resourceIds.includes(n.id)) || o?.canOpen && (!n || !o.canOpen(n)) || o?.canOpenLocation && !o.canOpenLocation({
|
|
291
291
|
resource: n,
|
|
292
292
|
viewId: a?.viewId
|
|
293
293
|
}) || i?.ownerResourceKey && i.ownerResourceKey !== e(n));
|
|
294
|
-
},
|
|
294
|
+
}, S = (e, t) => {
|
|
295
295
|
let n = e.eligibleLocations?.modeIds;
|
|
296
296
|
return !n?.length || t !== void 0 && n.includes(t);
|
|
297
|
-
},
|
|
297
|
+
}, me = (e, t, n, r, i = {}) => ue(e, r?.resource ?? t) ? i.ignoreResourceLocation ? S(e, n) : pe(e, t, n, r, i.location) : !1, he = (e, t) => {
|
|
298
298
|
let n = e.panelMenuOwner ?? { level: "panel" };
|
|
299
299
|
return n.contributionId ? (t.subPanel ?? t.locationPanel)?.contributionId === n.contributionId : t.subPanel ? n.level === "sub-panel" : n.level === "panel";
|
|
300
|
-
},
|
|
300
|
+
}, ge = "workbench.core", C = (e = {}) => ({
|
|
301
301
|
source: e.source ?? "module",
|
|
302
|
-
ownerId: e.ownerId ??
|
|
302
|
+
ownerId: e.ownerId ?? ge,
|
|
303
303
|
priority: e.priority ?? 0
|
|
304
|
-
}),
|
|
304
|
+
}), w = (e, t) => t.priority - e.priority || e.ownerId.localeCompare(t.ownerId), _e = (e = {}, t) => {
|
|
305
305
|
let { strategy: n, ...r } = e, i = r.resource && r.viewId === void 0 ? {
|
|
306
306
|
...r,
|
|
307
307
|
viewId: null
|
|
@@ -325,7 +325,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
325
325
|
...i,
|
|
326
326
|
tabRetention: t
|
|
327
327
|
};
|
|
328
|
-
},
|
|
328
|
+
}, ve = (e) => ({
|
|
329
329
|
instanceId: e.widgetId,
|
|
330
330
|
panelId: e.contributionId,
|
|
331
331
|
placementIdentity: e.placementIdentity,
|
|
@@ -343,10 +343,10 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
343
343
|
hiddenByDefault: e.hiddenByDefault,
|
|
344
344
|
tabRetention: e.tabRetention,
|
|
345
345
|
tab: e.tab
|
|
346
|
-
}),
|
|
346
|
+
}), ye = (e) => {
|
|
347
347
|
let { closable: t, ownedPanelMenuIds: n, ...r } = e;
|
|
348
348
|
return r;
|
|
349
|
-
},
|
|
349
|
+
}, T = {
|
|
350
350
|
main: [
|
|
351
351
|
"main-header",
|
|
352
352
|
"main-left-menu",
|
|
@@ -365,18 +365,18 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
365
365
|
"side",
|
|
366
366
|
"side-right-menu"
|
|
367
367
|
]
|
|
368
|
-
},
|
|
368
|
+
}, E = Object.values(T).flat(), D = (e) => e.panels ?? f, be = (e) => Object.keys(T).find((t) => T[t].some((t) => t === e)), xe = (e, t) => !e || D(e).includes(t), O = (e, t) => {
|
|
369
369
|
if (t) return Object.values(e.regions).flatMap((e) => e.widgets).find((e) => e.widgetId === t);
|
|
370
|
-
},
|
|
371
|
-
let n = t.find((t) => t &&
|
|
370
|
+
}, k = (e, t) => {
|
|
371
|
+
let n = t.find((t) => t && O(e, t.widgetId));
|
|
372
372
|
return {
|
|
373
373
|
...e,
|
|
374
374
|
activeWidgetId: n?.widgetId,
|
|
375
375
|
activeResourceKey: n?.resourceKey
|
|
376
376
|
};
|
|
377
|
-
},
|
|
377
|
+
}, Se = (e, t) => {
|
|
378
378
|
if (t.length === 0) return e;
|
|
379
|
-
let n = new Set(Object.keys(
|
|
379
|
+
let n = new Set(Object.keys(T).filter((e) => T[e].some((e) => t.includes(e)))), r = t.some((t) => {
|
|
380
380
|
let n = e.regions[t];
|
|
381
381
|
return n.widgets.length > 0 || n.activeWidgetId !== void 0 || n.visible;
|
|
382
382
|
}), i = Object.values(e.locationSubPanelSelections ?? {}).some((e) => Object.keys(e).some((e) => n.has(e)));
|
|
@@ -393,17 +393,17 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
393
393
|
regions: a
|
|
394
394
|
};
|
|
395
395
|
return {
|
|
396
|
-
...
|
|
397
|
-
activeLocationWidgetId:
|
|
396
|
+
...k(s, [O(s, e.activeWidgetId)]),
|
|
397
|
+
activeLocationWidgetId: O(s, e.activeLocationWidgetId)?.widgetId,
|
|
398
398
|
locationSubPanelSelections: o
|
|
399
399
|
};
|
|
400
|
-
},
|
|
400
|
+
}, A = (e, t) => {
|
|
401
401
|
let n = new Set(t);
|
|
402
|
-
return
|
|
403
|
-
},
|
|
402
|
+
return Se(e, Object.keys(T).filter((e) => !n.has(e)).flatMap((e) => T[e]));
|
|
403
|
+
}, j = (e, t, n) => {
|
|
404
404
|
if (!t) {
|
|
405
405
|
let t = { ...e.regions };
|
|
406
|
-
for (let e of
|
|
406
|
+
for (let e of E) {
|
|
407
407
|
let n = t[e], r = n.widgets.filter((e) => e.role !== "content");
|
|
408
408
|
t[e] = {
|
|
409
409
|
...n,
|
|
@@ -415,30 +415,111 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
415
415
|
...e,
|
|
416
416
|
regions: t
|
|
417
417
|
};
|
|
418
|
-
return
|
|
419
|
-
...
|
|
420
|
-
activeLocationWidgetId:
|
|
418
|
+
return A({
|
|
419
|
+
...k(r, [O(r, e.activeWidgetId)]),
|
|
420
|
+
activeLocationWidgetId: O(r, e.activeLocationWidgetId)?.widgetId
|
|
421
421
|
}, n);
|
|
422
422
|
}
|
|
423
423
|
let r = { ...e.regions };
|
|
424
|
-
for (let e of
|
|
425
|
-
let i =
|
|
424
|
+
for (let e of E) r[e] = t.regions[e];
|
|
425
|
+
let i = A({
|
|
426
426
|
...e,
|
|
427
427
|
regions: r
|
|
428
428
|
}, n);
|
|
429
429
|
return {
|
|
430
|
-
...
|
|
431
|
-
activeLocationWidgetId:
|
|
430
|
+
...k(i, [O(i, t.activeWidgetId), O(i, e.activeWidgetId)]),
|
|
431
|
+
activeLocationWidgetId: O(i, t.activeLocationWidgetId)?.widgetId ?? O(i, e.activeLocationWidgetId)?.widgetId,
|
|
432
432
|
locationSubPanelSelections: t.locationSubPanelSelections
|
|
433
433
|
};
|
|
434
|
-
},
|
|
434
|
+
}, Ce = (e) => {
|
|
435
435
|
for (let t = e.length - 1; t >= 0; --t) i("mode disposal", () => e[t]?.dispose());
|
|
436
|
-
},
|
|
436
|
+
}, we = (e, t) => {
|
|
437
437
|
t !== e.layout.getLayout() && e.layout.restoreLayout(t);
|
|
438
|
-
},
|
|
438
|
+
}, M = (e, t) => e < t ? -1 : +(e > t), N = (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}`, P = (e) => e.kind === "shell" ? JSON.stringify([
|
|
439
|
+
"shell",
|
|
440
|
+
e.placementId,
|
|
441
|
+
e.instanceKey
|
|
442
|
+
]) : e.kind === "mode" ? JSON.stringify([
|
|
443
|
+
"mode",
|
|
444
|
+
e.modeId,
|
|
445
|
+
e.placementId,
|
|
446
|
+
e.instanceKey
|
|
447
|
+
]) : JSON.stringify([
|
|
448
|
+
"page",
|
|
449
|
+
e.pageId,
|
|
450
|
+
e.slotId,
|
|
451
|
+
e.instanceKey
|
|
452
|
+
]), F = (e, t) => {
|
|
453
|
+
let n = M(N(e.identity), N(t.identity));
|
|
454
|
+
return n === 0 ? M(e.identity.instanceKey, t.identity.instanceKey) : n;
|
|
455
|
+
}, Te = (e, t) => e.order - t.order || F(e, t), Ee = (e, t) => {
|
|
456
|
+
if (t.identity.kind === e) return;
|
|
457
|
+
let n = `${e[0]?.toUpperCase()}${e.slice(1)}`;
|
|
458
|
+
throw Error(`${n} placement must have a ${e} owner`);
|
|
459
|
+
}, De = (e) => {
|
|
460
|
+
let t = [], n = /* @__PURE__ */ new Set(), r = (e, r) => {
|
|
461
|
+
for (let i of r) {
|
|
462
|
+
if (Ee(e, i), !Number.isFinite(i.order)) throw Error("Placement order must be a finite number");
|
|
463
|
+
let r = P(i.identity);
|
|
464
|
+
if (n.has(r)) throw Error(`Duplicate placement identity: ${r}`);
|
|
465
|
+
n.add(r), t.push(i);
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
r("shell", e.shell), r("mode", e.mode ?? []), r("page", e.page ?? []);
|
|
469
|
+
let i = new Set((e.mode ?? []).map((e) => e.identity.kind === "mode" ? e.identity.modeId : "invalid-mode-owner")), a = new Set((e.page ?? []).map((e) => e.identity.kind === "page" ? e.identity.pageId : "invalid-page-owner"));
|
|
470
|
+
if (i.size > 1) throw Error("Mode placements must belong to one active mode");
|
|
471
|
+
if (a.size > 1) throw Error("Page placements must belong to one active page");
|
|
472
|
+
return t;
|
|
473
|
+
}, Oe = () => d.reduce((e, t) => (e[t] = [], e), {}), ke = (e) => {
|
|
474
|
+
let t = De(e), n = new Set((e.closed ?? []).map(P)), r = [], i = Oe();
|
|
475
|
+
for (let e of t) {
|
|
476
|
+
if (n.has(P(e.identity))) {
|
|
477
|
+
r.push(e);
|
|
478
|
+
continue;
|
|
479
|
+
}
|
|
480
|
+
i[e.region].push(e);
|
|
481
|
+
}
|
|
482
|
+
for (let e of d) i[e].sort(Te);
|
|
483
|
+
return r.sort(F), {
|
|
484
|
+
placements: d.flatMap((e) => i[e]),
|
|
485
|
+
closed: r,
|
|
486
|
+
regions: i,
|
|
487
|
+
visibleRegions: new Set(d.filter((e) => i[e].length > 0))
|
|
488
|
+
};
|
|
489
|
+
}, I = (e) => {
|
|
490
|
+
let t = /* @__PURE__ */ new Map();
|
|
491
|
+
for (let n of e) {
|
|
492
|
+
let e = P(n.identity);
|
|
493
|
+
if (t.has(e)) throw Error(`Duplicate placement identity: ${e}`);
|
|
494
|
+
t.set(e, n);
|
|
495
|
+
}
|
|
496
|
+
return t;
|
|
497
|
+
}, Ae = (e, t, n) => e.region === t.region && e.order === t.order && n(e.value, t.value), je = (e) => {
|
|
498
|
+
let t = I(e.current), n = I(e.desired), r = [], i = [], a = [], o = [];
|
|
499
|
+
for (let [o, s] of n) {
|
|
500
|
+
let n = t.get(o);
|
|
501
|
+
n ? Ae(n, s, e.valuesEqual) ? i.push(s) : a.push({
|
|
502
|
+
current: n,
|
|
503
|
+
desired: s
|
|
504
|
+
}) : r.push(s);
|
|
505
|
+
}
|
|
506
|
+
for (let [e, r] of t) n.has(e) || o.push(r);
|
|
507
|
+
let s = new Set((e.activate ?? []).map(P)), c = Array.from(s, (e) => {
|
|
508
|
+
let t = n.get(e);
|
|
509
|
+
if (!t) throw Error(`Cannot activate missing placement: ${e}`);
|
|
510
|
+
return t;
|
|
511
|
+
});
|
|
512
|
+
return r.sort(F), i.sort(F), a.sort((e, t) => F(e.desired, t.desired)), c.sort(F), o.sort(F), {
|
|
513
|
+
add: r,
|
|
514
|
+
retain: i,
|
|
515
|
+
update: a,
|
|
516
|
+
activate: c,
|
|
517
|
+
remove: o
|
|
518
|
+
};
|
|
519
|
+
}, L = (e) => Array.isArray(e) ? e : e.trim().split(/\s+/).filter(Boolean), Me = (e) => {
|
|
439
520
|
let t = L(e);
|
|
440
521
|
return t.length === 1 ? t[0] ?? "" : t;
|
|
441
|
-
},
|
|
522
|
+
}, Ne = (e) => {
|
|
442
523
|
let t = u({
|
|
443
524
|
name: "workbench.keybindings",
|
|
444
525
|
initialState: { keybindings: [] }
|
|
@@ -448,9 +529,9 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
448
529
|
registerKeybinding(n, i) {
|
|
449
530
|
if (n.action.kind === "command" && !e.commands.getCommand(n.action.commandId)) throw Error(`Keybinding command not registered: ${n.action.commandId}`);
|
|
450
531
|
let a = {
|
|
451
|
-
...
|
|
532
|
+
...C(i),
|
|
452
533
|
...n,
|
|
453
|
-
keybinding:
|
|
534
|
+
keybinding: Me(n.keybinding)
|
|
454
535
|
}, o = t.getState();
|
|
455
536
|
return t.setState({ keybindings: [...o.keybindings, a] }, !1, "registerKeybinding"), r(() => {
|
|
456
537
|
let e = t.getState(), n = e.keybindings.filter((e) => e !== a);
|
|
@@ -458,13 +539,13 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
458
539
|
});
|
|
459
540
|
},
|
|
460
541
|
listKeybindings() {
|
|
461
|
-
return [...t.getState().keybindings].sort(
|
|
542
|
+
return [...t.getState().keybindings].sort(w);
|
|
462
543
|
},
|
|
463
544
|
listActiveKeybindings() {
|
|
464
|
-
return t.getState().keybindings.filter((t) => e.context.matches(t.when)).sort(
|
|
545
|
+
return t.getState().keybindings.filter((t) => e.context.matches(t.when)).sort(w);
|
|
465
546
|
},
|
|
466
547
|
listCommandKeybindings() {
|
|
467
|
-
return [...t.getState().keybindings].sort(
|
|
548
|
+
return [...t.getState().keybindings].sort(w).flatMap((e) => e.action.kind === "command" ? [{
|
|
468
549
|
commandId: e.action.commandId,
|
|
469
550
|
keybinding: e.keybinding
|
|
470
551
|
}] : []);
|
|
@@ -500,19 +581,19 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
500
581
|
"side-left-menu": z(["attached"]),
|
|
501
582
|
side: R("attached", "detached", "scoped"),
|
|
502
583
|
"side-right-menu": z(["attached"])
|
|
503
|
-
},
|
|
584
|
+
}, Pe = (e) => B[e], V = () => d.filter((e) => B[e].role === "anchor"), H = (e) => {
|
|
504
585
|
let t = d.find((t) => {
|
|
505
586
|
let n = B[t];
|
|
506
587
|
return n.role === "anchor" && n.anchor === e;
|
|
507
588
|
});
|
|
508
589
|
if (!t) throw Error(`No region hosts anchor: ${e}`);
|
|
509
590
|
return t;
|
|
510
|
-
},
|
|
591
|
+
}, Fe = (e, t) => g(e.regions[H(t)])?.resource, Ie = ({ layout: e, primary: t, isInScope: n }) => {
|
|
511
592
|
let r = [];
|
|
512
|
-
for (let i of
|
|
513
|
-
let a =
|
|
593
|
+
for (let i of V()) {
|
|
594
|
+
let a = Pe(i);
|
|
514
595
|
if (a.role !== "anchor" || a.persistence === "primary") continue;
|
|
515
|
-
let o =
|
|
596
|
+
let o = g(e.regions[i]);
|
|
516
597
|
if (o?.resource) {
|
|
517
598
|
if (o.role === "sub-panel" && o.ownerResourceKey) {
|
|
518
599
|
r.push({
|
|
@@ -535,68 +616,68 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
535
616
|
}
|
|
536
617
|
}
|
|
537
618
|
return r;
|
|
538
|
-
},
|
|
619
|
+
}, U = (e) => [
|
|
539
620
|
"workbench",
|
|
540
621
|
"header",
|
|
541
622
|
e,
|
|
542
623
|
"leading"
|
|
543
|
-
],
|
|
624
|
+
], W = (e) => [
|
|
544
625
|
"workbench",
|
|
545
626
|
"header",
|
|
546
627
|
e,
|
|
547
628
|
"trailing"
|
|
548
|
-
],
|
|
629
|
+
], Le = (e) => [
|
|
549
630
|
"workbench",
|
|
550
631
|
"regionTabs",
|
|
551
632
|
e,
|
|
552
633
|
"leading"
|
|
553
|
-
],
|
|
634
|
+
], Re = (e) => [
|
|
554
635
|
"workbench",
|
|
555
636
|
"regionTabs",
|
|
556
637
|
e,
|
|
557
638
|
"add"
|
|
558
|
-
],
|
|
639
|
+
], ze = ["workbench", "commandPalette"], Be = U("nav"), Ve = W("nav"), He = (e) => [
|
|
559
640
|
"workbench",
|
|
560
641
|
"resource",
|
|
561
642
|
e,
|
|
562
643
|
"context"
|
|
563
|
-
],
|
|
644
|
+
], Ue = {
|
|
564
645
|
project: "folder-root",
|
|
565
646
|
workspace: "computer",
|
|
566
647
|
worktree: "git-pull-request-draft",
|
|
567
648
|
settings: "settings",
|
|
568
649
|
kanbanRenderer: "table-properties"
|
|
569
|
-
},
|
|
570
|
-
let i =
|
|
650
|
+
}, G = (e) => "viewId" in e && e.type === "view", K = "resource_hierarchy_cycle", q = (e) => [...e].sort((e, t) => t.priority - e.priority || e.id.localeCompare(t.id)), We = (t, n, r) => {
|
|
651
|
+
let i = q(t), a = [n], o = /* @__PURE__ */ new Set([`resource:${e(n)}`]), s = n;
|
|
571
652
|
for (;;) {
|
|
572
653
|
let t = i.find((e) => e.canResolve(s))?.getParent(s);
|
|
573
654
|
if (!t) break;
|
|
574
|
-
let n =
|
|
655
|
+
let n = G(t) ? `view:${t.viewId}` : `resource:${e(t)}`;
|
|
575
656
|
if (o.has(n)) {
|
|
576
657
|
r({
|
|
577
|
-
code:
|
|
658
|
+
code: K,
|
|
578
659
|
path: [...a],
|
|
579
|
-
repeatedUri:
|
|
660
|
+
repeatedUri: G(t) ? n : e(t)
|
|
580
661
|
});
|
|
581
662
|
break;
|
|
582
663
|
}
|
|
583
|
-
if (a.unshift(t), o.add(n),
|
|
664
|
+
if (a.unshift(t), o.add(n), G(t)) break;
|
|
584
665
|
s = t;
|
|
585
666
|
}
|
|
586
667
|
return a;
|
|
587
|
-
},
|
|
668
|
+
}, J = "workbench.resource.type", Y = "workbench.resource.id", X = (e) => `workbench.resource.metadata.${e}`, Z = "workbench.selectionResourceKey", Ge = (e) => typeof e == "string" || typeof e == "number" || typeof e == "boolean", Ke = (e) => {
|
|
588
669
|
if (!e) return {};
|
|
589
670
|
let t = {
|
|
590
|
-
[
|
|
591
|
-
[
|
|
671
|
+
[J]: e.type,
|
|
672
|
+
[Y]: e.id
|
|
592
673
|
};
|
|
593
|
-
for (let [n, r] of Object.entries(e.metadata ?? {}))
|
|
674
|
+
for (let [n, r] of Object.entries(e.metadata ?? {})) Ge(r) && (t[X(n)] = r);
|
|
594
675
|
return t;
|
|
595
|
-
},
|
|
676
|
+
}, qe = (t) => ({ [Z]: e(t) }), Je = (t) => {
|
|
596
677
|
if (!t) return [];
|
|
597
|
-
let n = t.metadata?.[
|
|
678
|
+
let n = t.metadata?.[Z];
|
|
598
679
|
return typeof n != "string" || n === e(t) ? [e(t)] : [e(t), n];
|
|
599
|
-
},
|
|
680
|
+
}, Ye = (e = {}) => {
|
|
600
681
|
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), i = u({
|
|
601
682
|
name: "workbench.resources",
|
|
602
683
|
initialState: {
|
|
@@ -617,7 +698,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
617
698
|
let n = i.getState();
|
|
618
699
|
if (n.kinds[e.kind]) throw Error(`Resource kind already registered: ${e.kind}`);
|
|
619
700
|
let a = {
|
|
620
|
-
...
|
|
701
|
+
...C(t),
|
|
621
702
|
...e
|
|
622
703
|
};
|
|
623
704
|
return i.setState({
|
|
@@ -640,7 +721,7 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
640
721
|
return i.getState().kinds[e];
|
|
641
722
|
},
|
|
642
723
|
listKinds() {
|
|
643
|
-
return Object.values(i.getState().kinds).sort(
|
|
724
|
+
return Object.values(i.getState().kinds).sort(w);
|
|
644
725
|
},
|
|
645
726
|
registerProvider(e) {
|
|
646
727
|
let t = i.getState();
|
|
@@ -693,13 +774,13 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
693
774
|
});
|
|
694
775
|
},
|
|
695
776
|
listHierarchyProviders() {
|
|
696
|
-
return
|
|
777
|
+
return q(Object.values(i.getState().hierarchyProviders));
|
|
697
778
|
},
|
|
698
779
|
walkHierarchy(t) {
|
|
699
|
-
return t ?
|
|
780
|
+
return t ? We(Object.values(i.getState().hierarchyProviders), t, (e) => {
|
|
700
781
|
for (let t of n) t(e);
|
|
701
782
|
}).map((t) => {
|
|
702
|
-
if (!
|
|
783
|
+
if (!G(t)) return t;
|
|
703
784
|
let n = e.resolveView?.(t.viewId);
|
|
704
785
|
return n ? {
|
|
705
786
|
...t,
|
|
@@ -714,16 +795,40 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
714
795
|
});
|
|
715
796
|
}
|
|
716
797
|
};
|
|
717
|
-
},
|
|
798
|
+
}, Xe = (t, n = "view") => JSON.stringify([
|
|
799
|
+
n,
|
|
800
|
+
t.placementIdentity ? P(t.placementIdentity) : t.instanceId,
|
|
801
|
+
e(t.resource) ?? null
|
|
802
|
+
]), Ze = async (e, t) => {
|
|
803
|
+
let n = new AbortController(), r = () => n.abort(t?.reason);
|
|
804
|
+
t?.aborted ? r() : t?.addEventListener("abort", r, { once: !0 });
|
|
805
|
+
let i;
|
|
806
|
+
try {
|
|
807
|
+
let r = await Promise.allSettled(e.map(async (e) => {
|
|
808
|
+
try {
|
|
809
|
+
return n.signal.throwIfAborted(), await e(n.signal);
|
|
810
|
+
} catch (e) {
|
|
811
|
+
throw i ??= e, n.abort(e), e;
|
|
812
|
+
}
|
|
813
|
+
}));
|
|
814
|
+
if (i !== void 0) throw i;
|
|
815
|
+
return t?.throwIfAborted(), r.map((e) => {
|
|
816
|
+
if (e.status === "rejected") throw e.reason;
|
|
817
|
+
return e.value;
|
|
818
|
+
});
|
|
819
|
+
} finally {
|
|
820
|
+
t?.removeEventListener("abort", r);
|
|
821
|
+
}
|
|
822
|
+
}, Qe = (e) => e.replace(/^['"]|['"]$/g, ""), $e = (e, t) => {
|
|
718
823
|
let n = t.trim();
|
|
719
824
|
if (n.length === 0) return !0;
|
|
720
825
|
let r = n.match(/^([A-Za-z0-9_.-]+)\s*(==|!=)\s*(.+)$/);
|
|
721
826
|
if (r) {
|
|
722
|
-
let [, t, n, i] = r, a = e[t ?? ""], o =
|
|
827
|
+
let [, t, n, i] = r, a = e[t ?? ""], o = Qe(i ?? "");
|
|
723
828
|
return n === "==" ? String(a) === o : String(a) !== o;
|
|
724
829
|
}
|
|
725
830
|
return n.startsWith("!") ? !e[n.slice(1)] : !!e[n];
|
|
726
|
-
}, Q = (e, t) => !t || t.split("||").some((t) => t.split("&&").every((t) =>
|
|
831
|
+
}, Q = (e, t) => !t || t.split("||").some((t) => t.split("&&").every((t) => $e(e, t))), et = () => {
|
|
727
832
|
let e = u({
|
|
728
833
|
name: "workbench.context",
|
|
729
834
|
initialState: { values: {} }
|
|
@@ -790,14 +895,14 @@ var a = 0, o = /* @__PURE__ */ new Map(), s = (e, t) => {
|
|
|
790
895
|
return Q(e.getState().values, t);
|
|
791
896
|
}
|
|
792
897
|
};
|
|
793
|
-
}, $ = /* @__PURE__ */ new WeakMap(),
|
|
898
|
+
}, $ = /* @__PURE__ */ new WeakMap(), tt = (e, t) => {
|
|
794
899
|
$.set(e, t);
|
|
795
|
-
},
|
|
900
|
+
}, nt = (e) => {
|
|
796
901
|
let t = $.get(e);
|
|
797
902
|
if (!t) throw Error("Workbench renderers are not initialized");
|
|
798
903
|
return t;
|
|
799
904
|
};
|
|
800
905
|
//#endregion
|
|
801
|
-
export {
|
|
906
|
+
export { ie as $, L as A, j as B, Le as C, Ie as D, Fe as E, Ce as F, C as G, ye as H, be as I, me as J, fe as K, xe as L, P as M, je as N, H as O, A as P, se as Q, D as R, Re as S, Ve as T, ve as U, _e as V, w as W, he as X, S as Y, ce as Z, Ue as _, s as _t, Ze as a, b as at, He as b, Ke as c, le as ct, Y as d, p as dt, ne as et, X as f, ee as ft, K as g, c as gt, G as h, u as ht, Q as i, g as it, ke as j, Ne as k, qe as l, y as lt, Z as m, d as mt, tt as n, re as nt, Xe as o, oe as ot, J as p, f as pt, de as q, et as r, x as rt, Ye as s, ae as st, nt as t, h as tt, Je as u, m as ut, U as v, i as vt, Be as w, ze as x, W as y, r as yt, we as z };
|
|
802
907
|
|
|
803
|
-
//# sourceMappingURL=workbench-renderers-
|
|
908
|
+
//# sourceMappingURL=workbench-renderers-RPeMVtTc.js.map
|