@lemoncat7/dsh-ssh 1.3.11 → 1.3.14

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.
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useId, useRef } from 'react';
3
- import { IconCloseOutline16, IconDataOutline16, Modal } from '@deepseek-ai/dsh-client-ui-primitives';
2
+ import { useEffect, useId, useMemo, useRef, useState, } from 'react';
3
+ import { IconCheckOutline14, IconChevronDownOutline14, IconCloseOutline16, IconDataOutline16, Modal } from '@deepseek-ai/dsh-client-ui-primitives';
4
4
  import { BorderGlow } from './border-glow.js';
5
5
  import { GlareHover } from './glare-hover.js';
6
6
  import { useActiveControlMotion, useDialogMotion, useStaggeredEntrance } from './motion.js';
@@ -21,6 +21,98 @@ export function Dialog({ title, subtitle, className, onClose, children }) {
21
21
  export function Field({ label, hint, children }) {
22
22
  return _jsxs("label", { className: "dsh-ssh-field", children: [_jsx("span", { children: label }), children, hint && _jsx("small", { children: hint })] });
23
23
  }
24
+ /** A fully styled combobox that keeps free-form values while reusing existing metadata. */
25
+ export function SuggestionInput({ value, options, placeholder, maxLength, multiple = false, ariaLabel, onChange }) {
26
+ const listId = useId();
27
+ const rootRef = useRef(null);
28
+ const inputRef = useRef(null);
29
+ const suppressFocusOpenRef = useRef(false);
30
+ const normalizedOptions = useMemo(() => dedupeLabels(options).sort((left, right) => left.localeCompare(right, undefined, { numeric: true, sensitivity: 'base' })), [options]);
31
+ const [open, setOpen] = useState(false);
32
+ const [filter, setFilter] = useState('');
33
+ const [activeIndex, setActiveIndex] = useState(0);
34
+ const selected = useMemo(() => multiple ? splitLabels(value) : value.trim() ? [value.trim()] : [], [multiple, value]);
35
+ const filtered = useMemo(() => {
36
+ const query = filter.trim().toLocaleLowerCase();
37
+ return normalizedOptions.filter(option => (!multiple || !selected.some(item => sameLabel(item, option)))
38
+ && (query.length === 0 || option.toLocaleLowerCase().includes(query)));
39
+ }, [filter, multiple, normalizedOptions, selected]);
40
+ useEffect(() => {
41
+ if (!open)
42
+ return;
43
+ const dismiss = (event) => {
44
+ if (event.target instanceof Node && !rootRef.current?.contains(event.target))
45
+ setOpen(false);
46
+ };
47
+ document.addEventListener('pointerdown', dismiss);
48
+ return () => document.removeEventListener('pointerdown', dismiss);
49
+ }, [open]);
50
+ useEffect(() => { setActiveIndex(current => Math.min(current, Math.max(0, filtered.length - 1))); }, [filtered.length]);
51
+ const choose = (option) => {
52
+ if (!multiple)
53
+ onChange(option);
54
+ else {
55
+ const parts = splitLabels(value);
56
+ const replaceDraft = filter.trim().length > 0 && parts.length > 0;
57
+ onChange(dedupeLabels([...(replaceDraft ? parts.slice(0, -1) : parts), option]).join(', '));
58
+ }
59
+ setFilter('');
60
+ setOpen(false);
61
+ if (document.activeElement !== inputRef.current) {
62
+ suppressFocusOpenRef.current = true;
63
+ inputRef.current?.focus();
64
+ }
65
+ };
66
+ const keyDown = (event) => {
67
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
68
+ event.preventDefault();
69
+ if (!open) {
70
+ setOpen(true);
71
+ setActiveIndex(0);
72
+ return;
73
+ }
74
+ const offset = event.key === 'ArrowDown' ? 1 : -1;
75
+ setActiveIndex(current => (current + offset + filtered.length) % Math.max(1, filtered.length));
76
+ }
77
+ else if (event.key === 'Enter' && open && filtered[activeIndex] !== undefined) {
78
+ event.preventDefault();
79
+ choose(filtered[activeIndex]);
80
+ }
81
+ else if (event.key === 'Escape' && open) {
82
+ event.preventDefault();
83
+ setOpen(false);
84
+ }
85
+ };
86
+ const changed = (next) => {
87
+ onChange(next);
88
+ setFilter(multiple ? next.split(/[,,]/u).at(-1)?.trim() ?? '' : next);
89
+ setActiveIndex(0);
90
+ setOpen(true);
91
+ };
92
+ return _jsxs("div", { ref: rootRef, className: `dsh-ssh-suggestion-input${open ? ' is-open' : ''}`, children: [_jsx("input", { ref: inputRef, role: "combobox", "aria-label": ariaLabel, "aria-autocomplete": "list", "aria-expanded": open, "aria-controls": listId, "aria-activedescendant": open && filtered[activeIndex] !== undefined ? `${listId}-${activeIndex}` : undefined, value: value, maxLength: maxLength, placeholder: placeholder, onChange: event => changed(event.target.value), onFocus: () => {
93
+ if (suppressFocusOpenRef.current) {
94
+ suppressFocusOpenRef.current = false;
95
+ return;
96
+ }
97
+ setFilter(multiple ? '' : value);
98
+ if (normalizedOptions.length > 0)
99
+ setOpen(true);
100
+ }, onKeyDown: keyDown }), _jsx("button", { type: "button", className: "dsh-ssh-suggestion-toggle", "aria-label": `${open ? '收起' : '展开'}${ariaLabel}已有选项`, "aria-expanded": open, onClick: () => {
101
+ if (open) {
102
+ setOpen(false);
103
+ return;
104
+ }
105
+ setFilter('');
106
+ setActiveIndex(0);
107
+ setOpen(true);
108
+ inputRef.current?.focus();
109
+ }, children: _jsx(IconChevronDownOutline14, { size: 14 }) }), open && _jsx("div", { id: listId, className: "dsh-ssh-suggestion-menu dsh-ssh-scroll-surface", role: "listbox", "aria-label": `${ariaLabel}已有选项`, children: filtered.length === 0 ? _jsx("p", { children: normalizedOptions.length === 0 ? '暂无已有选项,可直接输入' : '没有匹配项,可直接输入新内容' })
110
+ : filtered.map((option, index) => _jsxs("button", { id: `${listId}-${index}`, type: "button", role: "option", "aria-selected": !multiple && sameLabel(value, option), className: index === activeIndex ? 'is-active' : '', onPointerMove: () => setActiveIndex(index), onClick: () => choose(option), children: [_jsx("span", { children: option }), !multiple && sameLabel(value, option) && _jsx(IconCheckOutline14, { size: 14 })] }, option)) })] });
111
+ }
112
+ export function PasswordInput(props) {
113
+ const [visible, setVisible] = useState(false);
114
+ return _jsxs("div", { className: "dsh-ssh-password-input", children: [_jsx("input", { ...props, type: visible ? 'text' : 'password' }), _jsx("button", { type: "button", "aria-label": visible ? '隐藏密码' : '显示密码', "aria-pressed": visible, onClick: () => setVisible(current => !current), children: visible ? '隐藏' : '显示' })] });
115
+ }
24
116
  export function Segment({ active, onClick, children }) {
25
117
  const controlRef = useRef(null);
26
118
  useActiveControlMotion(controlRef, active);
@@ -40,4 +132,15 @@ export function errorMessage(error) {
40
132
  export function shortId(id) {
41
133
  return id.length <= 16 ? id : `${id.slice(0, 8)}…${id.slice(-5)}`;
42
134
  }
135
+ function splitLabels(value) { return dedupeLabels(value.split(/[,,]/u)); }
136
+ function sameLabel(left, right) { return left.trim().localeCompare(right.trim(), undefined, { sensitivity: 'accent' }) === 0; }
137
+ function dedupeLabels(values) {
138
+ const result = new Map();
139
+ for (const raw of values) {
140
+ const value = raw.trim();
141
+ if (value.length > 0 && !result.has(value.toLocaleLowerCase()))
142
+ result.set(value.toLocaleLowerCase(), value);
143
+ }
144
+ return [...result.values()];
145
+ }
43
146
  //# sourceMappingURL=ui-components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.js","sourceRoot":"","sources":["../src/ui-components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.js","sourceRoot":"","sources":["../src/ui-components.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.11",
3
+ "version": "1.3.14",
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",