dsh-diff-approval 0.22.0 → 0.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -21,7 +21,7 @@ window.__ModuleLoader__.load({
21
21
  let react_dom = require("react-dom");
22
22
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
23
23
  //#region \0dsh-css:/home/runner/work/dsh-diff-approval/dsh-diff-approval/src/client/PendingPanel.module.css.mjs
24
- const css = ".F1KBNa_panelFailure{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:16px;display:flex}.F1KBNa_panelFailureText{min-width:0}.F1KBNa_panelFailureRetry{border:1px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;margin-left:auto;padding:2px 8px}.F1KBNa_panelFailureRetry:hover{background:var(--dsw-alias-interactive-bg-hover)}.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_headerEntry{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:28px;flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.F1KBNa_headerEntry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_headerEntry[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.F1KBNa_headerEntry:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_headerEntryCount{box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);min-width:14px;height:14px;color:var(--dsw-alias-label-primary-foreground);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:7px;padding:0 3px;font-size:10px;line-height:14px;position:absolute;top:-1px;right:-1px}.F1KBNa_headerEntry svg{display:block}.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_coverBackdrop{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_panelDocked{width:100%;max-width:none;height:100%;box-shadow:none;border:none;border-radius:0;position:static;inset:auto}.F1KBNa_dockHost{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.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_settingsGroup{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupHeader{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsGroupText{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.F1KBNa_settingsGroupTitle{font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsGroupDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsGroupChevron{margin-left:auto;transition:transform .15s}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupChevron{transform:rotate(180deg)}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupHeader{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupBody{flex-direction:column;display:flex}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow{padding-left:16px}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow:last-child,.F1KBNa_settingsPage>.F1KBNa_settingsRow:last-child{border-bottom:none}.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);min-width:72px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelector[data-recording]{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-secondary)}.F1KBNa_settingsReset{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;margin-left:6px;padding:0;display:inline-flex}.F1KBNa_settingsReset:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_settingsReset:disabled{opacity:.4;cursor:default}.F1KBNa_colorPicker{position:relative}.F1KBNa_colorPickerTrigger{background:var(--dsw-alias-bg-module-platform);width:120px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_colorPickerTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_colorSwatch{border:1px solid var(--dsw-alias-border-l2);border-radius:50%;flex:none;width:24px;height:24px}.F1KBNa_colorValue{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.F1KBNa_colorPickerChevron{flex:none}.F1KBNa_colorBackdrop{z-index:40;position:fixed;inset:0}.F1KBNa_colorPickerPopover{z-index:41;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_colorPickerPanel{flex-direction:column;gap:8px;display:flex}.F1KBNa_colorPickerInputRow{align-items:center;gap:8px;display:flex}.F1KBNa_colorPickerPreview{border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex:none;width:22px;height:22px}.F1KBNa_colorPickerInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-module-platform);min-width:0;height:30px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:0 8px;font-size:12px;line-height:28px}.F1KBNa_colorPickerInput:focus{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.F1KBNa_colorSv{border:1px solid var(--dsw-alias-border-l1);cursor:crosshair;touch-action:none;border-radius:8px;height:140px;position:relative}.F1KBNa_colorSvCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_colorHue{border:1px solid var(--dsw-alias-border-l1);cursor:pointer;touch-action:none;border-radius:7px;height:14px;position:relative}.F1KBNa_colorHueCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_diffPreview{z-index:2;border:1px solid var(--dsw-alias-border-l1);font:var(--dsw-font-markdown-code-block);background:var(--dsw-alias-markdown-code-block);border-radius:8px;margin:16px 0 8px;padding:8px;position:sticky;top:0;overflow:hidden}.F1KBNa_diffPreviewTitle{color:var(--dsw-alias-label-tertiary);margin-bottom:6px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_diffPreviewScroll{height:132px;overflow-y:auto}.F1KBNa_mdPreviewWrap{flex:1;min-width:0;min-height:0;display:flex;position:relative}.F1KBNa_mdPreviewBody{min-width:0;min-height:0;color:var(--dsw-alias-label-primary);flex:1;padding:12px 16px;position:relative;overflow:auto}.F1KBNa_mdPreviewContent{width:100%;min-width:0;margin:0 auto}.F1KBNa_mdPreviewSingle{display:block}.F1KBNa_mdPreviewDouble{display:flex}.F1KBNa_mdPreviewBody .mdBlock{border-radius:4px;margin-bottom:12px;padding:2px 6px}.F1KBNa_mdPreviewBody .mdAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_mdPreviewBody .mdDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_mdPreviewBody .mdWordDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdWordAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdDouble{flex-direction:column;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleRow{align-items:flex-start;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleCol{flex:1;min-width:0}.F1KBNa_mdPreviewBody .mdDoubleRule{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:0 12px}.F1KBNa_mdPreviewFallback{font-family:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary);padding:12px 16px;font-size:12px;line-height:18px}.F1KBNa_mdPreviewBody{word-break:break-word;font-size:13px;line-height:20px}.F1KBNa_mdPreviewBody>:first-child{margin-top:0}.F1KBNa_mdPreviewBody>:last-child{margin-bottom:0}.F1KBNa_mdPreviewBody h1,.F1KBNa_mdPreviewBody h2,.F1KBNa_mdPreviewBody h3,.F1KBNa_mdPreviewBody h4,.F1KBNa_mdPreviewBody h5,.F1KBNa_mdPreviewBody h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.F1KBNa_mdPreviewBody h1{font-size:22px}.F1KBNa_mdPreviewBody h2{font-size:19px}.F1KBNa_mdPreviewBody h3{font-size:16px}.F1KBNa_mdPreviewBody h4{font-size:15px}.F1KBNa_mdPreviewBody h5{font-size:14px}.F1KBNa_mdPreviewBody h6{font-size:13px}.F1KBNa_mdPreviewBody p{margin:8px 0}.F1KBNa_mdPreviewBody ul,.F1KBNa_mdPreviewBody ol{margin:8px 0;padding-left:22px}.F1KBNa_mdPreviewBody li{margin:2px 0}.F1KBNa_mdPreviewBody a{color:var(--dsw-alias-state-business-primary);text-decoration:none}.F1KBNa_mdPreviewBody a:hover{text-decoration:underline}.F1KBNa_mdPreviewBody code{font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:4px;padding:1px 5px;font-size:12.5px}.F1KBNa_mdPreviewBody pre{border:1px solid var(--dsw-alias-border-l1);font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:18px;overflow:auto}.F1KBNa_mdPreviewBody pre code{background:0 0;padding:0}.F1KBNa_mdPreviewBody blockquote{border-left:3px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);margin:8px 0;padding:0 12px}.F1KBNa_mdPreviewBody hr{background:var(--dsw-alias-border-l1);border:none;height:1px;margin:16px 0}.F1KBNa_mdPreviewBody table{border-collapse:collapse;margin:8px 0}.F1KBNa_mdPreviewBody th,.F1KBNa_mdPreviewBody td{border:1px solid var(--dsw-alias-border-l1);padding:4px 10px}.F1KBNa_mdPreviewBody img{max-width:100%}.F1KBNa_mdPreviewBody .mdImageFallback{border:1px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block) 45%, transparent);width:100%;min-height:120px;color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-markdown-code-block);text-align:center;white-space:pre-wrap;word-break:break-all;border-radius:4px;justify-content:center;align-items:center;margin:0 auto;padding:8px 12px;font-size:12px;line-height:16px;display:flex}.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);cursor:pointer;border-radius:8px;padding:0;position:relative}.F1KBNa_stepperButton:before,.F1KBNa_stepperButton:after{content:\"\";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_stepperButton:before{width:10px;height:1px}.F1KBNa_stepperButton:after{width:1px;height:10px;display:none}.F1KBNa_stepperButtonUp:after{display:block}.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_fileListKnob{z-index:39;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute}.F1KBNa_fileListKnob:hover{background:var(--dsw-alias-interactive-bg-hover)}.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);transform-origin:0 0;border-radius:12px;flex-direction:column;padding:6px 8px 10px;animation:.14s ease-out F1KBNa_fileListGrow;display:flex;position:absolute;overflow:hidden}@keyframes F1KBNa_fileListGrow{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.F1KBNa_fileListFloat{animation:none}}.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 2px 12px 8px;display:flex}.F1KBNa_listScroll{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.F1KBNa_bulkActions{flex:none;gap:6px;padding:8px 8px 0 0;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_floatResizeHandle{z-index:41;cursor:col-resize;background:0 0;width:8px;position:absolute;top:0;bottom:0;right:0}.F1KBNa_floatResizeHandle: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{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.F1KBNa_pickerCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:420px;max-width:100%;height:70%;max-height:100%;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.F1KBNa_pickerTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.F1KBNa_pickerClose{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.F1KBNa_pickerClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_pickerForm{flex:none;gap:8px;display:flex}.F1KBNa_pickerInput{border:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;flex:auto;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_pickerInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_tree{scrollbar-gutter:stable;border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex:auto;min-height:0;padding:4px 2px 4px 4px;overflow:auto}.F1KBNa_treeRow{border-radius:6px;align-items:center;gap:2px;padding-right:4px;display:flex}.F1KBNa_treeRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_treeRow[data-selected]{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 18%, transparent)}.F1KBNa_treeCaret{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_treeCaret:hover{color:var(--dsw-alias-label-primary)}.F1KBNa_treeName{min-width:0;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;align-items:center;gap:6px;padding:2px 4px;font-family:inherit;font-size:12px;line-height:18px;display:flex}.F1KBNa_treeName:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_treeNote{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.F1KBNa_pickerIcon{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_pickerName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_pickerNote{color:var(--dsw-alias-label-tertiary);flex:none;margin:0;font-size:12px;line-height:18px}.F1KBNa_pickerCheck{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-right:auto;font-size:12px;line-height:18px;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_groupHead{align-items:center;gap:4px;margin:8px 0 4px;padding-right:4px;display:flex}.F1KBNa_action.F1KBNa_addButton{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;min-height:0;padding:0;display:inline-flex}.F1KBNa_groupHead>.F1KBNa_group{margin:0}.F1KBNa_emptyActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.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(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsh-diff-del-color,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;scrollbar-width:none;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_diffPath::-webkit-scrollbar{display:none}.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_searchToggle{border:1px solid var(--dsw-alias-border-l1);min-height:25px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.F1KBNa_searchToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_searchToggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchMatch{color:inherit;background-color:#facc1542;border-radius:2px}.F1KBNa_searchMatchCurrent{color:inherit;background-color:#facc1599;border-radius:2px}.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_diffFlashFade;position:absolute;left:0;right:0}.F1KBNa_blockFlashShake{animation:.7s ease-out forwards F1KBNa_diffFlashShake}@keyframes F1KBNa_diffFlashFade{0%{opacity:1}to{opacity:0}}@keyframes F1KBNa_diffFlashShake{0%{opacity:1;transform:translateY(0)}10%{transform:translateY(1px)}20%{transform:translateY(-1px)}30%{transform:translateY(1px)}40%{transform:translateY(-1px)}50%{transform:translateY(1px)}60%{transform:translateY(-1px)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(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%;font-size:calc(1em * var(--dsh-diff-font-scale,1));display:table}.F1KBNa_line{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);-webkit-user-select:none;user-select:none;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(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_add{background-color:color-mix(in srgb, var(--dsh-diff-add-color,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_presentationSelect{cursor:pointer;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_presentationSelect:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_chip{justify-content:flex-end;align-items:center;gap:5px;min-width:0;padding-right:14px;display:inline-flex}.F1KBNa_chipLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_coverHost{align-items:center;display:inline-flex;position:relative}.F1KBNa_coverCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;align-items:center;gap:4px;padding:6px;display:flex}.F1KBNa_coverPopover{z-index:50;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_coverNotice{z-index:80;pointer-events:none;animation:1.25s ease-out forwards F1KBNa_coverNoticeFade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_coverNoticeCard{gap:4px;padding:6px 8px}@keyframes F1KBNa_coverNoticeFade{0%,78%{opacity:1}to{opacity:0}}.F1KBNa_coverNoticeGlyph{width:44px;height:44px;color:var(--dsw-alias-label-tertiary);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_coverNoticeGlyph[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_coverNoticeGlyph[data-changed]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_coverNoticeText{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.F1KBNa_coverButton{width:32px;height:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_coverButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_coverButton[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_presentationHost{align-items:center;display:inline-flex}.F1KBNa_chipPresentation{min-width:36px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_chipPresentation:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_mirrored{transform:scaleX(-1)}.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:var(--dsh-diff-line-height,22px)}.F1KBNa_subline{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);white-space:pre;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{min-width:0;height:var(--dsh-scrollbar-width,8px);flex:1 1 0;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:var(--dsh-scrollbar-width,8px)}.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(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 26%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 24%, transparent)}";
24
+ const css = ".F1KBNa_panelFailure{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:16px;display:flex}.F1KBNa_panelFailureText{min-width:0}.F1KBNa_panelFailureRetry{border:1px solid var(--dsw-alias-border-l2);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;margin-left:auto;padding:2px 8px}.F1KBNa_panelFailureRetry:hover{background:var(--dsw-alias-interactive-bg-hover)}.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_headerEntry{box-sizing:border-box;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:28px;flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex;position:relative}.F1KBNa_headerEntry:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_headerEntry[data-active]{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.F1KBNa_headerEntry:disabled{color:var(--dsw-alias-label-tertiary);cursor:default;background:0 0}.F1KBNa_headerEntryCount{box-sizing:border-box;background:var(--dsw-alias-button-primary-fill);min-width:14px;height:14px;color:var(--dsw-alias-label-primary-foreground);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:7px;padding:0 3px;font-size:10px;line-height:14px;position:absolute;top:-1px;right:-1px}.F1KBNa_headerEntry svg{display:block}.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_coverBackdrop{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_panelDocked{width:100%;max-width:none;height:100%;box-shadow:none;border:none;border-radius:0;position:static;inset:auto}.F1KBNa_dockHost{flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.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_settingsGroup{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupHeader{width:100%;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:16px 0;display:flex}.F1KBNa_settingsGroupText{text-align:left;flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.F1KBNa_settingsGroupTitle{font-size:14px;font-weight:400;line-height:22px}.F1KBNa_settingsGroupDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;font-weight:400;line-height:18px}.F1KBNa_settingsGroupChevron{margin-left:auto;transition:transform .15s}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupChevron{transform:rotate(180deg)}.F1KBNa_settingsGroup[data-open] .F1KBNa_settingsGroupHeader{border-bottom:1px solid var(--dsw-alias-border-l2)}.F1KBNa_settingsGroupBody{flex-direction:column;display:flex}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow{padding-left:16px}.F1KBNa_settingsGroupBody .F1KBNa_settingsRow:last-child,.F1KBNa_settingsPage>.F1KBNa_settingsRow:last-child{border-bottom:none}.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);min-width:72px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;line-height:22px;display:inline-flex}.F1KBNa_settingsSelector:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_settingsSelector[data-recording]{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-secondary)}.F1KBNa_settingsReset{width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;margin-left:6px;padding:0;display:inline-flex}.F1KBNa_settingsReset:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_settingsReset:disabled{opacity:.4;cursor:default}.F1KBNa_colorPicker{position:relative}.F1KBNa_colorPickerTrigger{background:var(--dsw-alias-bg-module-platform);width:120px;height:36px;font:inherit;color:var(--dsw-alias-label-primary);cursor:pointer;border:none;border-radius:18px;align-items:center;gap:8px;padding:0 8px;font-size:12px;line-height:18px;display:inline-flex}.F1KBNa_colorPickerTrigger:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_colorSwatch{border:1px solid var(--dsw-alias-border-l2);border-radius:50%;flex:none;width:24px;height:24px}.F1KBNa_colorValue{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;flex:1;min-width:0;overflow:hidden}.F1KBNa_colorPickerChevron{flex:none}.F1KBNa_colorBackdrop{z-index:40;position:fixed;inset:0}.F1KBNa_colorPickerPopover{z-index:41;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_colorPickerPanel{flex-direction:column;gap:8px;display:flex}.F1KBNa_colorPickerInputRow{align-items:center;gap:8px;display:flex}.F1KBNa_colorPickerPreview{border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex:none;width:22px;height:22px}.F1KBNa_colorPickerInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-module-platform);min-width:0;height:30px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;flex:1;padding:0 8px;font-size:12px;line-height:28px}.F1KBNa_colorPickerInput:focus{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.F1KBNa_colorSv{border:1px solid var(--dsw-alias-border-l1);cursor:crosshair;touch-action:none;border-radius:8px;height:140px;position:relative}.F1KBNa_colorSvCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_colorHue{border:1px solid var(--dsw-alias-border-l1);cursor:pointer;touch-action:none;border-radius:7px;height:14px;position:relative}.F1KBNa_colorHueCursor{pointer-events:none;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.F1KBNa_diffPreview{z-index:2;border:1px solid var(--dsw-alias-border-l1);font:var(--dsw-font-markdown-code-block);background:var(--dsw-alias-markdown-code-block);border-radius:8px;margin:16px 0 8px;padding:8px;position:sticky;top:0;overflow:hidden}.F1KBNa_diffPreviewTitle{color:var(--dsw-alias-label-tertiary);margin-bottom:6px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_diffPreviewScroll{height:132px;overflow-y:auto}.F1KBNa_mdPreviewWrap{flex:1;min-width:0;min-height:0;display:flex;position:relative}.F1KBNa_mdPreviewBody{min-width:0;min-height:0;color:var(--dsw-alias-label-primary);flex:1;padding:12px 16px;position:relative;overflow:auto}.F1KBNa_mdPreviewContent{width:100%;min-width:0;margin:0 auto}.F1KBNa_mdPreviewSingle{display:block}.F1KBNa_mdPreviewDouble{display:flex}.F1KBNa_mdPreviewBody .mdBlock{border-radius:4px;margin-bottom:12px;padding:2px 6px}.F1KBNa_mdPreviewBody .mdAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_mdPreviewBody .mdDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_mdPreviewBody .mdWordDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdWordAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 34%, transparent);border-radius:2px;padding:0 1px}.F1KBNa_mdPreviewBody .mdDouble{flex-direction:column;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleRow{align-items:flex-start;width:100%;min-width:0;display:flex}.F1KBNa_mdPreviewBody .mdDoubleCol{flex:1;min-width:0}.F1KBNa_mdPreviewBody .mdDoubleRule{background:var(--dsw-alias-border-l2);flex:none;align-self:stretch;width:1px;margin:0 12px}.F1KBNa_mdPreviewFallback{font-family:var(--dsw-font-markdown-code-block);color:var(--dsw-alias-label-tertiary);padding:12px 16px;font-size:12px;line-height:18px}.F1KBNa_mdPreviewBody{word-break:break-word;font-size:13px;line-height:20px}.F1KBNa_mdPreviewBody>:first-child{margin-top:0}.F1KBNa_mdPreviewBody>:last-child{margin-bottom:0}.F1KBNa_mdPreviewBody h1,.F1KBNa_mdPreviewBody h2,.F1KBNa_mdPreviewBody h3,.F1KBNa_mdPreviewBody h4,.F1KBNa_mdPreviewBody h5,.F1KBNa_mdPreviewBody h6{margin:16px 0 8px;font-weight:600;line-height:1.3}.F1KBNa_mdPreviewBody h1{font-size:22px}.F1KBNa_mdPreviewBody h2{font-size:19px}.F1KBNa_mdPreviewBody h3{font-size:16px}.F1KBNa_mdPreviewBody h4{font-size:15px}.F1KBNa_mdPreviewBody h5{font-size:14px}.F1KBNa_mdPreviewBody h6{font-size:13px}.F1KBNa_mdPreviewBody p{margin:8px 0}.F1KBNa_mdPreviewBody ul,.F1KBNa_mdPreviewBody ol{margin:8px 0;padding-left:22px}.F1KBNa_mdPreviewBody li{margin:2px 0}.F1KBNa_mdPreviewBody a{color:var(--dsw-alias-state-business-primary);text-decoration:none}.F1KBNa_mdPreviewBody a:hover{text-decoration:underline}.F1KBNa_mdPreviewBody code{font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:4px;padding:1px 5px;font-size:12.5px}.F1KBNa_mdPreviewBody pre{border:1px solid var(--dsw-alias-border-l1);font-family:var(--dsw-font-markdown-code-block);background:#9e9e9e40;border-radius:8px;margin:8px 0;padding:10px 12px;font-size:12.5px;line-height:18px;overflow:auto}.F1KBNa_mdPreviewBody pre code{background:0 0;padding:0}.F1KBNa_mdPreviewBody blockquote{border-left:3px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);margin:8px 0;padding:0 12px}.F1KBNa_mdPreviewBody hr{background:var(--dsw-alias-border-l1);border:none;height:1px;margin:16px 0}.F1KBNa_mdPreviewBody table{border-collapse:collapse;margin:8px 0}.F1KBNa_mdPreviewBody th,.F1KBNa_mdPreviewBody td{border:1px solid var(--dsw-alias-border-l1);padding:4px 10px}.F1KBNa_mdPreviewBody img{max-width:100%}.F1KBNa_mdPreviewBody .mdImageFallback{border:1px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-markdown-code-block) 45%, transparent);width:100%;min-height:120px;color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-markdown-code-block);text-align:center;white-space:pre-wrap;word-break:break-all;border-radius:4px;justify-content:center;align-items:center;margin:0 auto;padding:8px 12px;font-size:12px;line-height:16px;display:flex}.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);cursor:pointer;border-radius:8px;padding:0;position:relative}.F1KBNa_stepperButton:before,.F1KBNa_stepperButton:after{content:\"\";background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_stepperButton:before{width:10px;height:1px}.F1KBNa_stepperButton:after{width:1px;height:10px;display:none}.F1KBNa_stepperButtonUp:after{display:block}.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_fileListKnob{z-index:39;box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);opacity:.45;width:28px;height:28px;color:var(--dsw-alias-label-primary);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:8px;justify-content:center;align-items:center;padding:0;transition:opacity .12s;display:inline-flex;position:absolute}.F1KBNa_fileListKnob:hover,.F1KBNa_fileListKnob:focus-visible{opacity:1;background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-interactive-bg-hover), var(--dsw-alias-interactive-bg-hover))}.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);transform-origin:0 0;border-radius:12px;flex-direction:column;padding:6px 8px 10px;animation:.14s ease-out F1KBNa_fileListGrow;display:flex;position:absolute;overflow:hidden}@keyframes F1KBNa_fileListGrow{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.F1KBNa_fileListFloat{animation:none}}.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:scroll}.F1KBNa_bulkActions{flex:none;gap:6px;padding:8px 8px 0 0;display:flex}.F1KBNa_bulkActions .F1KBNa_action{text-align:center;flex:1}.F1KBNa_resizeHandle{cursor:col-resize;touch-action:none;background:0 0;flex:none;width:5px;margin:0 -2px}.F1KBNa_resizeHandle:hover{background:var(--dsw-alias-border-l2)}.F1KBNa_floatResizeHandle{z-index:41;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;border-radius:4px;position:absolute}.F1KBNa_floatResizeHandle:hover{background-color:var(--dsw-alias-bg-base);background-image:linear-gradient(var(--dsw-alias-border-l2), 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:55;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{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.F1KBNa_pickerCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);width:420px;max-width:100%;height:70%;max-height:100%;box-shadow:var(--dsw-shadow-lv3);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex;position:relative;overflow:hidden}.F1KBNa_pickerTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}.F1KBNa_pickerClose{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.F1KBNa_pickerClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_pickerForm{flex:none;gap:8px;display:flex}.F1KBNa_pickerInput{border:1px solid var(--dsw-alias-border-l1);min-width:0;color:var(--dsw-alias-label-primary);background:0 0;border-radius:8px;flex:auto;padding:3px 8px;font-family:inherit;font-size:12px;line-height:18px}.F1KBNa_pickerInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.F1KBNa_tree{border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex:auto;min-height:0;padding:4px 2px 4px 4px;overflow:auto scroll}.F1KBNa_treeRow{border-radius:6px;align-items:center;gap:2px;padding-right:4px;display:flex}.F1KBNa_treeRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_treeRow[data-selected]{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 18%, transparent)}.F1KBNa_treeCaret{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_treeCaret:hover{color:var(--dsw-alias-label-primary)}.F1KBNa_treeName{min-width:0;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:auto;align-items:center;gap:6px;padding:2px 4px;font-family:inherit;font-size:12px;line-height:18px;display:flex}.F1KBNa_treeName:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.F1KBNa_treeNote{color:var(--dsw-alias-label-tertiary);margin:2px 0;font-size:12px;line-height:18px}.F1KBNa_pickerIcon{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_pickerName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_pickerNote{color:var(--dsw-alias-label-tertiary);flex:none;margin:0;font-size:12px;line-height:18px}.F1KBNa_pickerCheck{color:var(--dsw-alias-label-secondary);cursor:pointer;align-items:center;gap:6px;margin-right:auto;font-size:12px;line-height:18px;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_groupHead{align-items:center;gap:4px;margin:8px 0 4px;padding-right:8px;display:flex}.F1KBNa_action.F1KBNa_addButton{box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;min-height:0;padding:0;display:inline-flex}.F1KBNa_groupHead>.F1KBNa_group{margin:0}.F1KBNa_emptyActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.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(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 60%, var(--dsw-alias-label-primary))}.F1KBNa_delCount{color:color-mix(in srgb, var(--dsh-diff-del-color,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;scrollbar-width:none;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_diffPath::-webkit-scrollbar{display:none}.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_searchToggle{border:1px solid var(--dsw-alias-border-l1);min-height:25px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 6px;display:inline-flex}.F1KBNa_searchToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_searchToggleOn{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-business-primary)}.F1KBNa_searchMatch{color:inherit;background-color:#facc1542;border-radius:2px}.F1KBNa_searchMatchCurrent{color:inherit;background-color:#facc1599;border-radius:2px}.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_diffFlashFade;position:absolute;left:0;right:0}.F1KBNa_blockFlashShake{animation:.7s ease-out forwards F1KBNa_diffFlashShake}@keyframes F1KBNa_diffFlashFade{0%{opacity:1}to{opacity:0}}@keyframes F1KBNa_diffFlashShake{0%{opacity:1;transform:translateY(0)}10%{transform:translateY(1px)}20%{transform:translateY(-1px)}30%{transform:translateY(1px)}40%{transform:translateY(-1px)}50%{transform:translateY(1px)}60%{transform:translateY(-1px)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(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%;font-size:calc(1em * var(--dsh-diff-font-scale,1));display:table}.F1KBNa_line{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);-webkit-user-select:none;user-select:none;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(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_add{background-color:color-mix(in srgb, var(--dsh-diff-add-color,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_presentationSelect{cursor:pointer;height:28px;color:var(--dsw-alias-label-tertiary);background:0 0;border:none;border-radius:28px;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_presentationSelect:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_chip{justify-content:flex-end;align-items:center;gap:5px;min-width:0;padding-right:14px;display:inline-flex}.F1KBNa_chipLabel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.F1KBNa_coverHost{align-items:center;display:inline-flex;position:relative}.F1KBNa_coverCard{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv2);border-radius:12px;align-items:center;gap:4px;padding:6px;display:flex}.F1KBNa_coverPopover{z-index:50;position:absolute;top:calc(100% + 6px);right:0}.F1KBNa_coverNotice{z-index:80;pointer-events:none;animation:1.25s ease-out forwards F1KBNa_coverNoticeFade;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.F1KBNa_coverNoticeCard{gap:4px;padding:6px 8px}@keyframes F1KBNa_coverNoticeFade{0%,78%{opacity:1}to{opacity:0}}.F1KBNa_coverNoticeGlyph{width:44px;height:44px;color:var(--dsw-alias-label-tertiary);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.F1KBNa_coverNoticeGlyph[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_coverNoticeGlyph[data-changed]{background:var(--dsw-alias-interactive-bg-hover)}.F1KBNa_coverNoticeText{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.F1KBNa_coverButton{width:32px;height:32px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.F1KBNa_coverButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_coverButton[data-on]{color:var(--dsw-alias-label-primary)}.F1KBNa_presentationHost{align-items:center;display:inline-flex}.F1KBNa_chipPresentation{min-width:36px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:20px;flex:none;justify-content:center;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.F1KBNa_chipPresentation:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.F1KBNa_mirrored{transform:scaleX(-1)}.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:var(--dsh-diff-line-height,22px)}.F1KBNa_subline{height:var(--dsh-diff-line-height,22px);line-height:var(--dsh-diff-line-height,22px);white-space:pre;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{min-width:0;height:var(--dsh-scrollbar-width,8px);flex:1 1 0;overflow:auto hidden}.F1KBNa_splitHScroll::-webkit-scrollbar{height:var(--dsh-scrollbar-width,8px)}.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(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_splitLadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_splitRdel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 12%, transparent)}.F1KBNa_splitRadd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 10%, transparent)}.F1KBNa_intraDel{background-color:color-mix(in srgb, var(--dsh-diff-del-color,var(--dsw-alias-state-error-primary)) 26%, transparent);text-decoration:line-through}.F1KBNa_intraAdd{background-color:color-mix(in srgb, var(--dsh-diff-add-color,var(--dsw-alias-state-success-primary)) 24%, transparent)}";
25
25
  const tagId = "dsh-diff-approval/PendingPanel.module.css";
26
26
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
27
27
  const tag = document.createElement("style");
@@ -31,204 +31,204 @@ window.__ModuleLoader__.load({
31
31
  document.head.appendChild(tag);
32
32
  }
33
33
  var PendingPanel_module_css_default = {
34
- "flexSpacer": "F1KBNa_flexSpacer",
35
- "rowPath": "F1KBNa_rowPath",
36
- "code": "F1KBNa_code",
37
- "noticeButton": "F1KBNa_noticeButton",
38
- "settingsGroupDesc": "F1KBNa_settingsGroupDesc",
39
- "settingsRowTitle": "F1KBNa_settingsRowTitle",
40
- "actionPrimary": "F1KBNa_actionPrimary",
41
- "emptyActions": "F1KBNa_emptyActions",
42
- "actionQuietDisabled": "F1KBNa_actionQuietDisabled",
43
- "header": "F1KBNa_header",
44
- "settingsGroupChevron": "F1KBNa_settingsGroupChevron",
45
- "confirmCard": "F1KBNa_confirmCard",
46
- "group": "F1KBNa_group",
47
- "settingsRowText": "F1KBNa_settingsRowText",
48
- "wrapActive": "F1KBNa_wrapActive",
49
- "splitLdel": "F1KBNa_splitLdel",
50
- "langSelect": "F1KBNa_langSelect",
34
+ "coverNoticeFade": "F1KBNa_coverNoticeFade",
35
+ "stepperValue": "F1KBNa_stepperValue",
36
+ "splitHScrollFill": "F1KBNa_splitHScrollFill",
37
+ "title": "F1KBNa_title",
38
+ "coverPopover": "F1KBNa_coverPopover",
39
+ "colorPickerPreview": "F1KBNa_colorPickerPreview",
40
+ "mirrored": "F1KBNa_mirrored",
41
+ "confirmText": "F1KBNa_confirmText",
42
+ "diff": "F1KBNa_diff",
51
43
  "mdPreviewWrap": "F1KBNa_mdPreviewWrap",
44
+ "headerEntry": "F1KBNa_headerEntry",
45
+ "colorHueCursor": "F1KBNa_colorHueCursor",
46
+ "statusBar": "F1KBNa_statusBar",
47
+ "settingsGroupBody": "F1KBNa_settingsGroupBody",
48
+ "toggleThumb": "F1KBNa_toggleThumb",
49
+ "fileListFloat": "F1KBNa_fileListFloat",
50
+ "panel": "F1KBNa_panel",
51
+ "groupHead": "F1KBNa_groupHead",
52
+ "colorPickerTrigger": "F1KBNa_colorPickerTrigger",
53
+ "rail": "F1KBNa_rail",
54
+ "layer": "F1KBNa_layer",
55
+ "colorPicker": "F1KBNa_colorPicker",
56
+ "colorSwatch": "F1KBNa_colorSwatch",
57
+ "panelFailureText": "F1KBNa_panelFailureText",
58
+ "mdPreviewBody": "F1KBNa_mdPreviewBody",
59
+ "settingsPage": "F1KBNa_settingsPage",
60
+ "pickerIcon": "F1KBNa_pickerIcon",
61
+ "actionError": "F1KBNa_actionError",
62
+ "delCount": "F1KBNa_delCount",
52
63
  "pickerCard": "F1KBNa_pickerCard",
53
- "splitHScroll": "F1KBNa_splitHScroll",
54
- "intraDel": "F1KBNa_intraDel",
55
- "panelDocked": "F1KBNa_panelDocked",
64
+ "note": "F1KBNa_note",
65
+ "emptyActions": "F1KBNa_emptyActions",
66
+ "close": "F1KBNa_close",
67
+ "split": "F1KBNa_split",
68
+ "blockActions": "F1KBNa_blockActions",
69
+ "searchMatchCurrent": "F1KBNa_searchMatchCurrent",
70
+ "searchMatch": "F1KBNa_searchMatch",
71
+ "markerDel": "F1KBNa_markerDel",
72
+ "add": "F1KBNa_add",
73
+ "chipLabel": "F1KBNa_chipLabel",
74
+ "chipPresentation": "F1KBNa_chipPresentation",
75
+ "splitHScrollRow": "F1KBNa_splitHScrollRow",
76
+ "searchToggleOn": "F1KBNa_searchToggleOn",
56
77
  "importNote": "F1KBNa_importNote",
57
- "mdPreviewBody": "F1KBNa_mdPreviewBody",
58
78
  "chip": "F1KBNa_chip",
59
- "diffStats": "F1KBNa_diffStats",
60
- "colorPickerInputRow": "F1KBNa_colorPickerInputRow",
61
- "noticeText": "F1KBNa_noticeText",
79
+ "splitLdel": "F1KBNa_splitLdel",
80
+ "importButton": "F1KBNa_importButton",
81
+ "missing": "F1KBNa_missing",
82
+ "splitLadd": "F1KBNa_splitLadd",
83
+ "pickerClose": "F1KBNa_pickerClose",
84
+ "gutter": "F1KBNa_gutter",
85
+ "kindTag": "F1KBNa_kindTag",
62
86
  "addButton": "F1KBNa_addButton",
63
- "toggleThumb": "F1KBNa_toggleThumb",
64
- "pickerCheck": "F1KBNa_pickerCheck",
65
- "blockActions": "F1KBNa_blockActions",
66
- "colorSvCursor": "F1KBNa_colorSvCursor",
67
- "tree": "F1KBNa_tree",
68
- "panelFailure": "F1KBNa_panelFailure",
69
- "markerDel": "F1KBNa_markerDel",
70
- "mirrored": "F1KBNa_mirrored",
71
- "colorPickerChevron": "F1KBNa_colorPickerChevron",
72
- "note": "F1KBNa_note",
73
- "settingsGroupBody": "F1KBNa_settingsGroupBody",
74
- "diffFlashShake": "F1KBNa_diffFlashShake",
75
- "iconAction": "F1KBNa_iconAction",
87
+ "intraDel": "F1KBNa_intraDel",
76
88
  "splitCol": "F1KBNa_splitCol",
77
- "panel": "F1KBNa_panel",
78
- "missing": "F1KBNa_missing",
79
- "missingHint": "F1KBNa_missingHint",
80
- "searchMatchCurrent": "F1KBNa_searchMatchCurrent",
81
- "rows": "F1KBNa_rows",
82
- "diff": "F1KBNa_diff",
89
+ "header": "F1KBNa_header",
90
+ "addCount": "F1KBNa_addCount",
91
+ "langSelect": "F1KBNa_langSelect",
92
+ "noticeButton": "F1KBNa_noticeButton",
93
+ "mdPreviewSingle": "F1KBNa_mdPreviewSingle",
94
+ "settingsGroupTitle": "F1KBNa_settingsGroupTitle",
95
+ "diffBodyWrap": "F1KBNa_diffBodyWrap",
96
+ "splitRoot": "F1KBNa_splitRoot",
97
+ "colorValue": "F1KBNa_colorValue",
98
+ "colorBackdrop": "F1KBNa_colorBackdrop",
99
+ "colorPickerInputRow": "F1KBNa_colorPickerInputRow",
100
+ "panelFailureRetry": "F1KBNa_panelFailureRetry",
101
+ "pickerCheck": "F1KBNa_pickerCheck",
102
+ "colorPickerInput": "F1KBNa_colorPickerInput",
83
103
  "settingsGroupText": "F1KBNa_settingsGroupText",
104
+ "colorPickerPanel": "F1KBNa_colorPickerPanel",
105
+ "toggleOn": "F1KBNa_toggleOn",
84
106
  "context": "F1KBNa_context",
85
- "treeName": "F1KBNa_treeName",
86
- "searchToggle": "F1KBNa_searchToggle",
87
- "hint": "F1KBNa_hint",
88
- "close": "F1KBNa_close",
89
107
  "stepperButtonUp": "F1KBNa_stepperButtonUp",
90
- "settingsPage": "F1KBNa_settingsPage",
91
- "fileList": "F1KBNa_fileList",
92
- "colorPickerTrigger": "F1KBNa_colorPickerTrigger",
93
- "pickerInput": "F1KBNa_pickerInput",
94
- "searchInput": "F1KBNa_searchInput",
95
- "langLabel": "F1KBNa_langLabel",
96
- "resizeHandle": "F1KBNa_resizeHandle",
97
- "row": "F1KBNa_row",
98
- "splitRoot": "F1KBNa_splitRoot",
99
- "treeRow": "F1KBNa_treeRow",
100
- "diffBodyWrap": "F1KBNa_diffBodyWrap",
101
- "importButton": "F1KBNa_importButton",
102
- "rowHead": "F1KBNa_rowHead",
103
- "layer": "F1KBNa_layer",
104
- "fileListKnob": "F1KBNa_fileListKnob",
105
- "statusBar": "F1KBNa_statusBar",
106
- "detailEmpty": "F1KBNa_detailEmpty",
108
+ "diffPath": "F1KBNa_diffPath",
107
109
  "listScroll": "F1KBNa_listScroll",
108
- "colorSv": "F1KBNa_colorSv",
109
- "colorPickerPreview": "F1KBNa_colorPickerPreview",
110
- "actionError": "F1KBNa_actionError",
111
- "noteCentered": "F1KBNa_noteCentered",
112
- "diffPreview": "F1KBNa_diffPreview",
113
- "expandExpanded": "F1KBNa_expandExpanded",
114
- "settingsGroupTitle": "F1KBNa_settingsGroupTitle",
110
+ "pickerForm": "F1KBNa_pickerForm",
115
111
  "readError": "F1KBNa_readError",
112
+ "markerAdd": "F1KBNa_markerAdd",
116
113
  "dockHost": "F1KBNa_dockHost",
117
- "coverNoticeGlyph": "F1KBNa_coverNoticeGlyph",
118
- "diffHeader": "F1KBNa_diffHeader",
119
- "panelFailureRetry": "F1KBNa_panelFailureRetry",
120
- "confirmActions": "F1KBNa_confirmActions",
121
- "blockPosition": "F1KBNa_blockPosition",
122
- "kindTag": "F1KBNa_kindTag",
123
- "mdPreviewFallback": "F1KBNa_mdPreviewFallback",
124
- "mdPreviewDouble": "F1KBNa_mdPreviewDouble",
125
- "presentationHost": "F1KBNa_presentationHost",
126
114
  "diffPreviewScroll": "F1KBNa_diffPreviewScroll",
127
- "chipPresentation": "F1KBNa_chipPresentation",
128
- "splitRadd": "F1KBNa_splitRadd",
129
- "coverHost": "F1KBNa_coverHost",
130
115
  "stepperButton": "F1KBNa_stepperButton",
131
- "rail": "F1KBNa_rail",
132
- "kindHint": "F1KBNa_kindHint",
133
- "line": "F1KBNa_line",
134
- "headerEntry": "F1KBNa_headerEntry",
135
- "bulkActions": "F1KBNa_bulkActions",
136
- "floatResizeHandle": "F1KBNa_floatResizeHandle",
137
- "pickerNote": "F1KBNa_pickerNote",
138
- "vSpacer": "F1KBNa_vSpacer",
139
- "splitHScrollFill": "F1KBNa_splitHScrollFill",
140
- "colorPicker": "F1KBNa_colorPicker",
141
- "delCount": "F1KBNa_delCount",
142
- "coverPopover": "F1KBNa_coverPopover",
143
- "badgeCount": "F1KBNa_badgeCount",
144
- "badgeLabel": "F1KBNa_badgeLabel",
145
- "notice": "F1KBNa_notice",
146
- "wrap": "F1KBNa_wrap",
147
- "colorPickerPopover": "F1KBNa_colorPickerPopover",
148
- "searchBar": "F1KBNa_searchBar",
149
- "settingsGroupHeader": "F1KBNa_settingsGroupHeader",
150
- "headerEntryCount": "F1KBNa_headerEntryCount",
151
- "settingsRowDesc": "F1KBNa_settingsRowDesc",
152
- "coverNotice": "F1KBNa_coverNotice",
153
- "chipLabel": "F1KBNa_chipLabel",
154
- "subline": "F1KBNa_subline",
155
- "addCount": "F1KBNa_addCount",
156
- "diffPath": "F1KBNa_diffPath",
157
- "mdPreviewContent": "F1KBNa_mdPreviewContent",
158
- "settingsRow": "F1KBNa_settingsRow",
159
- "emptyState": "F1KBNa_emptyState",
160
- "divergedHint": "F1KBNa_divergedHint",
161
- "headerActions": "F1KBNa_headerActions",
162
- "confirmBackdrop": "F1KBNa_confirmBackdrop",
116
+ "diffFlashShake": "F1KBNa_diffFlashShake",
117
+ "mdPreviewFallback": "F1KBNa_mdPreviewFallback",
118
+ "code": "F1KBNa_code",
119
+ "coverNoticeText": "F1KBNa_coverNoticeText",
120
+ "splitRdel": "F1KBNa_splitRdel",
121
+ "noticeText": "F1KBNa_noticeText",
163
122
  "diffBody": "F1KBNa_diffBody",
164
- "panelFailureText": "F1KBNa_panelFailureText",
165
- "searchMatch": "F1KBNa_searchMatch",
166
- "markerAdd": "F1KBNa_markerAdd",
167
- "coverNoticeCard": "F1KBNa_coverNoticeCard",
168
- "coverNoticeFade": "F1KBNa_coverNoticeFade",
169
- "badge": "F1KBNa_badge",
170
- "states": "F1KBNa_states",
171
- "del": "F1KBNa_del",
172
- "colorHue": "F1KBNa_colorHue",
173
- "colorHueCursor": "F1KBNa_colorHueCursor",
174
- "colorSwatch": "F1KBNa_colorSwatch",
175
- "mdPreviewSingle": "F1KBNa_mdPreviewSingle",
176
- "coverBackdrop": "F1KBNa_coverBackdrop",
177
- "confirmText": "F1KBNa_confirmText",
178
- "toggleOn": "F1KBNa_toggleOn",
123
+ "fileListKnob": "F1KBNa_fileListKnob",
124
+ "divergedHint": "F1KBNa_divergedHint",
125
+ "wrapActive": "F1KBNa_wrapActive",
126
+ "tree": "F1KBNa_tree",
127
+ "settingsRow": "F1KBNa_settingsRow",
179
128
  "detail": "F1KBNa_detail",
180
- "pickerClose": "F1KBNa_pickerClose",
181
- "rowMeta": "F1KBNa_rowMeta",
182
129
  "settingsReset": "F1KBNa_settingsReset",
183
- "lines": "F1KBNa_lines",
184
- "diffPreviewTitle": "F1KBNa_diffPreviewTitle",
185
- "colorBackdrop": "F1KBNa_colorBackdrop",
130
+ "colorPickerChevron": "F1KBNa_colorPickerChevron",
131
+ "stepper": "F1KBNa_stepper",
132
+ "action": "F1KBNa_action",
133
+ "pickerName": "F1KBNa_pickerName",
134
+ "colorSvCursor": "F1KBNa_colorSvCursor",
135
+ "rowFailed": "F1KBNa_rowFailed",
136
+ "rowMeta": "F1KBNa_rowMeta",
137
+ "flexSpacer": "F1KBNa_flexSpacer",
138
+ "hint": "F1KBNa_hint",
139
+ "actionPrimary": "F1KBNa_actionPrimary",
140
+ "settingsSelector": "F1KBNa_settingsSelector",
141
+ "settingsGroupDesc": "F1KBNa_settingsGroupDesc",
142
+ "footerButtons": "F1KBNa_footerButtons",
186
143
  "fileListGrow": "F1KBNa_fileListGrow",
187
- "pickerTitle": "F1KBNa_pickerTitle",
188
- "treeCaret": "F1KBNa_treeCaret",
189
- "treeNote": "F1KBNa_treeNote",
144
+ "settingsRowTitle": "F1KBNa_settingsRowTitle",
145
+ "settingsRowText": "F1KBNa_settingsRowText",
146
+ "confirmBackdrop": "F1KBNa_confirmBackdrop",
147
+ "diffHeader": "F1KBNa_diffHeader",
148
+ "expand": "F1KBNa_expand",
149
+ "expandExpanded": "F1KBNa_expandExpanded",
150
+ "blockPosition": "F1KBNa_blockPosition",
151
+ "searchInput": "F1KBNa_searchInput",
190
152
  "searchCount": "F1KBNa_searchCount",
153
+ "states": "F1KBNa_states",
154
+ "mdPreviewContent": "F1KBNa_mdPreviewContent",
155
+ "confirmCard": "F1KBNa_confirmCard",
156
+ "colorPickerPopover": "F1KBNa_colorPickerPopover",
157
+ "rowHead": "F1KBNa_rowHead",
158
+ "rowPath": "F1KBNa_rowPath",
159
+ "toggle": "F1KBNa_toggle",
160
+ "overviewMarker": "F1KBNa_overviewMarker",
161
+ "vSpacer": "F1KBNa_vSpacer",
162
+ "langLabel": "F1KBNa_langLabel",
163
+ "badgeCount": "F1KBNa_badgeCount",
164
+ "splitDivider": "F1KBNa_splitDivider",
165
+ "panelFailure": "F1KBNa_panelFailure",
191
166
  "presentationSelect": "F1KBNa_presentationSelect",
192
- "title": "F1KBNa_title",
193
- "blockFlash": "F1KBNa_blockFlash",
167
+ "presentationHost": "F1KBNa_presentationHost",
168
+ "row": "F1KBNa_row",
169
+ "coverCard": "F1KBNa_coverCard",
170
+ "splitRadd": "F1KBNa_splitRadd",
171
+ "resizeHandle": "F1KBNa_resizeHandle",
172
+ "searchToggle": "F1KBNa_searchToggle",
173
+ "notice": "F1KBNa_notice",
174
+ "panelDocked": "F1KBNa_panelDocked",
175
+ "wrap": "F1KBNa_wrap",
176
+ "badge": "F1KBNa_badge",
177
+ "coverBackdrop": "F1KBNa_coverBackdrop",
194
178
  "divider": "F1KBNa_divider",
179
+ "splitHScroll": "F1KBNa_splitHScroll",
180
+ "diffPreviewTitle": "F1KBNa_diffPreviewTitle",
181
+ "iconAction": "F1KBNa_iconAction",
182
+ "intraAdd": "F1KBNa_intraAdd",
183
+ "settingsGroup": "F1KBNa_settingsGroup",
195
184
  "overviewRuler": "F1KBNa_overviewRuler",
196
- "coverCard": "F1KBNa_coverCard",
197
- "coverButton": "F1KBNa_coverButton",
198
- "colorPickerInput": "F1KBNa_colorPickerInput",
199
- "splitDivider": "F1KBNa_splitDivider",
200
- "rowFailed": "F1KBNa_rowFailed",
201
- "splitHScrollRow": "F1KBNa_splitHScrollRow",
185
+ "actionQuietDisabled": "F1KBNa_actionQuietDisabled",
186
+ "treeNote": "F1KBNa_treeNote",
187
+ "subline": "F1KBNa_subline",
188
+ "floatResizeHandle": "F1KBNa_floatResizeHandle",
202
189
  "diffBodySplit": "F1KBNa_diffBodySplit",
190
+ "headerActions": "F1KBNa_headerActions",
191
+ "noteCentered": "F1KBNa_noteCentered",
192
+ "group": "F1KBNa_group",
193
+ "coverHost": "F1KBNa_coverHost",
194
+ "blockFlashShake": "F1KBNa_blockFlashShake",
195
+ "emptyState": "F1KBNa_emptyState",
196
+ "colorSv": "F1KBNa_colorSv",
197
+ "colorHue": "F1KBNa_colorHue",
198
+ "treeCaret": "F1KBNa_treeCaret",
203
199
  "diffFlashFade": "F1KBNa_diffFlashFade",
204
- "splitLadd": "F1KBNa_splitLadd",
205
- "pickerName": "F1KBNa_pickerName",
206
- "diffActions": "F1KBNa_diffActions",
207
- "splitRdel": "F1KBNa_splitRdel",
208
- "add": "F1KBNa_add",
209
- "expand": "F1KBNa_expand",
210
- "overviewMarker": "F1KBNa_overviewMarker",
211
- "coverNoticeText": "F1KBNa_coverNoticeText",
212
- "intraAdd": "F1KBNa_intraAdd",
213
- "splitCols": "F1KBNa_splitCols",
214
- "settingsSelector": "F1KBNa_settingsSelector",
215
- "pickerIcon": "F1KBNa_pickerIcon",
216
- "toggle": "F1KBNa_toggle",
217
- "footerButtons": "F1KBNa_footerButtons",
218
- "stepperValue": "F1KBNa_stepperValue",
219
- "colorPickerPanel": "F1KBNa_colorPickerPanel",
220
- "colorValue": "F1KBNa_colorValue",
221
- "stepper": "F1KBNa_stepper",
222
- "action": "F1KBNa_action",
200
+ "mdPreviewDouble": "F1KBNa_mdPreviewDouble",
201
+ "pickerTitle": "F1KBNa_pickerTitle",
223
202
  "statusAction": "F1KBNa_statusAction",
224
- "settingsGroup": "F1KBNa_settingsGroup",
225
- "blockFlashShake": "F1KBNa_blockFlashShake",
226
- "fileListFloat": "F1KBNa_fileListFloat",
227
- "gutter": "F1KBNa_gutter",
228
- "searchToggleOn": "F1KBNa_searchToggleOn",
229
- "groupHead": "F1KBNa_groupHead",
230
- "split": "F1KBNa_split",
231
- "pickerForm": "F1KBNa_pickerForm"
203
+ "pickerInput": "F1KBNa_pickerInput",
204
+ "bulkActions": "F1KBNa_bulkActions",
205
+ "treeRow": "F1KBNa_treeRow",
206
+ "coverButton": "F1KBNa_coverButton",
207
+ "del": "F1KBNa_del",
208
+ "lines": "F1KBNa_lines",
209
+ "missingHint": "F1KBNa_missingHint",
210
+ "settingsGroupHeader": "F1KBNa_settingsGroupHeader",
211
+ "detailEmpty": "F1KBNa_detailEmpty",
212
+ "treeName": "F1KBNa_treeName",
213
+ "headerEntryCount": "F1KBNa_headerEntryCount",
214
+ "settingsGroupChevron": "F1KBNa_settingsGroupChevron",
215
+ "settingsRowDesc": "F1KBNa_settingsRowDesc",
216
+ "diffPreview": "F1KBNa_diffPreview",
217
+ "kindHint": "F1KBNa_kindHint",
218
+ "diffStats": "F1KBNa_diffStats",
219
+ "fileList": "F1KBNa_fileList",
220
+ "splitCols": "F1KBNa_splitCols",
221
+ "badgeLabel": "F1KBNa_badgeLabel",
222
+ "confirmActions": "F1KBNa_confirmActions",
223
+ "pickerNote": "F1KBNa_pickerNote",
224
+ "searchBar": "F1KBNa_searchBar",
225
+ "coverNoticeGlyph": "F1KBNa_coverNoticeGlyph",
226
+ "blockFlash": "F1KBNa_blockFlash",
227
+ "line": "F1KBNa_line",
228
+ "rows": "F1KBNa_rows",
229
+ "coverNoticeCard": "F1KBNa_coverNoticeCard",
230
+ "diffActions": "F1KBNa_diffActions",
231
+ "coverNotice": "F1KBNa_coverNotice"
232
232
  };
233
233
  //#endregion
234
234
  //#region lib/types/client/PathPicker.js
@@ -18994,6 +18994,106 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
18994
18994
  return sessionId === void 0 ? void 0 : views.get(sessionId)?.offsets.get(fileId);
18995
18995
  }
18996
18996
  //#endregion
18997
+ //#region lib/types/client/composer-cover.js
18998
+ /**
18999
+ * Pasting a copied reference into the composer, and where the caret goes.
19000
+ *
19001
+ * The reference lands in the draft whatever the panel is doing. The caret is a
19002
+ * different question: the review panel can be over the composer, and moving the
19003
+ * focus into a field the reader cannot see would take their next keystrokes with it.
19004
+ * So the focus is asked for only when the composer is really visible.
19005
+ *
19006
+ * @module dsh-diff-approval/client/composer-cover
19007
+ */
19008
+ /** The panel's own element, whichever way it is being presented. */
19009
+ const PANEL_SELECTOR = "[data-diff-approval-panel]";
19010
+ /** The composer's parts, most specific first: the editable input itself, its card,
19011
+ * and the seat that hosts them (the seat stays mounted through a takeover). */
19012
+ const COMPOSER_PART_SELECTORS = [
19013
+ "[data-composer-input]",
19014
+ "[data-composer-card]",
19015
+ "[data-composer-seat]"
19016
+ ];
19017
+ /** The composer's own editable box: a contenteditable div, not a `<textarea>`. */
19018
+ const COMPOSER_INPUT_SELECTOR$1 = "[data-composer-input]";
19019
+ /**
19020
+ * How much of the composer the panel has to cover before the composer counts as
19021
+ * hidden, as a fraction of the composer's own area. Plain intersection is too eager
19022
+ * — a box that grazes the composer's edge by a pixel is not covering it, and the
19023
+ * caret belongs there as much as ever — while demanding near-total coverage would
19024
+ * miss the real cases (a covered composer edge, the short-window floor, a fullscreen
19025
+ * docked pane) where the composer ends up *entirely* inside the panel's box. Half is
19026
+ * the line between the two: more of it hidden than not.
19027
+ */
19028
+ const COMPOSER_COVERED_RATIO = .5;
19029
+ /**
19030
+ * Whether the review panel is covering the chat composer as it stands right now.
19031
+ *
19032
+ * Measured, not inferred from the presentation, because the cases do not line up one
19033
+ * per mode:
19034
+ * - floating with the composer edge left uncovered, the panel stops above the
19035
+ * composer — except when the window is too short for the panel's own minimum
19036
+ * height, and then it covers every edge, the composer's included (the phone case);
19037
+ * - floating over an undocked ("hero") composer, the panel spans the conversation
19038
+ * and the composer sits inside it;
19039
+ * - docked in the right sidebar, the composer is normally in the conversation column
19040
+ * beside the pane and stays visible — but a fullscreen sidebar spans the window,
19041
+ * and the panel inside it spans the window too.
19042
+ * Whatever a layout does next, an overlap is an overlap, so this measures the two
19043
+ * boxes and the fraction of the composer they share.
19044
+ * @returns whether the panel covers more than {@link COMPOSER_COVERED_RATIO} of the
19045
+ * composer.
19046
+ */
19047
+ function composerCoveredByPanel() {
19048
+ if (typeof document === "undefined") return false;
19049
+ const panel = document.querySelector(PANEL_SELECTOR);
19050
+ if (panel === null) return false;
19051
+ let composer = null;
19052
+ for (const selector of COMPOSER_PART_SELECTORS) {
19053
+ composer = document.querySelector(selector);
19054
+ if (composer !== null) break;
19055
+ }
19056
+ if (composer === null) return false;
19057
+ const p = panel.getBoundingClientRect();
19058
+ const c = composer.getBoundingClientRect();
19059
+ if (p.width <= 0 || p.height <= 0 || c.width <= 0 || c.height <= 0) return false;
19060
+ const overlapWidth = Math.min(p.right, c.right) - Math.max(p.left, c.left);
19061
+ const overlapHeight = Math.min(p.bottom, c.bottom) - Math.max(p.top, c.top);
19062
+ if (overlapWidth <= 0 || overlapHeight <= 0) return false;
19063
+ return overlapWidth * overlapHeight / (c.width * c.height) > COMPOSER_COVERED_RATIO;
19064
+ }
19065
+ /** Everything the composer is made of, for "is the caret in the composer?". */
19066
+ const COMPOSER_SCOPE_SELECTOR = "[data-composer-input],[data-composer-card]";
19067
+ /**
19068
+ * Take the caret out of the composer when it is holding it.
19069
+ *
19070
+ * Declining to *move* the caret there is not enough on its own: the chord works with
19071
+ * the caret wherever it is, and the caret is usually in the composer — someone who
19072
+ * was typing, then selected a few lines in the diff with the mouse (a selection does
19073
+ * not move the focus), would have the reference pasted into a composer they cannot
19074
+ * see and their next keystrokes land in it. So a hidden composer loses the caret.
19075
+ */
19076
+ function leaveComposerCaret() {
19077
+ const active = document.activeElement;
19078
+ if (!(active instanceof HTMLElement)) return;
19079
+ if (active.closest(COMPOSER_SCOPE_SELECTOR) === null) return;
19080
+ active.blur();
19081
+ }
19082
+ /**
19083
+ * Append a copied reference to the composer's draft, and leave the caret there only
19084
+ * when the composer is not behind the panel.
19085
+ * @param appendDraft - writes the reference into the addressed session's draft.
19086
+ * @param reference - the copied `(file:line)` reference.
19087
+ */
19088
+ function pasteReferenceIntoComposer(appendDraft, reference) {
19089
+ appendDraft(reference);
19090
+ if (composerCoveredByPanel()) {
19091
+ leaveComposerCaret();
19092
+ return;
19093
+ }
19094
+ document.querySelector(COMPOSER_INPUT_SELECTOR$1)?.focus();
19095
+ }
19096
+ //#endregion
18997
19097
  //#region lib/types/client/PendingPanel.js
18998
19098
  /** Sidebar-foot pending-edit review action and the split review panel it opens. */
18999
19099
  /**
@@ -19083,6 +19183,11 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
19083
19183
  const MAX_LIST_WIDTH_PX = 560;
19084
19184
  /** Inset of the floating file-list card from the code scroll box, in px. */
19085
19185
  const FLOAT_LIST_MARGIN_PX = 12;
19186
+ /** The folded card's width grip: how wide its hit strip is, and how much of it
19187
+ * lies over the card (the rest overhangs the code view, so the card's own
19188
+ * scrollbar strip stays clear). */
19189
+ const FLOAT_GRIP_WIDTH_PX = 9;
19190
+ const FLOAT_GRIP_OVERHANG_PX = 3;
19086
19191
  /** Normalize a path for comparison: forward slashes, no trailing slash. */
19087
19192
  function normalizeDiffPath(p) {
19088
19193
  return p.replaceAll("\\", "/").replace(/\/+$/, "");
@@ -22830,7 +22935,6 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22830
22935
  const [coverNotice, setCoverNotice] = (0, react.useState)(null);
22831
22936
  /** File-list pane width, adjustable by dragging the divider. */
22832
22937
  const [listWidth, setListWidth] = (0, react.useState)(240);
22833
- const resizeDrag = (0, react.useRef)(null);
22834
22938
  /** Whether the floating (collapsed) file list is currently shown. */
22835
22939
  const [floatOpen, setFloatOpen] = (0, react.useState)(false);
22836
22940
  /** Whether the file list is always folded, whatever the width allows. */
@@ -22869,11 +22973,22 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22869
22973
  };
22870
22974
  }, [open, docked]);
