dsh-diff-approval 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -12216,7 +12216,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
12216
12216
  }
12217
12217
  //#endregion
12218
12218
  //#region \0dsh-css:/home/runner/work/dsh-diff-approval/dsh-diff-approval/src/client/PendingPanel.module.css.mjs
12219
- 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_toggle{border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:18px;flex:none;width:60px;height:36px;padding:0;position:relative}.F1KBNa_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_toggle:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.F1KBNa_toggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleOn:hover{background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleThumb{background:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;transition:left .12s;position:absolute;top:3px;left:3px}.F1KBNa_toggleOn .F1KBNa_toggleThumb{background:#fff;left:27px}.F1KBNa_stepper{align-items:center;gap:6px;display:inline-flex}.F1KBNa_stepperButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);width:32px;height:32px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:8px;font-size:16px;line-height:1}.F1KBNa_stepperButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_stepperButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_stepperValue{text-align:center;min-width:2ch;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:14px;line-height:22px}.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{white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);-webkit-user-select:text;user-select:text;flex:1;font-size:12px;line-height:18px;overflow:auto 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)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 26%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 24%, transparent)}";
12219
+ 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_toggle{border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:18px;flex:none;width:60px;height:36px;padding:0;position:relative}.F1KBNa_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_toggle:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.F1KBNa_toggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleOn:hover{background:var(--dsw-alias-state-business-primary)}.F1KBNa_toggleThumb{background:var(--dsw-alias-label-primary);border-radius:50%;width:28px;height:28px;transition:left .12s;position:absolute;top:3px;left:3px}.F1KBNa_toggleOn .F1KBNa_toggleThumb{background:#fff;left:27px}.F1KBNa_stepper{align-items:center;gap:6px;display:inline-flex}.F1KBNa_stepperButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-module-platform);width:32px;height:32px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:8px;font-size:16px;line-height:1}.F1KBNa_stepperButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_stepperButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_stepperValue{text-align:center;min-width:2ch;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:14px;line-height:22px}.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{white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-markdown-code-block);-webkit-user-select:text;user-select:text;flex:1;font-size:12px;line-height:18px;overflow:auto 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_divider{background:var(--dsw-alias-border-l1);align-self:stretch;width:1px;margin:2px 0}.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)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsw-alias-state-error-primary) 26%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 24%, transparent)}";
12220
12220
  const tagId = "dsh-diff-approval/PendingPanel.module.css";
12221
12221
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
12222
12222
  const tag = document.createElement("style");
@@ -12226,123 +12226,124 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
12226
12226
  document.head.appendChild(tag);
12227
12227
  }
12228
12228
  var PendingPanel_module_css_default = {
12229
- "splitLadd": "F1KBNa_splitLadd",
12230
- "badge": "F1KBNa_badge",
12231
12229
  "settingsRowTitle": "F1KBNa_settingsRowTitle",
12232
- "code": "F1KBNa_code",
12233
- "confirmCard": "F1KBNa_confirmCard",
12234
- "title": "F1KBNa_title",
12230
+ "rail": "F1KBNa_rail",
12235
12231
  "diffBody": "F1KBNa_diffBody",
12236
- "diffFlash": "F1KBNa_diffFlash",
12237
- "states": "F1KBNa_states",
12238
- "actionQuietDisabled": "F1KBNa_actionQuietDisabled",
12239
- "resizeHandle": "F1KBNa_resizeHandle",
12232
+ "settingsSelector": "F1KBNa_settingsSelector",
12233
+ "badgeLabel": "F1KBNa_badgeLabel",
12234
+ "panel": "F1KBNa_panel",
12235
+ "hint": "F1KBNa_hint",
12236
+ "importButton": "F1KBNa_importButton",
12240
12237
  "addCount": "F1KBNa_addCount",
12238
+ "rowPath": "F1KBNa_rowPath",
12239
+ "searchInput": "F1KBNa_searchInput",
12240
+ "title": "F1KBNa_title",
12241
12241
  "actionPrimary": "F1KBNa_actionPrimary",
12242
- "splitHScrollFill": "F1KBNa_splitHScrollFill",
12243
- "importButton": "F1KBNa_importButton",
12244
- "splitDivider": "F1KBNa_splitDivider",
12245
- "divergedHint": "F1KBNa_divergedHint",
12246
- "close": "F1KBNa_close",
12242
+ "blockActions": "F1KBNa_blockActions",
12243
+ "del": "F1KBNa_del",
12247
12244
  "importNote": "F1KBNa_importNote",
12248
- "langSelect": "F1KBNa_langSelect",
12249
- "langLabel": "F1KBNa_langLabel",
12250
- "vSpacer": "F1KBNa_vSpacer",
12251
- "emptyState": "F1KBNa_emptyState",
12252
- "blockFlash": "F1KBNa_blockFlash",
12253
- "splitCol": "F1KBNa_splitCol",
12254
- "rail": "F1KBNa_rail",
12255
- "action": "F1KBNa_action",
12256
- "group": "F1KBNa_group",
12257
- "confirmBackdrop": "F1KBNa_confirmBackdrop",
12258
- "listScroll": "F1KBNa_listScroll",
12259
- "bulkActions": "F1KBNa_bulkActions",
12260
- "searchInput": "F1KBNa_searchInput",
12261
- "splitLdel": "F1KBNa_splitLdel",
12262
- "diffPath": "F1KBNa_diffPath",
12263
- "line": "F1KBNa_line",
12264
- "intraDel": "F1KBNa_intraDel",
12265
- "settingsRowDesc": "F1KBNa_settingsRowDesc",
12266
- "actionError": "F1KBNa_actionError",
12267
- "rows": "F1KBNa_rows",
12268
- "wrapActive": "F1KBNa_wrapActive",
12269
- "hint": "F1KBNa_hint",
12270
- "kindTag": "F1KBNa_kindTag",
12271
- "wrap": "F1KBNa_wrap",
12272
- "fullscreenBackdrop": "F1KBNa_fullscreenBackdrop",
12273
- "readError": "F1KBNa_readError",
12274
- "add": "F1KBNa_add",
12275
- "overviewRuler": "F1KBNa_overviewRuler",
12276
- "splitHScrollRow": "F1KBNa_splitHScrollRow",
12277
- "splitRadd": "F1KBNa_splitRadd",
12278
- "detailEmpty": "F1KBNa_detailEmpty",
12279
- "statusAction": "F1KBNa_statusAction",
12280
- "diffBodyWrap": "F1KBNa_diffBodyWrap",
12245
+ "diffBodySplit": "F1KBNa_diffBodySplit",
12246
+ "splitCols": "F1KBNa_splitCols",
12247
+ "note": "F1KBNa_note",
12248
+ "divergedHint": "F1KBNa_divergedHint",
12249
+ "noteCentered": "F1KBNa_noteCentered",
12250
+ "kindHint": "F1KBNa_kindHint",
12251
+ "fileListFloat": "F1KBNa_fileListFloat",
12281
12252
  "toggleOn": "F1KBNa_toggleOn",
12282
- "badgeCount": "F1KBNa_badgeCount",
12283
- "settingsPage": "F1KBNa_settingsPage",
12253
+ "wrap": "F1KBNa_wrap",
12254
+ "kindTag": "F1KBNa_kindTag",
12255
+ "subline": "F1KBNa_subline",
12256
+ "settingsRow": "F1KBNa_settingsRow",
12257
+ "langLabel": "F1KBNa_langLabel",
12284
12258
  "missingHint": "F1KBNa_missingHint",
12259
+ "settingsRowDesc": "F1KBNa_settingsRowDesc",
12260
+ "blockPosition": "F1KBNa_blockPosition",
12261
+ "statusBar": "F1KBNa_statusBar",
12285
12262
  "footerButtons": "F1KBNa_footerButtons",
12286
- "noteCentered": "F1KBNa_noteCentered",
12287
- "intraAdd": "F1KBNa_intraAdd",
12288
- "expandExpanded": "F1KBNa_expandExpanded",
12263
+ "fullscreenBackdrop": "F1KBNa_fullscreenBackdrop",
12264
+ "diffActions": "F1KBNa_diffActions",
12265
+ "divider": "F1KBNa_divider",
12266
+ "splitRdel": "F1KBNa_splitRdel",
12267
+ "missing": "F1KBNa_missing",
12289
12268
  "headerActions": "F1KBNa_headerActions",
12290
- "split": "F1KBNa_split",
12291
- "diffHeader": "F1KBNa_diffHeader",
12292
- "lines": "F1KBNa_lines",
12293
- "stepperValue": "F1KBNa_stepperValue",
12294
- "splitRoot": "F1KBNa_splitRoot",
12295
- "rowHead": "F1KBNa_rowHead",
12296
12269
  "stepperButton": "F1KBNa_stepperButton",
12270
+ "diffFlash": "F1KBNa_diffFlash",
12297
12271
  "rowMeta": "F1KBNa_rowMeta",
12298
- "expand": "F1KBNa_expand",
12299
- "settingsRow": "F1KBNa_settingsRow",
12300
- "diff": "F1KBNa_diff",
12301
- "panel": "F1KBNa_panel",
12302
- "diffBodySplit": "F1KBNa_diffBodySplit",
12303
- "note": "F1KBNa_note",
12304
- "rowPath": "F1KBNa_rowPath",
12305
- "detail": "F1KBNa_detail",
12272
+ "close": "F1KBNa_close",
12273
+ "diffPath": "F1KBNa_diffPath",
12274
+ "overviewMarker": "F1KBNa_overviewMarker",
12306
12275
  "confirmActions": "F1KBNa_confirmActions",
12307
- "badgeLabel": "F1KBNa_badgeLabel",
12308
- "blockActions": "F1KBNa_blockActions",
12309
- "blockPosition": "F1KBNa_blockPosition",
12310
- "confirmText": "F1KBNa_confirmText",
12276
+ "splitHScroll": "F1KBNa_splitHScroll",
12277
+ "actionError": "F1KBNa_actionError",
12278
+ "toggleThumb": "F1KBNa_toggleThumb",
12279
+ "readError": "F1KBNa_readError",
12280
+ "statusAction": "F1KBNa_statusAction",
12281
+ "diffStats": "F1KBNa_diffStats",
12282
+ "settingsSelectorChevron": "F1KBNa_settingsSelectorChevron",
12283
+ "delCount": "F1KBNa_delCount",
12284
+ "detailEmpty": "F1KBNa_detailEmpty",
12285
+ "confirmCard": "F1KBNa_confirmCard",
12286
+ "group": "F1KBNa_group",
12287
+ "settingsRowText": "F1KBNa_settingsRowText",
12288
+ "markerDel": "F1KBNa_markerDel",
12311
12289
  "context": "F1KBNa_context",
12312
- "subline": "F1KBNa_subline",
12313
- "settingsSelector": "F1KBNa_settingsSelector",
12314
- "kindHint": "F1KBNa_kindHint",
12315
- "notice": "F1KBNa_notice",
12316
- "noticeText": "F1KBNa_noticeText",
12317
- "markerAdd": "F1KBNa_markerAdd",
12290
+ "expand": "F1KBNa_expand",
12291
+ "splitRoot": "F1KBNa_splitRoot",
12292
+ "rows": "F1KBNa_rows",
12293
+ "overviewRuler": "F1KBNa_overviewRuler",
12294
+ "listScroll": "F1KBNa_listScroll",
12318
12295
  "flexSpacer": "F1KBNa_flexSpacer",
12319
- "stepper": "F1KBNa_stepper",
12296
+ "states": "F1KBNa_states",
12297
+ "splitLdel": "F1KBNa_splitLdel",
12298
+ "langSelect": "F1KBNa_langSelect",
12299
+ "rowHead": "F1KBNa_rowHead",
12300
+ "action": "F1KBNa_action",
12320
12301
  "toggle": "F1KBNa_toggle",
12321
- "settingsSelectorChevron": "F1KBNa_settingsSelectorChevron",
12322
- "splitHScroll": "F1KBNa_splitHScroll",
12323
- "noticeButton": "F1KBNa_noticeButton",
12324
- "header": "F1KBNa_header",
12325
- "rowFailed": "F1KBNa_rowFailed",
12326
- "del": "F1KBNa_del",
12327
- "diffActions": "F1KBNa_diffActions",
12328
- "settingsRowText": "F1KBNa_settingsRowText",
12329
- "fileListFloat": "F1KBNa_fileListFloat",
12330
- "gutter": "F1KBNa_gutter",
12302
+ "code": "F1KBNa_code",
12303
+ "resizeHandle": "F1KBNa_resizeHandle",
12304
+ "intraAdd": "F1KBNa_intraAdd",
12331
12305
  "layer": "F1KBNa_layer",
12306
+ "settingsPage": "F1KBNa_settingsPage",
12332
12307
  "fileList": "F1KBNa_fileList",
12333
- "overviewMarker": "F1KBNa_overviewMarker",
12334
- "splitCols": "F1KBNa_splitCols",
12308
+ "rowFailed": "F1KBNa_rowFailed",
12309
+ "gutter": "F1KBNa_gutter",
12310
+ "wrapActive": "F1KBNa_wrapActive",
12311
+ "blockFlash": "F1KBNa_blockFlash",
12312
+ "splitHScrollFill": "F1KBNa_splitHScrollFill",
12313
+ "noticeText": "F1KBNa_noticeText",
12314
+ "emptyState": "F1KBNa_emptyState",
12315
+ "bulkActions": "F1KBNa_bulkActions",
12316
+ "diffHeader": "F1KBNa_diffHeader",
12317
+ "markerAdd": "F1KBNa_markerAdd",
12318
+ "intraDel": "F1KBNa_intraDel",
12319
+ "splitHScrollRow": "F1KBNa_splitHScrollRow",
12320
+ "header": "F1KBNa_header",
12321
+ "splitLadd": "F1KBNa_splitLadd",
12322
+ "notice": "F1KBNa_notice",
12323
+ "confirmText": "F1KBNa_confirmText",
12324
+ "diffBodyWrap": "F1KBNa_diffBodyWrap",
12325
+ "line": "F1KBNa_line",
12326
+ "noticeButton": "F1KBNa_noticeButton",
12327
+ "lines": "F1KBNa_lines",
12328
+ "confirmBackdrop": "F1KBNa_confirmBackdrop",
12329
+ "searchCount": "F1KBNa_searchCount",
12330
+ "stepperValue": "F1KBNa_stepperValue",
12331
+ "split": "F1KBNa_split",
12332
+ "splitCol": "F1KBNa_splitCol",
12333
+ "splitDivider": "F1KBNa_splitDivider",
12334
+ "badgeCount": "F1KBNa_badgeCount",
12335
+ "detail": "F1KBNa_detail",
12335
12336
  "searchBar": "F1KBNa_searchBar",
12336
- "splitRdel": "F1KBNa_splitRdel",
12337
- "missing": "F1KBNa_missing",
12338
- "statusBar": "F1KBNa_statusBar",
12339
- "diffStats": "F1KBNa_diffStats",
12340
- "markerDel": "F1KBNa_markerDel",
12341
- "delCount": "F1KBNa_delCount",
12342
- "toggleThumb": "F1KBNa_toggleThumb",
12343
- "iconAction": "F1KBNa_iconAction",
12337
+ "add": "F1KBNa_add",
12338
+ "splitRadd": "F1KBNa_splitRadd",
12339
+ "vSpacer": "F1KBNa_vSpacer",
12340
+ "stepper": "F1KBNa_stepper",
12341
+ "diff": "F1KBNa_diff",
12342
+ "expandExpanded": "F1KBNa_expandExpanded",
12343
+ "badge": "F1KBNa_badge",
12344
12344
  "row": "F1KBNa_row",
12345
- "searchCount": "F1KBNa_searchCount"
12345
+ "iconAction": "F1KBNa_iconAction",
12346
+ "actionQuietDisabled": "F1KBNa_actionQuietDisabled"
12346
12347
  };
12347
12348
  //#endregion
12348
12349
  //#region lib/types/client/PendingPanel.js
@@ -12382,6 +12383,47 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
12382
12383
  * so a sub-pixel float error (wrapped row heights, fractional scrollTop) never
12383
12384
  * mis-classifies the block the view is sitting on. Half a row height. */
12384
12385
  const NAV_ANCHOR_TOLERANCE_PX = ROW_HEIGHT_PX / 4;
12386
+ /** The diff view-mode toggle glyph: the whole file as one column of text lines
12387
+ * (unified) or two side-by-side columns of text lines (split). Hand-drawn
12388
+ * because the icon library has no single/double-column glyph. Rendered 1:1
12389
+ * (viewBox matches the size) with integer bar geometry, so every thin line
12390
+ * lands on whole pixels and stays crisp on any display scale. */
12391
+ function ViewModeIcon({ split, size = 14 }) {
12392
+ const lineY = [
12393
+ 1,
12394
+ 4,
12395
+ 7,
12396
+ 10,
12397
+ 13
12398
+ ];
12399
+ const lineH = 1;
12400
+ return (0, react_jsx_runtime.jsx)("svg", {
12401
+ width: size,
12402
+ height: size,
12403
+ viewBox: "0 0 14 14",
12404
+ fill: "none",
12405
+ xmlns: "http://www.w3.org/2000/svg",
12406
+ children: split ? (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [lineY.map((y) => (0, react_jsx_runtime.jsx)("rect", {
12407
+ x: "1",
12408
+ y,
12409
+ width: "5",
12410
+ height: lineH,
12411
+ fill: "currentColor"
12412
+ }, `l${y}`)), lineY.map((y) => (0, react_jsx_runtime.jsx)("rect", {
12413
+ x: "8",
12414
+ y,
12415
+ width: "5",
12416
+ height: lineH,
12417
+ fill: "currentColor"
12418
+ }, `r${y}`))] }) : lineY.map((y) => (0, react_jsx_runtime.jsx)("rect", {
12419
+ x: "1",
12420
+ y,
12421
+ width: "12",
12422
+ height: lineH,
12423
+ fill: "currentColor"
12424
+ }, `u${y}`))
12425
+ });
12426
+ }
12385
12427
  /** Total width of the two line-number gutters, subtracted from the code width
12386
12428
  * when measuring wrapped line heights. */
12387
12429
  const WRAP_GUTTERS_PX = 88;
@@ -12873,17 +12915,30 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
12873
12915
  observer?.disconnect();
12874
12916
  };
