@pstdio/workbench 0.44.0-nightly.20261017030225 → 0.44.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.
Files changed (30) hide show
  1. package/dist/extensions.d.ts +163 -1040
  2. package/dist/extensions.js +1194 -808
  3. package/dist/extensions.js.map +1 -1
  4. package/dist/{file-renderer-view-r1qeAkQT.js → file-renderer-view-C5dyoQQW.js} +211 -214
  5. package/dist/file-renderer-view-C5dyoQQW.js.map +1 -0
  6. package/dist/{index-zQfxsv7O.d.ts → index-8x-QT7wg.d.ts} +1994 -533
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.js +2052 -2002
  9. package/dist/index.js.map +1 -1
  10. package/dist/{kanban-presentation-BtBGjJnW.d.ts → kanban-presentation-pexk_oCY.d.ts} +1 -1
  11. package/dist/layout-tab-presentation-Bz6EgFEa.js +15 -0
  12. package/dist/layout-tab-presentation-Bz6EgFEa.js.map +1 -0
  13. package/dist/{navigation-tree-registry-CIwRvLFJ.js → navigation-tree-registry-C5l3eO3n.js} +2 -2
  14. package/dist/{navigation-tree-registry-CIwRvLFJ.js.map → navigation-tree-registry-C5l3eO3n.js.map} +1 -1
  15. package/dist/react-C-HbdPSw.js +8881 -0
  16. package/dist/react-C-HbdPSw.js.map +1 -0
  17. package/dist/react.d.ts +75 -29
  18. package/dist/react.js +2 -2
  19. package/dist/storage.d.ts +3 -2
  20. package/dist/storage.js +142 -123
  21. package/dist/storage.js.map +1 -1
  22. package/dist/webview-runtime.js +1 -1
  23. package/dist/workbench-renderers-Bz_dLyHW.js +4775 -0
  24. package/dist/workbench-renderers-Bz_dLyHW.js.map +1 -0
  25. package/package.json +3 -3
  26. package/dist/file-renderer-view-r1qeAkQT.js.map +0 -1
  27. package/dist/react-CoeiP5wi.js +0 -10939
  28. package/dist/react-CoeiP5wi.js.map +0 -1
  29. package/dist/workbench-renderers-Bj4sazP5.js +0 -976
  30. package/dist/workbench-renderers-Bj4sazP5.js.map +0 -1
@@ -1,31 +1,31 @@
1
- import { c as e, t } from "./workbench-renderers-Bj4sazP5.js";
2
- import { a as n, o as r, ot as i, s as a, z as o } from "./react-CoeiP5wi.js";
3
- import { resourceKey as s } from "@pstdio/sdk/extensions";
4
- import { c } from "react/compiler-runtime";
5
- import { Box as l, Button as u, Center as d, Flex as f, Image as p, Spinner as m, Text as h } from "@chakra-ui/react";
6
- import { AlertMessage as g, EmptyState as _, Header as v, resolveFileIconElement as y, useFileIconThemePreference as b } from "@pstdio/ui";
7
- import { jsx as x, jsxs as S } from "react/jsx-runtime";
8
- import { useEffect as C, useLayoutEffect as w, useRef as T, useState as E } from "react";
9
- import { CodeEditor as D } from "@pstdio/ui/diff";
10
- import { MarkdownEditor as ee } from "@pstdio/ui/rich-text";
1
+ import { g as e, t } from "./workbench-renderers-Bz_dLyHW.js";
2
+ import { V as n, a as r, c as i, o as a, pt as o, s } from "./react-C-HbdPSw.js";
3
+ import { resourceKey as c } from "@pstdio/sdk/extensions";
4
+ import { c as l } from "react/compiler-runtime";
5
+ import { Box as u, Button as d, Center as f, Flex as p, Image as m, Spinner as h, Text as g } from "@chakra-ui/react";
6
+ import { AlertMessage as _, EmptyState as v, Header as y, resolveFileIconElement as b, useFileIconThemePreference as x } from "@pstdio/ui";
7
+ import { useEffect as S, useLayoutEffect as C, useRef as w, useState as T } from "react";
8
+ import { jsx as E, jsxs as D } from "react/jsx-runtime";
9
+ import { CodeEditor as ee } from "@pstdio/ui/diff";
10
+ import { MarkdownEditor as O } from "@pstdio/ui/rich-text";
11
11
  //#region src/core/registries/renderers/file-section-navigation.ts