22871
22975
  const floatMode = forceFloat || (docked ? panelWidth > 0 && panelWidth < DOCK_TWO_COLUMN_MIN_PX : viewportWidth < 1024);
22976
+ /**
22977
+ * Set when a fresh showing of the panel should start with the folded list open —
22978
+ * the panel opens to show the list, and the knob that reveals it is for folding
22979
+ * it away again — and spent by the first frame it can be spent on. The folded
22980
+ * mode is not always known on that frame: a docked panel measures its own width a
22981
+ * frame after it mounts. A hand on the list's own switches clears it, so the
22982
+ * reader's choice always wins over the default.
22983
+ */
22984
+ const startListOpenRef = (0, react.useRef)(false);
22872
22985
  const toggleFileList = () => {
22986
+ startListOpenRef.current = false;
22873
22987
  setFloatOpen((value) => !value);
22874
22988
  };
22875
22989
  /** Flip the always-fold preference, remembered for the next open. */
22876
22990
  const toggleForceFloat = () => {
22991
+ startListOpenRef.current = false;
22877
22992
  const next = !forceFloat;
22878
22993
  setForceFloat(next);
22879
22994
  setFileListFloat(next);
@@ -22889,13 +23004,24 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22889
23004
  window.removeEventListener("resize", onResize);
22890
23005
  };