12875
12917
  }, [file.id]);
12876
- const blockOfPair = (0, react.useMemo)(() => model.blocks.map((block) => ({
12877
- start: pairOfRow.get(block.start) ?? 0,
12878
- end: pairOfRow.get(block.end) ?? 0
12879
- })), [model, pairOfRow]);
12918
+ const blockOfPair = (0, react.useMemo)(() => model.blocks.map((block) => {
12919
+ let start = Number.POSITIVE_INFINITY;
12920
+ let end = Number.NEGATIVE_INFINITY;
12921
+ for (let row = block.start; row <= block.end; row++) {
12922
+ const pair = pairOfRow.get(row);
12923
+ if (pair === void 0) continue;
12924
+ if (pair < start) start = pair;
12925
+ if (pair > end) end = pair;
12926
+ }
12927
+ return {
12928
+ start: Number.isFinite(start) ? start : 0,
12929
+ end: Number.isFinite(end) ? end : 0
12930
+ };
12931
+ }), [model, pairOfRow]);
12880
12932
  const blockIndexByPair = (0, react.useMemo)(() => {
12881
12933
  const map = /* @__PURE__ */ new Map();
12882
- blockOfPair.forEach((block, bi) => {
12883
- for (let k = block.start; k <= block.end; k++) map.set(k, bi);
12934
+ model.blocks.forEach((block, bi) => {
12935
+ for (let row = block.start; row <= block.end; row++) {
12936
+ const pair = pairOfRow.get(row);
12937
+ if (pair !== void 0) map.set(pair, bi);
12938
+ }
12884
12939
  });
12885
12940
  return map;
12886
- }, [blockOfPair]);
12941
+ }, [model, pairOfRow]);
12887
12942
  const onPairHover = (0, react.useCallback)((k) => {
12888
12943
  const bi = blockIndexByPair.get(k);
12889
12944
  setHoveredBlock(bi);
@@ -13536,8 +13591,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
13536
13591
  setWrapEnabled(wrapKey, next);
13537
13592
  };
13538
13593
  const [tabWidthSpaces] = (0, react.useState)(() => tabWidth());
13539
- const splitView = splitMode();
13594
+ const [splitView, setSplitView] = (0, react.useState)(() => splitMode());
13540
13595
  const leadRows = navLeadRows();
13596
+ const toggleSplitView = () => {
13597
+ const next = !splitView;
13598
+ setSplitView(next);
13599
+ setSplitMode(next);
13600
+ };
13541
13601
  const splitDiffRef = (0, react.useRef)(null);
13542
13602
  const model = (0, react.useMemo)(() => {
13543
13603
  const diff = computeWholeFileDiff(file.oldText, file.newText);
@@ -14131,6 +14191,20 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
14131
14191
  children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutline16, { size: 14 })
14132
14192
  })