12
- var O = "pstdio.fileSectionNavigation", k = (e) => {
12
+ var k = "pstdio.fileSectionNavigation", A = (e) => {
13
13
  if (!e || typeof e != "object") return !1;
14
14
  let t = e, n = t.occurrence === void 0 || typeof t.occurrence == "number" && Number.isInteger(t.occurrence) && t.occurrence >= 0;
15
15
  return typeof t.id == "string" && typeof t.heading == "string" && n;
16
- }, A = (e) => {
17
- let t = e?.metadata?.[O];
16
+ }, j = (e) => {
17
+ let t = e?.metadata?.[k];
18
18
  if (!t || typeof t != "object") return;
19
19
  let n = t;
20
- if (typeof n.treeId == "string" && typeof n.targetNodeId == "string" && Array.isArray(n.anchors) && n.anchors.every(k)) return {
20
+ if (typeof n.treeId == "string" && typeof n.targetNodeId == "string" && Array.isArray(n.anchors) && n.anchors.every(A)) return {
21
21
  treeId: n.treeId,
22
22
  targetNodeId: n.targetNodeId,
23
23
  anchors: n.anchors
24
24
  };
25
- }, j = (e, t) => t && e.anchors.some((e) => e.id === t) ? t : e.targetNodeId, te = (e) => {
25
+ }, M = (e, t) => t && e.anchors.some((e) => e.id === t) ? t : e.targetNodeId, te = (e) => {
26
26
  let { previous: t, current: n, currentResourceKey: r, selectedNodeId: i } = e;
27
27
  return !t || !i || !t.anchorIds.includes(i) || n?.targetNodeId === i ? !1 : !n || t.treeId !== n.treeId || t.resourceKey !== r;
28
- }, M = /* @__PURE__ */ new Set([
28
+ }, ne = /* @__PURE__ */ new Set([
29
29
  "png",
30
30
  "jpg",
31
31
  "jpeg",
@@ -35,11 +35,11 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
35
35
  "avif",
36
36
  "bmp",
37
37
  "ico"
38
- ]), ne = /* @__PURE__ */ new Set([
38
+ ]), N = /* @__PURE__ */ new Set([
39
39
  "md",
40
40
  "markdown",
41
41
  "txt"
42
- ]), N = {
42
+ ]), P = {
43
43
  ts: "typescript",
44
44
  tsx: "typescript",
45
45
  js: "javascript",
@@ -81,20 +81,20 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
81
81
  md: "markdown",
82
82
  markdown: "markdown",
83
83
  txt: "plaintext"
84
- }, P = (e) => {
84
+ }, F = (e) => {
85
85
  if (!e) return "";
86
86
  let t = e.lastIndexOf(".");
87
87
  return t < 0 || t === e.length - 1 ? "" : e.slice(t + 1).toLowerCase();
88
- }, F = (e, t) => t?.startsWith("image/") ? !0 : M.has(P(e)), I = (e, t) => {
89
- if (F(e, t)) return "image";
90
- let n = P(e);
91
- return !ne.has(n) && n in N ? "code" : "markdown";
92
- }, L = (e) => N[P(e)] ?? "plaintext", R = (e, t) => {
88
+ }, I = (e, t) => t?.startsWith("image/") ? !0 : ne.has(F(e)), L = (e, t) => {
89
+ if (I(e, t)) return "image";
90
+ let n = F(e);
91
+ return !N.has(n) && n in P ? "code" : "markdown";
92
+ }, R = (e) => P[F(e)] ?? "plaintext", re = (e, t) => {
93
93
  if (e.emptyState) return {
94
94
  kind: "empty",
95
95
  isEditable: !1
96
96
  };
97
- let n = I(e.fileName, e.mimeType);
97
+ let n = L(e.fileName, e.mimeType);
98
98
  if (n === "image") return {
99
99
  kind: "image",
100
100
  isEditable: !1
@@ -103,58 +103,58 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
103
103
  return n === "code" || e.textRenderer === "monaco" ? {
104
104
  kind: "code",
105
105
  isEditable: r,
106
- language: L(e.fileName)
106
+ language: R(e.fileName)
107
107
  } : {
108
108
  kind: "markdown",
109
109
  isEditable: r
110
110
  };
111
- }, re = (e) => {
112
- let t = c(49), { content: n, position: r, editorKey: i, errorNotice: a, contributionCanSave: o, onActiveSectionChange: s, onChange: u, rendererRef: m, sectionNavigation: v, title: y } = e, b;
113
- t[0] !== n || t[1] !== o ? (b = R(n, o), t[0] = n, t[1] = o, t[2] = b) : b = t[2];
114
- let C = b, w;
115
- t[3] !== r || t[4] !== C.kind ? (w = r && C.kind !== "code" && C.kind !== "empty" ? /* @__PURE__ */ x(g, {
111
+ }, ie = (e) => {
112
+ let t = l(49), { content: n, position: r, editorKey: i, errorNotice: a, contributionCanSave: o, onActiveSectionChange: s, onChange: c, rendererRef: d, sectionNavigation: h, title: y } = e, b;
113
+ t[0] !== n || t[1] !== o ? (b = re(n, o), t[0] = n, t[1] = o, t[2] = b) : b = t[2];
114
+ let x = b, S;
115
+ t[3] !== r || t[4] !== x.kind ? (S = r && x.kind !== "code" && x.kind !== "empty" ? /* @__PURE__ */ E(_, {
116
116
  status: "info",
117
117
  title: "Source location unavailable",
118
118
  children: "This preview does not support source line selection."
119
- }) : null, t[3] = r, t[4] = C.kind, t[5] = w) : w = t[5];
120
- let T = w;
121
- if (C.kind === "empty") {
119
+ }) : null, t[3] = r, t[4] = x.kind, t[5] = S) : S = t[5];
120
+ let C = S;
121
+ if (x.kind === "empty") {
122
122
  let e = n.emptyState?.title ?? "Select a file", r = n.emptyState?.description, i;
123
- t[6] !== e || t[7] !== r ? (i = /* @__PURE__ */ x(_, {
123
+ t[6] !== e || t[7] !== r ? (i = /* @__PURE__ */ E(v, {
124
124
  flex: "1",
125
125
  minH: "0",
126
126
  title: e,
127
127
  description: r
128
128
  }), t[6] = e, t[7] = r, t[8] = i) : i = t[8];
129
129
  let o;
130
- return t[9] !== a || t[10] !== T || t[11] !== i ? (o = /* @__PURE__ */ S(f, {
130
+ return t[9] !== a || t[10] !== C || t[11] !== i ? (o = /* @__PURE__ */ D(p, {
131
131
  direction: "column",
132
132
  h: "full",
133
133
  minH: "0",
134
134
  bg: "bg",
135
135
  children: [
136
136
  a,
137
- T,
137
+ C,
138
138
  i
139
139
  ]
140
- }), t[9] = a, t[10] = T, t[11] = i, t[12] = o) : o = t[12], o;
140
+ }), t[9] = a, t[10] = C, t[11] = i, t[12] = o) : o = t[12], o;
141
141
  }
142
- if (C.kind === "image") {
142
+ if (x.kind === "image") {
143
143
  if (!n.dataUrl) {
144
144
  let e;
145
- return t[13] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ x(d, {
145
+ return t[13] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ E(f, {
146
146
  h: "full",
147
147
  minH: "0",
148
148
  bg: "bg",
149
149
  p: "md",
150
- children: /* @__PURE__ */ x(h, {
150
+ children: /* @__PURE__ */ E(g, {
151
151
  color: "fg.muted",
152
152
  children: "This image preview is unavailable."
153
153
  })
154
154
  }), t[13] = e) : e = t[13], e;
155
155
  }
156
156
  let e = n.fileName ?? y, r;
157
- t[14] !== n.dataUrl || t[15] !== e ? (r = /* @__PURE__ */ x(p, {
157
+ t[14] !== n.dataUrl || t[15] !== e ? (r = /* @__PURE__ */ E(m, {
158
158
  src: n.dataUrl,
159
159
  alt: e,
160
160
  maxW: "100%",
@@ -162,72 +162,72 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
162
162
  objectFit: "contain"
163
163
  }), t[14] = n.dataUrl, t[15] = e, t[16] = r) : r = t[16];
164
164
  let i;
165
- t[17] !== m || t[18] !== r ? (i = /* @__PURE__ */ x(d, {
166
- ref: m,
165
+ t[17] !== d || t[18] !== r ? (i = /* @__PURE__ */ E(f, {
166
+ ref: d,
167
167
  flex: "1",
168
168
  minH: "0",
169
169
  p: "md",
170
170
  overflow: "auto",
171
171
  children: r
172
- }), t[17] = m, t[18] = r, t[19] = i) : i = t[19];
172
+ }), t[17] = d, t[18] = r, t[19] = i) : i = t[19];
173
173
  let o;
174
- return t[20] !== a || t[21] !== T || t[22] !== i ? (o = /* @__PURE__ */ S(f, {
174
+ return t[20] !== a || t[21] !== C || t[22] !== i ? (o = /* @__PURE__ */ D(p, {
175
175
  direction: "column",
176
176
  h: "full",
177
177
  minH: "0",
178
178
  bg: "bg",
179
179
  children: [
180
180
  a,
181
- T,
181
+ C,
182
182
  i
183
183
  ]
184
- }), t[20] = a, t[21] = T, t[22] = i, t[23] = o) : o = t[23], o;
184
+ }), t[20] = a, t[21] = C, t[22] = i, t[23] = o) : o = t[23], o;
185
185
  }
186
- if (C.kind === "code") {
187
- let e = n.content ?? "", o = C.isEditable ? u : void 0, s;
188
- t[24] !== n.fileName || t[25] !== i || t[26] !== r || t[27] !== C.isEditable || t[28] !== C.language || t[29] !== e || t[30] !== o ? (s = /* @__PURE__ */ x(l, {
186
+ if (x.kind === "code") {
187
+ let e = n.content ?? "", o = x.isEditable ? c : void 0, s;
188
+ t[24] !== n.fileName || t[25] !== i || t[26] !== r || t[27] !== x.isEditable || t[28] !== x.language || t[29] !== e || t[30] !== o ? (s = /* @__PURE__ */ E(u, {
189
189
  flex: "1",
190
190
  minH: "0",
191
- children: /* @__PURE__ */ x(D, {
192
- language: C.language,
191
+ children: /* @__PURE__ */ E(ee, {
192
+ language: x.language,
193
193
  position: r,
194
194
  fileName: n.fileName,
195
195
  defaultCode: e,
196
- isEditable: C.isEditable,
196
+ isEditable: x.isEditable,
197
197
  showLineNumbers: !0,
198
198
  onChange: o
199
199
  }, i)
200
- }), t[24] = n.fileName, t[25] = i, t[26] = r, t[27] = C.isEditable, t[28] = C.language, t[29] = e, t[30] = o, t[31] = s) : s = t[31];
201
- let c;
202
- return t[32] !== a || t[33] !== T || t[34] !== s ? (c = /* @__PURE__ */ S(f, {
200
+ }), t[24] = n.fileName, t[25] = i, t[26] = r, t[27] = x.isEditable, t[28] = x.language, t[29] = e, t[30] = o, t[31] = s) : s = t[31];
201
+ let l;
202
+ return t[32] !== a || t[33] !== C || t[34] !== s ? (l = /* @__PURE__ */ D(p, {
203
203
  direction: "column",
204
204
  h: "full",
205
205
  minH: "0",
206
206
  bg: "bg",
207
207
  children: [
208
208
  a,
209
- T,
209
+ C,
210
210
  s
211
211
  ]
212
- }), t[32] = a, t[33] = T, t[34] = s, t[35] = c) : c = t[35], c;
212
+ }), t[32] = a, t[33] = C, t[34] = s, t[35] = l) : l = t[35], l;
213
213
  }
214
- let E = n.content ?? "", O = C.isEditable ? n.placeholder ?? "Write…" : void 0, k = C.isEditable ? u : void 0, A;
215
- t[36] !== i || t[37] !== s || t[38] !== C.isEditable || t[39] !== v || t[40] !== E || t[41] !== O || t[42] !== k ? (A = /* @__PURE__ */ x(l, {
214
+ let w = n.content ?? "", T = x.isEditable ? n.placeholder ?? "Write…" : void 0, k = x.isEditable ? c : void 0, A;
215
+ t[36] !== i || t[37] !== s || t[38] !== x.isEditable || t[39] !== h || t[40] !== w || t[41] !== T || t[42] !== k ? (A = /* @__PURE__ */ E(u, {
216
216
  flex: "1",
217
217
  minH: "0",
218
218
  overflowY: "auto",
219
- children: /* @__PURE__ */ x(ee, {
220
- defaultState: E,
221
- isEditable: C.isEditable,
222
- sectionNavigation: v,
223
- placeholder: O,
219
+ children: /* @__PURE__ */ E(O, {
220
+ defaultState: w,
221
+ isEditable: x.isEditable,
222
+ sectionNavigation: h,
223
+ placeholder: T,
224
224
  onActiveSectionChange: s,
225
225
  onChange: k
226
226
  }, i)
227
- }), t[36] = i, t[37] = s, t[38] = C.isEditable, t[39] = v, t[40] = E, t[41] = O, t[42] = k, t[43] = A) : A = t[43];
227
+ }), t[36] = i, t[37] = s, t[38] = x.isEditable, t[39] = h, t[40] = w, t[41] = T, t[42] = k, t[43] = A) : A = t[43];
228
228
  let j;
229
- return t[44] !== a || t[45] !== T || t[46] !== m || t[47] !== A ? (j = /* @__PURE__ */ S(f, {
230
- ref: m,
229
+ return t[44] !== a || t[45] !== C || t[46] !== d || t[47] !== A ? (j = /* @__PURE__ */ D(p, {
230
+ ref: d,
231
231
  direction: "column",
232
232
  h: "full",
233
233
  minH: "0",
@@ -235,11 +235,11 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
235
235
  bg: "bg",
236
236
  children: [
237
237
  a,
238
- T,
238
+ C,
239
239
  A
240
240
  ]
241
- }), t[44] = a, t[45] = T, t[46] = m, t[47] = A, t[48] = j) : j = t[48], j;
242
- }, ie = (e) => {
241
+ }), t[44] = a, t[45] = C, t[46] = d, t[47] = A, t[48] = j) : j = t[48], j;
242
+ }, ae = (e) => {
243
243
  let t, n = !1, r, i = null, a = null, o, s, c = !1, l = null, u = 0, d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set(), p = (e) => e instanceof Error ? e.message : "Failed to save file.", m = () => ({
244
244
  dirty: i !== null || a !== null && a.value !== t,
245
245
  saving: a !== null,
@@ -348,22 +348,22 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
348
348
  g(), S();
349
349
  }
350
350
  };
351
- }, ae = (e) => {
352
- let t = c(7), { message: n, onRetry: r } = e, i;
353
- t[0] === n ? i = t[1] : (i = /* @__PURE__ */ x(h, {
351
+ }, oe = (e) => {
352
+ let t = l(7), { message: n, onRetry: r } = e, i;
353
+ t[0] === n ? i = t[1] : (i = /* @__PURE__ */ E(g, {
354
354
  color: "fg.muted",
355
355
  textStyle: "label/S/regular",
356
356
  children: n
357
357
  }), t[0] = n, t[1] = i);
358
358
  let a;
359
- t[2] === r ? a = t[3] : (a = r ? /* @__PURE__ */ x(u, {
359
+ t[2] === r ? a = t[3] : (a = r ? /* @__PURE__ */ E(d, {
360
360
  size: "2xs",
361
361
  variant: "subtle",
362
362
  onClick: r,
363
363
  children: "Retry"
364
364
  }) : null, t[2] = r, t[3] = a);
365
365
  let o;
366
- return t[4] !== i || t[5] !== a ? (o = /* @__PURE__ */ S(f, {
366
+ return t[4] !== i || t[5] !== a ? (o = /* @__PURE__ */ D(p, {
367
367
  flex: "none",
368
368
  alignItems: "center",
369
369
  justifyContent: "space-between",
@@ -375,32 +375,32 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
375
375
  py: "xs",
376
376
  children: [i, a]
377
377
  }), t[4] = i, t[5] = a, t[6] = o) : o = t[6], o;
378
- }, z = (e) => Array.isArray(e) ? e.map(z) : !e || typeof e != "object" ? e : Object.fromEntries(Object.entries(e).sort(([e], [t]) => e.localeCompare(t)).map(([e, t]) => [e, z(t)])), oe = (e) => {
378
+ }, z = (e) => Array.isArray(e) ? e.map(z) : !e || typeof e != "object" ? e : Object.fromEntries(Object.entries(e).sort(([e], [t]) => e.localeCompare(t)).map(([e, t]) => [e, z(t)])), se = (e) => {
379
379
  let { fileRendererId: t, resource: n } = e, r = n ? z({
380
380
  id: n.id,
381
381
  type: n.type,
382
382
  metadata: n.metadata
383
- }) : null, i = `${JSON.stringify(s(n))}:${t}:${JSON.stringify(r)}`;
383
+ }) : null, i = `${JSON.stringify(c(n))}:${t}:${JSON.stringify(r)}`;
384
384
  return e.pageParams ? `${i}:${JSON.stringify(z(e.pageParams))}` : i;
385
- }, se = (e, t) => e?.loadKey === t, ce = (e) => {
386
- let t = c(9), { fileName: n, filePath: r } = e, { activeFileIconTheme: i } = b(), a;
387
- t[0] !== i || t[1] !== n ? (a = y(n, { theme: i }), t[0] = i, t[1] = n, t[2] = a) : a = t[2];
385
+ }, ce = (e, t) => e?.loadKey === t, B = (e) => {
386
+ let t = l(9), { fileName: n, filePath: r } = e, { activeFileIconTheme: i } = x(), a;
387
+ t[0] !== i || t[1] !== n ? (a = b(n, { theme: i }), t[0] = i, t[1] = n, t[2] = a) : a = t[2];
388
388
  let o = `File path ${r}`, s;
389
- t[3] !== r || t[4] !== o ? (s = /* @__PURE__ */ x(h, {
389
+ t[3] !== r || t[4] !== o ? (s = /* @__PURE__ */ E(g, {
390
390
  "aria-label": o,
391
391
  textStyle: "label/S/regular",
392
392
  color: "fg.muted",
393
393
  truncate: !0,
394
394
  children: r
395
395
  }), t[3] = r, t[4] = o, t[5] = s) : s = t[5];
396
- let l;
397
- return t[6] !== a || t[7] !== s ? (l = /* @__PURE__ */ S(v, {
396
+ let c;
397
+ return t[6] !== a || t[7] !== s ? (c = /* @__PURE__ */ D(y, {
398
398
  variant: "narrow",
399
399
  flexShrink: 0,
400
400
  gap: "2xs",
401
401
  bg: "bg",
402
402
  children: [a, s]
403
- }), t[6] = a, t[7] = s, t[8] = l) : l = t[8], l;
403
+ }), t[6] = a, t[7] = s, t[8] = c) : c = t[8], c;
404
404
  }, le = 600, ue = (e) => e instanceof Error ? e.message : "Failed to load file.", de = (e) => {
405
405
  let { workbench: n, navigation: r, sectionId: i } = e;
406
406
  if (!r || !t(n).getTreeRenderer(r.treeId)) return;
@@ -415,152 +415,149 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
415
415
  let r = t(e).getTreeRenderer(n.treeId) ? t(e).getTreeState(n.treeId).selectedNodeId : void 0;
416
416
  return {
417
417
  anchors: n.anchors,
418
- targetId: j(n, r)
418
+ targetId: M(n, r)
419
419
  };
420
420
  }, pe = (e, t) => {
421
- let n = c(2), r;
421
+ let n = l(2), r;
422
422
  return n[0] === t ? r = n[1] : (r = (e) => {
423
423
  let n = e.location;
424
- if (!n?.position || s(n.resource) !== s(t)) return;
424
+ if (!n?.position || c(n.resource) !== c(t)) return;
425
425
  let r = Object.values(e.pages).find((e) => e.ref.id === n.page.id && e.ref.extensionId === n.page.extensionId)?.document?.metadataKey;
426
426
  if (r && n.resource?.metadata?.[r] === t?.metadata?.[r]) return n.position;
427
- }, n[0] = t, n[1] = r), i(e.pages.store, r);
427
+ }, n[0] = t, n[1] = r), o(e.pages.store, r);
428
428
  }, me = (e) => {
429
- let t = c(3), { file: n } = e, r;
430
- return t[0] !== n.fileName || t[1] !== n.filePath ? (r = n.filePath ? /* @__PURE__ */ x(ce, {
429
+ let t = l(3), { file: n } = e, r;
430
+ return t[0] !== n.fileName || t[1] !== n.filePath ? (r = n.filePath ? /* @__PURE__ */ E(B, {
431
431
  fileName: n.fileName ?? n.filePath,
432
432
  filePath: n.filePath
433
433
  }) : null, t[0] = n.fileName, t[1] = n.filePath, t[2] = r) : r = t[2], r;
434
- }, B = (i) => {
435
- let p = c(72), { workbench: g, contribution: _ } = i, v = i.placement?.resource, y = pe(g, v), b, D;
436
- p[0] !== v || p[1] !== g ? (b = A(v), D = fe(g, b), p[0] = v, p[1] = g, p[2] = b, p[3] = D) : (b = p[2], D = p[3]);
437
- let ee = D, O = o(g, i.placement), k = oe({
434
+ }, he = (t, n, r) => t ? e(t) : JSON.stringify([
435
+ "file",
436
+ n,
437
+ r
438
+ ]), V = (e) => {
439
+ let o = l(72), { workbench: m, contribution: _ } = e, v = e.placement?.resource, y = pe(m, v), b, x;
440
+ o[0] !== v || o[1] !== m ? (b = j(v), x = fe(m, b), o[0] = v, o[1] = m, o[2] = b, o[3] = x) : (b = o[2], x = o[3]);
441
+ let ee = x, O = n(m, e.placement), k = se({
438
442
  fileRendererId: _.id,
439
443
  resource: v,
440
444
  pageParams: O
441
- }), [j, M] = E(null), [ne, N] = E(null), P;
442
- p[4] === Symbol.for("react.memo_cache_sentinel") ? (P = {
445
+ }), [A, M] = T(null), [ne, N] = T(null), P;
446
+ o[4] === Symbol.for("react.memo_cache_sentinel") ? (P = {
443
447
  dirty: !1,
444
448
  saving: !1
445
- }, p[4] = P) : P = p[4];
446
- let [F, I] = E(P), L = T(null), R = T(void 0), z = T(null), ce = T(null), B, ge;
447
- p[5] !== v || p[6] !== b || p[7] !== g ? (B = () => {
448
- let e = ce.current, n = e && t(g).getTreeRenderer(e.treeId) ? t(g).getTreeState(e.treeId).selectedNodeId : void 0;
449
+ }, o[4] = P) : P = o[4];
450
+ let [F, I] = T(P), L = w(null), R = w(void 0), re = w(null), z = w(null), B, V;
451
+ o[5] !== v || o[6] !== b || o[7] !== m ? (B = () => {
452
+ let e = z.current, n = e && t(m).getTreeRenderer(e.treeId) ? t(m).getTreeState(e.treeId).selectedNodeId : void 0;
449
453
  te({
450
454
  previous: e,
451
455
  current: b,
452
- currentResourceKey: s(v),
456
+ currentResourceKey: c(v),
453
457
  selectedNodeId: n
454
- }) && e && t(g).setSelectedNode(e.treeId, void 0), ce.current = b ? {
455
- resourceKey: s(v),
458
+ }) && e && t(m).setSelectedNode(e.treeId, void 0), z.current = b ? {
459
+ resourceKey: c(v),
456
460
  treeId: b.treeId,
457
- anchorIds: b.anchors.map(he)
461
+ anchorIds: b.anchors.map(ge)
458
462
  } : null;
459
- }, ge = [
463
+ }, V = [
460
464
  v,
461
465
  b,
462
- g
463
- ], p[5] = v, p[6] = b, p[7] = g, p[8] = B, p[9] = ge) : (B = p[8], ge = p[9]), C(B, ge);
464
- let _e = T(_), V = T(v), ve = T(O), ye = T(i.placement), be;
465
- p[10] !== _ || p[11] !== O || p[12] !== i.placement || p[13] !== v ? (be = () => {
466
- _e.current = _, V.current = v, ve.current = O, ye.current = i.placement;
467
- }, p[10] = _, p[11] = O, p[12] = i.placement, p[13] = v, p[14] = be) : be = p[14], C(be);
468
- let H = _.id, U = !!_.save, W = i.placement ? e(i.placement) : JSON.stringify([
469
- "file",
470
- H,
471
- k
472
- ]), G = i.placement?.instanceId ?? H, xe;
473
- p[15] !== H || p[16] !== U || p[17] !== G || p[18] !== k || p[19] !== W || p[20] !== I || p[21] !== N || p[22] !== M || p[23] !== g ? (xe = () => {
474
- let e = !1, i = !1, o = V.current, c = _e.current, l = g.views.reads.bind(W), u = null;
466
+ m
467
+ ], o[5] = v, o[6] = b, o[7] = m, o[8] = B, o[9] = V) : (B = o[8], V = o[9]), S(B, V);
468
+ let _e = w(_), H = w(v), ve = w(O), ye = w(e.placement), be;
469
+ o[10] !== _ || o[11] !== O || o[12] !== e.placement || o[13] !== v ? (be = () => {
470
+ _e.current = _, H.current = v, ve.current = O, ye.current = e.placement;
471
+ }, o[10] = _, o[11] = O, o[12] = e.placement, o[13] = v, o[14] = be) : be = o[14], S(be);
472
+ let U = _.id, W = !!_.save, G = he(e.placement, U, k), K = e.placement?.instanceId ?? U, xe;
473
+ o[15] !== U || o[16] !== W || o[17] !== K || o[18] !== k || o[19] !== G || o[20] !== I || o[21] !== N || o[22] !== M || o[23] !== m ? (xe = () => {
474
+ let e = !1, n = !1, o = H.current, l = _e.current, u = m.views.reads.bind(G), d = null;
475
475
  N(null);
476
- let d = r(k);
477
- M(d ? {
478
- ...d,
476
+ let f = a(k), p = f;
477
+ M(f ? {
478
+ ...f,
479
479
  editorRevision: 1,
480
480
  loadKey: k
481
481
  } : null);
482
- let f = (t) => {
483
- let r = t === void 0 ? "refresh" : t;
484
- l.request({
482
+ let h = (t) => {
483
+ let i = t === void 0 ? "refresh" : t;
484
+ u.request({
485
485
  queryKey: k,
486
- load: (e) => _e.current.load(V.current, e, ve.current),
486
+ load: (e) => _e.current.load(H.current, e, ve.current),
487
487
  onValue: (t) => {
488
- if (e || i) return;
489
- let r = n(t, k, u);
490
- r && (N(null), M(r));
488
+ if (e || n) return;
489
+ let i = r(t, k, d);
490
+ i && (p = t, N(null), M(i));
491
491
  },
492
492
  onError: (t) => {
493
- e || i || N({
493
+ e || n || N({
494
494
  loadKey: k,
495
495
  message: ue(t)
496
496
  });
497
497
  }
498
- }, r);
498
+ }, i);
499
499
  };
500
- R.current = () => f("retry"), u = U ? ie({
500
+ R.current = () => h("retry"), d = W ? ae({
501
501
  binding: {
502
- rendererId: H,
503
- instanceId: G,
504
- resourceKey: s(V.current)
502
+ rendererId: U,
503
+ instanceId: K,
504
+ resourceKey: c(H.current)
505
505
  },
506
506
  debounceMs: le,
507
- load: () => f(),
507
+ load: () => h(),
508
508
  onStateChange: (t) => {
509
509
  e || I(t);
510
510
  },
511
- save: (e, t) => Promise.resolve(c.save?.(o, e, t)).then((t) => {
512
- let n = r(k);
513
- return n && !i && a(k, {
514
- ...n,
515
- content: e
516
- }), t ?? void 0;
517
- })
518
- }) : null, L.current = u, d && L.current?.setBaseline(d.content, d.revision), I({
511
+ save: async (e, t) => {
512
+ let r = await s(l, o, e, t, p);
513
+ return p = r.content, p && !n && i(k, p), r.result;
514
+ }
515
+ }) : null, L.current = d, f && L.current?.setBaseline(f.content, f.revision), I({
519
516
  dirty: !1,
520
517
  saving: !1
521
- }), f();
522
- let p = g.resources.onWillRemove((e) => {
523
- if (s(e) !== s(V.current)) return [];
524
- i = !0;
525
- let t = L.current?.markRemoved(), n = ye.current?.placementIdentity;
526
- return t && n ? [n] : [];
527
- }), m = t(g).onDidRefreshFileRenderer((e) => {
528
- if (i || e.fileRendererId !== H) return;
518
+ }), h();
519
+ let g = m.resources.onWillRemove((e) => {
520
+ if (c(e) !== c(H.current)) return [];
521
+ n = !0;
522
+ let t = L.current?.markRemoved(), r = ye.current?.placementIdentity;
523
+ return t && r ? [r] : [];
524
+ }), _ = t(m).onDidRefreshFileRenderer((e) => {
525
+ if (n || e.fileRendererId !== U) return;
529
526
  let t = L.current;
530
- t ? t.handleRefreshEvent(e) : f();
527
+ t ? t.handleRefreshEvent(e) : h();
531
528
  });
532
529
  return () => {
533
- e = !0, l.dispose(), R.current = void 0, m.dispose(), p.dispose(), u?.flush(), L.current === u && (L.current = null);
530
+ e = !0, u.dispose(), R.current = void 0, _.dispose(), g.dispose(), d?.flush(), L.current === d && (L.current = null);
534
531
  };
535
- }, p[15] = H, p[16] = U, p[17] = G, p[18] = k, p[19] = W, p[20] = I, p[21] = N, p[22] = M, p[23] = g, p[24] = xe) : xe = p[24];
532
+ }, o[15] = U, o[16] = W, o[17] = K, o[18] = k, o[19] = G, o[20] = I, o[21] = N, o[22] = M, o[23] = m, o[24] = xe) : xe = o[24];
536
533
  let Se;
537
- p[25] !== H || p[26] !== U || p[27] !== G || p[28] !== k || p[29] !== W || p[30] !== g ? (Se = [
538
- H,
534
+ o[25] !== U || o[26] !== W || o[27] !== K || o[28] !== k || o[29] !== G || o[30] !== m ? (Se = [
539
535
  U,
540
- g,
541
- k,
542
536
  W,
543
- G
544
- ], p[25] = H, p[26] = U, p[27] = G, p[28] = k, p[29] = W, p[30] = g, p[31] = Se) : Se = p[31], C(xe, Se);
537
+ m,
538
+ k,
539
+ G,
540
+ K
541
+ ], o[25] = U, o[26] = W, o[27] = K, o[28] = k, o[29] = G, o[30] = m, o[31] = Se) : Se = o[31], S(xe, Se);
545
542
  let Ce, we;
546
- p[32] === Symbol.for("react.memo_cache_sentinel") ? (Ce = () => {
543
+ o[32] === Symbol.for("react.memo_cache_sentinel") ? (Ce = () => {
547
544
  let e = () => L.current?.flush(), t = () => {
548
545
  document.visibilityState === "hidden" && e();
549
546
  };
550
547
  return window.addEventListener("beforeunload", e), document.addEventListener("visibilitychange", t), () => {
551
548
  window.removeEventListener("beforeunload", e), document.removeEventListener("visibilitychange", t);
552
549
  };
553
- }, we = [], p[32] = Ce, p[33] = we) : (Ce = p[32], we = p[33]), C(Ce, we);
550
+ }, we = [], o[32] = Ce, o[33] = we) : (Ce = o[32], we = o[33]), S(Ce, we);
554
551
  let Te;
555
- p[34] === Symbol.for("react.memo_cache_sentinel") ? (Te = (e) => {
552
+ o[34] === Symbol.for("react.memo_cache_sentinel") ? (Te = (e) => {
556
553
  L.current?.handleChange(e);
557
- }, p[34] = Te) : Te = p[34];
554
+ }, o[34] = Te) : Te = o[34];
558
555
  let Ee = Te, De;
559
- p[35] !== k || p[36] !== j ? (De = se(j, k) ? j : null, p[35] = k, p[36] = j, p[37] = De) : De = p[37];
560
- let K = De, Oe = K ? `${K.loadKey}:${K.editorRevision}` : "", ke, q;
561
- p[38] !== Oe || p[39] !== b ? (ke = () => {
556
+ o[35] !== k || o[36] !== A ? (De = ce(A, k) ? A : null, o[35] = k, o[36] = A, o[37] = De) : De = o[37];
557
+ let q = De, Oe = q ? `${q.loadKey}:${q.editorRevision}` : "", J, ke;
558
+ o[38] !== Oe || o[39] !== b ? (J = () => {
562
559
  if (!Oe || b) return;
563
- let e = z.current;
560
+ let e = re.current;
564
561
  e && requestAnimationFrame(() => {
565
562
  let t = e.parentElement;
566
563
  for (; t;) {
@@ -572,23 +569,23 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
572
569
  ].includes(e) && t.scrollHeight > t.clientHeight && (t.scrollTop = 0), t = t.parentElement;
573
570
  }
574
571
  });
575
- }, q = [Oe, b], p[38] = Oe, p[39] = b, p[40] = ke, p[41] = q) : (ke = p[40], q = p[41]), w(ke, q);
576
- let J = ne?.loadKey === k ? ne.message : void 0;
577
- if (J && !K) {
572
+ }, ke = [Oe, b], o[38] = Oe, o[39] = b, o[40] = J, o[41] = ke) : (J = o[40], ke = o[41]), C(J, ke);
573
+ let Y = ne?.loadKey === k ? ne.message : void 0;
574
+ if (Y && !q) {
578
575
  let e;
579
- p[42] === J ? e = p[43] : (e = /* @__PURE__ */ x(h, {
576
+ o[42] === Y ? e = o[43] : (e = /* @__PURE__ */ E(g, {
580
577
  color: "fg.muted",
581
- children: J
582
- }), p[42] = J, p[43] = e);
578
+ children: Y
579
+ }), o[42] = Y, o[43] = e);
583
580
  let t;
584
- p[44] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ x(u, {
581
+ o[44] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ E(d, {
585
582
  size: "xs",
586
583
  variant: "subtle",
587
584
  onClick: () => R.current?.(),
588
585
  children: "Retry"
589
- }), p[44] = t) : t = p[44];
586
+ }), o[44] = t) : t = o[44];
590
587
  let n;
591
- return p[45] === e ? n = p[46] : (n = /* @__PURE__ */ S(d, {
588
+ return o[45] === e ? n = o[46] : (n = /* @__PURE__ */ D(f, {
592
589
  h: "full",
593
590
  minH: "0",
594
591
  bg: "bg",
@@ -596,76 +593,76 @@ var O = "pstdio.fileSectionNavigation", k = (e) => {
596
593
  flexDirection: "column",
597
594
  gap: "sm",
598
595
  children: [e, t]
599
- }), p[45] = e, p[46] = n), n;
596
+ }), o[45] = e, o[46] = n), n;
600
597
  }
601
- if (!K) {
598
+ if (!q) {
602
599
  let e;
603
- return p[47] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ x(d, {
600
+ return o[47] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ E(f, {
604
601
  h: "full",
605
602
  minH: "0",
606
603
  bg: "bg",
607
- children: /* @__PURE__ */ x(m, { size: "sm" })
608
- }), p[47] = e) : e = p[47], e;
604
+ children: /* @__PURE__ */ E(h, { size: "sm" })
605
+ }), o[47] = e) : e = o[47], e;
609
606
  }
610
- let Ae = `${K.loadKey}:${K.editorRevision}`, Y = null;
607
+ let Ae = `${q.loadKey}:${q.editorRevision}`, X = null;
611
608
  if (F.removed) {
612
609
  let e;
613
- p[48] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ x(ae, { message: "This resource was removed. Your draft is kept here. Copy it before closing this tab." }), p[48] = e) : e = p[48], Y = e;
614
- } else if (J) {
610
+ o[48] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ E(oe, { message: "This resource was removed. Your draft is kept here. Copy it before closing this tab." }), o[48] = e) : e = o[48], X = e;
611
+ } else if (Y) {
615
612
  let e;
616
- p[49] === Symbol.for("react.memo_cache_sentinel") ? (e = () => R.current?.(), p[49] = e) : e = p[49];
613
+ o[49] === Symbol.for("react.memo_cache_sentinel") ? (e = () => R.current?.(), o[49] = e) : e = o[49];
617
614
  let t;
618
- p[50] === J ? t = p[51] : (t = /* @__PURE__ */ x(ae, {
619
- message: J,
615
+ o[50] === Y ? t = o[51] : (t = /* @__PURE__ */ E(oe, {
616
+ message: Y,
620
617
  onRetry: e
621
- }), p[50] = J, p[51] = t), Y = t;
618
+ }), o[50] = Y, o[51] = t), X = t;
622
619
  } else if (F.saveError) {
623
620
  let e;
624
- p[52] === Symbol.for("react.memo_cache_sentinel") ? (e = () => L.current?.retry(), p[52] = e) : e = p[52];
621
+ o[52] === Symbol.for("react.memo_cache_sentinel") ? (e = () => L.current?.retry(), o[52] = e) : e = o[52];
625
622
  let t;
626
- p[53] === F.saveError ? t = p[54] : (t = /* @__PURE__ */ x(ae, {
623
+ o[53] === F.saveError ? t = o[54] : (t = /* @__PURE__ */ E(oe, {
627
624
  message: F.saveError,
628
625
  onRetry: e
629
- }), p[53] = F.saveError, p[54] = t), Y = t;
626
+ }), o[53] = F.saveError, o[54] = t), X = t;
630
627
  }
631
- let X;
632
- p[55] === K ? X = p[56] : (X = /* @__PURE__ */ x(me, { file: K }), p[55] = K, p[56] = X);
633
- let je = Y, Me = !!_.save, Z;
634
- p[57] !== b || p[58] !== g ? (Z = b ? (e) => de({
635
- workbench: g,
628
+ let Z;
629
+ o[55] === q ? Z = o[56] : (Z = /* @__PURE__ */ E(me, { file: q }), o[55] = q, o[56] = Z);
630
+ let je = X, Me = !!_.save, Q;
631
+ o[57] !== b || o[58] !== m ? (Q = b ? (e) => de({
632
+ workbench: m,
636
633
  navigation: b,
637
634
  sectionId: e
638
- }) : void 0, p[57] = b, p[58] = g, p[59] = Z) : Z = p[59];
639
- let Q;
640
- p[60] !== _.title || p[61] !== K || p[62] !== Ae || p[63] !== ee || p[64] !== Y || p[65] !== y || p[66] !== Me || p[67] !== Z ? (Q = /* @__PURE__ */ x(l, {
635
+ }) : void 0, o[57] = b, o[58] = m, o[59] = Q) : Q = o[59];
636
+ let $;
637
+ o[60] !== _.title || o[61] !== q || o[62] !== Ae || o[63] !== ee || o[64] !== X || o[65] !== y || o[66] !== Me || o[67] !== Q ? ($ = /* @__PURE__ */ E(u, {
641
638
  flex: "1",
642
639
  minH: "0",
643
- children: /* @__PURE__ */ x(re, {
644
- content: K,
640
+ children: /* @__PURE__ */ E(ie, {
641
+ content: q,
645
642
  position: y,
646
643
  editorKey: Ae,
647
644
  errorNotice: je,
648
645
  contributionCanSave: Me,
649
- onActiveSectionChange: Z,
646
+ onActiveSectionChange: Q,
650
647
  onChange: Ee,
651
- rendererRef: z,
648
+ rendererRef: re,
652
649
  sectionNavigation: ee,
653
650
  title: _.title
654
651
  })
655
- }), p[60] = _.title, p[61] = K, p[62] = Ae, p[63] = ee, p[64] = Y, p[65] = y, p[66] = Me, p[67] = Z, p[68] = Q) : Q = p[68];
656
- let $;
657
- return p[69] !== X || p[70] !== Q ? ($ = /* @__PURE__ */ S(f, {
652
+ }), o[60] = _.title, o[61] = q, o[62] = Ae, o[63] = ee, o[64] = X, o[65] = y, o[66] = Me, o[67] = Q, o[68] = $) : $ = o[68];
653
+ let Ne;
654
+ return o[69] !== Z || o[70] !== $ ? (Ne = /* @__PURE__ */ D(p, {
658
655
  direction: "column",
659
656
  h: "full",
660
657
  minH: "0",
661
658
  bg: "bg",
662
- children: [X, Q]
663
- }), p[69] = X, p[70] = Q, p[71] = $) : $ = p[71], $;
659
+ children: [Z, $]
660
+ }), o[69] = Z, o[70] = $, o[71] = Ne) : Ne = o[71], Ne;
664
661
  };
665
- function he(e) {
662
+ function ge(e) {
666
663
  return e.id;
667
664
  }
668
665
  //#endregion
669
- export { B as WorkbenchFileRendererView };
666
+ export { V as WorkbenchFileRendererView };
670
667
 
671
- //# sourceMappingURL=file-renderer-view-r1qeAkQT.js.map
668
+ //# sourceMappingURL=file-renderer-view-C5dyoQQW.js.map