22891
23006
  }, []);
23007
+ (0, react.useEffect)(() => {
23008
+ if (!startListOpenRef.current) return;
23009
+ if (!open && !docked) return;
23010
+ if (!floatMode) return;
23011
+ startListOpenRef.current = false;
23012
+ setFloatOpen(true);
23013
+ }, [
23014
+ open,
23015
+ docked,
23016
+ floatMode
23017
+ ]);
22892
23018
  (0, react.useEffect)(() => {
22893
23019
  if (!floatMode || !floatOpen) return;
22894
23020
  const el = panelRef.current;
22895
23021
  if (el === null) return;
22896
23022
  const onPointerDown = (event) => {
22897
23023
  const target = event.target;
22898
- if (target instanceof Element && (target.closest("[data-diff-floating-file-list]") !== null || target.closest("[data-diff-file-list-toggle]") !== null)) return;
23024
+ if (target instanceof Element && (target.closest("[data-diff-floating-file-list]") !== null || target.closest("[data-diff-file-list-toggle]") !== null || target.closest("[data-diff-float-resize]") !== null)) return;
22899
23025
  setFloatOpen(false);
22900
23026
  };
22901
23027
  el.addEventListener("pointerdown", onPointerDown, true);
@@ -22923,7 +23049,13 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22923
23049
  measureFloatBoxRef.current = measureFloatBox;
22924
23050
  (0, react.useLayoutEffect)(() => {
22925
23051
  measureFloatBoxRef.current();
22926
- });
23052
+ }, [
23053
+ floatMode,
23054
+ floatOpen,
23055
+ panelWidth,
23056
+ selected,
23057
+ snapshot.files.length
23058
+ ]);
22927
23059
  (0, react.useEffect)(() => {
22928
23060
  if (!floatMode) return;
22929
23061
  const split = splitRef.current;
@@ -22987,6 +23119,19 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
22987
23119
  window.removeEventListener("resize", measure);
22988
23120
  };
22989
23121
  }, [open]);
