@lemoncat7/dsh-ssh 1.11.6 → 1.13.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/README.md +1 -0
- package/docs/releases/1.11.7.md +13 -0
- package/docs/releases/1.12.0.md +15 -0
- package/docs/releases/1.13.0.md +15 -0
- package/docs/third-party/react-bits.md +29 -0
- package/docs/usage.md +9 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +18 -0
- package/lib/api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +312 -186
- package/lib/client.js.map +4 -4
- package/lib/config-backup-panel.d.ts +2 -0
- package/lib/config-backup-panel.d.ts.map +1 -0
- package/lib/config-backup-panel.js +74 -0
- package/lib/config-backup-panel.js.map +1 -0
- package/lib/config-backup.d.ts +6 -0
- package/lib/config-backup.d.ts.map +1 -0
- package/lib/config-backup.js +142 -0
- package/lib/config-backup.js.map +1 -0
- package/lib/gist-sync.d.ts +3 -1
- package/lib/gist-sync.d.ts.map +1 -1
- package/lib/gist-sync.js +9 -3
- package/lib/gist-sync.js.map +1 -1
- package/lib/locales/messages.d.ts +404 -0
- package/lib/locales/messages.d.ts.map +1 -1
- package/lib/locales/messages.js +101 -0
- package/lib/locales/messages.js.map +1 -1
- package/lib/sync-panel.d.ts +4 -0
- package/lib/sync-panel.d.ts.map +1 -0
- package/lib/sync-panel.js +252 -0
- package/lib/sync-panel.js.map +1 -0
- package/lib/sync-stepper.d.ts +16 -0
- package/lib/sync-stepper.d.ts.map +1 -0
- package/lib/sync-stepper.js +42 -0
- package/lib/sync-stepper.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Adapted from the React Bits Stepper supplied for this integration (see docs/third-party/react-bits.md).
|
|
3
|
+
// Uses the SSH theme, controlled steps and existing dialog focus management.
|
|
4
|
+
import { Children, isValidElement, useLayoutEffect, useRef } from 'react';
|
|
5
|
+
import { HugeiconsIcon } from '@hugeicons/react';
|
|
6
|
+
import { ArrowLeft01Icon, ArrowRight01Icon, Tick02Icon } from '@hugeicons/core-free-icons';
|
|
7
|
+
export function Step({ children }) {
|
|
8
|
+
return _jsx("div", { className: "dsh-ssh-stepper-step", children: children });
|
|
9
|
+
}
|
|
10
|
+
export default function Stepper({ children, step, onStepChange, onNext, busy, backButtonText, nextButtonText, completeButtonText }) {
|
|
11
|
+
const steps = Children.toArray(children).filter((isValidElement));
|
|
12
|
+
const trackRef = useRef(null);
|
|
13
|
+
const gliderRef = useRef(null);
|
|
14
|
+
const paneRef = useRef(null);
|
|
15
|
+
const previous = useRef(step);
|
|
16
|
+
useLayoutEffect(() => {
|
|
17
|
+
const track = trackRef.current, glider = gliderRef.current, pane = paneRef.current;
|
|
18
|
+
if (!track || !glider || !pane)
|
|
19
|
+
return;
|
|
20
|
+
const place = () => {
|
|
21
|
+
const segment = track.querySelector('[aria-current="step"]');
|
|
22
|
+
if (!segment)
|
|
23
|
+
return;
|
|
24
|
+
glider.style.transform = `translateX(${segment.offsetLeft}px)`;
|
|
25
|
+
glider.style.width = `${segment.offsetWidth}px`;
|
|
26
|
+
};
|
|
27
|
+
place();
|
|
28
|
+
const observer = new ResizeObserver(place);
|
|
29
|
+
observer.observe(track);
|
|
30
|
+
let animation;
|
|
31
|
+
if (previous.current !== step) {
|
|
32
|
+
pane.focus({ preventScroll: true });
|
|
33
|
+
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
|
34
|
+
animation = pane.animate([{ opacity: 0, transform: `translateX(${step > previous.current ? 18 : -18}px)` }, { opacity: 1, transform: 'none' }], { duration: 220, easing: 'cubic-bezier(0.22,1,0.36,1)' });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
previous.current = step;
|
|
38
|
+
return () => { observer.disconnect(); animation?.cancel(); };
|
|
39
|
+
}, [step]);
|
|
40
|
+
return _jsxs("div", { className: "dsh-ssh-stepper", children: [_jsxs("div", { className: "dsh-ssh-stepper-track", ref: trackRef, children: [_jsx("span", { className: "dsh-ssh-stepper-glider", ref: gliderRef, "aria-hidden": "true" }), steps.map((entry, index) => _jsxs("button", { type: "button", className: "dsh-ssh-stepper-segment", "aria-current": step === index + 1 ? 'step' : undefined, disabled: busy || index + 1 >= step, onClick: () => onStepChange(index + 1), children: [_jsx("span", { className: "dsh-ssh-stepper-badge", "data-complete": index + 1 < step || undefined, "aria-hidden": "true", children: index + 1 < step ? _jsx(HugeiconsIcon, { icon: Tick02Icon, size: 16 }) : index + 1 }), _jsx("span", { children: entry.props.title })] }, index))] }), _jsx("div", { ref: paneRef, tabIndex: -1, className: "dsh-ssh-stepper-pane", children: steps[step - 1] }), _jsxs("div", { className: "dsh-ssh-stepper-footer", children: [_jsxs("button", { type: "button", className: "dsh-ssh-secondary-button", style: { visibility: step <= 1 ? 'hidden' : undefined }, disabled: busy || step <= 1, onClick: () => onStepChange(step - 1), children: [_jsx(HugeiconsIcon, { icon: ArrowLeft01Icon, size: 16 }), backButtonText] }), _jsxs("button", { type: "button", className: "dsh-ssh-primary-button", disabled: busy, onClick: onNext, children: [step === steps.length ? completeButtonText : nextButtonText, _jsx(HugeiconsIcon, { icon: step === steps.length ? Tick02Icon : ArrowRight01Icon, size: 16 })] })] })] });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sync-stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-stepper.js","sourceRoot":"","sources":["../src/sync-stepper.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemoncat7/dsh-ssh",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Secure SSH, FTP/FTPS/SFTP file transfer, browser terminals, proxies, port forwarding, and session-scoped AI access for DeepSeek Harness",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -136,7 +136,9 @@
|
|
|
136
136
|
"@deepseek-ai/dsh-client-ui-workspace": "0.2.1-rc.2",
|
|
137
137
|
"@deepseek-ai/dsh-sandbox": "0.2.1-rc.2",
|
|
138
138
|
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.2",
|
|
139
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.2"
|
|
139
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.2",
|
|
140
|
+
"@hugeicons/core-free-icons": "^4.3.5",
|
|
141
|
+
"@hugeicons/react": "^1.1.10"
|
|
140
142
|
},
|
|
141
143
|
"publishConfig": {
|
|
142
144
|
"access": "public"
|