dsh-diff-approval 0.13.1 → 0.14.1
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/lib/client.js +157 -114
- package/lib/index.js +388 -441
- package/lib/types/client/PendingPanel.d.ts +9 -0
- package/lib/types/client/reference.d.ts +9 -4
- package/lib/types/pending.d.ts +43 -43
- package/lib/types/persist.d.ts +32 -39
- package/lib/types/types.d.ts +13 -10
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -11765,8 +11765,12 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
11765
11765
|
/**
|
|
11766
11766
|
* Map one referenced line range from `oldContent` coordinates to `newContent`
|
|
11767
11767
|
* coordinates. Lines that survive (unchanged context) map to their new line
|
|
11768
|
-
* numbers, and
|
|
11769
|
-
*
|
|
11768
|
+
* numbers, and a line whose content changed in place (a delete replaced by an
|
|
11769
|
+
* add at the same logical position) maps to that position's new line — its text
|
|
11770
|
+
* changed, but the line is not gone. Only a line that is genuinely removed
|
|
11771
|
+
* (a delete with no replacement) is omitted. The surviving lines' min/max span
|
|
11772
|
+
* is returned; when every line in the range is gone, returns `undefined` (the
|
|
11773
|
+
* reference is expired).
|
|
11770
11774
|
* @param oldContent - the file content the reference was made against.
|
|
11771
11775
|
* @param newContent - the file content now.
|
|
11772
11776
|
* @param start - first referenced line (1-based, inclusive).
|
|
@@ -11776,7 +11780,16 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
11776
11780
|
function remapReferenceRange(oldContent, newContent, start, end) {
|
|
11777
11781
|
const diff = computeWholeFileDiff(oldContent, newContent);
|
|
11778
11782
|
const oldToNew = /* @__PURE__ */ new Map();
|
|
11779
|
-
|
|
11783
|
+
let pendingDeletes = [];
|
|
11784
|
+
for (const row of diff.rows) if (row.kind === "context") {
|
|
11785
|
+
if (row.oldLine !== void 0 && row.newLine !== void 0) oldToNew.set(row.oldLine, row.newLine);
|
|
11786
|
+
pendingDeletes = [];
|
|
11787
|
+
} else if (row.kind === "del" && row.oldLine !== void 0) pendingDeletes.push(row.oldLine);
|
|
11788
|
+
else if (row.kind === "add" && row.newLine !== void 0) {
|
|
11789
|
+
const replaced = pendingDeletes.shift();
|
|
11790
|
+
if (replaced !== void 0) oldToNew.set(replaced, row.newLine);
|
|
11791
|
+
pendingDeletes = [];
|
|
11792
|
+
}
|
|
11780
11793
|
let min = Infinity;
|
|
11781
11794
|
let max = -Infinity;
|
|
11782
11795
|
for (let line = start; line <= end; line++) {
|
|
@@ -11794,8 +11807,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
11794
11807
|
/**
|
|
11795
11808
|
* Rewrite every `(referencePath:line)` / `(referencePath:start-end)` occurrence
|
|
11796
11809
|
* in `text`, remapping each range from `oldContent` to `newContent`. A range
|
|
11797
|
-
* whose lines all survived
|
|
11798
|
-
* removed becomes
|
|
11810
|
+
* whose lines all survived (unchanged context or an in-place edit) becomes the
|
|
11811
|
+
* new range; one whose lines were all genuinely removed becomes
|
|
11812
|
+
* `(referencePath:LINE_MISSING)`.
|
|
11799
11813
|
* @param text - the free text (composer draft, queued message) to rewrite.
|
|
11800
11814
|
* @param referencePath - the file's reference path (workspace-relative or absolute).
|
|
11801
11815
|
* @param oldContent - the file content the references were made against.
|
|
@@ -11922,7 +11936,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
11922
11936
|
}
|
|
11923
11937
|
//#endregion
|
|
11924
11938
|
//#region \0dsh-css:/home/runner/work/dsh-diff-approval/dsh-diff-approval/src/client/PendingPanel.module.css.mjs
|
|
11925
|
-
const css = ".F1KBNa_layer{box-sizing:border-box;flex:none;align-items:center;width:calc(100% + 4px);height:42px;margin:4px -2px;display:flex;position:relative}.F1KBNa_footerButtons{align-items:center;width:100%;display:flex}.F1KBNa_badge{box-sizing:border-box;width:100%;height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}.F1KBNa_badge:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_badge:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.F1KBNa_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.F1KBNa_layer.F1KBNa_rail{width:36px;height:36px;margin:8px 0 10px}.F1KBNa_rail .F1KBNa_badge{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.F1KBNa_rail .F1KBNa_badgeLabel{display:none}.F1KBNa_rail .F1KBNa_badgeCount{box-sizing:border-box;background:var(--dsw-alias-state-business-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-foreground);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;line-height:18px;display:flex;position:absolute;top:-3px;right:-7px}.F1KBNa_fullscreenBackdrop{z-index:29;background:var(--dsw-specific-sidebar-fill);position:fixed;inset:0}.F1KBNa_panel{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:auto;max-width:none;box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:8px 8px 128px;overflow:hidden}.F1KBNa_header{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;display:flex}.F1KBNa_headerActions{align-items:center;gap:2px;display:flex}.F1KBNa_settingsPage{padding:8px 12px}.F1KBNa_settingsRow{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsRowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.F1KBNa_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsSelector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelectorChevron{flex:none}.F1KBNa_states{flex-direction:column;flex:1;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.F1KBNa_split{flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.F1KBNa_fileListFloat{z-index:40;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;flex-direction:column;padding:6px 8px 10px;display:flex;position:absolute;overflow:hidden}.F1KBNa_fileList{box-sizing:border-box;border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;flex:none;width:240px;min-height:0;padding:4px 8px 12px;display:flex}.F1KBNa_listScroll{flex:1;min-height:0;overflow-y:auto}.F1KBNa_bulkActions{flex:none;gap:6px;padding-top:8px;display:flex}.F1KBNa_bulkActions .F1KBNa_action{text-align:center;flex:1}.F1KBNa_resizeHandle{cursor:col-resize;background:0 0;flex:none;width:5px;margin:0 -2px}.F1KBNa_resizeHandle:hover{background:var(--dsw-alias-border-l2)}.F1KBNa_detail{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.F1KBNa_detailEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;margin:0;padding:24px;font-size:12px;line-height:18px;display:flex}.F1KBNa_confirmBackdrop{z-index:5;background:color-mix(in srgb, var(--dsw-alias-bg-base) 55%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.F1KBNa_confirmCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:340px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.F1KBNa_confirmText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;line-height:1.5}.F1KBNa_confirmActions{justify-content:flex-end;gap:8px;display:flex}.F1KBNa_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.F1KBNa_note,.F1KBNa_readError,.F1KBNa_hint{color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.F1KBNa_noteCentered{text-align:center;margin:auto}.F1KBNa_emptyState{flex-direction:column;align-items:center;gap:10px;margin:auto;display:flex}.F1KBNa_importButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_importButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_importButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_importNote{color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:12px;line-height:18px}.F1KBNa_readError{color:var(--dsw-alias-state-error-primary)}.F1KBNa_group{color:var(--dsw-alias-label-tertiary);margin:8px 0 4px;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_rows{margin:0;padding:0;list-style:none}.F1KBNa_row{border:1px solid #0000;border-radius:10px;margin:2px 0}.F1KBNa_rowHead{width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.F1KBNa_rowHead:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_rowHead[data-selected]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_rowPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-markdown-code-block);overflow:hidden}.F1KBNa_kindTag{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_kindHint{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;line-height:16px}.F1KBNa_divergedHint,.F1KBNa_missingHint{border-bottom:1px solid var(--dsw-alias-border-l2);margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missing{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_rowFailed{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_actionError{border-bottom:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missingHint{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary))}.F1KBNa_rowMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;gap:6px;margin-left:auto;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_addCount{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 60%, var(--dsw-alias-label-primary))}.F1KBNa_diff{background:var(--dsw-alias-markdown-code-block);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffHeader{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);flex:1;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_diffActions{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffStats{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.F1KBNa_flexSpacer{flex:1}.F1KBNa_action{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_action:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_actionPrimary{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_actionPrimary:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_actionPrimary:disabled{background:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:.55}.F1KBNa_actionQuietDisabled:disabled{cursor:pointer;color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l1);background:0 0}.F1KBNa_actionPrimary.F1KBNa_actionQuietDisabled:disabled{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:1}.F1KBNa_iconAction{justify-content:center;align-items:center;min-height:25px;padding:4px 6px;display:inline-flex}.F1KBNa_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expand{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_expand:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expandExpanded svg{transform:rotate(180deg)}.F1KBNa_diffBodyWrap{flex:1;min-height:0;display:flex;position:relative}.F1KBNa_diffBody{min-width:0;font:var(--dsw-font-markdown-code-block);-webkit-text-size-adjust:100%;text-size-adjust:100%;cursor:text;outline:none;flex:1;padding:0;position:relative;overflow:auto}.F1KBNa_diffBody::-webkit-scrollbar,.F1KBNa_diffBody::-webkit-scrollbar-track,.F1KBNa_diffBody::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_blockActions{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);z-index:2;border-radius:10px;align-items:center;gap:9px;padding:5px;display:flex;position:absolute;right:8px}.F1KBNa_blockPosition{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;margin-left:7px;font-size:12px;line-height:16px}.F1KBNa_searchBar{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px}.F1KBNa_searchInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:150px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_searchInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchCount{text-align:center;min-width:34px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:16px}.F1KBNa_diffBody [data-diff-search=hit]{background-image:linear-gradient(#facc1529,#facc1529)}.F1KBNa_diffBody [data-diff-search=current]{background-image:linear-gradient(#facc1552,#facc1552)}.F1KBNa_blockFlash{z-index:1;box-sizing:border-box;border:2px solid var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:4px;animation:1s ease-out forwards F1KBNa_diffFlash;position:absolute;left:0;right:0}@keyframes F1KBNa_diffFlash{0%{opacity:1}to{opacity:0}}.F1KBNa_overviewRuler{pointer-events:none;opacity:.5;width:4px;position:absolute;top:0;bottom:0;right:0}.F1KBNa_overviewMarker{border-radius:2px;width:100%;min-height:2px;position:absolute;right:0}.F1KBNa_markerDel{background-color:var(--dsw-alias-state-error-primary)}.F1KBNa_markerAdd{background-color:var(--dsw-alias-state-success-primary)}.F1KBNa_lines{border-spacing:0;width:max-content;min-width:100%;display:table}.F1KBNa_line{height:22px;line-height:22px;display:table-row}.F1KBNa_vSpacer{display:table-row}.F1KBNa_gutter{box-sizing:border-box;text-align:right;width:44px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;user-select:none;cursor:default;padding-right:10px;display:table-cell}.F1KBNa_code{white-space:pre;display:table-cell}.F1KBNa_context{color:var(--dsw-alias-label-primary)}.F1KBNa_del{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_add{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}.F1KBNa_statusBar{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);height:34px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.F1KBNa_statusAction{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_statusAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langSelect{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_langSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langLabel{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.F1KBNa_notice{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:360px;box-shadow:var(--dsw-shadow-lv3);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px}.F1KBNa_noticeText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);flex:1;margin:0;line-height:1.45}.F1KBNa_noticeButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font:var(--dsw-font-caption);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px}.F1KBNa_noticeButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_wrap .F1KBNa_line{height:auto;min-height:22px}.F1KBNa_subline{white-space:pre;height:22px;line-height:22px;display:block;overflow:hidden}.F1KBNa_wrapActive{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_wrapActive:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_splitRoot{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.F1KBNa_diffBodySplit{flex:1;min-height:0;overflow-x:hidden}.F1KBNa_splitCols{width:100%;min-width:0;display:flex}.F1KBNa_splitCol{box-sizing:border-box;flex:1 1 0;min-width:0;overflow:hidden}.F1KBNa_splitDivider{background:var(--dsw-alias-border-l2);flex:0 0 1px}.F1KBNa_splitCol .F1KBNa_gutter,.F1KBNa_splitCol .F1KBNa_code{vertical-align:top}.F1KBNa_splitHScrollRow{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;width:100%;min-width:0;display:flex}.F1KBNa_splitHScroll{flex:1 1 0;min-width:0;height:15px;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:15px}.F1KBNa_splitHScroll::-webkit-scrollbar-track{cursor:default}.F1KBNa_splitHScroll::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_splitHScrollFill{height:1px}.F1KBNa_splitLdel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}";
|
|
11939
|
+
const css = ".F1KBNa_layer{box-sizing:border-box;flex:none;align-items:center;width:calc(100% + 4px);height:42px;margin:4px -2px;display:flex;position:relative}.F1KBNa_footerButtons{align-items:center;width:100%;display:flex}.F1KBNa_badge{box-sizing:border-box;width:100%;height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;line-height:22px;display:flex;overflow:hidden}.F1KBNa_badge:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_badge:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.F1KBNa_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.F1KBNa_layer.F1KBNa_rail{width:36px;height:36px;margin:8px 0 10px}.F1KBNa_rail .F1KBNa_badge{border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.F1KBNa_rail .F1KBNa_badgeLabel{display:none}.F1KBNa_rail .F1KBNa_badgeCount{box-sizing:border-box;background:var(--dsw-alias-state-business-primary);min-width:18px;height:18px;color:var(--dsw-alias-label-primary-foreground);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;line-height:18px;display:flex;position:absolute;top:-3px;right:-7px}.F1KBNa_fullscreenBackdrop{z-index:29;background:var(--dsw-specific-sidebar-fill);position:fixed;inset:0}.F1KBNa_panel{z-index:30;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:auto;max-width:none;box-shadow:var(--dsw-shadow-lv2);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border-radius:12px;flex-direction:column;display:flex;position:fixed;inset:8px 8px 128px;overflow:hidden}.F1KBNa_header{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;display:flex}.F1KBNa_headerActions{align-items:center;gap:2px;display:flex}.F1KBNa_settingsPage{padding:8px 12px}.F1KBNa_settingsRow{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsRowText{flex-direction:column;flex:1;gap:4px;min-width:0;padding-right:48px;display:flex}.F1KBNa_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsSelector{background:var(--dsw-alias-bg-module-platform);height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:12px;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelectorChevron{flex:none}.F1KBNa_states{flex-direction:column;flex:1;min-height:0;padding:4px 12px 12px;display:flex;overflow-y:auto}.F1KBNa_split{flex:1;align-items:stretch;min-height:0;display:flex;position:relative}.F1KBNa_fileListFloat{z-index:40;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;flex-direction:column;padding:6px 8px 10px;display:flex;position:absolute;overflow:hidden}.F1KBNa_fileList{box-sizing:border-box;border-right:1px solid var(--dsw-alias-border-l2);flex-direction:column;flex:none;width:240px;min-height:0;padding:4px 8px 12px;display:flex}.F1KBNa_listScroll{flex:1;min-height:0;overflow-y:auto}.F1KBNa_bulkActions{flex:none;gap:6px;padding-top:8px;display:flex}.F1KBNa_bulkActions .F1KBNa_action{text-align:center;flex:1}.F1KBNa_resizeHandle{cursor:col-resize;background:0 0;flex:none;width:5px;margin:0 -2px}.F1KBNa_resizeHandle:hover{background:var(--dsw-alias-border-l2)}.F1KBNa_detail{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.F1KBNa_detailEmpty{color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;margin:0;padding:24px;font-size:12px;line-height:18px;display:flex}.F1KBNa_confirmBackdrop{z-index:5;background:color-mix(in srgb, var(--dsw-alias-bg-base) 55%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.F1KBNa_confirmCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:340px;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.F1KBNa_confirmText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;margin:0;line-height:1.5}.F1KBNa_confirmActions{justify-content:flex-end;gap:8px;display:flex}.F1KBNa_title{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}.F1KBNa_note,.F1KBNa_readError,.F1KBNa_hint{color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.F1KBNa_noteCentered{text-align:center;margin:auto}.F1KBNa_emptyState{flex-direction:column;align-items:center;gap:10px;margin:auto;display:flex}.F1KBNa_importButton{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:5px 14px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_importButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_importButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_importNote{color:var(--dsw-alias-label-tertiary);text-align:center;margin:0;font-size:12px;line-height:18px}.F1KBNa_readError{color:var(--dsw-alias-state-error-primary)}.F1KBNa_group{color:var(--dsw-alias-label-tertiary);margin:8px 0 4px;font-size:12px;font-weight:500;line-height:16px}.F1KBNa_rows{margin:0;padding:0;list-style:none}.F1KBNa_row{border:1px solid #0000;border-radius:10px;margin:2px 0}.F1KBNa_rowHead{width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:baseline;gap:8px;padding:6px 8px;display:flex}.F1KBNa_rowHead:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_rowHead[data-selected]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_rowPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-markdown-code-block);overflow:hidden}.F1KBNa_kindTag{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_kindHint{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;line-height:16px}.F1KBNa_divergedHint,.F1KBNa_missingHint{border-bottom:1px solid var(--dsw-alias-border-l2);margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missing{border:1px solid var(--dsw-alias-state-warn-primary);color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary));white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_rowFailed{border:1px solid var(--dsw-alias-state-error-primary);color:var(--dsw-alias-state-error-primary);white-space:nowrap;border-radius:6px;flex:none;padding:1px 6px;font-size:11px;line-height:14px}.F1KBNa_actionError{border-bottom:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;margin:0;padding:6px 8px;font-size:12px;line-height:18px}.F1KBNa_missingHint{color:var(--dsw-alias-state-warn-label,var(--dsw-alias-state-warn-primary))}.F1KBNa_rowMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;gap:6px;margin-left:auto;font-size:12px;line-height:16px;display:inline-flex}.F1KBNa_addCount{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 60%, var(--dsw-alias-label-primary))}.F1KBNa_diff{background:var(--dsw-alias-markdown-code-block);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.F1KBNa_diffHeader{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);flex:1;font-size:12px;line-height:18px;overflow:hidden}.F1KBNa_diffActions{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;gap:8px;padding:6px 8px;display:flex}.F1KBNa_diffStats{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.F1KBNa_flexSpacer{flex:1}.F1KBNa_action{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_action:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_action:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_actionPrimary{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_actionPrimary:hover:not(:disabled){background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_actionPrimary:disabled{background:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:.55}.F1KBNa_actionQuietDisabled:disabled{cursor:pointer;color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l1);background:0 0}.F1KBNa_actionPrimary.F1KBNa_actionQuietDisabled:disabled{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50);opacity:1}.F1KBNa_iconAction{justify-content:center;align-items:center;min-height:25px;padding:4px 6px;display:inline-flex}.F1KBNa_close{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expand{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_expand:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_expandExpanded svg{transform:rotate(180deg)}.F1KBNa_diffBodyWrap{flex:1;min-height:0;display:flex;position:relative}.F1KBNa_diffBody{min-width:0;font:var(--dsw-font-markdown-code-block);-webkit-text-size-adjust:100%;text-size-adjust:100%;cursor:text;outline:none;flex:1;padding:0;position:relative;overflow:auto}.F1KBNa_diffBody::-webkit-scrollbar,.F1KBNa_diffBody::-webkit-scrollbar-track,.F1KBNa_diffBody::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_blockActions{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);z-index:2;border-radius:10px;align-items:center;gap:9px;padding:5px;display:flex;position:absolute;right:8px}.F1KBNa_blockPosition{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:1px;margin-left:7px;font-size:12px;line-height:16px}.F1KBNa_searchBar{z-index:3;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);box-shadow:var(--dsw-shadow-lv1);border-radius:10px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:8px;right:8px}.F1KBNa_searchInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);width:150px;color:var(--dsw-alias-label-primary);border-radius:6px;outline:none;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_searchInput:focus{border-color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchCount{text-align:center;min-width:34px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:16px}.F1KBNa_diffBody [data-diff-search=hit]{background-image:linear-gradient(#facc1529,#facc1529)}.F1KBNa_diffBody [data-diff-search=current]{background-image:linear-gradient(#facc1552,#facc1552)}.F1KBNa_blockFlash{z-index:1;box-sizing:border-box;border:2px solid var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:4px;animation:1s ease-out forwards F1KBNa_diffFlash;position:absolute;left:0;right:0}@keyframes F1KBNa_diffFlash{0%{opacity:1}to{opacity:0}}.F1KBNa_overviewRuler{pointer-events:none;opacity:.5;width:4px;position:absolute;top:0;bottom:0;right:0}.F1KBNa_overviewMarker{border-radius:2px;width:100%;min-height:2px;position:absolute;right:0}.F1KBNa_markerDel{background-color:var(--dsw-alias-state-error-primary)}.F1KBNa_markerAdd{background-color:var(--dsw-alias-state-success-primary)}.F1KBNa_lines{border-spacing:0;width:max-content;min-width:100%;display:table}.F1KBNa_line{-webkit-user-select:none;user-select:none;height:22px;line-height:22px;display:table-row}.F1KBNa_vSpacer{display:table-row}.F1KBNa_gutter{box-sizing:border-box;text-align:right;width:44px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;cursor:default;padding-right:10px;display:table-cell}.F1KBNa_code{white-space:pre;-webkit-user-select:text;user-select:text;display:table-cell}.F1KBNa_context{color:var(--dsw-alias-label-primary)}.F1KBNa_del{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_add{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}.F1KBNa_statusBar{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);height:34px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-markdown-code-block);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:flex}.F1KBNa_statusAction{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);white-space:nowrap;cursor:pointer;background:0 0;border-radius:8px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_statusAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langSelect{border:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;flex:none;align-items:center;gap:4px;padding:3px 12px;font-family:inherit;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_langSelect:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_langLabel{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.F1KBNa_notice{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);max-width:360px;box-shadow:var(--dsw-shadow-lv3);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px}.F1KBNa_noticeText{font:var(--dsw-font-caption);color:var(--dsw-alias-label-primary);flex:1;margin:0;line-height:1.45}.F1KBNa_noticeButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary);font:var(--dsw-font-caption);cursor:pointer;border-radius:6px;flex:none;padding:4px 10px}.F1KBNa_noticeButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.F1KBNa_wrap .F1KBNa_line{height:auto;min-height:22px}.F1KBNa_subline{white-space:pre;height:22px;line-height:22px;display:block;overflow:hidden}.F1KBNa_wrapActive{background:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-static-neutral-bluish-50)}.F1KBNa_wrapActive:hover{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 85%, var(--dsw-static-neutral-bluish-1000))}.F1KBNa_splitRoot{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.F1KBNa_diffBodySplit{flex:1;min-height:0;overflow-x:hidden}.F1KBNa_splitCols{width:100%;min-width:0;display:flex}.F1KBNa_splitCol{box-sizing:border-box;flex:1 1 0;min-width:0;overflow:hidden}.F1KBNa_splitDivider{background:var(--dsw-alias-border-l2);flex:0 0 1px}.F1KBNa_splitCol .F1KBNa_gutter,.F1KBNa_splitCol .F1KBNa_code{vertical-align:top}.F1KBNa_splitHScrollRow{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);flex:none;width:100%;min-width:0;display:flex}.F1KBNa_splitHScroll{flex:1 1 0;min-width:0;height:15px;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:15px}.F1KBNa_splitHScroll::-webkit-scrollbar-track{cursor:default}.F1KBNa_splitHScroll::-webkit-scrollbar-thumb{cursor:default}.F1KBNa_splitHScrollFill{height:1px}.F1KBNa_splitLdel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent)}";
|
|
11926
11940
|
const tagId = "dsh-diff-approval/PendingPanel.module.css";
|
|
11927
11941
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
11928
11942
|
const tag = document.createElement("style");
|
|
@@ -11932,115 +11946,115 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
11932
11946
|
document.head.appendChild(tag);
|
|
11933
11947
|
}
|
|
11934
11948
|
var PendingPanel_module_css_default = {
|
|
11935
|
-
"title": "F1KBNa_title",
|
|
11936
|
-
"diffBodyWrap": "F1KBNa_diffBodyWrap",
|
|
11937
|
-
"settingsSelector": "F1KBNa_settingsSelector",
|
|
11938
11949
|
"confirmBackdrop": "F1KBNa_confirmBackdrop",
|
|
11939
|
-
"
|
|
11940
|
-
"
|
|
11941
|
-
"
|
|
11942
|
-
"
|
|
11950
|
+
"kindHint": "F1KBNa_kindHint",
|
|
11951
|
+
"splitRdel": "F1KBNa_splitRdel",
|
|
11952
|
+
"missingHint": "F1KBNa_missingHint",
|
|
11953
|
+
"expandExpanded": "F1KBNa_expandExpanded",
|
|
11954
|
+
"readError": "F1KBNa_readError",
|
|
11943
11955
|
"diffBody": "F1KBNa_diffBody",
|
|
11944
|
-
"
|
|
11945
|
-
"
|
|
11946
|
-
"
|
|
11947
|
-
"
|
|
11948
|
-
"
|
|
11949
|
-
"
|
|
11950
|
-
"langSelect": "F1KBNa_langSelect",
|
|
11951
|
-
"actionQuietDisabled": "F1KBNa_actionQuietDisabled",
|
|
11952
|
-
"wrapActive": "F1KBNa_wrapActive",
|
|
11953
|
-
"settingsRowDesc": "F1KBNa_settingsRowDesc",
|
|
11954
|
-
"confirmActions": "F1KBNa_confirmActions",
|
|
11955
|
-
"actionPrimary": "F1KBNa_actionPrimary",
|
|
11956
|
-
"rowFailed": "F1KBNa_rowFailed",
|
|
11957
|
-
"expand": "F1KBNa_expand",
|
|
11958
|
-
"blockPosition": "F1KBNa_blockPosition",
|
|
11959
|
-
"vSpacer": "F1KBNa_vSpacer",
|
|
11956
|
+
"lines": "F1KBNa_lines",
|
|
11957
|
+
"langLabel": "F1KBNa_langLabel",
|
|
11958
|
+
"splitCol": "F1KBNa_splitCol",
|
|
11959
|
+
"splitRadd": "F1KBNa_splitRadd",
|
|
11960
|
+
"diffPath": "F1KBNa_diffPath",
|
|
11961
|
+
"diffActions": "F1KBNa_diffActions",
|
|
11960
11962
|
"rowPath": "F1KBNa_rowPath",
|
|
11961
|
-
"
|
|
11962
|
-
"
|
|
11963
|
-
"
|
|
11964
|
-
"
|
|
11965
|
-
"
|
|
11966
|
-
"
|
|
11963
|
+
"listScroll": "F1KBNa_listScroll",
|
|
11964
|
+
"actionPrimary": "F1KBNa_actionPrimary",
|
|
11965
|
+
"importButton": "F1KBNa_importButton",
|
|
11966
|
+
"rows": "F1KBNa_rows",
|
|
11967
|
+
"searchCount": "F1KBNa_searchCount",
|
|
11968
|
+
"statusBar": "F1KBNa_statusBar",
|
|
11967
11969
|
"footerButtons": "F1KBNa_footerButtons",
|
|
11968
|
-
"
|
|
11969
|
-
"
|
|
11970
|
-
"
|
|
11971
|
-
"
|
|
11970
|
+
"layer": "F1KBNa_layer",
|
|
11971
|
+
"badgeLabel": "F1KBNa_badgeLabel",
|
|
11972
|
+
"divergedHint": "F1KBNa_divergedHint",
|
|
11973
|
+
"actionError": "F1KBNa_actionError",
|
|
11972
11974
|
"code": "F1KBNa_code",
|
|
11973
|
-
"
|
|
11975
|
+
"splitDivider": "F1KBNa_splitDivider",
|
|
11976
|
+
"confirmCard": "F1KBNa_confirmCard",
|
|
11977
|
+
"title": "F1KBNa_title",
|
|
11978
|
+
"wrap": "F1KBNa_wrap",
|
|
11979
|
+
"statusAction": "F1KBNa_statusAction",
|
|
11980
|
+
"noticeButton": "F1KBNa_noticeButton",
|
|
11981
|
+
"flexSpacer": "F1KBNa_flexSpacer",
|
|
11982
|
+
"confirmActions": "F1KBNa_confirmActions",
|
|
11983
|
+
"searchInput": "F1KBNa_searchInput",
|
|
11974
11984
|
"settingsRowText": "F1KBNa_settingsRowText",
|
|
11975
|
-
"
|
|
11976
|
-
"action": "F1KBNa_action",
|
|
11977
|
-
"kindHint": "F1KBNa_kindHint",
|
|
11978
|
-
"layer": "F1KBNa_layer",
|
|
11979
|
-
"badgeCount": "F1KBNa_badgeCount",
|
|
11980
|
-
"diffHeader": "F1KBNa_diffHeader",
|
|
11985
|
+
"header": "F1KBNa_header",
|
|
11981
11986
|
"diffStats": "F1KBNa_diffStats",
|
|
11982
|
-
"
|
|
11983
|
-
"
|
|
11984
|
-
"
|
|
11987
|
+
"settingsRowTitle": "F1KBNa_settingsRowTitle",
|
|
11988
|
+
"blockFlash": "F1KBNa_blockFlash",
|
|
11989
|
+
"row": "F1KBNa_row",
|
|
11990
|
+
"fullscreenBackdrop": "F1KBNa_fullscreenBackdrop",
|
|
11991
|
+
"missing": "F1KBNa_missing",
|
|
11992
|
+
"actionQuietDisabled": "F1KBNa_actionQuietDisabled",
|
|
11985
11993
|
"searchBar": "F1KBNa_searchBar",
|
|
11986
|
-
"
|
|
11987
|
-
"
|
|
11994
|
+
"overviewRuler": "F1KBNa_overviewRuler",
|
|
11995
|
+
"notice": "F1KBNa_notice",
|
|
11996
|
+
"splitCols": "F1KBNa_splitCols",
|
|
11997
|
+
"markerAdd": "F1KBNa_markerAdd",
|
|
11998
|
+
"splitRoot": "F1KBNa_splitRoot",
|
|
11999
|
+
"blockPosition": "F1KBNa_blockPosition",
|
|
12000
|
+
"overviewMarker": "F1KBNa_overviewMarker",
|
|
12001
|
+
"noticeText": "F1KBNa_noticeText",
|
|
12002
|
+
"iconAction": "F1KBNa_iconAction",
|
|
11988
12003
|
"splitHScrollRow": "F1KBNa_splitHScrollRow",
|
|
12004
|
+
"delCount": "F1KBNa_delCount",
|
|
12005
|
+
"splitLadd": "F1KBNa_splitLadd",
|
|
12006
|
+
"hint": "F1KBNa_hint",
|
|
12007
|
+
"splitHScroll": "F1KBNa_splitHScroll",
|
|
12008
|
+
"note": "F1KBNa_note",
|
|
12009
|
+
"settingsPage": "F1KBNa_settingsPage",
|
|
11989
12010
|
"splitLdel": "F1KBNa_splitLdel",
|
|
11990
|
-
"
|
|
12011
|
+
"rail": "F1KBNa_rail",
|
|
12012
|
+
"del": "F1KBNa_del",
|
|
12013
|
+
"noteCentered": "F1KBNa_noteCentered",
|
|
12014
|
+
"line": "F1KBNa_line",
|
|
12015
|
+
"action": "F1KBNa_action",
|
|
11991
12016
|
"fileList": "F1KBNa_fileList",
|
|
11992
|
-
"
|
|
11993
|
-
"
|
|
11994
|
-
"missingHint": "F1KBNa_missingHint",
|
|
11995
|
-
"group": "F1KBNa_group",
|
|
11996
|
-
"markerDel": "F1KBNa_markerDel",
|
|
11997
|
-
"readError": "F1KBNa_readError",
|
|
11998
|
-
"diffPath": "F1KBNa_diffPath",
|
|
11999
|
-
"settingsSelectorChevron": "F1KBNa_settingsSelectorChevron",
|
|
12000
|
-
"overviewMarker": "F1KBNa_overviewMarker",
|
|
12017
|
+
"rowMeta": "F1KBNa_rowMeta",
|
|
12018
|
+
"diffFlash": "F1KBNa_diffFlash",
|
|
12001
12019
|
"add": "F1KBNa_add",
|
|
12002
|
-
"
|
|
12020
|
+
"settingsSelector": "F1KBNa_settingsSelector",
|
|
12021
|
+
"detailEmpty": "F1KBNa_detailEmpty",
|
|
12022
|
+
"langSelect": "F1KBNa_langSelect",
|
|
12023
|
+
"fileListFloat": "F1KBNa_fileListFloat",
|
|
12003
12024
|
"emptyState": "F1KBNa_emptyState",
|
|
12004
|
-
"
|
|
12005
|
-
"
|
|
12025
|
+
"kindTag": "F1KBNa_kindTag",
|
|
12026
|
+
"rowFailed": "F1KBNa_rowFailed",
|
|
12027
|
+
"addCount": "F1KBNa_addCount",
|
|
12028
|
+
"wrapActive": "F1KBNa_wrapActive",
|
|
12006
12029
|
"close": "F1KBNa_close",
|
|
12007
|
-
"
|
|
12008
|
-
"
|
|
12009
|
-
"
|
|
12010
|
-
"
|
|
12011
|
-
"
|
|
12012
|
-
"blockActions": "F1KBNa_blockActions",
|
|
12013
|
-
"langLabel": "F1KBNa_langLabel",
|
|
12014
|
-
"noticeButton": "F1KBNa_noticeButton",
|
|
12015
|
-
"confirmCard": "F1KBNa_confirmCard",
|
|
12016
|
-
"headerActions": "F1KBNa_headerActions",
|
|
12017
|
-
"settingsRow": "F1KBNa_settingsRow",
|
|
12018
|
-
"importButton": "F1KBNa_importButton",
|
|
12030
|
+
"diffHeader": "F1KBNa_diffHeader",
|
|
12031
|
+
"badge": "F1KBNa_badge",
|
|
12032
|
+
"bulkActions": "F1KBNa_bulkActions",
|
|
12033
|
+
"expand": "F1KBNa_expand",
|
|
12034
|
+
"group": "F1KBNa_group",
|
|
12019
12035
|
"rowHead": "F1KBNa_rowHead",
|
|
12020
|
-
"
|
|
12036
|
+
"settingsSelectorChevron": "F1KBNa_settingsSelectorChevron",
|
|
12037
|
+
"settingsRow": "F1KBNa_settingsRow",
|
|
12038
|
+
"panel": "F1KBNa_panel",
|
|
12039
|
+
"detail": "F1KBNa_detail",
|
|
12040
|
+
"split": "F1KBNa_split",
|
|
12041
|
+
"importNote": "F1KBNa_importNote",
|
|
12042
|
+
"resizeHandle": "F1KBNa_resizeHandle",
|
|
12021
12043
|
"diff": "F1KBNa_diff",
|
|
12022
|
-
"
|
|
12023
|
-
"
|
|
12044
|
+
"blockActions": "F1KBNa_blockActions",
|
|
12045
|
+
"confirmText": "F1KBNa_confirmText",
|
|
12046
|
+
"vSpacer": "F1KBNa_vSpacer",
|
|
12024
12047
|
"gutter": "F1KBNa_gutter",
|
|
12025
|
-
"splitCols": "F1KBNa_splitCols",
|
|
12026
|
-
"importNote": "F1KBNa_importNote",
|
|
12027
|
-
"splitDivider": "F1KBNa_splitDivider",
|
|
12028
|
-
"listScroll": "F1KBNa_listScroll",
|
|
12029
|
-
"rail": "F1KBNa_rail",
|
|
12030
|
-
"missing": "F1KBNa_missing",
|
|
12031
|
-
"rowMeta": "F1KBNa_rowMeta",
|
|
12032
|
-
"fileListFloat": "F1KBNa_fileListFloat",
|
|
12033
|
-
"badge": "F1KBNa_badge",
|
|
12034
|
-
"divergedHint": "F1KBNa_divergedHint",
|
|
12035
|
-
"diffBodySplit": "F1KBNa_diffBodySplit",
|
|
12036
|
-
"fullscreenBackdrop": "F1KBNa_fullscreenBackdrop",
|
|
12037
|
-
"header": "F1KBNa_header",
|
|
12038
|
-
"kindTag": "F1KBNa_kindTag",
|
|
12039
|
-
"settingsRowTitle": "F1KBNa_settingsRowTitle",
|
|
12040
|
-
"blockFlash": "F1KBNa_blockFlash",
|
|
12041
|
-
"detailEmpty": "F1KBNa_detailEmpty",
|
|
12042
12048
|
"states": "F1KBNa_states",
|
|
12043
|
-
"
|
|
12049
|
+
"markerDel": "F1KBNa_markerDel",
|
|
12050
|
+
"context": "F1KBNa_context",
|
|
12051
|
+
"diffBodySplit": "F1KBNa_diffBodySplit",
|
|
12052
|
+
"diffBodyWrap": "F1KBNa_diffBodyWrap",
|
|
12053
|
+
"subline": "F1KBNa_subline",
|
|
12054
|
+
"splitHScrollFill": "F1KBNa_splitHScrollFill",
|
|
12055
|
+
"settingsRowDesc": "F1KBNa_settingsRowDesc",
|
|
12056
|
+
"headerActions": "F1KBNa_headerActions",
|
|
12057
|
+
"badgeCount": "F1KBNa_badgeCount"
|
|
12044
12058
|
};
|
|
12045
12059
|
//#endregion
|
|
12046
12060
|
//#region lib/types/client/PendingPanel.js
|
|
@@ -12066,7 +12080,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
12066
12080
|
/** Interactive composer/approval cards; clicking these keeps the panel open.
|
|
12067
12081
|
Deliberately the cards themselves, not the seat: the approval frame's wide
|
|
12068
12082
|
side gutters are blank space, so a click there must still close. */
|
|
12069
|
-
const KEEP_OPEN_SELECTOR = "[data-composer-card],[data-question-key] > *,[data-plan-review-key] > *";
|
|
12083
|
+
const KEEP_OPEN_SELECTOR = "[data-composer-card],[data-question-key] > *,[data-plan-review-key] > *,[data-approval-key] > *";
|
|
12070
12084
|
/** Seat counts as docked when its bottom is this close to the window bottom. */
|
|
12071
12085
|
const DOCKED_TOLERANCE_PX = 48;
|
|
12072
12086
|
/** File-list pane width bounds for the manual split drag, in px. */
|
|
@@ -12459,7 +12473,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
12459
12473
|
});
|
|
12460
12474
|
}
|
|
12461
12475
|
/** The two-column (side-by-side) whole-file diff view. */
|
|
12462
|
-
const SplitDiff = (0, react.forwardRef)(function SplitDiff({ file, model, runs, langWrap, tabWidthSpaces, busy, t, onBlockKeep, onBlockRevert }, ref) {
|
|
12476
|
+
const SplitDiff = (0, react.forwardRef)(function SplitDiff({ file, model, runs, langWrap, tabWidthSpaces, busy, t, selection, onBlockKeep, onBlockRevert }, ref) {
|
|
12463
12477
|
const { pairs, pairOfRow } = (0, react.useMemo)(() => computeSideBySideDiff(model.diff.rows), [model]);
|
|
12464
12478
|
const pairCount = pairs.length;
|
|
12465
12479
|
const bodyRef = (0, react.useRef)(null);
|
|
@@ -12647,8 +12661,12 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
12647
12661
|
return lo;
|
|
12648
12662
|
};
|
|
12649
12663
|
const viewport = viewportH > 0 ? viewportH : totalHeight;
|
|
12650
|
-
|
|
12651
|
-
|
|
12664
|
+
let start = Math.max(0, pairAtY(scrollTop) - OVERSCAN_ROWS);
|
|
12665
|
+
let end = Math.min(pairCount, pairAtY(scrollTop + viewport) + OVERSCAN_ROWS);
|
|
12666
|
+
if (selection !== void 0) {
|
|
12667
|
+
start = Math.min(start, selection.start);
|
|
12668
|
+
end = Math.max(end, selection.end + 1);
|
|
12669
|
+
}
|
|
12652
12670
|
const visiblePairs = pairs.slice(start, end);
|
|
12653
12671
|
const jump = (direction) => {
|
|
12654
12672
|
if (blockOfPair.length === 0) return;
|
|
@@ -12984,10 +13002,19 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
12984
13002
|
side: startInfo.side
|
|
12985
13003
|
};
|
|
12986
13004
|
}
|
|
12987
|
-
/**
|
|
13005
|
+
/** The code cell in `node`'s visual row, a sibling of its gutter cells. A
|
|
13006
|
+
* line-number boundary must measure against the line's own selectable text even
|
|
13007
|
+
* though the gutter text is not inside the code cell; this resolves the cell
|
|
13008
|
+
* for both the unified row and a split column row. */
|
|
13009
|
+
function codeCellAt(node) {
|
|
13010
|
+
return ((node instanceof Element ? node : node.parentElement)?.closest("[data-diff-row], [data-diff-split-row]"))?.querySelector("[data-diff-code]") ?? null;
|
|
13011
|
+
}
|
|
13012
|
+
/** Character offset of a selection boundary within its line's code text. A
|
|
13013
|
+
* boundary outside the code cell (the line-number gutter) sits at the line's
|
|
13014
|
+
* start — offset 0, never the line's end — so it never skips the line. */
|
|
12988
13015
|
function lineOffsetAt(node, offset) {
|
|
12989
|
-
const code = (node
|
|
12990
|
-
if (code === null || code
|
|
13016
|
+
const code = codeCellAt(node);
|
|
13017
|
+
if (code === null || !code.contains(node)) return 0;
|
|
12991
13018
|
let before = 0;
|
|
12992
13019
|
const walker = document.createTreeWalker(code, NodeFilter.SHOW_TEXT);
|
|
12993
13020
|
let current = walker.nextNode();
|
|
@@ -13010,9 +13037,10 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
13010
13037
|
}
|
|
13011
13038
|
return before;
|
|
13012
13039
|
}
|
|
13013
|
-
/** Length of the code text on the line holding a node
|
|
13040
|
+
/** Length of the code text on the line holding a node (the line's selectable
|
|
13041
|
+
* text, even when `node` is in a gutter cell of the same row). */
|
|
13014
13042
|
function lineLengthAt(node) {
|
|
13015
|
-
return (
|
|
13043
|
+
return codeCellAt(node)?.textContent?.length ?? 0;
|
|
13016
13044
|
}
|
|
13017
13045
|
/**
|
|
13018
13046
|
* Derive the selected diff-row range from a native text selection. A
|
|
@@ -13336,8 +13364,12 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
13336
13364
|
return lo;
|
|
13337
13365
|
};
|
|
13338
13366
|
const viewport = viewportHeight > 0 ? viewportHeight : totalHeight;
|
|
13339
|
-
|
|
13340
|
-
|
|
13367
|
+
let start = Math.max(0, rowAtY(scrollTop) - OVERSCAN_ROWS);
|
|
13368
|
+
let end = Math.min(rowCount, rowAtY(scrollTop + viewport) + OVERSCAN_ROWS);
|
|
13369
|
+
if (selection !== void 0) {
|
|
13370
|
+
start = Math.min(start, selection.start);
|
|
13371
|
+
end = Math.max(end, selection.end + 1);
|
|
13372
|
+
}
|
|
13341
13373
|
const visibleRows = rows.slice(start, end);
|
|
13342
13374
|
const blockEnd = hoveredBlock === void 0 ? void 0 : model.blocks[hoveredBlock]?.end;
|
|
13343
13375
|
const blockActionsTop = blockEnd === void 0 ? 0 : Math.min(offsetOf(blockEnd + 1), Math.max(0, totalHeight - BLOCK_ACTIONS_FRAME_PX));
|
|
@@ -13719,6 +13751,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
13719
13751
|
tabWidthSpaces,
|
|
13720
13752
|
busy,
|
|
13721
13753
|
t,
|
|
13754
|
+
selection,
|
|
13722
13755
|
onBlockKeep,
|
|
13723
13756
|
onBlockRevert
|
|
13724
13757
|
}) : (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -14177,7 +14210,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
14177
14210
|
document.removeEventListener("pointerdown", onPointerDown, true);
|
|
14178
14211
|
};
|
|
14179
14212
|
}, [open]);
|
|
14180
|
-
const files = snapshot.files.filter((file) => file.
|
|
14213
|
+
const files = snapshot.files.filter((file) => current !== void 0 && (file.sessionIds ?? [file.sessionId]).includes(current)).sort((left, right) => compareFileNames(left.path, right.path));
|
|
14181
14214
|
/** Per-file keep/revert failures, surfaced inline on the row and detail. */
|
|
14182
14215
|
const failed = snapshot.failed ?? EMPTY_FAILED_MAP;
|
|
14183
14216
|
const failedInitialized = (0, react.useRef)(false);
|
|
@@ -15004,13 +15037,14 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
15004
15037
|
/** Narrow one pending entry from the wire; malformed rows are skipped. */
|
|
15005
15038
|
function pendingFileOf(value) {
|
|
15006
15039
|
if (typeof value !== "object" || value === null || Array.isArray(value)) return void 0;
|
|
15007
|
-
const { id, sessionId, path, kind, oldText, newText, updatedAt, missing, diverged } = value;
|
|
15040
|
+
const { id, sessionId, sessionIds, path, kind, oldText, newText, updatedAt, missing, diverged } = value;
|
|
15008
15041
|
if (typeof id !== "string" || id.length === 0) return void 0;
|
|
15009
15042
|
if (typeof sessionId !== "string" || sessionId.length === 0) return void 0;
|
|
15010
15043
|
if (typeof path !== "string" || path.length === 0) return void 0;
|
|
15011
15044
|
if (kind !== "edit" && kind !== "create") return void 0;
|
|
15012
15045
|
if (typeof oldText !== "string" || typeof newText !== "string") return void 0;
|
|
15013
15046
|
if (typeof updatedAt !== "number") return void 0;
|
|
15047
|
+
const touched = Array.isArray(sessionIds) ? sessionIds.filter((value) => typeof value === "string" && value.length > 0) : [];
|
|
15014
15048
|
return {
|
|
15015
15049
|
id,
|
|
15016
15050
|
sessionId,
|
|
@@ -15019,6 +15053,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
15019
15053
|
oldText,
|
|
15020
15054
|
newText,
|
|
15021
15055
|
updatedAt,
|
|
15056
|
+
sessionIds: touched.length > 0 ? touched : [sessionId],
|
|
15022
15057
|
missing: missing === true,
|
|
15023
15058
|
diverged: diverged === true
|
|
15024
15059
|
};
|
|
@@ -15372,12 +15407,20 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
|
|
|
15372
15407
|
};
|
|
15373
15408
|
const observe = () => {
|
|
15374
15409
|
const snapshot = store.getSnapshot();
|
|
15410
|
+
const newestByPath = /* @__PURE__ */ new Map();
|
|
15375
15411
|
for (const file of snapshot.files) {
|
|
15376
|
-
const
|
|
15377
|
-
if (
|
|
15378
|
-
|
|
15412
|
+
const current = newestByPath.get(file.path);
|
|
15413
|
+
if (current === void 0 || file.updatedAt >= current.updatedAt) newestByPath.set(file.path, {
|
|
15414
|
+
newText: file.newText,
|
|
15415
|
+
updatedAt: file.updatedAt
|
|
15416
|
+
});
|
|
15417
|
+
}
|
|
15418
|
+
for (const [path, { newText }] of newestByPath) {
|
|
15419
|
+
const previous = lastContent.get(path);
|
|
15420
|
+
if (previous !== void 0 && contentKey(previous) !== contentKey(newText)) remap(path, previous, newText, snapshot.workspacePath);
|
|
15421
|
+
lastContent.set(path, newText);
|
|
15379
15422
|
}
|
|
15380
|
-
for (const path of [...lastContent.keys()]) if (!
|
|
15423
|
+
for (const path of [...lastContent.keys()]) if (!newestByPath.has(path)) lastContent.delete(path);
|
|
15381
15424
|
};
|
|
15382
15425
|
const unsubscribe = store.subscribe(observe);
|
|
15383
15426
|
observe();
|