23122
+ (0, react.useEffect)(() => {
23123
+ if (!open && !docked) return;
23124
+ if (!composerCoveredByPanel()) return;
23125
+ leaveComposerCaret();
23126
+ }, [
23127
+ open,
23128
+ docked,
23129
+ floatMode,
23130
+ cover.composer,
23131
+ selected,
23132
+ panelWidth,
23133
+ snapshot.files.length
23134
+ ]);
22990
23135
  const files = snapshot.files.filter((file) => current !== void 0 && (file.sessionIds ?? [file.sessionId]).includes(current)).sort((left, right) => compareFileNames(left.path, right.path));
22991
23136
  const blockKeepWithPrompt = (sessionId, id, block, removeWhenResolved) => {
22992
23137
  const file = files.find((entry) => entry.id === id);
@@ -23058,6 +23203,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23058
23203
  const started = showing && !wasShowingRef.current;
23059
23204
  wasShowingRef.current = showing;
23060
23205
  if (!showing) return;
23206
+ if (started) startListOpenRef.current = true;
23061
23207
  const pending = (id) => files.some((file) => file.id === id);
23062
23208
  const keep = selected !== "" && pending(selected) ? selected : void 0;
23063
23209
  const remembered = keep === void 0 && started ? lastPanelFile(current) : void 0;
@@ -23319,6 +23465,18 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23319
23465
  }
