@qredence/fleet 0.7.1 → 0.7.2
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/CHANGELOG.md +6 -0
- package/dist/web/client/assets/{action-swap-roll-BfVrBOVd.js → action-swap-roll-Bek47h-E.js} +1 -1
- package/dist/web/client/assets/{alert-dialog-FCppNafx.js → alert-dialog-OoasP5iO.js} +1 -1
- package/dist/web/client/assets/{artifacts-panel-C69vz-oo.js → artifacts-panel-DVY0-7X0.js} +1 -1
- package/dist/web/client/assets/{badge-DOGhnsYk.js → badge-9wr3qUp1.js} +2 -2
- package/dist/web/client/assets/{button-BJyg7l5W.js → button-Bqms7ZKX.js} +1 -1
- package/dist/web/client/assets/{card-BScRdZNS.js → card-DPCbcrMK.js} +1 -1
- package/dist/web/client/assets/{chat-command-palette-wyZjTNa8.js → chat-command-palette-CXS5eTiy.js} +1 -1
- package/dist/web/client/assets/{citations-BhyqbxcZ.js → citations-C7USoVdz.js} +1 -1
- package/dist/web/client/assets/{command-Bo31U-UD.js → command-s2yLD3tA.js} +1 -1
- package/dist/web/client/assets/{create-project-dialog-SDyXTpl-.js → create-project-dialog-C99_Lyjg.js} +1 -1
- package/dist/web/client/assets/{dialog-DLIPvl1s.js → dialog-DuCD5hRq.js} +1 -1
- package/dist/web/client/assets/{ease-DKi-MOH5.js → ease-2gsl7ABx.js} +1 -1
- package/dist/web/client/assets/{fork-picker-dialog-BDleMADF.js → fork-picker-dialog--dV6TE-9.js} +1 -1
- package/dist/web/client/assets/globals-BXtzVIWE.css +2 -0
- package/dist/web/client/assets/{index-BARp0bjW.js → index-C2EkVtv5.js} +3 -3
- package/dist/web/client/assets/{input-Ce8yLnXY.js → input-DECT4vz2.js} +1 -1
- package/dist/web/client/assets/{input-group-BZLQiZOA.js → input-group-CZlz1ygA.js} +1 -1
- package/dist/web/client/assets/{ipython-tool-CuSGRhXl.js → ipython-tool-Bs6ESZe1.js} +1 -1
- package/dist/web/client/assets/{layout-constants-Bl6XCvhY.js → layout-constants-C4hoW3YP.js} +1 -1
- package/dist/web/client/assets/{markdown-yn-nhRzB.js → markdown-B2tpfUKu.js} +2 -2
- package/dist/web/client/assets/{markdown-code-DfJbKhL9.js → markdown-code-B5YUmtLX.js} +1 -1
- package/dist/web/client/assets/{message-queue-CiptKSb6.js → message-queue-BD2sIUTH.js} +1 -1
- package/dist/web/client/assets/{model-selector-list-BHQ-Q8b9.js → model-selector-list-zPZRE3JY.js} +1 -1
- package/dist/web/client/assets/{notify-BC0a76VJ.js → notify-mVA6z9Ly.js} +1 -1
- package/dist/web/client/assets/{openui-renderer-DrfHxs1t.js → openui-renderer-ByP8yQph.js} +1 -1
- package/dist/web/client/assets/{prompt-input-IwZOepG7.js → prompt-input-Bnl0HyL6.js} +1 -1
- package/dist/web/client/assets/{prompt-suggestions-BRFWFm5y.js → prompt-suggestions-DcgETXtw.js} +1 -1
- package/dist/web/client/assets/{provider-label-DNZOLldn.js → provider-label-COVNyoZo.js} +1 -1
- package/dist/web/client/assets/{repl-panel-UQN9UFG7.js → repl-panel-BoDNpJOe.js} +1 -1
- package/dist/web/client/assets/{resources-panel-kp_UjnpX.js → resources-panel-DD6iWOF3.js} +1 -1
- package/dist/web/client/assets/{right-panel-registry-CF7GLJrk.js → right-panel-registry-CIfLdAfS.js} +2 -2
- package/dist/web/client/assets/{routes-DCP1DP1g.js → routes-DO93P3Xm.js} +5 -5
- package/dist/web/client/assets/{select-COK0Kaq2.js → select-Dp15z1lf.js} +1 -1
- package/dist/web/client/assets/{session-reasoning-panel-DrTWp8d4.js → session-reasoning-panel-WMedZp__.js} +1 -1
- package/dist/web/client/assets/session-tool-renderer-BFC3-Md4.js +170 -0
- package/dist/web/client/assets/{session-tree-panel-deGRKAhX.js → session-tree-panel-CnHOsPzz.js} +1 -1
- package/dist/web/client/assets/{settings-dialog-BU1Tw0CQ.js → settings-dialog-BN138nzK.js} +1 -1
- package/dist/web/client/assets/{skeleton-D5Y9nBfp.js → skeleton-DNAr5ULI.js} +1 -1
- package/dist/web/client/assets/{skeleton-loaders-DOKGa7CW.js → skeleton-loaders-B28mF4tJ.js} +1 -1
- package/dist/web/client/assets/{spinner-C3sPnLdu.js → spinner-CSBXk3Lo.js} +1 -1
- package/dist/web/client/assets/{subagent-chat-panel-bVnkDkgs.js → subagent-chat-panel-DYKOKRPp.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-BCUhqVvi.js +1 -0
- package/dist/web/client/assets/{subagent-utils-D7sXbLsS.js → subagent-utils-CM2qX9BG.js} +2 -2
- package/dist/web/client/assets/{subagents-panel-i5-12E1U.js → subagents-panel-CTvtU0Sh.js} +1 -1
- package/dist/web/client/assets/{surface-context-DWplCCcO.js → surface-context-VvasJf_6.js} +1 -1
- package/dist/web/client/assets/{surfaces-BULKVm-B.js → surfaces-m1vs5aMP.js} +1 -1
- package/dist/web/client/assets/{switch-DQETDDJT.js → switch-eqXIzePo.js} +1 -1
- package/dist/web/client/assets/{toast-BFeqSeaR.js → toast-DRDVljMF.js} +1 -1
- package/dist/web/client/assets/{tool-result-D7HtJ_yg.js → tool-result-DWUV8hEz.js} +1 -1
- package/dist/web/client/assets/{tool-timeline-B4ci1oJg.js → tool-timeline-4k2iSEky.js} +1 -1
- package/dist/web/client/assets/{use-reduced-motion-BgG7f9xw.js → use-reduced-motion-BzGFRmoG.js} +1 -1
- package/dist/web/client/assets/utils-CFDGLzf6.js +1 -0
- package/dist/web/client/assets/{workspace-panel-Clbmrdza.js → workspace-panel-BNeGABPi.js} +1 -1
- package/dist/web/client/assets/{workspace-path-nav-eVT0rYvv.js → workspace-path-nav-umvkE4ut.js} +2 -2
- package/dist/web/client/bundle-budget.json +5 -5
- package/dist/web/server/{_tanstack-start-manifest_v-CaT-3S-N-VAOGUHEJ.js → _tanstack-start-manifest_v-DTCFS0PG-ARV2V4FW.js} +26 -26
- package/dist/web/server/{artifacts-panel-BuAqeJzj-6DYYLKUW.js → artifacts-panel-Ct2R_4wM-DAPQMI57.js} +13 -13
- package/dist/web/server/{chat-command-palette-Ca8gXVi2-P6EOQ43G.js → chat-command-palette-ETZzg35Q-TAV74IAW.js} +8 -8
- package/dist/web/server/{chunk-5AYK2KDO.js → chunk-777VIBCH.js} +176 -176
- package/dist/web/server/{chunk-7VFULIHV.js → chunk-AAPVQJAD.js} +2 -2
- package/dist/web/server/{chunk-K4KN3QBT.js → chunk-BNB7T7P6.js} +2 -2
- package/dist/web/server/{chunk-E4YWFQX5.js → chunk-FFGFTGLQ.js} +415 -383
- package/dist/web/server/{chunk-GCDOYNXR.js → chunk-FL3FOWSC.js} +30 -30
- package/dist/web/server/{chunk-ITKXE2Q5.js → chunk-GS5F6X7H.js} +497 -234
- package/dist/web/server/{chunk-B7YWDA2F.js → chunk-INRE3X52.js} +2 -2
- package/dist/web/server/{chunk-35AFSKDX.js → chunk-JOCVZVZ3.js} +5 -5
- package/dist/web/server/{chunk-J4Y2Z3XM.js → chunk-JU7PCOE7.js} +4 -4
- package/dist/web/server/{chunk-UTV66W5H.js → chunk-KVW6XTN3.js} +14 -9
- package/dist/web/server/{chunk-NB3TVOGB.js → chunk-LECHJX4M.js} +483 -481
- package/dist/web/server/{chunk-JFAUSHBI.js → chunk-M6K66QBV.js} +6 -6
- package/dist/web/server/{chunk-COWE2EJ6.js → chunk-R7KUUFDW.js} +4 -4
- package/dist/web/server/chunk-SHNODG3C.js +18343 -0
- package/dist/web/server/{chunk-PXSOI3XF.js → chunk-SQXJ5TUB.js} +2 -2
- package/dist/web/server/{chunk-B5Y7XOIJ.js → chunk-TMQ3MT3D.js} +78 -17
- package/dist/web/server/{chunk-M7BTY55G.js → chunk-UWZYLMEH.js} +2 -2
- package/dist/web/server/{chunk-YIJ7D7G5.js → chunk-VTEYQNJE.js} +7 -7
- package/dist/web/server/{chunk-ABYOWAMD.js → chunk-X76RBZ37.js} +2 -2
- package/dist/web/server/{chunk-FPPKECLB.js → chunk-XMAAYUOT.js} +14 -14
- package/dist/web/server/{create-project-dialog-DCvdysey-IZUGGDAN.js → create-project-dialog-CqBmLTlA-X6HI6AYR.js} +9 -9
- package/dist/web/server/{dist-DVCLWOYT.js → dist-3UIQ7SZN.js} +2 -2
- package/dist/web/server/{dist-4A22NBTB.js → dist-ZPEDRNZ4.js} +2 -2
- package/dist/web/server/{fork-picker-dialog-QH00XmqX-6YLU5REF.js → fork-picker-dialog-PYNd9ozc-EA7BRLRR.js} +6 -6
- package/dist/web/server/{markdown-CShfYRVO-OKGCYPQK.js → markdown-CShfYRVO-22N5LNAN.js} +2 -2
- package/dist/web/server/{markdown-code-BDV_2b2T-VZGAECQB.js → markdown-code-BDV_2b2T-KUPHX52W.js} +2 -2
- package/dist/web/server/{message-queue-BzEFQR8k-2W53EW32.js → message-queue-DmSFAI5Y-XDZHJ2Z6.js} +6 -6
- package/dist/web/server/{model-selector-list-BjoXmw92-TEKBPB3E.js → model-selector-list-C-Y3p5UM-HTSWVVHP.js} +8 -8
- package/dist/web/server/{openui-renderer-CJ7Q2zZ_-FPXKZPSO.js → openui-renderer-C4B1EJxC-QDYQF5LD.js} +10 -10
- package/dist/web/server/{prompt-suggestions-EqAaAx6L-723M64XJ.js → prompt-suggestions-EqAaAx6L-B4KCWNZX.js} +1 -1
- package/dist/web/server/{repl-panel-DOyUyuQR-IMYO4FKX.js → repl-panel-DOyUyuQR-LRBDRMHW.js} +3 -3
- package/dist/web/server/{resources-panel-yVB4xF_K-OHFHXVU4.js → resources-panel-Bo-TmRON-O47AKGEQ.js} +7 -7
- package/dist/web/server/{router-UgU5vJxm-R33FGTXY.js → router-DtS2wXhd-I2SZV7YF.js} +5 -5
- package/dist/web/server/{routes-Cbbo-jh9-ZUPH4SJD.js → routes-DuSYlASY-U7C32ONE.js} +5 -5
- package/dist/web/server/server.js +3 -3
- package/dist/web/server/{session-reasoning-panel-C50VbaQ8-4YLMVVY6.js → session-reasoning-panel-BFcZs1pZ-KNHSU5GX.js} +7 -7
- package/dist/web/server/{session-tool-renderer-QcAkYD-V-6RXRKDH6.js → session-tool-renderer-TiFeeJEc-YUZPEEZ4.js} +9 -9
- package/dist/web/server/{session-tree-panel-CL49XSTK-4ZPK6AIV.js → session-tree-panel-CjsqVYLY-DGZBGY2E.js} +6 -6
- package/dist/web/server/{settings-dialog-DG9HEZeP-TWDRDGMN.js → settings-dialog-Bj5LrAE8-6BQRLUJT.js} +10 -10
- package/dist/web/server/{start-DEejK9Uj-FODAOTAO.js → start-cCC--AXu-BBMIT6OU.js} +1 -1
- package/dist/web/server/{subagent-chat-panel-Cg2CxshI-WWGFHTIF.js → subagent-chat-panel-DAS4Ne-1-TWIUXSQC.js} +12 -12
- package/dist/web/server/{subagents-panel-aC3Eo-MR-RNIPLCZQ.js → subagents-panel-C3CdUcqw-DFTJTPHA.js} +12 -12
- package/dist/web/server/{tool-timeline-C4dgQITK-CFWANSDL.js → tool-timeline-C4dgQITK-IWCLQLWG.js} +3 -3
- package/dist/web/server/{workspace-panel-DfdFkgHU-6HIOXRBX.js → workspace-panel-DNs0Ye2U-VFB6X5PK.js} +7 -7
- package/package.json +4 -4
- package/dist/web/client/assets/globals-DZbMyHfg.css +0 -2
- package/dist/web/client/assets/session-tool-renderer-Yu4G1165.js +0 -1389
- package/dist/web/client/assets/subagent-transcript-D_L-8PQi.js +0 -1
- package/dist/web/client/assets/utils-Dpy9ZFOr.js +0 -1
- package/dist/web/server/chunk-PHHC52CO.js +0 -38412
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
FileDiff,
|
|
8
8
|
ToolResult,
|
|
9
9
|
ToolResultOutput
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JU7PCOE7.js";
|
|
11
11
|
import {
|
|
12
12
|
Collapsible$1,
|
|
13
13
|
CollapsibleContent,
|
|
14
14
|
CollapsibleTrigger
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BNB7T7P6.js";
|
|
16
16
|
import {
|
|
17
17
|
ActionSwapRollText,
|
|
18
18
|
AgentDisclosure,
|
|
@@ -27,19 +27,19 @@ import {
|
|
|
27
27
|
mono,
|
|
28
28
|
stripSandboxPrefixes,
|
|
29
29
|
useHoverCapable
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-FL3FOWSC.js";
|
|
31
31
|
import {
|
|
32
32
|
AnimatePresence,
|
|
33
33
|
m,
|
|
34
34
|
useReducedMotion
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-FFGFTGLQ.js";
|
|
36
36
|
import {
|
|
37
37
|
IpythonTool,
|
|
38
38
|
ToolApprovalFooter,
|
|
39
39
|
ToolTextShimmer,
|
|
40
40
|
adaptToolPart,
|
|
41
41
|
useToolComplete
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-INRE3X52.js";
|
|
43
43
|
import {
|
|
44
44
|
Check,
|
|
45
45
|
ChevronDown,
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
Terminal,
|
|
69
69
|
Wrench,
|
|
70
70
|
X
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-777VIBCH.js";
|
|
72
72
|
import {
|
|
73
73
|
bundledLanguages,
|
|
74
74
|
createHighlighter,
|
|
@@ -82,13 +82,13 @@ import {
|
|
|
82
82
|
} from "./chunk-OO7NBFQQ.js";
|
|
83
83
|
import {
|
|
84
84
|
cn
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-TMQ3MT3D.js";
|
|
86
86
|
|
|
87
|
-
// web/app/dist/server/assets/session-tool-renderer-
|
|
88
|
-
import React, { memo, useCallback as useCallback4, useEffect as useEffect3, useId, useLayoutEffect as useLayoutEffect2, useMemo as useMemo2, useRef as useRef3, useState as
|
|
87
|
+
// web/app/dist/server/assets/session-tool-renderer-TiFeeJEc.js
|
|
88
|
+
import React, { memo, useCallback as useCallback4, useEffect as useEffect3, useId, useLayoutEffect as useLayoutEffect2, useMemo as useMemo2, useRef as useRef3, useState as useState4 } from "react";
|
|
89
89
|
import { Fragment as Fragment$1, jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
90
90
|
|
|
91
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
91
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useStableCallback.js
|
|
92
92
|
import { useCallback, useInsertionEffect, useRef } from "react";
|
|
93
93
|
function useStableCallback(callback) {
|
|
94
94
|
const callbackRef = useRef(callback);
|
|
@@ -98,7 +98,7 @@ function useStableCallback(callback) {
|
|
|
98
98
|
}, []);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
101
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/EditContext.js
|
|
102
102
|
import { createContext, useContext } from "react";
|
|
103
103
|
import { jsx } from "react/jsx-runtime";
|
|
104
104
|
var EditContext = createContext(void 0);
|
|
@@ -106,7 +106,7 @@ function useCreateEditor() {
|
|
|
106
106
|
return useContext(EditContext);
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
109
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/constants.js
|
|
110
110
|
var GutterUtilitySlotStyles = {
|
|
111
111
|
position: "absolute",
|
|
112
112
|
top: 0,
|
|
@@ -120,7 +120,7 @@ function noopRender() {
|
|
|
120
120
|
return null;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
123
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/constants.js
|
|
124
124
|
var DIFFS_TAG_NAME = "diffs-container";
|
|
125
125
|
var DIFFS_DEVELOPMENT_BUILD = (() => {
|
|
126
126
|
try {
|
|
@@ -132,8 +132,6 @@ var DIFFS_DEVELOPMENT_BUILD = (() => {
|
|
|
132
132
|
var GIT_DIFF_FILE_BREAK_REGEX = /(?=^diff --git)/gm;
|
|
133
133
|
var SPLIT_WITH_NEWLINES = /(?<=\n)/;
|
|
134
134
|
var FILENAME_HEADER_REGEX = /^(---|\+\+\+)\s+([^\t\r\n]+)/;
|
|
135
|
-
var FILENAME_HEADER_REGEX_GIT = /^(---|\+\+\+)\s+[ab]\/([^\t\r\n]+)/;
|
|
136
|
-
var ALTERNATE_FILE_NAMES_GIT = /^diff --git (?:"a\/(.+?)"|a\/(.+?)) (?:"b\/(.+?)"|b\/(.+?))$/;
|
|
137
135
|
var INDEX_LINE_METADATA = /^index ([0-9a-f]+)\.\.([0-9a-f]+)(?: (\d+))?$/i;
|
|
138
136
|
var HEADER_PREFIX_SLOT_ID = "header-prefix";
|
|
139
137
|
var HEADER_FILENAME_SUFFIX_SLOT_ID = "header-filename-suffix";
|
|
@@ -175,17 +173,17 @@ var EMPTY_RENDER_RANGE = {
|
|
|
175
173
|
bufferAfter: 0
|
|
176
174
|
};
|
|
177
175
|
|
|
178
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
176
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineAnnotationName.js
|
|
179
177
|
function getLineAnnotationName(annotation) {
|
|
180
178
|
return `annotation-${"side" in annotation ? `${annotation.side}-` : ""}${annotation.lineNumber}`;
|
|
181
179
|
}
|
|
182
180
|
|
|
183
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
181
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getMergeConflictActionSlotName.js
|
|
184
182
|
function getMergeConflictActionSlotName({ hunkIndex, lineIndex, conflictIndex }) {
|
|
185
183
|
return `merge-conflict-action-${hunkIndex}-${lineIndex}-${conflictIndex}`;
|
|
186
184
|
}
|
|
187
185
|
|
|
188
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
186
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSideBoundaries.js
|
|
189
187
|
function getHunkSideStartBoundary(start, count) {
|
|
190
188
|
return start - (count === 0 ? 0 : 1);
|
|
191
189
|
}
|
|
@@ -193,7 +191,7 @@ function getHunkSideEndBoundary(start, count) {
|
|
|
193
191
|
return getHunkSideStartBoundary(start, count) + count;
|
|
194
192
|
}
|
|
195
193
|
|
|
196
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
194
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseMergeConflictDiffFromFile.js
|
|
197
195
|
function getMergeConflictActionAnchor(action, fileDiff) {
|
|
198
196
|
const hunk = fileDiff.hunks[action.hunkIndex];
|
|
199
197
|
if (hunk == null) return;
|
|
@@ -211,7 +209,7 @@ function getUnifiedLineStartForContent(hunk, contentIndex) {
|
|
|
211
209
|
return lineIndex;
|
|
212
210
|
}
|
|
213
211
|
|
|
214
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
212
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/renderDiffChildren.js
|
|
215
213
|
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
216
214
|
function renderDiffChildren({ fileDiff, actions, renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata, renderAnnotation, renderGutterUtility, renderMergeConflictUtility, lineAnnotations, getHoveredLine, getInstance, getAnnotationSlotName: getAnnotationSlotName2 = getLineAnnotationName }) {
|
|
217
215
|
const customHeader = renderCustomHeader?.(fileDiff);
|
|
@@ -265,13 +263,13 @@ function getSlotName(action, fileDiff) {
|
|
|
265
263
|
}) : void 0;
|
|
266
264
|
}
|
|
267
265
|
|
|
268
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
266
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/constants.js
|
|
269
267
|
var ResolvedLanguages = /* @__PURE__ */ new Map();
|
|
270
268
|
var ResolvingLanguages = /* @__PURE__ */ new Map();
|
|
271
269
|
var RegisteredCustomLanguages = /* @__PURE__ */ new Map();
|
|
272
270
|
var AttachedLanguages = /* @__PURE__ */ new Set();
|
|
273
271
|
|
|
274
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
272
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/areLanguagesAttached.js
|
|
275
273
|
function areLanguagesAttached(languages) {
|
|
276
274
|
for (const language of Array.isArray(languages) ? languages : [languages]) {
|
|
277
275
|
if (language === "text" || language === "ansi") continue;
|
|
@@ -280,7 +278,7 @@ function areLanguagesAttached(languages) {
|
|
|
280
278
|
return true;
|
|
281
279
|
}
|
|
282
280
|
|
|
283
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
281
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getThemes.js
|
|
284
282
|
function getThemes(theme = DEFAULT_THEMES) {
|
|
285
283
|
const themesArr = [];
|
|
286
284
|
if (typeof theme === "string") themesArr.push(theme);
|
|
@@ -291,7 +289,7 @@ function getThemes(theme = DEFAULT_THEMES) {
|
|
|
291
289
|
return themesArr;
|
|
292
290
|
}
|
|
293
291
|
|
|
294
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
292
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/constants.js
|
|
295
293
|
var AttachedThemes = /* @__PURE__ */ new Set();
|
|
296
294
|
|
|
297
295
|
// node_modules/.pnpm/@pierre+theming@1.0.1_@pierre+theme@2.0.0_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_shiki@4.4.3/node_modules/@pierre/theming/dist/modules/createThemeCollection.js
|
|
@@ -501,10 +499,10 @@ function createThemeResolver() {
|
|
|
501
499
|
};
|
|
502
500
|
}
|
|
503
501
|
|
|
504
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
502
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolver.js
|
|
505
503
|
var themeResolver = createThemeResolver();
|
|
506
504
|
|
|
507
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
505
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/attachResolvedThemes.js
|
|
508
506
|
function attachResolvedThemes(themes2, highlighter2) {
|
|
509
507
|
themes2 = Array.isArray(themes2) ? themes2 : [themes2];
|
|
510
508
|
for (let themeRef of themes2) {
|
|
@@ -523,7 +521,7 @@ function attachResolvedThemes(themes2, highlighter2) {
|
|
|
523
521
|
}
|
|
524
522
|
}
|
|
525
523
|
|
|
526
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
524
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/attachResolvedLanguages.js
|
|
527
525
|
function attachResolvedLanguages(resolvedLanguages, highlighter2) {
|
|
528
526
|
resolvedLanguages = Array.isArray(resolvedLanguages) ? resolvedLanguages : [resolvedLanguages];
|
|
529
527
|
for (const resolvedLang of resolvedLanguages) {
|
|
@@ -533,17 +531,24 @@ function attachResolvedLanguages(resolvedLanguages, highlighter2) {
|
|
|
533
531
|
lang = resolvedLang;
|
|
534
532
|
ResolvedLanguages.set(resolvedLang.name, lang);
|
|
535
533
|
}
|
|
536
|
-
|
|
534
|
+
const grammar = lang.data.find((grammar2) => grammar2.name === lang.name || grammar2.aliases?.includes(lang.name) === true);
|
|
535
|
+
if (grammar == null) throw new Error(`attachResolvedLanguages: No returned grammar declares "${lang.name}" as its name or an alias.`);
|
|
537
536
|
highlighter2.loadLanguageSync(lang.data);
|
|
537
|
+
try {
|
|
538
|
+
highlighter2.getLanguage(lang.name);
|
|
539
|
+
} catch {
|
|
540
|
+
throw new Error(`attachResolvedLanguages: "${grammar.name}" is already loaded without alias "${lang.name}". Load the alias first or give the grammar a unique name.`);
|
|
541
|
+
}
|
|
542
|
+
AttachedLanguages.add(lang.name);
|
|
538
543
|
}
|
|
539
544
|
}
|
|
540
545
|
|
|
541
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
546
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isWorkerContext.js
|
|
542
547
|
function isWorkerContext() {
|
|
543
548
|
return typeof WorkerGlobalScope !== "undefined" && typeof self !== "undefined" && self instanceof WorkerGlobalScope;
|
|
544
549
|
}
|
|
545
550
|
|
|
546
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
551
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/resolveLanguage.js
|
|
547
552
|
async function resolveLanguage(lang) {
|
|
548
553
|
if (isWorkerContext()) throw new Error(`resolveLanguage("${lang}") cannot be called from a worker context. Languages must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);
|
|
549
554
|
const resolver = ResolvingLanguages.get(lang);
|
|
@@ -567,12 +572,12 @@ async function resolveLanguage(lang) {
|
|
|
567
572
|
}
|
|
568
573
|
}
|
|
569
574
|
|
|
570
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
575
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/languages/getResolvedOrResolveLanguage.js
|
|
571
576
|
function getResolvedOrResolveLanguage(language) {
|
|
572
577
|
return ResolvedLanguages.get(language) ?? resolveLanguage(language);
|
|
573
578
|
}
|
|
574
579
|
|
|
575
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
580
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/areThemesAttached.js
|
|
576
581
|
function areThemesAttached(themes2) {
|
|
577
582
|
for (const theme of getThemes(themes2)) if (!AttachedThemes.has(theme)) return false;
|
|
578
583
|
return true;
|
|
@@ -807,7 +812,7 @@ var shikiThemes = createThemeCollection({ themes: Object.freeze([...LIGHT_SHIKI_
|
|
|
807
812
|
// node_modules/.pnpm/@pierre+theming@1.0.1_@pierre+theme@2.0.0_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_shiki@4.4.3/node_modules/@pierre/theming/dist/themes.js
|
|
808
813
|
var themes = createThemeCollection({ themes: [pierreThemes, shikiThemes] });
|
|
809
814
|
|
|
810
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
815
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/themeResolution.js
|
|
811
816
|
function prepareThemeResolution(themeName) {
|
|
812
817
|
if (isWorkerContext()) throw new Error(`Theme "${themeName}" cannot be resolved from a worker context. Themes must be pre-resolved on the main thread and passed to the worker via the resolvedLanguages parameter.`);
|
|
813
818
|
if (themeResolver.hasRegisteredTheme(themeName)) return;
|
|
@@ -822,7 +827,7 @@ function validateResolvedThemeName(themeName, theme) {
|
|
|
822
827
|
if (theme.name !== themeName) throw new Error(`resolvedTheme: themeName: ${themeName} does not match theme.name: ${theme.name}`);
|
|
823
828
|
}
|
|
824
829
|
|
|
825
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
830
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/resolveTheme.js
|
|
826
831
|
async function resolveTheme(themeName) {
|
|
827
832
|
prepareThemeResolution(themeName);
|
|
828
833
|
const theme = await themeResolver.resolveTheme(themeName);
|
|
@@ -830,12 +835,12 @@ async function resolveTheme(themeName) {
|
|
|
830
835
|
return theme;
|
|
831
836
|
}
|
|
832
837
|
|
|
833
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
838
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/themes/getResolvedOrResolveTheme.js
|
|
834
839
|
function getResolvedOrResolveTheme(themeName) {
|
|
835
840
|
return themeResolver.getResolvedTheme(themeName) ?? resolveTheme(themeName);
|
|
836
841
|
}
|
|
837
842
|
|
|
838
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
843
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/highlighter/shared_highlighter.js
|
|
839
844
|
var highlighter;
|
|
840
845
|
async function getSharedHighlighter({ themes: themes2, langs, preferredHighlighter = "shiki-js" }) {
|
|
841
846
|
highlighter ??= createHighlighter({
|
|
@@ -875,13 +880,13 @@ function isHighlighterLoading(h = highlighter) {
|
|
|
875
880
|
}
|
|
876
881
|
for (const descriptor of pierreThemes.getThemes()) themeResolver.registerThemeIfAbsent(descriptor.name, descriptor.load);
|
|
877
882
|
|
|
878
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
883
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areThemesEqual.js
|
|
879
884
|
function areThemesEqual(themeA, themeB) {
|
|
880
885
|
if (themeA == null || themeB == null || typeof themeA === "string" || typeof themeB === "string") return themeA === themeB;
|
|
881
886
|
return themeA.dark === themeB.dark && themeA.light === themeB.light;
|
|
882
887
|
}
|
|
883
888
|
|
|
884
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
889
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getFiletypeFromFileName.js
|
|
885
890
|
var CUSTOM_EXTENSION_TO_FILE_FORMAT = /* @__PURE__ */ new Map();
|
|
886
891
|
var EXTENSION_TO_FILE_FORMAT = {
|
|
887
892
|
"1c": "1c",
|
|
@@ -1243,12 +1248,12 @@ function getFiletypeFromFileName(fileName) {
|
|
|
1243
1248
|
return EXTENSION_TO_FILE_FORMAT[simpleMatch] ?? "text";
|
|
1244
1249
|
}
|
|
1245
1250
|
|
|
1246
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1251
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/appendItems.js
|
|
1247
1252
|
function appendItems(target, items) {
|
|
1248
1253
|
for (const item of items) target.push(item);
|
|
1249
1254
|
}
|
|
1250
1255
|
|
|
1251
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1256
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hast_utils.js
|
|
1252
1257
|
function createTextNodeElement(value) {
|
|
1253
1258
|
return {
|
|
1254
1259
|
type: "text",
|
|
@@ -1321,7 +1326,7 @@ function createGutterGap(type, bufferType, size) {
|
|
|
1321
1326
|
});
|
|
1322
1327
|
}
|
|
1323
1328
|
|
|
1324
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1329
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/processLine.js
|
|
1325
1330
|
function processLine(node, line, state) {
|
|
1326
1331
|
const lineInfo = typeof state.lineInfo === "function" ? state.lineInfo(line) : state.lineInfo[line - 1];
|
|
1327
1332
|
if (lineInfo == null) {
|
|
@@ -1342,7 +1347,7 @@ function processLine(node, line, state) {
|
|
|
1342
1347
|
return node;
|
|
1343
1348
|
}
|
|
1344
1349
|
|
|
1345
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1350
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/wrapTokenFragments.js
|
|
1346
1351
|
var NO_TOKEN = /* @__PURE__ */ Symbol("no-token");
|
|
1347
1352
|
var MULTIPLE_TOKENS = /* @__PURE__ */ Symbol("multiple-tokens");
|
|
1348
1353
|
function wrapTokenFragments(container) {
|
|
@@ -1479,7 +1484,7 @@ function cyrb53(str, seed = 0) {
|
|
|
1479
1484
|
return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36).slice(0, 6);
|
|
1480
1485
|
}
|
|
1481
1486
|
|
|
1482
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1487
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createTransformerWithState.js
|
|
1483
1488
|
function createTransformerWithState(useTokenTransformer = false, useCSSClasses = false) {
|
|
1484
1489
|
const state = { lineInfo: [] };
|
|
1485
1490
|
const transformers = [{
|
|
@@ -1561,7 +1566,7 @@ var tokenStyleNormalizer = {
|
|
|
1561
1566
|
}
|
|
1562
1567
|
};
|
|
1563
1568
|
|
|
1564
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1569
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/formatCSSVariablePrefix.js
|
|
1565
1570
|
function formatCSSVariablePrefix(type) {
|
|
1566
1571
|
return `--${type === "token" ? "diffs-token" : "diffs"}-`;
|
|
1567
1572
|
}
|
|
@@ -1672,7 +1677,7 @@ function matchesSurface(color, surface) {
|
|
|
1672
1677
|
return surface != null && color.toLowerCase() === surface.toLowerCase();
|
|
1673
1678
|
}
|
|
1674
1679
|
|
|
1675
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1680
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterThemeStyles.js
|
|
1676
1681
|
function getHighlighterThemeStyles({ theme = DEFAULT_THEMES, highlighter: highlighter2, prefix }) {
|
|
1677
1682
|
let styles = "";
|
|
1678
1683
|
if (typeof theme === "string") {
|
|
@@ -1709,7 +1714,7 @@ function getGitVariables(themeData, modePrefix) {
|
|
|
1709
1714
|
return styles;
|
|
1710
1715
|
}
|
|
1711
1716
|
|
|
1712
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1717
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getLineNodes.js
|
|
1713
1718
|
function getLineNodes(nodes) {
|
|
1714
1719
|
let firstChild = nodes.children[0];
|
|
1715
1720
|
while (firstChild != null) {
|
|
@@ -1721,29 +1726,29 @@ function getLineNodes(nodes) {
|
|
|
1721
1726
|
throw new Error("getLineNodes: Unable to find children");
|
|
1722
1727
|
}
|
|
1723
1728
|
|
|
1724
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1729
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffTargetsEqual.js
|
|
1725
1730
|
function areDiffTargetsEqual(diffA, diffB) {
|
|
1726
1731
|
return diffA?.cacheKey != null || diffB?.cacheKey != null ? diffA?.cacheKey === diffB?.cacheKey : diffA === diffB;
|
|
1727
1732
|
}
|
|
1728
1733
|
|
|
1729
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1734
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFilesEqual.js
|
|
1730
1735
|
function areFilesEqual(fileA, fileB) {
|
|
1731
1736
|
return fileA?.cacheKey === fileB?.cacheKey && fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
|
|
1732
1737
|
}
|
|
1733
1738
|
|
|
1734
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1739
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffRenderOptionsEqual.js
|
|
1735
1740
|
function areDiffRenderOptionsEqual(optionsA, optionsB) {
|
|
1736
1741
|
return areThemesEqual(optionsA.theme, optionsB.theme) && optionsA.useTokenTransformer === optionsB.useTokenTransformer && optionsA.tokenizeMaxLineLength === optionsB.tokenizeMaxLineLength && optionsA.lineDiffType === optionsB.lineDiffType && optionsA.maxLineDiffLength === optionsB.maxLineDiffLength;
|
|
1737
1742
|
}
|
|
1738
1743
|
|
|
1739
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1744
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDiffPlainText.js
|
|
1740
1745
|
function isDiffPlainText(diff) {
|
|
1741
1746
|
const computedLang = diff.lang ?? getFiletypeFromFileName(diff.name);
|
|
1742
1747
|
const computedPreviousLang = diff.lang ?? (diff.prevName != null ? getFiletypeFromFileName(diff.prevName) : "text");
|
|
1743
1748
|
return computedLang === "text" && computedPreviousLang === "text";
|
|
1744
1749
|
}
|
|
1745
1750
|
|
|
1746
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1751
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeVirtualFileMetrics.js
|
|
1747
1752
|
function computeVirtualFileMetrics(metrics) {
|
|
1748
1753
|
return {
|
|
1749
1754
|
...DEFAULT_VIRTUAL_FILE_METRICS,
|
|
@@ -1772,7 +1777,7 @@ function getDefaultHunkSeparatorHeight(type) {
|
|
|
1772
1777
|
}
|
|
1773
1778
|
}
|
|
1774
1779
|
|
|
1775
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1780
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/virtualDiffLayout.js
|
|
1776
1781
|
function getHunkAdditionLineRange(hunk) {
|
|
1777
1782
|
return [getHunkSideStartBoundary(hunk.additionStart, hunk.additionCount) + 1, getHunkSideEndBoundary(hunk.additionStart, hunk.additionCount) + 1];
|
|
1778
1783
|
}
|
|
@@ -1982,7 +1987,7 @@ function getTrailingHunkSeparatorLayout({ type, metrics }) {
|
|
|
1982
1987
|
};
|
|
1983
1988
|
}
|
|
1984
1989
|
|
|
1985
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
1990
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/iterateOverDiff.js
|
|
1986
1991
|
function iterateOverDiff({ diff, diffStyle, startingLine = 0, totalLines = Infinity, expandedHunks, collapsedContextThreshold = 1, callback }) {
|
|
1987
1992
|
const iterationStart = getIterationStartState({
|
|
1988
1993
|
diff,
|
|
@@ -2470,7 +2475,7 @@ function getChangeLineData({ hunkIndex, hunk, collapsedAfter, collapsedBefore, d
|
|
|
2470
2475
|
};
|
|
2471
2476
|
}
|
|
2472
2477
|
|
|
2473
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
2478
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cleanLastNewline.js
|
|
2474
2479
|
function cleanLastNewline(contents) {
|
|
2475
2480
|
let end = contents.length;
|
|
2476
2481
|
if (contents.charCodeAt(end - 1) === 10) {
|
|
@@ -3262,7 +3267,7 @@ function splitLines(text) {
|
|
|
3262
3267
|
return result;
|
|
3263
3268
|
}
|
|
3264
3269
|
|
|
3265
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3270
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffDecorations.js
|
|
3266
3271
|
function createDiffSpanDecoration({ line, spanStart, spanLength }) {
|
|
3267
3272
|
return {
|
|
3268
3273
|
start: {
|
|
@@ -3291,7 +3296,7 @@ function pushOrJoinSpan({ item, arr, enableJoin, isNeutral = false, isLastItem =
|
|
|
3291
3296
|
arr.push([isNeutral ? 0 : 1, item.value]);
|
|
3292
3297
|
}
|
|
3293
3298
|
|
|
3294
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3299
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/renderDiffWithHighlighter.js
|
|
3295
3300
|
var DEFAULT_PLAIN_TEXT_OPTIONS = { forcePlainText: false };
|
|
3296
3301
|
function renderDiffWithHighlighter(diff, highlighter2, options, { forcePlainText, startingLine, totalLines, expandedHunks, collapsedContextThreshold = 1 } = DEFAULT_PLAIN_TEXT_OPTIONS) {
|
|
3297
3302
|
if (forcePlainText) {
|
|
@@ -3414,12 +3419,51 @@ function renderDiffWithHighlighter(diff, highlighter2, options, { forcePlainText
|
|
|
3414
3419
|
baseThemeType
|
|
3415
3420
|
};
|
|
3416
3421
|
}
|
|
3422
|
+
function pushWordLineDecorations(lineDiff2, { deletionLineIndex, additionLineIndex, deletionDecorations, additionDecorations }) {
|
|
3423
|
+
let deletionOffset = 0;
|
|
3424
|
+
let additionOffset = 0;
|
|
3425
|
+
let deletionStart = -1;
|
|
3426
|
+
let deletionEnd = 0;
|
|
3427
|
+
let additionStart = -1;
|
|
3428
|
+
let additionEnd = 0;
|
|
3429
|
+
for (const { value, added, removed } of lineDiff2) if (removed) {
|
|
3430
|
+
if (deletionStart === -1) deletionStart = deletionOffset;
|
|
3431
|
+
deletionOffset += value.length;
|
|
3432
|
+
deletionEnd = deletionOffset;
|
|
3433
|
+
} else if (added) {
|
|
3434
|
+
if (additionStart === -1) additionStart = additionOffset;
|
|
3435
|
+
additionOffset += value.length;
|
|
3436
|
+
additionEnd = additionOffset;
|
|
3437
|
+
} else {
|
|
3438
|
+
deletionOffset += value.length;
|
|
3439
|
+
additionOffset += value.length;
|
|
3440
|
+
}
|
|
3441
|
+
if (deletionStart !== -1) deletionDecorations.push(createDiffSpanDecoration({
|
|
3442
|
+
line: deletionLineIndex,
|
|
3443
|
+
spanStart: deletionStart,
|
|
3444
|
+
spanLength: deletionEnd - deletionStart
|
|
3445
|
+
}));
|
|
3446
|
+
if (additionStart !== -1) additionDecorations.push(createDiffSpanDecoration({
|
|
3447
|
+
line: additionLineIndex,
|
|
3448
|
+
spanStart: additionStart,
|
|
3449
|
+
spanLength: additionEnd - additionStart
|
|
3450
|
+
}));
|
|
3451
|
+
}
|
|
3417
3452
|
function computeLineDiffDecorations({ deletionLine, additionLine, deletionLineIndex, additionLineIndex, deletionDecorations, additionDecorations, lineDiffType, maxLineDiffLength }) {
|
|
3418
3453
|
if (deletionLine == null || additionLine == null || lineDiffType === "none") return;
|
|
3419
3454
|
deletionLine = cleanLastNewline(deletionLine);
|
|
3420
3455
|
additionLine = cleanLastNewline(additionLine);
|
|
3421
3456
|
if (deletionLine.length > maxLineDiffLength || additionLine.length > maxLineDiffLength) return;
|
|
3422
3457
|
const lineDiff2 = lineDiffType === "char" ? diffChars(deletionLine, additionLine) : diffWordsWithSpace(deletionLine, additionLine);
|
|
3458
|
+
if (lineDiffType === "word-line") {
|
|
3459
|
+
pushWordLineDecorations(lineDiff2, {
|
|
3460
|
+
deletionLineIndex,
|
|
3461
|
+
additionLineIndex,
|
|
3462
|
+
deletionDecorations,
|
|
3463
|
+
additionDecorations
|
|
3464
|
+
});
|
|
3465
|
+
return;
|
|
3466
|
+
}
|
|
3423
3467
|
const deletionSpans = [];
|
|
3424
3468
|
const additionSpans = [];
|
|
3425
3469
|
const enableJoin = lineDiffType === "word-alt";
|
|
@@ -3542,12 +3586,12 @@ function renderTwoFiles({ deletionFile, additionFile, deletionInfo, additionInfo
|
|
|
3542
3586
|
};
|
|
3543
3587
|
}
|
|
3544
3588
|
|
|
3545
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3589
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/WorkerPoolContext.js
|
|
3546
3590
|
import { createContext as createContext2, useContext as useContext2, useEffect, useInsertionEffect as useInsertionEffect2, useState } from "react";
|
|
3547
3591
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
3548
3592
|
var WorkerPoolContext = createContext2(void 0);
|
|
3549
3593
|
|
|
3550
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3594
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areObjectsEqual.js
|
|
3551
3595
|
function areObjectsEqual(objA, objB, omitKeys) {
|
|
3552
3596
|
if (objA === objB || objA == null || objB == null) return objA === objB;
|
|
3553
3597
|
const omitSet = new Set(omitKeys);
|
|
@@ -3562,7 +3606,7 @@ function areObjectsEqual(objA, objB, omitKeys) {
|
|
|
3562
3606
|
return true;
|
|
3563
3607
|
}
|
|
3564
3608
|
|
|
3565
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3609
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areOptionsEqual.js
|
|
3566
3610
|
function areOptionsEqual(optionsA, optionsB) {
|
|
3567
3611
|
const themeA = optionsA?.theme ?? DEFAULT_THEMES;
|
|
3568
3612
|
const themeB = optionsB?.theme ?? DEFAULT_THEMES;
|
|
@@ -3574,7 +3618,7 @@ function getParseDiffOptions(options) {
|
|
|
3574
3618
|
if (options != null && "parseDiffOptions" in options) return options.parseDiffOptions;
|
|
3575
3619
|
}
|
|
3576
3620
|
|
|
3577
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3621
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/UniversalRenderingManager.js
|
|
3578
3622
|
var callbacks = /* @__PURE__ */ new Set();
|
|
3579
3623
|
var frameId = null;
|
|
3580
3624
|
function queueRender(callback) {
|
|
@@ -3599,24 +3643,24 @@ function render(time) {
|
|
|
3599
3643
|
else frameId = null;
|
|
3600
3644
|
}
|
|
3601
3645
|
|
|
3602
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3646
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionsEqual.js
|
|
3603
3647
|
function areSelectionsEqual(selectionA, selectionB) {
|
|
3604
3648
|
return selectionA?.start === selectionB?.start && selectionA?.end === selectionB?.end && selectionA?.side === selectionB?.side && selectionA?.endSide === selectionB?.endSide;
|
|
3605
3649
|
}
|
|
3606
3650
|
|
|
3607
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3651
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isStyleNode.js
|
|
3608
3652
|
function isStyleNode(element) {
|
|
3609
3653
|
if (typeof HTMLStyleElement !== "undefined" && element instanceof HTMLStyleElement) return true;
|
|
3610
3654
|
const tagName = element.tagName ?? element.nodeName;
|
|
3611
3655
|
return typeof tagName === "string" && tagName.toLowerCase() === "style";
|
|
3612
3656
|
}
|
|
3613
3657
|
|
|
3614
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3658
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areFileTargetsEqual.js
|
|
3615
3659
|
function areFileTargetsEqual(fileA, fileB) {
|
|
3616
3660
|
return fileA?.cacheKey != null || fileB?.cacheKey != null ? fileA?.cacheKey === fileB?.cacheKey : fileA?.contents === fileB?.contents && fileA?.name === fileB?.name && fileA?.lang === fileB?.lang;
|
|
3617
3661
|
}
|
|
3618
3662
|
|
|
3619
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3663
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/includesFileAnnotations.js
|
|
3620
3664
|
var FILE_ANNOTATION_DOM_KEY = `-1,-1`;
|
|
3621
3665
|
function includesFileAnnotations(annotations) {
|
|
3622
3666
|
return annotations?.some((annotation) => annotation.lineNumber === 0) ?? false;
|
|
@@ -3629,12 +3673,12 @@ function shouldRenderFileAnnotations(renderRange) {
|
|
|
3629
3673
|
return renderRange.startingLine === 0 && renderRange.totalLines > 0;
|
|
3630
3674
|
}
|
|
3631
3675
|
|
|
3632
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3676
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areSelectionPointsEqual.js
|
|
3633
3677
|
function areSelectionPointsEqual(a, b) {
|
|
3634
3678
|
return a.lineNumber === b.lineNumber && a.side === b.side;
|
|
3635
3679
|
}
|
|
3636
3680
|
|
|
3637
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3681
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityElement.js
|
|
3638
3682
|
function createGutterUtilityElement() {
|
|
3639
3683
|
return createHastElement({
|
|
3640
3684
|
tagName: "button",
|
|
@@ -3649,7 +3693,7 @@ function createGutterUtilityElement() {
|
|
|
3649
3693
|
});
|
|
3650
3694
|
}
|
|
3651
3695
|
|
|
3652
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3696
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isGutterUtilityPath.js
|
|
3653
3697
|
function isGutterUtilityPath(path) {
|
|
3654
3698
|
for (const element of path) {
|
|
3655
3699
|
if (!(element instanceof HTMLElement)) continue;
|
|
@@ -3658,7 +3702,7 @@ function isGutterUtilityPath(path) {
|
|
|
3658
3702
|
return false;
|
|
3659
3703
|
}
|
|
3660
3704
|
|
|
3661
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
3705
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/InteractionManager.js
|
|
3662
3706
|
var InteractionManager = class {
|
|
3663
3707
|
mode;
|
|
3664
3708
|
options;
|
|
@@ -4868,7 +4912,7 @@ function debugLogIfEnabled(debugLogType = "none", logIfType, ...args) {
|
|
|
4868
4912
|
console.log(...args);
|
|
4869
4913
|
}
|
|
4870
4914
|
|
|
4871
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
4915
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ResizeManager.js
|
|
4872
4916
|
var ResizeManager = class ResizeManager2 {
|
|
4873
4917
|
static resizeObserver;
|
|
4874
4918
|
static managersByElement = /* @__PURE__ */ new Map();
|
|
@@ -5148,13 +5192,13 @@ function cleanupStaleAnnotationItem(item) {
|
|
|
5148
5192
|
if (item.column2.container.isConnected) item.column2.container.style.removeProperty("--diffs-annotation-min-height");
|
|
5149
5193
|
}
|
|
5150
5194
|
|
|
5151
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5195
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areRenderRangesEqual.js
|
|
5152
5196
|
function areRenderRangesEqual(renderRangeA, renderRangeB) {
|
|
5153
5197
|
if (renderRangeA == null || renderRangeB == null) return renderRangeA === renderRangeB;
|
|
5154
5198
|
return renderRangeA.startingLine === renderRangeB.startingLine && renderRangeA.totalLines === renderRangeB.totalLines && renderRangeA.bufferBefore === renderRangeB.bufferBefore && renderRangeA.bufferAfter === renderRangeB.bufferAfter;
|
|
5155
5199
|
}
|
|
5156
5200
|
|
|
5157
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5201
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/applyLineTextWithNewline.js
|
|
5158
5202
|
function applyLineTextWithNewline(line, lineText) {
|
|
5159
5203
|
if (line.endsWith("\r\n")) return lineText + "\r\n";
|
|
5160
5204
|
if (line.endsWith("\r")) return lineText + "\r";
|
|
@@ -5162,7 +5206,7 @@ function applyLineTextWithNewline(line, lineText) {
|
|
|
5162
5206
|
return lineText;
|
|
5163
5207
|
}
|
|
5164
5208
|
|
|
5165
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5209
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationElement.js
|
|
5166
5210
|
function createAnnotationElement(span) {
|
|
5167
5211
|
return createHastElement({
|
|
5168
5212
|
tagName: "div",
|
|
@@ -5178,7 +5222,7 @@ function createAnnotationElement(span) {
|
|
|
5178
5222
|
});
|
|
5179
5223
|
}
|
|
5180
5224
|
|
|
5181
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5225
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createContentColumn.js
|
|
5182
5226
|
function createContentColumn(children, rowCount) {
|
|
5183
5227
|
return createHastElement({
|
|
5184
5228
|
tagName: "div",
|
|
@@ -5190,7 +5234,7 @@ function createContentColumn(children, rowCount) {
|
|
|
5190
5234
|
});
|
|
5191
5235
|
}
|
|
5192
5236
|
|
|
5193
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5237
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getIconForType.js
|
|
5194
5238
|
function getIconForType(type) {
|
|
5195
5239
|
switch (type) {
|
|
5196
5240
|
case "file":
|
|
@@ -5207,7 +5251,7 @@ function getIconForType(type) {
|
|
|
5207
5251
|
}
|
|
5208
5252
|
}
|
|
5209
5253
|
|
|
5210
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5254
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createFileHeaderElement.js
|
|
5211
5255
|
function createFileHeaderElement({ fileOrDiff, mode, stickyHeader }) {
|
|
5212
5256
|
const fileDiff = "type" in fileOrDiff ? fileOrDiff : void 0;
|
|
5213
5257
|
const properties = {
|
|
@@ -5299,7 +5343,7 @@ function createMetadataElement(fileDiff) {
|
|
|
5299
5343
|
});
|
|
5300
5344
|
}
|
|
5301
5345
|
|
|
5302
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5346
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createPreElement.js
|
|
5303
5347
|
function createPreElement(options) {
|
|
5304
5348
|
return createHastElement({
|
|
5305
5349
|
tagName: "pre",
|
|
@@ -5320,7 +5364,7 @@ function createPreWrapperProperties({ diffIndicators, disableBackground, disable
|
|
|
5320
5364
|
};
|
|
5321
5365
|
}
|
|
5322
5366
|
|
|
5323
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5367
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHighlighterOptions.js
|
|
5324
5368
|
function getHighlighterOptions(lang, { theme, preferredHighlighter = "shiki-js" }) {
|
|
5325
5369
|
return {
|
|
5326
5370
|
langs: Array.isArray(lang) ? lang : [lang ?? "text"],
|
|
@@ -5329,12 +5373,12 @@ function getHighlighterOptions(lang, { theme, preferredHighlighter = "shiki-js"
|
|
|
5329
5373
|
};
|
|
5330
5374
|
}
|
|
5331
5375
|
|
|
5332
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5376
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/isDefaultRenderRange.js
|
|
5333
5377
|
function isDefaultRenderRange(renderRange) {
|
|
5334
5378
|
return renderRange.startingLine === 0 && renderRange.totalLines === Infinity && renderRange.bufferBefore === 0 && renderRange.bufferAfter === 0;
|
|
5335
5379
|
}
|
|
5336
5380
|
|
|
5337
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5381
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/sprite.js
|
|
5338
5382
|
var SVGSpriteSheet = `<svg data-icon-sprite aria-hidden="true" width="0" height="0">
|
|
5339
5383
|
<symbol id="diffs-icon-arrow-right-short" viewBox="0 0 16 16">
|
|
5340
5384
|
<path d="M8.47 4.22a.75.75 0 0 0 0 1.06l1.97 1.97H3.75a.75.75 0 0 0 0 1.5h6.69l-1.97 1.97a.75.75 0 1 0 1.06 1.06l3.25-3.25a.75.75 0 0 0 0-1.06L9.53 4.22a.75.75 0 0 0-1.06 0"/>
|
|
@@ -5360,6 +5404,9 @@ var SVGSpriteSheet = `<svg data-icon-sprite aria-hidden="true" width="0" height=
|
|
|
5360
5404
|
<symbol id="diffs-icon-expand-all" viewBox="0 0 16 16">
|
|
5361
5405
|
<path d="M11.47 9.47a.75.75 0 1 1 1.06 1.06l-4 4a.75.75 0 0 1-1.06 0l-4-4a.75.75 0 1 1 1.06-1.06L8 12.94zM7.526 1.418a.75.75 0 0 1 1.004.052l4 4a.75.75 0 1 1-1.06 1.06L8 3.06 4.53 6.53a.75.75 0 1 1-1.06-1.06l4-4z"/>
|
|
5362
5406
|
</symbol>
|
|
5407
|
+
<symbol id="diffs-icon-eye-slash" viewBox="0 0 16 16">
|
|
5408
|
+
<path d="m13.47 1.47-12 12 1.06 1.06 12-12zM8 14c-.92 0-1.802-.208-2.624-.547l1.173-1.174c.476.142.963.221 1.451.221 1.66 0 3.307-.949 4.626-2.196a10.4 10.4 0 0 0 1.494-1.751A5 5 0 0 0 14.443 8a5 5 0 0 0-.323-.553 10 10 0 0 0-1.238-1.5l1.061-1.062C15.222 6.173 16 7.511 16 8c0 1.05-3.582 6-8 6"/><path d="M8 11q-.084 0-.167-.005l3.162-3.162q.006.083.005.167a3 3 0 0 1-3 3M5.005 8.167l3.162-3.162a3 3 0 0 0-3.162 3.162"/><path d="M8 3.5c.485 0 .97.081 1.445.227l1.168-1.169C9.794 2.212 8.915 2 8 2 3.582 2 0 6.8 0 8c0 .555.766 1.88 2.027 3.144l1.06-1.06a9.5 9.5 0 0 1-1.203-1.461 4.3 4.3 0 0 1-.345-.617L1.536 8l.003-.006c.064-.149.176-.359.345-.617a9.8 9.8 0 0 1 1.482-1.73C4.675 4.427 6.326 3.5 8 3.5"/>
|
|
5409
|
+
</symbol>
|
|
5363
5410
|
<symbol id="diffs-icon-file-code" viewBox="0 0 16 16">
|
|
5364
5411
|
<path d="M10.75 0c.199 0 .39.08.53.22l3.5 3.5c.14.14.22.331.22.53v9A2.75 2.75 0 0 1 12.25 16h-8.5A2.75 2.75 0 0 1 1 13.25V2.75A2.75 2.75 0 0 1 3.75 0zm-7 1.5c-.69 0-1.25.56-1.25 1.25v10.5c0 .69.56 1.25 1.25 1.25h8.5c.69 0 1.25-.56 1.25-1.25V5h-1.25A2.25 2.25 0 0 1 10 2.75V1.5z"/><path d="M7.248 6.19a.75.75 0 0 1 .063 1.058L5.753 9l1.558 1.752a.75.75 0 0 1-1.122.996l-2-2.25a.75.75 0 0 1 0-.996l2-2.25a.75.75 0 0 1 1.06-.063M8.69 7.248a.75.75 0 1 1 1.12-.996l2 2.25a.75.75 0 0 1 0 .996l-2 2.25a.75.75 0 1 1-1.12-.996L10.245 9z"/>
|
|
5365
5412
|
</symbol>
|
|
@@ -5369,27 +5416,81 @@ var SVGSpriteSheet = `<svg data-icon-sprite aria-hidden="true" width="0" height=
|
|
|
5369
5416
|
<symbol id="diffs-icon-symbol-added" viewBox="0 0 16 16">
|
|
5370
5417
|
<path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
5371
5418
|
</symbol>
|
|
5419
|
+
<symbol id="diffs-icon-symbol-added-duo" viewBox="0 0 16 16">
|
|
5420
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M8 4a.75.75 0 0 1 .75.75v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5A.75.75 0 0 1 8 4"/>
|
|
5421
|
+
</symbol>
|
|
5422
|
+
<symbol id="diffs-icon-symbol-added-fill" viewBox="0 0 16 16">
|
|
5423
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8m0 4a.75.75 0 0 0-.75.75v2.5h-2.5a.75.75 0 0 0 0 1.5h2.5v2.5a.75.75 0 0 0 1.5 0v-2.5h2.5a.75.75 0 0 0 0-1.5h-2.5v-2.5A.75.75 0 0 0 8 4" clip-rule="evenodd"/>
|
|
5424
|
+
</symbol>
|
|
5372
5425
|
<symbol id="diffs-icon-symbol-deleted" viewBox="0 0 16 16">
|
|
5373
5426
|
<path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/><path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/>
|
|
5374
5427
|
</symbol>
|
|
5428
|
+
<symbol id="diffs-icon-symbol-deleted-duo" viewBox="0 0 16 16">
|
|
5429
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M4 8a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5A.75.75 0 0 1 4 8"/>
|
|
5430
|
+
</symbol>
|
|
5431
|
+
<symbol id="diffs-icon-symbol-deleted-fill" viewBox="0 0 16 16">
|
|
5432
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8M4.75 7.25a.75.75 0 0 0 0 1.5h6.5a.75.75 0 0 0 0-1.5z" clip-rule="evenodd"/>
|
|
5433
|
+
</symbol>
|
|
5375
5434
|
<symbol id="diffs-icon-symbol-diffstat" viewBox="0 0 16 16">
|
|
5376
5435
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
5377
5436
|
</symbol>
|
|
5437
|
+
<symbol id="diffs-icon-symbol-diffstat-duo" viewBox="0 0 16 16">
|
|
5438
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M8.75 4.296a.75.75 0 0 0-1.5 0V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2zM5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z"/>
|
|
5439
|
+
</symbol>
|
|
5440
|
+
<symbol id="diffs-icon-symbol-diffstat-fill" viewBox="0 0 16 16">
|
|
5441
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8M5.25 10a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5zM8 3.546a.75.75 0 0 0-.75.75V6.25h-2a.75.75 0 0 0 0 1.5h2v1.5h1.5v-1.5h2a.75.75 0 0 0 0-1.5h-2V4.296a.75.75 0 0 0-.75-.75" clip-rule="evenodd"/>
|
|
5442
|
+
</symbol>
|
|
5443
|
+
<symbol id="diffs-icon-symbol-extracted" viewBox="0 0 16 16">
|
|
5444
|
+
<path d="M8.25 4.25a.75.75 0 0 1 0 1.5H6.81l3.302 3.302a1.5 1.5 0 1 1-1.06 1.06L5.75 6.811V8.25a.75.75 0 0 1-1.5 0V5A.75.75 0 0 1 5 4.25z"/><path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8m0 1.5c-1.613 0-2.807.089-3.704.288-.88.196-1.382.477-1.706.802-.325.324-.606.826-.802 1.706C1.588 5.193 1.5 6.387 1.5 8s.089 2.807.288 3.704c.196.88.477 1.382.802 1.706.324.325.826.606 1.706.802.897.2 2.091.288 3.704.288s2.807-.089 3.704-.288c.88-.196 1.382-.477 1.706-.802.325-.324.606-.826.802-1.706.2-.897.288-2.091.288-3.704s-.089-2.807-.288-3.704c-.196-.88-.477-1.382-.802-1.706-.324-.325-.826-.606-1.706-.802C10.807 1.588 9.613 1.5 8 1.5" clip-rule="evenodd"/>
|
|
5445
|
+
</symbol>
|
|
5446
|
+
<symbol id="diffs-icon-symbol-extracted-duo" viewBox="0 0 16 16">
|
|
5447
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8" clip-rule="evenodd" opacity=".2"/><path d="M8.25 4.25a.75.75 0 0 1 0 1.5H6.81l3.302 3.302a1.5 1.5 0 1 1-1.06 1.06L5.75 6.811V8.25a.75.75 0 0 1-1.5 0V5A.75.75 0 0 1 5 4.25z"/>
|
|
5448
|
+
</symbol>
|
|
5449
|
+
<symbol id="diffs-icon-symbol-extracted-fill" viewBox="0 0 16 16">
|
|
5450
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8M5 4.25a.75.75 0 0 0-.75.75v3.25a.75.75 0 0 0 1.5 0V6.81l3.302 3.302a1.5 1.5 0 1 0 1.06-1.06L6.811 5.75H8.25a.75.75 0 0 0 0-1.5z" clip-rule="evenodd"/>
|
|
5451
|
+
</symbol>
|
|
5378
5452
|
<symbol id="diffs-icon-symbol-ignored" viewBox="0 0 16 16">
|
|
5379
5453
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m11.53-2.47a.75.75 0 0 0-1.06-1.06l-6 6a.75.75 0 1 0 1.06 1.06z"/>
|
|
5380
5454
|
</symbol>
|
|
5455
|
+
<symbol id="diffs-icon-symbol-ignored-duo" viewBox="0 0 16 16">
|
|
5456
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M11.53 4.47a.75.75 0 0 1 0 1.06l-6 6a.75.75 0 0 1-1.06-1.06l6-6a.75.75 0 0 1 1.06 0"/>
|
|
5457
|
+
</symbol>
|
|
5458
|
+
<symbol id="diffs-icon-symbol-ignored-fill" viewBox="0 0 16 16">
|
|
5459
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8m3.53 4.47a.75.75 0 0 0-1.06 0l-6 6a.75.75 0 1 0 1.06 1.06l6-6a.75.75 0 0 0 0-1.06" clip-rule="evenodd"/>
|
|
5460
|
+
</symbol>
|
|
5461
|
+
<symbol id="diffs-icon-symbol-inlined" viewBox="0 0 16 16">
|
|
5462
|
+
<path d="M7.75 11.75a.75.75 0 0 1 0-1.5h1.44L5.887 6.948a1.5 1.5 0 1 1 1.06-1.06l3.302 3.301V7.75a.75.75 0 0 1 1.5 0V11a.75.75 0 0 1-.75.75z"/><path fill-rule="evenodd" d="M8 16c-6.588 0-8-1.412-8-8s1.412-8 8-8 8 1.412 8 8-1.412 8-8 8m0-1.5c1.613 0 2.807-.089 3.704-.288.88-.196 1.382-.477 1.706-.802.325-.324.606-.826.802-1.706.2-.897.288-2.091.288-3.704s-.089-2.807-.288-3.704c-.196-.88-.477-1.382-.802-1.706-.324-.325-.826-.606-1.706-.802C10.807 1.588 9.613 1.5 8 1.5s-2.807.089-3.704.288c-.88.196-1.382.477-1.706.802-.325.324-.606.826-.802 1.706C1.588 5.193 1.5 6.387 1.5 8s.089 2.807.288 3.704c.196.88.477 1.382.802 1.706.324.325.826.606 1.706.802.897.2 2.091.288 3.704.288" clip-rule="evenodd"/>
|
|
5463
|
+
</symbol>
|
|
5464
|
+
<symbol id="diffs-icon-symbol-inlined-duo" viewBox="0 0 16 16">
|
|
5465
|
+
<path fill-rule="evenodd" d="M8 16c-6.588 0-8-1.412-8-8s1.412-8 8-8 8 1.412 8 8-1.412 8-8 8" clip-rule="evenodd" opacity=".2"/><path d="M7.75 11.75a.75.75 0 0 1 0-1.5h1.44L5.887 6.948a1.5 1.5 0 1 1 1.06-1.06l3.302 3.301V7.75a.75.75 0 0 1 1.5 0V11a.75.75 0 0 1-.75.75z"/>
|
|
5466
|
+
</symbol>
|
|
5467
|
+
<symbol id="diffs-icon-symbol-inlined-fill" viewBox="0 0 16 16">
|
|
5468
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8M5.5 4a1.5 1.5 0 1 0 .388 2.948l3.301 3.302H7.75a.75.75 0 0 0 0 1.5H11a.75.75 0 0 0 .75-.75V7.75a.75.75 0 0 0-1.5 0v1.44L6.948 5.887A1.5 1.5 0 0 0 5.5 4" clip-rule="evenodd"/>
|
|
5469
|
+
</symbol>
|
|
5381
5470
|
<symbol id="diffs-icon-symbol-modified" viewBox="0 0 16 16">
|
|
5382
5471
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706s.826.607 1.706.802c.898.2 2.091.288 3.704.288s2.806-.088 3.704-.288c.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5s-2.806.088-3.704.288c-.88.196-1.381.478-1.706.802s-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8M0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m8 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6"/>
|
|
5383
5472
|
</symbol>
|
|
5473
|
+
<symbol id="diffs-icon-symbol-modified-duo" viewBox="0 0 16 16">
|
|
5474
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0"/>
|
|
5475
|
+
</symbol>
|
|
5476
|
+
<symbol id="diffs-icon-symbol-modified-fill" viewBox="0 0 16 16">
|
|
5477
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8m0 5a3 3 0 1 0 0 6 3 3 0 0 0 0-6" clip-rule="evenodd"/>
|
|
5478
|
+
</symbol>
|
|
5384
5479
|
<symbol id="diffs-icon-symbol-moved" viewBox="0 0 16 16">
|
|
5385
5480
|
<path d="M1.788 4.296c.196-.88.478-1.381.802-1.706s.826-.606 1.706-.802C5.194 1.588 6.387 1.5 8 1.5s2.806.088 3.704.288c.88.196 1.381.478 1.706.802s.607.826.802 1.706c.2.898.288 2.091.288 3.704s-.088 2.806-.288 3.704c-.195.88-.478 1.381-.802 1.706s-.826.607-1.706.802c-.898.2-2.091.288-3.704.288s-2.806-.088-3.704-.288c-.88-.195-1.381-.478-1.706-.802s-.606-.826-.802-1.706C1.588 10.806 1.5 9.613 1.5 8s.088-2.806.288-3.704M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8"/><path d="M8.495 4.695a.75.75 0 0 0-.05 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.05 1.06l2.044 2.248-1.796 1.995a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
5386
5481
|
</symbol>
|
|
5482
|
+
<symbol id="diffs-icon-symbol-moved-duo" viewBox="0 0 16 16">
|
|
5483
|
+
<path d="M8 0C1.412 0 0 1.412 0 8s1.412 8 8 8 8-1.412 8-8-1.412-8-8-8" opacity=".2"/><path d="M8.496 4.695a.75.75 0 0 0-.051 1.06L10.486 8l-2.041 2.246a.75.75 0 0 0 1.11 1.008l2.5-2.75a.75.75 0 0 0 0-1.008l-2.5-2.75a.75.75 0 0 0-1.06-.051m-4 0a.75.75 0 0 0-.051 1.06L6.49 8.003 4.693 9.998a.75.75 0 0 0 1.114 1.004l2.25-2.5a.75.75 0 0 0-.002-1.007l-2.5-2.75a.75.75 0 0 0-1.06-.05"/>
|
|
5484
|
+
</symbol>
|
|
5485
|
+
<symbol id="diffs-icon-symbol-moved-fill" viewBox="0 0 16 16">
|
|
5486
|
+
<path fill-rule="evenodd" d="M8 0c6.588 0 8 1.412 8 8s-1.412 8-8 8-8-1.412-8-8 1.412-8 8-8m1.555 4.745a.75.75 0 0 0-1.11 1.01L10.486 8l-2.04 2.245a.75.75 0 0 0 1.109 1.01l2.5-2.75a.75.75 0 0 0 0-1.01zm-4 0a.75.75 0 0 0-1.11 1.01l2.043 2.248-1.796 1.995a.75.75 0 0 0 1.116 1.004l2.25-2.5a.75.75 0 0 0-.003-1.007z" clip-rule="evenodd"/>
|
|
5487
|
+
</symbol>
|
|
5387
5488
|
<symbol id="diffs-icon-symbol-ref" viewBox="0 0 16 16">
|
|
5388
5489
|
<path d="M1.5 8c0 1.613.088 2.806.288 3.704.196.88.478 1.381.802 1.706.286.286.71.54 1.41.73V1.86c-.7.19-1.124.444-1.41.73-.324.325-.606.826-.802 1.706C1.588 5.194 1.5 6.387 1.5 8m4 6.397c.697.07 1.522.103 2.5.103 1.613 0 2.806-.088 3.704-.288.88-.195 1.381-.478 1.706-.802s.607-.826.802-1.706c.2-.898.288-2.091.288-3.704s-.088-2.806-.288-3.704c-.195-.88-.478-1.381-.802-1.706s-.826-.606-1.706-.802C10.806 1.588 9.613 1.5 8 1.5c-.978 0-1.803.033-2.5.103zM0 8c0-6.588 1.412-8 8-8s8 1.412 8 8-1.412 8-8 8-8-1.412-8-8m7-2a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z"/>
|
|
5389
5490
|
</symbol>
|
|
5390
5491
|
</svg>`;
|
|
5391
5492
|
|
|
5392
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5493
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/arePrePropertiesEqual.js
|
|
5393
5494
|
function arePrePropertiesEqual(propsA, propsB) {
|
|
5394
5495
|
if (propsA == null || propsB == null) return propsA === propsB;
|
|
5395
5496
|
return areCustomPropertiesEqual(propsA.customProperties, propsB.customProperties) && propsA.type === propsB.type && propsA.diffIndicators === propsB.diffIndicators && propsA.disableBackground === propsB.disableBackground && propsA.disableLineNumbers === propsB.disableLineNumbers && propsA.overflow === propsB.overflow && propsA.split === propsB.split && propsA.totalLines === propsB.totalLines;
|
|
@@ -5404,7 +5505,7 @@ function areCustomPropertiesEqual(customPropertiesA = EMPTY_CUSTOM_PROPERTIES, c
|
|
|
5404
5505
|
return true;
|
|
5405
5506
|
}
|
|
5406
5507
|
|
|
5407
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5508
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createAnnotationWrapperNode.js
|
|
5408
5509
|
function createAnnotationWrapperNode(slot) {
|
|
5409
5510
|
const wrapper = document.createElement("div");
|
|
5410
5511
|
wrapper.dataset.annotationSlot = "";
|
|
@@ -5413,7 +5514,7 @@ function createAnnotationWrapperNode(slot) {
|
|
|
5413
5514
|
return wrapper;
|
|
5414
5515
|
}
|
|
5415
5516
|
|
|
5416
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5517
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createGutterUtilityContentNode.js
|
|
5417
5518
|
function createGutterUtilityContentNode() {
|
|
5418
5519
|
const gutterUtilityContent = document.createElement("div");
|
|
5419
5520
|
gutterUtilityContent.slot = "gutter-utility-slot";
|
|
@@ -5426,14 +5527,14 @@ function createGutterUtilityContentNode() {
|
|
|
5426
5527
|
return gutterUtilityContent;
|
|
5427
5528
|
}
|
|
5428
5529
|
|
|
5429
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5530
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createUnsafeCSSStyleNode.js
|
|
5430
5531
|
function createUnsafeCSSStyleNode() {
|
|
5431
5532
|
const node = document.createElement("style");
|
|
5432
5533
|
node.setAttribute(UNSAFE_CSS_ATTRIBUTE, "");
|
|
5433
5534
|
return node;
|
|
5434
5535
|
}
|
|
5435
5536
|
|
|
5436
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5537
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/scrollbarGutter.js
|
|
5437
5538
|
var measuredScrollbarGutter;
|
|
5438
5539
|
function getMeasuredScrollbarGutter(shadowRoot) {
|
|
5439
5540
|
if (measuredScrollbarGutter != null) return measuredScrollbarGutter;
|
|
@@ -5457,10 +5558,10 @@ function createMeasuredScrollbarGutterDeclaration(scrollbarGutter) {
|
|
|
5457
5558
|
return `${DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY}: ${value};`;
|
|
5458
5559
|
}
|
|
5459
5560
|
|
|
5460
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5461
|
-
var style_default = '@layer base {\n :host {\n --diffs-font-fallback: "SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono",\n "Courier New", monospace;\n --diffs-header-font-fallback: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue",\n "Noto Sans", "Liberation Sans", Arial, sans-serif;\n --diffs-mixer: light-dark(#000, #fff);\n --diffs-gap-fallback: 8px;\n --diffs-scrollbar-gutter-fallback: 6px;\n --diffs-scrollbar-gutter: var(--diffs-scrollbar-gutter-override, var(--diffs-scrollbar-gutter-measured, var(--diffs-scrollbar-gutter-fallback)));\n --diffs-added-light: #0dbe4e;\n --diffs-added-dark: #5ecc71;\n --diffs-modified-light: #009fff;\n --diffs-modified-dark: #69b1ff;\n --diffs-deleted-light: #ff2e3f;\n --diffs-deleted-dark: #ff6762;\n --diffs-warning-light: #d5a910;\n --diffs-warning-dark: #ffd452;\n color-scheme: light dark;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n font-feature-settings: var(--diffs-font-features);\n --diffs-bg: light-dark(var(--diffs-light-bg, #fff), var(--diffs-dark-bg, #000));\n --diffs-bg-buffer: var(--diffs-bg-buffer-override, light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));\n --diffs-bg-context: var(--diffs-bg-context-override, light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));\n --diffs-bg-context-gutter: var(--diffs-bg-context-gutter-override, light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)), color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));\n --diffs-bg-separator: var(--diffs-bg-separator-override, light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));\n --diffs-fg: light-dark(var(--diffs-light, #000), var(--diffs-dark, #fff));\n --diffs-fg-number: var(--diffs-fg-number-override, light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)), color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));\n --diffs-fg-conflict-marker: var(--diffs-fg-conflict-marker-override, var(--diffs-fg-number));\n --diffs-deletion-base: var(--diffs-deletion-color-override, light-dark(var(--diffs-light-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-light))), var(--diffs-dark-deletion-color, var(--diffs-deletion-color, var(--diffs-deleted-dark)))));\n --diffs-addition-base: var(--diffs-addition-color-override, light-dark(var(--diffs-light-addition-color, var(--diffs-addition-color, var(--diffs-added-light))), var(--diffs-dark-addition-color, var(--diffs-addition-color, var(--diffs-added-dark)))));\n --diffs-modified-base: var(--diffs-modified-color-override, light-dark(var(--diffs-light-modified-color, var(--diffs-modified-color, var(--diffs-modified-light))), var(--diffs-dark-modified-color, var(--diffs-modified-color, var(--diffs-modified-dark)))));\n --diffs-bg-deletion: var(--diffs-bg-deletion-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));\n --diffs-bg-deletion-emphasis: var(--diffs-bg-deletion-emphasis-override, light-dark(rgb(from var(--diffs-deletion-base) r g b / .15), rgb(from var(--diffs-deletion-base) r g b / .2)));\n --diffs-bg-addition: var(--diffs-bg-addition-override, light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)), color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));\n --diffs-bg-addition-emphasis: var(--diffs-bg-addition-emphasis-override, light-dark(rgb(from var(--diffs-addition-base) r g b / .15), rgb(from var(--diffs-addition-base) r g b / .2)));\n --diffs-selection-base: var(--diffs-modified-base);\n --diffs-selection-number-fg: light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)), color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));\n background-color: var(--diffs-bg);\n color: var(--diffs-fg);\n display: block;\n }\n\n pre, code, [data-error-wrapper] {\n isolation: isolate;\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n outline: none;\n margin: 0;\n padding: 0;\n display: block;\n }\n\n pre, code {\n background-color: var(--diffs-bg);\n }\n\n code {\n contain: content;\n }\n\n input, button {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n\n *, :before, :after {\n box-sizing: border-box;\n }\n\n [data-icon-sprite] {\n display: none;\n }\n\n [data-diffs-header], [data-separator] {\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n }\n\n [data-diffs-header][data-sticky] {\n z-index: 1;\n background-color: var(--diffs-bg);\n position: sticky;\n top: 0;\n }\n\n [data-file-info] {\n color: var(--fg);\n background-color: color-mix(in lab, var(--bg) 98%, var(--fg));\n border-block: 1px solid color-mix(in lab, var(--bg) 95%, var(--fg));\n padding: 10px;\n font-weight: 700;\n }\n\n [data-diff], [data-file] {\n --diffs-grid-number-column-width: minmax(min-content, max-content);\n --diffs-code-grid: var(--diffs-grid-number-column-width) 1fr;\n\n &[data-dehydrated] {\n --diffs-code-grid: var(--diffs-grid-number-column-width) minmax(0, 1fr);\n }\n\n &:hover [data-code]::-webkit-scrollbar-thumb {\n background-color: var(--diffs-bg-context);\n }\n }\n\n @supports (-webkit-touch-callout: none) {\n :host {\n --diffs-scrollbar-gutter-fallback: 0px;\n }\n }\n\n [data-line] span, [data-edit-prediction-suffix] span {\n color: light-dark(var(--diffs-token-light, var(--diffs-light)), var(--diffs-token-dark, var(--diffs-dark)));\n background-color: light-dark(var(--diffs-token-light-bg, inherit), var(--diffs-token-dark-bg, inherit));\n font-weight: light-dark(var(--diffs-token-light-font-weight, inherit), var(--diffs-token-dark-font-weight, inherit));\n font-style: light-dark(var(--diffs-token-light-font-style, inherit), var(--diffs-token-dark-font-style, inherit));\n text-decoration: light-dark(var(--diffs-token-light-text-decoration, inherit), var(--diffs-token-dark-text-decoration, inherit));\n }\n\n [data-line], [data-gutter-buffer], [data-column-number], [data-line-annotation], [data-no-newline], [data-merge-conflict], [data-merge-conflict-actions], [data-editor-overlay] {\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-computed-diff-line-bg: var(--diffs-computed-decoration-bg);\n --diffs-computed-selected-line-bg: var(--diffs-computed-diff-line-bg);\n --diffs-computed-editor-active-line-bg: var(--diffs-computed-selected-line-bg);\n --diffs-computed-hovered-line-bg: var(--diffs-computed-editor-active-line-bg);\n --diffs-hover-mix-target: var(--diffs-bg-hover-override, var(--diffs-mixer));\n --diffs-line-bg: var(--diffs-computed-hovered-line-bg);\n color: var(--diffs-fg);\n background-color: var(--diffs-line-bg, var(--diffs-bg));\n }\n\n [data-line], [data-no-newline] {\n &[data-decoration-bg] {\n --mix-deco-light: 92%;\n --mix-deco-dark: 85%;\n\n &[data-decoration-bg-depth="2"] {\n --mix-deco-light: 88%;\n --mix-deco-dark: 80%;\n }\n\n &[data-decoration-bg-depth="3"] {\n --mix-deco-light: 85%;\n --mix-deco-dark: 78%;\n }\n\n --diffs-hover-mix-target: var(--diffs-decoration-bg);\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) var(--mix-deco-light),\n var(--diffs-decoration-bg)), color-mix(in lab,\n var(--diffs-bg) var(--mix-deco-dark),\n var(--diffs-decoration-bg)));\n }\n }\n\n [data-line-annotation], [data-gutter-buffer="annotation"] {\n --diffs-annotation-bg: var(--diffs-bg-context);\n --diffs-computed-decoration-bg: var(--diffs-annotation-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-merge-conflict-actions], [data-gutter-buffer="merge-conflict-action"], [data-gutter-buffer="merge-conflict-marker-base"], [data-gutter-buffer="merge-conflict-marker-separator"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"] {\n --diffs-computed-decoration-bg: var(--diffs-bg-context);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer="merge-conflict-marker-start"], [data-merge-conflict="marker-start"] {\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))), color-mix(in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-current-header-override, var(--diffs-addition-base))));\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-gutter-buffer="merge-conflict-marker-end"], [data-merge-conflict="marker-end"] {\n --diffs-computed-decoration-bg: light-dark(color-mix(in lab,\n var(--diffs-bg) 78%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))), color-mix(in lab,\n var(--diffs-bg) 68%,\n var(--conflict-bg-incoming-header-override, var(--diffs-modified-base))));\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n [data-has-merge-conflict] [data-line-annotation], [data-has-merge-conflict] [data-gutter-buffer="annotation"] {\n --diffs-computed-decoration-bg: var(--diffs-bg);\n --diffs-hover-mix-target: var(--diffs-computed-editor-active-line-bg);\n }\n\n :where([data-background]) {\n & [data-gutter-buffer], & [data-column-number] {\n --mix-light: 91%;\n --mix-dark: 85%;\n }\n\n & [data-line], & [data-no-newline] {\n --mix-light: 88%;\n --mix-dark: 80%;\n }\n\n & [data-gutter-buffer], & [data-column-number], & [data-line], & [data-no-newline] {\n --diffs-diff-line-mix-target: var(--diffs-bg);\n\n &[data-line-type="change-deletion"] {\n --diffs-diff-line-mix-target: var(--diffs-bg-deletion-override, var(--diffs-deletion-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-deletion-override, var(--diffs-deletion-base));\n --diffs-diff-line-mix-target: var(--diffs-bg-deletion-number-override, var(--diffs-deletion-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-line-type="change-addition"] {\n --diffs-diff-line-mix-target: var(--diffs-bg-addition-override, var(--diffs-addition-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));\n --diffs-diff-line-mix-target: var(--diffs-bg-addition-number-override, var(--diffs-addition-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-merge-conflict="current"] {\n --diffs-diff-line-mix-target: var(--conflict-bg-current-override, var(--diffs-addition-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-fg-number-addition-override, var(--diffs-addition-base));\n --diffs-diff-line-mix-target: var(--conflict-bg-current-number-override, var(--diffs-addition-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n\n &[data-merge-conflict="incoming"] {\n --diffs-diff-line-mix-target: var(--conflict-bg-incoming-override, var(--diffs-modified-base));\n --diffs-hover-mix-target: var(--diffs-diff-line-mix-target);\n\n &:where([data-gutter-buffer], [data-column-number]) {\n color: var(--diffs-modified-base);\n --diffs-diff-line-mix-target: var(--conflict-bg-incoming-number-override, var(--diffs-modified-base));\n }\n\n --diffs-computed-diff-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-light),\n var(--diffs-diff-line-mix-target)), color-mix(in lab,\n var(--diffs-computed-decoration-bg) var(--mix-dark),\n var(--diffs-diff-line-mix-target)));\n }\n }\n }\n\n [data-gutter-buffer], [data-column-number], [data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline], [data-editor-overlay] {\n --diffs-selection-mix-target: var(--diffs-bg-selection-override, var(--diffs-selection-base));\n --diffs-selection-emphasis-mix-target: var(--diffs-selection-mix-target);\n\n &:where([data-editor-overlay]), &:where([data-line], [data-line-annotation], [data-merge-conflict], [data-merge-conflict-actions], [data-no-newline])[data-selected-line] {\n --mix-selection-light: 82%;\n --mix-selection-dark: 75%;\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n &:where([data-gutter-buffer][data-selected-line], [data-column-number]:is([data-selected-line], [data-editor-active-line])) {\n --mix-selection-light: 75%;\n --mix-selection-dark: 60%;\n --diffs-selection-mix-target: var(--diffs-bg-selection-number-override, var(--diffs-selection-base));\n --diffs-hover-mix-target: var(--diffs-selection-mix-target);\n }\n\n &:where([data-line][data-selected-line]):is([data-line-type="change-addition"], [data-line-type="change-deletion"]) {\n --diffs-selection-emphasis-mix-target: light-dark(color-mix(in lab,\n var(--diffs-diff-line-mix-target, var(--diffs-selection-mix-target))\n var(--mix-selection-light),\n var(--diffs-selection-mix-target)), var(--diffs-selection-mix-target));\n }\n\n &:where([data-editor-overlay]), &[data-selected-line] {\n --diffs-computed-selected-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-light),\n var(--diffs-selection-mix-target)), color-mix(in lab,\n var(--diffs-computed-diff-line-bg) var(--mix-selection-dark),\n var(--diffs-selection-mix-target)));\n }\n }\n\n [data-line][data-editor-active-line], [data-column-number][data-editor-active-line] {\n --diffs-computed-editor-active-line-bg: color-mix(in lab,\n var(--diffs-computed-selected-line-bg)\n var(--diffs-editor-active-line-source-mix, 100%),\n var(--diffs-selection-emphasis-mix-target));\n }\n\n @media (pointer: fine) {\n [data-line][data-hovered], [data-gutter-buffer][data-hovered], [data-column-number][data-hovered], [data-line-annotation][data-hovered], [data-no-newline][data-hovered], [data-merge-conflict][data-hovered], [data-merge-conflict-actions][data-hovered], [data-editor-overlay][data-hovered] {\n --diffs-computed-hovered-line-bg: light-dark(color-mix(in lab,\n var(--diffs-computed-editor-active-line-bg) 97%,\n var(--diffs-hover-mix-target)), color-mix(in lab,\n var(--diffs-computed-editor-active-line-bg) 91%,\n var(--diffs-hover-mix-target)));\n }\n }\n\n [data-gutter-buffer][data-selected-line], [data-column-number]:is([data-selected-line], [data-editor-active-line]) {\n color: var(--diffs-selection-number-fg);\n }\n\n [data-no-newline] {\n user-select: none;\n\n & span {\n opacity: .6;\n }\n }\n\n [data-diff-type="split"][data-overflow="scroll"] {\n grid-template-columns: 1fr 1fr;\n display: grid;\n\n & [data-additions] {\n border-left: 1px solid var(--diffs-bg);\n }\n\n & [data-deletions] {\n border-right: 1px solid var(--diffs-bg);\n }\n }\n\n [data-code] {\n grid-auto-flow: dense;\n grid-template-columns: var(--diffs-code-grid);\n overflow: var(--diffs-overflow-override, scroll) clip;\n overscroll-behavior-x: none;\n tab-size: var(--diffs-tab-size, 2);\n padding-top: var(--diffs-gap-block, var(--diffs-gap-fallback));\n padding-bottom: max(0px,\n calc(var(--diffs-gap-block, var(--diffs-gap-fallback)) -\n var(--diffs-scrollbar-gutter)));\n scrollbar-gutter: stable;\n align-self: flex-start;\n display: grid;\n }\n\n [data-diffs-scrollbar-measure] {\n opacity: 0;\n pointer-events: none;\n scrollbar-gutter: auto;\n grid-template-columns: none;\n width: 100px;\n height: 100px;\n padding: 0;\n position: absolute;\n top: -200px;\n left: -200px;\n }\n\n [data-container-size] {\n container-type: inline-size;\n }\n\n [data-code]::-webkit-scrollbar {\n width: 0;\n height: var(--diffs-scrollbar-gutter);\n }\n\n [data-code]::-webkit-scrollbar-track {\n background: none;\n }\n\n [data-code]::-webkit-scrollbar-thumb {\n background-color: #0000;\n background-clip: content-box;\n border: 1px solid #0000;\n border-radius: 3px;\n }\n\n [data-code]::-webkit-scrollbar-corner {\n background-color: #0000;\n }\n\n @supports ((-moz-appearance: none)) {\n [data-code] {\n scrollbar-width: thin;\n scrollbar-color: var(--diffs-bg-context) transparent;\n padding-bottom: var(--diffs-gap-block, var(--diffs-gap-fallback));\n }\n }\n\n [data-diffs-header] ~ [data-diff], [data-diffs-header] ~ [data-file] {\n & [data-code], &[data-overflow="wrap"], &[data-dehydrated][data-diff-type="split"][data-overflow="scroll"] {\n padding-top: 0;\n }\n }\n\n [data-gutter] {\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n z-index: 3;\n background-color: var(--diffs-bg);\n grid-column: 1;\n display: grid;\n position: relative;\n\n & [data-gutter-buffer], & [data-column-number] {\n border-right: var(--diffs-gap-style, 2px solid var(--diffs-bg));\n }\n }\n\n [data-content] {\n grid-template-rows: subgrid;\n grid-template-columns: subgrid;\n background-color: var(--diffs-bg);\n grid-column: 2;\n min-width: 0;\n display: grid;\n }\n\n [data-diff-type="split"][data-overflow="wrap"], [data-dehydrated][data-diff-type="split"][data-overflow="scroll"] {\n grid-auto-flow: dense;\n grid-template-columns: repeat(2, var(--diffs-code-grid));\n padding-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n display: grid;\n\n & [data-code] {\n display: contents;\n }\n\n & [data-deletions] {\n & [data-gutter] {\n grid-column: 1;\n }\n\n & [data-content] {\n border-right: 1px solid var(--diffs-bg);\n grid-column: 2;\n }\n }\n\n & [data-additions] {\n & [data-gutter] {\n border-left: 1px solid var(--diffs-bg);\n grid-column: 3;\n }\n\n & [data-content] {\n grid-column: 4;\n }\n }\n }\n\n [data-dehydrated][data-diff-type="split"][data-overflow="scroll"] [data-content] {\n overflow: clip;\n }\n\n [data-overflow="scroll"] [data-gutter] {\n position: sticky;\n left: 0;\n }\n\n [data-interactive-lines] [data-line] {\n cursor: pointer;\n }\n\n [data-interactive-line-numbers] [data-column-number] {\n cursor: pointer;\n touch-action: none;\n }\n\n [data-content-buffer], [data-gutter-buffer] {\n user-select: none;\n min-height: 1lh;\n position: relative;\n }\n\n [data-gutter-buffer] {\n padding-left: 2ch;\n padding-right: 1ch;\n\n &:before {\n content: "";\n min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));\n display: block;\n }\n }\n\n [data-gutter-buffer="annotation"] {\n --diffs-annotation-bg: var(--diffs-bg-context-gutter);\n min-height: 0;\n }\n\n [data-gutter-buffer="buffer"] {\n --diffs-line-bg: var(--diffs-bg-context-gutter);\n }\n\n [data-content-buffer] {\n background-position: 5px 0;\n background-size: 8px 8px;\n background-origin: border-box;\n background-image: repeating-linear-gradient(-45deg,\n transparent,\n transparent calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(3px * 1.414),\n var(--diffs-bg-buffer) calc(4px * 1.414));\n grid-column: 1;\n }\n\n [data-separator] {\n box-sizing: content-box;\n background-color: var(--diffs-bg);\n }\n\n [data-separator="simple"] {\n min-height: 4px;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"], [data-separator="simple"] {\n background-color: var(--diffs-bg-separator);\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"], [data-separator="metadata"] {\n height: 32px;\n position: relative;\n }\n\n [data-separator-wrapper] {\n user-select: none;\n fill: currentColor;\n background-color: var(--diffs-bg);\n align-items: center;\n height: 100%;\n display: flex;\n position: absolute;\n inset-inline: 0;\n }\n\n [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-separator="metadata"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n height: 100%;\n color: var(--diffs-fg-number);\n white-space: nowrap;\n text-overflow: ellipsis;\n min-width: min-content;\n padding-inline: 1ch;\n inset-inline: 100% auto;\n overflow: hidden;\n }\n\n [data-separator="line-info"] {\n margin-block: var(--diffs-gap-block, var(--diffs-gap-fallback));\n\n & [data-separator-wrapper] {\n min-width: 16px;\n }\n }\n\n [data-separator="line-info-basic"], [data-separator="metadata"] {\n margin-block: 0;\n }\n\n [data-separator="line-info"][data-separator-first] {\n margin-top: 0;\n }\n\n [data-separator="line-info"][data-separator-last] {\n margin-bottom: 0;\n }\n\n [data-expand-index] [data-separator-wrapper] {\n grid-template-columns: 32px auto;\n display: grid;\n }\n\n [data-expand-index] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 32px 32px auto;\n }\n\n [data-expand-button], [data-separator-content] {\n background-color: var(--diffs-bg-separator);\n flex: none;\n align-items: center;\n display: flex;\n }\n\n [data-expand-index] [data-separator-content]:hover {\n cursor: pointer;\n text-decoration: underline;\n }\n\n [data-expand-button] {\n cursor: pointer;\n min-width: 32px;\n color: var(--diffs-fg-number);\n border-right: 2px solid var(--diffs-bg);\n flex-shrink: 0;\n justify-content: center;\n align-self: stretch;\n\n &:hover {\n color: var(--diffs-fg);\n }\n\n &[data-expand-all-button] {\n display: none;\n }\n }\n\n [data-expand-down] [data-icon] {\n transform: scaleY(-1);\n }\n\n [data-separator-content] {\n height: 100%;\n color: var(--diffs-fg-number);\n flex: auto;\n justify-content: flex-start;\n padding: 0 1ch;\n overflow: hidden;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"] {\n & [data-separator-content] {\n user-select: none;\n height: 100%;\n overflow: clip;\n }\n }\n\n [data-unmodified-lines] {\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 0 auto;\n min-width: 0;\n display: block;\n overflow: hidden;\n }\n\n @supports (width: 1cqi) {\n [data-unified] {\n & [data-separator="line-info"] [data-separator-wrapper] {\n padding-inline: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n width: 100cqi;\n\n & [data-separator-content] {\n border-radius: 6px;\n }\n }\n\n & [data-separator="line-info"][data-expand-index] [data-separator-wrapper] [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-gutter] {\n & [data-separator="line-info"] [data-separator-wrapper] {\n padding-left: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n }\n\n & [data-separator="line-info"] [data-separator-content] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n & [data-separator="line-info"][data-expand-index] [data-separator-content] {\n border-top-left-radius: unset;\n border-bottom-left-radius: unset;\n }\n }\n\n [data-additions] {\n & [data-content] [data-separator="line-info"] {\n background-color: var(--diffs-bg);\n\n & [data-separator-wrapper] {\n display: none;\n }\n }\n\n & [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n height: 100%;\n display: block;\n\n & [data-separator-content], & [data-expand-button] {\n display: none;\n }\n }\n }\n\n [data-overflow="scroll"] [data-additions] [data-gutter] [data-separator="line-info"] [data-separator-wrapper] {\n width: calc(100cqi - var(--diffs-gap-inline, var(--diffs-gap-fallback)));\n }\n\n [data-overflow="wrap"] [data-additions] [data-content] [data-separator="line-info"] [data-separator-wrapper] {\n background-color: var(--diffs-bg-separator);\n height: 100%;\n margin-right: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n display: block;\n\n & [data-separator-content], & [data-expand-button] {\n display: none;\n }\n }\n\n [data-separator="line-info"] [data-separator-wrapper] {\n & [data-expand-both], & [data-expand-down], & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n }\n\n @media (pointer: fine) {\n [data-separator="line-info"] [data-separator-wrapper] {\n &[data-separator-multi-button] {\n & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: unset;\n }\n\n & [data-expand-down] {\n border-bottom-left-radius: 6px;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: coarse) {\n [data-separator="line-info-basic"] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px 34px auto;\n\n & [data-separator-content] {\n grid-column: unset;\n grid-row: unset;\n }\n }\n\n @supports (width: 1cqi) {\n [data-separator="line-info"] [data-separator-wrapper] {\n & [data-expand-both], & [data-expand-down], & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n &[data-separator-multi-button] {\n & [data-expand-up] {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n }\n\n & [data-expand-down] {\n border-bottom-left-radius: unset;\n border-top-left-radius: unset;\n }\n }\n }\n }\n }\n\n @media (pointer: fine) {\n [data-separator-wrapper][data-separator-multi-button] {\n grid-template-rows: 50% 50%;\n display: grid;\n\n & [data-separator-content] {\n grid-area: 1 / 2 / -1;\n min-width: min-content;\n }\n\n & [data-expand-button] {\n grid-column: 1;\n }\n }\n\n [data-separator="line-info"] [data-separator-wrapper], [data-separator="line-info"] [data-separator-wrapper][data-separator-multi-button] {\n grid-template-columns: 34px auto;\n }\n\n [data-separator="line-info-basic"][data-expand-index] [data-separator-wrapper] {\n grid-template-columns: 100% auto;\n }\n\n [data-separator="line-info"], [data-separator="line-info-basic"] {\n & [data-separator-multi-button] {\n & [data-expand-up] {\n border-bottom: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n\n & [data-expand-down] {\n border-top: 1px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n }\n }\n }\n }\n\n [data-additions] [data-gutter] [data-separator-wrapper], [data-additions] [data-separator="line-info-basic"] [data-separator-wrapper], [data-content] [data-separator-wrapper] {\n display: none;\n }\n\n [data-line-annotation] {\n min-height: var(--diffs-annotation-min-height, 0);\n z-index: 2;\n }\n\n [data-merge-conflict-actions] {\n z-index: 2;\n }\n\n [data-separator="custom"] {\n grid-template-columns: subgrid;\n display: grid;\n }\n\n [data-line], [data-column-number], [data-no-newline] {\n padding-inline: 1ch;\n position: relative;\n }\n\n [data-indicators="classic"] [data-line] {\n padding-inline-start: 2ch;\n }\n\n [data-indicators="classic"] {\n & [data-line-type="change-addition"], & [data-line-type="change-deletion"] {\n &[data-no-newline], &[data-line] {\n &:before {\n user-select: none;\n width: 1ch;\n height: 1lh;\n display: inline-block;\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n }\n\n & [data-line-type="change-addition"] {\n &[data-line], &[data-no-newline] {\n &:before {\n content: "+";\n color: var(--diffs-addition-base);\n }\n }\n }\n\n & [data-line-type="change-deletion"] {\n &[data-line], &[data-no-newline] {\n &:before {\n content: "-";\n color: var(--diffs-deletion-base);\n }\n }\n }\n }\n\n [data-indicators="bars"] {\n & [data-line-type="change-deletion"], & [data-line-type="change-addition"] {\n &[data-column-number] {\n &:before {\n content: "";\n user-select: none;\n contain: strict;\n width: 4px;\n height: 100%;\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n }\n }\n }\n\n & [data-line-type="change-deletion"] {\n &[data-column-number] {\n &:before {\n background-image: linear-gradient(0deg,\n var(--diffs-bg-deletion) 50%,\n var(--diffs-deletion-base) 50%);\n background-repeat: repeat;\n background-size: 2px 2px;\n background-size: calc(1lh / round(1lh / 2px))\n calc(1lh / round(1lh / 2px));\n }\n }\n }\n\n & [data-line-type="change-addition"] {\n &[data-column-number] {\n &:before {\n background-color: var(--diffs-addition-base);\n }\n }\n }\n }\n\n [data-overflow="wrap"] {\n & [data-line] {\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n & [data-annotation-content] {\n word-break: break-word;\n }\n }\n\n [data-overflow="scroll"] [data-line] {\n white-space: pre;\n min-height: 1lh;\n }\n\n [data-column-number] {\n box-sizing: content-box;\n text-align: right;\n user-select: none;\n color: var(--diffs-fg-number);\n padding-left: 2ch;\n }\n\n [data-line-number-content] {\n min-width: var(--diffs-min-number-column-width, var(--diffs-min-number-column-width-default, 3ch));\n z-index: 1;\n display: inline-block;\n position: relative;\n }\n\n [data-disable-line-numbers] {\n & [data-gutter-buffer], & [data-column-number] {\n min-width: 4px;\n padding: 0;\n\n &:before {\n min-width: 0;\n }\n }\n\n & [data-line-number-content] {\n display: none;\n }\n\n & [data-gutter-utility-slot] {\n right: unset;\n justify-content: flex-start;\n left: 0;\n }\n\n &[data-indicators="bars"] [data-gutter-utility-slot] {\n left: 6px;\n }\n }\n\n [data-file][data-disable-line-numbers] {\n & [data-gutter-buffer], & [data-column-number] {\n border-right: 0;\n min-width: 0;\n }\n }\n\n [data-diff-span] {\n box-decoration-break: clone;\n border-radius: 3px;\n }\n\n [data-line-type="change-addition"] [data-diff-span] {\n background-color: var(--diffs-bg-addition-emphasis);\n }\n\n [data-line-type="change-deletion"] [data-diff-span] {\n background-color: var(--diffs-bg-deletion-emphasis);\n }\n\n [data-merge-conflict="marker-start"], [data-merge-conflict="marker-base"], [data-merge-conflict="marker-separator"], [data-merge-conflict="marker-end"] {\n color: var(--diffs-fg);\n padding-left: 1ch;\n }\n\n [data-merge-conflict="marker-start"], [data-merge-conflict="marker-end"] {\n align-items: center;\n display: flex;\n\n &:after {\n color: var(--diffs-fg-conflict-marker);\n font-size: .75rem;\n font-style: normal;\n line-height: 1.25rem;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n padding-left: 1ch;\n }\n }\n\n [data-merge-conflict="marker-start"]:after {\n content: "(Current Change)";\n }\n\n [data-merge-conflict="marker-end"]:after {\n content: "(Incoming Change)";\n }\n\n [data-merge-conflict-actions-content] {\n min-height: 1.75rem;\n font-family: var(--diffs-header-font-family, var(--diffs-header-font-fallback));\n color: var(--diffs-fg);\n align-items: center;\n gap: .25rem;\n padding-inline: .5rem;\n font-size: .75rem;\n line-height: 1.2;\n display: flex;\n }\n\n [data-merge-conflict-action] {\n appearance: none;\n color: var(--diffs-fg-number);\n font: inherit;\n cursor: pointer;\n background: none;\n border: 0;\n padding: 0;\n font-style: normal;\n }\n\n [data-merge-conflict-action]:hover {\n color: var(--diffs-fg);\n }\n\n [data-merge-conflict-action="current"]:hover {\n color: var(--diffs-addition-base);\n }\n\n [data-merge-conflict-action="incoming"]:hover {\n color: var(--diffs-modified-base);\n }\n\n [data-merge-conflict-action-separator] {\n color: var(--diffs-fg-number);\n opacity: .6;\n user-select: none;\n }\n\n [data-diffs-header="default"] {\n background-color: var(--diffs-bg);\n justify-content: space-between;\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n min-height: calc(1lh + (var(--diffs-gap-block, var(--diffs-gap-fallback)) * 3));\n z-index: 2;\n flex-direction: row;\n padding-inline: 16px;\n display: flex;\n position: relative;\n top: 0;\n }\n\n [data-header-content] {\n align-items: center;\n gap: var(--diffs-gap-inline, var(--diffs-gap-fallback));\n white-space: nowrap;\n flex-direction: row;\n min-width: 0;\n display: flex;\n }\n\n [data-header-content] [data-prev-name], [data-header-content] [data-title] {\n text-overflow: ellipsis;\n white-space: nowrap;\n direction: rtl;\n min-width: 0;\n overflow: hidden;\n }\n\n [data-prev-name] {\n opacity: .7;\n }\n\n [data-rename-icon] {\n fill: currentColor;\n flex-grow: 0;\n flex-shrink: 0;\n }\n\n [data-diffs-header="default"] [data-metadata] {\n white-space: nowrap;\n align-items: center;\n gap: 1ch;\n display: flex;\n }\n\n [data-diffs-header="default"] [data-additions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-addition-base);\n }\n\n [data-diffs-header="default"] [data-deletions-count] {\n font-family: var(--diffs-font-family, var(--diffs-font-fallback));\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon] {\n fill: currentColor;\n flex-shrink: 0;\n }\n\n [data-change-icon="change"], [data-change-icon="rename-pure"], [data-change-icon="rename-changed"] {\n color: var(--diffs-modified-base);\n }\n\n [data-change-icon="new"] {\n color: var(--diffs-addition-base);\n }\n\n [data-change-icon="deleted"] {\n color: var(--diffs-deletion-base);\n }\n\n [data-change-icon="file"] {\n opacity: .6;\n }\n\n [data-annotation-content] {\n z-index: 2;\n isolation: isolate;\n white-space: normal;\n align-self: flex-start;\n min-width: 0;\n display: flow-root;\n position: relative;\n }\n\n [data-overflow="scroll"] [data-annotation-content], [data-overflow="scroll"] [data-merge-conflict-actions-content] {\n width: var(--diffs-column-content-width, auto);\n left: var(--diffs-column-number-width, 0);\n position: sticky;\n }\n\n [data-annotation-slot] {\n text-wrap-mode: wrap;\n word-break: normal;\n white-space-collapse: collapse;\n }\n\n [data-gutter-utility-slot] {\n touch-action: none;\n justify-content: flex-end;\n display: flex;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n }\n\n [data-utility-button] {\n appearance: none;\n cursor: pointer;\n width: 1lh;\n height: 1lh;\n font-size: var(--diffs-font-size, 13px);\n line-height: var(--diffs-line-height, 20px);\n background-color: var(--diffs-modified-base);\n color: var(--diffs-bg);\n fill: currentColor;\n z-index: 4;\n touch-action: none;\n border: none;\n border-radius: 4px;\n justify-content: center;\n align-items: center;\n margin-right: calc(-1lh + 1ch);\n padding: 0;\n display: flex;\n position: relative;\n\n &:before {\n content: "";\n display: block;\n position: absolute;\n inset: 0 0 0 -4px;\n }\n }\n\n [data-decoration-bar-stack] {\n pointer-events: none;\n isolation: isolate;\n z-index: 1;\n background-color: var(--diffs-decoration-bar-color, transparent);\n box-sizing: content-box;\n border-left: 2px solid var(--diffs-bg);\n border-right: 2px solid var(--diffs-bg);\n width: 6px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -2px;\n\n [data-decoration-bar-depth="1"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 20%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-depth="2"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 45%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-depth="3"] & {\n background-color: color-mix(in lab,\n var(--diffs-bg) 65%,\n var(--diffs-decoration-bar-color, transparent));\n }\n\n [data-decoration-bar-start] & {\n border-top-left-radius: 5px;\n border-top-right-radius: 5px;\n }\n\n [data-decoration-bar-end] & {\n z-index: 3;\n border-bottom-right-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n }\n\n [data-placeholder] {\n contain: strict;\n }\n\n [data-error-wrapper] {\n padding: var(--diffs-gap-block, var(--diffs-gap-fallback))\n var(--diffs-gap-inline, var(--diffs-gap-fallback));\n scrollbar-width: none;\n max-height: 400px;\n overflow: auto;\n\n & [data-error-message] {\n color: var(--diffs-deletion-base);\n font-size: 18px;\n font-weight: bold;\n }\n\n & [data-error-stack] {\n color: var(--diffs-fg-number);\n }\n }\n}\n\n@layer theme, rendered, unsafe;\n';
|
|
5561
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/style.js
|
|
5562
|
+
var style_default = '@layer base,theme,rendered,unsafe;@layer base{:host{--diffs-font-fallback:"SF Mono", Monaco, Consolas, "Ubuntu Mono", "Liberation Mono", "Courier New", monospace;--diffs-header-font-fallback:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;--diffs-mixer:light-dark(#000,#fff);--diffs-gap-fallback:8px;--diffs-scrollbar-gutter-fallback:6px;--diffs-scrollbar-gutter:var(--diffs-scrollbar-gutter-override,var(--diffs-scrollbar-gutter-measured,var(--diffs-scrollbar-gutter-fallback)));--diffs-added-light:#0dbe4e;--diffs-added-dark:#5ecc71;--diffs-modified-light:#009fff;--diffs-modified-dark:#69b1ff;--diffs-deleted-light:#ff2e3f;--diffs-deleted-dark:#ff6762;--diffs-warning-light:#d5a910;--diffs-warning-dark:#ffd452;color-scheme:light dark;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);font-feature-settings:var(--diffs-font-features);--diffs-bg:light-dark(var(--diffs-light-bg,#fff),var(--diffs-dark-bg,#000));--diffs-bg-buffer:var(--diffs-bg-buffer-override,light-dark(color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92%, var(--diffs-mixer))));--diffs-bg-context:var(--diffs-bg-context-override,light-dark(color-mix(in lab, var(--diffs-bg) 98.5%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 92.5%, var(--diffs-mixer))));--diffs-bg-context-gutter:var(--diffs-bg-context-gutter-override,light-dark(color-mix(in lab, var(--diffs-bg-context) 90%, var(--diffs-bg)),color-mix(in lab, var(--diffs-bg-context) 45%, var(--diffs-bg))));--diffs-bg-separator:var(--diffs-bg-separator-override,light-dark(color-mix(in lab, var(--diffs-bg) 96%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-bg) 85%, var(--diffs-mixer))));--diffs-fg:light-dark(var(--diffs-light,#000),var(--diffs-dark,#fff));--diffs-fg-number:var(--diffs-fg-number-override,light-dark(color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg)),color-mix(in lab, var(--diffs-fg) 65%, var(--diffs-bg))));--diffs-fg-conflict-marker:var(--diffs-fg-conflict-marker-override,var(--diffs-fg-number));--diffs-deletion-base:var(--diffs-deletion-color-override,light-dark(var(--diffs-light-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-light))),var(--diffs-dark-deletion-color,var(--diffs-deletion-color,var(--diffs-deleted-dark)))));--diffs-addition-base:var(--diffs-addition-color-override,light-dark(var(--diffs-light-addition-color,var(--diffs-addition-color,var(--diffs-added-light))),var(--diffs-dark-addition-color,var(--diffs-addition-color,var(--diffs-added-dark)))));--diffs-modified-base:var(--diffs-modified-color-override,light-dark(var(--diffs-light-modified-color,var(--diffs-modified-color,var(--diffs-modified-light))),var(--diffs-dark-modified-color,var(--diffs-modified-color,var(--diffs-modified-dark)))));--diffs-bg-deletion:var(--diffs-bg-deletion-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-deletion-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-deletion-base))));--diffs-bg-deletion-emphasis:var(--diffs-bg-deletion-emphasis-override,light-dark(rgb(from var(--diffs-deletion-base) r g b / .15),rgb(from var(--diffs-deletion-base) r g b / .2)));--diffs-bg-addition:var(--diffs-bg-addition-override,light-dark(color-mix(in lab, var(--diffs-bg) 88%, var(--diffs-addition-base)),color-mix(in lab, var(--diffs-bg) 80%, var(--diffs-addition-base))));--diffs-bg-addition-emphasis:var(--diffs-bg-addition-emphasis-override,light-dark(rgb(from var(--diffs-addition-base) r g b / .15),rgb(from var(--diffs-addition-base) r g b / .2)));--diffs-selection-base:var(--diffs-modified-base);--diffs-selection-number-fg:light-dark(color-mix(in lab, var(--diffs-selection-base) 65%, var(--diffs-mixer)),color-mix(in lab, var(--diffs-selection-base) 75%, var(--diffs-mixer)));background-color:var(--diffs-bg);color:var(--diffs-fg);display:block}pre,code,[data-error-wrapper]{isolation:isolate;font-family:var(--diffs-font-family,var(--diffs-font-fallback));outline:none;margin:0;padding:0;display:block}pre,code{background-color:var(--diffs-bg)}code{contain:content}input,button{font-family:inherit;font-size:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box}[data-icon-sprite]{display:none}[data-diffs-header],[data-separator]{font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback))}[data-diffs-header][data-sticky]{z-index:1;background-color:var(--diffs-bg);position:sticky;top:0}[data-file-info]{color:var(--fg);background-color:color-mix(in lab, var(--bg) 98%, var(--fg));border-block:1px solid color-mix(in lab, var(--bg) 95%, var(--fg));padding:10px;font-weight:700}[data-diff],[data-file]{--diffs-grid-number-column-width:minmax(min-content, max-content);--diffs-code-grid:var(--diffs-grid-number-column-width) 1fr;&[data-dehydrated]{--diffs-code-grid:var(--diffs-grid-number-column-width) minmax(0, 1fr)}&:hover [data-code]::-webkit-scrollbar-thumb{background-color:var(--diffs-bg-context)}}@supports (-webkit-touch-callout:none){:host{--diffs-scrollbar-gutter-fallback:0px}}[data-line] span,[data-edit-prediction-suffix] span{color:light-dark(var(--diffs-token-light,var(--diffs-light)),var(--diffs-token-dark,var(--diffs-dark)));background-color:light-dark(var(--diffs-token-light-bg,inherit),var(--diffs-token-dark-bg,inherit));font-weight:light-dark(var(--diffs-token-light-font-weight,inherit),var(--diffs-token-dark-font-weight,inherit));font-style:light-dark(var(--diffs-token-light-font-style,inherit),var(--diffs-token-dark-font-style,inherit));text-decoration:light-dark(var(--diffs-token-light-text-decoration,inherit),var(--diffs-token-dark-text-decoration,inherit))}[data-line],[data-gutter-buffer],[data-column-number],[data-line-annotation],[data-no-newline],[data-merge-conflict],[data-merge-conflict-actions],[data-editor-overlay]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-computed-diff-line-bg:var(--diffs-computed-decoration-bg);--diffs-computed-selected-line-bg:var(--diffs-computed-diff-line-bg);--diffs-computed-editor-active-line-bg:var(--diffs-computed-selected-line-bg);--diffs-computed-hovered-line-bg:var(--diffs-computed-editor-active-line-bg);--diffs-hover-mix-target:var(--diffs-bg-hover-override,var(--diffs-mixer));--diffs-line-bg:var(--diffs-computed-hovered-line-bg);color:var(--diffs-fg);background-color:var(--diffs-line-bg,var(--diffs-bg))}[data-line],[data-no-newline]{&[data-decoration-bg]{--mix-deco-light:92%;--mix-deco-dark:85%;&[data-decoration-bg-depth="2"]{--mix-deco-light:88%;--mix-deco-dark:80%}&[data-decoration-bg-depth="3"]{--mix-deco-light:85%;--mix-deco-dark:78%}--diffs-hover-mix-target:var(--diffs-decoration-bg);--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) var(--mix-deco-light), var(--diffs-decoration-bg)),color-mix(in lab, var(--diffs-bg) var(--mix-deco-dark), var(--diffs-decoration-bg)))}}[data-line-annotation],[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context);--diffs-computed-decoration-bg:var(--diffs-annotation-bg);--diffs-hover-mix-target:var(--diffs-computed-editor-active-line-bg)}[data-merge-conflict-actions],[data-gutter-buffer=merge-conflict-action],[data-gutter-buffer=merge-conflict-marker-base],[data-gutter-buffer=merge-conflict-marker-separator],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator]{--diffs-computed-decoration-bg:var(--diffs-bg-context);--diffs-hover-mix-target:var(--diffs-computed-editor-active-line-bg)}[data-gutter-buffer=merge-conflict-marker-start],[data-merge-conflict=marker-start]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-current-header-override,var(--diffs-addition-base))));--diffs-hover-mix-target:var(--diffs-computed-editor-active-line-bg)}[data-gutter-buffer=merge-conflict-marker-end],[data-merge-conflict=marker-end]{--diffs-computed-decoration-bg:light-dark(color-mix(in lab, var(--diffs-bg) 78%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))),color-mix(in lab, var(--diffs-bg) 68%, var(--conflict-bg-incoming-header-override,var(--diffs-modified-base))));--diffs-hover-mix-target:var(--diffs-computed-editor-active-line-bg)}[data-has-merge-conflict] [data-line-annotation],[data-has-merge-conflict] [data-gutter-buffer=annotation]{--diffs-computed-decoration-bg:var(--diffs-bg);--diffs-hover-mix-target:var(--diffs-computed-editor-active-line-bg)}:where([data-background]){& [data-gutter-buffer],& [data-column-number]{--mix-light:91%;--mix-dark:85%}& [data-line],& [data-no-newline]{--mix-light:88%;--mix-dark:80%}& [data-gutter-buffer],& [data-column-number],& [data-line],& [data-no-newline]{--diffs-diff-line-mix-target:var(--diffs-bg);&[data-line-type=change-deletion]{--diffs-diff-line-mix-target:var(--diffs-bg-deletion-override,var(--diffs-deletion-base));--diffs-hover-mix-target:var(--diffs-diff-line-mix-target);&:where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-deletion-override,var(--diffs-deletion-base));--diffs-diff-line-mix-target:var(--diffs-bg-deletion-number-override,var(--diffs-deletion-base))}--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)))}&[data-line-type=change-addition]{--diffs-diff-line-mix-target:var(--diffs-bg-addition-override,var(--diffs-addition-base));--diffs-hover-mix-target:var(--diffs-diff-line-mix-target);&:where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--diffs-bg-addition-number-override,var(--diffs-addition-base))}--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)))}&[data-merge-conflict=current]{--diffs-diff-line-mix-target:var(--conflict-bg-current-override,var(--diffs-addition-base));--diffs-hover-mix-target:var(--diffs-diff-line-mix-target);&:where([data-gutter-buffer],[data-column-number]){color:var(--diffs-fg-number-addition-override,var(--diffs-addition-base));--diffs-diff-line-mix-target:var(--conflict-bg-current-number-override,var(--diffs-addition-base))}--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)))}&[data-merge-conflict=incoming]{--diffs-diff-line-mix-target:var(--conflict-bg-incoming-override,var(--diffs-modified-base));--diffs-hover-mix-target:var(--diffs-diff-line-mix-target);&:where([data-gutter-buffer],[data-column-number]){color:var(--diffs-modified-base);--diffs-diff-line-mix-target:var(--conflict-bg-incoming-number-override,var(--diffs-modified-base))}--diffs-computed-diff-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-light), var(--diffs-diff-line-mix-target)),color-mix(in lab, var(--diffs-computed-decoration-bg) var(--mix-dark), var(--diffs-diff-line-mix-target)))}}}[data-gutter-buffer],[data-column-number],[data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline],[data-editor-overlay]{--diffs-selection-mix-target:var(--diffs-bg-selection-override,var(--diffs-selection-base));--diffs-selection-emphasis-mix-target:var(--diffs-selection-mix-target);&:where([data-editor-overlay]),&:where([data-line],[data-line-annotation],[data-merge-conflict],[data-merge-conflict-actions],[data-no-newline])[data-selected-line]{--mix-selection-light:82%;--mix-selection-dark:75%;--diffs-hover-mix-target:var(--diffs-selection-mix-target)}&:where([data-gutter-buffer][data-selected-line],[data-column-number]:is([data-selected-line],[data-editor-active-line])){--mix-selection-light:75%;--mix-selection-dark:60%;--diffs-selection-mix-target:var(--diffs-bg-selection-number-override,var(--diffs-selection-base));--diffs-hover-mix-target:var(--diffs-selection-mix-target)}&:where([data-line][data-selected-line]):is([data-line-type=change-addition],[data-line-type=change-deletion]){--diffs-selection-emphasis-mix-target:light-dark(color-mix(in lab, var(--diffs-diff-line-mix-target,var(--diffs-selection-mix-target)) var(--mix-selection-light), var(--diffs-selection-mix-target)),var(--diffs-selection-mix-target))}&:where([data-editor-overlay]),&[data-selected-line]{--diffs-computed-selected-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-light), var(--diffs-selection-mix-target)),color-mix(in lab, var(--diffs-computed-diff-line-bg) var(--mix-selection-dark), var(--diffs-selection-mix-target)))}}[data-line][data-editor-active-line],[data-column-number][data-editor-active-line]{--diffs-computed-editor-active-line-bg:color-mix(in lab, var(--diffs-computed-selected-line-bg) var(--diffs-editor-active-line-source-mix,100%), var(--diffs-selection-emphasis-mix-target))}@media (pointer:fine){[data-line][data-hovered],[data-gutter-buffer][data-hovered],[data-column-number][data-hovered],[data-line-annotation][data-hovered],[data-no-newline][data-hovered],[data-merge-conflict][data-hovered],[data-merge-conflict-actions][data-hovered],[data-editor-overlay][data-hovered]{--diffs-computed-hovered-line-bg:light-dark(color-mix(in lab, var(--diffs-computed-editor-active-line-bg) 97%, var(--diffs-hover-mix-target)),color-mix(in lab, var(--diffs-computed-editor-active-line-bg) 91%, var(--diffs-hover-mix-target)))}}[data-gutter-buffer][data-selected-line],[data-column-number]:is([data-selected-line],[data-editor-active-line]){color:var(--diffs-selection-number-fg)}[data-no-newline]{user-select:none;& span{opacity:.6}}[data-diff-type=split][data-overflow=scroll]{grid-template-columns:1fr 1fr;display:grid;& [data-additions]{border-left:1px solid var(--diffs-bg)}& [data-deletions]{border-right:1px solid var(--diffs-bg)}}[data-code]{grid-auto-flow:dense;grid-template-columns:var(--diffs-code-grid);overflow:var(--diffs-overflow-override,scroll) clip;overscroll-behavior-x:none;tab-size:var(--diffs-tab-size,2);padding-top:var(--diffs-gap-block,var(--diffs-gap-fallback));padding-bottom:max(0px, calc(var(--diffs-gap-block,var(--diffs-gap-fallback)) - var(--diffs-scrollbar-gutter)));scrollbar-gutter:stable;align-self:flex-start;display:grid}[data-diffs-scrollbar-measure]{opacity:0;pointer-events:none;scrollbar-gutter:auto;grid-template-columns:none;width:100px;height:100px;padding:0;position:absolute;top:-200px;left:-200px}[data-container-size]{container-type:inline-size}[data-code]::-webkit-scrollbar{width:0;height:var(--diffs-scrollbar-gutter)}[data-code]::-webkit-scrollbar-track{background:0 0}[data-code]::-webkit-scrollbar-thumb{background-color:#0000;background-clip:content-box;border:1px solid #0000;border-radius:3px}[data-code]::-webkit-scrollbar-corner{background-color:#0000}@supports ((-moz-appearance:none)){[data-code]{scrollbar-width:thin;scrollbar-color:var(--diffs-bg-context) transparent;padding-bottom:var(--diffs-gap-block,var(--diffs-gap-fallback))}}[data-diffs-header]~[data-diff],[data-diffs-header]~[data-file]{& [data-code],&[data-overflow=wrap],&[data-dehydrated][data-diff-type=split][data-overflow=scroll]{padding-top:0}}[data-gutter]{grid-template-rows:subgrid;grid-template-columns:subgrid;z-index:3;background-color:var(--diffs-bg);grid-column:1;display:grid;position:relative;& [data-gutter-buffer],& [data-column-number]{border-right:var(--diffs-gap-style,2px solid var(--diffs-bg))}}[data-content]{grid-template-rows:subgrid;grid-template-columns:subgrid;background-color:var(--diffs-bg);grid-column:2;min-width:0;display:grid}[data-diff-type=split][data-overflow=wrap],[data-dehydrated][data-diff-type=split][data-overflow=scroll]{grid-auto-flow:dense;grid-template-columns:repeat(2, var(--diffs-code-grid));padding-block:var(--diffs-gap-block,var(--diffs-gap-fallback));display:grid;& [data-code]{display:contents}& [data-deletions]{& [data-gutter]{grid-column:1}& [data-content]{border-right:1px solid var(--diffs-bg);grid-column:2}}& [data-additions]{& [data-gutter]{border-left:1px solid var(--diffs-bg);grid-column:3}& [data-content]{grid-column:4}}}[data-dehydrated][data-diff-type=split][data-overflow=scroll] [data-content]{overflow:clip}[data-overflow=scroll] [data-gutter]{position:sticky;left:0}[data-interactive-lines] [data-line]{cursor:pointer}[data-interactive-line-numbers] [data-column-number]{cursor:pointer;touch-action:none}[data-content-buffer],[data-gutter-buffer]{user-select:none;min-height:1lh;position:relative}[data-gutter-buffer]{padding-left:2ch;padding-right:1ch;&:before{content:"";min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));display:block}}[data-gutter-buffer=annotation]{--diffs-annotation-bg:var(--diffs-bg-context-gutter);min-height:0}[data-gutter-buffer=buffer]{--diffs-line-bg:var(--diffs-bg-context-gutter)}[data-content-buffer]{background-position:5px 0;background-size:8px 8px;background-origin:border-box;background-image:repeating-linear-gradient(-45deg, transparent, transparent calc(3px * 1.414), var(--diffs-bg-buffer) calc(3px * 1.414), var(--diffs-bg-buffer) calc(4px * 1.414));grid-column:1}[data-separator]{box-sizing:content-box;background-color:var(--diffs-bg)}[data-separator=simple]{min-height:4px}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata],[data-separator=simple]{background-color:var(--diffs-bg-separator)}[data-separator=line-info],[data-separator=line-info-basic],[data-separator=metadata]{height:32px;position:relative}[data-separator-wrapper]{user-select:none;fill:currentColor;background-color:var(--diffs-bg);align-items:center;height:100%;display:flex;position:absolute;inset-inline:0}[data-content] [data-separator-wrapper]{display:none}[data-separator=metadata] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;color:var(--diffs-fg-number);white-space:nowrap;text-overflow:ellipsis;min-width:min-content;padding-inline:1ch;inset-inline:100% auto;overflow:hidden}[data-separator=line-info]{margin-block:var(--diffs-gap-block,var(--diffs-gap-fallback));& [data-separator-wrapper]{min-width:16px}}[data-separator=line-info-basic],[data-separator=metadata]{margin-block:0}[data-separator=line-info][data-separator-first]{margin-top:0}[data-separator=line-info][data-separator-last]{margin-bottom:0}[data-expand-index] [data-separator-wrapper]{grid-template-columns:32px auto;display:grid}[data-expand-index] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:32px 32px auto}[data-expand-button],[data-separator-content]{background-color:var(--diffs-bg-separator);flex:none;align-items:center;display:flex}[data-expand-index] [data-separator-content]:hover{cursor:pointer;text-decoration:underline}[data-expand-button]{cursor:pointer;min-width:32px;color:var(--diffs-fg-number);border-right:2px solid var(--diffs-bg);flex-shrink:0;justify-content:center;align-self:stretch;&:hover{color:var(--diffs-fg)}&[data-expand-all-button]{display:none}}[data-expand-down] [data-icon]{transform:scaleY(-1)}[data-separator-content]{height:100%;color:var(--diffs-fg-number);flex:auto;justify-content:flex-start;padding:0 1ch;overflow:hidden}[data-separator=line-info],[data-separator=line-info-basic]{& [data-separator-content]{user-select:none;height:100%;overflow:clip}}[data-unmodified-lines]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;display:block;overflow:hidden}@supports (width:1cqi){[data-unified]{& [data-separator=line-info] [data-separator-wrapper]{padding-inline:var(--diffs-gap-inline,var(--diffs-gap-fallback));width:100cqi;& [data-separator-content]{border-radius:6px}}& [data-separator=line-info][data-expand-index] [data-separator-wrapper] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}}[data-gutter]{& [data-separator=line-info] [data-separator-wrapper]{padding-left:var(--diffs-gap-inline,var(--diffs-gap-fallback))}& [data-separator=line-info] [data-separator-content]{border-top-left-radius:6px;border-bottom-left-radius:6px}& [data-separator=line-info][data-expand-index] [data-separator-content]{border-top-left-radius:unset;border-bottom-left-radius:unset}}[data-additions]{& [data-content] [data-separator=line-info]{background-color:var(--diffs-bg);& [data-separator-wrapper]{display:none}}& [data-gutter] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);border-top-right-radius:6px;border-bottom-right-radius:6px;height:100%;display:block;& [data-separator-content],& [data-expand-button]{display:none}}}[data-overflow=scroll] [data-additions] [data-gutter] [data-separator=line-info] [data-separator-wrapper]{width:calc(100cqi - var(--diffs-gap-inline,var(--diffs-gap-fallback)))}[data-overflow=wrap] [data-additions] [data-content] [data-separator=line-info] [data-separator-wrapper]{background-color:var(--diffs-bg-separator);height:100%;margin-right:var(--diffs-gap-inline,var(--diffs-gap-fallback));border-top-right-radius:6px;border-bottom-right-radius:6px;display:block;& [data-separator-content],& [data-expand-button]{display:none}}[data-separator=line-info] [data-separator-wrapper]{& [data-expand-both],& [data-expand-down],& [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}}@media (pointer:fine){[data-separator=line-info] [data-separator-wrapper]{&[data-separator-multi-button]{& [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:unset}& [data-expand-down]{border-bottom-left-radius:6px;border-top-left-radius:unset}}}}}@media (pointer:coarse){[data-separator=line-info-basic] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px 34px auto;& [data-separator-content]{grid-column:unset;grid-row:unset}}@supports (width:1cqi){[data-separator=line-info] [data-separator-wrapper]{& [data-expand-both],& [data-expand-down],& [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}&[data-separator-multi-button]{& [data-expand-up]{border-top-left-radius:6px;border-bottom-left-radius:6px}& [data-expand-down]{border-bottom-left-radius:unset;border-top-left-radius:unset}}}}}@media (pointer:fine){[data-separator-wrapper][data-separator-multi-button]{grid-template-rows:50% 50%;display:grid;& [data-separator-content]{grid-area:1/2/-1;min-width:min-content}& [data-expand-button]{grid-column:1}}[data-separator=line-info] [data-separator-wrapper],[data-separator=line-info] [data-separator-wrapper][data-separator-multi-button]{grid-template-columns:34px auto}[data-separator=line-info-basic][data-expand-index] [data-separator-wrapper]{grid-template-columns:100% auto}[data-separator=line-info],[data-separator=line-info-basic]{& [data-separator-multi-button]{& [data-expand-up]{border-bottom:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}& [data-expand-down]{border-top:1px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg)}}}}[data-additions] [data-gutter] [data-separator-wrapper],[data-additions] [data-separator=line-info-basic] [data-separator-wrapper],[data-content] [data-separator-wrapper]{display:none}[data-line-annotation]{min-height:var(--diffs-annotation-min-height,0);z-index:2}[data-merge-conflict-actions]{z-index:2}[data-separator=custom]{grid-template-columns:subgrid;display:grid}[data-line],[data-column-number],[data-no-newline]{padding-inline:1ch;position:relative}[data-indicators=classic] [data-line]{padding-inline-start:2ch}[data-indicators=classic]{& [data-line-type=change-addition],& [data-line-type=change-deletion]{&[data-no-newline],&[data-line]{&:before{user-select:none;width:1ch;height:1lh;display:inline-block;position:absolute;top:0;left:0}}}& [data-line-type=change-addition]{&[data-line],&[data-no-newline]{&:before{content:"+";color:var(--diffs-addition-base)}}}& [data-line-type=change-deletion]{&[data-line],&[data-no-newline]{&:before{content:"-";color:var(--diffs-deletion-base)}}}}[data-indicators=bars]{& [data-line-type=change-deletion],& [data-line-type=change-addition]{&[data-column-number]{&:before{content:"";user-select:none;contain:strict;width:4px;height:100%;display:block;position:absolute;top:0;left:0}}}& [data-line-type=change-deletion]{&[data-column-number]{&:before{background-image:linear-gradient(0deg, var(--diffs-bg-deletion) 50%, var(--diffs-deletion-base) 50%);background-repeat:repeat;background-size:2px 2px;background-size:calc(1lh / round(1lh / 2px)) calc(1lh / round(1lh / 2px))}}}& [data-line-type=change-addition]{&[data-column-number]{&:before{background-color:var(--diffs-addition-base)}}}}[data-overflow=wrap]{& [data-line]{white-space:pre-wrap;word-break:break-word}& [data-annotation-content]{word-break:break-word}}[data-overflow=scroll] [data-line]{white-space:pre;min-height:1lh}[data-column-number]{box-sizing:content-box;text-align:right;user-select:none;color:var(--diffs-fg-number);padding-left:2ch}[data-line-number-content]{min-width:var(--diffs-min-number-column-width,var(--diffs-min-number-column-width-default,3ch));z-index:1;display:inline-block;position:relative}[data-disable-line-numbers]{& [data-gutter-buffer],& [data-column-number]{min-width:4px;padding:0;&:before{min-width:0}}& [data-line-number-content]{display:none}& [data-gutter-utility-slot]{right:unset;justify-content:flex-start;left:0}&[data-indicators=bars] [data-gutter-utility-slot]{left:6px}}[data-file][data-disable-line-numbers]{& [data-gutter-buffer],& [data-column-number]{border-right:0;min-width:0}}[data-diff-span]{box-decoration-break:clone;border-radius:3px}[data-line-type=change-addition] [data-diff-span]{background-color:var(--diffs-bg-addition-emphasis)}[data-line-type=change-deletion] [data-diff-span]{background-color:var(--diffs-bg-deletion-emphasis)}[data-merge-conflict=marker-start],[data-merge-conflict=marker-base],[data-merge-conflict=marker-separator],[data-merge-conflict=marker-end]{color:var(--diffs-fg);padding-left:1ch}[data-merge-conflict=marker-start],[data-merge-conflict=marker-end]{align-items:center;display:flex;&:after{color:var(--diffs-fg-conflict-marker);font-size:.75rem;font-style:normal;line-height:1.25rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));padding-left:1ch}}[data-merge-conflict=marker-start]:after{content:"(Current Change)"}[data-merge-conflict=marker-end]:after{content:"(Incoming Change)"}[data-merge-conflict-actions-content]{min-height:1.75rem;font-family:var(--diffs-header-font-family,var(--diffs-header-font-fallback));color:var(--diffs-fg);align-items:center;gap:.25rem;padding-inline:.5rem;font-size:.75rem;line-height:1.2;display:flex}[data-merge-conflict-action]{appearance:none;color:var(--diffs-fg-number);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-style:normal}[data-merge-conflict-action]:hover{color:var(--diffs-fg)}[data-merge-conflict-action=current]:hover{color:var(--diffs-addition-base)}[data-merge-conflict-action=incoming]:hover{color:var(--diffs-modified-base)}[data-merge-conflict-action-separator]{color:var(--diffs-fg-number);opacity:.6;user-select:none}[data-diffs-header=default]{background-color:var(--diffs-bg);justify-content:space-between;align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));min-height:calc(1lh + (var(--diffs-gap-block,var(--diffs-gap-fallback)) * 3));z-index:2;flex-direction:row;padding-inline:16px;display:flex;position:relative;top:0}[data-header-content]{align-items:center;gap:var(--diffs-gap-inline,var(--diffs-gap-fallback));white-space:nowrap;flex-direction:row;min-width:0;display:flex}[data-header-content] [data-prev-name],[data-header-content] [data-title]{text-overflow:ellipsis;white-space:nowrap;direction:rtl;min-width:0;overflow:hidden}[data-prev-name]{opacity:.7}[data-rename-icon]{fill:currentColor;flex-grow:0;flex-shrink:0}[data-diffs-header=default] [data-metadata]{white-space:nowrap;align-items:center;gap:1ch;display:flex}[data-diffs-header=default] [data-additions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-addition-base)}[data-diffs-header=default] [data-deletions-count]{font-family:var(--diffs-font-family,var(--diffs-font-fallback));color:var(--diffs-deletion-base)}[data-change-icon]{fill:currentColor;flex-shrink:0}[data-change-icon=change],[data-change-icon=rename-pure],[data-change-icon=rename-changed]{color:var(--diffs-modified-base)}[data-change-icon=new]{color:var(--diffs-addition-base)}[data-change-icon=deleted]{color:var(--diffs-deletion-base)}[data-change-icon=file]{opacity:.6}[data-annotation-content]{z-index:2;isolation:isolate;white-space:normal;align-self:flex-start;min-width:0;display:flow-root;position:relative}[data-overflow=scroll] [data-annotation-content],[data-overflow=scroll] [data-merge-conflict-actions-content]{width:var(--diffs-column-content-width,auto);left:var(--diffs-column-number-width,0);position:sticky}[data-annotation-slot]{text-wrap-mode:wrap;word-break:normal;white-space-collapse:collapse}[data-gutter-utility-slot]{touch-action:none;justify-content:flex-end;display:flex;position:absolute;top:0;bottom:0;right:0}[data-utility-button]{appearance:none;cursor:pointer;width:1lh;height:1lh;font-size:var(--diffs-font-size,13px);line-height:var(--diffs-line-height,20px);background-color:var(--diffs-modified-base);color:var(--diffs-bg);fill:currentColor;z-index:4;touch-action:none;border:none;border-radius:4px;justify-content:center;align-items:center;margin-right:calc(-1lh + 1ch);padding:0;display:flex;position:relative;&:before{content:"";display:block;position:absolute;inset:0 0 0 -4px}}[data-decoration-bar-stack]{pointer-events:none;isolation:isolate;z-index:1;background-color:var(--diffs-decoration-bar-color,transparent);box-sizing:content-box;border-left:2px solid var(--diffs-bg);border-right:2px solid var(--diffs-bg);width:6px;position:absolute;top:0;bottom:0;right:-2px;[data-decoration-bar-depth="1"] &{background-color:color-mix(in lab, var(--diffs-bg) 20%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="2"] &{background-color:color-mix(in lab, var(--diffs-bg) 45%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-depth="3"] &{background-color:color-mix(in lab, var(--diffs-bg) 65%, var(--diffs-decoration-bar-color,transparent))}[data-decoration-bar-start] &{border-top-left-radius:5px;border-top-right-radius:5px}[data-decoration-bar-end] &{z-index:3;border-bottom-right-radius:5px;border-bottom-left-radius:5px}}[data-placeholder]{contain:strict}[data-error-wrapper]{padding:var(--diffs-gap-block,var(--diffs-gap-fallback)) var(--diffs-gap-inline,var(--diffs-gap-fallback));scrollbar-width:none;max-height:400px;overflow:auto;& [data-error-message]{color:var(--diffs-deletion-base);font-size:18px;font-weight:700}& [data-error-stack]{color:var(--diffs-fg-number)}}}@layer theme,rendered,unsafe;\n';
|
|
5462
5563
|
|
|
5463
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5564
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cssWrappers.js
|
|
5464
5565
|
var LAYER_ORDER = `@layer base, theme, rendered, unsafe;`;
|
|
5465
5566
|
var SCROLLBAR_GUTTER_DECLARATION_PATTERN = new RegExp(`${escapeRegExp(DIFFS_SCROLLBAR_GUTTER_MEASURED_PROPERTY)}\\s*:\\s*[^;]+;`);
|
|
5466
5567
|
function wrapUnsafeCSS(unsafeCSS) {
|
|
@@ -5489,14 +5590,14 @@ function escapeRegExp(value) {
|
|
|
5489
5590
|
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
5490
5591
|
}
|
|
5491
5592
|
|
|
5492
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5593
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/lineAnnotationIdentity.js
|
|
5493
5594
|
var lineAnnotationSources = /* @__PURE__ */ new WeakMap();
|
|
5494
5595
|
function getLineAnnotationSource(annotation) {
|
|
5495
5596
|
const source = lineAnnotationSources.get(annotation);
|
|
5496
5597
|
return source == null ? annotation : source;
|
|
5497
5598
|
}
|
|
5498
5599
|
|
|
5499
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5600
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionAnnotations.js
|
|
5500
5601
|
function adoptEditSessionAnnotations(annotations, getName, previousSession) {
|
|
5501
5602
|
const slotNames = /* @__PURE__ */ new Map();
|
|
5502
5603
|
for (const annotation of annotations) {
|
|
@@ -5528,12 +5629,12 @@ function resolveEditSessionSlotName(session, annotation, getName) {
|
|
|
5528
5629
|
return name;
|
|
5529
5630
|
}
|
|
5530
5631
|
|
|
5531
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5632
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/shouldUseTokenTransformer.js
|
|
5532
5633
|
function shouldUseTokenTransformer(options) {
|
|
5533
5634
|
return options?.useTokenTransformer === true || options?.onTokenClick != null || options?.onTokenEnter != null || options?.onTokenLeave != null;
|
|
5534
5635
|
}
|
|
5535
5636
|
|
|
5536
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5637
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getOrCreateCodeNode.js
|
|
5537
5638
|
function getOrCreateCodeNode({ code, pre, columnType, rowSpan, containerSize = false } = {}) {
|
|
5538
5639
|
if (code == null) {
|
|
5539
5640
|
code = document.createElement("code");
|
|
@@ -5548,7 +5649,7 @@ function getOrCreateCodeNode({ code, pre, columnType, rowSpan, containerSize = f
|
|
|
5548
5649
|
return code;
|
|
5549
5650
|
}
|
|
5550
5651
|
|
|
5551
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5652
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/guardWebKitScrollDuringRebuild.js
|
|
5552
5653
|
function guardWebKitScrollDuringRebuild(pre, rebuild) {
|
|
5553
5654
|
const height = pre?.offsetHeight ?? 0;
|
|
5554
5655
|
if (pre == null || height === 0) {
|
|
@@ -5564,7 +5665,7 @@ function guardWebKitScrollDuringRebuild(pre, rebuild) {
|
|
|
5564
5665
|
}
|
|
5565
5666
|
}
|
|
5566
5667
|
|
|
5567
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5668
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hostTheme.js
|
|
5568
5669
|
function upsertHostThemeStyle({ shadowRoot, currentNode, themeCSS }) {
|
|
5569
5670
|
if (themeCSS.trim() === "") {
|
|
5570
5671
|
currentNode?.remove();
|
|
@@ -5581,20 +5682,20 @@ function createHostThemeStyleNode() {
|
|
|
5581
5682
|
return node;
|
|
5582
5683
|
}
|
|
5583
5684
|
|
|
5584
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5685
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/platform.js
|
|
5585
5686
|
var _isSafari = void 0;
|
|
5586
5687
|
function isSafari() {
|
|
5587
5688
|
return _isSafari ??= "safari" in window && "pushNotification" in window.safari || /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
5588
5689
|
}
|
|
5589
5690
|
|
|
5590
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5691
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/prerenderHTMLIfNecessary.js
|
|
5591
5692
|
function prerenderHTMLIfNecessary(element, html) {
|
|
5592
5693
|
if (html == null) return;
|
|
5593
5694
|
const shadowRoot = element.shadowRoot ?? element.attachShadow({ mode: "open" });
|
|
5594
5695
|
if (shadowRoot.innerHTML === "") shadowRoot.innerHTML = html;
|
|
5595
5696
|
}
|
|
5596
5697
|
|
|
5597
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5698
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/setWrapperNodeProps.js
|
|
5598
5699
|
function setPreNodeProperties(pre, { type, diffIndicators, disableBackground, disableLineNumbers, overflow, split, totalLines, customProperties }) {
|
|
5599
5700
|
if (customProperties != null) for (const key in customProperties) {
|
|
5600
5701
|
const value = customProperties[key];
|
|
@@ -5626,7 +5727,7 @@ function setPreNodeProperties(pre, { type, diffIndicators, disableBackground, di
|
|
|
5626
5727
|
return pre;
|
|
5627
5728
|
}
|
|
5628
5729
|
|
|
5629
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5730
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/web-components.js
|
|
5630
5731
|
if (typeof HTMLElement !== "undefined" && customElements.get("diffs-container") == null) {
|
|
5631
5732
|
let sheet;
|
|
5632
5733
|
class FileDiffContainer extends HTMLElement {
|
|
@@ -5648,7 +5749,7 @@ if (typeof HTMLElement !== "undefined" && customElements.get("diffs-container")
|
|
|
5648
5749
|
customElements.define(DIFFS_TAG_NAME, FileDiffContainer);
|
|
5649
5750
|
}
|
|
5650
5751
|
|
|
5651
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5752
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/awaitWithTimeout.js
|
|
5652
5753
|
async function awaitWithTimeout(callback, timeout = 300) {
|
|
5653
5754
|
let timeoutId;
|
|
5654
5755
|
try {
|
|
@@ -5660,7 +5761,7 @@ async function awaitWithTimeout(callback, timeout = 300) {
|
|
|
5660
5761
|
}
|
|
5661
5762
|
}
|
|
5662
5763
|
|
|
5663
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5764
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/computeEstimatedDiffHeights.js
|
|
5664
5765
|
function computeEstimatedDiffHeights({ fileDiff, metrics, disableFileHeader, hunkSeparators, expandUnchanged, expandedHunks: configuredExpandedHunks, collapsedContextThreshold, canHydratePartialDiff }) {
|
|
5665
5766
|
let splitHeight = getVirtualFileHeaderRegion(metrics, disableFileHeader);
|
|
5666
5767
|
let unifiedHeight = splitHeight;
|
|
@@ -5761,7 +5862,7 @@ function getChangeNoNewlineMetadataLineCounts(hunk, content) {
|
|
|
5761
5862
|
};
|
|
5762
5863
|
}
|
|
5763
5864
|
|
|
5764
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5865
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffFileInput.js
|
|
5765
5866
|
function getDiffFileInput({ oldFile, newFile }, context) {
|
|
5766
5867
|
if (oldFile === void 0 && newFile === void 0) return;
|
|
5767
5868
|
if (oldFile === void 0 || newFile === void 0) throw new Error(`${context}: Pass null for an intentionally missing oldFile or newFile side`);
|
|
@@ -5782,7 +5883,7 @@ function getDiffFileInput({ oldFile, newFile }, context) {
|
|
|
5782
5883
|
};
|
|
5783
5884
|
}
|
|
5784
5885
|
|
|
5785
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5886
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/cloneFileDiffMetadata.js
|
|
5786
5887
|
function cloneHunks(hunks) {
|
|
5787
5888
|
return hunks.map((hunk) => ({
|
|
5788
5889
|
...hunk,
|
|
@@ -5798,18 +5899,18 @@ function cloneFileDiffMetadata(fileDiff) {
|
|
|
5798
5899
|
};
|
|
5799
5900
|
}
|
|
5800
5901
|
|
|
5801
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5902
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/composeCacheKey.js
|
|
5802
5903
|
var CACHE_KEY_VERSION = 1;
|
|
5803
5904
|
function composeCacheKey(scope, ...segments) {
|
|
5804
5905
|
return `ck${CACHE_KEY_VERSION}:${JSON.stringify([scope, ...segments])}`;
|
|
5805
5906
|
}
|
|
5806
5907
|
|
|
5807
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5908
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/splitFileContents.js
|
|
5808
5909
|
function splitFileContents(contents) {
|
|
5809
5910
|
return contents !== "" ? contents.split(SPLIT_WITH_NEWLINES) : [];
|
|
5810
5911
|
}
|
|
5811
5912
|
|
|
5812
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
5913
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/hydratePartialDiff.js
|
|
5813
5914
|
function hydratePartialDiff(type, fileDiff, files) {
|
|
5814
5915
|
const targetFileDiff = type === "clone" ? cloneFileDiffMetadata(fileDiff) : fileDiff;
|
|
5815
5916
|
if (!targetFileDiff.isPartial) throw new Error("hydratePartialDiff: fileDiff must be partial");
|
|
@@ -5942,7 +6043,7 @@ function getLoadedFileCacheKey(oldFile, newFile) {
|
|
|
5942
6043
|
return oldFile?.cacheKey ?? newFile?.cacheKey;
|
|
5943
6044
|
}
|
|
5944
6045
|
|
|
5945
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6046
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/detachString.js
|
|
5946
6047
|
var stringDetachEncoder = new TextEncoder();
|
|
5947
6048
|
var stringDetachDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
5948
6049
|
var SURROGATE_CODE_UNIT_PATTERN = /[\uD800-\uDFFF]/;
|
|
@@ -5960,24 +6061,72 @@ function detachString(value) {
|
|
|
5960
6061
|
return stringDetachDecoder.decode(stringDetachBuffer.subarray(0, written));
|
|
5961
6062
|
}
|
|
5962
6063
|
|
|
5963
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6064
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseQuotedDiffFileName.js
|
|
6065
|
+
var filenameDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
6066
|
+
var NAMED_ESCAPES = {
|
|
6067
|
+
'"': '"',
|
|
6068
|
+
"\\": "\\",
|
|
6069
|
+
a: "\x07",
|
|
6070
|
+
b: "\b",
|
|
6071
|
+
t: " ",
|
|
6072
|
+
n: "\n",
|
|
6073
|
+
v: "\v",
|
|
6074
|
+
f: "\f",
|
|
6075
|
+
r: "\r"
|
|
6076
|
+
};
|
|
6077
|
+
function parseQuotedDiffFileName(input) {
|
|
6078
|
+
if (input[0] !== '"') return;
|
|
6079
|
+
let fileName = "";
|
|
6080
|
+
let index = 1;
|
|
6081
|
+
while (index < input.length) {
|
|
6082
|
+
const char = input[index];
|
|
6083
|
+
if (char === '"') return {
|
|
6084
|
+
fileName,
|
|
6085
|
+
rawLength: index + 1
|
|
6086
|
+
};
|
|
6087
|
+
if (char !== "\\") {
|
|
6088
|
+
fileName += char;
|
|
6089
|
+
index++;
|
|
6090
|
+
continue;
|
|
6091
|
+
}
|
|
6092
|
+
const escaped = NAMED_ESCAPES[input[index + 1]];
|
|
6093
|
+
if (escaped != null) {
|
|
6094
|
+
fileName += escaped;
|
|
6095
|
+
index += 2;
|
|
6096
|
+
continue;
|
|
6097
|
+
}
|
|
6098
|
+
const bytes = [];
|
|
6099
|
+
do {
|
|
6100
|
+
const byte = readOctalByte(input, index + 1);
|
|
6101
|
+
if (byte == null) return;
|
|
6102
|
+
bytes.push(byte);
|
|
6103
|
+
index += 4;
|
|
6104
|
+
} while (input[index] === "\\" && input[index + 1] >= "0" && input[index + 1] <= "7");
|
|
6105
|
+
fileName += filenameDecoder.decode(new Uint8Array(bytes));
|
|
6106
|
+
}
|
|
6107
|
+
}
|
|
6108
|
+
function readOctalByte(input, index) {
|
|
6109
|
+
const first = input.charCodeAt(index) - 48;
|
|
6110
|
+
const second = input.charCodeAt(index + 1) - 48;
|
|
6111
|
+
const third = input.charCodeAt(index + 2) - 48;
|
|
6112
|
+
if (first >= 0 && first <= 3 && second >= 0 && second <= 7 && third >= 0 && third <= 7) return first * 64 + second * 8 + third;
|
|
6113
|
+
}
|
|
6114
|
+
|
|
6115
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/realignChangeContent.js
|
|
5964
6116
|
var MAX_ALIGNMENT_COMPARISONS = 4096;
|
|
5965
6117
|
var MIN_IMPROVEMENT_PER_PAIR = 0.5;
|
|
5966
6118
|
function realignChangeContentBySimilarity(diff) {
|
|
5967
|
-
for (const hunk of diff.hunks) {
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5971
|
-
|
|
5972
|
-
|
|
5973
|
-
|
|
5974
|
-
index += replacement.length - 1;
|
|
5975
|
-
}
|
|
6119
|
+
for (const hunk of diff.hunks) for (let index = 0; index < hunk.hunkContent.length; index++) {
|
|
6120
|
+
const content = hunk.hunkContent[index];
|
|
6121
|
+
if (content.type !== "change") continue;
|
|
6122
|
+
const replacement = realignChangeBlock(diff, content);
|
|
6123
|
+
if (replacement != null) {
|
|
6124
|
+
hunk.hunkContent.splice(index, 1, ...replacement);
|
|
6125
|
+
index += replacement.length - 1;
|
|
5976
6126
|
}
|
|
5977
|
-
slideBlankBoundaryBlocksUp(hunk, diff);
|
|
5978
6127
|
}
|
|
5979
6128
|
}
|
|
5980
|
-
function slideBlankBoundaryBlocksUp(hunk, diff) {
|
|
6129
|
+
function slideBlankBoundaryBlocksUp(hunk, diff, resolveSlide) {
|
|
5981
6130
|
const { hunkContent } = hunk;
|
|
5982
6131
|
for (let index = 1; index < hunkContent.length; index++) {
|
|
5983
6132
|
const block = hunkContent[index];
|
|
@@ -5999,6 +6148,10 @@ function slideBlankBoundaryBlocksUp(hunk, diff) {
|
|
|
5999
6148
|
while (slide < previous.lines && diff.additionLines[previous.additionLineIndex + previous.lines - 1 - slide] === unit) slide++;
|
|
6000
6149
|
if (slide === 0) continue;
|
|
6001
6150
|
if (index === 1 && slide === previous.lines) continue;
|
|
6151
|
+
if (resolveSlide != null) {
|
|
6152
|
+
slide = resolveSlide(block, slide);
|
|
6153
|
+
if (slide === 0) continue;
|
|
6154
|
+
}
|
|
6002
6155
|
block.additionLineIndex -= slide;
|
|
6003
6156
|
block.deletionLineIndex -= slide;
|
|
6004
6157
|
const blockAdditionEnd = block.additionLineIndex + block.additions;
|
|
@@ -6080,7 +6233,8 @@ function lineSimilarity(a, b) {
|
|
|
6080
6233
|
return (prefix + suffix) / maxLength;
|
|
6081
6234
|
}
|
|
6082
6235
|
|
|
6083
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6236
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parsePatchFiles.js
|
|
6237
|
+
var GIT_DIFF_HEADER_FILENAMES = /^diff --git ("a\/(?:[^"\\]|\\.)*"|a\/.+?) ("b\/(?:[^"\\]|\\.)*"|b\/.+?)$/;
|
|
6084
6238
|
function processFile(fileDiffString, options) {
|
|
6085
6239
|
try {
|
|
6086
6240
|
return _processFile(fileDiffString, options);
|
|
@@ -6127,26 +6281,27 @@ function _processFile(fileDiffString, { cacheKey, isGitDiff = GIT_DIFF_FILE_BREA
|
|
|
6127
6281
|
if (currentFile.deletionLines.length === 1 && oldFile?.contents === "") currentFile.deletionLines.length = 0;
|
|
6128
6282
|
for (const line of lines) {
|
|
6129
6283
|
if (line.startsWith("diff --git")) {
|
|
6130
|
-
const filenameMatch2 = line.trim().match(
|
|
6131
|
-
|
|
6132
|
-
const name = filenameMatch2?.[3] ?? filenameMatch2?.[4];
|
|
6133
|
-
if (prevName == null || name == null) {
|
|
6284
|
+
const filenameMatch2 = line.trim().match(GIT_DIFF_HEADER_FILENAMES);
|
|
6285
|
+
if (filenameMatch2 == null) {
|
|
6134
6286
|
if (throwOnError) throw Error("parsePatchContent: invalid git diff header");
|
|
6135
6287
|
else console.error("parsePatchContent: invalid git diff header", line);
|
|
6136
6288
|
continue;
|
|
6137
6289
|
}
|
|
6138
|
-
|
|
6139
|
-
|
|
6290
|
+
const prevName = decodeDiffFileName(filenameMatch2[1], true);
|
|
6291
|
+
const name = decodeDiffFileName(filenameMatch2[2], true);
|
|
6292
|
+
currentFile.name = detachString(name);
|
|
6293
|
+
if (prevName !== name) currentFile.prevName = detachString(prevName);
|
|
6140
6294
|
continue;
|
|
6141
6295
|
}
|
|
6142
|
-
const filenameMatch = line.startsWith("---") || line.startsWith("+++") ? line.match(
|
|
6296
|
+
const filenameMatch = line.startsWith("---") || line.startsWith("+++") ? line.match(FILENAME_HEADER_REGEX) : null;
|
|
6143
6297
|
if (filenameMatch != null) {
|
|
6144
|
-
const [, type,
|
|
6298
|
+
const [, type, rawFileName] = filenameMatch;
|
|
6299
|
+
const fileName = decodeDiffFileName(rawFileName, isGitDiff);
|
|
6145
6300
|
if (type === "---" && fileName !== "/dev/null") {
|
|
6146
|
-
const detachedFileName = detachString(fileName
|
|
6301
|
+
const detachedFileName = detachString(fileName);
|
|
6147
6302
|
currentFile.prevName = detachedFileName;
|
|
6148
6303
|
currentFile.name = detachedFileName;
|
|
6149
|
-
} else if (type === "+++" && fileName !== "/dev/null") currentFile.name = detachString(fileName
|
|
6304
|
+
} else if (type === "+++" && fileName !== "/dev/null") currentFile.name = detachString(fileName);
|
|
6150
6305
|
} else if (isGitDiff) {
|
|
6151
6306
|
if (line.startsWith("new mode ")) currentFile.mode = detachString(line.slice(8).trim());
|
|
6152
6307
|
if (line.startsWith("old mode ")) currentFile.prevMode = detachString(line.slice(8).trim());
|
|
@@ -6168,8 +6323,8 @@ function _processFile(fileDiffString, { cacheKey, isGitDiff = GIT_DIFF_FILE_BREA
|
|
|
6168
6323
|
if (newObjectId != null) currentFile.newObjectId = detachString(newObjectId);
|
|
6169
6324
|
if (mode != null) currentFile.mode = detachString(mode);
|
|
6170
6325
|
}
|
|
6171
|
-
if (line.startsWith("rename from ")) currentFile.prevName = detachString(line.slice(
|
|
6172
|
-
if (line.startsWith("rename to ")) currentFile.name = detachString(line.slice(
|
|
6326
|
+
if (line.startsWith("rename from ") || line.startsWith("copy from ")) currentFile.prevName = detachString(decodeDiffFileName(line.slice(line.startsWith("rename") ? 12 : 10)));
|
|
6327
|
+
if (line.startsWith("rename to ") || line.startsWith("copy to ")) currentFile.name = detachString(decodeDiffFileName(line.slice(line.startsWith("rename") ? 10 : 8)));
|
|
6173
6328
|
}
|
|
6174
6329
|
}
|
|
6175
6330
|
continue;
|
|
@@ -6333,6 +6488,11 @@ function _processFile(fileDiffString, { cacheKey, isGitDiff = GIT_DIFF_FILE_BREA
|
|
|
6333
6488
|
realignChangeContentBySimilarity(currentFile);
|
|
6334
6489
|
return currentFile;
|
|
6335
6490
|
}
|
|
6491
|
+
function decodeDiffFileName(value, stripGitPrefix = false) {
|
|
6492
|
+
const rawName = value.trim();
|
|
6493
|
+
const name = rawName.startsWith('"') ? parseQuotedDiffFileName(rawName)?.fileName ?? rawName : rawName;
|
|
6494
|
+
return stripGitPrefix && (name.startsWith("a/") || name.startsWith("b/")) ? name.slice(2) : name;
|
|
6495
|
+
}
|
|
6336
6496
|
function splitFileContents2(contents) {
|
|
6337
6497
|
const lines = splitWithNewlines(contents);
|
|
6338
6498
|
for (let index = 0; index < lines.length; index++) lines[index] = detachString(lines[index]);
|
|
@@ -6469,7 +6629,7 @@ function createContentGroup(type, deletionLineIndex, additionLineIndex) {
|
|
|
6469
6629
|
};
|
|
6470
6630
|
}
|
|
6471
6631
|
|
|
6472
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6632
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/parseDiffFromFile.js
|
|
6473
6633
|
var MISSING_FILE_NAME = "/dev/null";
|
|
6474
6634
|
function parseDiffFromFile(oldFile, newFile, options, throwOnError = false) {
|
|
6475
6635
|
if (oldFile === null && newFile === null) throw new Error("parseDiffFromFile: You must pass oldFile, newFile, or both");
|
|
@@ -6505,7 +6665,7 @@ function createMissingFile() {
|
|
|
6505
6665
|
};
|
|
6506
6666
|
}
|
|
6507
6667
|
|
|
6508
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6668
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/managers/ScrollSyncManager.js
|
|
6509
6669
|
var ScrollSyncManager = class {
|
|
6510
6670
|
isDeletionsScrolling = false;
|
|
6511
6671
|
isAdditionsScrolling = false;
|
|
@@ -6564,7 +6724,7 @@ var ScrollSyncManager = class {
|
|
|
6564
6724
|
};
|
|
6565
6725
|
};
|
|
6566
6726
|
|
|
6567
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6727
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/updateDiffHunks.js
|
|
6568
6728
|
function recomputeDiffHunks(diff, parseDiffOptions) {
|
|
6569
6729
|
const recomputed = parseDiffFromFile({
|
|
6570
6730
|
name: diff.prevName ?? diff.name,
|
|
@@ -6792,7 +6952,7 @@ function recomputeDiffRenderLineCounts(diff) {
|
|
|
6792
6952
|
diff.unifiedLineCount = unifiedTotal;
|
|
6793
6953
|
}
|
|
6794
6954
|
|
|
6795
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
6955
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/editSessionHunks.js
|
|
6796
6956
|
var deletionLineSetCache = /* @__PURE__ */ new WeakMap();
|
|
6797
6957
|
function normalizeEditorLines(lines) {
|
|
6798
6958
|
if (lines.length > 1 && lines[lines.length - 1] === "") return lines.slice(0, -1);
|
|
@@ -6815,7 +6975,7 @@ function findDivergenceCore(deletionLines, additionLines) {
|
|
|
6815
6975
|
additionEnd
|
|
6816
6976
|
};
|
|
6817
6977
|
}
|
|
6818
|
-
function rebuildSessionHunks(diff, parseDiffOptions) {
|
|
6978
|
+
function rebuildSessionHunks(diff, parseDiffOptions, getPreviousAdditionLine) {
|
|
6819
6979
|
const previousHunks = diff.hunks;
|
|
6820
6980
|
const editorAdditionLines = diff.additionLines;
|
|
6821
6981
|
const canonicalAdditionLines = normalizeEditorLines(editorAdditionLines);
|
|
@@ -6823,7 +6983,7 @@ function rebuildSessionHunks(diff, parseDiffOptions) {
|
|
|
6823
6983
|
...diff,
|
|
6824
6984
|
additionLines: canonicalAdditionLines
|
|
6825
6985
|
};
|
|
6826
|
-
const plans = buildRegionPlans(previousHunks,
|
|
6986
|
+
const plans = buildRegionPlans(previousHunks, parseSessionChangeBlocks(canonicalDiff, parseDiffOptions, getPreviousAdditionLine), diff.deletionLines.length);
|
|
6827
6987
|
const nextHunks = buildRegionHunks(canonicalDiff, plans);
|
|
6828
6988
|
diff.additionLines = canonicalAdditionLines;
|
|
6829
6989
|
diff.hunks = nextHunks;
|
|
@@ -6834,8 +6994,10 @@ function rebuildSessionHunks(diff, parseDiffOptions) {
|
|
|
6834
6994
|
return { regions: plans.map((plan) => plan.previousSpan) };
|
|
6835
6995
|
}
|
|
6836
6996
|
function applySessionChangedLines(diff, changedAdditionLineIndexes, parseDiffOptions, previousAdditionLines) {
|
|
6837
|
-
const
|
|
6997
|
+
const changedLines = new Set(changedAdditionLineIndexes);
|
|
6998
|
+
const lines = Array.from(changedLines).filter((line) => line >= 0 && line < diff.additionLines.length).sort((a, b) => a - b);
|
|
6838
6999
|
if (lines.length === 0) return;
|
|
7000
|
+
const getPreviousAdditionLine = (index) => changedLines.has(index) ? previousAdditionLines?.get(index) : diff.additionLines[index];
|
|
6839
7001
|
const { hunks } = diff;
|
|
6840
7002
|
let regionIndex;
|
|
6841
7003
|
let hunkIndex = 0;
|
|
@@ -6847,7 +7009,7 @@ function applySessionChangedLines(diff, changedAdditionLineIndexes, parseDiffOpt
|
|
|
6847
7009
|
}
|
|
6848
7010
|
const hunk = hunks[hunkIndex];
|
|
6849
7011
|
const start = hunk == null ? void 0 : getHunkAdditionStart(hunk);
|
|
6850
|
-
if (start == null || line < start || regionIndex != null && regionIndex !== hunkIndex) return rebuildSessionHunks(diff, parseDiffOptions);
|
|
7012
|
+
if (start == null || line < start || regionIndex != null && regionIndex !== hunkIndex) return rebuildSessionHunks(diff, parseDiffOptions, getPreviousAdditionLine);
|
|
6851
7013
|
regionIndex = hunkIndex;
|
|
6852
7014
|
}
|
|
6853
7015
|
if (regionIndex == null) return;
|
|
@@ -6855,7 +7017,7 @@ function applySessionChangedLines(diff, changedAdditionLineIndexes, parseDiffOpt
|
|
|
6855
7017
|
diff.editSessionDirty = true;
|
|
6856
7018
|
return;
|
|
6857
7019
|
}
|
|
6858
|
-
return rebuildSessionHunks(diff, parseDiffOptions);
|
|
7020
|
+
return rebuildSessionHunks(diff, parseDiffOptions, getPreviousAdditionLine);
|
|
6859
7021
|
}
|
|
6860
7022
|
function canRetainCanonicalBlocks(diff, changedLines, regionIndex, previousAdditionLines, parseDiffOptions) {
|
|
6861
7023
|
if (previousAdditionLines == null || parseDiffOptions?.ignoreWhitespace === true || parseDiffOptions?.stripTrailingCr === true) return false;
|
|
@@ -6967,7 +7129,7 @@ function finishEditSessionForDiff(diff, parseDiffOptions) {
|
|
|
6967
7129
|
Object.assign(diff, diff.additionLines.length <= 1 && diff.additionLines.join("") === "" ? recomputeDiffHunks(diff, parseDiffOptions) : recomputeDiffHunksForEdit(diff, parseDiffOptions));
|
|
6968
7130
|
return true;
|
|
6969
7131
|
}
|
|
6970
|
-
function
|
|
7132
|
+
function parseSessionChangeBlocks(diff, parseDiffOptions, getPreviousAdditionLine) {
|
|
6971
7133
|
if (findDivergenceCore(diff.deletionLines, diff.additionLines) == null) return [];
|
|
6972
7134
|
const parsed = parseDiffFromFile({
|
|
6973
7135
|
name: diff.prevName ?? diff.name,
|
|
@@ -6977,10 +7139,24 @@ function parseCanonicalChangeBlocks(diff, parseDiffOptions) {
|
|
|
6977
7139
|
contents: diff.additionLines.join(""),
|
|
6978
7140
|
lang: diff.lang
|
|
6979
7141
|
}, parseDiffOptions);
|
|
7142
|
+
let previousBlocks;
|
|
7143
|
+
const resolveSlide = (block, maxSlide) => {
|
|
7144
|
+
previousBlocks ??= collectPureChangeBlocks(diff.hunks);
|
|
7145
|
+
for (let offset = 0; offset <= maxSlide; offset++) {
|
|
7146
|
+
const previous = previousBlocks.get(block.deletionLineIndex - offset);
|
|
7147
|
+
if (previous == null || previous.additions !== block.additions || previous.deletions !== block.deletions) continue;
|
|
7148
|
+
if (block.additions > 0 && getPreviousAdditionLine != null) {
|
|
7149
|
+
for (let line = 0; line < block.additions; line++) if (getPreviousAdditionLine(previous.additionLineIndex + line) !== parsed.additionLines[block.additionLineIndex + line]) return maxSlide;
|
|
7150
|
+
}
|
|
7151
|
+
return offset;
|
|
7152
|
+
}
|
|
7153
|
+
return maxSlide;
|
|
7154
|
+
};
|
|
6980
7155
|
const blocks = [];
|
|
6981
7156
|
let coveredAdditions = 0;
|
|
6982
7157
|
let coveredDeletions = 0;
|
|
6983
7158
|
for (const hunk of parsed.hunks) {
|
|
7159
|
+
slideBlankBoundaryBlocksUp(hunk, parsed, resolveSlide);
|
|
6984
7160
|
const contextLines = hunk.additionCount > 0 ? hunk.additionLineIndex - coveredAdditions : hunk.deletionLineIndex - coveredDeletions;
|
|
6985
7161
|
coveredAdditions += contextLines;
|
|
6986
7162
|
coveredDeletions += contextLines;
|
|
@@ -7000,6 +7176,11 @@ function parseCanonicalChangeBlocks(diff, parseDiffOptions) {
|
|
|
7000
7176
|
}
|
|
7001
7177
|
return blocks;
|
|
7002
7178
|
}
|
|
7179
|
+
function collectPureChangeBlocks(hunks) {
|
|
7180
|
+
const blocks = /* @__PURE__ */ new Map();
|
|
7181
|
+
for (const hunk of hunks) for (const content of hunk.hunkContent) if (content.type === "change" && (content.additions === 0 || content.deletions === 0)) blocks.set(content.deletionLineIndex, content);
|
|
7182
|
+
return blocks;
|
|
7183
|
+
}
|
|
7003
7184
|
function buildRegionPlans(previousHunks, blocks, deletionLineCount) {
|
|
7004
7185
|
const previousPlans = previousHunks.map((hunk, index) => {
|
|
7005
7186
|
const deletionStart = getHunkDeletionStart(hunk);
|
|
@@ -7191,7 +7372,7 @@ function finalizeSessionHunks(diff) {
|
|
|
7191
7372
|
for (let index = 0; index < diff.hunks.length; index++) syncHunkNoEOFCRFromFullFile(diff, index);
|
|
7192
7373
|
}
|
|
7193
7374
|
|
|
7194
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7375
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createEmptyRowBuffer.js
|
|
7195
7376
|
function createEmptyRowBuffer(size) {
|
|
7196
7377
|
return createHastElement({
|
|
7197
7378
|
tagName: "div",
|
|
@@ -7203,7 +7384,7 @@ function createEmptyRowBuffer(size) {
|
|
|
7203
7384
|
});
|
|
7204
7385
|
}
|
|
7205
7386
|
|
|
7206
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7387
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createNoNewlineElement.js
|
|
7207
7388
|
function createNoNewlineElement(type) {
|
|
7208
7389
|
return createHastElement({
|
|
7209
7390
|
tagName: "div",
|
|
@@ -7219,7 +7400,7 @@ function createNoNewlineElement(type) {
|
|
|
7219
7400
|
});
|
|
7220
7401
|
}
|
|
7221
7402
|
|
|
7222
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7403
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/createSeparator.js
|
|
7223
7404
|
function createExpandButton(type) {
|
|
7224
7405
|
return createHastElement({
|
|
7225
7406
|
tagName: "div",
|
|
@@ -7304,19 +7485,19 @@ function createSeparator({ type, content, expandIndex, chunked = false, slotName
|
|
|
7304
7485
|
});
|
|
7305
7486
|
}
|
|
7306
7487
|
|
|
7307
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7488
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getHunkSeparatorSlotName.js
|
|
7308
7489
|
function getHunkSeparatorSlotName(type, hunkIndex) {
|
|
7309
7490
|
return `hunk-separator-${type}-${hunkIndex}`;
|
|
7310
7491
|
}
|
|
7311
7492
|
|
|
7312
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7493
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getTotalLineCountFromHunks.js
|
|
7313
7494
|
function getTotalLineCountFromHunks(hunks) {
|
|
7314
7495
|
const lastHunk = hunks.at(-1);
|
|
7315
7496
|
if (lastHunk == null) return 0;
|
|
7316
7497
|
return Math.max(getHunkSideEndBoundary(lastHunk.additionStart, lastHunk.additionCount), getHunkSideEndBoundary(lastHunk.deletionStart, lastHunk.deletionCount));
|
|
7317
7498
|
}
|
|
7318
7499
|
|
|
7319
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
7500
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/renderers/DiffHunksRenderer.js
|
|
7320
7501
|
var instanceId = -1;
|
|
7321
7502
|
var DiffHunksRenderer = class {
|
|
7322
7503
|
options;
|
|
@@ -7342,6 +7523,7 @@ var DiffHunksRenderer = class {
|
|
|
7342
7523
|
if (workerManager?.isWorkingPool() !== true) this.highlighter = areThemesAttached(options.theme ?? DEFAULT_THEMES) ? getHighlighterIfLoaded() : void 0;
|
|
7343
7524
|
}
|
|
7344
7525
|
cleanUp() {
|
|
7526
|
+
this.endEditSession();
|
|
7345
7527
|
this.recycle();
|
|
7346
7528
|
this.expandedHunks.clear();
|
|
7347
7529
|
this.workerManager = void 0;
|
|
@@ -7350,11 +7532,14 @@ var DiffHunksRenderer = class {
|
|
|
7350
7532
|
recycle() {
|
|
7351
7533
|
this.highlighter = void 0;
|
|
7352
7534
|
this.diff = void 0;
|
|
7353
|
-
this.
|
|
7535
|
+
if (this.editSessionActive) {
|
|
7536
|
+
if (this.renderCache != null) this.renderCache.renderRange = void 0;
|
|
7537
|
+
this.pendingHighlightResult = void 0;
|
|
7538
|
+
this.pendingStructuralRows = void 0;
|
|
7539
|
+
} else this.clearRenderCache();
|
|
7354
7540
|
this.additionAnnotations = {};
|
|
7355
7541
|
this.deletionAnnotations = {};
|
|
7356
7542
|
this.workerManager?.cleanUpTasks(this);
|
|
7357
|
-
this.endEditSession();
|
|
7358
7543
|
}
|
|
7359
7544
|
/**
|
|
7360
7545
|
* Enter edit-session mode: hunk updates preserve the current region
|
|
@@ -7366,10 +7551,12 @@ var DiffHunksRenderer = class {
|
|
|
7366
7551
|
* empty additions document gets one row for the editor's caret.
|
|
7367
7552
|
*/
|
|
7368
7553
|
beginEditSession(diff, externalDiff) {
|
|
7369
|
-
const { editSessionActive: wasAlreadyActive
|
|
7554
|
+
const { editSessionActive: wasAlreadyActive } = this;
|
|
7370
7555
|
this.editSessionActive = true;
|
|
7371
7556
|
if (!wasAlreadyActive) this.pendingHighlightResult = void 0;
|
|
7372
7557
|
this.diff = diff;
|
|
7558
|
+
if (wasAlreadyActive && this.renderCache != null && this.renderCache.diff !== diff) this.clearRenderCache();
|
|
7559
|
+
const { renderCache } = this;
|
|
7373
7560
|
if (!diff.isPartial && diff.additionLines.length === 0) {
|
|
7374
7561
|
Object.assign(diff, recomputeEmptyDocumentDiff(diff, this.options.parseDiffOptions));
|
|
7375
7562
|
this.markEditSessionPass(diff);
|
|
@@ -7405,6 +7592,7 @@ var DiffHunksRenderer = class {
|
|
|
7405
7592
|
endEditSession() {
|
|
7406
7593
|
this.editSessionActive = false;
|
|
7407
7594
|
this.pendingHighlightResult = void 0;
|
|
7595
|
+
if (this.diff == null) this.clearRenderCache();
|
|
7408
7596
|
}
|
|
7409
7597
|
/**
|
|
7410
7598
|
* Ensures that the DOM is compatible with editor render updates
|
|
@@ -7593,31 +7781,31 @@ var DiffHunksRenderer = class {
|
|
|
7593
7781
|
applyDocumentChange(textDocument) {
|
|
7594
7782
|
const { pendingStructuralRows, renderCache } = this;
|
|
7595
7783
|
this.pendingStructuralRows = void 0;
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
|
|
7784
|
+
const diff = this.diff ?? renderCache?.diff;
|
|
7785
|
+
if (diff == null) return;
|
|
7786
|
+
const result = renderCache?.result;
|
|
7599
7787
|
if (diff.isPartial) throw new Error("Could not apply document change for partial diff");
|
|
7600
7788
|
const { additionLines: previousAdditionLines } = diff;
|
|
7601
7789
|
diff.additionLines = getEditorDocumentLines(textDocument);
|
|
7602
|
-
result.code.additionLines = realignAdditionHastLines(previousAdditionLines, diff.additionLines, result.code.additionLines, textDocument);
|
|
7790
|
+
if (result != null) result.code.additionLines = realignAdditionHastLines(previousAdditionLines, diff.additionLines, result.code.additionLines, textDocument);
|
|
7603
7791
|
if (diff.additionLines.length <= 1 && diff.additionLines.join("") === "") {
|
|
7604
7792
|
this.applyRecomputePreservingSessionType(diff, recomputeEmptyDocumentDiff(diff, this.options.parseDiffOptions));
|
|
7605
|
-
result.code.additionLines[0] = createPlainAdditionLineElement(0, textDocument.getLineText(0));
|
|
7606
|
-
} else if (this.editSessionActive) this.applySessionDocumentChange(diff);
|
|
7793
|
+
if (result != null) result.code.additionLines[0] = createPlainAdditionLineElement(0, textDocument.getLineText(0));
|
|
7794
|
+
} else if (this.editSessionActive) this.applySessionDocumentChange(diff, previousAdditionLines);
|
|
7607
7795
|
else Object.assign(diff, recomputeDiffHunksForEdit(diff, this.options.parseDiffOptions));
|
|
7608
|
-
if (pendingStructuralRows != null) {
|
|
7796
|
+
if (pendingStructuralRows != null && result != null) {
|
|
7609
7797
|
for (const [line, row] of pendingStructuralRows) if (line < result.code.additionLines.length) result.code.additionLines[line] = row;
|
|
7610
7798
|
}
|
|
7611
|
-
renderCache.isDirty = true;
|
|
7799
|
+
if (renderCache != null) renderCache.isDirty = true;
|
|
7612
7800
|
}
|
|
7613
|
-
applySessionDocumentChange(diff) {
|
|
7801
|
+
applySessionDocumentChange(diff, previousAdditionLines) {
|
|
7614
7802
|
const { parseDiffOptions } = this.options;
|
|
7615
7803
|
const rawLines = diff.additionLines;
|
|
7616
7804
|
if (shouldTopAlignAdditionRecompute(diff, rawLines)) {
|
|
7617
7805
|
this.applyRecomputePreservingSessionType(diff, recomputeTopAlignedAdditionDiff(diff, rawLines, parseDiffOptions));
|
|
7618
7806
|
return;
|
|
7619
7807
|
}
|
|
7620
|
-
this.applyExpansionRemap(rebuildSessionHunks(diff, parseDiffOptions));
|
|
7808
|
+
this.applyExpansionRemap(rebuildSessionHunks(diff, parseDiffOptions, (index) => previousAdditionLines[index]));
|
|
7621
7809
|
}
|
|
7622
7810
|
applyRecomputePreservingSessionType(diff, update) {
|
|
7623
7811
|
const sessionType = this.editSessionActive ? diff.type : void 0;
|
|
@@ -8554,17 +8742,17 @@ function canHydrateCollapsedContext(fileDiff, hasFileLoader) {
|
|
|
8554
8742
|
return fileDiff.isPartial && hasFileLoader && (fileDiff.type === "change" || fileDiff.type === "rename-changed");
|
|
8555
8743
|
}
|
|
8556
8744
|
|
|
8557
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
8745
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areDiffLineAnnotationsEqual.js
|
|
8558
8746
|
function areDiffLineAnnotationsEqual(annotationA, annotationB) {
|
|
8559
8747
|
return annotationA.lineNumber === annotationB.lineNumber && annotationA.side === annotationB.side && annotationA.metadata === annotationB.metadata;
|
|
8560
8748
|
}
|
|
8561
8749
|
|
|
8562
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
8750
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/areHunkDataEqual.js
|
|
8563
8751
|
function areHunkDataEqual(hunkA, hunkB) {
|
|
8564
8752
|
return hunkA.slotName === hunkB.slotName && hunkA.hunkIndex === hunkB.hunkIndex && hunkA.lines === hunkB.lines && hunkA.lineCountKnown === hunkB.lineCountKnown && hunkA.type === hunkB.type && hunkA.expandable?.chunked === hunkB.expandable?.chunked && hunkA.expandable?.up === hunkB.expandable?.up && hunkA.expandable?.down === hunkB.expandable?.down;
|
|
8565
8753
|
}
|
|
8566
8754
|
|
|
8567
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
8755
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/utils/getDiffHunksRendererOptions.js
|
|
8568
8756
|
function getDiffHunksRendererOptions(options) {
|
|
8569
8757
|
return {
|
|
8570
8758
|
theme: options?.theme,
|
|
@@ -8593,7 +8781,7 @@ function getDiffHunksRendererOptions(options) {
|
|
|
8593
8781
|
};
|
|
8594
8782
|
}
|
|
8595
8783
|
|
|
8596
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
8784
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/FileDiff.js
|
|
8597
8785
|
function canHydrateDiff(fileDiff) {
|
|
8598
8786
|
return fileDiff.isPartial && (fileDiff.type === "change" || fileDiff.type === "rename-changed" || fileDiff.type === "rename-pure");
|
|
8599
8787
|
}
|
|
@@ -9050,13 +9238,14 @@ var FileDiff2 = class {
|
|
|
9050
9238
|
this.expandHunk(hunkIndex, direction, expansionLineCountOverride);
|
|
9051
9239
|
};
|
|
9052
9240
|
expandHunk = (hunkIndex, direction, expansionLineCountOverride) => {
|
|
9053
|
-
this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
|
|
9054
9241
|
this.loadFilesIfNecessary();
|
|
9242
|
+
this.hunksRenderer.expandHunk(hunkIndex, direction, expansionLineCountOverride);
|
|
9055
9243
|
this.rerender();
|
|
9056
9244
|
};
|
|
9057
9245
|
loadFilesIfNecessary() {
|
|
9058
9246
|
const { fileDiff, options: { loadDiffFiles } } = this;
|
|
9059
|
-
if (fileDiff == null ||
|
|
9247
|
+
if (fileDiff == null || !canHydrateDiff(fileDiff) || this.pendingFiles?.fileDiff === fileDiff) return;
|
|
9248
|
+
if (loadDiffFiles == null) throw new Error("FileDiff: loadDiffFiles is required to load full files for a partial diff");
|
|
9060
9249
|
const promise = this.loadFilesForDiff(fileDiff, loadDiffFiles);
|
|
9061
9250
|
const pendingFiles = this.pendingFiles = {
|
|
9062
9251
|
fileDiff,
|
|
@@ -9067,10 +9256,41 @@ var FileDiff2 = class {
|
|
|
9067
9256
|
};
|
|
9068
9257
|
pendingFiles.promise = promise.finally(clearPendingFiles);
|
|
9069
9258
|
}
|
|
9259
|
+
/**
|
|
9260
|
+
* In order to start an edit session, you must be using a `fileDiff` that
|
|
9261
|
+
* includes the full contents for both files. In other words, `isPartial`
|
|
9262
|
+
* must be false You can use `prepareForEditing` to hydrate if
|
|
9263
|
+
* `loadDiffFiles` was passed in to `options`
|
|
9264
|
+
*/
|
|
9265
|
+
__canAttachEditor() {
|
|
9266
|
+
return this.fileDiff != null && !this.fileDiff.isPartial;
|
|
9267
|
+
}
|
|
9268
|
+
/**
|
|
9269
|
+
* Load a partial diff before starting a new edit session. Call this before
|
|
9270
|
+
* Editor.edit when the diff may still be partial; it resolves only when this
|
|
9271
|
+
* instance has a complete diff to edit.
|
|
9272
|
+
*/
|
|
9273
|
+
async prepareForEditing() {
|
|
9274
|
+
if (this.__canAttachEditor()) return;
|
|
9275
|
+
const pending = this.__prepareForEditing();
|
|
9276
|
+
if (pending == null) {
|
|
9277
|
+
if (this.fileDiff?.isPartial === true && !canHydrateDiff(this.fileDiff)) throw new Error("FileDiff.prepareForEditing: this partial diff cannot be hydrated; provide a complete diff");
|
|
9278
|
+
throw new Error("FileDiff.prepareForEditing: a partial diff requires loadDiffFiles");
|
|
9279
|
+
}
|
|
9280
|
+
await pending;
|
|
9281
|
+
if (!this.__canAttachEditor()) throw new Error("FileDiff.prepareForEditing: the diff did not finish loading");
|
|
9282
|
+
}
|
|
9283
|
+
/** Hydrate a diff if necessary */
|
|
9284
|
+
__prepareForEditing() {
|
|
9285
|
+
if (this.__canAttachEditor()) return;
|
|
9286
|
+
if (this.fileDiff?.isPartial === true && !canHydrateDiff(this.fileDiff)) throw new Error("FileDiff: this partial diff cannot be hydrated; provide a complete diff to edit");
|
|
9287
|
+
this.loadFilesIfNecessary();
|
|
9288
|
+
return this.pendingFiles?.promise;
|
|
9289
|
+
}
|
|
9070
9290
|
async loadFilesForDiff(fileDiff, loadDiffFiles) {
|
|
9071
9291
|
try {
|
|
9072
9292
|
const files = await loadDiffFiles(fileDiff);
|
|
9073
|
-
if (
|
|
9293
|
+
if (this.fileDiff !== fileDiff) return;
|
|
9074
9294
|
await this.handleFilesLoaded(fileDiff, files);
|
|
9075
9295
|
} catch (error) {
|
|
9076
9296
|
if (this.options.disableErrorHandling === true) throw error;
|
|
@@ -9081,7 +9301,7 @@ var FileDiff2 = class {
|
|
|
9081
9301
|
if (this.fileDiff !== expectedDiff || !expectedDiff.isPartial) return;
|
|
9082
9302
|
hydratePartialDiff("merge", expectedDiff, files);
|
|
9083
9303
|
this.setHydratedState(files);
|
|
9084
|
-
if (this.
|
|
9304
|
+
if (this.installHydratedSessionDiff(expectedDiff)) {
|
|
9085
9305
|
this.rerender();
|
|
9086
9306
|
return;
|
|
9087
9307
|
}
|
|
@@ -9089,17 +9309,14 @@ var FileDiff2 = class {
|
|
|
9089
9309
|
if (!this.enabled || this.fileDiff !== expectedDiff) return;
|
|
9090
9310
|
this.rerender();
|
|
9091
9311
|
}
|
|
9092
|
-
|
|
9093
|
-
if (expectedDiff.isPartial) throw new Error("FileDiff.
|
|
9312
|
+
installHydratedSessionDiff(expectedDiff) {
|
|
9313
|
+
if (expectedDiff.isPartial) throw new Error("FileDiff.installHydratedSessionDiff: diffs cannot be partial for editing");
|
|
9094
9314
|
if (this.fileDiff !== expectedDiff) return false;
|
|
9095
|
-
const { editor } = this;
|
|
9096
9315
|
if (this.editSession?.outgoingDiff != null) {
|
|
9097
9316
|
this.installEditSession(expectedDiff);
|
|
9098
9317
|
return true;
|
|
9099
9318
|
}
|
|
9100
|
-
|
|
9101
|
-
this.installEditSession(expectedDiff, editor.__getDocumentContents(getAdditionFile(expectedDiff)), editor.__getDocumentSessionState());
|
|
9102
|
-
return true;
|
|
9319
|
+
return false;
|
|
9103
9320
|
}
|
|
9104
9321
|
updateExternalDiff(incomingExternalDiff, lineAnnotations) {
|
|
9105
9322
|
if (areDiffTargetsEqual(this.fileDiff, incomingExternalDiff)) return false;
|
|
@@ -9109,9 +9326,6 @@ var FileDiff2 = class {
|
|
|
9109
9326
|
if (incomingExternalDiff.isPartial) this.loadFilesIfNecessary();
|
|
9110
9327
|
else this.installEditSession(incomingExternalDiff);
|
|
9111
9328
|
if (this.editSession != null) this.editSession.outgoingDiff = outgoingDiff;
|
|
9112
|
-
} else if (this.editor != null) {
|
|
9113
|
-
if (incomingExternalDiff.isPartial) this.loadFilesIfNecessary();
|
|
9114
|
-
else this.installEditSession(incomingExternalDiff, this.editor.__getDocumentContents(getAdditionFile(incomingExternalDiff)), this.editor.__getDocumentSessionState());
|
|
9115
9329
|
}
|
|
9116
9330
|
if (this.editSession?.annotations != null && lineAnnotations != null) {
|
|
9117
9331
|
this.lineAnnotations = lineAnnotations;
|
|
@@ -9297,9 +9511,9 @@ var FileDiff2 = class {
|
|
|
9297
9511
|
const sync = (highlighter3) => {
|
|
9298
9512
|
if (!this.enabled || this.editor !== editor || this.fileContainer !== fileContainer || this.getLatestDiff() !== fileDiff) return;
|
|
9299
9513
|
const replacement = this.editSession?.outgoingDiff;
|
|
9300
|
-
const externalDiff = this
|
|
9514
|
+
const { fileDiff: externalDiff } = this;
|
|
9301
9515
|
const externalDocument = replacement != null && externalDiff != null && replacement !== fileDiff;
|
|
9302
|
-
const resetHistory = externalDocument ? shouldResetUndoState(replacement, externalDiff) : false;
|
|
9516
|
+
const resetHistory = externalDocument && replacement != null && externalDiff != null ? shouldResetUndoState(replacement, externalDiff) : false;
|
|
9303
9517
|
editor.__syncRenderView({
|
|
9304
9518
|
highlighter: highlighter3,
|
|
9305
9519
|
fileContainer,
|
|
@@ -9396,6 +9610,7 @@ var FileDiff2 = class {
|
|
|
9396
9610
|
__attachEditor(editor) {
|
|
9397
9611
|
if (this.type !== "file-diff") throw new Error(`FileDiff.__attachEditor: cannot attach an editor to a "${this.type}" diff`);
|
|
9398
9612
|
if (this.editor != null) throw new Error("FileDiff.__attachEditor: an editor is already attached");
|
|
9613
|
+
if (!this.__canAttachEditor()) throw new Error("FileDiff.__attachEditor: a complete diff is required before editing");
|
|
9399
9614
|
const detach = () => {
|
|
9400
9615
|
this.editor = void 0;
|
|
9401
9616
|
this.finishEditSession();
|
|
@@ -9539,6 +9754,11 @@ var FileDiff2 = class {
|
|
|
9539
9754
|
this.rerender();
|
|
9540
9755
|
this.interactionManager.setSelectionDirty();
|
|
9541
9756
|
}
|
|
9757
|
+
/** Update the private diff without editor DOM, then rehighlight on return. */
|
|
9758
|
+
applySuspendedDocumentChange(textDocument, newLineAnnotations) {
|
|
9759
|
+
this.applyDocumentChange(textDocument, newLineAnnotations);
|
|
9760
|
+
this.hunksRenderer.clearRenderCache();
|
|
9761
|
+
}
|
|
9542
9762
|
updateRenderCache(dirtyLines, themeType, options = {}) {
|
|
9543
9763
|
const editSessionDiff = this.editSession?.diff;
|
|
9544
9764
|
if (editSessionDiff == null) throw new Error("FileDiff.updateRenderCache: requires an active edit session");
|
|
@@ -9679,6 +9899,10 @@ var FileDiff2 = class {
|
|
|
9679
9899
|
this.placeHolder.dataset.placeholder = "";
|
|
9680
9900
|
shadowRoot.appendChild(this.placeHolder);
|
|
9681
9901
|
}
|
|
9902
|
+
return this.setPlaceholderHeight(height);
|
|
9903
|
+
}
|
|
9904
|
+
setPlaceholderHeight(height) {
|
|
9905
|
+
if (this.placeHolder == null) return false;
|
|
9682
9906
|
this.placeHolder.style.setProperty("height", `${height}px`);
|
|
9683
9907
|
return true;
|
|
9684
9908
|
}
|
|
@@ -10530,7 +10754,7 @@ function getElementChildren(node) {
|
|
|
10530
10754
|
return node.children ?? [];
|
|
10531
10755
|
}
|
|
10532
10756
|
|
|
10533
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
10757
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/components/VirtualizedFileDiff.js
|
|
10534
10758
|
var VIRTUALIZED_FILE_DIFF_LAYOUT_CHECKPOINT_INTERVAL = 3e3;
|
|
10535
10759
|
var NO_GHOST_TEXT_ROWS = /* @__PURE__ */ new Map();
|
|
10536
10760
|
var instanceId3 = -1;
|
|
@@ -10572,7 +10796,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10572
10796
|
this.resetLayoutCache({ includeEstimatedHeights: true });
|
|
10573
10797
|
}
|
|
10574
10798
|
setLineAnnotations(lineAnnotations) {
|
|
10575
|
-
if (this.syncLineAnnotations(lineAnnotations)) this.
|
|
10799
|
+
if (this.syncLineAnnotations(lineAnnotations)) this.forceRenderOverride = true;
|
|
10576
10800
|
}
|
|
10577
10801
|
syncLineAnnotations(lineAnnotations) {
|
|
10578
10802
|
if (lineAnnotations == null || !this.isNewAnnotations(lineAnnotations) || lineAnnotations.length === 0 && this.getLatestAnnotations().length === 0) return false;
|
|
@@ -10581,7 +10805,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10581
10805
|
}
|
|
10582
10806
|
syncEditSessionAnnotationsFromEditor(lineAnnotations) {
|
|
10583
10807
|
if (super.syncEditSessionAnnotationsFromEditor(lineAnnotations)) {
|
|
10584
|
-
this.
|
|
10808
|
+
this.forceRenderOverride = true;
|
|
10585
10809
|
return true;
|
|
10586
10810
|
}
|
|
10587
10811
|
return false;
|
|
@@ -10674,8 +10898,8 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10674
10898
|
}
|
|
10675
10899
|
reconcileHeights() {
|
|
10676
10900
|
let hasHeightChange = false;
|
|
10677
|
-
const { options: { overflow = "scroll" },
|
|
10678
|
-
const fileDiff = this.getRenderedDiff();
|
|
10901
|
+
const { options: { overflow = "scroll" }, metrics: { lineHeight } } = this;
|
|
10902
|
+
const fileDiff = this.placeHolder != null ? this.getLayoutDiff() : this.getRenderedDiff();
|
|
10679
10903
|
if (this.fileContainer == null || fileDiff == null) {
|
|
10680
10904
|
if (this.height !== 0) hasHeightChange = true;
|
|
10681
10905
|
this.height = 0;
|
|
@@ -10683,18 +10907,21 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10683
10907
|
}
|
|
10684
10908
|
this.top = this.getVirtualizedTop();
|
|
10685
10909
|
hasHeightChange = this.applyGhostTextRows(fileDiff, this.editor?.__getGhostTextRows() ?? NO_GHOST_TEXT_ROWS);
|
|
10686
|
-
const
|
|
10687
|
-
|
|
10688
|
-
|
|
10910
|
+
const { ghostTextRowsByIndex } = this.cache;
|
|
10911
|
+
const measureAllRows = overflow !== "scroll" || this.getLatestAnnotations().length > 0 || this.isResizeDebuggingEnabled();
|
|
10912
|
+
if (this.placeHolder != null || !measureAllRows && this.cache.heightDeltas.size === 0 && this.cache.fileAnnotationHeight === 0) {
|
|
10913
|
+
if (hasHeightChange) {
|
|
10914
|
+
this.computeApproximateSize(true);
|
|
10915
|
+
this.setPlaceholderHeight(this.height);
|
|
10916
|
+
}
|
|
10689
10917
|
return hasHeightChange;
|
|
10690
10918
|
}
|
|
10691
10919
|
const diffStyle = this.getDiffStyle();
|
|
10692
10920
|
const codeGroups = diffStyle === "split" ? [this.codeDeletions, this.codeAdditions] : [this.codeUnified];
|
|
10693
|
-
|
|
10694
|
-
if (this.renderRange != null && hasFileAnnotations && shouldRenderFileAnnotations(this.renderRange)) {
|
|
10921
|
+
if (this.renderRange != null && shouldRenderFileAnnotations(this.renderRange)) {
|
|
10695
10922
|
const nextFileAnnotationHeight = measureFileAnnotationHeight(codeGroups) ?? 0;
|
|
10696
10923
|
if (this.setFileAnnotationHeight(nextFileAnnotationHeight)) hasHeightChange = true;
|
|
10697
|
-
}
|
|
10924
|
+
}
|
|
10698
10925
|
for (const codeGroup of codeGroups) {
|
|
10699
10926
|
if (codeGroup == null) continue;
|
|
10700
10927
|
const content = codeGroup.children[1];
|
|
@@ -10707,6 +10934,8 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10707
10934
|
const lineIndex = parseLineIndex(lineIndexAttr, diffStyle);
|
|
10708
10935
|
const ghostRows = ghostTextRowsByIndex.get(lineIndex) ?? 0;
|
|
10709
10936
|
if (skipsGhostRows && ghostRows > 0) continue;
|
|
10937
|
+
const previousDelta = this.cache.heightDeltas.get(lineIndex) ?? 0;
|
|
10938
|
+
if (!measureAllRows && previousDelta === ghostRows * lineHeight) continue;
|
|
10710
10939
|
let measuredHeight = line.getBoundingClientRect().height + ghostRows * lineHeight;
|
|
10711
10940
|
let hasMetadata = false;
|
|
10712
10941
|
if (line.nextElementSibling instanceof HTMLElement && ("lineAnnotation" in line.nextElementSibling.dataset || "noNewline" in line.nextElementSibling.dataset)) {
|
|
@@ -10714,7 +10943,6 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10714
10943
|
measuredHeight += line.nextElementSibling.getBoundingClientRect().height;
|
|
10715
10944
|
}
|
|
10716
10945
|
const estimatedHeight = this.getEstimatedLineHeight(hasMetadata);
|
|
10717
|
-
const previousDelta = this.cache.heightDeltas.get(lineIndex) ?? 0;
|
|
10718
10946
|
const nextDelta = measuredHeight - estimatedHeight;
|
|
10719
10947
|
if (nextDelta === previousDelta) continue;
|
|
10720
10948
|
hasHeightChange = true;
|
|
@@ -10744,7 +10972,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10744
10972
|
if (pendingHydratedDiff.expectedDiff === fileDiff) {
|
|
10745
10973
|
Object.assign(fileDiff, pendingHydratedDiff.nextDiff);
|
|
10746
10974
|
this.setHydratedState(pendingHydratedDiff.files);
|
|
10747
|
-
this.
|
|
10975
|
+
this.installHydratedSessionDiff(fileDiff);
|
|
10748
10976
|
this.forceRenderOverride = true;
|
|
10749
10977
|
resetLayoutCache = true;
|
|
10750
10978
|
resetEstimatedHeights = true;
|
|
@@ -10761,7 +10989,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10761
10989
|
const diffChanged = this.updateExternalDiff(fileDiff, lineAnnotations);
|
|
10762
10990
|
const { pendingRenderDiff, layoutDiffChanged, renderedDiffChanged, annotationsChanged } = this.updatePendingRender(fileDiff, lineAnnotations);
|
|
10763
10991
|
if (!this.forceRenderOverride && (diffChanged || renderedDiffChanged || annotationsChanged)) this.forceRenderOverride = true;
|
|
10764
|
-
if (reset?.resetDiffLayoutCache === true || layoutDiffChanged
|
|
10992
|
+
if (reset?.resetDiffLayoutCache === true || layoutDiffChanged) resetLayoutCache = true;
|
|
10765
10993
|
if (layoutDiffChanged || reset?.resetDiffLayoutCache === true && reset.includeEstimatedDiffHeights) resetEstimatedHeights = true;
|
|
10766
10994
|
if (reset?.metrics != null) {
|
|
10767
10995
|
this.metrics = computeVirtualFileMetrics(reset.metrics);
|
|
@@ -10953,6 +11181,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10953
11181
|
}
|
|
10954
11182
|
expandHunk = (hunkIndex, direction, expansionLineCountOverride) => {
|
|
10955
11183
|
if (this.fileDiff == null) return;
|
|
11184
|
+
this.loadFilesIfNecessary();
|
|
10956
11185
|
if (this.isAdvancedMode()) {
|
|
10957
11186
|
this.pendingExpansions ??= [];
|
|
10958
11187
|
this.pendingExpansions.push({
|
|
@@ -10965,7 +11194,6 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10965
11194
|
this.resetLayoutCache({ includeEstimatedHeights: true });
|
|
10966
11195
|
this.computeApproximateSize();
|
|
10967
11196
|
}
|
|
10968
|
-
this.loadFilesIfNecessary();
|
|
10969
11197
|
this.forceRenderOverride = true;
|
|
10970
11198
|
this.virtualizer.instanceChanged(this, true);
|
|
10971
11199
|
};
|
|
@@ -10974,7 +11202,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10974
11202
|
if (this.isAdvancedMode()) {
|
|
10975
11203
|
const nextDiff = hydratePartialDiff("clone", expectedDiff, files);
|
|
10976
11204
|
await awaitWithTimeout(() => this.primeHighlightCache(nextDiff));
|
|
10977
|
-
if (
|
|
11205
|
+
if (this.fileDiff !== expectedDiff) return;
|
|
10978
11206
|
this.pendingHydratedDiff = {
|
|
10979
11207
|
expectedDiff,
|
|
10980
11208
|
nextDiff,
|
|
@@ -10983,9 +11211,9 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
10983
11211
|
} else {
|
|
10984
11212
|
hydratePartialDiff("merge", expectedDiff, files);
|
|
10985
11213
|
this.setHydratedState(files);
|
|
10986
|
-
if (!this.
|
|
11214
|
+
if (!this.installHydratedSessionDiff(expectedDiff)) {
|
|
10987
11215
|
await awaitWithTimeout(() => this.primeHighlightCache(expectedDiff));
|
|
10988
|
-
if (
|
|
11216
|
+
if (this.fileDiff !== expectedDiff) return;
|
|
10989
11217
|
}
|
|
10990
11218
|
this.resetLayoutCache({ includeEstimatedHeights: true });
|
|
10991
11219
|
this.computeApproximateSize();
|
|
@@ -11184,11 +11412,11 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
11184
11412
|
pendingRenderDiff: this.pendingRender.diff,
|
|
11185
11413
|
layoutDiffChanged: false,
|
|
11186
11414
|
renderedDiffChanged: false,
|
|
11187
|
-
annotationsChanged:
|
|
11415
|
+
annotationsChanged: this.syncLineAnnotations(lineAnnotations)
|
|
11188
11416
|
};
|
|
11189
11417
|
return this.updatePendingRender(nextFileDiff, lineAnnotations);
|
|
11190
11418
|
})();
|
|
11191
|
-
if (
|
|
11419
|
+
if (layoutDiffChanged) this.resetLayoutCache({ includeEstimatedHeights: true });
|
|
11192
11420
|
if (!isSetup) {
|
|
11193
11421
|
this.computeApproximateSize(false, pendingRenderDiff);
|
|
11194
11422
|
const virtualizer = this.getSimpleVirtualizer();
|
|
@@ -11202,7 +11430,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
11202
11430
|
this.isSetup = true;
|
|
11203
11431
|
} else {
|
|
11204
11432
|
this.top ??= this.getVirtualizedTop();
|
|
11205
|
-
if (
|
|
11433
|
+
if (this.layoutDirty && this.isSimpleMode()) {
|
|
11206
11434
|
this.getSimpleVirtualizer()?.markDOMDirty();
|
|
11207
11435
|
this.computeApproximateSize(false, pendingRenderDiff);
|
|
11208
11436
|
}
|
|
@@ -11213,7 +11441,6 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
11213
11441
|
this.additionFile = newFile;
|
|
11214
11442
|
}
|
|
11215
11443
|
if (targetChanged) this.clearReusableHeader();
|
|
11216
|
-
this.pendingRender = void 0;
|
|
11217
11444
|
return this.renderPlaceholder(this.height);
|
|
11218
11445
|
}
|
|
11219
11446
|
const windowSpecs = this.virtualizer.getWindowSpecs();
|
|
@@ -11230,7 +11457,7 @@ var VirtualizedFileDiff = class extends FileDiff2 {
|
|
|
11230
11457
|
});
|
|
11231
11458
|
}
|
|
11232
11459
|
finalizeRender() {
|
|
11233
|
-
if (this.getRenderedDiff()
|
|
11460
|
+
if (!areDiffTargetsEqual(this.getRenderedDiff(), this.pendingRender?.diff)) throw new Error("VirtualizedFileDiff.render: rendered a different diff than its prepared layout");
|
|
11234
11461
|
this.pendingRender = void 0;
|
|
11235
11462
|
if (this.isSimpleMode()) this.getSimpleVirtualizer()?.requestHeightReconcile(this);
|
|
11236
11463
|
}
|
|
@@ -11656,7 +11883,7 @@ function parseLineIndex(lineIndexAttr, diffStyle) {
|
|
|
11656
11883
|
return diffStyle === "split" ? splitIndex : unifiedIndex;
|
|
11657
11884
|
}
|
|
11658
11885
|
|
|
11659
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
11886
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/templateRender.js
|
|
11660
11887
|
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
11661
11888
|
function templateRender(children, __html) {
|
|
11662
11889
|
if (typeof window === "undefined" && __html != null) return /* @__PURE__ */ jsxs2(Fragment2, { children: [/* @__PURE__ */ jsx4("template", {
|
|
@@ -11666,7 +11893,7 @@ function templateRender(children, __html) {
|
|
|
11666
11893
|
return /* @__PURE__ */ jsx4(Fragment2, { children });
|
|
11667
11894
|
}
|
|
11668
11895
|
|
|
11669
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
11896
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/Virtualizer.js
|
|
11670
11897
|
import { createContext as createContext3, useCallback as useCallback2, useContext as useContext3, useState as useState2 } from "react";
|
|
11671
11898
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
11672
11899
|
var VirtualizerContext = createContext3(void 0);
|
|
@@ -11674,14 +11901,15 @@ function useVirtualizer() {
|
|
|
11674
11901
|
return useContext3(VirtualizerContext);
|
|
11675
11902
|
}
|
|
11676
11903
|
|
|
11677
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
11678
|
-
import { useCallback as useCallback3, useContext as useContext4, useEffect as useEffect2, useLayoutEffect, useMemo, useRef as useRef2 } from "react";
|
|
11904
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/utils/useFileDiffInstance.js
|
|
11905
|
+
import { useCallback as useCallback3, useContext as useContext4, useEffect as useEffect2, useLayoutEffect, useMemo, useRef as useRef2, useState as useState3 } from "react";
|
|
11679
11906
|
var useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect2 : useLayoutEffect;
|
|
11680
11907
|
function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOptions, editStateKey, lineAnnotations, selectedLines, prerenderedHTML, metrics, hasGutterRenderUtility, hasCustomHeader, disableWorkerPool, edit, onEditChange: _onEditChange, onEditComplete: _onEditComplete }) {
|
|
11681
11908
|
const simpleVirtualizer = useVirtualizer();
|
|
11682
11909
|
const controlledSelection = selectedLines !== void 0;
|
|
11683
11910
|
const poolManager = useContext4(WorkerPoolContext);
|
|
11684
11911
|
const createEditor = useCreateEditor();
|
|
11912
|
+
const [asyncAttachError, setAsyncAttachError] = useState3();
|
|
11685
11913
|
const handleOnEditChange = useStableCallback((event) => _onEditChange?.(event));
|
|
11686
11914
|
const onEditChange = _onEditChange != null ? handleOnEditChange : void 0;
|
|
11687
11915
|
const acceptedCache = useRef2(null);
|
|
@@ -11720,6 +11948,7 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
|
|
|
11720
11948
|
});
|
|
11721
11949
|
const instanceRef = useRef2(null);
|
|
11722
11950
|
const disposeEditorRef = useRef2(null);
|
|
11951
|
+
const pendingAttachRef = useRef2(null);
|
|
11723
11952
|
const getEditor = useStableCallback(() => {
|
|
11724
11953
|
if (createEditor == null) throw new Error("FileDiff: EditContext is not attached");
|
|
11725
11954
|
return createEditor("file-diff", editorOptions ?? {}, editStateKey);
|
|
@@ -11743,7 +11972,6 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
|
|
|
11743
11972
|
onEditComplete,
|
|
11744
11973
|
options
|
|
11745
11974
|
}), !disableWorkerPool ? poolManager : void 0, true);
|
|
11746
|
-
if (edit && disposeEditorRef.current == null) disposeEditorRef.current = applyEdit(instanceRef.current, getEditor);
|
|
11747
11975
|
instanceRef.current.hydrate({
|
|
11748
11976
|
fileDiff: effectiveFileDiff,
|
|
11749
11977
|
fileContainer,
|
|
@@ -11752,6 +11980,7 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
|
|
|
11752
11980
|
});
|
|
11753
11981
|
} else {
|
|
11754
11982
|
if (instanceRef.current == null) throw new Error("useFileDiffInstance: A FileDiff instance should exist when unmounting");
|
|
11983
|
+
pendingAttachRef.current = null;
|
|
11755
11984
|
instanceRef.current.cleanUp();
|
|
11756
11985
|
instanceRef.current = null;
|
|
11757
11986
|
disposeEditorRef.current = null;
|
|
@@ -11770,10 +11999,13 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
|
|
|
11770
11999
|
});
|
|
11771
12000
|
const forceRender = newOptions !== void 0 && !areOptionsEqual(instance.options, newOptions);
|
|
11772
12001
|
instance.setOptions(newOptions);
|
|
11773
|
-
if (!edit
|
|
11774
|
-
|
|
11775
|
-
disposeEditorRef.current
|
|
11776
|
-
|
|
12002
|
+
if (!edit) {
|
|
12003
|
+
pendingAttachRef.current = null;
|
|
12004
|
+
if (disposeEditorRef.current != null) {
|
|
12005
|
+
const { current: disposeEditor } = disposeEditorRef;
|
|
12006
|
+
disposeEditorRef.current = null;
|
|
12007
|
+
disposeEditor();
|
|
12008
|
+
}
|
|
11777
12009
|
}
|
|
11778
12010
|
const resolved = resolveAcceptedValues(effectiveFileDiff, lineAnnotations, acceptedCache);
|
|
11779
12011
|
instance.render({
|
|
@@ -11782,15 +12014,46 @@ function useFileDiffInstance({ fileDiff, oldFile, newFile, options, editorOption
|
|
|
11782
12014
|
lineAnnotations: resolved.lineAnnotations
|
|
11783
12015
|
});
|
|
11784
12016
|
if (selectedLines !== void 0) instance.setSelectedLines(selectedLines);
|
|
11785
|
-
if (edit
|
|
12017
|
+
if (!edit || disposeEditorRef.current != null) return;
|
|
12018
|
+
if (createEditor == null) throw new Error("FileDiff: EditContext is not attached");
|
|
12019
|
+
const attach = () => {
|
|
12020
|
+
if (instanceRef.current !== instance || disposeEditorRef.current != null || !instance.__canAttachEditor()) return;
|
|
12021
|
+
disposeEditorRef.current = applyEdit(instance, getEditor);
|
|
12022
|
+
};
|
|
12023
|
+
if (instance.__canAttachEditor()) {
|
|
12024
|
+
pendingAttachRef.current = null;
|
|
12025
|
+
attach();
|
|
12026
|
+
return;
|
|
12027
|
+
}
|
|
12028
|
+
const promise = instance.__prepareForEditing();
|
|
12029
|
+
if (promise == null) {
|
|
12030
|
+
pendingAttachRef.current = null;
|
|
12031
|
+
return;
|
|
12032
|
+
}
|
|
12033
|
+
if (pendingAttachRef.current?.promise === promise) return;
|
|
12034
|
+
const pending = { promise };
|
|
12035
|
+
pendingAttachRef.current = pending;
|
|
12036
|
+
promise.then(() => {
|
|
12037
|
+
if (pendingAttachRef.current !== pending) return;
|
|
12038
|
+
attach();
|
|
12039
|
+
pendingAttachRef.current = null;
|
|
12040
|
+
}).catch((error) => {
|
|
12041
|
+
if (pendingAttachRef.current === pending) {
|
|
12042
|
+
pendingAttachRef.current = null;
|
|
12043
|
+
setAsyncAttachError(error);
|
|
12044
|
+
}
|
|
12045
|
+
});
|
|
11786
12046
|
});
|
|
12047
|
+
const getHoveredLine = useCallback3(() => {
|
|
12048
|
+
return instanceRef.current?.getHoveredLine();
|
|
12049
|
+
}, []);
|
|
12050
|
+
const getAnnotationSlotName2 = useCallback3((annotation) => instanceRef.current?.getAnnotationSlotName(annotation) ?? getLineAnnotationName(annotation), []);
|
|
12051
|
+
if (asyncAttachError != null) throw asyncAttachError;
|
|
11787
12052
|
return {
|
|
11788
12053
|
fileDiff: effectiveFileDiff,
|
|
11789
12054
|
ref,
|
|
11790
|
-
getHoveredLine
|
|
11791
|
-
|
|
11792
|
-
}, []),
|
|
11793
|
-
getAnnotationSlotName: useCallback3((annotation) => instanceRef.current?.getAnnotationSlotName(annotation) ?? getLineAnnotationName(annotation), [])
|
|
12055
|
+
getHoveredLine,
|
|
12056
|
+
getAnnotationSlotName: getAnnotationSlotName2
|
|
11794
12057
|
};
|
|
11795
12058
|
}
|
|
11796
12059
|
function useEffectiveFileDiff({ acceptedCache, fileDiff, newFile, oldFile, parseDiffOptions }) {
|
|
@@ -11858,7 +12121,7 @@ function applyEdit(instance, getEditor) {
|
|
|
11858
12121
|
}
|
|
11859
12122
|
}
|
|
11860
12123
|
|
|
11861
|
-
// node_modules/.pnpm/@pierre+diffs@1.
|
|
12124
|
+
// node_modules/.pnpm/@pierre+diffs@1.5.1_@shikijs+themes@4.4.3_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@pierre/diffs/dist/react/MultiFileDiff.js
|
|
11862
12125
|
import { jsx as jsx6 } from "react/jsx-runtime";
|
|
11863
12126
|
function MultiFileDiff({ oldFile, newFile, options, editorOptions, editStateKey, metrics, lineAnnotations, selectedLines, className, style, prerenderedHTML, renderAnnotation, renderCustomHeader, renderHeaderPrefix, renderHeaderFilenameSuffix, renderHeaderMetadata, renderGutterUtility, disableWorkerPool = false, edit = false, onEditChange, onEditComplete }) {
|
|
11864
12127
|
const { fileDiff, ref, getHoveredLine, getAnnotationSlotName: getAnnotationSlotName2 } = useFileDiffInstance({
|
|
@@ -11898,7 +12161,7 @@ function MultiFileDiff({ oldFile, newFile, options, editorOptions, editStateKey,
|
|
|
11898
12161
|
});
|
|
11899
12162
|
}
|
|
11900
12163
|
|
|
11901
|
-
// web/app/dist/server/assets/session-tool-renderer-
|
|
12164
|
+
// web/app/dist/server/assets/session-tool-renderer-TiFeeJEc.js
|
|
11902
12165
|
var STATUS_TEXT = {
|
|
11903
12166
|
queued: "Waiting to generate",
|
|
11904
12167
|
generating: "Generating image",
|
|
@@ -12432,7 +12695,7 @@ function TodoList({ items, title = "To-dos", open, defaultOpen = true, onOpenCha
|
|
|
12432
12695
|
const contentId = `${baseId}-content`;
|
|
12433
12696
|
const viewportRef = useRef3(null);
|
|
12434
12697
|
const previousComplete = useRef3(false);
|
|
12435
|
-
const [internalOpen, setInternalOpen] =
|
|
12698
|
+
const [internalOpen, setInternalOpen] = useState4(defaultOpen);
|
|
12436
12699
|
const currentOpen = open ?? internalOpen;
|
|
12437
12700
|
const completed = items.filter((item) => item.status === "completed").length;
|
|
12438
12701
|
const allComplete = items.length > 0 && completed === items.length;
|
|
@@ -12614,7 +12877,7 @@ function ToolApproval({ tool, title = "Allow this tool to run?", description, pa
|
|
|
12614
12877
|
const reduce = useReducedMotion() ?? false;
|
|
12615
12878
|
const detailsId = `${useId()}-details`;
|
|
12616
12879
|
const previousStatus = useRef3(status);
|
|
12617
|
-
const [internalOpen, setInternalOpen] =
|
|
12880
|
+
const [internalOpen, setInternalOpen] = useState4(defaultOpen);
|
|
12618
12881
|
const currentOpen = open ?? internalOpen;
|
|
12619
12882
|
const setOpen = useCallback4((next) => {
|
|
12620
12883
|
if (open === void 0) setInternalOpen(next);
|
|
@@ -13089,9 +13352,9 @@ function QuestionPrompt({ questions, questionIndex = 1, totalQuestions, onPrevio
|
|
|
13089
13352
|
const clampedIndex = Math.max(1, Math.min(questionIndex, resolvedTotal));
|
|
13090
13353
|
const activeQuestion = questions[clampedIndex - 1];
|
|
13091
13354
|
const customEnabled = activeQuestion?.allowCustom ?? false;
|
|
13092
|
-
const [selectedIds, setSelectedIds] =
|
|
13093
|
-
const [customText, setCustomText] =
|
|
13094
|
-
const [textValue, setTextValue] =
|
|
13355
|
+
const [selectedIds, setSelectedIds] = useState4(() => seedPromptState(initialAnswer, activeQuestion?.kind, customEnabled).selectedIds);
|
|
13356
|
+
const [customText, setCustomText] = useState4(() => seedPromptState(initialAnswer, activeQuestion?.kind, customEnabled).customText);
|
|
13357
|
+
const [textValue, setTextValue] = useState4(() => seedPromptState(initialAnswer, activeQuestion?.kind, customEnabled).textValue);
|
|
13095
13358
|
const showNav = resolvedTotal > 1 && (!!onPreviousQuestion || !!onNextQuestion);
|
|
13096
13359
|
const canGoPrev = clampedIndex > 1;
|
|
13097
13360
|
const canGoNext = clampedIndex < resolvedTotal;
|
|
@@ -13262,20 +13525,20 @@ function formatAnswer(answer) {
|
|
|
13262
13525
|
return ids || "Answered";
|
|
13263
13526
|
}
|
|
13264
13527
|
function QuestionTool({ part }) {
|
|
13265
|
-
const [localIndex, setLocalIndex] =
|
|
13528
|
+
const [localIndex, setLocalIndex] = useState4(part.input?.questionIndex ?? 1);
|
|
13266
13529
|
const questions = part.input?.questions ?? [];
|
|
13267
13530
|
const totalQuestions = part.input?.totalQuestions ?? questions.length;
|
|
13268
13531
|
const isControlled = typeof part.input?.questionIndex === "number";
|
|
13269
13532
|
const questionIndex = isControlled ? part.input?.questionIndex ?? 1 : questions.length > 0 ? localIndex : part.input?.questionIndex ?? 1;
|
|
13270
13533
|
const clampedIndex = Math.max(1, Math.min(questionIndex, totalQuestions));
|
|
13271
13534
|
const question = questions[clampedIndex - 1];
|
|
13272
|
-
const [localAnswers, setLocalAnswers] =
|
|
13273
|
-
const [prevQuestionIndex, setPrevQuestionIndex] =
|
|
13535
|
+
const [localAnswers, setLocalAnswers] = useState4({});
|
|
13536
|
+
const [prevQuestionIndex, setPrevQuestionIndex] = useState4(part.input?.questionIndex);
|
|
13274
13537
|
if (part.input?.questionIndex !== prevQuestionIndex) {
|
|
13275
13538
|
setPrevQuestionIndex(part.input?.questionIndex);
|
|
13276
13539
|
if (typeof part.input?.questionIndex === "number") setLocalIndex(part.input.questionIndex);
|
|
13277
13540
|
}
|
|
13278
|
-
const [prevToolCallId, setPrevToolCallId] =
|
|
13541
|
+
const [prevToolCallId, setPrevToolCallId] = useState4(part.toolCallId);
|
|
13279
13542
|
if (part.toolCallId !== prevToolCallId) {
|
|
13280
13543
|
setPrevToolCallId(part.toolCallId);
|
|
13281
13544
|
setLocalAnswers({});
|
|
@@ -14004,11 +14267,11 @@ function getPlanFileName(plan) {
|
|
|
14004
14267
|
var PlanTool = memo(function PlanTool2({ part, chatStatus }) {
|
|
14005
14268
|
const { isPending } = getToolStatus(part, chatStatus);
|
|
14006
14269
|
const plan = part.input?.plan;
|
|
14007
|
-
const [isExpanded, setIsExpanded] =
|
|
14008
|
-
const [isApproved, setIsApproved] =
|
|
14009
|
-
const [isActing, setIsActing] =
|
|
14010
|
-
const [isRefining, setIsRefining] =
|
|
14011
|
-
const [refineText, setRefineText] =
|
|
14270
|
+
const [isExpanded, setIsExpanded] = useState4(false);
|
|
14271
|
+
const [isApproved, setIsApproved] = useState4(false);
|
|
14272
|
+
const [isActing, setIsActing] = useState4(null);
|
|
14273
|
+
const [isRefining, setIsRefining] = useState4(false);
|
|
14274
|
+
const [refineText, setRefineText] = useState4("");
|
|
14012
14275
|
if (!plan) return null;
|
|
14013
14276
|
const fileName = getPlanFileName(plan);
|
|
14014
14277
|
const summary = plan.summary?.trim() ?? "";
|
|
@@ -14293,7 +14556,7 @@ var TodoTool = memo(function TodoTool2({ part }) {
|
|
|
14293
14556
|
});
|
|
14294
14557
|
}, areToolPropsEqual);
|
|
14295
14558
|
function useElapsedTime(startedAt, isPending) {
|
|
14296
|
-
const [elapsedMs, setElapsedMs] =
|
|
14559
|
+
const [elapsedMs, setElapsedMs] = useState4(0);
|
|
14297
14560
|
useEffect3(() => {
|
|
14298
14561
|
if (isPending && startedAt) {
|
|
14299
14562
|
setElapsedMs(Date.now() - startedAt);
|
|
@@ -14701,8 +14964,8 @@ function formatStreamCounts(fileCount, searchCount) {
|
|
|
14701
14964
|
var ToolGroup = memo(function ToolGroup2({ part, nestedTools = EMPTY_NESTED_TOOLS, chatStatus, completeLabel, shimmerLabel, interruptedLabel, maxVisibleTools = 5, defaultOpen, showElapsed = true }) {
|
|
14702
14965
|
const { isPending, isInterrupted } = getToolStatus(part, chatStatus);
|
|
14703
14966
|
const description = part.input?.description || "";
|
|
14704
|
-
const [expanded, setExpanded] =
|
|
14705
|
-
const [visibleCount, setVisibleCount] =
|
|
14967
|
+
const [expanded, setExpanded] = useState4(defaultOpen ?? false);
|
|
14968
|
+
const [visibleCount, setVisibleCount] = useState4(0);
|
|
14706
14969
|
const startedAt = part.callProviderMetadata?.custom?.startedAt ?? part.startedAt;
|
|
14707
14970
|
const hasNestedTools = nestedTools.length > 0;
|
|
14708
14971
|
const streamKey = part.toolCallId ?? part.id ?? "";
|