14133
14193
  }),
14194
+ (0, react_jsx_runtime.jsx)("span", { className: PendingPanel_module_css_default.divider }),
14195
+ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
14196
+ label: t(splitView ? "action.viewUnified" : "action.viewSplit"),
14197
+ side: "bottom",
14198
+ delayMs: 500,
14199
+ children: (0, react_jsx_runtime.jsx)("button", {
14200
+ type: "button",
14201
+ className: `${PendingPanel_module_css_default.action} ${PendingPanel_module_css_default.iconAction}`,
14202
+ "data-diff-toggle-view": true,
14203
+ "aria-label": t(splitView ? "action.viewUnified" : "action.viewSplit"),
14204
+ onClick: toggleSplitView,
14205
+ children: (0, react_jsx_runtime.jsx)(ViewModeIcon, { split: splitView })
14206
+ })
14207
+ }),
14134
14208
  (0, react_jsx_runtime.jsx)("span", { className: PendingPanel_module_css_default.flexSpacer }),
14135
14209
  (0, react_jsx_runtime.jsx)("button", {
14136
14210
  type: "button",
@@ -15995,6 +16069,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
15995
16069
  "action.nextDiff": "下一处差异",
15996
16070
  "action.showFileList": "展开文件列表",
15997
16071
  "action.hideFileList": "收起文件列表",
16072
+ "action.viewSplit": "切换到双栏",
16073
+ "action.viewUnified": "切换到单栏",
15998
16074
  "action.copyHint": "复制引用",
15999
16075
  "action.copied": "已复制",
16000
16076
  "action.langAuto": "自动",
@@ -16070,6 +16146,8 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
16070
16146
  "action.nextDiff": "Next diff",
16071
16147
  "action.showFileList": "Show file list",
16072
16148
  "action.hideFileList": "Hide file list",
16149
+ "action.viewSplit": "Switch to side-by-side",
16150
+ "action.viewUnified": "Switch to unified",
16073
16151
  "action.copyHint": "Copy reference",
16074
16152
  "action.copied": "Copied",
16075
16153
  "action.langAuto": "Auto",
package/lib/index.js CHANGED
@@ -424,11 +424,9 @@ function defaultOpenPath(path, action) {
424
424
  /** Cap on one VCS command's runtime; scans (git status, svn status) can be slow
425
425
  * on large trees but must not hang the import. */
426
426
  const VCS_COMMAND_TIMEOUT_MS = 6e4;
427
- /** Blobs up to this size are read straight off the executor's buffered stdout
428
- * (the small-blob path, no temp file); larger blobs go through the checkout-index
429
- * temp-file path because the executor cap truncates its stdout. Kept below the
430
- * cap so the small path never truncates. */
431
- const GIT_BLOB_STDOUT_SAFE = 6e4;
427
+ /** Slack added to a blob's size when raising the per-command stdout budget
428
+ * (`stdoutMaxBytes`), so a baseline blob is never truncated at the boundary. */
429
+ const GIT_BLOB_STDOUT_SLACK = 1024;
432
430
  /** Quote one argument for a POSIX-ish shell, so paths with spaces or special
433
431
  * characters survive interpolation into VCS command lines. */
434
432
  function shq(value) {
@@ -469,12 +467,13 @@ function detectVcsRoot(start) {
469
467
  }
470
468
  }
471
469
  /** Run one command through the shell executor; a non-zero exit throws. */
472
- async function runShell(shell, command, workdir, signal) {
470
+ async function runShell(shell, command, workdir, signal, stdoutMaxBytes) {
473
471
  const spec = shell.resolve({
474
472
  command,
475
473
  workdir,
476
474
  timeoutMs: VCS_COMMAND_TIMEOUT_MS,
477
- signal
475
+ signal,
476
+ stdoutMaxBytes
478
477
  });
479
478
  const result = await shell.run(spec);
480
479
  if (result.exitCode !== 0) {
@@ -539,18 +538,7 @@ async function gitChanges(input) {
539
538
  } catch {
540
539
  size = 0;
541
540
  }
542
- if (Number.isFinite(size) && size > 0 && size <= GIT_BLOB_STDOUT_SAFE) oldText = await runShell(shell, `git show :0:${shq(rel)}`, root, signal);
543
- else {
544
- const tempRel = (await runShell(shell, `git checkout-index --temp --force -- ${shq(rel)}`, root, signal)).trim().split(/\s+/)[0] ?? "";
545
- if (tempRel !== "") {
546
- const tempFile = resolve(root, tempRel);
547
- try {
548
- oldText = await readText(tempFile) ?? "";
549
- } finally {
550
- await rm(tempFile, { force: true }).catch(() => {});
551
- }
552
- }
553
- }
541
+ if (Number.isFinite(size) && size > 0) oldText = await runShell(shell, `git show :0:${shq(rel)}`, root, signal, size + GIT_BLOB_STDOUT_SLACK);
554
542
  } catch {
555
543
  oldText = "";
556
544
  }
@@ -48,6 +48,8 @@ export declare const zh: {
48
48
  'action.nextDiff': string;
49
49
  'action.showFileList': string;
50
50
  'action.hideFileList': string;
51
+ 'action.viewSplit': string;
52
+ 'action.viewUnified': string;
51
53
  'action.copyHint': string;
52
54
  'action.copied': string;
53
55
  'action.langAuto': string;
@@ -131,6 +133,8 @@ export declare const en: {
131
133
  'action.nextDiff': string;
132
134
  'action.showFileList': string;
133
135
  'action.hideFileList': string;
136
+ 'action.viewSplit': string;
137
+ 'action.viewUnified': string;
134
138
  'action.copyHint': string;
135
139
  'action.copied': string;
136
140
  'action.langAuto': string;
@@ -44,6 +44,8 @@ export interface ShellExecutorLike {
44
44
  workdir?: string | undefined;
45
45
  timeoutMs?: number | undefined;
46
46
  signal?: AbortSignal | undefined;
47
+ /** Foreground stdout capture budget in bytes; absent uses the executor's cap. */
48
+ stdoutMaxBytes?: number | undefined;
47
49
  }): unknown;
48
50
  run(spec: unknown): Promise<{
49
51
  exitCode: number | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-diff-approval",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "DeepSeek Harness plugin: pending-edit review with whole-file diff and Keep/Revert",
5
5
  "packageManager": "pnpm@11.21.0",
6
6
  "author": "Wu Zhiwei",