23320
23466
  }, entry.id);
23321
23467
  const selectedFile = files.find((file) => file.id === selected);
23468
+ /**
23469
+ * The folded card's own box, derived from the measured one, or undefined while
23470
+ * the list is not folded open. The card and its width grip are both placed from
23471
+ * these numbers, which is what keeps the grip on the card's right edge as the
23472
+ * width changes.
23473
+ */
23474
+ const floatCard = !floatMode || !floatOpen || files.length === 0 || floatBox === null ? void 0 : {
23475
+ left: floatBox.left + FLOAT_LIST_MARGIN_PX,
23476
+ top: floatBox.top + FLOAT_LIST_MARGIN_PX,
23477
+ width: Math.min(listWidth, Math.max(0, floatBox.width - 24)),
23478
+ height: Math.max(0, floatBox.height - 24)
23479
+ };
23322
23480
  /** The file whose removal is being confirmed (a last-block action), if any. */
23323
23481
  const promptFile = blockPrompt === null ? void 0 : files.find((file) => file.id === blockPrompt.id);
23324
23482
  /** The file whose removal is being confirmed (a whole-file action), if any. */
@@ -23535,32 +23693,40 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23535
23693
  window.removeEventListener("keydown", onKeyDown, true);
23536
23694
  };
23537
23695
  }, [open, docked]);
