@lemoncat7/dsh-ssh 1.7.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARCHITECTURE.md +15 -0
- package/README.md +6 -2
- package/docs/dialog-consistency.md +26 -0
- package/docs/releases/1.8.0.md +13 -0
- package/docs/releases/1.9.0.md +15 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +58 -1
- package/lib/api.js.map +1 -1
- package/lib/browser-transfers.d.ts +26 -0
- package/lib/browser-transfers.d.ts.map +1 -0
- package/lib/browser-transfers.js +72 -0
- package/lib/browser-transfers.js.map +1 -0
- package/lib/client-api.d.ts +8 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js +45 -8
- package/lib/client-api.js.map +1 -1
- package/lib/client-download.d.ts +22 -0
- package/lib/client-download.d.ts.map +1 -0
- package/lib/client-download.js +65 -0
- package/lib/client-download.js.map +1 -0
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +262 -151
- package/lib/client.js.map +4 -4
- package/lib/commands-panel.d.ts.map +1 -1
- package/lib/commands-panel.js +18 -5
- package/lib/commands-panel.js.map +1 -1
- package/lib/confirmation-dialog.d.ts +12 -0
- package/lib/confirmation-dialog.d.ts.map +1 -0
- package/lib/confirmation-dialog.js +41 -0
- package/lib/confirmation-dialog.js.map +1 -0
- package/lib/connector.d.ts.map +1 -1
- package/lib/connector.js +6 -4
- package/lib/connector.js.map +1 -1
- package/lib/domain.d.ts +10 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/download-progress.d.ts +17 -0
- package/lib/download-progress.d.ts.map +1 -0
- package/lib/download-progress.js +68 -0
- package/lib/download-progress.js.map +1 -0
- package/lib/endpoint-upload.d.ts +10 -0
- package/lib/endpoint-upload.d.ts.map +1 -0
- package/lib/endpoint-upload.js +63 -0
- package/lib/endpoint-upload.js.map +1 -0
- package/lib/file-entry-delete-dialog.js +1 -1
- package/lib/file-entry-delete-dialog.js.map +1 -1
- package/lib/file-entry-sort.d.ts +1 -0
- package/lib/file-entry-sort.d.ts.map +1 -1
- package/lib/file-entry-sort.js +5 -8
- package/lib/file-entry-sort.js.map +1 -1
- package/lib/file-transfer-tools.d.ts.map +1 -1
- package/lib/file-transfer-tools.js +40 -7
- package/lib/file-transfer-tools.js.map +1 -1
- package/lib/file-transfer-workspace.d.ts.map +1 -1
- package/lib/file-transfer-workspace.js +70 -26
- package/lib/file-transfer-workspace.js.map +1 -1
- package/lib/ftp-adapter.d.ts.map +1 -1
- package/lib/ftp-adapter.js +12 -3
- package/lib/ftp-adapter.js.map +1 -1
- package/lib/ftp-list-date.d.ts +3 -0
- package/lib/ftp-list-date.d.ts.map +1 -0
- package/lib/ftp-list-date.js +20 -0
- package/lib/ftp-list-date.js.map +1 -0
- package/lib/ftp-listing-client.d.ts +7 -0
- package/lib/ftp-listing-client.d.ts.map +1 -0
- package/lib/ftp-listing-client.js +28 -0
- package/lib/ftp-listing-client.js.map +1 -0
- package/lib/ftp-profile-editor.js +8 -6
- package/lib/ftp-profile-editor.js.map +1 -1
- package/lib/gist-sync.d.ts +4 -2
- package/lib/gist-sync.d.ts.map +1 -1
- package/lib/gist-sync.js +49 -12
- package/lib/gist-sync.js.map +1 -1
- package/lib/group-proxy-editor.d.ts +10 -0
- package/lib/group-proxy-editor.d.ts.map +1 -0
- package/lib/group-proxy-editor.js +33 -0
- package/lib/group-proxy-editor.js.map +1 -0
- package/lib/group-proxy.d.ts +7 -0
- package/lib/group-proxy.d.ts.map +1 -0
- package/lib/group-proxy.js +29 -0
- package/lib/group-proxy.js.map +1 -0
- package/lib/locales/messages.d.ts +98 -2
- package/lib/locales/messages.d.ts.map +1 -1
- package/lib/locales/messages.js +26 -2
- package/lib/locales/messages.js.map +1 -1
- package/lib/profile-editor.js +3 -2
- package/lib/profile-editor.js.map +1 -1
- package/lib/remote-files.d.ts +1 -0
- package/lib/remote-files.d.ts.map +1 -1
- package/lib/remote-files.js.map +1 -1
- package/lib/remote-workspace-tree.d.ts +1 -0
- package/lib/remote-workspace-tree.d.ts.map +1 -1
- package/lib/remote-workspace-tree.js +6 -13
- package/lib/remote-workspace-tree.js.map +1 -1
- package/lib/session-access.d.ts +1 -0
- package/lib/session-access.d.ts.map +1 -1
- package/lib/session-access.js +1 -0
- package/lib/session-access.js.map +1 -1
- package/lib/session-file-upload.d.ts +22 -0
- package/lib/session-file-upload.d.ts.map +1 -0
- package/lib/session-file-upload.js +56 -0
- package/lib/session-file-upload.js.map +1 -0
- package/lib/sftp-client.d.ts.map +1 -1
- package/lib/sftp-client.js +7 -5
- package/lib/sftp-client.js.map +1 -1
- package/lib/store.d.ts +4 -0
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +15 -0
- package/lib/store.js.map +1 -1
- package/lib/terminal-workspace.js +1 -1
- package/lib/terminal-workspace.js.map +1 -1
- package/lib/transfer-task-list.d.ts +16 -0
- package/lib/transfer-task-list.d.ts.map +1 -0
- package/lib/transfer-task-list.js +35 -0
- package/lib/transfer-task-list.js.map +1 -0
- package/lib/ui-components.d.ts +3 -1
- package/lib/ui-components.d.ts.map +1 -1
- package/lib/ui-components.js +6 -3
- package/lib/ui-components.js.map +1 -1
- package/lib/use-workspace-refresh.d.ts +3 -0
- package/lib/use-workspace-refresh.d.ts.map +1 -0
- package/lib/use-workspace-refresh.js +44 -0
- package/lib/use-workspace-refresh.js.map +1 -0
- package/lib/workspace-refresh.d.ts +14 -0
- package/lib/workspace-refresh.d.ts.map +1 -0
- package/lib/workspace-refresh.js +36 -0
- package/lib/workspace-refresh.js.map +1 -0
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ interface RemoteWorkspaceTreeProps {
|
|
|
24
24
|
onCreateSession(project: RemoteProjectView, workspaceId: string): Promise<void>;
|
|
25
25
|
onNewProfile(): void;
|
|
26
26
|
onProjectsChanged(): Promise<void>;
|
|
27
|
+
onGroupProxy?(name: string): void;
|
|
27
28
|
}
|
|
28
29
|
export declare function RemoteWorkspaceTree(props: RemoteWorkspaceTreeProps): JSX.Element;
|
|
29
30
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-workspace-tree.d.ts","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAKrF,OAAO,EAEL,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAC7D,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"remote-workspace-tree.d.ts","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAKrF,OAAO,EAEL,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAC7D,MAAM,iBAAiB,CAAA;AAQxB,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,wBAAwB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAA;IACpC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IACpC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACtC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACzE,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAC3D,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAChC,eAAe,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,YAAY,IAAI,IAAI,CAAA;IACpB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAwGhF"}
|
|
@@ -8,6 +8,7 @@ import { ProjectSessionDialog } from './project-session-dialog.js';
|
|
|
8
8
|
import { RemotePathInput } from './remote-path-input.js';
|
|
9
9
|
import { useBorderGlowSurface } from './border-glow.js';
|
|
10
10
|
import { Dialog } from './ui-components.js';
|
|
11
|
+
import { useConfirmationDialog } from './confirmation-dialog.js';
|
|
11
12
|
import { mountedProjects } from './project-mounts.js';
|
|
12
13
|
export function RemoteWorkspaceTree(props) {
|
|
13
14
|
useSshLocale();
|
|
@@ -59,7 +60,7 @@ export function RemoteWorkspaceTree(props) {
|
|
|
59
60
|
});
|
|
60
61
|
return _jsxs("aside", { ref: panelGlow.ref, onPointerMove: panelGlow.onPointerMove, onPointerLeave: panelGlow.onPointerLeave, className: "dsh-ssh-remote-tree dsh-ssh-border-surface", children: [_jsxs("header", { className: "dsh-ssh-tree-header", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.hostsProjects") }), _jsxs("small", { children: [props.profiles.length, " ", t("remote-workspace-tree.hosts")] })] }), _jsx("button", { type: "button", className: "dsh-ssh-icon-button", onClick: props.onNewProfile, "aria-label": t("remote-workspace-tree.newConnection"), title: t("remote-workspace-tree.newConnection"), children: _jsx(IconPlusOutline16, { size: 16 }) })] }), _jsxs("label", { className: "dsh-ssh-search", children: [_jsx("span", { className: "sr-only", children: t("remote-workspace-tree.searchHosts") }), _jsx("input", { value: query, onChange: event => setQuery(event.target.value), placeholder: t("remote-workspace-tree.searchHostsGroupsTags") })] }), _jsxs("div", { className: "dsh-ssh-tree-scroll dsh-ssh-scroll-surface", children: [groups.map(group => {
|
|
61
62
|
const collapsed = collapsedGroups.has(group.name);
|
|
62
|
-
return _jsxs("section", { className: "dsh-ssh-tree-group", "data-collapsed": collapsed, children: [
|
|
63
|
+
return _jsxs("section", { className: "dsh-ssh-tree-group", "data-collapsed": collapsed, children: [_jsxs("h3", { children: [_jsxs("button", { type: "button", "aria-expanded": !collapsed, onClick: () => toggleGroup(group.name), children: [collapsed ? _jsx(IconChevronRightOutline14, { size: 14 }) : _jsx(IconChevronDownOutline14, { size: 14 }), _jsx("span", { children: group.name || t("remote-workspace-tree.ungrouped") }), _jsx("small", { children: group.profiles.length })] }), group.name && props.onGroupProxy && _jsx("button", { type: "button", className: "dsh-ssh-group-proxy-button", "aria-label": t('group-proxy.title', [group.name]), title: t('group-proxy.title', [group.name]), onClick: () => props.onGroupProxy?.(group.name), children: _jsx(IconEditOutline16, { size: 14 }) })] }), !collapsed && group.profiles.map(profile => {
|
|
63
64
|
const open = expanded.has(profile.id);
|
|
64
65
|
const enabled = props.access?.profileIds.includes(profile.id) === true;
|
|
65
66
|
const children = projects[profile.id] ?? [];
|
|
@@ -86,6 +87,7 @@ function SessionAccessFooter({ access, loading, saving, error, onPermission, onA
|
|
|
86
87
|
}
|
|
87
88
|
function RemoteProjectDialog({ profile, project, onClose, onSaved }) {
|
|
88
89
|
useSshLocale();
|
|
90
|
+
const { confirm, confirmation } = useConfirmationDialog();
|
|
89
91
|
const [name, setName] = useState(project?.name ?? '');
|
|
90
92
|
const [path, setPath] = useState(project?.path ?? '');
|
|
91
93
|
const [saving, setSaving] = useState(false);
|
|
@@ -107,20 +109,11 @@ function RemoteProjectDialog({ profile, project, onClose, onSaved }) {
|
|
|
107
109
|
}
|
|
108
110
|
};
|
|
109
111
|
const remove = async () => {
|
|
110
|
-
if (project === undefined
|
|
112
|
+
if (project === undefined)
|
|
111
113
|
return;
|
|
112
|
-
|
|
113
|
-
setError(undefined);
|
|
114
|
-
try {
|
|
115
|
-
await deleteRemoteProject(profile.id, project.id);
|
|
116
|
-
await onSaved();
|
|
117
|
-
}
|
|
118
|
-
catch (reason) {
|
|
119
|
-
setError(message(reason));
|
|
120
|
-
setSaving(false);
|
|
121
|
-
}
|
|
114
|
+
confirm({ title: t('client.delete2', [project.name]), description: t('remote-workspace-tree.deletePinnedDirectoryRelatedDshSessionsWillNotBe', [project.name]), onConfirm: async () => { await deleteRemoteProject(profile.id, project.id); await onSaved(); } });
|
|
122
115
|
};
|
|
123
|
-
return
|
|
116
|
+
return _jsxs(Dialog, { className: "dsh-ssh-project-dialog", title: project === undefined ? t("remote-workspace-tree.addPinnedDirectory") : t("remote-workspace-tree.editPinnedDirectory"), subtitle: t("remote-workspace-tree.defaultRemotePathForTheTerminalAndSftp", [profile.name]), onClose: onClose, children: [confirmation, _jsxs("form", { className: "dsh-ssh-form", onSubmit: event => { void submit(event); }, children: [_jsxs("label", { className: "dsh-ssh-field", children: [_jsx("span", { children: t("client.name") }), _jsx("input", { required: true, maxLength: 80, value: name, placeholder: t("remote-workspace-tree.websiteProject"), onChange: event => setName(event.target.value) })] }), _jsx(RemotePathInput, { profileId: profile.id, value: path, disabled: saving, onChange: setPath }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [project !== undefined && _jsxs("button", { type: "button", className: "dsh-ssh-danger-button", disabled: saving, onClick: () => { void remove(); }, children: [_jsx(IconTrashOutline16, { size: 15 }), t("client.delete")] }), _jsx("span", { className: "dsh-ssh-dialog-spacer" }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", "data-ssh-dialog-close": true, disabled: saving, onClick: onClose, children: t("client.cancel") }), _jsx("button", { className: "dsh-ssh-primary-button", disabled: saving, children: saving ? t("client.saving2") : t("remote-workspace-tree.saveDirectory") })] })] })] });
|
|
124
117
|
}
|
|
125
118
|
function groupProfiles(profiles) {
|
|
126
119
|
const result = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-workspace-tree.js","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-workspace-tree.js","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAA;AAEzD,OAAO,EACL,wBAAwB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,iBAAiB,EACzF,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,GAC/D,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EACL,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,GAElF,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AA8BrD,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,YAAY,EAAE,CAAA;IACd,MAAM,SAAS,GAAG,oBAAoB,EAAe,CAAA;IACrD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IACpF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;IACtE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAsC,EAAE,CAAC,CAAA;IACjF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAyD,CAAA;IAC/F,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAwF,CAAA;IAC9I,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAA;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IAErJ,MAAM,eAAe,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;QACjE,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAChD,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC3D,QAAQ,CAAC,SAAS,CAAC,CAAA;QACrB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QAAC,CAAC;gBAAS,CAAC;YAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAAC,CAAC;IACtI,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAChD,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS;YAAE,KAAK,eAAe,CAAC,SAAS,CAAC,CAAA;QACtE,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC1C,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAA;QAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC3C,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAC5F,IAAI,OAAO;YAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACtD,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;QACvE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;YAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO,iBAAO,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,SAAS,EAAC,4CAA4C,aACxK,kBAAQ,SAAS,EAAC,qBAAqB,aACrC,2BAAM,2BAAS,CAAC,CAAC,qCAAqC,CAAC,GAAU,EAAA,4BAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,QAAI,CAAC,CAAC,6BAA6B,CAAC,IAAS,IAAO,EAClJ,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,KAAK,CAAC,YAAY,gBAAc,CAAC,CAAC,qCAAqC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,qCAAqC,CAAC,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,IAC3N,EACT,iBAAO,SAAS,EAAC,gBAAgB,aAAC,eAAM,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,mCAAmC,CAAC,GAAQ,EAAA,gBAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,6CAA6C,CAAC,GAAI,IAAQ,EAC1P,eAAK,SAAS,EAAC,4CAA4C,aACxD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;wBAClB,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBACjD,OAAO,mBAAS,SAAS,EAAC,oBAAoB,oBAAkC,SAAS,aACzF,yBAAI,kBAAQ,IAAI,EAAC,QAAQ,mBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,aAAG,SAAS,CAAC,CAAC,CAAC,KAAC,yBAAyB,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,wBAAwB,IAAC,IAAI,EAAE,EAAE,GAAI,EAAC,yBAAO,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,iCAAiC,CAAC,GAAQ,EAAA,0BAAQ,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAS,IAAS,EAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,YAAY,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,4BAA4B,gBAAa,CAAC,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,IAAM,EAC1kB,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oCAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oCACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;oCACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;oCAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAA;oCACjG,OAAO,eAAK,SAAS,EAAC,mBAAmB,eAA6B,IAAI,aACxE,uCAA0B,KAAK,gCAAsB,SAAS,EAAE,wBAAwB,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,aACpJ,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,kBAAe,MAAM,mBAAiB,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,uCAAuC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,aAC7M,eAAM,SAAS,EAAC,uBAAuB,YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAQ,EACvF,2BAAM,2BAAS,OAAO,CAAC,IAAI,GAAU,EAAA,4BAAQ,OAAO,CAAC,QAAQ,OAAG,OAAO,CAAC,IAAI,IAAS,IAAO,IACrF,EACT,iBACE,IAAI,EAAC,QAAQ,0BACQ,QAAQ,EAC7B,SAAS,EAAE,4CAA4C,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,gBACzE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,kBAClG,OAAO,EACrB,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6CAA6C,CAAC,EAChN,QAAQ,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,EAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,YACxC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAAU,EAC3F,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,gBAAa,CAAC,CAAC,6CAA6C,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,0CAA0C,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,IACnQ,EACL,IAAI,IAAI,cAAK,SAAS,EAAC,uBAAuB,YAC5C,cAAc,KAAK,OAAO,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,YAAG,SAAS,EAAC,oBAAoB,YAAE,CAAC,CAAC,gDAAgD,CAAC,GAAK;oDAChK,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,oBAAoB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,aAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,EAAC,CAAC,CAAC,2CAA2C,CAAC,IAAU;wDAC7M,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;4DACvB,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAC,EAAE,CAAA;4DAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;4DACrG,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,CAAA;4DAC5E,OAAO,cAAK,SAAS,EAAC,sBAAsB,YAC1C,uCAA0B,KAAK,EAAC,SAAS,EAAE,2BAA2B,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,aAClI,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,kBAAe,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kEAAkE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gFACvb,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oFAC3D,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;oFAC3D,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;gFACrI,CAAC;4EACH,CAAC,aAAE,yBAAO,KAAK,CAAC,CAAC,CAAC,KAAC,uBAAuB,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAQ,EAAA,2BAAM,2BAAS,OAAO,CAAC,IAAI,GAAU,EAAA,0BAAQ,OAAO,CAAC,IAAI,GAAS,EAAC,KAAK,IAAI,uBAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAM,IAAQ,IAAS,EACpS,eAAK,SAAS,EAAC,8BAA8B,aAAE,KAAK,IAAI,CAAC,SAAS,IAAI,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,oDAAoD,CAAC,gBAAc,CAAC,CAAC,gDAAgD,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,YAAE,KAAC,uBAAuB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,EACva,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,0BAA0B,gBAAa,CAAC,CAAC,oCAAoC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,kCAAkC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA,CAAC,CAAC,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,EAC7U,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,gBAAa,CAAC,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,2CAA2C,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,YAAE,KAAC,iBAAiB,IAAC,IAAI,EAAE,EAAE,GAAI,GAAS,IAAM,IAC7P,IAX0C,OAAO,CAAC,EAAE,CAYtD,CAAA;wDACR,CAAC,CAAC,GACF,KAvCuC,OAAO,CAAC,EAAE,CAwCnD,CAAA;gCACR,CAAC,CAAC,KAhDkD,KAAK,CAAC,IAAI,CAiDtD,CAAA;oBAAA,CAAC,CAAC,EACX,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,YAAG,SAAS,EAAC,yBAAyB,YAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAuC,CAAC,GAAK,IACpL,EACN,KAAC,mBAAmB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,EACzM,OAAO,KAAK,SAAS,IAAI,KAAC,mBAAmB,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,iBAAiB,EAAE,CAAA,CAAC,CAAC,GAAI,EACnS,eAAe,KAAK,SAAS,IAAI,KAAC,oBAAoB,OAAK,eAAe,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,eAAe,GAAI,IAChR,CAAA;AACV,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAA6L;IAClR,YAAY,EAAE,CAAA;IACd,OAAO,kBAAQ,SAAS,EAAC,uBAAuB,aAC9C,eAAK,SAAS,EAAC,wBAAwB,aAAC,2BAAM,2BAAS,CAAC,CAAC,iDAAiD,CAAC,GAAU,EAAA,4BAAQ,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,CAAC,QAAI,CAAC,CAAC,sCAAsC,CAAC,IAAS,IAAO,EAAA,uBAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,GAAM,IAAM,EACrZ,eAAK,SAAS,EAAC,yBAAyB,gBAAa,CAAC,CAAC,sCAAsC,CAAC,aAC5F,iBAAQ,IAAI,EAAC,QAAQ,0BAAsB,QAAQ,EAAC,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAgB,MAAM,EAAE,UAAU,KAAK,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,YAAG,CAAC,CAAC,oCAAoC,CAAC,GAAU,EAChR,iBAAQ,IAAI,EAAC,QAAQ,0BAAsB,QAAQ,EAAC,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAgB,MAAM,EAAE,UAAU,KAAK,UAAU,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,YAAG,CAAC,CAAC,uCAAuC,CAAC,GAAU,IAC3R,EACN,iBAAO,SAAS,EAAC,yBAAyB,aAAC,2BAAM,2BAAS,CAAC,CAAC,4CAA4C,CAAC,GAAU,EAAA,0BAAQ,MAAM,EAAE,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sEAAsE,CAAC,GAAS,IAAO,EAAA,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,IAAI,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAI,EAAA,2BAAe,MAAM,GAAG,IAAQ,EACvgB,KAAK,IAAI,YAAG,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAK,IAC/D,CAAA;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAgH;IAC/K,YAAY,EAAE,CAAA;IACd,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,qBAAqB,EAAE,CAAA;IACzD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IACrD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAA;IAC5C,MAAM,MAAM,GAAG,KAAK,EAAE,KAAgB,EAAiB,EAAE;QACvD,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,SAAS,CAAC,IAAI,CAAC,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,CAAC;YACH,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;;gBAC3E,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACtE,MAAM,OAAO,EAAE,CAAA;QACjB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAAC,CAAC;IAClE,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACvC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAM;QACjC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,wEAAwE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,CAAA;IAClQ,CAAC,CAAA;IACD,OAAO,MAAC,MAAM,IAAC,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2CAA2C,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,8DAA8D,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,aAC3R,YAAY,EACb,gBAAM,SAAS,EAAC,cAAc,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,aACpE,iBAAO,SAAS,EAAC,eAAe,aAAC,yBAAO,CAAC,CAAC,aAAa,CAAC,GAAQ,EAAA,gBAAO,QAAQ,QAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,sCAAsC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,IAAQ,EAC9N,KAAC,eAAe,IAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAI,EAC3F,KAAK,IAAI,YAAG,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,OAAO,YAAE,KAAK,GAAK,EACtE,eAAK,SAAS,EAAC,wBAAwB,aAAE,OAAO,KAAK,SAAS,IAAI,kBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,uBAAuB,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,EAAE,CAAA,CAAC,CAAC,aAAE,KAAC,kBAAkB,IAAC,IAAI,EAAE,EAAE,GAAI,EAAC,CAAC,CAAC,eAAe,CAAC,IAAU,EAAC,eAAM,SAAS,EAAC,uBAAuB,GAAG,EAAA,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,0BAA0B,iCAAuB,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,YAAG,CAAC,CAAC,eAAe,CAAC,GAAU,EAAA,iBAAQ,SAAS,EAAC,wBAAwB,EAAC,QAAQ,EAAE,MAAM,YAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,GAAU,IAAM,IAC1jB,IACA,CAAA;AACX,CAAC;AAED,SAAS,aAAa,CAAC,QAAuB;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;;YAAM,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpF,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,SAAS,UAAU,CAAC,OAAoB,IAAY,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAA,CAAC,CAAC;AACvL,SAAS,OAAO,CAAC,MAAe,IAAY,OAAO,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC"}
|
package/lib/session-access.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface SessionAccessState {
|
|
|
12
12
|
setFileEndpoints(endpointIds: string[]): void;
|
|
13
13
|
setFilePermission(permission: InjectionView['filePermission']): void;
|
|
14
14
|
setRequireFileApproval(value: boolean): void;
|
|
15
|
+
setLocalFileAccess(direction: 'upload' | 'download', value: boolean): void;
|
|
15
16
|
replace(value: InjectionView): Promise<InjectionView>;
|
|
16
17
|
refresh(): Promise<void>;
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-access.d.ts","sourceRoot":"","sources":["../src/session-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAItF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACvC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAC5D,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/C,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC7C,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;IACpE,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5C,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"session-access.d.ts","sourceRoot":"","sources":["../src/session-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAItF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACvC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,IAAI,CAAA;IAC5D,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/C,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAC7C,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAA;IACpE,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5C,kBAAkB,CAAC,SAAS,EAAE,QAAQ,GAAG,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1E,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,CA8HvE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAE5D"}
|
package/lib/session-access.js
CHANGED
|
@@ -146,6 +146,7 @@ export function useSessionAccess(sessionId) {
|
|
|
146
146
|
setFileEndpoints: fileEndpointIds => update({ fileEndpointIds }),
|
|
147
147
|
setFilePermission: filePermission => update({ filePermission }),
|
|
148
148
|
setRequireFileApproval: requireFileApproval => update({ requireFileApproval }),
|
|
149
|
+
setLocalFileAccess: (direction, enabled) => update(direction === 'upload' ? { allowLocalUpload: enabled } : { allowLocalDownload: enabled }),
|
|
149
150
|
replace,
|
|
150
151
|
};
|
|
151
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-access.js","sourceRoot":"","sources":["../src/session-access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAsB,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"session-access.js","sourceRoot":"","sources":["../src/session-access.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RemoteFileSystems } from './remote-file-systems.js';
|
|
2
|
+
export declare class SessionFileUploads {
|
|
3
|
+
private readonly files;
|
|
4
|
+
private readonly active;
|
|
5
|
+
private closed;
|
|
6
|
+
constructor(files: RemoteFileSystems);
|
|
7
|
+
upload(request: {
|
|
8
|
+
endpointId: string;
|
|
9
|
+
localPath: string;
|
|
10
|
+
sessionDirectory: string;
|
|
11
|
+
remoteDirectory: string;
|
|
12
|
+
remoteName?: string;
|
|
13
|
+
}, callerSignal: AbortSignal, assertAllowed: () => void): Promise<{
|
|
14
|
+
state: string;
|
|
15
|
+
endpointId: string;
|
|
16
|
+
localPath: string;
|
|
17
|
+
remotePath: string;
|
|
18
|
+
bytes: number;
|
|
19
|
+
}>;
|
|
20
|
+
close(): void;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=session-file-upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-file-upload.d.ts","sourceRoot":"","sources":["../src/session-file-upload.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,MAAM,CAAQ;gBACO,KAAK,EAAE,iBAAiB;IAC/C,MAAM,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,IAAI;;;;;;;IA2B7L,KAAK,IAAI,IAAI;CACd"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { constants } from 'node:fs';
|
|
2
|
+
import { open, realpath, stat as fileStat } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { MAX_LOCAL_TRANSFER_BYTES, uploadEndpointFile } from './endpoint-upload.js';
|
|
5
|
+
export class SessionFileUploads {
|
|
6
|
+
files;
|
|
7
|
+
active = new Set();
|
|
8
|
+
closed = false;
|
|
9
|
+
constructor(files) {
|
|
10
|
+
this.files = files;
|
|
11
|
+
}
|
|
12
|
+
async upload(request, callerSignal, assertAllowed) {
|
|
13
|
+
if (this.closed || this.active.size >= 2)
|
|
14
|
+
throw new Error('上传服务不可用或已有两个上传,请稍后重试');
|
|
15
|
+
const relative = request.localPath;
|
|
16
|
+
if (!relative || /[\\\0\r\n]/.test(relative) || path.isAbsolute(relative) || path.win32.isAbsolute(relative) || relative.split('/').some(part => !part || part === '..' || part === '.'))
|
|
17
|
+
throw new Error('localPath 必须是会话目录内的相对文件路径');
|
|
18
|
+
if (!path.isAbsolute(request.sessionDirectory))
|
|
19
|
+
throw new Error('会话没有有效工作目录');
|
|
20
|
+
const controller = new AbortController();
|
|
21
|
+
const signal = AbortSignal.any([callerSignal, controller.signal, AbortSignal.timeout(300_000)]);
|
|
22
|
+
this.active.add(controller);
|
|
23
|
+
try {
|
|
24
|
+
signal.throwIfAborted();
|
|
25
|
+
assertAllowed();
|
|
26
|
+
const root = await realpath(request.sessionDirectory);
|
|
27
|
+
const filename = await realpath(path.resolve(root, relative));
|
|
28
|
+
const contained = path.relative(root, filename);
|
|
29
|
+
if (!contained || contained === '..' || contained.startsWith(`..${path.sep}`) || path.isAbsolute(contained))
|
|
30
|
+
throw new Error('上传文件必须位于当前会话目录内');
|
|
31
|
+
const original = await fileStat(filename);
|
|
32
|
+
const handle = await open(filename, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | constants.O_NONBLOCK);
|
|
33
|
+
try {
|
|
34
|
+
const stat = await handle.stat();
|
|
35
|
+
if (stat.dev !== original.dev || stat.ino !== original.ino)
|
|
36
|
+
throw new Error('上传文件在打开期间发生变化,请重试');
|
|
37
|
+
if (!stat.isFile() || stat.size > MAX_LOCAL_TRANSFER_BYTES)
|
|
38
|
+
throw new Error('只允许上传不超过 512 MiB 的普通文件');
|
|
39
|
+
if (await realpath(filename) !== filename || await realpath(request.sessionDirectory) !== root)
|
|
40
|
+
throw new Error('会话文件路径已变化');
|
|
41
|
+
const check = () => { signal.throwIfAborted(); assertAllowed(); };
|
|
42
|
+
const result = await uploadEndpointFile(this.files, request.endpointId, request.remoteDirectory, request.remoteName ?? path.basename(filename), handle.createReadStream({ autoClose: false }), signal, stat.size, check);
|
|
43
|
+
return { state: 'completed', endpointId: request.endpointId, localPath: filename, remotePath: result.path, bytes: result.size };
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
await handle.close();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
this.active.delete(controller);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
close() { this.closed = true; for (const controller of this.active)
|
|
54
|
+
controller.abort(new Error('上传服务已停止')); }
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=session-file-upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-file-upload.js","sourceRoot":"","sources":["../src/session-file-upload.ts"],"names":[],"mappings":"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"}
|
package/lib/sftp-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftp-client.d.ts","sourceRoot":"","sources":["../src/sftp-client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sftp-client.d.ts","sourceRoot":"","sources":["../src/sftp-client.tsx"],"names":[],"mappings":"AAWA,OAAO,EAML,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAA0B,KAAK,aAAa,EAAE,KAAK,mBAAmB,EACjH,MAAM,iBAAiB,CAAA;AAWxB,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAyC7E,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAqBlP;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,WAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAgB,EAAE,YAAY,EAAE,EAAE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAgBxQ;AAwLD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAwB,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,IAAI,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA4Brc"}
|
package/lib/sftp-client.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSshLocale } from './use-ssh-locale.js';
|
|
3
|
+
import { trackDownloadClick } from './browser-transfers.js';
|
|
4
|
+
import { LocalTransferTasks } from './transfer-task-list.js';
|
|
3
5
|
import { t } from './i18n.js';
|
|
4
6
|
import { memo, useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
5
7
|
import ReactMarkdown from 'react-markdown';
|
|
@@ -273,7 +275,7 @@ function SftpExplorer({ initialPath, followPath, followControl, nativeSessionId,
|
|
|
273
275
|
await deletion.remove(directory.path, [deleteTarget.path]);
|
|
274
276
|
await browse(directory.path, false);
|
|
275
277
|
};
|
|
276
|
-
const content = _jsxs("div", { className: `dsh-ssh-sftp${workspace || expanded ? ' is-workspace' : ''}${draggingFiles ? ' is-dragging-files' : ''}`, onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [header, mountedDirectories && mountedDirectories.length > 0 && _jsx("nav", { className: "dsh-ssh-mounted-directories", "aria-label": t("sftp-client.mountedDirectories"), children: mountedDirectories.map(project => _jsxs("button", { type: "button", "data-ssh-interactive": "choice", className: directory?.path === project.path ? 'is-active' : '', title: project.path, disabled: loading, onClick: () => { void browse(project.path, true); }, children: [_jsx(IconFolderClose16, { size: 14 }), _jsx("span", { children: project.name })] }, project.id)) }), openedFile ? _jsx(SftpFilePreview, { entry: openedFile, loadPreview: loadPreview, saveMarkdown: saveMarkdown, loadPathEntry: loadPathEntry, fileUrl: fileUrl, onBack: () => setOpenedFile(undefined), inDirectoryModal: expanded }, openedFile.path) : _jsxs(_Fragment, { children: [_jsxs("form", { className: `dsh-ssh-sftp-pathbar${uploadFile === undefined ? '' : ' has-upload'}${nativeSessionId === undefined ? '' : ' has-native-open'}${followControl ? ' has-follow' : ''}`, "aria-busy": loading, onSubmit: event => { void submit(event); }, children: [_jsx("button", { type: "button", "aria-label": t("sftp-client.goToParentDirectory"), title: t("sftp-client.goToParentDirectory"), disabled: directory?.parent == null || loading, onClick: () => { if (directory?.parent)
|
|
278
|
+
const content = _jsxs("div", { className: `dsh-ssh-sftp${workspace || expanded ? ' is-workspace' : ''}${draggingFiles ? ' is-dragging-files' : ''}`, onDragEnter: handleDragEnter, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [_jsx(LocalTransferTasks, {}), header, mountedDirectories && mountedDirectories.length > 0 && _jsx("nav", { className: "dsh-ssh-mounted-directories", "aria-label": t("sftp-client.mountedDirectories"), children: mountedDirectories.map(project => _jsxs("button", { type: "button", "data-ssh-interactive": "choice", className: directory?.path === project.path ? 'is-active' : '', title: project.path, disabled: loading, onClick: () => { void browse(project.path, true); }, children: [_jsx(IconFolderClose16, { size: 14 }), _jsx("span", { children: project.name })] }, project.id)) }), openedFile ? _jsx(SftpFilePreview, { entry: openedFile, loadPreview: loadPreview, saveMarkdown: saveMarkdown, loadPathEntry: loadPathEntry, fileUrl: fileUrl, onBack: () => setOpenedFile(undefined), inDirectoryModal: expanded }, openedFile.path) : _jsxs(_Fragment, { children: [_jsxs("form", { className: `dsh-ssh-sftp-pathbar${uploadFile === undefined ? '' : ' has-upload'}${nativeSessionId === undefined ? '' : ' has-native-open'}${followControl ? ' has-follow' : ''}`, "aria-busy": loading, onSubmit: event => { void submit(event); }, children: [_jsx("button", { type: "button", "aria-label": t("sftp-client.goToParentDirectory"), title: t("sftp-client.goToParentDirectory"), disabled: directory?.parent == null || loading, onClick: () => { if (directory?.parent)
|
|
277
279
|
void browse(directory.parent, true); }, children: _jsx(IconChevronLeftOutline14, { size: 14 }) }), _jsx("input", { "aria-label": t("sftp-client.directoryOrFilePath"), title: t("sftp-client.enterADirectoryToBrowseOrAFileTo"), placeholder: t("sftp-client.directoryOrFilePathPressEnterToOpen"), value: path, readOnly: loading, "aria-invalid": Boolean(error), "aria-describedby": error ? errorId : undefined, spellCheck: false, onChange: event => { setPath(event.target.value); setError(undefined); }, onKeyDown: event => { if (event.key === 'Enter' && event.nativeEvent.isComposing)
|
|
278
280
|
event.preventDefault(); } }), _jsx("button", { type: "button", "aria-label": t("file-transfer-workspace.refreshDirectory"), title: t("file-transfer-workspace.refreshDirectory"), disabled: loading, onClick: () => { void browse(directory?.path ?? path, false); }, children: _jsx(IconRefreshOutline16, { size: 15 }) }), followControl, _jsx("button", { type: "button", "aria-label": expanded ? t("sftp-client.closeDirectoryDialog") : t("sftp-client.expandDirectory"), title: expanded ? t("sftp-client.closeDirectoryDialog") : t("sftp-client.openDirectoryInADialog"), disabled: directory === undefined, onClick: () => setExpanded(value => !value), children: _jsx(IconFullscreenOutline16, { size: 16 }) }), nativeSessionId !== undefined && _jsx(NativeDirectoryButton, { sessionId: nativeSessionId, path: directory?.path, onMessage: setOperationMessage }), uploadFile !== undefined && _jsxs(_Fragment, { children: [_jsx("input", { ref: fileInputRef, className: "sr-only", type: "file", multiple: true, tabIndex: -1, onChange: event => { const files = Array.from(event.target.files ?? []); event.target.value = ''; if (files.length > 0)
|
|
279
281
|
void uploadFiles(files); } }), _jsxs("button", { type: "button", className: "dsh-ssh-sftp-upload-button", disabled: directory === undefined || uploading !== undefined || pendingOverwrite !== undefined, onClick: () => fileInputRef.current?.click(), children: [_jsx(IconSendOutline14, { size: 14 }), uploading === undefined ? t("sftp-client.upload") : t("sftp-client.uploading")] })] })] }), pendingOverwrite !== undefined && _jsxs("div", { className: "dsh-ssh-upload-conflict", role: "alert", children: [_jsxs("span", { children: [_jsx("strong", { children: t("sftp-client.aFileWithTheSameNameExists") }), _jsx("small", { children: pendingOverwrite.file.name })] }), _jsxs("span", { children: [_jsx("button", { type: "button", onClick: () => { const pending = pendingOverwrite; setPendingOverwrite(undefined); void uploadFiles(pending.remaining, pending.directory); }, children: t("sftp-client.skip") }), _jsx("button", { type: "button", className: "is-primary", disabled: uploading !== undefined, onClick: () => { const pending = pendingOverwrite; void uploadFiles([pending.file, ...pending.remaining], pending.directory, true); }, children: t("sftp-client.overwriteAndUpload") })] })] }), operationMessage && _jsxs("div", { className: "dsh-ssh-sftp-operation-status", role: "status", children: [_jsx("span", { children: operationMessage }), _jsx("button", { type: "button", "aria-label": t("sftp-client.dismissNotice"), onClick: () => setOperationMessage(undefined), children: _jsx(IconCloseOutline16, { size: 14 }) })] }), error && _jsx("p", { id: errorId, className: "dsh-ssh-directory-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-sftp-table dsh-ssh-scroll-surface", "aria-busy": loading, children: [_jsxs("div", { className: "dsh-ssh-sftp-columns", children: [_jsx("span", { children: t("client.name") }), _jsx("span", { children: t("file-transfer-workspace.size") }), _jsx("span", { children: t("file-transfer-workspace.modified") }), _jsx("span", { "aria-hidden": "true" })] }), loading && directory === undefined ? _jsx("p", { className: "dsh-ssh-sftp-state", children: t("sftp-client.readingRemoteDirectory") })
|
|
@@ -293,7 +295,7 @@ function SftpExplorer({ initialPath, followPath, followControl, nativeSessionId,
|
|
|
293
295
|
void uploadFiles(files, entry.path);
|
|
294
296
|
return;
|
|
295
297
|
} const source = parseRemoteFilesDragPayload(event.dataTransfer.getData(REMOTE_FILES_DRAG_TYPE)); if (source !== undefined)
|
|
296
|
-
void applyRemoteDrop(source, entry.path); }, children: [_jsxs(FileNameTooltip, { name: entry.name, children: [directoryEntry ? _jsx(IconFolderClose16, { size: 16 }) : _jsx(IconDataOutline16, { size: 16 }), _jsx("strong", { children: entry.name })] }), _jsx("small", { children: directoryEntry ? '-' : formatBytes(entry.size) }), _jsx("small", { children: formatFileTime(entry.modifiedAt) }), _jsxs("div", { className: "dsh-ssh-sftp-row-actions", children: [entry.kind === 'file' && _jsx("a", { className: "dsh-ssh-sftp-row-download dsh-ssh-context-action", draggable: false, href: fileUrl(entry.path), download: entry.name, "aria-label": t('sftp-client.downloadEntry', [entry.name]), title: t('sftp-client.downloadEntry', [entry.name]), onClick:
|
|
298
|
+
void applyRemoteDrop(source, entry.path); }, children: [_jsxs(FileNameTooltip, { name: entry.name, children: [directoryEntry ? _jsx(IconFolderClose16, { size: 16 }) : _jsx(IconDataOutline16, { size: 16 }), _jsx("strong", { children: entry.name })] }), _jsx("small", { children: directoryEntry ? '-' : formatBytes(entry.size) }), _jsx("small", { children: formatFileTime(entry.modifiedAt) }), _jsxs("div", { className: "dsh-ssh-sftp-row-actions", children: [entry.kind === 'file' && _jsx("a", { className: "dsh-ssh-sftp-row-download dsh-ssh-context-action", draggable: false, href: fileUrl(entry.path), download: entry.name, "aria-label": t('sftp-client.downloadEntry', [entry.name]), title: t('sftp-client.downloadEntry', [entry.name]), onClick: trackDownloadClick, children: _jsx(IconDownloadOutline16, { size: 14 }) }), deletion !== undefined && _jsx("button", { type: "button", className: "dsh-ssh-sftp-row-delete dsh-ssh-context-action", draggable: false, "aria-label": t("client.delete2", [entry.name]), title: t("client.delete2", [entry.name]), onClick: event => { event.stopPropagation(); setDeleteTarget(entry); }, children: _jsx(IconTrashOutline16, { size: 14 }) })] })] }, entry.path);
|
|
297
299
|
})] })] }), draggingFiles && _jsx("div", { className: "dsh-ssh-sftp-dropzone", "aria-hidden": "true", children: _jsxs("span", { children: [_jsx("strong", { children: t("sftp-client.releaseToUpload") }), _jsxs("small", { children: [t("sftp-client.uploadTo"), " ", directory?.path ?? path] })] }) }), deleteTarget !== undefined && deletion !== undefined && _jsx(FileEntryDeleteDialog, { locationName: deletion.locationName, locationKind: deletion.locationKind, entries: [deleteTarget], onClose: () => setDeleteTarget(undefined), onDelete: removeEntry })] });
|
|
298
300
|
return _jsxs(_Fragment, { children: [!expanded && content, _jsx(Modal, { open: expanded, onClose: () => setExpanded(false), title: t("sftp-client.browseDirectory"), headless: true, className: "dsh-ssh-preview-modal", children: _jsxs("section", { className: "dsh-ssh-preview-modal-shell", children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("strong", { children: t("sftp-client.browseDirectory") }), _jsx("small", { title: directory?.path, children: directory?.path })] }), _jsx("span", { className: "dsh-ssh-file-preview-actions", children: _jsx("button", { type: "button", "aria-label": t("sftp-client.closeDirectoryDialog2"), onClick: () => setExpanded(false), children: _jsx(IconCloseOutline16, { size: 16 }) }) })] }), _jsx("div", { className: "dsh-ssh-directory-modal-body", children: expanded && content })] }) })] });
|
|
299
301
|
}
|
|
@@ -318,7 +320,7 @@ export function SftpFilePreview({ entry, loadPreview, saveMarkdown, loadPathEntr
|
|
|
318
320
|
link.click();
|
|
319
321
|
setTimeout(() => URL.revokeObjectURL(url), 1000);
|
|
320
322
|
}, children: t("sftp-client.downloadDraft") }), _jsx("button", { type: "button", disabled: draft.saving, onClick: () => setConfirmAction('discard'), children: t("sftp-client.discardDraft") })] }) : undefined;
|
|
321
|
-
const confirmDialog = confirmAction ? _jsx(Dialog, { title: confirmAction === 'leave' ? t("sftp-client.unsavedChanges") : t("sftp-client.discardUnsavedChanges"), subtitle: confirmAction === 'leave' ? t("sftp-client.theDraftStaysInThisBrowserTabSoYou") : t("sftp-client.thisClearsTheDraftAndReloadsTheFileConsider"), onClose: () => setConfirmAction(undefined), children: _jsxs("div", { className: "dsh-ssh-
|
|
323
|
+
const confirmDialog = confirmAction ? _jsx(Dialog, { variant: "confirmation", title: confirmAction === 'leave' ? t("sftp-client.unsavedChanges") : t("sftp-client.discardUnsavedChanges"), subtitle: confirmAction === 'leave' ? t("sftp-client.theDraftStaysInThisBrowserTabSoYou") : t("sftp-client.thisClearsTheDraftAndReloadsTheFileConsider"), onClose: () => setConfirmAction(undefined), children: _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [_jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: () => setConfirmAction(undefined), children: t("sftp-client.keepEditing") }), _jsx("button", { type: "button", className: confirmAction === 'leave' ? 'dsh-ssh-primary-button' : 'dsh-ssh-danger-button', onClick: () => { const action = confirmAction; setConfirmAction(undefined); if (action === 'leave')
|
|
322
324
|
onBack();
|
|
323
325
|
else
|
|
324
326
|
void draft.discard(); }, children: confirmAction === 'leave' ? t("sftp-client.keepDraftAndGoBack") : t("sftp-client.discardAndRefresh") })] }) }) : undefined;
|
|
@@ -328,7 +330,7 @@ export function SftpFilePreview({ entry, loadPreview, saveMarkdown, loadPathEntr
|
|
|
328
330
|
}, [fileUrl, revision]);
|
|
329
331
|
const controls = _jsxs(_Fragment, { children: [saveControls, _jsx(PreviewRefreshControl, { busy: busy || draft.saving, blocked: draft.dirty, automatic: locked, available: Boolean(preview && preview.kind !== 'pdf' && !draft.dirty && !draft.saving), onRefresh: () => void refresh(), onToggle: () => setLocked(value => !value) })] });
|
|
330
332
|
const downloadUrl = fileUrl(entry.path);
|
|
331
|
-
return _jsxs(_Fragment, { children: [_jsxs("section", { className: "dsh-ssh-file-preview", style: expanded ? { visibility: 'hidden' } : undefined, children: [_jsxs("header", { children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": t("sftp-client.backToDirectory"), title: t("sftp-client.backToDirectory"), disabled: draft.saving, onClick: () => draft.dirty ? setConfirmAction('leave') : onBack(), children: _jsx(IconChevronLeftOutline14, { size: 14 }) }), _jsxs("span", { className: "dsh-ssh-file-preview-title", children: [_jsx("strong", { title: entry.name, children: entry.name }), _jsx("small", { children: formatBytes(preview?.size ?? entry.size) })] }), _jsxs("span", { className: "dsh-ssh-file-preview-actions", children: [controls, _jsx("a", { href: downloadUrl, "aria-label": t("sftp-client.downloadFile"), title: t("sftp-client.downloadFile"), children: _jsx(IconDownloadOutline16, { size: 16 }) }), !inDirectoryModal && _jsx("button", { type: "button", "aria-label": t("sftp-client.zoomPreview"), title: t("sftp-client.zoomPreview"), onClick: () => setExpanded(true), children: _jsx(IconFullscreenOutline16, { size: 16 }) })] })] }), readOnlyNote, (editableMarkdown || draft.dirty) && _jsxs("p", { className: "dsh-ssh-preview-edit-status", role: "status", children: [draft.message || (draft.dirty ? t("sftp-client.unsavedDraftKeptInThisBrowserTab") : locked ? t("sftp-client.autoRefreshReadOnly") : t("sftp-client.editDirectlyCtrlCmdSToSave")), draftActions] }), error && preview && _jsxs("p", { className: "dsh-ssh-preview-refresh-error", role: "status", children: [t("sftp-client.refreshFailedPreviousContentKept"), error] }), _jsx("div", { ref: inlineBody, className: "dsh-ssh-file-preview-body dsh-ssh-scroll-surface", children: _jsx(SftpPreviewContent, { markdownEditor: markdownEditor, entry: entry, preview: preview, error: preview ? undefined : error, fileUrl: previewUrl, downloadUrl: downloadUrl }) })] }), _jsx(Modal, { open: expanded, onClose: () => setExpanded(false), title: t("sftp-client.preview", [entry.name]), headless: true, className: "dsh-ssh-preview-modal", children: _jsxs("section", { className: "dsh-ssh-preview-modal-shell", children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("strong", { title: entry.name, children: entry.name }), _jsx("small", { children: formatBytes(preview?.size ?? entry.size) })] }), _jsxs("span", { className: "dsh-ssh-file-preview-actions", children: [controls, _jsx("a", { href: downloadUrl, "aria-label": t("sftp-client.downloadFile"), title: t("sftp-client.downloadFile"), children: _jsx(IconDownloadOutline16, { size: 16 }) }), _jsx("button", { type: "button", "aria-label": t("sftp-client.closePreview"), title: t("sftp-client.closePreview"), onClick: () => setExpanded(false), children: _jsx(IconCloseOutline16, { size: 16 }) })] })] }), readOnlyNote, (editableMarkdown || draft.dirty) && _jsxs("p", { className: "dsh-ssh-preview-edit-status", role: "status", children: [draft.message || (draft.dirty ? t("sftp-client.unsavedDraftKeptInThisBrowserTab") : locked ? t("sftp-client.autoRefreshReadOnly") : t("sftp-client.editDirectlyCtrlCmdSToSave")), draftActions] }), error && preview && _jsxs("p", { className: "dsh-ssh-preview-refresh-error", role: "status", children: [t("sftp-client.refreshFailedPreviousContentKept"), error] }), _jsx("div", { ref: modalBody, className: "dsh-ssh-file-preview-body is-modal dsh-ssh-scroll-surface", children: _jsx(SftpPreviewContent, { markdownEditor: markdownEditor, entry: entry, preview: preview, error: preview ? undefined : error, fileUrl: previewUrl, downloadUrl: downloadUrl }) })] }) }), confirmDialog] });
|
|
333
|
+
return _jsxs(_Fragment, { children: [_jsxs("section", { className: "dsh-ssh-file-preview", style: expanded ? { visibility: 'hidden' } : undefined, children: [_jsxs("header", { children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-label": t("sftp-client.backToDirectory"), title: t("sftp-client.backToDirectory"), disabled: draft.saving, onClick: () => draft.dirty ? setConfirmAction('leave') : onBack(), children: _jsx(IconChevronLeftOutline14, { size: 14 }) }), _jsxs("span", { className: "dsh-ssh-file-preview-title", children: [_jsx("strong", { title: entry.name, children: entry.name }), _jsx("small", { children: formatBytes(preview?.size ?? entry.size) })] }), _jsxs("span", { className: "dsh-ssh-file-preview-actions", children: [controls, _jsx("a", { onClick: trackDownloadClick, href: downloadUrl, "aria-label": t("sftp-client.downloadFile"), title: t("sftp-client.downloadFile"), children: _jsx(IconDownloadOutline16, { size: 16 }) }), !inDirectoryModal && _jsx("button", { type: "button", "aria-label": t("sftp-client.zoomPreview"), title: t("sftp-client.zoomPreview"), onClick: () => setExpanded(true), children: _jsx(IconFullscreenOutline16, { size: 16 }) })] })] }), readOnlyNote, (editableMarkdown || draft.dirty) && _jsxs("p", { className: "dsh-ssh-preview-edit-status", role: "status", children: [draft.message || (draft.dirty ? t("sftp-client.unsavedDraftKeptInThisBrowserTab") : locked ? t("sftp-client.autoRefreshReadOnly") : t("sftp-client.editDirectlyCtrlCmdSToSave")), draftActions] }), error && preview && _jsxs("p", { className: "dsh-ssh-preview-refresh-error", role: "status", children: [t("sftp-client.refreshFailedPreviousContentKept"), error] }), _jsx("div", { ref: inlineBody, className: "dsh-ssh-file-preview-body dsh-ssh-scroll-surface", children: _jsx(SftpPreviewContent, { markdownEditor: markdownEditor, entry: entry, preview: preview, error: preview ? undefined : error, fileUrl: previewUrl, downloadUrl: downloadUrl }) })] }), _jsx(Modal, { open: expanded, onClose: () => setExpanded(false), title: t("sftp-client.preview", [entry.name]), headless: true, className: "dsh-ssh-preview-modal", children: _jsxs("section", { className: "dsh-ssh-preview-modal-shell", children: [_jsxs("header", { children: [_jsxs("span", { children: [_jsx("strong", { title: entry.name, children: entry.name }), _jsx("small", { children: formatBytes(preview?.size ?? entry.size) })] }), _jsxs("span", { className: "dsh-ssh-file-preview-actions", children: [controls, _jsx("a", { onClick: trackDownloadClick, href: downloadUrl, "aria-label": t("sftp-client.downloadFile"), title: t("sftp-client.downloadFile"), children: _jsx(IconDownloadOutline16, { size: 16 }) }), _jsx("button", { type: "button", "aria-label": t("sftp-client.closePreview"), title: t("sftp-client.closePreview"), onClick: () => setExpanded(false), children: _jsx(IconCloseOutline16, { size: 16 }) })] })] }), readOnlyNote, (editableMarkdown || draft.dirty) && _jsxs("p", { className: "dsh-ssh-preview-edit-status", role: "status", children: [draft.message || (draft.dirty ? t("sftp-client.unsavedDraftKeptInThisBrowserTab") : locked ? t("sftp-client.autoRefreshReadOnly") : t("sftp-client.editDirectlyCtrlCmdSToSave")), draftActions] }), error && preview && _jsxs("p", { className: "dsh-ssh-preview-refresh-error", role: "status", children: [t("sftp-client.refreshFailedPreviousContentKept"), error] }), _jsx(LocalTransferTasks, {}), _jsx("div", { ref: modalBody, className: "dsh-ssh-file-preview-body is-modal dsh-ssh-scroll-surface", children: _jsx(SftpPreviewContent, { markdownEditor: markdownEditor, entry: entry, preview: preview, error: preview ? undefined : error, fileUrl: previewUrl, downloadUrl: downloadUrl }) })] }) }), confirmDialog] });
|
|
332
334
|
}
|
|
333
335
|
const SftpPreviewContent = memo(function SftpPreviewContent({ entry, preview, error, fileUrl, downloadUrl, markdownEditor }) {
|
|
334
336
|
if (error)
|
|
@@ -347,7 +349,7 @@ const SftpPreviewContent = memo(function SftpPreviewContent({ entry, preview, er
|
|
|
347
349
|
return _jsx("img", { src: fileUrl(entry.path, true), alt: entry.name });
|
|
348
350
|
if (preview.kind === 'pdf')
|
|
349
351
|
return _jsx("iframe", { src: fileUrl(entry.path, true), title: entry.name });
|
|
350
|
-
return _jsxs("div", { className: "dsh-ssh-file-binary", children: [_jsx(IconDataOutline16, { size: 24 }), _jsx("strong", { children: t("sftp-client.thisFileCannotBePreviewedDirectly") }), _jsx("p", { children: preview.mimeType }), _jsxs("a", { href: downloadUrl, children: [_jsx(IconDownloadOutline16, { size: 16 }), t("sftp-client.downloadFile")] })] });
|
|
352
|
+
return _jsxs("div", { className: "dsh-ssh-file-binary", children: [_jsx(IconDataOutline16, { size: 24 }), _jsx("strong", { children: t("sftp-client.thisFileCannotBePreviewedDirectly") }), _jsx("p", { children: preview.mimeType }), _jsxs("a", { onClick: trackDownloadClick, href: downloadUrl, children: [_jsx(IconDownloadOutline16, { size: 16 }), t("sftp-client.downloadFile")] })] });
|
|
351
353
|
});
|
|
352
354
|
function formatBytes(value) {
|
|
353
355
|
if (value < 1024)
|