@linxin666/dsh-ssh 0.1.2 → 0.1.6
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 +117 -81
- package/lib/client.js.map +1 -1
- package/package.json +1 -1
- package/src/client/mount.tsx +31 -0
- package/src/client/panel/panel.module.css +5 -2
- package/src/client/sidebar-entry.ts +48 -15
package/lib/client.js
CHANGED
|
@@ -594,8 +594,8 @@ window.__ModuleLoader__.load({
|
|
|
594
594
|
return String(error);
|
|
595
595
|
}
|
|
596
596
|
//#endregion
|
|
597
|
-
//#region \0dsh-css:/
|
|
598
|
-
const css = "[data-pane=conversation]{position:relative}[data-dsh-ssh-view]{z-index:5;display:none;position:absolute;inset:0}html[data-dsh-ssh-active] [data-dsh-ssh-view]{display:block}html[data-dsh-ssh-active] [data-pane=conversation]>:not([data-dsh-ssh-view]){display:none}.HIRDBW_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.HIRDBW_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.HIRDBW_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.HIRDBW_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.HIRDBW_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] .HIRDBW_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .HIRDBW_entryLabel{display:none}.HIRDBW_view{overflow:hidden}.HIRDBW_panel{background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}.HIRDBW_panelHeader{flex:none;align-items:center;gap:10px;display:flex}.HIRDBW_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;flex:1;margin:0;font-size:16px;font-weight:700}.HIRDBW_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:2px;display:flex}.HIRDBW_tab{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:7px 14px;font-size:13px}.HIRDBW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.HIRDBW_tab[data-active]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary);font-weight:600}.HIRDBW_panelContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.HIRDBW_tabBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.HIRDBW_fillBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.HIRDBW_toolbar,.HIRDBW_controls{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.HIRDBW_controls .HIRDBW_input{flex:0 260px;min-width:150px}.HIRDBW_toolbarSpacer{flex:1}.HIRDBW_search{min-width:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:0 260px;padding:6px 10px;font-size:13px}.HIRDBW_search::placeholder{color:var(--dsw-alias-label-tertiary)}.HIRDBW_tableWrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex:1;min-height:0;overflow:auto}.HIRDBW_table{border-collapse:collapse;width:100%;font-size:12.5px}.HIRDBW_table th{z-index:1;text-align:left;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-bottom:1px solid var(--dsw-alias-border-l1);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.HIRDBW_table td{border-bottom:1px solid var(--dsw-alias-separator-primary);vertical-align:top;padding:7px 10px}.HIRDBW_table tbody tr:last-child td{border-bottom:none}.HIRDBW_table tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover)}.HIRDBW_mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.HIRDBW_cellMuted{color:var(--dsw-alias-label-tertiary)}.HIRDBW_actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.HIRDBW_inlineTest{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.HIRDBW_inlineTest[data-status=ok]{color:var(--dsw-alias-state-success-primary)}.HIRDBW_inlineTest[data-status=fail]{color:var(--dsw-alias-state-error-primary)}.HIRDBW_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;line-height:1.6;display:inline-block}.HIRDBW_badge[data-kind=key]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.HIRDBW_badge[data-kind=password]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.HIRDBW_badge[data-status=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.HIRDBW_badge[data-status=fail]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.HIRDBW_badge[data-status=timeout]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.HIRDBW_primaryButton{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.HIRDBW_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.HIRDBW_primaryButton:disabled{opacity:.5;cursor:default}.HIRDBW_ghostButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}.HIRDBW_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.HIRDBW_ghostButton:disabled{opacity:.45;cursor:default}.HIRDBW_iconButton{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.HIRDBW_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.HIRDBW_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}.HIRDBW_linkButton:hover:not(:disabled){text-decoration:underline}.HIRDBW_linkButton:disabled{opacity:.45;cursor:default}.HIRDBW_linkButton[data-danger]{color:var(--dsw-alias-state-error-primary)}.HIRDBW_spinner{border:2px solid var(--dsw-alias-state-business-primary);vertical-align:-1px;border-top-color:#0000;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite HIRDBW_dshSshSpin;display:inline-block}@keyframes HIRDBW_dshSshSpin{to{transform:rotate(360deg)}}.HIRDBW_banner{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.5}.HIRDBW_banner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.HIRDBW_banner[data-kind=error]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.HIRDBW_banner[data-kind=info]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.HIRDBW_empty,.HIRDBW_loading{text-align:center;color:var(--dsw-alias-label-tertiary);padding:28px 12px;font-size:12.5px}.HIRDBW_modalBackdrop{z-index:40;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.HIRDBW_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(560px,100vw - 48px);max-height:calc(100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;overflow-y:auto}.HIRDBW_modalTitle{margin:0;font-size:15px;font-weight:700}.HIRDBW_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.HIRDBW_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.HIRDBW_hint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}.HIRDBW_field{flex-direction:column;gap:5px;display:flex}.HIRDBW_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.HIRDBW_input{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);resize:vertical;border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.HIRDBW_input:focus{border-color:var(--dsw-alias-state-business-primary)}.HIRDBW_input::placeholder{color:var(--dsw-alias-label-tertiary)}.HIRDBW_input:disabled{opacity:.55}.HIRDBW_formRow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;display:grid}.HIRDBW_radioRow{align-items:center;gap:16px;display:flex}.HIRDBW_radioLabel{color:var(--dsw-alias-label-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.HIRDBW_termBody{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}.HIRDBW_termWrap{border:1px solid var(--dsw-alias-border-l1);background:#0b0e14;border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.HIRDBW_termContainer{padding:8px 10px;position:absolute;inset:0}.HIRDBW_termPlaceholder{z-index:2;text-align:center;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);justify-content:center;align-items:center;padding:0 24px;font-size:12.5px;display:flex;position:absolute;inset:0}.HIRDBW_hiddenFile{display:none}.HIRDBW_browsePanel{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;display:flex;overflow:hidden}.HIRDBW_browseHeader{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:8px;padding:8px 10px;display:flex}.HIRDBW_browsePath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.HIRDBW_browseList{max-height:240px;overflow-y:auto}.HIRDBW_dirRow{text-align:left;width:100%;font:inherit;color:var(--dsw-alias-label-primary);border:none;border-bottom:1px solid var(--dsw-alias-separator-primary);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 10px;font-size:12.5px;display:grid}.HIRDBW_dirRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.HIRDBW_dirRow[data-type=dir] .HIRDBW_dirName{color:var(--dsw-alias-state-business-primary)}.HIRDBW_dirRow[data-up]{color:var(--dsw-alias-label-secondary)}.HIRDBW_dirName{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.HIRDBW_dirType{color:var(--dsw-alias-label-tertiary);white-space:nowrap}.HIRDBW_dirSize{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-align:right}.HIRDBW_transferBlock{flex-direction:column;flex:none;gap:6px;display:flex}.HIRDBW_progressMeta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.HIRDBW_progressTrack{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;height:8px;overflow:hidden}.HIRDBW_progressBar{background:var(--dsw-alias-state-business-primary);border-radius:999px;height:100%;transition:width .12s linear}.HIRDBW_tunnelList{flex-direction:column;flex:none;gap:8px;display:flex}.HIRDBW_tunnelRow{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.HIRDBW_tunnelRow[data-state=forwarding]{border-color:var(--dsw-alias-state-success-primary)}.HIRDBW_tunnelRow[data-state=connecting]{border-color:var(--dsw-alias-state-warn-primary)}.HIRDBW_tunnelRow[data-state=failed]{border-color:var(--dsw-alias-state-error-primary)}.HIRDBW_tunnelLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:hidden}.HIRDBW_formCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}.HIRDBW_clusterForm{flex-direction:column;flex:none;gap:8px;display:flex}.HIRDBW_clusterFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.HIRDBW_commandInput{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.HIRDBW_cellDetails summary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-size:12px}.HIRDBW_cellPre{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:180px;margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;overflow:auto}";
|
|
597
|
+
//#region \0dsh-css:/home/runner/work/dsh-web-ui/dsh-web-ui/packages/dsh-ssh/src/client/panel/panel.module.css.mjs
|
|
598
|
+
const css = "[data-pane=conversation]{position:relative}[data-dsh-ssh-view]{z-index:5;display:none;position:absolute;inset:0}html[data-dsh-ssh-active]:not([data-dsh-taskboard-active]) [data-dsh-ssh-view]{display:block}html[data-dsh-ssh-active]:not([data-dsh-taskboard-active]) [data-pane=conversation]>:not([data-dsh-ssh-view]){display:none}._X8bTW_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}._X8bTW_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}._X8bTW_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}._X8bTW_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}._X8bTW_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] ._X8bTW_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] ._X8bTW_entryLabel{display:none}._X8bTW_view{overflow:hidden}._X8bTW_panel{background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:10px;padding:14px 16px 16px;display:flex}._X8bTW_panelHeader{flex:none;align-items:center;gap:10px;display:flex}._X8bTW_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;flex:1;margin:0;font-size:16px;font-weight:700}._X8bTW_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:2px;display:flex}._X8bTW_tab{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:7px 14px;font-size:13px}._X8bTW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}._X8bTW_tab[data-active]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary);font-weight:600}._X8bTW_panelContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}._X8bTW_tabBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}._X8bTW_fillBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}._X8bTW_toolbar,._X8bTW_controls{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}._X8bTW_controls ._X8bTW_input{flex:0 260px;min-width:150px}._X8bTW_toolbarSpacer{flex:1}._X8bTW_search{min-width:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:0 260px;padding:6px 10px;font-size:13px}._X8bTW_search::placeholder{color:var(--dsw-alias-label-tertiary)}._X8bTW_tableWrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex:1;min-height:0;overflow:auto}._X8bTW_table{border-collapse:collapse;width:100%;font-size:12.5px}._X8bTW_table th{z-index:1;text-align:left;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-bottom:1px solid var(--dsw-alias-border-l1);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}._X8bTW_table td{border-bottom:1px solid var(--dsw-alias-separator-primary);vertical-align:top;padding:7px 10px}._X8bTW_table tbody tr:last-child td{border-bottom:none}._X8bTW_table tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover)}._X8bTW_mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}._X8bTW_cellMuted{color:var(--dsw-alias-label-tertiary)}._X8bTW_actions{white-space:nowrap;align-items:center;gap:8px;display:flex}._X8bTW_inlineTest{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}._X8bTW_inlineTest[data-status=ok]{color:var(--dsw-alias-state-success-primary)}._X8bTW_inlineTest[data-status=fail]{color:var(--dsw-alias-state-error-primary)}._X8bTW_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;line-height:1.6;display:inline-block}._X8bTW_badge[data-kind=key]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}._X8bTW_badge[data-kind=password]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}._X8bTW_badge[data-status=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}._X8bTW_badge[data-status=fail]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}._X8bTW_badge[data-status=timeout]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}._X8bTW_primaryButton{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}._X8bTW_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}._X8bTW_primaryButton:disabled{opacity:.5;cursor:default}._X8bTW_ghostButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}._X8bTW_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}._X8bTW_ghostButton:disabled{opacity:.45;cursor:default}._X8bTW_iconButton{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}._X8bTW_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._X8bTW_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}._X8bTW_linkButton:hover:not(:disabled){text-decoration:underline}._X8bTW_linkButton:disabled{opacity:.45;cursor:default}._X8bTW_linkButton[data-danger]{color:var(--dsw-alias-state-error-primary)}._X8bTW_spinner{border:2px solid var(--dsw-alias-state-business-primary);vertical-align:-1px;border-top-color:#0000;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite _X8bTW_dshSshSpin;display:inline-block}@keyframes _X8bTW_dshSshSpin{to{transform:rotate(360deg)}}._X8bTW_banner{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.5}._X8bTW_banner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}._X8bTW_banner[data-kind=error]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}._X8bTW_banner[data-kind=info]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}._X8bTW_empty,._X8bTW_loading{text-align:center;color:var(--dsw-alias-label-tertiary);padding:28px 12px;font-size:12.5px}._X8bTW_modalBackdrop{z-index:40;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._X8bTW_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(560px,100vw - 48px);max-height:calc(100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;overflow-y:auto}._X8bTW_modalTitle{margin:0;font-size:15px;font-weight:700}._X8bTW_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}._X8bTW_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}._X8bTW_hint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}._X8bTW_field{flex-direction:column;gap:5px;display:flex}._X8bTW_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}._X8bTW_input{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);resize:vertical;border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}._X8bTW_input:focus{border-color:var(--dsw-alias-state-business-primary)}._X8bTW_input::placeholder{color:var(--dsw-alias-label-tertiary)}._X8bTW_input:disabled{opacity:.55}._X8bTW_formRow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;display:grid}._X8bTW_radioRow{align-items:center;gap:16px;display:flex}._X8bTW_radioLabel{color:var(--dsw-alias-label-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}._X8bTW_termBody{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}._X8bTW_termWrap{border:1px solid var(--dsw-alias-border-l1);background:#0b0e14;border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}._X8bTW_termContainer{padding:8px 10px;position:absolute;inset:0}._X8bTW_termPlaceholder{z-index:2;text-align:center;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);justify-content:center;align-items:center;padding:0 24px;font-size:12.5px;display:flex;position:absolute;inset:0}._X8bTW_hiddenFile{display:none}._X8bTW_browsePanel{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;display:flex;overflow:hidden}._X8bTW_browseHeader{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:8px;padding:8px 10px;display:flex}._X8bTW_browsePath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}._X8bTW_browseList{max-height:240px;overflow-y:auto}._X8bTW_dirRow{text-align:left;width:100%;font:inherit;color:var(--dsw-alias-label-primary);border:none;border-bottom:1px solid var(--dsw-alias-separator-primary);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 10px;font-size:12.5px;display:grid}._X8bTW_dirRow:hover{background:var(--dsw-alias-interactive-bg-hover)}._X8bTW_dirRow[data-type=dir] ._X8bTW_dirName{color:var(--dsw-alias-state-business-primary)}._X8bTW_dirRow[data-up]{color:var(--dsw-alias-label-secondary)}._X8bTW_dirName{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}._X8bTW_dirType{color:var(--dsw-alias-label-tertiary);white-space:nowrap}._X8bTW_dirSize{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-align:right}._X8bTW_transferBlock{flex-direction:column;flex:none;gap:6px;display:flex}._X8bTW_progressMeta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}._X8bTW_progressTrack{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;height:8px;overflow:hidden}._X8bTW_progressBar{background:var(--dsw-alias-state-business-primary);border-radius:999px;height:100%;transition:width .12s linear}._X8bTW_tunnelList{flex-direction:column;flex:none;gap:8px;display:flex}._X8bTW_tunnelRow{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}._X8bTW_tunnelRow[data-state=forwarding]{border-color:var(--dsw-alias-state-success-primary)}._X8bTW_tunnelRow[data-state=connecting]{border-color:var(--dsw-alias-state-warn-primary)}._X8bTW_tunnelRow[data-state=failed]{border-color:var(--dsw-alias-state-error-primary)}._X8bTW_tunnelLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:hidden}._X8bTW_formCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}._X8bTW_clusterForm{flex-direction:column;flex:none;gap:8px;display:flex}._X8bTW_clusterFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}._X8bTW_commandInput{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}._X8bTW_cellDetails summary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-size:12px}._X8bTW_cellPre{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:180px;margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;overflow:auto}";
|
|
599
599
|
const tagId = "@linxin666/dsh-ssh/panel.module.css";
|
|
600
600
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
601
601
|
const tag = document.createElement("style");
|
|
@@ -605,76 +605,76 @@ window.__ModuleLoader__.load({
|
|
|
605
605
|
document.head.appendChild(tag);
|
|
606
606
|
}
|
|
607
607
|
var panel_module_css_default = {
|
|
608
|
-
"actions": "
|
|
609
|
-
"badge": "
|
|
610
|
-
"banner": "
|
|
611
|
-
"browseHeader": "
|
|
612
|
-
"browseList": "
|
|
613
|
-
"browsePanel": "
|
|
614
|
-
"browsePath": "
|
|
615
|
-
"cellDetails": "
|
|
616
|
-
"cellMuted": "
|
|
617
|
-
"cellPre": "
|
|
618
|
-
"clusterFilters": "
|
|
619
|
-
"clusterForm": "
|
|
620
|
-
"commandInput": "
|
|
621
|
-
"controls": "
|
|
622
|
-
"dirName": "
|
|
623
|
-
"dirRow": "
|
|
624
|
-
"dirSize": "
|
|
625
|
-
"dirType": "
|
|
626
|
-
"dshSshSpin": "
|
|
627
|
-
"empty": "
|
|
628
|
-
"entry": "
|
|
629
|
-
"entryIcon": "
|
|
630
|
-
"entryLabel": "
|
|
631
|
-
"field": "
|
|
632
|
-
"fieldLabel": "
|
|
633
|
-
"fillBody": "
|
|
634
|
-
"formCard": "
|
|
635
|
-
"formError": "
|
|
636
|
-
"formRow": "
|
|
637
|
-
"ghostButton": "
|
|
638
|
-
"hiddenFile": "
|
|
639
|
-
"hint": "
|
|
640
|
-
"iconButton": "
|
|
641
|
-
"inlineTest": "
|
|
642
|
-
"input": "
|
|
643
|
-
"linkButton": "
|
|
644
|
-
"loading": "
|
|
645
|
-
"modal": "
|
|
646
|
-
"modalBackdrop": "
|
|
647
|
-
"modalFooter": "
|
|
648
|
-
"modalTitle": "
|
|
649
|
-
"mono": "
|
|
650
|
-
"panel": "
|
|
651
|
-
"panelContent": "
|
|
652
|
-
"panelHeader": "
|
|
653
|
-
"panelTitle": "
|
|
654
|
-
"primaryButton": "
|
|
655
|
-
"progressBar": "
|
|
656
|
-
"progressMeta": "
|
|
657
|
-
"progressTrack": "
|
|
658
|
-
"radioLabel": "
|
|
659
|
-
"radioRow": "
|
|
660
|
-
"search": "
|
|
661
|
-
"spinner": "
|
|
662
|
-
"tab": "
|
|
663
|
-
"tabBar": "
|
|
664
|
-
"tabBody": "
|
|
665
|
-
"table": "
|
|
666
|
-
"tableWrap": "
|
|
667
|
-
"termBody": "
|
|
668
|
-
"termContainer": "
|
|
669
|
-
"termPlaceholder": "
|
|
670
|
-
"termWrap": "
|
|
671
|
-
"toolbar": "
|
|
672
|
-
"toolbarSpacer": "
|
|
673
|
-
"transferBlock": "
|
|
674
|
-
"tunnelLabel": "
|
|
675
|
-
"tunnelList": "
|
|
676
|
-
"tunnelRow": "
|
|
677
|
-
"view": "
|
|
608
|
+
"actions": "_X8bTW_actions",
|
|
609
|
+
"badge": "_X8bTW_badge",
|
|
610
|
+
"banner": "_X8bTW_banner",
|
|
611
|
+
"browseHeader": "_X8bTW_browseHeader",
|
|
612
|
+
"browseList": "_X8bTW_browseList",
|
|
613
|
+
"browsePanel": "_X8bTW_browsePanel",
|
|
614
|
+
"browsePath": "_X8bTW_browsePath",
|
|
615
|
+
"cellDetails": "_X8bTW_cellDetails",
|
|
616
|
+
"cellMuted": "_X8bTW_cellMuted",
|
|
617
|
+
"cellPre": "_X8bTW_cellPre",
|
|
618
|
+
"clusterFilters": "_X8bTW_clusterFilters",
|
|
619
|
+
"clusterForm": "_X8bTW_clusterForm",
|
|
620
|
+
"commandInput": "_X8bTW_commandInput",
|
|
621
|
+
"controls": "_X8bTW_controls",
|
|
622
|
+
"dirName": "_X8bTW_dirName",
|
|
623
|
+
"dirRow": "_X8bTW_dirRow",
|
|
624
|
+
"dirSize": "_X8bTW_dirSize",
|
|
625
|
+
"dirType": "_X8bTW_dirType",
|
|
626
|
+
"dshSshSpin": "_X8bTW_dshSshSpin",
|
|
627
|
+
"empty": "_X8bTW_empty",
|
|
628
|
+
"entry": "_X8bTW_entry",
|
|
629
|
+
"entryIcon": "_X8bTW_entryIcon",
|
|
630
|
+
"entryLabel": "_X8bTW_entryLabel",
|
|
631
|
+
"field": "_X8bTW_field",
|
|
632
|
+
"fieldLabel": "_X8bTW_fieldLabel",
|
|
633
|
+
"fillBody": "_X8bTW_fillBody",
|
|
634
|
+
"formCard": "_X8bTW_formCard",
|
|
635
|
+
"formError": "_X8bTW_formError",
|
|
636
|
+
"formRow": "_X8bTW_formRow",
|
|
637
|
+
"ghostButton": "_X8bTW_ghostButton",
|
|
638
|
+
"hiddenFile": "_X8bTW_hiddenFile",
|
|
639
|
+
"hint": "_X8bTW_hint",
|
|
640
|
+
"iconButton": "_X8bTW_iconButton",
|
|
641
|
+
"inlineTest": "_X8bTW_inlineTest",
|
|
642
|
+
"input": "_X8bTW_input",
|
|
643
|
+
"linkButton": "_X8bTW_linkButton",
|
|
644
|
+
"loading": "_X8bTW_loading",
|
|
645
|
+
"modal": "_X8bTW_modal",
|
|
646
|
+
"modalBackdrop": "_X8bTW_modalBackdrop",
|
|
647
|
+
"modalFooter": "_X8bTW_modalFooter",
|
|
648
|
+
"modalTitle": "_X8bTW_modalTitle",
|
|
649
|
+
"mono": "_X8bTW_mono",
|
|
650
|
+
"panel": "_X8bTW_panel",
|
|
651
|
+
"panelContent": "_X8bTW_panelContent",
|
|
652
|
+
"panelHeader": "_X8bTW_panelHeader",
|
|
653
|
+
"panelTitle": "_X8bTW_panelTitle",
|
|
654
|
+
"primaryButton": "_X8bTW_primaryButton",
|
|
655
|
+
"progressBar": "_X8bTW_progressBar",
|
|
656
|
+
"progressMeta": "_X8bTW_progressMeta",
|
|
657
|
+
"progressTrack": "_X8bTW_progressTrack",
|
|
658
|
+
"radioLabel": "_X8bTW_radioLabel",
|
|
659
|
+
"radioRow": "_X8bTW_radioRow",
|
|
660
|
+
"search": "_X8bTW_search",
|
|
661
|
+
"spinner": "_X8bTW_spinner",
|
|
662
|
+
"tab": "_X8bTW_tab",
|
|
663
|
+
"tabBar": "_X8bTW_tabBar",
|
|
664
|
+
"tabBody": "_X8bTW_tabBody",
|
|
665
|
+
"table": "_X8bTW_table",
|
|
666
|
+
"tableWrap": "_X8bTW_tableWrap",
|
|
667
|
+
"termBody": "_X8bTW_termBody",
|
|
668
|
+
"termContainer": "_X8bTW_termContainer",
|
|
669
|
+
"termPlaceholder": "_X8bTW_termPlaceholder",
|
|
670
|
+
"termWrap": "_X8bTW_termWrap",
|
|
671
|
+
"toolbar": "_X8bTW_toolbar",
|
|
672
|
+
"toolbarSpacer": "_X8bTW_toolbarSpacer",
|
|
673
|
+
"transferBlock": "_X8bTW_transferBlock",
|
|
674
|
+
"tunnelLabel": "_X8bTW_tunnelLabel",
|
|
675
|
+
"tunnelList": "_X8bTW_tunnelList",
|
|
676
|
+
"tunnelRow": "_X8bTW_tunnelRow",
|
|
677
|
+
"view": "_X8bTW_view"
|
|
678
678
|
};
|
|
679
679
|
//#endregion
|
|
680
680
|
//#region src/client/panel/ClusterTab.tsx
|
|
@@ -15425,6 +15425,11 @@ window.__ModuleLoader__.load({
|
|
|
15425
15425
|
*/
|
|
15426
15426
|
const CONVERSATION_COLUMN_SELECTOR = "[data-pane=\"conversation\"]";
|
|
15427
15427
|
const ACTIVE_ATTR = "data-dsh-ssh-active";
|
|
15428
|
+
/** The sibling panel's activation attribute (task board), removed when this panel opens. */
|
|
15429
|
+
const OTHER_ACTIVE_ATTR = "data-dsh-taskboard-active";
|
|
15430
|
+
/** Cross-plugin activation event; detail is the activating panel name. */
|
|
15431
|
+
const ACTIVATE_EVENT = "dsh-panel-activate";
|
|
15432
|
+
const PANEL_NAME = "ssh";
|
|
15428
15433
|
/** Find the center column, or undefined while the frame is not mounted. */
|
|
15429
15434
|
function conversationColumn() {
|
|
15430
15435
|
return document.querySelector(CONVERSATION_COLUMN_SELECTOR) ?? void 0;
|
|
@@ -15467,13 +15472,30 @@ window.__ModuleLoader__.load({
|
|
|
15467
15472
|
subtree: true
|
|
15468
15473
|
});
|
|
15469
15474
|
const applyActive = () => {
|
|
15470
|
-
if (controller.getSnapshot().panelOpen)
|
|
15471
|
-
|
|
15475
|
+
if (controller.getSnapshot().panelOpen) {
|
|
15476
|
+
document.documentElement.removeAttribute(OTHER_ACTIVE_ATTR);
|
|
15477
|
+
document.documentElement.setAttribute(ACTIVE_ATTR, "");
|
|
15478
|
+
document.dispatchEvent(new CustomEvent(ACTIVATE_EVENT, { detail: PANEL_NAME }));
|
|
15479
|
+
} else document.documentElement.removeAttribute(ACTIVE_ATTR);
|
|
15472
15480
|
};
|
|
15481
|
+
const onOtherActivate = (event) => {
|
|
15482
|
+
if (event.detail === "taskboard" && controller.getSnapshot().panelOpen) controller.close();
|
|
15483
|
+
};
|
|
15484
|
+
const SIDEBAR_ROW_SELECTOR = "[class*=\"sessionRow\"], [class*=\"projectRow\"], [class*=\"searchResultRow\"], [class*=\"searchResultWorkspace\"], [class*=\"newSession\"]";
|
|
15485
|
+
const onClickSidebarRow = (event) => {
|
|
15486
|
+
if (!controller.getSnapshot().panelOpen) return;
|
|
15487
|
+
const target = event.target;
|
|
15488
|
+
if (target === null) return;
|
|
15489
|
+
if (target.closest(SIDEBAR_ROW_SELECTOR) !== null) controller.close();
|
|
15490
|
+
};
|
|
15491
|
+
document.addEventListener("click", onClickSidebarRow, true);
|
|
15492
|
+
document.addEventListener(ACTIVATE_EVENT, onOtherActivate);
|
|
15473
15493
|
const unsubscribe = controller.subscribe(applyActive);
|
|
15474
15494
|
applyActive();
|
|
15475
15495
|
ensure();
|
|
15476
15496
|
return () => {
|
|
15497
|
+
document.removeEventListener("click", onClickSidebarRow, true);
|
|
15498
|
+
document.removeEventListener(ACTIVATE_EVENT, onOtherActivate);
|
|
15477
15499
|
waitObserver.disconnect();
|
|
15478
15500
|
unsubscribe();
|
|
15479
15501
|
document.documentElement.removeAttribute(ACTIVE_ATTR);
|
|
@@ -15518,14 +15540,16 @@ window.__ModuleLoader__.load({
|
|
|
15518
15540
|
};
|
|
15519
15541
|
//#endregion
|
|
15520
15542
|
//#region src/client/sidebar-entry.ts
|
|
15521
|
-
/** The sidebar column is the grid item AppFrame renders with this pane marker. */
|
|
15522
|
-
const SIDEBAR_COLUMN_SELECTOR = "[data-pane=\"sidebar\"]";
|
|
15523
15543
|
/** Find the sidebar shell root element, or undefined while not yet mounted. */
|
|
15524
15544
|
function sidebarRoot() {
|
|
15525
|
-
|
|
15545
|
+
const column = document.querySelector("[data-pane=\"sidebar\"], [class*=\"sidebarCol\"]");
|
|
15546
|
+
if (column === null) return void 0;
|
|
15547
|
+
return column.querySelector("[class*=\"logoRow\"]")?.parentElement ?? column.firstElementChild;
|
|
15526
15548
|
}
|
|
15527
|
-
/** The New Session button: the
|
|
15549
|
+
/** The New Session button: nested in the logo row on current shells, a direct child on legacy shells. */
|
|
15528
15550
|
function newSessionButton(root) {
|
|
15551
|
+
const nested = root.querySelector("button[class*=\"newSession\"]");
|
|
15552
|
+
if (nested !== null) return nested;
|
|
15529
15553
|
for (const child of root.children) if (child.tagName === "BUTTON") return child;
|
|
15530
15554
|
}
|
|
15531
15555
|
/** Build the entry row (a detached button; insert once the shell is up). */
|
|
@@ -15542,11 +15566,17 @@ window.__ModuleLoader__.load({
|
|
|
15542
15566
|
});
|
|
15543
15567
|
return entry;
|
|
15544
15568
|
}
|
|
15545
|
-
/** Re-insert the entry after the New Session
|
|
15569
|
+
/** Re-insert the entry after the New Session row (before the browser region). */
|
|
15546
15570
|
function placeEntry(root, entry) {
|
|
15547
15571
|
const button = newSessionButton(root);
|
|
15548
15572
|
if (button === void 0) return false;
|
|
15549
|
-
if (entry.parentElement !== root)
|
|
15573
|
+
if (entry.parentElement !== root) {
|
|
15574
|
+
const row = button.closest("[class*=\"logoRow\"]");
|
|
15575
|
+
const base = row !== null && row.parentElement === root ? row : button;
|
|
15576
|
+
const family = Array.from(root.children).filter((el) => el instanceof HTMLElement && el.matches("[data-dsh-taskboard-entry], [data-dsh-ssh-entry]"));
|
|
15577
|
+
const anchor = family.length > 0 ? family[family.length - 1].nextElementSibling : base.nextElementSibling;
|
|
15578
|
+
root.insertBefore(entry, anchor);
|
|
15579
|
+
}
|
|
15550
15580
|
return true;
|
|
15551
15581
|
}
|
|
15552
15582
|
/**
|
|
@@ -15560,10 +15590,16 @@ window.__ModuleLoader__.load({
|
|
|
15560
15590
|
let root;
|
|
15561
15591
|
let placed = false;
|
|
15562
15592
|
const tryPlace = () => {
|
|
15563
|
-
if (placed) return;
|
|
15564
15593
|
if (root !== void 0 && !root.isConnected) {
|
|
15565
15594
|
rootObserver.disconnect();
|
|
15566
15595
|
root = void 0;
|
|
15596
|
+
placed = false;
|
|
15597
|
+
}
|
|
15598
|
+
if (placed) {
|
|
15599
|
+
if (document.body.contains(entry)) return;
|
|
15600
|
+
rootObserver.disconnect();
|
|
15601
|
+
root = void 0;
|
|
15602
|
+
placed = false;
|
|
15567
15603
|
}
|
|
15568
15604
|
root ??= sidebarRoot();
|
|
15569
15605
|
if (root === void 0) return;
|