23538
- /** Drag the list/detail divider; width follows the pointer within its bounds. */
23696
+ /**
23697
+ * Drag the list's width, from a mouse *or* a finger. Pointer events rather than
23698
+ * mouse ones, because a touch drag never produces the mouse events this used to
23699
+ * wait for: the browser's synthetic `mousemove` does not exist, and the synthetic
23700
+ * `mousedown`/`mouseup` pair arrives together at the *end* of the gesture — so on
23701
+ * a phone the grip read as a tap and the width never changed. The handles also
23702
+ * declare `touch-action: none` (see the stylesheet), without which the browser
23703
+ * would take the drag as a pan and cancel the pointer stream outright.
23704
+ */
23539
23705
  const startResize = (event) => {
23540
- if (event.button !== 0) return;
23706
+ if (event.button !== 0 || event.isPrimary === false) return;
23541
23707
  event.preventDefault();
23708
+ const startX = event.clientX;
23709
+ const startWidth = listWidth;
23542
23710
  const cap = floatMode && floatBox !== null ? Math.max(MIN_LIST_WIDTH_PX, floatBox.width - 24) : MAX_LIST_WIDTH_PX;
23543
- resizeDrag.current = {
23544
- startX: event.clientX,
23545
- startWidth: listWidth
23546
- };
23711
+ try {
23712
+ event.currentTarget.setPointerCapture(event.pointerId);
23713
+ } catch {}
23547
23714
  document.body.style.userSelect = "none";
23548
23715
  document.body.style.cursor = "col-resize";
23549
23716
  const onMove = (move) => {
23550
- const start = resizeDrag.current;
23551
- if (start === null) return;
23552
- const next = start.startWidth + (move.clientX - start.startX);
23717
+ const next = startWidth + (move.clientX - startX);
23553
23718
  setListWidth(Math.min(Math.max(next, MIN_LIST_WIDTH_PX), cap));
23554
23719
  };
23555
- const onUp = () => {
23556
- resizeDrag.current = null;
23720
+ const finish = () => {
23557
23721
  document.body.style.userSelect = "";
23558
23722
  document.body.style.cursor = "";
23559
- window.removeEventListener("mousemove", onMove);
23560
- window.removeEventListener("mouseup", onUp);
23723
+ window.removeEventListener("pointermove", onMove);
23724
+ window.removeEventListener("pointerup", finish);
23725
+ window.removeEventListener("pointercancel", finish);
23561
23726
  };
23562
- window.addEventListener("mousemove", onMove);
23563
- window.addEventListener("mouseup", onUp);
23727
+ window.addEventListener("pointermove", onMove);
23728
+ window.addEventListener("pointerup", finish);
23729
+ window.addEventListener("pointercancel", finish);
23564
23730
  };
23565
23731
  const content = (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
23566
23732
  importToast !== null && (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Toast, {
@@ -23729,7 +23895,7 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23729
23895
  !floatMode && (0, react_jsx_runtime.jsx)("div", {
23730
23896
  className: PendingPanel_module_css_default.resizeHandle,
23731
23897
  "data-diff-resize": true,
23732
- onMouseDown: startResize
23898
+ onPointerDown: startResize
23733
23899
  }),
23734
23900
  (0, react_jsx_runtime.jsx)("div", {
23735
23901
  className: PendingPanel_module_css_default.detail,
@@ -23760,21 +23926,27 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
23760
23926
  onPreviewImage
23761
23927
  })
23762
23928
  }),
23763
- floatMode && floatOpen && files.length > 0 && floatBox !== null && (0, react_jsx_runtime.jsxs)("div", {
23929
+ floatCard !== void 0 && (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)("div", {
23764
23930
  className: PendingPanel_module_css_default.fileListFloat,
23765
23931
  style: {
23766
- left: floatBox.left + FLOAT_LIST_MARGIN_PX,
23767
- top: floatBox.top + FLOAT_LIST_MARGIN_PX,
23768
- width: Math.min(listWidth, Math.max(0, floatBox.width - 24)),
23769
- height: Math.max(0, floatBox.height - 24)
23932
+ left: floatCard.left,
23933
+ top: floatCard.top,
23934
+ width: floatCard.width,
23935
+ height: floatCard.height
23770
23936
  },
23771
23937
  "data-diff-floating-file-list": true,
23772
- children: [fileListBody, (0, react_jsx_runtime.jsx)("div", {
23773
- className: PendingPanel_module_css_default.floatResizeHandle,
23774
- "data-diff-float-resize": true,
23775
- onMouseDown: startResize
23776
- })]
23777
- })
23938
+ children: fileListBody
23939
+ }), (0, react_jsx_runtime.jsx)("div", {
23940
+ className: PendingPanel_module_css_default.floatResizeHandle,
23941
+ style: {
23942
+ left: floatCard.left + floatCard.width - FLOAT_GRIP_OVERHANG_PX,
23943
+ top: floatCard.top,
23944
+ width: FLOAT_GRIP_WIDTH_PX,
23945
+ height: floatCard.height
23946
+ },
23947
+ "data-diff-float-resize": true,
23948
+ onPointerDown: startResize
23949
+ })] })
23778
23950
  ]
