dsh-zotero 0.7.1 → 0.8.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.en.md +2 -2
- package/README.md +2 -2
- package/lib/client.js +85 -92
- package/lib/client.js.map +4 -4
- package/package.json +119 -115
package/README.en.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
13
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.
|
|
13
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-alpha.1"><img src="https://img.shields.io/badge/dsh-%3E%3D0.1.5--alpha.1-blue" alt="minimum dsh version" style="max-width:100%;"></a>
|
|
14
14
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
15
15
|
</p>
|
|
16
16
|
</div>
|
|
@@ -69,7 +69,7 @@ The plugin provides a settings card under **Settings → Plugins** where you can
|
|
|
69
69
|
|
|
70
70
|
- Zotero ≥ 7 with local API enabled: **Settings → Advanced → "Allow other applications on this computer to communicate with Zotero"**
|
|
71
71
|
- Node.js ≥ 22.19 (or ≥ 24)
|
|
72
|
-
- dsh 0.1.
|
|
72
|
+
- dsh 0.1.5-alpha.1 host (all `@deepseek-ai/dsh-*` peer dependencies are `^0.1.5-alpha.1`; only the latest alpha is supported until upstream stabilizes, no backward compatibility)
|
|
73
73
|
- Local API at `http://127.0.0.1:23119/api`, unauthenticated, read-only
|
|
74
74
|
|
|
75
75
|
## Usage example
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/v/dsh-zotero" alt="npm version" style="max-width:100%;"></a>
|
|
11
11
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/dm/dsh-zotero" alt="npm downloads" style="max-width:100%;"></a>
|
|
12
12
|
<a href="https://www.npmjs.com/package/dsh-zotero"><img src="https://img.shields.io/npm/l/dsh-zotero" alt="license" style="max-width:100%;"></a>
|
|
13
|
-
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.
|
|
13
|
+
<a href="https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.1.5-alpha.1"><img src="https://img.shields.io/badge/dsh-%3E%3D0.1.5--alpha.1-blue" alt="最低 dsh 版本" style="max-width:100%;"></a>
|
|
14
14
|
<a href="https://awesome-dsh-plugin.com"><img src="https://awesome-dsh-plugin.com/badge.svg" alt="Awesome DSH Plugin"></a>
|
|
15
15
|
</p>
|
|
16
16
|
</div>
|
|
@@ -69,7 +69,7 @@ dsh plugin --profile <name> add ./dsh-zotero-*.tgz
|
|
|
69
69
|
|
|
70
70
|
- Zotero ≥ 7 桌面版,启用本地 API:**设置 → 高级 → "允许其他应用程序与 Zotero 通信"**
|
|
71
71
|
- Node.js ≥ 22.19(或 ≥ 24)
|
|
72
|
-
- 宿主 dsh 0.1.
|
|
72
|
+
- 宿主 dsh 0.1.5-alpha.1(`@deepseek-ai/dsh-*` peer 依赖均为 `^0.1.5-alpha.1`;上游稳定前仅支持最新 alpha 版本,不向后兼容)
|
|
73
73
|
- 本地 API 地址 `http://127.0.0.1:23119/api`,无认证,只读
|
|
74
74
|
|
|
75
75
|
## 使用示例
|
package/lib/client.js
CHANGED
|
@@ -46,37 +46,42 @@ function clsx() {
|
|
|
46
46
|
var clsx_default = clsx;
|
|
47
47
|
|
|
48
48
|
// src/client/ZoteroPluginCard.tsx
|
|
49
|
+
var import_dsh_client_ui_primitives2 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
50
|
+
|
|
51
|
+
// src/client/fields.tsx
|
|
49
52
|
var import_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
50
53
|
|
|
51
54
|
// src/client/fields.module.css
|
|
52
|
-
var style = `.gONAZG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.gONAZG_field+.gONAZG_field{border-top:.5px solid var(--dsw-alias-border-l2)}.gONAZG_head{align-items:center;gap:8px;display:flex}.gONAZG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_badges{align-items:center;gap:8px;display:inline-flex}.
|
|
55
|
+
var style = `.gONAZG_field{flex-direction:column;gap:6px;padding:12px 0;display:flex}.gONAZG_field+.gONAZG_field{border-top:.5px solid var(--dsw-alias-border-l2)}.gONAZG_head{align-items:center;gap:8px;display:flex}.gONAZG_label{min-width:0;color:var(--dsw-alias-label-primary);flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_badges{align-items:center;gap:8px;display:inline-flex}.gONAZG_reset{font:inherit;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;line-height:1.5}.gONAZG_reset:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.gONAZG_reset:disabled{cursor:default}.gONAZG_input{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-3);height:34px;font:inherit;color:var(--dsw-alias-label-primary);border-radius:8px;padding:0 12px;font-size:13px;line-height:1.5}.gONAZG_input:focus-visible{border-color:var(--dsw-alias-brand-primary);outline:none}.gONAZG_input:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.gONAZG_inputInvalid{border-color:var(--dsw-alias-label-error,var(--dsw-alias-state-error-primary));}.gONAZG_invalid{color:var(--dsw-alias-label-error,var(--dsw-alias-state-error-primary));margin:0;font-size:12px;line-height:1.5}.gONAZG_hint{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:1.5}.gONAZG_toggleRow{align-items:center;gap:8px;display:flex}.gONAZG_toggleLabel{min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;flex:1;font-size:13px;font-weight:500;line-height:1.5}.gONAZG_toggle{width:16px;height:16px;accent-color:var(--dsw-alias-state-business-primary);cursor:pointer;flex:none;margin:0}`;
|
|
53
56
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/fields.module.css"]')) {
|
|
54
57
|
const tag = document.createElement("style");
|
|
55
58
|
tag.setAttribute("data-plugin-css", "dsh-zotero/fields.module.css");
|
|
56
59
|
tag.textContent = style;
|
|
57
60
|
document.head.appendChild(tag);
|
|
58
61
|
}
|
|
59
|
-
var fields_default = { "
|
|
62
|
+
var fields_default = { "label": "gONAZG_label", "toggleRow": "gONAZG_toggleRow", "invalid": "gONAZG_invalid", "toggleLabel": "gONAZG_toggleLabel", "toggle": "gONAZG_toggle", "inputInvalid": "gONAZG_inputInvalid", "field": "gONAZG_field", "reset": "gONAZG_reset", "hint": "gONAZG_hint", "badges": "gONAZG_badges", "input": "gONAZG_input", "head": "gONAZG_head" };
|
|
60
63
|
|
|
61
64
|
// src/client/fields.tsx
|
|
62
65
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
66
|
+
function OverrideControls(props) {
|
|
67
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: fields_default.badges, children: [
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dsh_client_ui_primitives.Tag, { tone: "neutral", children: props.overriddenLabel }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { type: "button", className: fields_default.reset, disabled: props.disabled, onClick: props.onReset, children: props.resetLabel })
|
|
70
|
+
] });
|
|
71
|
+
}
|
|
63
72
|
function ValueField(props) {
|
|
64
73
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: fields_default.field, children: [
|
|
65
74
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: fields_default.head, children: [
|
|
66
75
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { className: fields_default.label, htmlFor: props.id, children: props.label }),
|
|
67
|
-
props.overridden ? /* @__PURE__ */ (0, import_jsx_runtime.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
children: props.resetLabel
|
|
77
|
-
}
|
|
78
|
-
)
|
|
79
|
-
] }) : null
|
|
76
|
+
props.overridden ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
77
|
+
OverrideControls,
|
|
78
|
+
{
|
|
79
|
+
overriddenLabel: props.overriddenLabel,
|
|
80
|
+
resetLabel: props.resetLabel,
|
|
81
|
+
disabled: props.disabled,
|
|
82
|
+
onReset: props.onReset
|
|
83
|
+
}
|
|
84
|
+
) : null
|
|
80
85
|
] }),
|
|
81
86
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
82
87
|
"input",
|
|
@@ -114,21 +119,17 @@ function BooleanField(props) {
|
|
|
114
119
|
}
|
|
115
120
|
),
|
|
116
121
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("label", { className: fields_default.toggleLabel, htmlFor: props.id, children: props.label }),
|
|
117
|
-
props.overridden ? /* @__PURE__ */ (0, import_jsx_runtime.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
children: props.resetLabel
|
|
127
|
-
}
|
|
128
|
-
)
|
|
129
|
-
] }) : null
|
|
122
|
+
props.overridden ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
123
|
+
OverrideControls,
|
|
124
|
+
{
|
|
125
|
+
overriddenLabel: props.overriddenLabel,
|
|
126
|
+
resetLabel: props.resetLabel,
|
|
127
|
+
disabled: props.disabled,
|
|
128
|
+
onReset: props.onReset
|
|
129
|
+
}
|
|
130
|
+
) : null
|
|
130
131
|
] }),
|
|
131
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: fields_default.hint, children: props.
|
|
132
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: fields_default.hint, children: props.hint })
|
|
132
133
|
] });
|
|
133
134
|
}
|
|
134
135
|
|
|
@@ -428,7 +429,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
428
429
|
tag.textContent = style2;
|
|
429
430
|
document.head.appendChild(tag);
|
|
430
431
|
}
|
|
431
|
-
var ZoteroSettingsForm_default = { "groupTitle": "iz3HHa_groupTitle", "
|
|
432
|
+
var ZoteroSettingsForm_default = { "groupTitle": "iz3HHa_groupTitle", "fields": "iz3HHa_fields", "group": "iz3HHa_group" };
|
|
432
433
|
|
|
433
434
|
// src/client/ZoteroSettingsForm.tsx
|
|
434
435
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
@@ -461,7 +462,7 @@ function field(t, state, actions, key) {
|
|
|
461
462
|
{
|
|
462
463
|
id: `zotero-settings-${key}`,
|
|
463
464
|
label: t(key),
|
|
464
|
-
|
|
465
|
+
hint: t(`${key}Hint`),
|
|
465
466
|
...shared
|
|
466
467
|
},
|
|
467
468
|
key
|
|
@@ -482,14 +483,14 @@ function field(t, state, actions, key) {
|
|
|
482
483
|
}
|
|
483
484
|
|
|
484
485
|
// src/client/ZoteroPluginCard.module.css
|
|
485
|
-
var style3 = `._2Pv13q_card{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-3);border-radius:16px;list-style:none;transition:border-color .16s,background .16s}._2Pv13q_card:hover{border-color:var(--dsw-alias-label-dimmed)}._2Pv13q_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}._2Pv13q_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}._2Pv13q_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}._2Pv13q_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}._2Pv13q_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}._2Pv13q_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}._2Pv13q_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}._2Pv13q_chevronOpen{transform:rotate(180deg)}._2Pv13q_body{border-top:.5px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}._2Pv13q_readOnly{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}._2Pv13q_pending{
|
|
486
|
+
var style3 = `._2Pv13q_card{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-3);border-radius:16px;list-style:none;transition:border-color .16s,background .16s}._2Pv13q_card:hover{border-color:var(--dsw-alias-label-dimmed)}._2Pv13q_cardOpen{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}._2Pv13q_header{appearance:none;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}._2Pv13q_header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}._2Pv13q_headText{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}._2Pv13q_name{color:var(--dsw-alias-label-primary);font-size:15px;font-weight:600;line-height:1.4}._2Pv13q_description{color:var(--dsw-alias-label-tertiary);font-size:13px;line-height:1.5}._2Pv13q_chevron{color:var(--dsw-alias-label-tertiary);flex:none;transition:transform .16s}._2Pv13q_chevronOpen{transform:rotate(180deg)}._2Pv13q_body{border-top:.5px solid var(--dsw-alias-border-l2);margin:0 16px;padding-bottom:8px}._2Pv13q_readOnly{color:var(--dsw-alias-label-tertiary);margin:12px 0 0;font-size:12px;line-height:1.5}._2Pv13q_pending{flex:none}._2Pv13q_footer{border-top:.5px solid var(--dsw-alias-border-l2);justify-content:flex-end;align-items:center;gap:8px;padding:12px 0 4px;display:flex}._2Pv13q_failed{min-width:0;color:var(--dsw-alias-label-error,var(--dsw-alias-state-error-primary));flex:1;margin:0;font-size:12px;line-height:1.5}._2Pv13q_discard,._2Pv13q_save{appearance:none;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:5px 14px;font-size:13px;line-height:1.5}._2Pv13q_discard{border-color:var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);background:0 0}._2Pv13q_discard:hover:not(:disabled){color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-label-dimmed)}._2Pv13q_save{background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-3)}._2Pv13q_discard:disabled,._2Pv13q_save:disabled{opacity:.4;cursor:default}._2Pv13q_discard:focus-visible,._2Pv13q_save:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:1px}@media (prefers-reduced-motion:reduce){._2Pv13q_card,._2Pv13q_chevron{transition:none}}`;
|
|
486
487
|
if (typeof document !== "undefined" && !document.querySelector('style[data-plugin-css="dsh-zotero/ZoteroPluginCard.module.css"]')) {
|
|
487
488
|
const tag = document.createElement("style");
|
|
488
489
|
tag.setAttribute("data-plugin-css", "dsh-zotero/ZoteroPluginCard.module.css");
|
|
489
490
|
tag.textContent = style3;
|
|
490
491
|
document.head.appendChild(tag);
|
|
491
492
|
}
|
|
492
|
-
var ZoteroPluginCard_default = { "
|
|
493
|
+
var ZoteroPluginCard_default = { "description": "_2Pv13q_description", "footer": "_2Pv13q_footer", "pending": "_2Pv13q_pending", "cardOpen": "_2Pv13q_cardOpen", "failed": "_2Pv13q_failed", "discard": "_2Pv13q_discard", "name": "_2Pv13q_name", "chevronOpen": "_2Pv13q_chevronOpen", "body": "_2Pv13q_body", "card": "_2Pv13q_card", "save": "_2Pv13q_save", "headText": "_2Pv13q_headText", "header": "_2Pv13q_header", "chevron": "_2Pv13q_chevron", "readOnly": "_2Pv13q_readOnly" };
|
|
493
494
|
|
|
494
495
|
// src/client/ZoteroPluginCard.tsx
|
|
495
496
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
@@ -526,8 +527,8 @@ function ZoteroPluginCard(props) {
|
|
|
526
527
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: ZoteroPluginCard_default.name, children: title }),
|
|
527
528
|
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: ZoteroPluginCard_default.description, children: t("description") })
|
|
528
529
|
] }),
|
|
529
|
-
state.dirty ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("
|
|
530
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
530
|
+
state.dirty ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.Tag, { tone: "neutral", className: ZoteroPluginCard_default.pending, children: t("unsaved") }) : null,
|
|
531
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconChevronDownOutline14, { className: clsx_default(ZoteroPluginCard_default.chevron, open && ZoteroPluginCard_default.chevronOpen) })
|
|
531
532
|
]
|
|
532
533
|
}
|
|
533
534
|
),
|
|
@@ -1466,14 +1467,14 @@ function exportedRefCountOf(exports) {
|
|
|
1466
1467
|
|
|
1467
1468
|
// src/client/components/workspace/WorkspaceToolbar.tsx
|
|
1468
1469
|
var import_react2 = require("react");
|
|
1469
|
-
var
|
|
1470
|
+
var import_dsh_client_ui_primitives3 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1470
1471
|
|
|
1471
1472
|
// src/client/build-info.ts
|
|
1472
1473
|
function buildVersion() {
|
|
1473
|
-
return true ? "0.
|
|
1474
|
+
return true ? "0.8.0" : "unknown";
|
|
1474
1475
|
}
|
|
1475
1476
|
function buildCommit() {
|
|
1476
|
-
return true ? "
|
|
1477
|
+
return true ? "1aa6e83" : "unknown";
|
|
1477
1478
|
}
|
|
1478
1479
|
function buildInfoOf() {
|
|
1479
1480
|
return `${buildVersion()} \xB7 ${buildCommit()}`;
|
|
@@ -1497,7 +1498,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
1497
1498
|
tag.textContent = style4;
|
|
1498
1499
|
document.head.appendChild(tag);
|
|
1499
1500
|
}
|
|
1500
|
-
var workspace_default = { "
|
|
1501
|
+
var workspace_default = { "inspector": "_o1AEW_inspector", "filterClear": "_o1AEW_filterClear", "diagnosis": "_o1AEW_diagnosis", "listItemSelected": "_o1AEW_listItemSelected", "lensTab": "_o1AEW_lensTab", "emptyIcon": "_o1AEW_emptyIcon", "exportsPage": "_o1AEW_exportsPage", "backAction": "_o1AEW_backAction", "starterRow": "_o1AEW_starterRow", "detailTabCount": "_o1AEW_detailTabCount", "actionRow": "_o1AEW_actionRow", "toolbar": "_o1AEW_toolbar", "filterArrow": "_o1AEW_filterArrow", "section": "_o1AEW_section", "passageHead": "_o1AEW_passageHead", "evidenceEntry": "_o1AEW_evidenceEntry", "panel": "_o1AEW_panel", "workspace": "_o1AEW_workspace", "menuButton": "_o1AEW_menuButton", "refresh": "_o1AEW_refresh", "passages": "_o1AEW_passages", "badges": "_o1AEW_badges", "inspectorMeta": "_o1AEW_inspectorMeta", "emptyText": "_o1AEW_emptyText", "view": "_o1AEW_view", "inspectorTabs": "_o1AEW_inspectorTabs", "sidebar": "_o1AEW_sidebar", "listItemTitle": "_o1AEW_listItemTitle", "inspectorTitleWrap": "_o1AEW_inspectorTitleWrap", "sectionLabel": "_o1AEW_sectionLabel", "badge": "_o1AEW_badge", "exportStack": "_o1AEW_exportStack", "listbox": "_o1AEW_listbox", "lensTabCount": "_o1AEW_lensTabCount", "detailTabActive": "_o1AEW_detailTabActive", "lensTabActive": "_o1AEW_lensTabActive", "cardStack": "_o1AEW_cardStack", "spacer": "_o1AEW_spacer", "emptyWrap": "_o1AEW_emptyWrap", "inspectorTitle": "_o1AEW_inspectorTitle", "listItem": "_o1AEW_listItem", "filterArrowRight": "_o1AEW_filterArrowRight", "warning": "_o1AEW_warning", "sourceTag": "_o1AEW_sourceTag", "empty": "_o1AEW_empty", "filterBar": "_o1AEW_filterBar", "line": "_o1AEW_line", "detailToggle": "_o1AEW_detailToggle", "emptyNote": "_o1AEW_emptyNote", "detailTab": "_o1AEW_detailTab", "evidencePage": "_o1AEW_evidencePage", "listItemMeta": "_o1AEW_listItemMeta", "statusText": "_o1AEW_statusText", "action": "_o1AEW_action", "inspectorBody": "_o1AEW_inspectorBody", "lensBar": "_o1AEW_lensBar", "availability": "_o1AEW_availability", "summaryLine": "_o1AEW_summaryLine", "passage": "_o1AEW_passage", "inspectorHead": "_o1AEW_inspectorHead", "note": "_o1AEW_note", "filterArrowLeft": "_o1AEW_filterArrowLeft" };
|
|
1501
1502
|
|
|
1502
1503
|
// src/client/components/workspace/WorkspaceToolbar.tsx
|
|
1503
1504
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
@@ -1529,7 +1530,7 @@ function WorkspaceToolbar({ connection, onRefresh, t }) {
|
|
|
1529
1530
|
"aria-busy": connection.kind === "loading",
|
|
1530
1531
|
children: [
|
|
1531
1532
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1532
|
-
|
|
1533
|
+
import_dsh_client_ui_primitives3.StateDot,
|
|
1533
1534
|
{
|
|
1534
1535
|
state: connection.kind === "loading" ? "ongoing" : connection.kind === "connected" ? "done" : "error"
|
|
1535
1536
|
}
|
|
@@ -1542,7 +1543,7 @@ function WorkspaceToolbar({ connection, onRefresh, t }) {
|
|
|
1542
1543
|
failed && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: workspace_default.diagnosis, title: diagnosis, children: diagnosis }),
|
|
1543
1544
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: workspace_default.spacer }),
|
|
1544
1545
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
1545
|
-
|
|
1546
|
+
import_dsh_client_ui_primitives3.Menu,
|
|
1546
1547
|
{
|
|
1547
1548
|
open: menuOpen,
|
|
1548
1549
|
anchor: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
@@ -1585,7 +1586,7 @@ function WorkspaceToolbar({ connection, onRefresh, t }) {
|
|
|
1585
1586
|
|
|
1586
1587
|
// src/client/components/workspace/SourceSidebar.tsx
|
|
1587
1588
|
var import_react3 = require("react");
|
|
1588
|
-
var
|
|
1589
|
+
var import_dsh_client_ui_primitives4 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1589
1590
|
|
|
1590
1591
|
// src/client/components/workspace/SourceListItem.tsx
|
|
1591
1592
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
@@ -1736,13 +1737,13 @@ function SourceSidebar({
|
|
|
1736
1737
|
onClick: () => {
|
|
1737
1738
|
pageFilters(-1);
|
|
1738
1739
|
},
|
|
1739
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
1740
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_dsh_client_ui_primitives4.IconChevronLeftOutline14, {})
|
|
1740
1741
|
}
|
|
1741
1742
|
),
|
|
1742
1743
|
shownFiltersOf(filter, counts).map((entry) => {
|
|
1743
1744
|
const count = counts[entry.id];
|
|
1744
1745
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
1745
|
-
|
|
1746
|
+
import_dsh_client_ui_primitives4.Pill,
|
|
1746
1747
|
{
|
|
1747
1748
|
active: filter === entry.id,
|
|
1748
1749
|
"aria-pressed": filter === entry.id,
|
|
@@ -1763,7 +1764,7 @@ function SourceSidebar({
|
|
|
1763
1764
|
onClick: () => {
|
|
1764
1765
|
pageFilters(1);
|
|
1765
1766
|
},
|
|
1766
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
1767
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_dsh_client_ui_primitives4.IconChevronRightOutline14, {})
|
|
1767
1768
|
}
|
|
1768
1769
|
)
|
|
1769
1770
|
]
|
|
@@ -1820,7 +1821,7 @@ var import_react9 = require("react");
|
|
|
1820
1821
|
|
|
1821
1822
|
// src/client/components/workspace/SourceOverview.tsx
|
|
1822
1823
|
var import_react5 = require("react");
|
|
1823
|
-
var
|
|
1824
|
+
var import_dsh_client_ui_primitives7 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1824
1825
|
|
|
1825
1826
|
// src/client/actions/source-actions.ts
|
|
1826
1827
|
function askDraftOf(ref, t) {
|
|
@@ -1832,7 +1833,7 @@ function exportDraftOf(ref, t) {
|
|
|
1832
1833
|
|
|
1833
1834
|
// src/client/components/open/BlockedOpenAction.tsx
|
|
1834
1835
|
var import_react4 = require("react");
|
|
1835
|
-
var
|
|
1836
|
+
var import_dsh_client_ui_primitives5 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1836
1837
|
|
|
1837
1838
|
// src/client/components/open/open.module.css
|
|
1838
1839
|
var style5 = `._02bwZG_linkWrap{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}._02bwZG_link{color:var(--dsw-alias-link);font-size:12px;font-weight:500;line-height:16px;text-decoration:none}._02bwZG_link:hover,._02bwZG_link:focus-visible{text-underline-offset:3px;text-decoration:underline dotted}._02bwZG_link:focus-visible{outline:1px solid var(--dsw-alias-link);outline-offset:1px}._02bwZG_linkIcon{vertical-align:-.25em;flex:none;width:1.1em;height:1.1em;margin-right:5px}._02bwZG_note{color:var(--dsw-alias-label-caption);font-size:12px;line-height:18px}._02bwZG_button{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;text-decoration:none;display:inline-flex}._02bwZG_button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._02bwZG_button:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._02bwZG_blocked{opacity:.5;cursor:default}._02bwZG_blocked:hover{color:var(--dsw-alias-label-secondary);background:0 0}._02bwZG_srOnly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){._02bwZG_button{transition:none}}`;
|
|
@@ -1842,7 +1843,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
1842
1843
|
tag.textContent = style5;
|
|
1843
1844
|
document.head.appendChild(tag);
|
|
1844
1845
|
}
|
|
1845
|
-
var open_default = { "
|
|
1846
|
+
var open_default = { "blocked": "_02bwZG_blocked", "button": "_02bwZG_button", "note": "_02bwZG_note", "srOnly": "_02bwZG_srOnly", "linkWrap": "_02bwZG_linkWrap", "link": "_02bwZG_link", "linkIcon": "_02bwZG_linkIcon" };
|
|
1846
1847
|
|
|
1847
1848
|
// src/client/components/open/BlockedOpenAction.tsx
|
|
1848
1849
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
@@ -1850,7 +1851,7 @@ function BlockedOpenAction({ label, t, className }) {
|
|
|
1850
1851
|
const reason = t("provenanceMismatch");
|
|
1851
1852
|
const reasonId = (0, import_react4.useId)();
|
|
1852
1853
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
|
|
1853
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1854
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_dsh_client_ui_primitives5.Tooltip, { label: reason, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
1854
1855
|
"button",
|
|
1855
1856
|
{
|
|
1856
1857
|
type: "button",
|
|
@@ -1868,25 +1869,32 @@ function BlockedOpenAction({ label, t, className }) {
|
|
|
1868
1869
|
}
|
|
1869
1870
|
|
|
1870
1871
|
// src/client/components/open/ZoteroOpenButton.tsx
|
|
1871
|
-
var
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1872
|
+
var import_dsh_client_ui_primitives6 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
1873
|
+
|
|
1874
|
+
// src/client/components/open/external-href.ts
|
|
1875
|
+
function externalHrefProps(url2) {
|
|
1875
1876
|
try {
|
|
1876
1877
|
const protocol = new URL(url2).protocol;
|
|
1877
|
-
|
|
1878
|
+
if (protocol === "http:" || protocol === "https:") {
|
|
1879
|
+
return { target: "_blank", rel: "noopener noreferrer" };
|
|
1880
|
+
}
|
|
1878
1881
|
} catch {
|
|
1879
|
-
external = false;
|
|
1880
1882
|
}
|
|
1883
|
+
return {};
|
|
1884
|
+
}
|
|
1885
|
+
|
|
1886
|
+
// src/client/components/open/ZoteroOpenButton.tsx
|
|
1887
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1888
|
+
function ZoteroOpenButton({ url: url2, verdict, label, t, className }) {
|
|
1881
1889
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1882
1890
|
"a",
|
|
1883
1891
|
{
|
|
1884
1892
|
className: className ?? open_default.button,
|
|
1885
1893
|
href: url2,
|
|
1886
|
-
...
|
|
1894
|
+
...externalHrefProps(url2),
|
|
1887
1895
|
title: verdict === "unverified" ? t("instanceUnverified") : void 0,
|
|
1888
1896
|
children: [
|
|
1889
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1897
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_dsh_client_ui_primitives6.LinkIcon, { kind: "url", className: open_default.linkIcon }),
|
|
1890
1898
|
label
|
|
1891
1899
|
]
|
|
1892
1900
|
}
|
|
@@ -1955,7 +1963,7 @@ function SourceOverview({ item, t, setDraft }) {
|
|
|
1955
1963
|
}
|
|
1956
1964
|
),
|
|
1957
1965
|
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
1958
|
-
|
|
1966
|
+
import_dsh_client_ui_primitives7.Menu,
|
|
1959
1967
|
{
|
|
1960
1968
|
open: menuOpen,
|
|
1961
1969
|
anchor: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
@@ -1972,7 +1980,7 @@ function SourceOverview({ item, t, setDraft }) {
|
|
|
1972
1980
|
),
|
|
1973
1981
|
items: [{ id: "copyRef", label: t("copyRef") }],
|
|
1974
1982
|
onSelect: () => {
|
|
1975
|
-
void (0,
|
|
1983
|
+
void (0, import_dsh_client_ui_primitives7.writeClipboard)(item.ref);
|
|
1976
1984
|
setMenuOpen(false);
|
|
1977
1985
|
},
|
|
1978
1986
|
onClose: () => {
|
|
@@ -2117,7 +2125,7 @@ function downloadBlob(text, fileName, mime) {
|
|
|
2117
2125
|
|
|
2118
2126
|
// src/client/components/CopyButton.tsx
|
|
2119
2127
|
var import_react6 = require("react");
|
|
2120
|
-
var
|
|
2128
|
+
var import_dsh_client_ui_primitives8 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2121
2129
|
|
|
2122
2130
|
// src/client/components/cards.module.css
|
|
2123
2131
|
var style6 = `._27yOoG_note{color:var(--dsw-alias-label-caption);margin:0;font-size:12px;line-height:18px}._27yOoG_line{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:18px}._27yOoG_lineActions{flex:none;align-items:center;gap:4px;margin-left:auto;display:inline-flex}._27yOoG_lineAction{height:24px;color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;transition:background .12s var(--ds-ease-in-out), color .12s var(--ds-ease-in-out);background:0 0;border-radius:6px;align-items:center;padding:0 8px;font-family:inherit;font-size:12px;line-height:16px;display:inline-flex}._27yOoG_lineAction:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._27yOoG_lineAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}._27yOoG_chevron{color:var(--dsw-alias-label-caption);transition:transform .12s var(--ds-ease-in-out);flex:none}._27yOoG_chevronOpen{transform:rotate(180deg)}._27yOoG_card{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:8px;flex-direction:column;gap:6px;max-width:900px;padding:10px 12px;display:flex}._27yOoG_cardHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}._27yOoG_cardTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:500;line-height:20px}._27yOoG_link{color:var(--dsw-alias-link);font-size:12px;font-weight:500;line-height:16px;text-decoration:none}._27yOoG_link:hover,._27yOoG_link:focus-visible{text-underline-offset:3px;text-decoration:underline dotted}._27yOoG_link:focus-visible{outline:1px solid var(--dsw-alias-link);outline-offset:1px}._27yOoG_passages{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}._27yOoG_passage{flex-direction:column;gap:2px;display:flex}._27yOoG_passageHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}._27yOoG_sourceTag{letter-spacing:.035em;height:18px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;padding:0 6px;font-size:10px;font-weight:650;line-height:12px;display:inline-flex}._27yOoG_availability{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}._27yOoG_exportRow{flex-direction:column;gap:4px;padding:6px 0;display:flex}._27yOoG_exportSection{flex-direction:column;gap:2px;display:flex}._27yOoG_exportSectionHead{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 0 4px;display:flex}._27yOoG_exportSectionTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}._27yOoG_exportSectionCount{color:var(--dsw-alias-label-caption);flex:none;font-size:12px;line-height:18px}._27yOoG_exportSectionActions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}._27yOoG_documentKey{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);flex:auto;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}._27yOoG_documentTitle{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-caption);margin:0;padding-left:2px;font-size:12px;line-height:18px;overflow:hidden}._27yOoG_exportHead{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}._27yOoG_exportToggle{text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:8px;min-width:0;padding:2px 0;font-family:inherit;display:inline-flex}._27yOoG_exportToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px;border-radius:4px}._27yOoG_exportTitle{color:var(--dsw-alias-label-primary);flex:none;font-size:13px;font-weight:500;line-height:20px}._27yOoG_exportFacts{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-caption);flex:auto;font-size:12px;line-height:18px;overflow:hidden}._27yOoG_exportBody{flex-direction:column;gap:6px;max-width:960px;padding:4px 0 10px;display:flex}._27yOoG_exportCode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:8px;overflow:hidden}._27yOoG_exportCodeHead{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:center;min-height:32px;padding:0 10px;display:flex}._27yOoG_exportCodeLabel{min-width:0;color:var(--dsw-alias-label-secondary);flex:auto;font-size:12px;line-height:16px}._27yOoG_exportKeys{flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}._27yOoG_exportKeysText{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:480px;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;overflow:hidden}._27yOoG_exportPre{max-height:280px;font-family:var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);white-space:pre;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);margin:0;padding:10px 12px;font-size:12px;line-height:18px;overflow:auto}._27yOoG_unresolvedItems{flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 0 6px;display:flex}._27yOoG_unresolvedItemsText{color:var(--dsw-alias-label-caption);font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){._27yOoG_chevron,._27yOoG_lineAction{transition:none}}`;
|
|
@@ -2127,7 +2135,7 @@ if (typeof document !== "undefined" && !document.querySelector('style[data-plugi
|
|
|
2127
2135
|
tag.textContent = style6;
|
|
2128
2136
|
document.head.appendChild(tag);
|
|
2129
2137
|
}
|
|
2130
|
-
var cards_default = { "
|
|
2138
|
+
var cards_default = { "chevronOpen": "_27yOoG_chevronOpen", "exportSectionCount": "_27yOoG_exportSectionCount", "sourceTag": "_27yOoG_sourceTag", "unresolvedItems": "_27yOoG_unresolvedItems", "exportSectionHead": "_27yOoG_exportSectionHead", "exportSectionActions": "_27yOoG_exportSectionActions", "exportToggle": "_27yOoG_exportToggle", "exportCodeHead": "_27yOoG_exportCodeHead", "unresolvedItemsText": "_27yOoG_unresolvedItemsText", "passageHead": "_27yOoG_passageHead", "note": "_27yOoG_note", "documentKey": "_27yOoG_documentKey", "exportRow": "_27yOoG_exportRow", "exportBody": "_27yOoG_exportBody", "link": "_27yOoG_link", "documentTitle": "_27yOoG_documentTitle", "card": "_27yOoG_card", "exportCodeLabel": "_27yOoG_exportCodeLabel", "exportCode": "_27yOoG_exportCode", "availability": "_27yOoG_availability", "exportSection": "_27yOoG_exportSection", "exportHead": "_27yOoG_exportHead", "exportFacts": "_27yOoG_exportFacts", "exportKeysText": "_27yOoG_exportKeysText", "lineAction": "_27yOoG_lineAction", "exportTitle": "_27yOoG_exportTitle", "line": "_27yOoG_line", "lineActions": "_27yOoG_lineActions", "chevron": "_27yOoG_chevron", "exportKeys": "_27yOoG_exportKeys", "passages": "_27yOoG_passages", "passage": "_27yOoG_passage", "exportSectionTitle": "_27yOoG_exportSectionTitle", "cardTitle": "_27yOoG_cardTitle", "exportPre": "_27yOoG_exportPre", "cardHead": "_27yOoG_cardHead" };
|
|
2131
2139
|
|
|
2132
2140
|
// src/client/components/CopyButton.tsx
|
|
2133
2141
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
@@ -2151,7 +2159,7 @@ function CopyButton({ value, label, copiedLabel }) {
|
|
|
2151
2159
|
"aria-label": label,
|
|
2152
2160
|
onClick: () => {
|
|
2153
2161
|
const mine = epoch.current += 1;
|
|
2154
|
-
void (0,
|
|
2162
|
+
void (0, import_dsh_client_ui_primitives8.writeClipboard)(value).then((ok) => {
|
|
2155
2163
|
if (ok && epoch.current === mine) setCopied(true);
|
|
2156
2164
|
});
|
|
2157
2165
|
},
|
|
@@ -2162,7 +2170,7 @@ function CopyButton({ value, label, copiedLabel }) {
|
|
|
2162
2170
|
|
|
2163
2171
|
// src/client/components/ExportDocumentRow.tsx
|
|
2164
2172
|
var import_react8 = require("react");
|
|
2165
|
-
var
|
|
2173
|
+
var import_dsh_client_ui_primitives10 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2166
2174
|
|
|
2167
2175
|
// src/export-items.ts
|
|
2168
2176
|
var BIBTEX_KEY_SOURCE = "@[A-Za-z]+\\{([^,\\s{}]+),";
|
|
@@ -2188,7 +2196,7 @@ function citeCommandOf(keys) {
|
|
|
2188
2196
|
|
|
2189
2197
|
// src/client/components/ExportCard.tsx
|
|
2190
2198
|
var import_react7 = require("react");
|
|
2191
|
-
var
|
|
2199
|
+
var import_dsh_client_ui_primitives9 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2192
2200
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
2193
2201
|
function formatLabelOf(format, t) {
|
|
2194
2202
|
switch (format) {
|
|
@@ -2281,7 +2289,7 @@ function ExportCard({ artifact, t }) {
|
|
|
2281
2289
|
children: [
|
|
2282
2290
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: cards_default.exportTitle, children: formatLabelOf(artifact.format, t) }),
|
|
2283
2291
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: cards_default.exportFacts, children: headFacts }),
|
|
2284
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
2292
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_dsh_client_ui_primitives9.IconChevronDownOutline14, { className: clsx_default(cards_default.chevron, open && cards_default.chevronOpen) })
|
|
2285
2293
|
]
|
|
2286
2294
|
}
|
|
2287
2295
|
),
|
|
@@ -2326,7 +2334,7 @@ function ExportDocumentRow({ doc, t }) {
|
|
|
2326
2334
|
},
|
|
2327
2335
|
children: [
|
|
2328
2336
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: doc.key === void 0 ? cards_default.exportTitle : cards_default.documentKey, children: doc.key ?? doc.title ?? formatLabelOf(doc.format, t) }),
|
|
2329
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
2337
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_dsh_client_ui_primitives10.IconChevronDownOutline14, { className: clsx_default(cards_default.chevron, open && cards_default.chevronOpen) })
|
|
2330
2338
|
]
|
|
2331
2339
|
}
|
|
2332
2340
|
),
|
|
@@ -2532,15 +2540,15 @@ function SourceInspector({
|
|
|
2532
2540
|
}
|
|
2533
2541
|
|
|
2534
2542
|
// src/client/components/workspace/WorkspaceEmptyState.tsx
|
|
2535
|
-
var
|
|
2543
|
+
var import_dsh_client_ui_primitives11 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2536
2544
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
2537
2545
|
function WorkspaceEmptyState({ t, setDraft }) {
|
|
2538
2546
|
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: workspace_default.empty, children: [
|
|
2539
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2547
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_dsh_client_ui_primitives11.IconBrowseOutline16, { size: 16, className: workspace_default.emptyIcon }),
|
|
2540
2548
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: workspace_default.emptyText, children: t("noSources") }),
|
|
2541
2549
|
setDraft !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: workspace_default.starterRow, children: [
|
|
2542
2550
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2543
|
-
|
|
2551
|
+
import_dsh_client_ui_primitives11.Pill,
|
|
2544
2552
|
{
|
|
2545
2553
|
onClick: () => {
|
|
2546
2554
|
setDraft(t("starterFindTemplate"));
|
|
@@ -2549,7 +2557,7 @@ function WorkspaceEmptyState({ t, setDraft }) {
|
|
|
2549
2557
|
}
|
|
2550
2558
|
),
|
|
2551
2559
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2552
|
-
|
|
2560
|
+
import_dsh_client_ui_primitives11.Pill,
|
|
2553
2561
|
{
|
|
2554
2562
|
onClick: () => {
|
|
2555
2563
|
setDraft(t("starterCompareTemplate"));
|
|
@@ -2558,7 +2566,7 @@ function WorkspaceEmptyState({ t, setDraft }) {
|
|
|
2558
2566
|
}
|
|
2559
2567
|
),
|
|
2560
2568
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2561
|
-
|
|
2569
|
+
import_dsh_client_ui_primitives11.Pill,
|
|
2562
2570
|
{
|
|
2563
2571
|
onClick: () => {
|
|
2564
2572
|
setDraft(t("starterEvidenceTemplate"));
|
|
@@ -2567,7 +2575,7 @@ function WorkspaceEmptyState({ t, setDraft }) {
|
|
|
2567
2575
|
}
|
|
2568
2576
|
),
|
|
2569
2577
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2570
|
-
|
|
2578
|
+
import_dsh_client_ui_primitives11.Pill,
|
|
2571
2579
|
{
|
|
2572
2580
|
onClick: () => {
|
|
2573
2581
|
setDraft(t("starterExportSelectedTemplate"));
|
|
@@ -2603,29 +2611,14 @@ function ExportsPage({ workspace, t }) {
|
|
|
2603
2611
|
}
|
|
2604
2612
|
|
|
2605
2613
|
// src/client/components/open/ZoteroOpenLink.tsx
|
|
2606
|
-
var
|
|
2614
|
+
var import_dsh_client_ui_primitives12 = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
2607
2615
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2608
2616
|
function ZoteroOpenLink({ url: url2, verdict, label, t, className }) {
|
|
2609
|
-
let external = false;
|
|
2610
|
-
try {
|
|
2611
|
-
const protocol = new URL(url2).protocol;
|
|
2612
|
-
external = protocol === "http:" || protocol === "https:";
|
|
2613
|
-
} catch {
|
|
2614
|
-
external = false;
|
|
2615
|
-
}
|
|
2616
2617
|
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: open_default.linkWrap, children: [
|
|
2617
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
2618
|
-
"
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
href: url2,
|
|
2622
|
-
...external ? { target: "_blank", rel: "noopener noreferrer" } : {},
|
|
2623
|
-
children: [
|
|
2624
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_dsh_client_ui_primitives11.LinkIcon, { kind: "url", className: open_default.linkIcon }),
|
|
2625
|
-
label
|
|
2626
|
-
]
|
|
2627
|
-
}
|
|
2628
|
-
),
|
|
2618
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("a", { className: className ?? open_default.link, href: url2, ...externalHrefProps(url2), children: [
|
|
2619
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_dsh_client_ui_primitives12.LinkIcon, { kind: "url", className: open_default.linkIcon }),
|
|
2620
|
+
label
|
|
2621
|
+
] }),
|
|
2629
2622
|
verdict === "unverified" && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: open_default.note, children: t("openUnverifiedNote", { detail: t("instanceUnverified") }) })
|
|
2630
2623
|
] });
|
|
2631
2624
|
}
|