dsh-conversation-navigator 0.1.6 → 0.1.7
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 +61 -6
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -5,7 +5,62 @@ window.__ModuleLoader__.load({
|
|
|
5
5
|
var exports = module.exports;
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
7
|
const React = require("react");
|
|
8
|
-
const { Button,
|
|
8
|
+
const { Button, IconCloseOutline16 } = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
|
+
|
|
10
|
+
/* ---------- custom icons (DSH outline style, unique to this panel) ---------- */
|
|
11
|
+
function ToggleIcon() {
|
|
12
|
+
return React.createElement("svg", {
|
|
13
|
+
viewBox: "0 0 14 14", width: 14, height: 14, fill: "none",
|
|
14
|
+
stroke: "currentColor", strokeWidth: 1.4, strokeLinecap: "round",
|
|
15
|
+
"aria-hidden": true,
|
|
16
|
+
},
|
|
17
|
+
React.createElement("circle", { cx: 3.5, cy: 3, r: 1, fill: "currentColor", stroke: "none" }),
|
|
18
|
+
React.createElement("path", { d: "M6.5 3H12" }),
|
|
19
|
+
React.createElement("circle", { cx: 3.5, cy: 7, r: 1, fill: "currentColor", stroke: "none" }),
|
|
20
|
+
React.createElement("path", { d: "M6.5 7H12" }),
|
|
21
|
+
React.createElement("circle", { cx: 3.5, cy: 11, r: 1, fill: "currentColor", stroke: "none" }),
|
|
22
|
+
React.createElement("path", { d: "M6.5 11H12" }),
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
function LoadEarlierIcon() {
|
|
26
|
+
return React.createElement("svg", {
|
|
27
|
+
viewBox: "0 0 14 14", width: 14, height: 14, fill: "none",
|
|
28
|
+
stroke: "currentColor", strokeWidth: 1.4, strokeLinecap: "round", strokeLinejoin: "round",
|
|
29
|
+
"aria-hidden": true,
|
|
30
|
+
},
|
|
31
|
+
React.createElement("path", { d: "M7 11V5M4 7.5l3-3 3 3" }),
|
|
32
|
+
React.createElement("line", { x1: 2, y1: 3, x2: 12, y2: 3 }),
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
function LoadAllIcon() {
|
|
36
|
+
return React.createElement("svg", {
|
|
37
|
+
viewBox: "0 0 14 14", width: 14, height: 14, fill: "none",
|
|
38
|
+
stroke: "currentColor", strokeWidth: 1.3, strokeLinecap: "round", strokeLinejoin: "round",
|
|
39
|
+
"aria-hidden": true,
|
|
40
|
+
},
|
|
41
|
+
React.createElement("path", { d: "M7 10V6M4.5 8l2.5-2.5 2.5 2.5" }),
|
|
42
|
+
React.createElement("path", { d: "M7 5.5V1.5M4.5 3.5l2.5-2.5 2.5 2.5" }),
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function JumpLatestIcon() {
|
|
46
|
+
return React.createElement("svg", {
|
|
47
|
+
viewBox: "0 0 14 14", width: 14, height: 14, fill: "none",
|
|
48
|
+
stroke: "currentColor", strokeWidth: 1.4, strokeLinecap: "round", strokeLinejoin: "round",
|
|
49
|
+
"aria-hidden": true,
|
|
50
|
+
},
|
|
51
|
+
React.createElement("path", { d: "M7 3V9M4 7l3 3 3-3" }),
|
|
52
|
+
React.createElement("line", { x1: 2, y1: 11, x2: 12, y2: 11 }),
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
function CollapseAllIcon() {
|
|
56
|
+
return React.createElement("svg", {
|
|
57
|
+
viewBox: "0 0 14 14", width: 14, height: 14, fill: "none",
|
|
58
|
+
stroke: "currentColor", strokeWidth: 1.3, strokeLinecap: "round", strokeLinejoin: "round",
|
|
59
|
+
"aria-hidden": true,
|
|
60
|
+
},
|
|
61
|
+
React.createElement("path", { d: "M5 6l2 2.5 2-2.5M5 8l2-2.5 2 2.5" }),
|
|
62
|
+
);
|
|
63
|
+
}
|
|
9
64
|
|
|
10
65
|
/* ---------- own stylesheet (static packages have no styles builtin) ---------- */
|
|
11
66
|
const CSS = `
|
|
@@ -389,7 +444,7 @@ window.__ModuleLoader__.load({
|
|
|
389
444
|
return React.createElement(Button, {
|
|
390
445
|
variant: snap.open ? "primary" : "ghost",
|
|
391
446
|
size: "sm",
|
|
392
|
-
icon: React.createElement(
|
|
447
|
+
icon: React.createElement(ToggleIcon),
|
|
393
448
|
"aria-pressed": snap.open,
|
|
394
449
|
title: snap.open ? "收起会话导航" : "打开会话导航",
|
|
395
450
|
onClick: () => setState({ open: !snap.open }),
|
|
@@ -545,7 +600,7 @@ window.__ModuleLoader__.load({
|
|
|
545
600
|
variant: "ghost",
|
|
546
601
|
size: "sm",
|
|
547
602
|
className: "cnvnav-bar-btn",
|
|
548
|
-
icon: React.createElement(
|
|
603
|
+
icon: React.createElement(LoadEarlierIcon),
|
|
549
604
|
disabled: !snap.hasMore || snap.loadingOlder,
|
|
550
605
|
title: "加载更早的一批轮次",
|
|
551
606
|
onClick: () => loadOlderPage(),
|
|
@@ -554,7 +609,7 @@ window.__ModuleLoader__.load({
|
|
|
554
609
|
variant: "ghost",
|
|
555
610
|
size: "sm",
|
|
556
611
|
className: "cnvnav-bar-btn",
|
|
557
|
-
icon: React.createElement(
|
|
612
|
+
icon: React.createElement(LoadAllIcon),
|
|
558
613
|
disabled: !snap.hasMore || snap.loadingOlder || snap.loadingAll,
|
|
559
614
|
title: "加载全部历史轮次",
|
|
560
615
|
onClick: () => loadAllPages(),
|
|
@@ -573,7 +628,7 @@ window.__ModuleLoader__.load({
|
|
|
573
628
|
variant: "ghost",
|
|
574
629
|
size: "sm",
|
|
575
630
|
className: "cnvnav-bar-btn",
|
|
576
|
-
icon: React.createElement(
|
|
631
|
+
icon: React.createElement(JumpLatestIcon),
|
|
577
632
|
onClick: () => {
|
|
578
633
|
const gs = snap.outline !== null ? snap.outline.groups : [];
|
|
579
634
|
if (gs.length === 0) return;
|
|
@@ -586,7 +641,7 @@ window.__ModuleLoader__.load({
|
|
|
586
641
|
variant: "ghost",
|
|
587
642
|
size: "sm",
|
|
588
643
|
className: "cnvnav-bar-btn",
|
|
589
|
-
icon: React.createElement(
|
|
644
|
+
icon: React.createElement(CollapseAllIcon),
|
|
590
645
|
title: "折叠所有已展开的轮次",
|
|
591
646
|
onClick: () => setState({ expanded: {} }),
|
|
592
647
|
}, "全部折叠"),
|