23779
23951
  }),
23780
23952
  blockPrompt !== null && promptFile !== void 0 && (0, react_jsx_runtime.jsx)("div", {
@@ -26200,8 +26372,9 @@ XID_Start XIDS`.split(/\s/).map((p) => [w(p), p]));
26200
26372
  onRevertAll: (sessionId) => store.revertAll(sessionId),
26201
26373
  onAckRedoCleared: () => store.clearRedoCleared(),
26202
26374
  onPasteReference: (sessionId, reference) => {
26203
- conversationAccess(ctx, () => sessionId).appendDraft(reference);
26204
- document.querySelector("[data-composer-input]")?.focus();
26375
+ pasteReferenceIntoComposer((text) => {
26376
+ conversationAccess(ctx, () => sessionId).appendDraft(text);
26377
+ }, reference);
26205
26378
  },
26206
26379
  collapseSidebar
26207
26380
  });
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Pasting a copied reference into the composer, and where the caret goes.
3
+ *
4
+ * The reference lands in the draft whatever the panel is doing. The caret is a
5
+ * different question: the review panel can be over the composer, and moving the
6
+ * focus into a field the reader cannot see would take their next keystrokes with it.
7
+ * So the focus is asked for only when the composer is really visible.
8
+ *
9
+ * @module dsh-diff-approval/client/composer-cover
10
+ */
11
+ /**
12
+ * Whether the review panel is covering the chat composer as it stands right now.
13
+ *
14
+ * Measured, not inferred from the presentation, because the cases do not line up one
15
+ * per mode:
16
+ * - floating with the composer edge left uncovered, the panel stops above the
17
+ * composer — except when the window is too short for the panel's own minimum
18
+ * height, and then it covers every edge, the composer's included (the phone case);
19
+ * - floating over an undocked ("hero") composer, the panel spans the conversation
20
+ * and the composer sits inside it;
21
+ * - docked in the right sidebar, the composer is normally in the conversation column
22
+ * beside the pane and stays visible — but a fullscreen sidebar spans the window,
23
+ * and the panel inside it spans the window too.
24
+ * Whatever a layout does next, an overlap is an overlap, so this measures the two
25
+ * boxes and the fraction of the composer they share.
26
+ * @returns whether the panel covers more than {@link COMPOSER_COVERED_RATIO} of the
27
+ * composer.
28
+ */
29
+ export declare function composerCoveredByPanel(): boolean;
30
+ /**
31
+ * Take the caret out of the composer when it is holding it.
32
+ *
33
+ * Declining to *move* the caret there is not enough on its own: the chord works with
34
+ * the caret wherever it is, and the caret is usually in the composer — someone who
35
+ * was typing, then selected a few lines in the diff with the mouse (a selection does
36
+ * not move the focus), would have the reference pasted into a composer they cannot
37
+ * see and their next keystrokes land in it. So a hidden composer loses the caret.
38
+ */
39
+ export declare function leaveComposerCaret(): void;
40
+ /**
41
+ * Append a copied reference to the composer's draft, and leave the caret there only
42
+ * when the composer is not behind the panel.
43
+ * @param appendDraft - writes the reference into the addressed session's draft.
44
+ * @param reference - the copied `(file:line)` reference.
45
+ */
46
+ export declare function pasteReferenceIntoComposer(appendDraft: (reference: string) => void, reference: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-diff-approval",
3
- "version": "0.22.0",
3
+ "version": "0.22.2",
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",