@young1lin/dsh-ui-gitworkbench 0.1.6 → 0.1.7
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 +10 -0
- package/CHANGELOG_EN.md +10 -0
- package/lib/client.js +565 -355
- package/package.json +1 -1
- package/src/client/GitWorkbenchPanel.module.css +42 -9
- package/src/client/GitWorkbenchPanel.tsx +250 -78
- package/src/client/history-layout.ts +52 -0
- package/src/client/locales.ts +8 -0
package/lib/client.js
CHANGED
|
@@ -845,6 +845,43 @@ window.__ModuleLoader__.load({
|
|
|
845
845
|
return Math.min(Math.max(next, min), max);
|
|
846
846
|
}
|
|
847
847
|
//#endregion
|
|
848
|
+
//#region src/client/history-layout.ts
|
|
849
|
+
/** Every layout, in the order the switch offers them. */
|
|
850
|
+
const HISTORY_LAYOUTS = ["columns", "stacked"];
|
|
851
|
+
/** The arrangement the tab had first, and what a reader who never touches the
|
|
852
|
+
* switch gets. */
|
|
853
|
+
const DEFAULT_HISTORY_LAYOUT = "columns";
|
|
854
|
+
/**
|
|
855
|
+
* Narrow a stored value to a layout this build has.
|
|
856
|
+
*
|
|
857
|
+
* Storage is a durable boundary: the value on disk was written by whatever
|
|
858
|
+
* build the reader ran last, and a layout this one has since dropped must fall
|
|
859
|
+
* back rather than reach the stylesheet.
|
|
860
|
+
* @param value - value read back from storage.
|
|
861
|
+
* @returns whether it names a layout.
|
|
862
|
+
*/
|
|
863
|
+
function isHistoryLayout(value) {
|
|
864
|
+
return HISTORY_LAYOUTS.some((known) => known === value);
|
|
865
|
+
}
|
|
866
|
+
/**
|
|
867
|
+
* How tall one commit row is, per layout.
|
|
868
|
+
*
|
|
869
|
+
* The two differ because the row itself differs: a column has no width to
|
|
870
|
+
* spend, so the hash, the author and the date take a line of their own above
|
|
871
|
+
* the subject; spanning the drawer they all fit on one line and a 48px row
|
|
872
|
+
* would spend the stacked layout's scarcest axis on padding.
|
|
873
|
+
*
|
|
874
|
+
* This is the ONE home for the number. The panel publishes the active entry as
|
|
875
|
+
* `--gs-commit-row` and the stylesheet sizes the row from it, while the lane
|
|
876
|
+
* graph draws each row's segment exactly that tall — the lanes only meet across
|
|
877
|
+
* the seam between rows if both come from here. Guarded by
|
|
878
|
+
* `tests/commit-row-height.test.ts`.
|
|
879
|
+
*/
|
|
880
|
+
const COMMIT_ROW_H = {
|
|
881
|
+
columns: 48,
|
|
882
|
+
stacked: 28
|
|
883
|
+
};
|
|
884
|
+
//#endregion
|
|
848
885
|
//#region src/client/use-change-nav.ts
|
|
849
886
|
/**
|
|
850
887
|
* Walking a scroller change by change — the wiring half of `diff-nav.ts`.
|
|
@@ -1102,7 +1139,7 @@ window.__ModuleLoader__.load({
|
|
|
1102
1139
|
}
|
|
1103
1140
|
//#endregion
|
|
1104
1141
|
//#region \0dsh-css:src/client/GitWorkbenchPanel.module.css.mjs
|
|
1105
|
-
const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px}.SD8qLW_headerDetached{background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;border-radius:999px;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-pill);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{border-radius:var(--gs-r-pill);min-width:0;height:22px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab.SD8qLW_funnelTabActive{color:var(--gs-fg);background:var(--gs-raise);box-shadow:inset 0 0 0 1px var(--gs-border)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{border-radius:calc(var(--gs-r-control) - 3px);min-width:0;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_funnelBoundBtn.SD8qLW_funnelBoundBtnActive{color:var(--gs-accent);background:var(--gs-accent-bg);box-shadow:inset 0 0 0 1px var(--gs-accent-border)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{border-radius:var(--gs-r-control);width:22px;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:11px;line-height:14px}.SD8qLW_calGrid button{border-radius:var(--gs-r-control);height:26px;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_funnelSearch{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);height:26px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);background-clip:content-box;border:3px solid #0000;border-radius:5px}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelPreset.SD8qLW_funnelPresetActive{color:var(--gs-accent);border-color:var(--gs-accent);background:var(--gs-accent-bg)}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:11px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{flex:none;align-items:stretch;height:28px;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-panel);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);border-radius:999px;flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-panel)}.SD8qLW_fileActive{background:var(--gs-panel);border-left-color:var(--gs-accent);color:var(--gs-fg)}.SD8qLW_fileStatus{width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;border-radius:4px;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideBlockHot{outline:1px solid var(--gs-accent);outline-offset:-1px}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;top:-21px;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent,#fff);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:4px;flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-hover)}.SD8qLW_fbRowActive{background:var(--gs-selected);color:var(--gs-fg)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
|
|
1142
|
+
const css = ".SD8qLW_card{border:1px solid var(--dsw-alias-border-l2);min-height:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;line-height:18px;transition:background .12s,border-color .12s;display:inline-flex}.SD8qLW_card:hover,.SD8qLW_card:focus-visible{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.SD8qLW_cardBranch{max-width:220px;color:var(--dsw-alias-label-primary);align-items:center;gap:4px;font-weight:550;display:inline-flex;overflow:hidden}.SD8qLW_cardBranchName{min-width:0;overflow:hidden}.SD8qLW_cardGlyph{opacity:.7;flex:none}.SD8qLW_cardDetached{background:var(--dsw-alias-state-warning-bg,#bb800926);color:var(--dsw-alias-state-warning-primary,#d29922);letter-spacing:.02em;border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.SD8qLW_cardWt{background:var(--dsw-alias-state-business-bg,#388bfd29);max-width:150px;color:var(--dsw-alias-state-business-primary,#58a6ff);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:3px;padding:0 6px;font-size:10px;line-height:16px;display:inline-flex;overflow:hidden}.SD8qLW_cardAhead,.SD8qLW_cardBehind{color:var(--dsw-alias-label-tertiary);font-size:11px}.SD8qLW_cardAhead{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardBehind{color:var(--dsw-alias-state-attention-primary,#d29922)}.SD8qLW_cardSep{background:var(--dsw-alias-border-l2);width:1px;height:14px}.SD8qLW_cardAdded{color:var(--dsw-alias-state-success-primary)}.SD8qLW_cardDeleted{color:var(--dsw-alias-state-error-primary)}.SD8qLW_cardFiles{color:var(--dsw-alias-label-tertiary)}.SD8qLW_overlay[data-gs-theme=github-dark]{--gs-bg:#0d1117;--gs-panel:#161b22;--gs-raise:#21262d;--gs-border:#30363d;--gs-border-soft:#21262d;--gs-fg:#e6edf3;--gs-fg-muted:#c9d1d9;--gs-fg-dim:#8b949e;--gs-fg-faint:#6e7681;--gs-fg-fainter:#484f58;--gs-accent:#58a6ff;--gs-accent-bg:#388bfd24;--gs-accent-border:#388bfd8c;--gs-add:#3fb950;--gs-del:#f85149;--gs-warn:#d29922;--gs-info:#79c0ff;--gs-add-bg:#2ea04329;--gs-del-bg:#f8514929;--gs-warn-bg:#bb800929;--gs-info-bg:#388bfd29;--gs-add-line:#12261e;--gs-del-line:#25181c;--gs-add-word:#1a4a29;--gs-del-word:#6b2b2b;--gs-add-num:#1c4428;--gs-del-num:#542426;--gs-hunk:#111d2e;--gs-hunk-num:#0c2d6b;--gs-neutral-bg:#6e76812e;--gs-backdrop:#01040999;--gs-shadow:#0104098c}.SD8qLW_overlay[data-gs-theme=github-light]{--gs-bg:#fff;--gs-panel:#f6f8fa;--gs-raise:#eaeef2;--gs-border:#d0d7de;--gs-border-soft:#eaeef2;--gs-fg:#1f2328;--gs-fg-muted:#32383f;--gs-fg-dim:#656d76;--gs-fg-faint:#8c959f;--gs-fg-fainter:#afb8c1;--gs-accent:#0969da;--gs-accent-bg:#0969da1a;--gs-accent-border:#0969da73;--gs-add:#1a7f37;--gs-del:#cf222e;--gs-warn:#9a6700;--gs-info:#0550ae;--gs-add-bg:#1a7f371f;--gs-del-bg:#cf222e1f;--gs-warn-bg:#9a67001f;--gs-info-bg:#0969da1f;--gs-add-line:#dafbe1;--gs-del-line:#ffebe9;--gs-add-word:#aceebb;--gs-del-word:#ffcecb;--gs-add-num:#aceebb;--gs-del-num:#ffcecb;--gs-hunk:#ddf4ff;--gs-hunk-num:#b6e3ff;--gs-neutral-bg:#6e76811f;--gs-backdrop:#1f232847;--gs-shadow:#1f232838}.SD8qLW_overlay[data-gs-theme=idea-dark]{--gs-bg:#1e1f22;--gs-panel:#2b2d30;--gs-raise:#393b40;--gs-border:#393b40;--gs-border-soft:#2b2d30;--gs-fg:#dfe1e5;--gs-fg-muted:#ced0d6;--gs-fg-dim:#9da0a8;--gs-fg-faint:#6f737a;--gs-fg-fainter:#4e5157;--gs-accent:#548af7;--gs-accent-bg:#548af729;--gs-accent-border:#548af78c;--gs-add:#5fad65;--gs-del:#e26e6e;--gs-warn:#f0a732;--gs-info:#3592c4;--gs-add-bg:#5fad6529;--gs-del-bg:#e26e6e29;--gs-warn-bg:#f0a73229;--gs-info-bg:#3592c429;--gs-add-line:#293c2e;--gs-del-line:#3d2b2b;--gs-add-word:#3d6640;--gs-del-word:#6b3838;--gs-hunk:#548af71a;--gs-neutral-bg:#9da0a82e;--gs-backdrop:#10111399;--gs-shadow:#00000080}.SD8qLW_overlay[data-gs-theme=idea-light]{--gs-bg:#fff;--gs-panel:#f7f8fa;--gs-raise:#ebecf0;--gs-border:#d3d5db;--gs-border-soft:#ebecf0;--gs-fg:#1e1f22;--gs-fg-muted:#3c3f44;--gs-fg-dim:#6c707e;--gs-fg-faint:#818594;--gs-fg-fainter:#a8adbd;--gs-accent:#3574f0;--gs-accent-bg:#3574f01a;--gs-accent-border:#3574f073;--gs-add:#398a4a;--gs-del:#cc4a4a;--gs-warn:#a8760b;--gs-info:#2b7fb8;--gs-add-bg:#398a4a1f;--gs-del-bg:#cc4a4a1f;--gs-warn-bg:#a8760b1f;--gs-info-bg:#2b7fb81f;--gs-add-line:#e6f5e9;--gs-del-line:#fbe9ea;--gs-add-word:#c2e5c9;--gs-del-word:#f5c9cc;--gs-hunk:#3574f012;--gs-neutral-bg:#6c707e1f;--gs-backdrop:#1e1f2242;--gs-shadow:#1e1f222e}.SD8qLW_overlay[data-gs-theme=vscode-dark]{--gs-bg:#1e1e1e;--gs-panel:#252526;--gs-raise:#2d2d30;--gs-border:#3e3e42;--gs-border-soft:#2d2d30;--gs-fg:#d4d4d4;--gs-fg-muted:#ccc;--gs-fg-dim:#9d9d9d;--gs-fg-faint:gray;--gs-fg-fainter:#5a5a5a;--gs-accent:#0098ff;--gs-accent-bg:#007acc3d;--gs-accent-border:#0098ff99;--gs-add:#89d185;--gs-del:#f14c4c;--gs-warn:#cca700;--gs-info:#75beff;--gs-add-bg:#89d1852e;--gs-del-bg:#f14c4c2e;--gs-warn-bg:#cca7002e;--gs-info-bg:#75beff2e;--gs-add-line:#9bb9552e;--gs-del-line:#ff000029;--gs-add-word:#9bb95566;--gs-del-word:#ff00005c;--gs-hunk:#007acc24;--gs-neutral-bg:#bebebe24;--gs-backdrop:#0000008c;--gs-shadow:#0009}.SD8qLW_overlay[data-gs-theme=vscode-light]{--gs-bg:#fff;--gs-panel:#f3f3f3;--gs-raise:#e8e8e8;--gs-border:#cecece;--gs-border-soft:#e8e8e8;--gs-fg:#1e1e1e;--gs-fg-muted:#333;--gs-fg-dim:#616161;--gs-fg-faint:#767676;--gs-fg-fainter:#a0a0a0;--gs-accent:#005fb8;--gs-accent-bg:#005fb81a;--gs-accent-border:#005fb873;--gs-add:#10793f;--gs-del:#b5200d;--gs-warn:#855b00;--gs-info:#005fb8;--gs-add-bg:#10793f1f;--gs-del-bg:#b5200d1f;--gs-warn-bg:#855b001f;--gs-info-bg:#005fb81f;--gs-add-line:#9bb95538;--gs-del-line:#ff000021;--gs-add-word:#9bb95573;--gs-del-word:#ff00004d;--gs-hunk:#005fb812;--gs-neutral-bg:#6161611f;--gs-backdrop:#00000040;--gs-shadow:#0000002e}.SD8qLW_overlay[data-gs-theme=cyberpunk-dark]{--gs-bg:#0b0417;--gs-panel:#14082a;--gs-raise:#1f0d3d;--gs-border:#3a1f6b;--gs-border-soft:#26124a;--gs-fg:#f0e6ff;--gs-fg-muted:#d5c2f5;--gs-fg-dim:#a98fd6;--gs-fg-faint:#7d64a8;--gs-fg-fainter:#56427a;--gs-accent:#00f0ff;--gs-on-accent:#0b0417;--gs-accent-bg:#00f0ff24;--gs-accent-border:#00f0ff80;--gs-add:#39ff88;--gs-del:#ff2e88;--gs-warn:#fc0;--gs-info:#00f0ff;--gs-add-bg:#39ff8824;--gs-del-bg:#ff2e8824;--gs-warn-bg:#ffcc0024;--gs-info-bg:#00f0ff24;--gs-add-line:#39ff881f;--gs-del-line:#ff2e881f;--gs-add-word:#39ff8857;--gs-del-word:#ff2e8857;--gs-hunk:#00f0ff1a;--gs-neutral-bg:#a98fd629;--gs-backdrop:#06020ead;--gs-shadow:#00f0ff24}.SD8qLW_overlay[data-gs-theme=cyberpunk-light]{--gs-bg:#fdfbff;--gs-panel:#f4eeff;--gs-raise:#e9dfff;--gs-border:#c9b3f0;--gs-border-soft:#e0d2f7;--gs-fg:#1a0b2e;--gs-fg-muted:#33195c;--gs-fg-dim:#6b4ba0;--gs-fg-faint:#8f74bd;--gs-fg-fainter:#b9a5d6;--gs-accent:#00a6b8;--gs-accent-bg:#00a6b81f;--gs-accent-border:#00a6b880;--gs-add:#00875a;--gs-del:#d6006e;--gs-warn:#b37a00;--gs-info:#00a6b8;--gs-add-bg:#00875a1f;--gs-del-bg:#d6006e1f;--gs-warn-bg:#b37a001f;--gs-info-bg:#00a6b81f;--gs-add-line:#00c88224;--gs-del-line:#ff2e881f;--gs-add-word:#00c88257;--gs-del-word:#ff2e884d;--gs-hunk:#00a6b814;--gs-neutral-bg:#6b4ba01f;--gs-backdrop:#1a0b2e47;--gs-shadow:#1a0b2e29}.SD8qLW_overlay[data-gs-theme=one-dark]{--gs-bg:#282c34;--gs-panel:#21252b;--gs-raise:#2c313a;--gs-border:#3e4451;--gs-border-soft:#2c313a;--gs-fg:#abb2bf;--gs-fg-muted:#b6bdca;--gs-fg-dim:#7f848e;--gs-fg-faint:#636d83;--gs-fg-fainter:#4b5263;--gs-accent:#61afef;--gs-accent-bg:#61afef24;--gs-accent-border:#61afef8c;--gs-add:#98c379;--gs-del:#e06c75;--gs-warn:#e5c07b;--gs-info:#56b6c2;--gs-add-bg:#98c37929;--gs-del-bg:#e06c7529;--gs-warn-bg:#e5c07b29;--gs-info-bg:#56b6c229;--gs-add-line:#98c37924;--gs-del-line:#e06c7524;--gs-add-word:#98c37961;--gs-del-word:#e06c7561;--gs-hunk:#61afef1a;--gs-neutral-bg:#7f848e2e;--gs-backdrop:#171a2199;--gs-shadow:#0f11158c}.SD8qLW_overlay[data-gs-theme=one-light]{--gs-bg:#fafafa;--gs-panel:#f0f0f0;--gs-raise:#e5e5e6;--gs-border:#d4d4d4;--gs-border-soft:#e5e5e6;--gs-fg:#383a42;--gs-fg-muted:#4a4c53;--gs-fg-dim:#696c77;--gs-fg-faint:#909196;--gs-fg-fainter:#b8b9bd;--gs-accent:#4078f2;--gs-accent-bg:#4078f21a;--gs-accent-border:#4078f273;--gs-add:#50a14f;--gs-del:#e45649;--gs-warn:#c18401;--gs-info:#0184bc;--gs-add-bg:#50a14f1f;--gs-del-bg:#e456491f;--gs-warn-bg:#c184011f;--gs-info-bg:#0184bc1f;--gs-add-line:#50a14f24;--gs-del-line:#e4564921;--gs-add-word:#50a14f57;--gs-del-word:#e4564952;--gs-hunk:#4078f212;--gs-neutral-bg:#696c771f;--gs-backdrop:#383a4242;--gs-shadow:#383a422e}.SD8qLW_overlay[data-gs-theme=solarized-dark]{--gs-bg:#002b36;--gs-panel:#073642;--gs-raise:#0a4553;--gs-border:#0f5666;--gs-border-soft:#073642;--gs-fg:#93a1a1;--gs-fg-muted:#839496;--gs-fg-dim:#657b83;--gs-fg-faint:#586e75;--gs-fg-fainter:#45636b;--gs-accent:#268bd2;--gs-accent-bg:#268bd229;--gs-accent-border:#268bd28c;--gs-add:#859900;--gs-del:#dc322f;--gs-warn:#b58900;--gs-info:#2aa198;--gs-add-bg:#85990033;--gs-del-bg:#dc322f2e;--gs-warn-bg:#b589002e;--gs-info-bg:#2aa1982e;--gs-add-line:#85990029;--gs-del-line:#dc322f26;--gs-add-word:#85990066;--gs-del-word:#dc322f61;--gs-hunk:#268bd21f;--gs-neutral-bg:#657b8333;--gs-backdrop:#00141a9e;--gs-shadow:#00141a8c}.SD8qLW_overlay[data-gs-theme=solarized-light]{--gs-bg:#fdf6e3;--gs-panel:#eee8d5;--gs-raise:#e3ddca;--gs-border:#d5cfbb;--gs-border-soft:#eee8d5;--gs-fg:#586e75;--gs-fg-muted:#657b83;--gs-fg-dim:#839496;--gs-fg-faint:#93a1a1;--gs-fg-fainter:#b5b0a0;--gs-accent:#268bd2;--gs-accent-bg:#268bd21f;--gs-accent-border:#268bd273;--gs-add:#6c7c00;--gs-del:#cb2825;--gs-warn:#9a7400;--gs-info:#21867f;--gs-add-bg:#8599002e;--gs-del-bg:#dc322f24;--gs-warn-bg:#b5890029;--gs-info-bg:#2aa19824;--gs-add-line:#85990029;--gs-del-line:#dc322f1f;--gs-add-word:#85990061;--gs-del-word:#dc322f4d;--gs-hunk:#268bd214;--gs-neutral-bg:#586e7524;--gs-backdrop:#586e7542;--gs-shadow:#586e7533}.SD8qLW_overlay[data-gs-theme=nord-dark]{--gs-bg:#2e3440;--gs-panel:#3b4252;--gs-raise:#434c5e;--gs-border:#4c566a;--gs-border-soft:#3b4252;--gs-fg:#eceff4;--gs-fg-muted:#d8dee9;--gs-fg-dim:#9aa5b8;--gs-fg-faint:#7b88a1;--gs-fg-fainter:#5d6a82;--gs-accent:#88c0d0;--gs-on-accent:#2e3440;--gs-accent-bg:#88c0d024;--gs-accent-border:#88c0d08c;--gs-add:#a3be8c;--gs-del:#bf616a;--gs-warn:#ebcb8b;--gs-info:#81a1c1;--gs-add-bg:#a3be8c29;--gs-del-bg:#bf616a2e;--gs-warn-bg:#ebcb8b29;--gs-info-bg:#81a1c129;--gs-add-line:#a3be8c24;--gs-del-line:#bf616a26;--gs-add-word:#a3be8c61;--gs-del-word:#bf616a66;--gs-hunk:#88c0d01a;--gs-neutral-bg:#9aa5b829;--gs-backdrop:#1d232d9e;--gs-shadow:#1419218c}.SD8qLW_overlay[data-gs-theme=nord-light]{--gs-bg:#eceff4;--gs-panel:#e5e9f0;--gs-raise:#d8dee9;--gs-border:#c3cbd8;--gs-border-soft:#dfe4ec;--gs-fg:#2e3440;--gs-fg-muted:#3b4252;--gs-fg-dim:#4c566a;--gs-fg-faint:#6b7689;--gs-fg-fainter:#9aa4b5;--gs-accent:#5e81ac;--gs-accent-bg:#5e81ac1f;--gs-accent-border:#5e81ac80;--gs-add:#5e7d47;--gs-del:#a5424c;--gs-warn:#97701f;--gs-info:#4c7a8c;--gs-add-bg:#5e7d4724;--gs-del-bg:#a5424c21;--gs-warn-bg:#97701f24;--gs-info-bg:#4c7a8c21;--gs-add-line:#5e7d4724;--gs-del-line:#a5424c1f;--gs-add-word:#5e7d4757;--gs-del-word:#a5424c52;--gs-hunk:#5e81ac17;--gs-neutral-bg:#4c566a21;--gs-backdrop:#2e344042;--gs-shadow:#2e34402e}.SD8qLW_overlay{--gs-inset:14px;--gs-h-control:28px;--gs-h-compact:24px;--gs-pad-control:0 12px;--gs-pad-compact:0 10px;--gs-on-accent:#fff;--gs-graph-0:#58a6ff;--gs-graph-1:#3fb950;--gs-graph-2:#d29922;--gs-graph-3:#bc8cff;--gs-graph-4:#f778ba;--gs-graph-5:#39c5cf;--gs-r-pill:999px;--gs-r-control:8px;--gs-r-surface:12px;--gs-r-drawer:14px;--gs-t-meta:11px;--gs-t-dense:12px;--gs-t-ui:13px;--gs-gutter:16px;--gs-gutter-pane:12px;z-index:1000;padding:var(--gs-inset);box-sizing:border-box;background:var(--gs-backdrop);justify-content:flex-end;align-items:stretch;gap:12px;animation:.16s ease-out SD8qLW_gsFade;display:flex;position:fixed;inset:0}.SD8qLW_drawer{box-sizing:border-box;width:min(1600px,94vw);height:100%;color:var(--gs-fg);background:var(--gs-bg);border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);box-shadow:0 24px 64px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);--gs-surface:var(--gs-bg);--gs-surface-2:var(--gs-panel);flex-direction:column;animation:.18s cubic-bezier(.22,1,.36,1) SD8qLW_gsSlide;display:flex;position:relative;overflow:hidden}.SD8qLW_drawer[data-gs-bg]{--gs-surface:color-mix(in srgb, var(--gs-bg) var(--gs-veil), transparent);--gs-surface-2:color-mix(in srgb, var(--gs-panel) var(--gs-veil), transparent)}.SD8qLW_drawer[data-gs-bg]:before{content:\"\";z-index:0;background-image:var(--gs-bg-image);filter:blur(var(--gs-bg-blur));pointer-events:none;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.SD8qLW_drawer>:not(.SD8qLW_resizer){z-index:1;position:relative}.SD8qLW_drawer>.SD8qLW_header{z-index:24}.SD8qLW_drawer>.SD8qLW_tabs{z-index:23}.SD8qLW_drawer>.SD8qLW_compareBar{z-index:22}.SD8qLW_drawer>.SD8qLW_syncBar{z-index:20}.SD8qLW_drawer>.SD8qLW_confirmScrim{z-index:40;position:absolute;inset:0}.SD8qLW_overlayMax{gap:0;padding:0}.SD8qLW_overlayMax .SD8qLW_drawer{border-width:0 0 0 1px;border-radius:0;flex:auto;width:auto;min-width:0}@keyframes SD8qLW_gsFade{0%{opacity:0}}@keyframes SD8qLW_gsSlide{0%{opacity:0;transform:translate(24px)}}.SD8qLW_resizer{z-index:30;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:10px;display:flex;position:absolute;top:0;bottom:0;left:0}.SD8qLW_resizer:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:32px;transition:opacity .14s,height .14s}.SD8qLW_resizer:hover:after{opacity:.6}.SD8qLW_resizerActive:after{opacity:.9;height:56px}.SD8qLW_paneDivider{z-index:5;cursor:col-resize;touch-action:none;flex:none;justify-content:center;align-items:center;width:7px;display:flex;position:relative}.SD8qLW_paneDivider:before{content:\"\";background:var(--gs-border-soft);width:1px;position:absolute;top:0;bottom:0;left:3px}.SD8qLW_paneDivider:after{content:\"\";background:var(--gs-fg-fainter);opacity:0;border-radius:999px;width:3px;height:28px;transition:opacity .14s,height .14s;position:relative}.SD8qLW_paneDivider:hover:after{opacity:.6}.SD8qLW_paneDividerActive:after{opacity:.9;height:48px}.SD8qLW_paneDividerY{cursor:row-resize;width:auto;height:7px}.SD8qLW_paneDividerY:before{width:auto;height:1px;inset:3px 0 auto}.SD8qLW_paneDividerY:after{width:28px;height:3px;transition:opacity .14s,width .14s}.SD8qLW_paneDividerY.SD8qLW_paneDividerActive:after{width:48px;height:3px}.SD8qLW_header{padding:10px var(--gs-gutter);border-bottom:1px solid var(--gs-border);background:var(--gs-surface-2);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-ui);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.SD8qLW_headerLeft{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.SD8qLW_headerBranch{border:1px solid var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.SD8qLW_refButton.SD8qLW_headerPicker{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);max-width:420px;color:var(--gs-accent);font-weight:600}.SD8qLW_refButton.SD8qLW_headerPicker:hover{background:var(--gs-accent-bg);color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_elide{flex:0 auto;align-items:baseline;min-width:0;display:inline-flex}.SD8qLW_elideHead{white-space:nowrap;text-overflow:ellipsis;flex:0 999 auto;min-width:0;overflow:hidden}.SD8qLW_elideTail{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.SD8qLW_headerPathMain{color:var(--gs-fg-faint);font-size:var(--gs-t-meta)}.SD8qLW_headerPathMain .SD8qLW_elideTail{color:var(--gs-fg-dim)}.SD8qLW_headerViewRef{max-width:160px}.SD8qLW_headerView{background:var(--gs-neutral-bg);color:var(--gs-fg-muted);font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px}.SD8qLW_headerDetached{background:var(--gs-warn-bg);color:var(--gs-warn);font-size:var(--gs-t-meta);letter-spacing:.02em;border-radius:999px;padding:1px 8px}.SD8qLW_headerTotals{font-variant-numeric:tabular-nums}.SD8qLW_headerTotalsAdd{color:var(--gs-add);font-weight:600}.SD8qLW_headerTotalsDel{color:var(--gs-del);font-weight:600}.SD8qLW_headerTotalsDim{color:var(--gs-fg-dim);font-size:var(--gs-t-dense)}.SD8qLW_headerRight{flex:none;gap:8px;display:flex;position:relative}.SD8qLW_theme{display:inline-flex;position:relative}.SD8qLW_refPop.SD8qLW_settingsPop{width:320px;max-width:calc(100vw - 32px);max-height:min(560px,100vh - 120px);top:calc(100% + 6px);left:auto;right:0}.SD8qLW_themeRail{min-height:0;font-family:var(--dsw-font-ui,system-ui, sans-serif);flex-direction:column;flex:1;gap:14px;padding:12px 14px 16px;display:flex;overflow-y:auto}.SD8qLW_themeGroup{flex-direction:column;gap:6px;display:flex}.SD8qLW_themeLabel{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.SD8qLW_themeRowSplit{justify-content:space-between;align-items:center;gap:8px;display:flex}.SD8qLW_segmented{gap:6px;display:flex}.SD8qLW_segment{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;padding:4px;transition:background .12s,color .12s,border-color .12s;display:flex}.SD8qLW_segment:hover{background:var(--gs-raise);border-color:var(--gs-fg-fainter);color:var(--gs-fg)}.SD8qLW_segment:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_segmentChip{border-radius:calc(var(--gs-r-control) - 4px);border:1px solid #80808073;height:20px}.SD8qLW_chipLight{background:#fff}.SD8qLW_chipDark{background:#0b0b0d}.SD8qLW_chipSystem{background:linear-gradient(105deg,#fff 0 50%,#0b0b0d 50% 100%)}.SD8qLW_paletteRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.SD8qLW_paletteRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_swatch{border:1px solid var(--gs-border);border-radius:3px;flex:none;width:26px;height:12px;display:inline-flex;overflow:hidden}.SD8qLW_swatch span{flex:1}.SD8qLW_scopeRow{gap:6px;display:flex}.SD8qLW_scopeHint{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);overflow-wrap:anywhere}.SD8qLW_bgPreview{border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background-color:var(--gs-bg);background-position:50%;background-size:cover;height:64px}.SD8qLW_bgEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);justify-content:center;align-items:center;display:flex}.SD8qLW_sliderRow{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);align-items:center;gap:8px;display:flex}.SD8qLW_sliderRow input{min-width:0;accent-color:var(--gs-accent);flex:1}.SD8qLW_sliderValue{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px}.SD8qLW_cssArea{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:96px;max-height:220px;color:var(--gs-fg);font-family:var(--dsw-font-mono,ui-monospace, Consolas, monospace);font-size:var(--gs-t-meta);resize:vertical;outline:none;padding:7px 8px}.SD8qLW_cssArea:focus{border-color:var(--gs-accent-border)}.SD8qLW_themeNote{color:var(--gs-warn);font-size:var(--gs-t-meta)}.SD8qLW_themeDirty{color:var(--gs-accent);font-size:var(--gs-t-meta)}.SD8qLW_wtCurrent{color:var(--gs-add);font-size:8px;line-height:1}.SD8qLW_commitCopy{margin-left:auto}.SD8qLW_commitPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:min(380px,100vw - 24px);color:var(--gs-fg);box-shadow:0 16px 40px var(--gs-shadow);font-family:var(--dsw-font-ui,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif);font-size:var(--gs-t-dense);flex-direction:column;gap:6px;padding:10px 12px 12px;display:flex;position:fixed;overflow:auto}.SD8qLW_commitPopTop{align-items:center;gap:8px;display:flex}.SD8qLW_commitPopTop .SD8qLW_commitWhen{margin-right:auto}.SD8qLW_commitPopMeta{color:var(--gs-fg-muted);font-size:var(--gs-t-dense);flex-direction:column;gap:2px;line-height:16px;display:flex}.SD8qLW_commitFilter{min-width:120px;height:var(--gs-h-control);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 10px}.SD8qLW_commitFilter:focus{border-color:var(--gs-accent)}.SD8qLW_commitFilter::placeholder{color:var(--gs-fg-faint)}.SD8qLW_filterChips{border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:6px 10px;display:flex}.SD8qLW_filterChip{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-surface-2);max-width:220px;font-size:var(--gs-t-dense);align-items:center;gap:2px;line-height:18px;display:inline-flex}.SD8qLW_filterChipLabel{text-overflow:ellipsis;white-space:nowrap;color:var(--gs-fg-muted);padding:2px 4px 2px 8px;overflow:hidden}.SD8qLW_filterChipRemove{border:none;border-left:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;flex:none;padding:0 6px;line-height:20px}.SD8qLW_filterChipRemove:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_filterClear{color:var(--gs-fg-faint);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;padding:2px 4px;line-height:18px}.SD8qLW_filterClear:hover{color:var(--gs-fg)}.SD8qLW_funnel{display:inline-flex;position:relative}.SD8qLW_funnelButton.SD8qLW_funnelButtonActive{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelPop{z-index:40;box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-surface);background:var(--gs-panel);width:320px;max-width:calc(100vw - 24px);box-shadow:0 16px 40px var(--gs-shadow);font-size:var(--gs-t-dense);flex-direction:column;display:flex;position:fixed;overflow:hidden}.SD8qLW_funnelTabs{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-pill);background:var(--gs-bg);flex:none;gap:2px;margin:8px 8px 0;padding:2px;display:flex}.SD8qLW_funnelTab{border-radius:var(--gs-r-pill);min-width:0;height:22px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:0 8px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelTab:hover{color:var(--gs-fg)}.SD8qLW_funnelTab.SD8qLW_funnelTabActive{color:var(--gs-fg);background:var(--gs-raise);box-shadow:inset 0 0 0 1px var(--gs-border)}.SD8qLW_funnelTab:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelTabCount{color:var(--gs-accent);font-variant-numeric:tabular-nums;margin-left:4px}.SD8qLW_funnelPane{flex-direction:column;flex:auto;gap:6px;min-height:0;padding:8px;display:flex}.SD8qLW_funnelCaption{color:var(--gs-fg-faint);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:11px;line-height:14px}.SD8qLW_funnelBounds{border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);flex:none;gap:2px;padding:2px;display:flex}.SD8qLW_funnelBoundBtn{border-radius:calc(var(--gs-r-control) - 3px);min-width:0;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:1;padding:0 6px;line-height:1;transition:background .12s,color .12s}.SD8qLW_funnelBoundBtn:hover{color:var(--gs-fg)}.SD8qLW_funnelBoundBtn.SD8qLW_funnelBoundBtnActive{color:var(--gs-accent);background:var(--gs-accent-bg);box-shadow:inset 0 0 0 1px var(--gs-accent-border)}.SD8qLW_cal{flex-direction:column;flex:none;gap:4px;display:flex}.SD8qLW_calHead{align-items:center;gap:4px;display:flex}.SD8qLW_calTitle{text-align:center;color:var(--gs-fg);font-size:var(--gs-t-dense);flex:1;line-height:20px}.SD8qLW_calNav{border-radius:var(--gs-r-control);width:22px;height:20px;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:none;flex:none;padding:0}.SD8qLW_calNav:hover{color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_calWeek,.SD8qLW_calGrid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.SD8qLW_calWeek span{text-align:center;color:var(--gs-fg-faint);font-size:11px;line-height:14px}.SD8qLW_calGrid button{border-radius:var(--gs-r-control);height:26px;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none}.SD8qLW_calGrid button:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calOut{color:var(--gs-fg-fainter)}.SD8qLW_calGrid button.SD8qLW_calToday{color:var(--gs-accent);font-weight:600}.SD8qLW_calGrid button.SD8qLW_calIn{background:var(--gs-accent-bg);color:var(--gs-fg)}.SD8qLW_calGrid button.SD8qLW_calMark{background:var(--gs-accent);color:var(--gs-on-accent);font-weight:600}.SD8qLW_funnelBoundRows{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.SD8qLW_funnelBoundRow{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelBoundKey{color:var(--gs-fg-faint);flex:none}.SD8qLW_funnelBoundVal{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.SD8qLW_funnelBoundValSet{color:var(--gs-fg)}.SD8qLW_funnelBoundClear{color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;line-height:1}.SD8qLW_funnelBoundClear:hover{color:var(--gs-danger,var(--gs-fg))}.SD8qLW_funnelSearch{box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);height:26px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:0 8px}.SD8qLW_funnelSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_funnelSearch:focus{border-color:var(--gs-accent);box-shadow:0 0 0 2px var(--gs-accent-bg)}.SD8qLW_funnelList{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gs-fg-fainter) transparent;flex-direction:column;flex:auto;gap:1px;min-height:0;margin:0 -4px;padding:0 4px;display:flex;overflow-y:auto}.SD8qLW_funnelList::-webkit-scrollbar{width:10px}.SD8qLW_funnelList::-webkit-scrollbar-track{background:0 0}.SD8qLW_funnelList::-webkit-scrollbar-thumb{background:var(--gs-fg-fainter);background-clip:content-box;border:3px solid #0000;border-radius:5px}.SD8qLW_funnelRow{box-sizing:border-box;border-radius:var(--gs-r-control);cursor:pointer;align-items:center;gap:6px;min-height:24px;padding:0 4px;display:flex}.SD8qLW_funnelRow:hover{background:var(--gs-raise)}.SD8qLW_funnelRow:has(input[type=checkbox]:checked) .SD8qLW_funnelName,.SD8qLW_funnelRow:has(input[type=checkbox]:indeterminate) .SD8qLW_funnelName{color:var(--gs-fg)}.SD8qLW_funnelRow input[type=checkbox]{-webkit-appearance:none;appearance:none;box-sizing:border-box;border:1px solid var(--gs-fg-fainter);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:14px;height:14px;margin:0;transition:background .12s,border-color .12s;position:relative}.SD8qLW_funnelRow input[type=checkbox]:hover{border-color:var(--gs-fg-dim)}.SD8qLW_funnelRow input[type=checkbox]:checked,.SD8qLW_funnelRow input[type=checkbox]:indeterminate{background:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_funnelRow input[type=checkbox]:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_funnelRow input[type=checkbox]:checked:after{content:\"\";border:solid var(--gs-on-accent);border-width:0 1.5px 1.5px 0;width:3px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(42deg)}.SD8qLW_funnelRow input[type=checkbox]:indeterminate:after{content:\"\";background:var(--gs-on-accent);border-radius:1px;width:8px;height:2px;position:absolute;top:5px;left:2px}.SD8qLW_pathNode,.SD8qLW_pathChildren{flex-direction:column;display:flex}.SD8qLW_pathFileGlyph,.SD8qLW_pathDirGlyph{width:16px;height:16px;color:var(--gs-fg-dim);flex:none}.SD8qLW_funnelRow:hover .SD8qLW_pathFileGlyph,.SD8qLW_funnelRow:hover .SD8qLW_pathDirGlyph{color:var(--gs-fg-muted)}.SD8qLW_funnelName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg-muted);flex:1;overflow:hidden}.SD8qLW_funnelCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.SD8qLW_funnelMore{color:var(--gs-fg-faint);padding:4px 6px}.SD8qLW_funnelChevron{width:14px;color:var(--gs-fg-faint);cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:9px;line-height:16px}.SD8qLW_funnelChevron:hover:not(:disabled){color:var(--gs-fg)}.SD8qLW_funnelChevron:disabled{cursor:default}.SD8qLW_funnelPresets{flex:none;gap:4px;display:flex}.SD8qLW_funnelPreset{flex:1 1 0;min-width:0;padding:0 6px}.SD8qLW_funnelPreset.SD8qLW_funnelPresetActive{color:var(--gs-accent);border-color:var(--gs-accent);background:var(--gs-accent-bg)}.SD8qLW_funnelFoot{border-top:1px solid var(--gs-border-soft);background:var(--gs-bg);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:11px;line-height:16px;display:flex}.SD8qLW_funnelFootCount{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums}.SD8qLW_funnelFootCountOn{color:var(--gs-fg-muted)}.SD8qLW_funnelFootClear{border-radius:var(--gs-r-control);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-family:inherit;font-size:11px;line-height:16px}.SD8qLW_funnelFootClear:hover:not(:disabled){color:var(--gs-fg);background:var(--gs-raise)}.SD8qLW_funnelFootClear:disabled{color:var(--gs-fg-fainter);cursor:default}.SD8qLW_commitPopSubject{color:var(--gs-fg);font-size:var(--gs-t-ui);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font-weight:600;line-height:18px}.SD8qLW_commitPopBody{color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;margin:0;line-height:18px}.SD8qLW_tabs{padding:0 var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:24px;font-family:inherit;display:flex}.SD8qLW_tab{font-family:inherit;font-size:var(--gs-t-ui);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:8px 0 9px;font-weight:500;line-height:16px;position:relative}.SD8qLW_tab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_tabActive{color:var(--gs-accent)}.SD8qLW_tabActive:after{background:var(--gs-accent)}.SD8qLW_compareBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.SD8qLW_compareArrow{color:var(--gs-fg-faint)}.SD8qLW_refPicker{align-items:center;gap:6px;display:inline-flex;position:relative}.SD8qLW_refLabel{color:var(--gs-fg-faint);flex:none}.SD8qLW_refButton{justify-content:space-between;max-width:260px}.SD8qLW_refValue{min-width:0;overflow:hidden}.SD8qLW_refCaret{color:var(--gs-fg-faint);flex:none;font-size:9px}.SD8qLW_refPop{z-index:10;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-panel);width:300px;max-width:80vw;box-shadow:0 12px 32px var(--gs-shadow);flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.SD8qLW_menuPop{width:auto;min-width:100%;padding:4px;left:auto;right:0}.SD8qLW_refSearch{border:0;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:none;padding:7px 10px}.SD8qLW_refSearch::placeholder{color:var(--gs-fg-faint)}.SD8qLW_refList{flex:1;max-height:280px;padding:4px;overflow-y:auto}.SD8qLW_refGroup{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);letter-spacing:.04em;text-transform:uppercase;padding:6px 8px 3px;font-weight:600}.SD8qLW_refRow{box-sizing:border-box;border-radius:var(--gs-r-control);width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 8px;display:flex}.SD8qLW_refRow:hover{background:var(--gs-raise);color:var(--gs-fg)}.SD8qLW_refRowSpacer{flex:none;width:12px}.SD8qLW_refRowName{flex:auto;min-width:0;overflow:hidden}.SD8qLW_refEmpty{color:var(--gs-fg-faint);font-size:var(--gs-t-dense);padding:14px 10px}.SD8qLW_refFoot{border-top:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);flex:none;padding:5px 10px}.SD8qLW_commitsPane{box-sizing:border-box;width:26%;min-height:0;min-width:var(--gs-min-commits);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:340px;display:flex}.SD8qLW_paneHead{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);color:var(--gs-fg-dim);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-dense);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_paneTitle{font-weight:600}.SD8qLW_commitsSentinel{flex:none;height:1px}.SD8qLW_commitsFoot{color:var(--gs-fg-faint);font-family:var(--dsw-font-ui,system-ui, sans-serif);font-size:var(--gs-t-meta);text-align:center;flex:none;min-height:16px;padding:8px}.SD8qLW_commits{flex-direction:column;flex:1;min-height:0;padding:4px 6px 4px 0;display:flex;overflow-y:auto}.SD8qLW_commitLine{height:var(--gs-commit-row);flex:none;align-items:stretch;display:flex}.SD8qLW_graphCell{flex:none;display:block}.SD8qLW_commit{box-sizing:border-box;border-radius:var(--gs-r-surface);text-align:left;cursor:pointer;min-width:0;height:100%;font-family:inherit;font-size:var(--gs-t-dense);background:0 0;border:1px solid #0000;flex:auto;align-items:center;gap:10px;margin:1px 0;padding:4px 8px;transition:background .12s,border-color .12s;display:flex;overflow:hidden}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commit{flex-direction:column;justify-content:center;align-items:stretch;gap:2px}.SD8qLW_commitsPane[data-layout=columns] .SD8qLW_commitSubjectRow{flex:none}.SD8qLW_commitTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.SD8qLW_commit:hover{background:var(--gs-raise)}.SD8qLW_commitActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg)}.SD8qLW_commitMeta{flex:none;align-items:baseline;gap:8px;display:flex}.SD8qLW_commitHash{color:var(--gs-info);flex:none}.SD8qLW_commitSubjectRow{flex:auto;align-items:baseline;gap:4px;min-width:0;display:flex}.SD8qLW_commitSubject{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--gs-fg-muted);flex:0 auto;overflow:hidden}.SD8qLW_commitHasBody{color:var(--gs-fg-faint);letter-spacing:.04em;flex:none}.SD8qLW_commitRef{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--gs-accent-border);border-radius:var(--gs-r-pill);background:var(--gs-accent-bg);max-width:96px;color:var(--gs-accent);font-size:var(--gs-t-meta);flex:none;padding:0 5px;line-height:15px;overflow:hidden}.SD8qLW_commitWhen{color:var(--gs-fg-faint);flex:none}.SD8qLW_commitAuthor{text-overflow:ellipsis;white-space:nowrap;max-width:120px;color:var(--gs-fg-dim);flex:none;overflow:hidden}.SD8qLW_body{z-index:1;flex:1;min-height:0;display:flex}.SD8qLW_body[data-stacked]{flex-direction:column}.SD8qLW_bodyRow{flex:1 1 0;min-width:0;min-height:0;display:flex}.SD8qLW_body[data-stacked] .SD8qLW_commitsPane{width:auto;min-width:0;max-width:none;height:34%;min-height:var(--gs-min-commits-tall);max-height:max(var(--gs-min-commits-tall), calc(100% - var(--gs-min-stacked-lower)));flex:none}.SD8qLW_treeCol{box-sizing:border-box;width:28%;min-height:0;min-width:var(--gs-min-tree);background:var(--gs-surface);flex-direction:column;flex:0 auto;max-width:400px;display:flex}.SD8qLW_treeWrap{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.SD8qLW_treeTools{box-sizing:border-box;min-height:37px;padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px;display:flex}.SD8qLW_treeActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.SD8qLW_treeLead{align-items:center;gap:4px;min-width:0;display:flex}.SD8qLW_treeLabel{white-space:nowrap;color:var(--gs-fg-dim);font-size:var(--gs-t-dense);flex:none}.SD8qLW_treeFilter{padding:6px var(--gs-gutter-pane);border-bottom:1px solid var(--gs-border-soft);flex:none;align-items:center;display:flex;position:relative}.SD8qLW_treeFilterInput{min-width:0;height:var(--gs-h-compact);box-sizing:border-box;border:1px solid var(--gs-border-soft);border-radius:var(--gs-r-control);background:var(--gs-bg);color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);outline:none;flex:auto;padding:0 24px 0 8px}.SD8qLW_treeFilterInput:focus{border-color:var(--gs-accent)}.SD8qLW_treeFilterInput::placeholder{color:var(--gs-fg-faint)}.SD8qLW_treeFilterClear{right:calc(var(--gs-gutter-pane) + 6px);border-radius:var(--gs-r-pill);width:16px;height:16px;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute}.SD8qLW_treeFilterClear:hover{color:var(--gs-fg)}.SD8qLW_tree{flex:1;min-height:0;margin:0;padding:6px 0 16px;list-style:none;overflow:auto}.SD8qLW_treeEmpty{min-height:0;color:var(--gs-fg-faint);font-size:var(--gs-t-ui);flex:1;justify-content:center;align-items:center;display:flex}.SD8qLW_treeSub{margin:0;padding:0;list-style:none;position:relative}.SD8qLW_treeSub:before{content:\"\";top:0;bottom:0;left:var(--gs-rail,0);background:var(--gs-border-soft);width:1px;position:absolute}.SD8qLW_treeDirLi{position:relative}.SD8qLW_treeDir{box-sizing:border-box;width:100%;color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-weight:600;display:flex}.SD8qLW_treeDir:hover{background:var(--gs-panel);color:var(--gs-fg-muted)}.SD8qLW_treeDirActive{color:var(--gs-fg-muted)}.SD8qLW_chevron{width:10px;color:var(--gs-fg-fainter);font-size:var(--gs-t-meta);flex:none;transition:transform .12s;display:inline-block}.SD8qLW_chevronOpen{transform:rotate(90deg)}.SD8qLW_treeDirName{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_treeDirCount{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);border-radius:999px;flex:none;padding:0 6px;font-weight:600;line-height:16px}.SD8qLW_treeDirCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_file{box-sizing:border-box;width:100%;color:var(--gs-fg-muted);font-family:inherit;font-size:var(--gs-t-dense);text-align:left;cursor:pointer;background:0 0;border:0;border-left:2px solid #0000;align-items:center;gap:8px;padding:5px 14px;display:flex}.SD8qLW_file:hover{background:var(--gs-panel)}.SD8qLW_fileActive{background:var(--gs-panel);border-left-color:var(--gs-accent);color:var(--gs-fg)}.SD8qLW_fileStatus{width:18px;height:18px;font-weight:700;font-size:var(--gs-t-meta);border-radius:5px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.SD8qLW_stAdded,.SD8qLW_stUntracked{color:var(--gs-add);background:var(--gs-add-bg)}.SD8qLW_stDeleted{color:var(--gs-del);background:var(--gs-del-bg)}.SD8qLW_stModified{color:var(--gs-warn);background:var(--gs-warn-bg)}.SD8qLW_stRenamed{color:var(--gs-info);background:var(--gs-info-bg)}.SD8qLW_filePath{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.SD8qLW_fileBinary{background:var(--gs-neutral-bg);color:var(--gs-fg-dim);letter-spacing:.06em;border-radius:4px;flex:none;padding:0 5px;font-size:9px;font-weight:700}.SD8qLW_fileCounts{font-size:var(--gs-t-meta);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fileCountAdd{color:var(--gs-add)}.SD8qLW_fileCountDel{color:var(--gs-del)}.SD8qLW_diffPane{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;display:flex;overflow:auto}.SD8qLW_diffWrap{flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.SD8qLW_diffScroll{outline:none;flex:1 1 0;min-height:0;overflow:auto}.SD8qLW_diffNav{border-bottom:1px solid var(--gs-border-soft);flex:none;justify-content:flex-end;align-items:center;gap:4px;padding:3px 12px 3px 0;display:flex}.SD8qLW_diffNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_diffPre{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;flex-direction:column;margin:0;padding:8px 0 16px;font-weight:400;line-height:20px;display:flex}.SD8qLW_renameLine{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_renameLine code{color:var(--gs-fg)}.SD8qLW_line{white-space:nowrap;align-items:stretch;width:max-content;min-width:100%;min-height:20px;line-height:20px;display:flex}.SD8qLW_lnOld,.SD8qLW_lnNew{box-sizing:border-box;text-align:right;width:3.2em;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;flex:none;padding:0 8px}.SD8qLW_line:hover .SD8qLW_lnOld,.SD8qLW_line:hover .SD8qLW_lnNew{color:var(--gs-fg-dim)}.SD8qLW_gutter{text-align:center;user-select:none;flex:none;width:1.4em}.SD8qLW_code{white-space:pre;flex:1 0 auto;padding:0 16px 0 10px}.SD8qLW_lineAdd{background:var(--gs-add-line)}.SD8qLW_lineDel{background:var(--gs-del-line)}.SD8qLW_lineAdd .SD8qLW_lnOld,.SD8qLW_lineAdd .SD8qLW_lnNew,.SD8qLW_lineAdd .SD8qLW_gutter{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_lineDel .SD8qLW_lnOld,.SD8qLW_lineDel .SD8qLW_lnNew,.SD8qLW_lineDel .SD8qLW_gutter{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_lineContext{color:var(--gs-fg-muted)}.SD8qLW_lineHunk{background:var(--gs-hunk)}.SD8qLW_lineHunk .SD8qLW_code{color:var(--gs-fg-dim)}.SD8qLW_lineHunk .SD8qLW_lnOld,.SD8qLW_lineHunk .SD8qLW_lnNew,.SD8qLW_lineHunk .SD8qLW_gutter{background:var(--gs-hunk-num,var(--gs-hunk))}.SD8qLW_signAdd{color:var(--gs-add)}.SD8qLW_signDel{color:var(--gs-del)}.SD8qLW_wordAdd{background:var(--gs-add-word);border-radius:2px}.SD8qLW_wordDel{background:var(--gs-del-word);border-radius:2px}.SD8qLW_sidePane{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.SD8qLW_sideScroll{flex:1 1 0;min-height:0;overflow:hidden auto}.SD8qLW_sideCols{align-items:stretch;min-height:100%;display:flex}.SD8qLW_sideCol{flex:none;min-width:0;overflow-x:auto}.SD8qLW_sideColRight{flex:1 1 0}.SD8qLW_sideColGrid{width:max-content;min-width:100%;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--gs-t-dense);font-variant-ligatures:none;font-feature-settings:\"liga\" 0, \"calt\" 0;tab-size:4;grid-template-columns:3.2em 1fr;align-content:start;padding:8px 0 16px;font-weight:400;line-height:20px;display:grid}.SD8qLW_sideColGridBlame{grid-template-columns:13em 3.2em 1fr}.SD8qLW_blameCell{box-sizing:border-box;border-right:1px solid var(--gs-border-soft);color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:pre;text-overflow:ellipsis;user-select:none;padding:0 8px 0 10px;overflow:hidden}.SD8qLW_sideTabs{z-index:5;border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);flex:none;gap:16px;padding:6px 16px 0;display:flex}.SD8qLW_sideTab{font-family:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg-dim);cursor:pointer;background:0 0;border:none;padding:2px 0 5px;font-weight:500;line-height:16px;position:relative}.SD8qLW_sideTab:after{content:\"\";background:0 0;border-radius:2px;height:2px;position:absolute;bottom:1px;left:0;right:0}.SD8qLW_sideTabActive{color:var(--gs-accent)}.SD8qLW_sideTabActive:after{background:var(--gs-accent)}.SD8qLW_sideNotice{border-bottom:1px solid var(--gs-border-soft);color:var(--gs-info);font-size:var(--gs-t-dense);flex:none;padding:8px 16px}.SD8qLW_sideNum{box-sizing:border-box;text-align:right;color:var(--gs-fg-fainter);user-select:none;font-variant-numeric:tabular-nums;padding:0 8px}.SD8qLW_sideNumAdd{background:var(--gs-add-num,var(--gs-add-line))}.SD8qLW_sideNumDel{background:var(--gs-del-num,var(--gs-del-line))}.SD8qLW_sideCode{white-space:pre;min-height:20px;padding:0 16px 0 10px}.SD8qLW_sideCodeSame{color:var(--gs-fg-muted)}.SD8qLW_sideCodeAdd{background:var(--gs-add-line)}.SD8qLW_sideCodeDel{background:var(--gs-del-line)}.SD8qLW_sideCellBlock{position:relative}.SD8qLW_sideBlockHot{outline:1px solid var(--gs-accent);outline-offset:-1px}.SD8qLW_blockBar{z-index:4;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-surface-2,var(--gs-bg));box-shadow:0 4px 14px var(--gs-shadow);white-space:nowrap;gap:4px;padding:2px;display:flex;position:absolute;top:-21px;left:0}.SD8qLW_blockBtn{border:1px solid var(--gs-border);border-radius:var(--gs-r-pill);background:var(--gs-bg);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-meta);cursor:pointer;padding:0 8px;line-height:16px}.SD8qLW_blockBtn:hover:not(:disabled){color:var(--gs-fg);border-color:var(--gs-accent)}.SD8qLW_blockBtn:disabled{opacity:.45;cursor:default}.SD8qLW_blockBtnDanger{color:var(--gs-del);border-color:var(--gs-del-bg,var(--gs-border))}.SD8qLW_blockBtnDanger:hover:not(:disabled){color:var(--gs-del);border-color:var(--gs-del)}.SD8qLW_sideArmable{cursor:text}.SD8qLW_cmHost{position:relative}.SD8qLW_cmHost[data-editable]:before{content:\"\";background:var(--gs-accent);opacity:.32;pointer-events:none;border-radius:1px;width:2px;transition:opacity .14s;position:absolute;top:0;bottom:0;left:0}.SD8qLW_cmHost[data-editable]:focus-within:before{opacity:1}.SD8qLW_sideNav{align-items:center;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideNav .SD8qLW_blockBtn{padding-inline:6px;line-height:0}.SD8qLW_sideNavCount{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);white-space:nowrap}.SD8qLW_sideActions{align-items:flex-start;gap:4px;margin-left:auto;padding:2px 0 5px;display:flex}.SD8qLW_sideSaveReady{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_sideBanner{border-bottom:1px solid var(--gs-border-soft);background:var(--gs-del-bg,transparent);color:var(--gs-del);font-size:var(--gs-t-dense);flex-direction:column;flex:none;gap:6px;padding:8px 16px;display:flex}.SD8qLW_sideBannerTitle{font-weight:600}.SD8qLW_sideBannerActs{gap:4px;display:flex}.SD8qLW_sideEditCell{position:relative}.SD8qLW_empty{color:var(--gs-fg-faint);font-size:var(--gs-t-ui);padding:32px 24px}.SD8qLW_syncBar{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);background:var(--gs-surface-2);font-size:var(--gs-t-dense);color:var(--gs-fg-dim);flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.SD8qLW_syncUpstream{white-space:nowrap;text-overflow:ellipsis;max-width:260px;color:var(--gs-fg-muted);font-variant-numeric:tabular-nums;overflow:hidden}.SD8qLW_syncLevel{color:var(--gs-fg-faint)}.SD8qLW_syncSpacer{flex:auto}.SD8qLW_btn:disabled,.SD8qLW_treeIcon:disabled,.SD8qLW_miniBtn:disabled,.SD8qLW_refButton:disabled,.SD8qLW_funnelButton:disabled{opacity:.45;cursor:default}.SD8qLW_btn[data-quiet]:disabled,.SD8qLW_refButton[data-quiet]:disabled{opacity:1}.SD8qLW_opBanner{padding:8px var(--gs-gutter);border-bottom:1px solid var(--gs-border-soft);font-size:var(--gs-t-dense);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;flex:none;line-height:18px}.SD8qLW_opBannerOk{background:var(--gs-add-bg);color:var(--gs-add)}.SD8qLW_opBannerBad{background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_fileLi{align-items:stretch;display:flex}.SD8qLW_fileLi .SD8qLW_file{flex:auto;min-width:0}.SD8qLW_fileDiscard{width:22px;color:var(--gs-fg-faint);opacity:0;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:flex}.SD8qLW_fileLi:hover .SD8qLW_fileDiscard,.SD8qLW_fileDiscard:focus-visible{opacity:1}.SD8qLW_fileDiscard:hover{color:var(--gs-del)}.SD8qLW_fileDiscard:focus-visible{outline:2px solid var(--gs-accent);outline-offset:-2px;border-radius:var(--gs-r-control)}.SD8qLW_treeRow{align-items:stretch;display:flex}.SD8qLW_treeRow .SD8qLW_treeDir{flex:auto;min-width:0}.SD8qLW_checkBox{cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:22px;padding:0;display:flex}.SD8qLW_checkMark{box-sizing:border-box;border:1px solid var(--gs-fg-faint);background:var(--gs-bg);color:#0000;border-radius:3px;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;line-height:1;transition:background .12s,border-color .12s;display:flex}.SD8qLW_checkBox:hover .SD8qLW_checkMark{border-color:var(--gs-accent)}.SD8qLW_checkBox:focus-visible{outline:none}.SD8qLW_checkBox:focus-visible .SD8qLW_checkMark{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_checkMarkOn,.SD8qLW_checkMarkPartial{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent)}.SD8qLW_commitBox{padding:8px var(--gs-gutter-pane) 10px;border-top:1px solid var(--gs-border);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:6px;display:flex}.SD8qLW_commitMessage{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-control);background:var(--gs-bg);width:100%;min-height:46px;max-height:160px;color:var(--gs-fg);font-family:inherit;font-size:var(--gs-t-dense);resize:vertical;outline:none;padding:6px 8px;line-height:18px}.SD8qLW_commitMessage:focus{border-color:var(--gs-accent-border)}.SD8qLW_commitMessage::placeholder{color:var(--gs-fg-faint)}.SD8qLW_commitRow{align-items:center;gap:8px;display:flex}.SD8qLW_commitAmend{color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:pointer;align-items:center;gap:4px;display:inline-flex}.SD8qLW_commitAmend input{accent-color:var(--gs-accent);cursor:pointer}.SD8qLW_commitStaged{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin-left:auto}.SD8qLW_commitLead{color:var(--gs-fg-faint);font-size:var(--gs-t-meta);margin:0;line-height:15px}.SD8qLW_commitBtn{box-sizing:border-box;min-width:92px;height:var(--gs-h-control);border-radius:var(--gs-r-control);background:var(--gs-accent);color:var(--gs-on-accent);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;border:1px solid #0000;flex:none;justify-content:center;align-items:center;padding:0 16px;font-weight:600;line-height:1;transition:filter .12s,opacity .12s;display:inline-flex}.SD8qLW_commitBtn:hover:not(:disabled){filter:brightness(1.1)}.SD8qLW_commitBtn:focus-visible{outline:2px solid var(--gs-accent);outline-offset:2px}.SD8qLW_commitBtn:disabled{background:var(--gs-raise);color:var(--gs-fg-faint);border-color:var(--gs-border);cursor:default}.SD8qLW_btn,.SD8qLW_miniBtn,.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_scopeBtn,.SD8qLW_refButton,.SD8qLW_funnelButton,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{box-sizing:border-box;height:var(--gs-h-control);padding:var(--gs-pad-control);border:1px solid var(--gs-border);border-radius:var(--gs-r-control);color:var(--gs-fg-dim);font-family:inherit;font-size:var(--gs-t-ui);white-space:nowrap;cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.SD8qLW_btn:hover,.SD8qLW_miniBtn:hover,.SD8qLW_treeIcon:hover,.SD8qLW_commitCopy:hover,.SD8qLW_scopeBtn:hover,.SD8qLW_refButton:hover,.SD8qLW_funnelButton:hover,.SD8qLW_funnelPreset:hover,.SD8qLW_layoutButton:hover{background:var(--gs-raise);color:var(--gs-fg);border-color:var(--gs-fg-fainter)}.SD8qLW_btn:focus-visible,.SD8qLW_miniBtn:focus-visible,.SD8qLW_treeIcon:focus-visible,.SD8qLW_commitCopy:focus-visible,.SD8qLW_scopeBtn:focus-visible,.SD8qLW_refButton:focus-visible,.SD8qLW_funnelPreset:focus-visible,.SD8qLW_layoutButton:focus-visible{outline:2px solid var(--gs-accent);outline-offset:1px}.SD8qLW_btn,.SD8qLW_refButton{border-radius:var(--gs-r-pill)}.SD8qLW_treeIcon,.SD8qLW_commitCopy,.SD8qLW_funnelPreset,.SD8qLW_layoutButton{height:var(--gs-h-compact);padding:var(--gs-pad-compact);font-size:var(--gs-t-dense)}.SD8qLW_treeIcon{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutSwitch{flex:none;gap:2px;margin-left:auto;display:inline-flex}.SD8qLW_layoutButton{width:var(--gs-h-compact);padding:0}.SD8qLW_layoutButton.SD8qLW_layoutButtonOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_layoutGlyph{display:block}.SD8qLW_treeIcon.SD8qLW_treeIconOn{color:var(--gs-accent);border-color:var(--gs-accent)}.SD8qLW_treeIconGlyph{font-size:var(--gs-t-meta);line-height:1;display:block}.SD8qLW_treeIconDown{transform:rotate(90deg)}.SD8qLW_scopeBtn{flex:1 1 0}.SD8qLW_scopeBtnActive,.SD8qLW_miniBtnPrimary,.SD8qLW_segmentActive,.SD8qLW_refRowActive,.SD8qLW_paletteRowActive{border-color:var(--gs-accent-border);background:var(--gs-accent-bg);color:var(--gs-accent);font-weight:600}.SD8qLW_btnIcon{width:var(--gs-h-control);padding:0}.SD8qLW_btnIcon svg{display:block}.SD8qLW_btnClose:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del-bg);color:var(--gs-del)}.SD8qLW_btnBehind{border-color:var(--gs-warn);background:var(--gs-warn-bg);color:var(--gs-warn);font-weight:600}.SD8qLW_btnBehind:hover:not(:disabled){background:var(--gs-warn-bg);color:var(--gs-warn);border-color:var(--gs-warn)}.SD8qLW_btnAhead{border-color:var(--gs-add);background:var(--gs-add-bg);color:var(--gs-add);font-weight:600}.SD8qLW_btnAhead:hover:not(:disabled){background:var(--gs-add-bg);color:var(--gs-add);border-color:var(--gs-add)}.SD8qLW_btnPrimary{border-color:var(--gs-accent);background:var(--gs-accent);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btnPrimary:hover:not(:disabled){background:var(--gs-accent);color:var(--gs-on-accent,#fff);border-color:var(--gs-accent)}.SD8qLW_btnCount{font-variant-numeric:tabular-nums;opacity:.85;border-left:1px solid;margin-left:1px;padding-left:6px}.SD8qLW_pullGroup{flex:none;align-items:center;display:inline-flex}.SD8qLW_pullGroup>.SD8qLW_refPicker>.SD8qLW_refButton{border-right-color:#0000;border-top-right-radius:0;border-bottom-right-radius:0}.SD8qLW_pullGroup>.SD8qLW_btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.SD8qLW_drawer{scrollbar-width:thin;scrollbar-color:var(--gs-border) transparent}.SD8qLW_drawer ::-webkit-scrollbar{width:10px;height:10px}.SD8qLW_drawer ::-webkit-scrollbar-track,.SD8qLW_drawer ::-webkit-scrollbar-corner{background:0 0}.SD8qLW_drawer ::-webkit-scrollbar-thumb{background:var(--gs-border);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.SD8qLW_drawer ::-webkit-scrollbar-thumb:hover{background:var(--gs-fg-faint);background-clip:padding-box}.SD8qLW_commitRefMore{border-radius:var(--gs-r-pill);background:var(--gs-neutral-bg);color:var(--gs-fg-dim);font-size:var(--gs-t-meta);cursor:default;flex:none;padding:0 5px;line-height:15px}.SD8qLW_confirmScrim{background:var(--gs-backdrop);justify-content:center;align-items:center;padding:24px;animation:.12s ease-out SD8qLW_gsFade;display:flex}.SD8qLW_confirmBox{box-sizing:border-box;border:1px solid var(--gs-border);border-radius:var(--gs-r-drawer);background:var(--gs-bg);width:min(440px,100%);box-shadow:0 18px 48px var(--gs-shadow);flex-direction:column;gap:10px;padding:18px;display:flex}.SD8qLW_confirmTitle{color:var(--gs-fg);font-size:var(--gs-t-ui);font-weight:600}.SD8qLW_confirmBody{color:var(--gs-fg-dim);font-size:var(--gs-t-dense);overflow-wrap:anywhere;line-height:1.55}.SD8qLW_confirmActions{flex-direction:row-reverse;gap:8px;margin-top:2px;display:flex}.SD8qLW_btn.SD8qLW_btnDanger{border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff);font-weight:600}.SD8qLW_btn.SD8qLW_btnDanger:hover:not(:disabled){border-color:var(--gs-del);background:var(--gs-del);color:var(--gs-on-accent,#fff)}.SD8qLW_fbTree{min-width:var(--gs-min-tree);background:var(--gs-surface-2);flex-direction:column;flex:none;gap:4px;padding:6px;display:flex;overflow:auto}.SD8qLW_fbSearch{box-sizing:border-box;width:100%;font:inherit;font-size:var(--gs-t-meta);color:var(--gs-fg);background:var(--gs-surface);border:1px solid var(--gs-border);border-radius:4px;flex:none;padding:4px 6px}.SD8qLW_fbSearch:focus{border-color:var(--gs-accent);outline:none}.SD8qLW_fbNote{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);flex:none;padding:2px 4px}.SD8qLW_fbList{margin:0;padding:0;list-style:none}.SD8qLW_fbRow{width:100%;font:inherit;font-size:var(--gs-t-dense);color:var(--gs-fg-dim);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:3px;align-items:center;gap:4px;padding:2px 6px 2px 4px;display:flex;overflow:hidden}.SD8qLW_fbRow:hover{background:var(--gs-hover)}.SD8qLW_fbRowActive{background:var(--gs-selected);color:var(--gs-fg)}.SD8qLW_fbDirName,.SD8qLW_fbFileName{text-overflow:ellipsis;overflow:hidden}.SD8qLW_fbMain{min-width:var(--gs-min-diff);background:var(--gs-surface);flex-direction:column;flex:1 1 0;min-height:0;display:flex}.SD8qLW_fbHeader{border-bottom:1px solid var(--gs-border);flex:none;align-items:flex-start;gap:8px;padding:4px 8px 0;display:flex}.SD8qLW_fbPath{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;overflow:hidden}.SD8qLW_fbBody{flex:1 1 0;min-height:0;padding:4px 8px;overflow:auto}.SD8qLW_fbCommit{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);background:var(--gs-surface-2);border-bottom:1px solid var(--gs-border);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.SD8qLW_fbCommitLine{color:var(--gs-fg-faint);font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitWho{color:var(--gs-fg);flex:none;font-weight:600}.SD8qLW_fbCommitWhen{font-variant-numeric:tabular-nums;flex:none}.SD8qLW_fbCommitHash{color:var(--gs-fg-faint);flex:none;font-family:inherit}.SD8qLW_fbCommitWhat{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--gs-fg);flex:auto;overflow:hidden}.SD8qLW_fbCommitHint{color:var(--gs-fg-faint)}.SD8qLW_fbMore{font-size:var(--gs-t-meta);color:var(--gs-fg-faint);padding:2px 6px 4px 4px;font-style:italic;display:block}.SD8qLW_imgPane{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.SD8qLW_imgStage{border-radius:var(--gs-r-control);background-color:var(--gs-surface-2);background-image:linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%), linear-gradient(45deg, var(--gs-border-soft) 25%, transparent 25%, transparent 75%, var(--gs-border-soft) 75%);background-position:0 0,8px 8px;background-size:16px 16px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;overflow:auto}.SD8qLW_imgShot{object-fit:contain;image-rendering:auto;max-width:100%;max-height:100%}.SD8qLW_imgStage[data-actual]{justify-content:flex-start;align-items:flex-start}.SD8qLW_imgStage[data-actual] .SD8qLW_imgShot{object-fit:none;max-width:none;max-height:none}.SD8qLW_imgCaption{font-size:var(--gs-t-meta);color:var(--gs-fg-dim);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;display:flex}";
|
|
1106
1143
|
const tagId = "@young1lin/dsh-ui-gitworkbench/GitWorkbenchPanel.module.css";
|
|
1107
1144
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
1108
1145
|
const tag = document.createElement("style");
|
|
@@ -1112,325 +1149,330 @@ window.__ModuleLoader__.load({
|
|
|
1112
1149
|
document.head.appendChild(tag);
|
|
1113
1150
|
}
|
|
1114
1151
|
var GitWorkbenchPanel_module_css_default = {
|
|
1115
|
-
"
|
|
1116
|
-
"refButton": "SD8qLW_refButton",
|
|
1117
|
-
"swatch": "SD8qLW_swatch",
|
|
1118
|
-
"filterChip": "SD8qLW_filterChip",
|
|
1119
|
-
"stUntracked": "SD8qLW_stUntracked",
|
|
1120
|
-
"stDeleted": "SD8qLW_stDeleted",
|
|
1152
|
+
"treeLabel": "SD8qLW_treeLabel",
|
|
1121
1153
|
"lineContext": "SD8qLW_lineContext",
|
|
1122
|
-
"
|
|
1123
|
-
"
|
|
1124
|
-
"
|
|
1125
|
-
"
|
|
1126
|
-
"
|
|
1127
|
-
"graphCell": "SD8qLW_graphCell",
|
|
1128
|
-
"checkBox": "SD8qLW_checkBox",
|
|
1129
|
-
"fbList": "SD8qLW_fbList",
|
|
1130
|
-
"refRowName": "SD8qLW_refRowName",
|
|
1131
|
-
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
1132
|
-
"refEmpty": "SD8qLW_refEmpty",
|
|
1133
|
-
"line": "SD8qLW_line",
|
|
1134
|
-
"sideCols": "SD8qLW_sideCols",
|
|
1135
|
-
"pullGroup": "SD8qLW_pullGroup",
|
|
1136
|
-
"commitLine": "SD8qLW_commitLine",
|
|
1137
|
-
"treeDirName": "SD8qLW_treeDirName",
|
|
1138
|
-
"sideNotice": "SD8qLW_sideNotice",
|
|
1139
|
-
"treeEmpty": "SD8qLW_treeEmpty",
|
|
1140
|
-
"headerViewRef": "SD8qLW_headerViewRef",
|
|
1141
|
-
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
1142
|
-
"cardGlyph": "SD8qLW_cardGlyph",
|
|
1143
|
-
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
1144
|
-
"commitMessage": "SD8qLW_commitMessage",
|
|
1145
|
-
"fbFileName": "SD8qLW_fbFileName",
|
|
1146
|
-
"commitPopSubject": "SD8qLW_commitPopSubject",
|
|
1147
|
-
"imgStage": "SD8qLW_imgStage",
|
|
1148
|
-
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
1149
|
-
"funnelBoundKey": "SD8qLW_funnelBoundKey",
|
|
1150
|
-
"commitPopBody": "SD8qLW_commitPopBody",
|
|
1151
|
-
"funnelCount": "SD8qLW_funnelCount",
|
|
1152
|
-
"cardBranchName": "SD8qLW_cardBranchName",
|
|
1153
|
-
"funnelRow": "SD8qLW_funnelRow",
|
|
1154
|
-
"sideBannerActs": "SD8qLW_sideBannerActs",
|
|
1155
|
-
"tabs": "SD8qLW_tabs",
|
|
1156
|
-
"syncBar": "SD8qLW_syncBar",
|
|
1157
|
-
"funnelBoundVal": "SD8qLW_funnelBoundVal",
|
|
1158
|
-
"cssArea": "SD8qLW_cssArea",
|
|
1159
|
-
"imgCaption": "SD8qLW_imgCaption",
|
|
1154
|
+
"filterChip": "SD8qLW_filterChip",
|
|
1155
|
+
"cardDeleted": "SD8qLW_cardDeleted",
|
|
1156
|
+
"commitSubjectRow": "SD8qLW_commitSubjectRow",
|
|
1157
|
+
"fbMain": "SD8qLW_fbMain",
|
|
1158
|
+
"chipLight": "SD8qLW_chipLight",
|
|
1160
1159
|
"funnelTabActive": "SD8qLW_funnelTabActive",
|
|
1161
|
-
"
|
|
1162
|
-
"
|
|
1163
|
-
"
|
|
1160
|
+
"funnelBoundBtn": "SD8qLW_funnelBoundBtn",
|
|
1161
|
+
"diffNav": "SD8qLW_diffNav",
|
|
1162
|
+
"fbCommit": "SD8qLW_fbCommit",
|
|
1164
1163
|
"themeGroup": "SD8qLW_themeGroup",
|
|
1165
|
-
"
|
|
1166
|
-
"
|
|
1167
|
-
"
|
|
1168
|
-
"
|
|
1169
|
-
"
|
|
1170
|
-
"
|
|
1171
|
-
"
|
|
1172
|
-
"
|
|
1164
|
+
"overlay": "SD8qLW_overlay",
|
|
1165
|
+
"sideActions": "SD8qLW_sideActions",
|
|
1166
|
+
"filterChipRemove": "SD8qLW_filterChipRemove",
|
|
1167
|
+
"funnelRow": "SD8qLW_funnelRow",
|
|
1168
|
+
"cardFiles": "SD8qLW_cardFiles",
|
|
1169
|
+
"funnelMore": "SD8qLW_funnelMore",
|
|
1170
|
+
"refPicker": "SD8qLW_refPicker",
|
|
1171
|
+
"calNav": "SD8qLW_calNav",
|
|
1172
|
+
"btnClose": "SD8qLW_btnClose",
|
|
1173
|
+
"pathDirGlyph": "SD8qLW_pathDirGlyph",
|
|
1174
|
+
"menuPop": "SD8qLW_menuPop",
|
|
1175
|
+
"treeIconGlyph": "SD8qLW_treeIconGlyph",
|
|
1176
|
+
"paneDividerY": "SD8qLW_paneDividerY",
|
|
1177
|
+
"gutter": "SD8qLW_gutter",
|
|
1178
|
+
"headerLeft": "SD8qLW_headerLeft",
|
|
1179
|
+
"signDel": "SD8qLW_signDel",
|
|
1180
|
+
"treeIconOn": "SD8qLW_treeIconOn",
|
|
1181
|
+
"fbRowActive": "SD8qLW_fbRowActive",
|
|
1182
|
+
"commitWhen": "SD8qLW_commitWhen",
|
|
1183
|
+
"fileCountAdd": "SD8qLW_fileCountAdd",
|
|
1184
|
+
"treeDirActive": "SD8qLW_treeDirActive",
|
|
1185
|
+
"wordAdd": "SD8qLW_wordAdd",
|
|
1186
|
+
"opBannerBad": "SD8qLW_opBannerBad",
|
|
1187
|
+
"fbNote": "SD8qLW_fbNote",
|
|
1188
|
+
"sideColGridBlame": "SD8qLW_sideColGridBlame",
|
|
1189
|
+
"funnelTabs": "SD8qLW_funnelTabs",
|
|
1190
|
+
"paneDividerActive": "SD8qLW_paneDividerActive",
|
|
1191
|
+
"sliderRow": "SD8qLW_sliderRow",
|
|
1192
|
+
"paletteRow": "SD8qLW_paletteRow",
|
|
1193
|
+
"funnelBounds": "SD8qLW_funnelBounds",
|
|
1194
|
+
"calIn": "SD8qLW_calIn",
|
|
1195
|
+
"commitHasBody": "SD8qLW_commitHasBody",
|
|
1196
|
+
"treeLead": "SD8qLW_treeLead",
|
|
1173
1197
|
"commitPop": "SD8qLW_commitPop",
|
|
1174
1198
|
"treeDirCounts": "SD8qLW_treeDirCounts",
|
|
1175
|
-
"tree": "SD8qLW_tree",
|
|
1176
|
-
"commitHash": "SD8qLW_commitHash",
|
|
1177
|
-
"fileCountDel": "SD8qLW_fileCountDel",
|
|
1178
|
-
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
1179
|
-
"file": "SD8qLW_file",
|
|
1180
|
-
"btnIcon": "SD8qLW_btnIcon",
|
|
1181
|
-
"headerPathMain": "SD8qLW_headerPathMain",
|
|
1182
|
-
"commitWhen": "SD8qLW_commitWhen",
|
|
1183
|
-
"diffPre": "SD8qLW_diffPre",
|
|
1184
|
-
"fileLi": "SD8qLW_fileLi",
|
|
1185
1199
|
"lnNew": "SD8qLW_lnNew",
|
|
1200
|
+
"refRowSpacer": "SD8qLW_refRowSpacer",
|
|
1201
|
+
"fbList": "SD8qLW_fbList",
|
|
1202
|
+
"treeFilterClear": "SD8qLW_treeFilterClear",
|
|
1203
|
+
"gsSlide": "SD8qLW_gsSlide",
|
|
1204
|
+
"elideHead": "SD8qLW_elideHead",
|
|
1205
|
+
"syncLevel": "SD8qLW_syncLevel",
|
|
1206
|
+
"opBannerOk": "SD8qLW_opBannerOk",
|
|
1207
|
+
"blockBar": "SD8qLW_blockBar",
|
|
1208
|
+
"btnDanger": "SD8qLW_btnDanger",
|
|
1209
|
+
"imgShot": "SD8qLW_imgShot",
|
|
1210
|
+
"commitHash": "SD8qLW_commitHash",
|
|
1211
|
+
"drawer": "SD8qLW_drawer",
|
|
1186
1212
|
"calOut": "SD8qLW_calOut",
|
|
1187
|
-
"fileStatus": "SD8qLW_fileStatus",
|
|
1188
|
-
"wordAdd": "SD8qLW_wordAdd",
|
|
1189
|
-
"treeIconDown": "SD8qLW_treeIconDown",
|
|
1190
|
-
"chipLight": "SD8qLW_chipLight",
|
|
1191
|
-
"commitRefMore": "SD8qLW_commitRefMore",
|
|
1192
|
-
"overlay": "SD8qLW_overlay",
|
|
1193
1213
|
"treeTools": "SD8qLW_treeTools",
|
|
1194
|
-
"
|
|
1195
|
-
"
|
|
1214
|
+
"sideCols": "SD8qLW_sideCols",
|
|
1215
|
+
"fileCounts": "SD8qLW_fileCounts",
|
|
1216
|
+
"headerTotalsAdd": "SD8qLW_headerTotalsAdd",
|
|
1217
|
+
"headerTotalsDim": "SD8qLW_headerTotalsDim",
|
|
1218
|
+
"headerPicker": "SD8qLW_headerPicker",
|
|
1219
|
+
"chevron": "SD8qLW_chevron",
|
|
1220
|
+
"stDeleted": "SD8qLW_stDeleted",
|
|
1196
1221
|
"scopeRow": "SD8qLW_scopeRow",
|
|
1197
|
-
"
|
|
1198
|
-
"
|
|
1199
|
-
"
|
|
1200
|
-
"
|
|
1201
|
-
"
|
|
1202
|
-
"
|
|
1203
|
-
"
|
|
1204
|
-
"
|
|
1205
|
-
"
|
|
1206
|
-
"
|
|
1207
|
-
"
|
|
1208
|
-
"
|
|
1209
|
-
"refRow": "SD8qLW_refRow",
|
|
1210
|
-
"refPop": "SD8qLW_refPop",
|
|
1211
|
-
"sliderValue": "SD8qLW_sliderValue",
|
|
1222
|
+
"cardGlyph": "SD8qLW_cardGlyph",
|
|
1223
|
+
"funnelCount": "SD8qLW_funnelCount",
|
|
1224
|
+
"commitRef": "SD8qLW_commitRef",
|
|
1225
|
+
"chevronOpen": "SD8qLW_chevronOpen",
|
|
1226
|
+
"btnIcon": "SD8qLW_btnIcon",
|
|
1227
|
+
"sideCol": "SD8qLW_sideCol",
|
|
1228
|
+
"sideTabs": "SD8qLW_sideTabs",
|
|
1229
|
+
"stRenamed": "SD8qLW_stRenamed",
|
|
1230
|
+
"refButton": "SD8qLW_refButton",
|
|
1231
|
+
"sideBlockHot": "SD8qLW_sideBlockHot",
|
|
1232
|
+
"headerRight": "SD8qLW_headerRight",
|
|
1233
|
+
"commitMeta": "SD8qLW_commitMeta",
|
|
1212
1234
|
"treeFilterInput": "SD8qLW_treeFilterInput",
|
|
1235
|
+
"cardSep": "SD8qLW_cardSep",
|
|
1236
|
+
"tabs": "SD8qLW_tabs",
|
|
1237
|
+
"filePath": "SD8qLW_filePath",
|
|
1238
|
+
"scopeBtn": "SD8qLW_scopeBtn",
|
|
1213
1239
|
"funnelFootClear": "SD8qLW_funnelFootClear",
|
|
1214
|
-
"
|
|
1215
|
-
"
|
|
1216
|
-
"
|
|
1217
|
-
"
|
|
1218
|
-
"
|
|
1219
|
-
"
|
|
1220
|
-
"
|
|
1221
|
-
"
|
|
1222
|
-
"
|
|
1223
|
-
"
|
|
1224
|
-
"sideNum": "SD8qLW_sideNum",
|
|
1225
|
-
"miniBtnPrimary": "SD8qLW_miniBtnPrimary",
|
|
1226
|
-
"headerTotalsAdd": "SD8qLW_headerTotalsAdd",
|
|
1227
|
-
"fbCommitHash": "SD8qLW_fbCommitHash",
|
|
1228
|
-
"syncLevel": "SD8qLW_syncLevel",
|
|
1229
|
-
"blockBtn": "SD8qLW_blockBtn",
|
|
1230
|
-
"calNav": "SD8qLW_calNav",
|
|
1240
|
+
"imgStage": "SD8qLW_imgStage",
|
|
1241
|
+
"sideTabActive": "SD8qLW_sideTabActive",
|
|
1242
|
+
"btnBehind": "SD8qLW_btnBehind",
|
|
1243
|
+
"refPop": "SD8qLW_refPop",
|
|
1244
|
+
"commitPopSubject": "SD8qLW_commitPopSubject",
|
|
1245
|
+
"file": "SD8qLW_file",
|
|
1246
|
+
"cardDetached": "SD8qLW_cardDetached",
|
|
1247
|
+
"lineAdd": "SD8qLW_lineAdd",
|
|
1248
|
+
"commitLead": "SD8qLW_commitLead",
|
|
1249
|
+
"funnelBoundRows": "SD8qLW_funnelBoundRows",
|
|
1231
1250
|
"bgPreview": "SD8qLW_bgPreview",
|
|
1232
|
-
"
|
|
1233
|
-
"
|
|
1251
|
+
"syncUpstream": "SD8qLW_syncUpstream",
|
|
1252
|
+
"confirmBox": "SD8qLW_confirmBox",
|
|
1253
|
+
"fbCommitWho": "SD8qLW_fbCommitWho",
|
|
1254
|
+
"refList": "SD8qLW_refList",
|
|
1255
|
+
"gsFade": "SD8qLW_gsFade",
|
|
1256
|
+
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
1257
|
+
"treeRow": "SD8qLW_treeRow",
|
|
1258
|
+
"btnPrimary": "SD8qLW_btnPrimary",
|
|
1259
|
+
"fbSearch": "SD8qLW_fbSearch",
|
|
1260
|
+
"pathChildren": "SD8qLW_pathChildren",
|
|
1234
1261
|
"cardBranch": "SD8qLW_cardBranch",
|
|
1235
|
-
"
|
|
1236
|
-
"confirmScrim": "SD8qLW_confirmScrim",
|
|
1237
|
-
"refValue": "SD8qLW_refValue",
|
|
1238
|
-
"refPicker": "SD8qLW_refPicker",
|
|
1239
|
-
"refFoot": "SD8qLW_refFoot",
|
|
1240
|
-
"fbMain": "SD8qLW_fbMain",
|
|
1241
|
-
"fbCommitWhen": "SD8qLW_fbCommitWhen",
|
|
1242
|
-
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
1243
|
-
"treeDirLi": "SD8qLW_treeDirLi",
|
|
1244
|
-
"confirmActions": "SD8qLW_confirmActions",
|
|
1245
|
-
"btnDanger": "SD8qLW_btnDanger",
|
|
1246
|
-
"imgShot": "SD8qLW_imgShot",
|
|
1247
|
-
"funnelFootCountOn": "SD8qLW_funnelFootCountOn",
|
|
1248
|
-
"diffWrap": "SD8qLW_diffWrap",
|
|
1249
|
-
"funnelTabs": "SD8qLW_funnelTabs",
|
|
1250
|
-
"sidePane": "SD8qLW_sidePane",
|
|
1251
|
-
"sideCode": "SD8qLW_sideCode",
|
|
1252
|
-
"calToday": "SD8qLW_calToday",
|
|
1253
|
-
"filterChipRemove": "SD8qLW_filterChipRemove",
|
|
1254
|
-
"commit": "SD8qLW_commit",
|
|
1255
|
-
"sideTab": "SD8qLW_sideTab",
|
|
1256
|
-
"lineDel": "SD8qLW_lineDel",
|
|
1257
|
-
"treeSub": "SD8qLW_treeSub",
|
|
1258
|
-
"segmentActive": "SD8qLW_segmentActive",
|
|
1259
|
-
"pathNode": "SD8qLW_pathNode",
|
|
1260
|
-
"commitsFoot": "SD8qLW_commitsFoot",
|
|
1261
|
-
"cardAhead": "SD8qLW_cardAhead",
|
|
1262
|
+
"refSearch": "SD8qLW_refSearch",
|
|
1262
1263
|
"commitAuthor": "SD8qLW_commitAuthor",
|
|
1263
|
-
"
|
|
1264
|
-
"opBannerOk": "SD8qLW_opBannerOk",
|
|
1265
|
-
"sideBlockHot": "SD8qLW_sideBlockHot",
|
|
1266
|
-
"confirmBox": "SD8qLW_confirmBox",
|
|
1267
|
-
"syncSpacer": "SD8qLW_syncSpacer",
|
|
1268
|
-
"sideCellBlock": "SD8qLW_sideCellBlock",
|
|
1269
|
-
"sideNumDel": "SD8qLW_sideNumDel",
|
|
1264
|
+
"fileStatus": "SD8qLW_fileStatus",
|
|
1270
1265
|
"sideBannerTitle": "SD8qLW_sideBannerTitle",
|
|
1271
|
-
"
|
|
1272
|
-
"
|
|
1273
|
-
"
|
|
1274
|
-
"
|
|
1275
|
-
"
|
|
1276
|
-
"funnelBoundValSet": "SD8qLW_funnelBoundValSet",
|
|
1277
|
-
"resizerActive": "SD8qLW_resizerActive",
|
|
1278
|
-
"themeNote": "SD8qLW_themeNote",
|
|
1279
|
-
"funnelSearch": "SD8qLW_funnelSearch",
|
|
1280
|
-
"treeIcon": "SD8qLW_treeIcon",
|
|
1281
|
-
"fileActive": "SD8qLW_fileActive",
|
|
1282
|
-
"sideNavCount": "SD8qLW_sideNavCount",
|
|
1283
|
-
"fbHeader": "SD8qLW_fbHeader",
|
|
1284
|
-
"commitBtn": "SD8qLW_commitBtn",
|
|
1285
|
-
"fbMore": "SD8qLW_fbMore",
|
|
1266
|
+
"sideArmable": "SD8qLW_sideArmable",
|
|
1267
|
+
"fbCommitHash": "SD8qLW_fbCommitHash",
|
|
1268
|
+
"funnelChevron": "SD8qLW_funnelChevron",
|
|
1269
|
+
"layoutSwitch": "SD8qLW_layoutSwitch",
|
|
1270
|
+
"treeSub": "SD8qLW_treeSub",
|
|
1286
1271
|
"imgPane": "SD8qLW_imgPane",
|
|
1287
|
-
"
|
|
1288
|
-
"
|
|
1289
|
-
"
|
|
1290
|
-
"
|
|
1291
|
-
"
|
|
1292
|
-
"
|
|
1293
|
-
"
|
|
1272
|
+
"themeNote": "SD8qLW_themeNote",
|
|
1273
|
+
"segmentChip": "SD8qLW_segmentChip",
|
|
1274
|
+
"calTitle": "SD8qLW_calTitle",
|
|
1275
|
+
"treeDir": "SD8qLW_treeDir",
|
|
1276
|
+
"funnelPresets": "SD8qLW_funnelPresets",
|
|
1277
|
+
"chipSystem": "SD8qLW_chipSystem",
|
|
1278
|
+
"treeFilter": "SD8qLW_treeFilter",
|
|
1279
|
+
"refLabel": "SD8qLW_refLabel",
|
|
1280
|
+
"lineHunk": "SD8qLW_lineHunk",
|
|
1281
|
+
"paneHead": "SD8qLW_paneHead",
|
|
1282
|
+
"miniBtnPrimary": "SD8qLW_miniBtnPrimary",
|
|
1283
|
+
"commitRefMore": "SD8qLW_commitRefMore",
|
|
1294
1284
|
"commitPopMeta": "SD8qLW_commitPopMeta",
|
|
1295
|
-
"elide": "SD8qLW_elide",
|
|
1296
|
-
"lnOld": "SD8qLW_lnOld",
|
|
1297
|
-
"commitCopy": "SD8qLW_commitCopy",
|
|
1298
|
-
"card": "SD8qLW_card",
|
|
1299
|
-
"commits": "SD8qLW_commits",
|
|
1300
|
-
"funnelBounds": "SD8qLW_funnelBounds",
|
|
1301
|
-
"lineAdd": "SD8qLW_lineAdd",
|
|
1302
|
-
"sideEditCell": "SD8qLW_sideEditCell",
|
|
1303
|
-
"tab": "SD8qLW_tab",
|
|
1304
|
-
"syncUpstream": "SD8qLW_syncUpstream",
|
|
1305
|
-
"headerTotalsDel": "SD8qLW_headerTotalsDel",
|
|
1306
1285
|
"fbCommitHint": "SD8qLW_fbCommitHint",
|
|
1307
|
-
"
|
|
1308
|
-
"
|
|
1309
|
-
"
|
|
1310
|
-
"
|
|
1311
|
-
"cardAdded": "SD8qLW_cardAdded",
|
|
1312
|
-
"paletteRow": "SD8qLW_paletteRow",
|
|
1313
|
-
"opBanner": "SD8qLW_opBanner",
|
|
1314
|
-
"blameCell": "SD8qLW_blameCell",
|
|
1315
|
-
"fbCommitWhat": "SD8qLW_fbCommitWhat",
|
|
1316
|
-
"fileCounts": "SD8qLW_fileCounts",
|
|
1317
|
-
"calIn": "SD8qLW_calIn",
|
|
1318
|
-
"calWeek": "SD8qLW_calWeek",
|
|
1319
|
-
"fbRow": "SD8qLW_fbRow",
|
|
1320
|
-
"fbPath": "SD8qLW_fbPath",
|
|
1321
|
-
"fbCommitWho": "SD8qLW_fbCommitWho",
|
|
1322
|
-
"funnelMore": "SD8qLW_funnelMore",
|
|
1323
|
-
"chipDark": "SD8qLW_chipDark",
|
|
1324
|
-
"refSearch": "SD8qLW_refSearch",
|
|
1325
|
-
"paneDividerY": "SD8qLW_paneDividerY",
|
|
1326
|
-
"commitHasBody": "SD8qLW_commitHasBody",
|
|
1327
|
-
"code": "SD8qLW_code",
|
|
1328
|
-
"compareBar": "SD8qLW_compareBar",
|
|
1286
|
+
"funnelBoundValSet": "SD8qLW_funnelBoundValSet",
|
|
1287
|
+
"commitTop": "SD8qLW_commitTop",
|
|
1288
|
+
"settingsPop": "SD8qLW_settingsPop",
|
|
1289
|
+
"imgCaption": "SD8qLW_imgCaption",
|
|
1329
1290
|
"compareArrow": "SD8qLW_compareArrow",
|
|
1330
|
-
"
|
|
1331
|
-
"
|
|
1332
|
-
"
|
|
1333
|
-
"
|
|
1334
|
-
"funnelBoundBtnActive": "SD8qLW_funnelBoundBtnActive",
|
|
1335
|
-
"commitAmend": "SD8qLW_commitAmend",
|
|
1336
|
-
"funnelChevron": "SD8qLW_funnelChevron",
|
|
1337
|
-
"commitRef": "SD8qLW_commitRef",
|
|
1338
|
-
"chevron": "SD8qLW_chevron",
|
|
1339
|
-
"cmHost": "SD8qLW_cmHost",
|
|
1340
|
-
"btnCount": "SD8qLW_btnCount",
|
|
1291
|
+
"body": "SD8qLW_body",
|
|
1292
|
+
"refRowActive": "SD8qLW_refRowActive",
|
|
1293
|
+
"pullGroup": "SD8qLW_pullGroup",
|
|
1294
|
+
"fbBody": "SD8qLW_fbBody",
|
|
1341
1295
|
"treeDirCount": "SD8qLW_treeDirCount",
|
|
1342
|
-
"
|
|
1343
|
-
"
|
|
1344
|
-
"
|
|
1345
|
-
"
|
|
1346
|
-
"
|
|
1347
|
-
"
|
|
1348
|
-
"
|
|
1296
|
+
"card": "SD8qLW_card",
|
|
1297
|
+
"overlayMax": "SD8qLW_overlayMax",
|
|
1298
|
+
"sideColRight": "SD8qLW_sideColRight",
|
|
1299
|
+
"fileDiscard": "SD8qLW_fileDiscard",
|
|
1300
|
+
"calGrid": "SD8qLW_calGrid",
|
|
1301
|
+
"funnelName": "SD8qLW_funnelName",
|
|
1302
|
+
"sideCode": "SD8qLW_sideCode",
|
|
1349
1303
|
"header": "SD8qLW_header",
|
|
1350
|
-
"
|
|
1351
|
-
"
|
|
1352
|
-
"sideArmable": "SD8qLW_sideArmable",
|
|
1353
|
-
"cardDeleted": "SD8qLW_cardDeleted",
|
|
1354
|
-
"treeCol": "SD8qLW_treeCol",
|
|
1355
|
-
"checkMarkOn": "SD8qLW_checkMarkOn",
|
|
1356
|
-
"funnel": "SD8qLW_funnel",
|
|
1304
|
+
"stAdded": "SD8qLW_stAdded",
|
|
1305
|
+
"commitRow": "SD8qLW_commitRow",
|
|
1357
1306
|
"theme": "SD8qLW_theme",
|
|
1358
1307
|
"calMark": "SD8qLW_calMark",
|
|
1359
|
-
"
|
|
1360
|
-
"
|
|
1361
|
-
"
|
|
1308
|
+
"funnel": "SD8qLW_funnel",
|
|
1309
|
+
"btnCount": "SD8qLW_btnCount",
|
|
1310
|
+
"fbCommitWhen": "SD8qLW_fbCommitWhen",
|
|
1311
|
+
"funnelTabCount": "SD8qLW_funnelTabCount",
|
|
1312
|
+
"segment": "SD8qLW_segment",
|
|
1313
|
+
"cardBehind": "SD8qLW_cardBehind",
|
|
1314
|
+
"btn": "SD8qLW_btn",
|
|
1315
|
+
"sideBanner": "SD8qLW_sideBanner",
|
|
1316
|
+
"confirmActions": "SD8qLW_confirmActions",
|
|
1317
|
+
"sideBannerActs": "SD8qLW_sideBannerActs",
|
|
1318
|
+
"calHead": "SD8qLW_calHead",
|
|
1319
|
+
"line": "SD8qLW_line",
|
|
1320
|
+
"stModified": "SD8qLW_stModified",
|
|
1321
|
+
"graphCell": "SD8qLW_graphCell",
|
|
1322
|
+
"sliderValue": "SD8qLW_sliderValue",
|
|
1323
|
+
"commitMessage": "SD8qLW_commitMessage",
|
|
1324
|
+
"treeEmpty": "SD8qLW_treeEmpty",
|
|
1325
|
+
"commitAmend": "SD8qLW_commitAmend",
|
|
1326
|
+
"fileBinary": "SD8qLW_fileBinary",
|
|
1327
|
+
"funnelButtonActive": "SD8qLW_funnelButtonActive",
|
|
1328
|
+
"headerTotalsDel": "SD8qLW_headerTotalsDel",
|
|
1362
1329
|
"filterClear": "SD8qLW_filterClear",
|
|
1363
|
-
"
|
|
1364
|
-
"
|
|
1365
|
-
"
|
|
1366
|
-
"
|
|
1330
|
+
"funnelBoundClear": "SD8qLW_funnelBoundClear",
|
|
1331
|
+
"funnelFoot": "SD8qLW_funnelFoot",
|
|
1332
|
+
"commit": "SD8qLW_commit",
|
|
1333
|
+
"commitActive": "SD8qLW_commitActive",
|
|
1334
|
+
"bodyRow": "SD8qLW_bodyRow",
|
|
1335
|
+
"sideCellBlock": "SD8qLW_sideCellBlock",
|
|
1336
|
+
"sideNumDel": "SD8qLW_sideNumDel",
|
|
1337
|
+
"refValue": "SD8qLW_refValue",
|
|
1338
|
+
"checkMarkOn": "SD8qLW_checkMarkOn",
|
|
1339
|
+
"fbPath": "SD8qLW_fbPath",
|
|
1340
|
+
"opBanner": "SD8qLW_opBanner",
|
|
1341
|
+
"tabActive": "SD8qLW_tabActive",
|
|
1342
|
+
"fbCommitWhat": "SD8qLW_fbCommitWhat",
|
|
1367
1343
|
"checkMark": "SD8qLW_checkMark",
|
|
1344
|
+
"scopeBtnActive": "SD8qLW_scopeBtnActive",
|
|
1345
|
+
"themeRowSplit": "SD8qLW_themeRowSplit",
|
|
1346
|
+
"tree": "SD8qLW_tree",
|
|
1347
|
+
"headerBranch": "SD8qLW_headerBranch",
|
|
1348
|
+
"refFoot": "SD8qLW_refFoot",
|
|
1349
|
+
"syncSpacer": "SD8qLW_syncSpacer",
|
|
1350
|
+
"btnAhead": "SD8qLW_btnAhead",
|
|
1351
|
+
"funnelPreset": "SD8qLW_funnelPreset",
|
|
1352
|
+
"funnelPane": "SD8qLW_funnelPane",
|
|
1353
|
+
"paneDivider": "SD8qLW_paneDivider",
|
|
1354
|
+
"cardAdded": "SD8qLW_cardAdded",
|
|
1355
|
+
"themeRail": "SD8qLW_themeRail",
|
|
1356
|
+
"funnelFootCount": "SD8qLW_funnelFootCount",
|
|
1357
|
+
"syncBar": "SD8qLW_syncBar",
|
|
1358
|
+
"blameCell": "SD8qLW_blameCell",
|
|
1359
|
+
"funnelButton": "SD8qLW_funnelButton",
|
|
1360
|
+
"funnelSearch": "SD8qLW_funnelSearch",
|
|
1361
|
+
"refCaret": "SD8qLW_refCaret",
|
|
1362
|
+
"wordDel": "SD8qLW_wordDel",
|
|
1363
|
+
"paletteRowActive": "SD8qLW_paletteRowActive",
|
|
1364
|
+
"fbCommitLine": "SD8qLW_fbCommitLine",
|
|
1365
|
+
"commitBox": "SD8qLW_commitBox",
|
|
1366
|
+
"commitBtn": "SD8qLW_commitBtn",
|
|
1367
|
+
"layoutGlyph": "SD8qLW_layoutGlyph",
|
|
1368
|
+
"themeDirty": "SD8qLW_themeDirty",
|
|
1369
|
+
"resizerActive": "SD8qLW_resizerActive",
|
|
1370
|
+
"commitCopy": "SD8qLW_commitCopy",
|
|
1371
|
+
"fileLi": "SD8qLW_fileLi",
|
|
1372
|
+
"cssArea": "SD8qLW_cssArea",
|
|
1373
|
+
"sideScroll": "SD8qLW_sideScroll",
|
|
1374
|
+
"pathNode": "SD8qLW_pathNode",
|
|
1375
|
+
"bgEmpty": "SD8qLW_bgEmpty",
|
|
1368
1376
|
"headerView": "SD8qLW_headerView",
|
|
1369
|
-
"
|
|
1377
|
+
"refRow": "SD8qLW_refRow",
|
|
1370
1378
|
"sideCodeDel": "SD8qLW_sideCodeDel",
|
|
1371
|
-
"
|
|
1372
|
-
"
|
|
1373
|
-
"
|
|
1379
|
+
"segmentActive": "SD8qLW_segmentActive",
|
|
1380
|
+
"fbMore": "SD8qLW_fbMore",
|
|
1381
|
+
"scopeHint": "SD8qLW_scopeHint",
|
|
1382
|
+
"checkMarkPartial": "SD8qLW_checkMarkPartial",
|
|
1383
|
+
"commitPopTop": "SD8qLW_commitPopTop",
|
|
1384
|
+
"empty": "SD8qLW_empty",
|
|
1374
1385
|
"commitFilter": "SD8qLW_commitFilter",
|
|
1375
|
-
"funnelPresetActive": "SD8qLW_funnelPresetActive",
|
|
1376
|
-
"blockBtnDanger": "SD8qLW_blockBtnDanger",
|
|
1377
|
-
"refGroup": "SD8qLW_refGroup",
|
|
1378
|
-
"opBannerBad": "SD8qLW_opBannerBad",
|
|
1379
|
-
"fbCommit": "SD8qLW_fbCommit",
|
|
1380
|
-
"gsFade": "SD8qLW_gsFade",
|
|
1381
1386
|
"diffScroll": "SD8qLW_diffScroll",
|
|
1382
|
-
"
|
|
1383
|
-
"
|
|
1384
|
-
"
|
|
1385
|
-
"
|
|
1386
|
-
"
|
|
1387
|
-
"
|
|
1387
|
+
"cardBranchName": "SD8qLW_cardBranchName",
|
|
1388
|
+
"commitsPane": "SD8qLW_commitsPane",
|
|
1389
|
+
"layoutButton": "SD8qLW_layoutButton",
|
|
1390
|
+
"fbRow": "SD8qLW_fbRow",
|
|
1391
|
+
"sideNav": "SD8qLW_sideNav",
|
|
1392
|
+
"chipDark": "SD8qLW_chipDark",
|
|
1393
|
+
"themeLabel": "SD8qLW_themeLabel",
|
|
1394
|
+
"funnelPresetActive": "SD8qLW_funnelPresetActive",
|
|
1395
|
+
"fbDirName": "SD8qLW_fbDirName",
|
|
1396
|
+
"sideNotice": "SD8qLW_sideNotice",
|
|
1397
|
+
"paneTitle": "SD8qLW_paneTitle",
|
|
1398
|
+
"cardAhead": "SD8qLW_cardAhead",
|
|
1399
|
+
"lineDel": "SD8qLW_lineDel",
|
|
1400
|
+
"sideNavCount": "SD8qLW_sideNavCount",
|
|
1401
|
+
"sideCodeAdd": "SD8qLW_sideCodeAdd",
|
|
1402
|
+
"treeDirName": "SD8qLW_treeDirName",
|
|
1403
|
+
"sideCodeSame": "SD8qLW_sideCodeSame",
|
|
1404
|
+
"checkBox": "SD8qLW_checkBox",
|
|
1405
|
+
"segmented": "SD8qLW_segmented",
|
|
1406
|
+
"signAdd": "SD8qLW_signAdd",
|
|
1407
|
+
"headerDetached": "SD8qLW_headerDetached",
|
|
1408
|
+
"treeIcon": "SD8qLW_treeIcon",
|
|
1409
|
+
"confirmBody": "SD8qLW_confirmBody",
|
|
1410
|
+
"sideSaveReady": "SD8qLW_sideSaveReady",
|
|
1388
1411
|
"funnelPop": "SD8qLW_funnelPop",
|
|
1389
|
-
"
|
|
1390
|
-
"
|
|
1391
|
-
"
|
|
1392
|
-
"
|
|
1393
|
-
"
|
|
1412
|
+
"stUntracked": "SD8qLW_stUntracked",
|
|
1413
|
+
"sideEditCell": "SD8qLW_sideEditCell",
|
|
1414
|
+
"calWeek": "SD8qLW_calWeek",
|
|
1415
|
+
"commits": "SD8qLW_commits",
|
|
1416
|
+
"renameLine": "SD8qLW_renameLine",
|
|
1417
|
+
"code": "SD8qLW_code",
|
|
1418
|
+
"calToday": "SD8qLW_calToday",
|
|
1419
|
+
"diffPane": "SD8qLW_diffPane",
|
|
1420
|
+
"treeCol": "SD8qLW_treeCol",
|
|
1421
|
+
"elideTail": "SD8qLW_elideTail",
|
|
1394
1422
|
"treeWrap": "SD8qLW_treeWrap",
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1397
|
-
"
|
|
1398
|
-
"
|
|
1399
|
-
"
|
|
1400
|
-
"
|
|
1401
|
-
"
|
|
1402
|
-
"
|
|
1403
|
-
"
|
|
1404
|
-
"funnelPresets": "SD8qLW_funnelPresets",
|
|
1405
|
-
"commitBox": "SD8qLW_commitBox",
|
|
1406
|
-
"segmentChip": "SD8qLW_segmentChip",
|
|
1407
|
-
"drawer": "SD8qLW_drawer",
|
|
1408
|
-
"sideColGridBlame": "SD8qLW_sideColGridBlame",
|
|
1409
|
-
"themeRail": "SD8qLW_themeRail",
|
|
1410
|
-
"sideScroll": "SD8qLW_sideScroll",
|
|
1411
|
-
"miniBtn": "SD8qLW_miniBtn",
|
|
1412
|
-
"scopeHint": "SD8qLW_scopeHint",
|
|
1413
|
-
"funnelName": "SD8qLW_funnelName",
|
|
1414
|
-
"gsSlide": "SD8qLW_gsSlide",
|
|
1415
|
-
"signDel": "SD8qLW_signDel",
|
|
1416
|
-
"paneHead": "SD8qLW_paneHead",
|
|
1417
|
-
"sideTabActive": "SD8qLW_sideTabActive",
|
|
1418
|
-
"fbSearch": "SD8qLW_fbSearch",
|
|
1419
|
-
"fbNote": "SD8qLW_fbNote",
|
|
1420
|
-
"stModified": "SD8qLW_stModified",
|
|
1423
|
+
"filterChips": "SD8qLW_filterChips",
|
|
1424
|
+
"commitLine": "SD8qLW_commitLine",
|
|
1425
|
+
"funnelBoundKey": "SD8qLW_funnelBoundKey",
|
|
1426
|
+
"elide": "SD8qLW_elide",
|
|
1427
|
+
"funnelCaption": "SD8qLW_funnelCaption",
|
|
1428
|
+
"headerViewRef": "SD8qLW_headerViewRef",
|
|
1429
|
+
"compareBar": "SD8qLW_compareBar",
|
|
1430
|
+
"funnelBoundRow": "SD8qLW_funnelBoundRow",
|
|
1431
|
+
"cardWt": "SD8qLW_cardWt",
|
|
1421
1432
|
"commitStaged": "SD8qLW_commitStaged",
|
|
1422
|
-
"
|
|
1423
|
-
"
|
|
1424
|
-
"
|
|
1433
|
+
"funnelBoundVal": "SD8qLW_funnelBoundVal",
|
|
1434
|
+
"confirmScrim": "SD8qLW_confirmScrim",
|
|
1435
|
+
"diffPre": "SD8qLW_diffPre",
|
|
1436
|
+
"blockBtnDanger": "SD8qLW_blockBtnDanger",
|
|
1437
|
+
"miniBtn": "SD8qLW_miniBtn",
|
|
1438
|
+
"tab": "SD8qLW_tab",
|
|
1439
|
+
"headerPathMain": "SD8qLW_headerPathMain",
|
|
1440
|
+
"fbTree": "SD8qLW_fbTree",
|
|
1441
|
+
"commitsFoot": "SD8qLW_commitsFoot",
|
|
1442
|
+
"commitPopBody": "SD8qLW_commitPopBody",
|
|
1443
|
+
"fileCountDel": "SD8qLW_fileCountDel",
|
|
1444
|
+
"fbFileName": "SD8qLW_fbFileName",
|
|
1445
|
+
"funnelTab": "SD8qLW_funnelTab",
|
|
1446
|
+
"refRowName": "SD8qLW_refRowName",
|
|
1447
|
+
"blockBtn": "SD8qLW_blockBtn",
|
|
1448
|
+
"sideTab": "SD8qLW_sideTab",
|
|
1449
|
+
"commitsSentinel": "SD8qLW_commitsSentinel",
|
|
1450
|
+
"fileActive": "SD8qLW_fileActive",
|
|
1451
|
+
"refEmpty": "SD8qLW_refEmpty",
|
|
1452
|
+
"sideNumAdd": "SD8qLW_sideNumAdd",
|
|
1453
|
+
"treeActions": "SD8qLW_treeActions",
|
|
1454
|
+
"funnelFootCountOn": "SD8qLW_funnelFootCountOn",
|
|
1455
|
+
"sidePane": "SD8qLW_sidePane",
|
|
1456
|
+
"swatch": "SD8qLW_swatch",
|
|
1457
|
+
"headerTotals": "SD8qLW_headerTotals",
|
|
1458
|
+
"funnelList": "SD8qLW_funnelList",
|
|
1425
1459
|
"wtCurrent": "SD8qLW_wtCurrent",
|
|
1426
|
-
"
|
|
1460
|
+
"filterChipLabel": "SD8qLW_filterChipLabel",
|
|
1461
|
+
"treeDirLi": "SD8qLW_treeDirLi",
|
|
1462
|
+
"cmHost": "SD8qLW_cmHost",
|
|
1463
|
+
"treeIconDown": "SD8qLW_treeIconDown",
|
|
1464
|
+
"fbHeader": "SD8qLW_fbHeader",
|
|
1465
|
+
"diffWrap": "SD8qLW_diffWrap",
|
|
1466
|
+
"cal": "SD8qLW_cal",
|
|
1467
|
+
"lnOld": "SD8qLW_lnOld",
|
|
1468
|
+
"resizer": "SD8qLW_resizer",
|
|
1469
|
+
"layoutButtonOn": "SD8qLW_layoutButtonOn",
|
|
1470
|
+
"confirmTitle": "SD8qLW_confirmTitle",
|
|
1471
|
+
"sideNum": "SD8qLW_sideNum",
|
|
1472
|
+
"refGroup": "SD8qLW_refGroup",
|
|
1473
|
+
"sideColGrid": "SD8qLW_sideColGrid",
|
|
1427
1474
|
"pathFileGlyph": "SD8qLW_pathFileGlyph",
|
|
1428
|
-
"commitSubject": "SD8qLW_commitSubject"
|
|
1429
|
-
"sideColRight": "SD8qLW_sideColRight",
|
|
1430
|
-
"gutter": "SD8qLW_gutter",
|
|
1431
|
-
"sideTabs": "SD8qLW_sideTabs",
|
|
1432
|
-
"commitRow": "SD8qLW_commitRow",
|
|
1433
|
-
"refRowSpacer": "SD8qLW_refRowSpacer"
|
|
1475
|
+
"commitSubject": "SD8qLW_commitSubject"
|
|
1434
1476
|
};
|
|
1435
1477
|
//#endregion
|
|
1436
1478
|
//#region node_modules/.pnpm/@marijn+find-cluster-break@1.0.3/node_modules/@marijn/find-cluster-break/src/index.js
|
|
@@ -34326,6 +34368,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
34326
34368
|
* belongs here beside the layout rather than in the host's per-project store:
|
|
34327
34369
|
* two people on one repository should not share each other's place. */
|
|
34328
34370
|
const STORE_FILES = "dsh-ui-gitworkbench:files";
|
|
34371
|
+
/** Which way the History tab arranges its panes. Its own key rather than a
|
|
34372
|
+
* field of the appearance object: that one is about colour, and this choice
|
|
34373
|
+
* has to survive a build that adds a palette. */
|
|
34374
|
+
const STORE_HISTORY_LAYOUT = "dsh-ui-gitworkbench:history-layout";
|
|
34329
34375
|
const DEFAULT_PANES = {
|
|
34330
34376
|
commits: null,
|
|
34331
34377
|
tree: null,
|
|
@@ -34578,6 +34624,14 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
34578
34624
|
const [family, setFamily] = (0, react.useState)(() => readStored(STORE_APPEARANCE, isAppearance, DEFAULT_APPEARANCE).family);
|
|
34579
34625
|
/** Dragged pane widths, persisted so a layout survives a reload. */
|
|
34580
34626
|
const [panes, setPanes] = (0, react.useState)(() => readStored(STORE_PANES, isPaneWidths, DEFAULT_PANES));
|
|
34627
|
+
/**
|
|
34628
|
+
* The History tab's arrangement.
|
|
34629
|
+
*
|
|
34630
|
+
* Panel-level, beside the palette rather than inside the tab: the choice has
|
|
34631
|
+
* to hold across tab switches and reopens, and the drawer's own card is where
|
|
34632
|
+
* the row height it implies is published from.
|
|
34633
|
+
*/
|
|
34634
|
+
const [historyLayout, setHistoryLayout] = (0, react.useState)(() => readStored(STORE_HISTORY_LAYOUT, isHistoryLayout, DEFAULT_HISTORY_LAYOUT));
|
|
34581
34635
|
/** Per-project and global styling; both scopes, unresolved. */
|
|
34582
34636
|
const [style, setStyle] = (0, react.useState)(EMPTY_SETTINGS);
|
|
34583
34637
|
/** Whether dsh's resolved palette is currently dark. */
|
|
@@ -35233,6 +35287,17 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35233
35287
|
setMaximized(false);
|
|
35234
35288
|
if (persist) writeStored(STORE_WIDTH, clamped);
|
|
35235
35289
|
};
|
|
35290
|
+
/**
|
|
35291
|
+
* Pick the History tab's arrangement.
|
|
35292
|
+
*
|
|
35293
|
+
* Written through immediately: unlike a drag this is one click, so there is
|
|
35294
|
+
* no intermediate frame to withhold a synchronous storage write for.
|
|
35295
|
+
* @param next - the arrangement to switch to.
|
|
35296
|
+
*/
|
|
35297
|
+
const applyHistoryLayout = (next) => {
|
|
35298
|
+
setHistoryLayout(next);
|
|
35299
|
+
writeStored(STORE_HISTORY_LAYOUT, next);
|
|
35300
|
+
};
|
|
35236
35301
|
/** Tab switch. No direction refetches the working tree: `viewKey` already
|
|
35237
35302
|
* separates the tabs' per-file diff caches, so bumping `gen` here only cost a
|
|
35238
35303
|
* redundant round trip. */
|
|
@@ -35328,6 +35393,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35328
35393
|
panes,
|
|
35329
35394
|
onPane: applyPane,
|
|
35330
35395
|
onCommitsTall: applyCommitsTall,
|
|
35396
|
+
historyLayout,
|
|
35397
|
+
onHistoryLayout: applyHistoryLayout,
|
|
35331
35398
|
onClose: () => setOpen(false),
|
|
35332
35399
|
onRefresh: refresh,
|
|
35333
35400
|
commitDraft,
|
|
@@ -35491,7 +35558,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35491
35558
|
]
|
|
35492
35559
|
});
|
|
35493
35560
|
}
|
|
35494
|
-
function Drawer({ stats, shown, tab, onSwitchTab, commits, commitHash, onSelectCommit, hasMoreCommits, loadingMore, onLoadMoreCommits, historyRef, onHistoryRef, historyQuery, onHistoryQuery, historyError, fetchAuthors, fetchRepoTree, branches, worktreeBranches, branchesTruncated, baseRef, headRef, onBaseRef, onHeadRef, comparable, t, binding, worktrees, sessionPath, statsPath, onSwitchSource, segments, selected, onSelect, maximized, onToggleMaximized, theme, mode, family, onMode, onFamily, style, background, onStyle, width, onWidth, panes, onPane, onCommitsTall, onClose, onRefresh, commitDraft, onCommitDraft, commitAmend, onCommitAmend, sync, treeLoading, historyLoading, busy, opResult, runOp, fetchDiscardPlan, onOpError, pendingTicks, onTick, fetchFileDiff, fetchFileSides, writeChecked, fetchBlame, fetchFileImage, viewKey, gen, collapsed, onCollapsedChange, filesPlaces, onFilesPlace, filesTrees, onFilesTree }) {
|
|
35561
|
+
function Drawer({ stats, shown, tab, onSwitchTab, commits, commitHash, onSelectCommit, hasMoreCommits, loadingMore, onLoadMoreCommits, historyRef, onHistoryRef, historyQuery, onHistoryQuery, historyError, fetchAuthors, fetchRepoTree, branches, worktreeBranches, branchesTruncated, baseRef, headRef, onBaseRef, onHeadRef, comparable, t, binding, worktrees, sessionPath, statsPath, onSwitchSource, segments, selected, onSelect, maximized, onToggleMaximized, theme, mode, family, onMode, onFamily, style, background, onStyle, width, onWidth, panes, onPane, onCommitsTall, historyLayout, onHistoryLayout, onClose, onRefresh, commitDraft, onCommitDraft, commitAmend, onCommitAmend, sync, treeLoading, historyLoading, busy, opResult, runOp, fetchDiscardPlan, onOpError, pendingTicks, onTick, fetchFileDiff, fetchFileSides, writeChecked, fetchBlame, fetchFileImage, viewKey, gen, collapsed, onCollapsedChange, filesPlaces, onFilesPlace, filesTrees, onFilesTree }) {
|
|
35495
35562
|
const body = shown ?? EMPTY_STATS;
|
|
35496
35563
|
/** The file list with ticks still awaiting git laid over them. The tree and
|
|
35497
35564
|
* the commit box read this, so a click moves its box and the "N ticked"
|
|
@@ -35745,12 +35812,21 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35745
35812
|
if (box === void 0) return;
|
|
35746
35813
|
onCommitsTall(clientY - box.top, box.height, done);
|
|
35747
35814
|
};
|
|
35815
|
+
/**
|
|
35816
|
+
* Whether the History tab is showing its stacked arrangement.
|
|
35817
|
+
*
|
|
35818
|
+
* Three things follow from it and they must agree: the body's direction, how
|
|
35819
|
+
* the commit list is sized, and which way its divider slides. Read from one
|
|
35820
|
+
* name so a fourth reader cannot be added out of step.
|
|
35821
|
+
*/
|
|
35822
|
+
const stackedHistory = tab === "history" && historyLayout === "stacked";
|
|
35748
35823
|
const cardStyle = {
|
|
35749
35824
|
"--gs-min-commits": `${MIN_COMMITS_WIDTH}px`,
|
|
35750
35825
|
"--gs-min-tree": `${MIN_TREE_WIDTH}px`,
|
|
35751
35826
|
"--gs-min-diff": `${MIN_DIFF_WIDTH}px`,
|
|
35752
35827
|
"--gs-min-commits-tall": `${MIN_COMMITS_HEIGHT}px`,
|
|
35753
35828
|
"--gs-min-stacked-lower": `${MIN_STACKED_LOWER}px`,
|
|
35829
|
+
"--gs-commit-row": `${COMMIT_ROW_H[historyLayout]}px`,
|
|
35754
35830
|
...maximized || width === null ? {} : { width: `${width}px` },
|
|
35755
35831
|
...background === null ? {} : {
|
|
35756
35832
|
"--gs-bg-image": `url("${background.image}")`,
|
|
@@ -35944,9 +36020,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35944
36020
|
onBaseRef,
|
|
35945
36021
|
onHeadRef
|
|
35946
36022
|
}) : null,
|
|
35947
|
-
tab === "history"
|
|
36023
|
+
tab === "history" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
35948
36024
|
className: GitWorkbenchPanel_module_css_default.compareBar,
|
|
35949
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RefPicker, {
|
|
36025
|
+
children: [branches.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RefPicker, {
|
|
35950
36026
|
t,
|
|
35951
36027
|
label: t("historyRefLabel"),
|
|
35952
36028
|
value: historyRef,
|
|
@@ -35955,7 +36031,22 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35955
36031
|
truncated: branchesTruncated,
|
|
35956
36032
|
onPick: onHistoryRef,
|
|
35957
36033
|
allLabel: t("allBranches")
|
|
35958
|
-
})
|
|
36034
|
+
}) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
36035
|
+
className: GitWorkbenchPanel_module_css_default.layoutSwitch,
|
|
36036
|
+
role: "group",
|
|
36037
|
+
"aria-label": t("historyLayout"),
|
|
36038
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(LayoutButton, {
|
|
36039
|
+
glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColumnsGlyph, {}),
|
|
36040
|
+
label: t("layoutColumns"),
|
|
36041
|
+
on: historyLayout === "columns",
|
|
36042
|
+
onPick: () => onHistoryLayout("columns")
|
|
36043
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LayoutButton, {
|
|
36044
|
+
glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StackedGlyph, {}),
|
|
36045
|
+
label: t("layoutStacked"),
|
|
36046
|
+
on: historyLayout === "stacked",
|
|
36047
|
+
onPick: () => onHistoryLayout("stacked")
|
|
36048
|
+
})]
|
|
36049
|
+
})]
|
|
35959
36050
|
}) : null,
|
|
35960
36051
|
tab === "changes" && sync !== null && sync.hasRemote ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SyncBar, {
|
|
35961
36052
|
t,
|
|
@@ -35973,10 +36064,11 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35973
36064
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
35974
36065
|
ref: bodyRef,
|
|
35975
36066
|
className: GitWorkbenchPanel_module_css_default.body,
|
|
35976
|
-
"data-stacked":
|
|
36067
|
+
"data-stacked": stackedHistory ? "" : void 0,
|
|
35977
36068
|
children: [tab === "history" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(CommitList, {
|
|
35978
36069
|
paneRef: commitsRef,
|
|
35979
|
-
style: paneTall(panes.commitsTall ?? null),
|
|
36070
|
+
style: stackedHistory ? paneTall(panes.commitsTall ?? null) : paneStyle(panes.commits),
|
|
36071
|
+
layout: historyLayout,
|
|
35980
36072
|
t,
|
|
35981
36073
|
loading: historyLoading,
|
|
35982
36074
|
commits,
|
|
@@ -35992,10 +36084,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
35992
36084
|
refName: historyRef,
|
|
35993
36085
|
fetchAuthors,
|
|
35994
36086
|
fetchRepoTree
|
|
35995
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
|
|
36087
|
+
}), stackedHistory ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
|
|
35996
36088
|
axis: "y",
|
|
35997
36089
|
label: t("resizeCommits"),
|
|
35998
36090
|
onDrag: commitsTallDrag
|
|
36091
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PaneDivider, {
|
|
36092
|
+
label: t("resizeCommits"),
|
|
36093
|
+
onDrag: paneDrag("commits", commitsRef)
|
|
35999
36094
|
})] }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36000
36095
|
className: GitWorkbenchPanel_module_css_default.bodyRow,
|
|
36001
36096
|
children: tab === "files" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FileBrowser, {
|
|
@@ -37298,17 +37393,6 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37298
37393
|
* stays scannable; hovering opens a card with the full message, including a
|
|
37299
37394
|
* multi-line body, which can be copied without selecting the commit.
|
|
37300
37395
|
*/
|
|
37301
|
-
/**
|
|
37302
|
-
* Row height the graph and the list agree on. The lines only join up if every
|
|
37303
|
-
* row is exactly as tall as the segment drawn for it, so this number and
|
|
37304
|
-
* `.commitLine`'s `height` are one fact with two homes —
|
|
37305
|
-
* `tests/commit-row-height.test.ts` holds them together.
|
|
37306
|
-
*
|
|
37307
|
-
* 28 since the History tab stacked: the list spans the drawer's full width, a
|
|
37308
|
-
* commit fits on one line, and 48px of row would spend the vertical space the
|
|
37309
|
-
* stacked layout has least of on empty padding.
|
|
37310
|
-
*/
|
|
37311
|
-
const GRAPH_ROW_H = 28;
|
|
37312
37396
|
/** Horizontal distance between lanes. */
|
|
37313
37397
|
const GRAPH_LANE_W = 14;
|
|
37314
37398
|
/** Ref chips shown inline before the subject; the rest collapse into a "+N". */
|
|
@@ -37320,22 +37404,27 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37320
37404
|
/**
|
|
37321
37405
|
* One row's slice of the commit graph.
|
|
37322
37406
|
*
|
|
37323
|
-
* Drawn as an SVG
|
|
37324
|
-
*
|
|
37325
|
-
*
|
|
37326
|
-
*
|
|
37327
|
-
*
|
|
37407
|
+
* Drawn as an SVG exactly as tall as the row, so consecutive rows butt together
|
|
37408
|
+
* and a lane reads as one unbroken line down the list. The dot sits at the
|
|
37409
|
+
* vertical centre; edges leave the top edge, the dot, or the bottom edge, and a
|
|
37410
|
+
* cubic with its control points at the quarter heights gives the S-curve every
|
|
37411
|
+
* git client draws for a branch or a merge.
|
|
37412
|
+
*
|
|
37413
|
+
* The height is passed in rather than read from a constant here: the two
|
|
37414
|
+
* History arrangements want differently shaped rows, and the segment and the
|
|
37415
|
+
* row it belongs to must come from the same entry of `COMMIT_ROW_H` or the
|
|
37416
|
+
* lanes stop meeting across the seam between rows.
|
|
37328
37417
|
*/
|
|
37329
|
-
function GraphCell({ row, width, active }) {
|
|
37418
|
+
function GraphCell({ row, width, active, rowH }) {
|
|
37330
37419
|
const w = Math.min(width, GRAPH_MAX_LANES) * GRAPH_LANE_W;
|
|
37331
|
-
const mid =
|
|
37420
|
+
const mid = rowH / 2;
|
|
37332
37421
|
const visible = (lane) => lane < GRAPH_MAX_LANES;
|
|
37333
37422
|
const stroke = (lane) => `var(--gs-graph-${lane % 6})`;
|
|
37334
37423
|
const paths = [];
|
|
37335
37424
|
for (const lane of row.through) {
|
|
37336
37425
|
if (!visible(lane)) continue;
|
|
37337
37426
|
paths.push(/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
37338
|
-
d: `M ${laneX(lane)} 0 V ${
|
|
37427
|
+
d: `M ${laneX(lane)} 0 V ${rowH}`,
|
|
37339
37428
|
stroke: stroke(lane)
|
|
37340
37429
|
}, `t${lane}`));
|
|
37341
37430
|
}
|
|
@@ -37352,18 +37441,18 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37352
37441
|
for (const lane of row.outOf) {
|
|
37353
37442
|
if (!visible(lane) || !visible(row.lane)) continue;
|
|
37354
37443
|
paths.push(lane === row.lane ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
37355
|
-
d: `M ${laneX(lane)} ${mid} V ${
|
|
37444
|
+
d: `M ${laneX(lane)} ${mid} V ${rowH}`,
|
|
37356
37445
|
stroke: stroke(lane)
|
|
37357
37446
|
}, `o${lane}`) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
37358
|
-
d: `M ${laneX(row.lane)} ${mid} C ${laneX(row.lane)}
|
|
37447
|
+
d: `M ${laneX(row.lane)} ${mid} C ${laneX(row.lane)} ${mid + mid / 2}, ${laneX(lane)} ${mid + mid / 2}, ${laneX(lane)} ${rowH}`,
|
|
37359
37448
|
stroke: stroke(lane)
|
|
37360
37449
|
}, `o${lane}`));
|
|
37361
37450
|
}
|
|
37362
37451
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
37363
37452
|
className: GitWorkbenchPanel_module_css_default.graphCell,
|
|
37364
37453
|
width: w,
|
|
37365
|
-
height:
|
|
37366
|
-
viewBox: `0 0 ${w} ${
|
|
37454
|
+
height: rowH,
|
|
37455
|
+
viewBox: `0 0 ${w} ${rowH}`,
|
|
37367
37456
|
"aria-hidden": "true",
|
|
37368
37457
|
focusable: "false",
|
|
37369
37458
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("g", {
|
|
@@ -37381,7 +37470,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37381
37470
|
}) : null]
|
|
37382
37471
|
});
|
|
37383
37472
|
}
|
|
37384
|
-
function CommitRow({ t, commit, active, onSelect, graphRow, graphWidth }) {
|
|
37473
|
+
function CommitRow({ t, commit, active, onSelect, graphRow, graphWidth, layout }) {
|
|
37385
37474
|
const rowRef = (0, react.useRef)(null);
|
|
37386
37475
|
const [open, setOpen] = (0, react.useState)(false);
|
|
37387
37476
|
const [box, setBox] = (0, react.useState)(null);
|
|
@@ -37424,13 +37513,38 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37424
37513
|
}, [open]);
|
|
37425
37514
|
const host = rowRef.current?.closest("[data-gs-part=\"overlay\"]") ?? (typeof document === "undefined" ? null : document.body);
|
|
37426
37515
|
const refs = commit.refs ?? [];
|
|
37516
|
+
const subjectRow = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
37517
|
+
className: GitWorkbenchPanel_module_css_default.commitSubjectRow,
|
|
37518
|
+
children: [
|
|
37519
|
+
refs.slice(0, COMMIT_REF_CHIPS).map((ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37520
|
+
className: GitWorkbenchPanel_module_css_default.commitRef,
|
|
37521
|
+
title: ref,
|
|
37522
|
+
children: ref
|
|
37523
|
+
}, ref)),
|
|
37524
|
+
refs.length > COMMIT_REF_CHIPS ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
37525
|
+
className: GitWorkbenchPanel_module_css_default.commitRefMore,
|
|
37526
|
+
title: refs.slice(COMMIT_REF_CHIPS).join("\n"),
|
|
37527
|
+
children: ["+", refs.length - COMMIT_REF_CHIPS]
|
|
37528
|
+
}) : null,
|
|
37529
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37530
|
+
className: GitWorkbenchPanel_module_css_default.commitSubject,
|
|
37531
|
+
children: commit.subject
|
|
37532
|
+
}),
|
|
37533
|
+
body.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37534
|
+
className: GitWorkbenchPanel_module_css_default.commitHasBody,
|
|
37535
|
+
"aria-hidden": "true",
|
|
37536
|
+
children: "···"
|
|
37537
|
+
}) : null
|
|
37538
|
+
]
|
|
37539
|
+
});
|
|
37427
37540
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
37428
37541
|
className: GitWorkbenchPanel_module_css_default.commitLine,
|
|
37429
37542
|
children: [graphRow !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GraphCell, {
|
|
37430
37543
|
row: graphRow,
|
|
37431
37544
|
width: graphWidth,
|
|
37432
|
-
active
|
|
37433
|
-
|
|
37545
|
+
active,
|
|
37546
|
+
rowH: COMMIT_ROW_H[layout]
|
|
37547
|
+
}) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
37434
37548
|
ref: rowRef,
|
|
37435
37549
|
type: "button",
|
|
37436
37550
|
role: "option",
|
|
@@ -37439,35 +37553,12 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37439
37553
|
onClick: () => onSelect(commit.hash),
|
|
37440
37554
|
onMouseEnter: show,
|
|
37441
37555
|
onMouseLeave: hide,
|
|
37442
|
-
children: [
|
|
37556
|
+
children: layout === "stacked" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
37443
37557
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
37444
37558
|
className: GitWorkbenchPanel_module_css_default.commitHash,
|
|
37445
37559
|
children: commit.hash
|
|
37446
37560
|
}),
|
|
37447
|
-
|
|
37448
|
-
className: GitWorkbenchPanel_module_css_default.commitSubjectRow,
|
|
37449
|
-
children: [
|
|
37450
|
-
refs.slice(0, COMMIT_REF_CHIPS).map((ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37451
|
-
className: GitWorkbenchPanel_module_css_default.commitRef,
|
|
37452
|
-
title: ref,
|
|
37453
|
-
children: ref
|
|
37454
|
-
}, ref)),
|
|
37455
|
-
refs.length > COMMIT_REF_CHIPS ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
37456
|
-
className: GitWorkbenchPanel_module_css_default.commitRefMore,
|
|
37457
|
-
title: refs.slice(COMMIT_REF_CHIPS).join("\n"),
|
|
37458
|
-
children: ["+", refs.length - COMMIT_REF_CHIPS]
|
|
37459
|
-
}) : null,
|
|
37460
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37461
|
-
className: GitWorkbenchPanel_module_css_default.commitSubject,
|
|
37462
|
-
children: commit.subject
|
|
37463
|
-
}),
|
|
37464
|
-
body.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37465
|
-
className: GitWorkbenchPanel_module_css_default.commitHasBody,
|
|
37466
|
-
"aria-hidden": "true",
|
|
37467
|
-
children: "···"
|
|
37468
|
-
}) : null
|
|
37469
|
-
]
|
|
37470
|
-
}),
|
|
37561
|
+
subjectRow,
|
|
37471
37562
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
37472
37563
|
className: GitWorkbenchPanel_module_css_default.commitMeta,
|
|
37473
37564
|
children: [authorName.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -37478,7 +37569,23 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37478
37569
|
children: commit.when
|
|
37479
37570
|
})]
|
|
37480
37571
|
})
|
|
37481
|
-
]
|
|
37572
|
+
] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
37573
|
+
className: GitWorkbenchPanel_module_css_default.commitTop,
|
|
37574
|
+
children: [
|
|
37575
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("code", {
|
|
37576
|
+
className: GitWorkbenchPanel_module_css_default.commitHash,
|
|
37577
|
+
children: commit.hash
|
|
37578
|
+
}),
|
|
37579
|
+
authorName.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37580
|
+
className: GitWorkbenchPanel_module_css_default.commitAuthor,
|
|
37581
|
+
children: authorName
|
|
37582
|
+
}) : null,
|
|
37583
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
37584
|
+
className: GitWorkbenchPanel_module_css_default.commitWhen,
|
|
37585
|
+
children: commit.when
|
|
37586
|
+
})
|
|
37587
|
+
]
|
|
37588
|
+
}), subjectRow] })
|
|
37482
37589
|
})]
|
|
37483
37590
|
}), open && box !== null && host !== null ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
37484
37591
|
className: GitWorkbenchPanel_module_css_default.commitPop,
|
|
@@ -37705,15 +37812,110 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37705
37812
|
}) });
|
|
37706
37813
|
}
|
|
37707
37814
|
/**
|
|
37708
|
-
* The
|
|
37815
|
+
* The two arrangements, drawn in the same 16px/1px idiom as the drawer's other
|
|
37816
|
+
* glyphs: a pane and its neighbour, either side by side or one over the other.
|
|
37817
|
+
* The filled half is the list, so the picture says which pane moves.
|
|
37818
|
+
*/
|
|
37819
|
+
function ColumnsGlyph() {
|
|
37820
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
37821
|
+
className: GitWorkbenchPanel_module_css_default.layoutGlyph,
|
|
37822
|
+
width: "16",
|
|
37823
|
+
height: "16",
|
|
37824
|
+
viewBox: "0 0 16 16",
|
|
37825
|
+
fill: "none",
|
|
37826
|
+
stroke: "currentColor",
|
|
37827
|
+
strokeWidth: "1",
|
|
37828
|
+
strokeLinejoin: "round",
|
|
37829
|
+
"aria-hidden": "true",
|
|
37830
|
+
children: [
|
|
37831
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
37832
|
+
x: "1.5",
|
|
37833
|
+
y: "2.5",
|
|
37834
|
+
width: "13",
|
|
37835
|
+
height: "11",
|
|
37836
|
+
rx: "1.5"
|
|
37837
|
+
}),
|
|
37838
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
37839
|
+
x: "1.5",
|
|
37840
|
+
y: "2.5",
|
|
37841
|
+
width: "5",
|
|
37842
|
+
height: "11",
|
|
37843
|
+
rx: "1.5",
|
|
37844
|
+
fill: "currentColor",
|
|
37845
|
+
stroke: "none",
|
|
37846
|
+
opacity: "0.55"
|
|
37847
|
+
}),
|
|
37848
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M6.5 2.5 V13.5" })
|
|
37849
|
+
]
|
|
37850
|
+
});
|
|
37851
|
+
}
|
|
37852
|
+
function StackedGlyph() {
|
|
37853
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
37854
|
+
className: GitWorkbenchPanel_module_css_default.layoutGlyph,
|
|
37855
|
+
width: "16",
|
|
37856
|
+
height: "16",
|
|
37857
|
+
viewBox: "0 0 16 16",
|
|
37858
|
+
fill: "none",
|
|
37859
|
+
stroke: "currentColor",
|
|
37860
|
+
strokeWidth: "1",
|
|
37861
|
+
strokeLinejoin: "round",
|
|
37862
|
+
"aria-hidden": "true",
|
|
37863
|
+
children: [
|
|
37864
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
37865
|
+
x: "1.5",
|
|
37866
|
+
y: "2.5",
|
|
37867
|
+
width: "13",
|
|
37868
|
+
height: "11",
|
|
37869
|
+
rx: "1.5"
|
|
37870
|
+
}),
|
|
37871
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
37872
|
+
x: "1.5",
|
|
37873
|
+
y: "2.5",
|
|
37874
|
+
width: "13",
|
|
37875
|
+
height: "4",
|
|
37876
|
+
rx: "1.5",
|
|
37877
|
+
fill: "currentColor",
|
|
37878
|
+
stroke: "none",
|
|
37879
|
+
opacity: "0.55"
|
|
37880
|
+
}),
|
|
37881
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M1.5 6.5 H14.5" })
|
|
37882
|
+
]
|
|
37883
|
+
});
|
|
37884
|
+
}
|
|
37885
|
+
/**
|
|
37886
|
+
* One end of the arrangement switch.
|
|
37887
|
+
*
|
|
37888
|
+
* `aria-pressed` rather than a radio group: these are two states of one view
|
|
37889
|
+
* control, not a value being submitted, and a screen reader then reads the
|
|
37890
|
+
* arrangement in force without the group needing a name per option.
|
|
37891
|
+
* @param glyph - the arrangement, drawn.
|
|
37892
|
+
* @param label - accessible name, also the tooltip.
|
|
37893
|
+
* @param on - whether this arrangement is the one in force.
|
|
37894
|
+
* @param onPick - switch to it.
|
|
37895
|
+
*/
|
|
37896
|
+
function LayoutButton({ glyph, label, on, onPick }) {
|
|
37897
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
37898
|
+
type: "button",
|
|
37899
|
+
className: on ? `${GitWorkbenchPanel_module_css_default.layoutButton} ${GitWorkbenchPanel_module_css_default.layoutButtonOn}` : GitWorkbenchPanel_module_css_default.layoutButton,
|
|
37900
|
+
"aria-pressed": on,
|
|
37901
|
+
"aria-label": label,
|
|
37902
|
+
title: label,
|
|
37903
|
+
onClick: onPick,
|
|
37904
|
+
children: glyph
|
|
37905
|
+
});
|
|
37906
|
+
}
|
|
37907
|
+
/**
|
|
37908
|
+
* The commit log as its own pane, in whichever arrangement the reader picked.
|
|
37709
37909
|
*
|
|
37710
|
-
*
|
|
37711
|
-
*
|
|
37712
|
-
*
|
|
37713
|
-
*
|
|
37714
|
-
*
|
|
37715
|
-
*
|
|
37716
|
-
*
|
|
37910
|
+
* Beside the file tree it is a peer pane the way GitHub Desktop, the JetBrains
|
|
37911
|
+
* git log and GitKraken all draw it — list and selected commit's files side by
|
|
37912
|
+
* side, each with its own scrollbar. Across the top it is IDEA's git log
|
|
37913
|
+
* instead, which is the arrangement that stops a long subject being cut; see
|
|
37914
|
+
* `history-layout.ts` for what each costs. The switch that picks between them
|
|
37915
|
+
* is in the toolbar row above, not in this pane's head — the head is the first
|
|
37916
|
+
* thing to run out of room when the pane is dragged narrow, which is exactly
|
|
37917
|
+
* when a reader reaches for the switch. Either way there is nothing to
|
|
37918
|
+
* collapse and nothing to discover.
|
|
37717
37919
|
*
|
|
37718
37920
|
* Pages load by scrolling. A button at the end of a growing list is the worst
|
|
37719
37921
|
* of both worlds — it retreats every time it is used, and it asks the reader to
|
|
@@ -37722,7 +37924,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37722
37924
|
* what GitHub and GitLens do. The observer is rebuilt whenever the list grows,
|
|
37723
37925
|
* so a page too short to fill the pane immediately triggers the next one.
|
|
37724
37926
|
*/
|
|
37725
|
-
function CommitList({ paneRef, style, t, loading, commits, active, onSelect, hasMore, loadingMore, onLoadMore, query, onQueryChange, error, statsPath, refName, fetchAuthors, fetchRepoTree }) {
|
|
37927
|
+
function CommitList({ paneRef, style, layout, t, loading, commits, active, onSelect, hasMore, loadingMore, onLoadMore, query, onQueryChange, error, statsPath, refName, fetchAuthors, fetchRepoTree }) {
|
|
37726
37928
|
const scrollRef = (0, react.useRef)(null);
|
|
37727
37929
|
const sentinelRef = (0, react.useRef)(null);
|
|
37728
37930
|
const filterModel = (0, react.useMemo)(() => parseLogQuery(query), [query]);
|
|
@@ -37876,6 +38078,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
37876
38078
|
ref: paneRef,
|
|
37877
38079
|
className: GitWorkbenchPanel_module_css_default.commitsPane,
|
|
37878
38080
|
style,
|
|
38081
|
+
"data-layout": layout,
|
|
37879
38082
|
"data-gs-part": "commits",
|
|
37880
38083
|
children: [
|
|
37881
38084
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -38211,7 +38414,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
38211
38414
|
active: commit.hash === active,
|
|
38212
38415
|
onSelect,
|
|
38213
38416
|
graphRow: graph.rows[index],
|
|
38214
|
-
graphWidth: graph.width
|
|
38417
|
+
graphWidth: graph.width,
|
|
38418
|
+
layout
|
|
38215
38419
|
}, commit.hash)),
|
|
38216
38420
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
38217
38421
|
ref: sentinelRef,
|
|
@@ -39623,6 +39827,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
39623
39827
|
styleFailed: "保存失败",
|
|
39624
39828
|
resizeLabel: "拖动调整抽屉宽度",
|
|
39625
39829
|
resizeCommits: "拖动调整提交列表宽度",
|
|
39830
|
+
historyLayout: "提交列表布局",
|
|
39831
|
+
layoutColumns: "并排:列表与差异分列",
|
|
39832
|
+
layoutStacked: "上下:列表横跨顶部",
|
|
39626
39833
|
resizeTree: "拖动调整文件树宽度",
|
|
39627
39834
|
resizeSides: "拖动调整左右两栏宽度",
|
|
39628
39835
|
sourceLabel: "统计来源切换",
|
|
@@ -39832,6 +40039,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
39832
40039
|
styleFailed: "Could not save",
|
|
39833
40040
|
resizeLabel: "Drag to resize the drawer",
|
|
39834
40041
|
resizeCommits: "Drag to resize the commit list",
|
|
40042
|
+
historyLayout: "Commit list layout",
|
|
40043
|
+
layoutColumns: "Side by side: list beside the diff",
|
|
40044
|
+
layoutStacked: "Stacked: list across the top",
|
|
39835
40045
|
resizeTree: "Drag to resize the file tree",
|
|
39836
40046
|
resizeSides: "Drag to resize the two columns",
|
|
39837
40047
|
sourceLabel: "Switch stats source",
|