@sparkelf/dsh-knowledge-base 0.1.24 → 0.1.26
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 +1944 -815
- package/lib/client.js.map +1 -1
- package/lib/index.js +507 -2
- package/lib/types/api.d.ts +15 -0
- package/lib/types/client/KnowledgeFilePreview.d.ts +32 -0
- package/lib/types/client/graph/KnowledgeGraphTree.d.ts +43 -0
- package/lib/types/client/graph/KnowledgeGraphView.d.ts +37 -0
- package/lib/types/client/graph/KnowledgeScopeTabs.d.ts +35 -0
- package/lib/types/client/graph/useKnowledgeGraph.d.ts +41 -0
- package/lib/types/client/locales.d.ts +15 -0
- package/lib/types/graph.d.ts +126 -0
- package/lib/types/graphCanvas.d.ts +16 -0
- package/lib/types/graphTools.d.ts +32 -0
- package/lib/types/graphTypes.d.ts +170 -0
- package/lib/types/index.d.ts +4 -0
- package/lib/types/views.d.ts +10 -0
- package/package.json +1 -1
- package/skills/knowledge-graph/SKILL.md +96 -0
package/lib/client.js
CHANGED
|
@@ -61,6 +61,21 @@ window.__ModuleLoader__.load({
|
|
|
61
61
|
trashRestore: "trash.restore",
|
|
62
62
|
/** Search the mounted tree by file name and text. */
|
|
63
63
|
search: "search",
|
|
64
|
+
/**
|
|
65
|
+
* Read the permission-filtered knowledge-graph tree.
|
|
66
|
+
*
|
|
67
|
+
* The graph tab's only data route and strictly read-only: it scans
|
|
68
|
+
* `知识图谱/*` under the caller's scopes, asks `canReadPath` once per graph, and
|
|
69
|
+
* returns the domain tree. No graph, topic or relation is created here.
|
|
70
|
+
*/
|
|
71
|
+
graph: "graph",
|
|
72
|
+
/**
|
|
73
|
+
* The canvas-only page the graph tab embeds.
|
|
74
|
+
*
|
|
75
|
+
* A page rather than a JSON route: the first version reuses the prototype's
|
|
76
|
+
* mind-map canvas as-is, and the panel feeds it through `postMessage`.
|
|
77
|
+
*/
|
|
78
|
+
graphCanvas: "graph.canvas",
|
|
64
79
|
/** List one directory level, with each entry's modification time. */
|
|
65
80
|
list: "list",
|
|
66
81
|
/** Read one file for the preview, without needing a conversation session. */
|
|
@@ -312,42 +327,42 @@ window.__ModuleLoader__.load({
|
|
|
312
327
|
}
|
|
313
328
|
//#endregion
|
|
314
329
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeSettingsSection.module.css.mjs
|
|
315
|
-
const css$
|
|
316
|
-
const tagId$
|
|
317
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
330
|
+
const css$21 = ".c269jW_section{max-width:720px;color:var(--dsw-alias-label-primary);flex-direction:column;gap:12px;display:flex}.c269jW_title{font:var(--dsw-font-base-strong-16);margin:0}.c269jW_body{flex-direction:column;gap:10px;display:flex}.c269jW_groupTitle{color:var(--dsw-alias-label-secondary);margin:16px 0 0;font-size:12px;font-weight:500;line-height:18px}.c269jW_statusRow{align-items:center;gap:8px;display:flex}.c269jW_statusLabel{font:var(--dsw-font-xxs-strong-12)}.c269jW_pairs{gap:6px;margin:0;display:grid}.c269jW_pair{grid-template-columns:minmax(120px,34%) 1fr;align-items:baseline;gap:12px;display:grid}.c269jW_pair dt{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.c269jW_pair dd{overflow-wrap:anywhere;font:var(--dsw-font-xxs-12);margin:0}.c269jW_pair code{font:var(--dsw-font-xxs-12) var(--ds-font-family-code)}.c269jW_detail{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);margin:0}.c269jW_notice{font:var(--dsw-font-xxs-12);margin:0}.c269jW_wizard{flex-direction:column;gap:10px;margin-top:4px;display:flex}.c269jW_field{flex-direction:column;gap:6px;display:flex}.c269jW_fieldLabel{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary)}.c269jW_select{box-sizing:border-box;border-radius:var(--dsw-radius-md);border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-1);height:32px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);max-width:420px;padding:0 10px}.c269jW_select:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.c269jW_steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.c269jW_step{border:1px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-sm);justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;display:flex}.c269jW_stepLabel{font:var(--dsw-font-xxs-12)}.c269jW_logBox{flex-direction:column;gap:6px;display:flex}.c269jW_log{border-radius:var(--dsw-radius-sm);border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);max-height:320px;font:var(--dsw-font-xxs-12) var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px;line-height:1.5;overflow:auto}.c269jW_modeRow{flex-wrap:wrap;gap:8px;margin:2px 0 6px;display:flex}.c269jW_modeOption{border:1px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.c269jW_modeOption:hover{background:var(--dsw-alias-interactive-bg-hover)}.c269jW_modeOption input{accent-color:var(--dsw-alias-state-business-primary);margin:0}.c269jW_modeOption:has(input:checked){border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1)}.c269jW_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);width:100%;min-width:0;height:32px;color:var(--dsw-alias-label-primary);font:inherit;padding:0 10px;font-size:14px;line-height:22px}.c269jW_input::placeholder{color:var(--dsw-alias-label-dimmed)}.c269jW_input:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.c269jW_input:disabled{opacity:.6;cursor:default}.c269jW_saveRow{align-items:center;gap:8px;padding-top:16px;display:flex}.c269jW_saveRow .c269jW_notice{margin:0}.c269jW_badgeOk,.c269jW_badgeWarn{font:var(--dsw-font-xxxs-11);white-space:nowrap;border-radius:4px;padding:1px 6px}.c269jW_badgeOk{color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-bg)}.c269jW_badgeWarn{color:var(--dsw-alias-state-warning-primary);background:var(--dsw-alias-state-warning-bg)}.c269jW_error{color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxs-12);margin:0}";
|
|
331
|
+
const tagId$21 = "@sparkelf/dsh-knowledge-base/KnowledgeSettingsSection.module.css";
|
|
332
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$21) + "]") === null) {
|
|
318
333
|
const tag = document.createElement("style");
|
|
319
334
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
320
|
-
tag.dataset.pluginCss = tagId$
|
|
321
|
-
tag.textContent = css$
|
|
335
|
+
tag.dataset.pluginCss = tagId$21;
|
|
336
|
+
tag.textContent = css$21;
|
|
322
337
|
document.head.appendChild(tag);
|
|
323
338
|
}
|
|
324
339
|
var KnowledgeSettingsSection_module_css_default = {
|
|
325
|
-
"groupTitle": "c269jW_groupTitle",
|
|
326
|
-
"modeRow": "c269jW_modeRow",
|
|
327
|
-
"badgeWarn": "c269jW_badgeWarn",
|
|
328
340
|
"wizard": "c269jW_wizard",
|
|
329
|
-
"
|
|
341
|
+
"statusLabel": "c269jW_statusLabel",
|
|
342
|
+
"select": "c269jW_select",
|
|
330
343
|
"pairs": "c269jW_pairs",
|
|
331
|
-
"
|
|
344
|
+
"body": "c269jW_body",
|
|
332
345
|
"notice": "c269jW_notice",
|
|
333
|
-
"
|
|
346
|
+
"steps": "c269jW_steps",
|
|
334
347
|
"step": "c269jW_step",
|
|
335
|
-
"stepLabel": "c269jW_stepLabel",
|
|
336
|
-
"logBox": "c269jW_logBox",
|
|
337
|
-
"field": "c269jW_field",
|
|
338
|
-
"select": "c269jW_select",
|
|
339
|
-
"log": "c269jW_log",
|
|
340
348
|
"input": "c269jW_input",
|
|
341
|
-
"
|
|
342
|
-
"
|
|
343
|
-
"
|
|
349
|
+
"fieldLabel": "c269jW_fieldLabel",
|
|
350
|
+
"badgeWarn": "c269jW_badgeWarn",
|
|
351
|
+
"log": "c269jW_log",
|
|
352
|
+
"field": "c269jW_field",
|
|
353
|
+
"error": "c269jW_error",
|
|
344
354
|
"statusRow": "c269jW_statusRow",
|
|
345
|
-
"
|
|
346
|
-
"
|
|
347
|
-
"
|
|
355
|
+
"pair": "c269jW_pair",
|
|
356
|
+
"section": "c269jW_section",
|
|
357
|
+
"stepLabel": "c269jW_stepLabel",
|
|
348
358
|
"modeOption": "c269jW_modeOption",
|
|
359
|
+
"title": "c269jW_title",
|
|
349
360
|
"badgeOk": "c269jW_badgeOk",
|
|
350
|
-
"
|
|
361
|
+
"modeRow": "c269jW_modeRow",
|
|
362
|
+
"saveRow": "c269jW_saveRow",
|
|
363
|
+
"logBox": "c269jW_logBox",
|
|
364
|
+
"detail": "c269jW_detail",
|
|
365
|
+
"groupTitle": "c269jW_groupTitle"
|
|
351
366
|
};
|
|
352
367
|
//#endregion
|
|
353
368
|
//#region src/client/VectorSettingsGroup.tsx
|
|
@@ -1884,56 +1899,56 @@ window.__ModuleLoader__.load({
|
|
|
1884
1899
|
}
|
|
1885
1900
|
//#endregion
|
|
1886
1901
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgePermissions.module.css.mjs
|
|
1887
|
-
const css$
|
|
1888
|
-
const tagId$
|
|
1889
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
1902
|
+
const css$20 = ".W1jiya_overview{flex-direction:column;gap:14px;display:flex}.W1jiya_statRow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.W1jiya_statCard{border:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.W1jiya_statValue{font:var(--dsw-font-base-strong-16);color:var(--dsw-alias-label-primary);line-height:1.2}.W1jiya_statLabel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.W1jiya_tabs{align-self:flex-start}.W1jiya_overviewEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);margin:0;padding:20px 10px}.W1jiya_table{border-collapse:collapse;table-layout:auto;width:100%}.W1jiya_table th{text-align:left;font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary);border-bottom:.5px solid var(--dsw-alias-border-l2);white-space:nowrap;padding:6px 10px}.W1jiya_table td{border-bottom:.5px solid var(--dsw-alias-border-l1);font:var(--dsw-font-xxs-12);vertical-align:top;padding:7px 10px}.W1jiya_table tr:last-child td{border-bottom:none}.W1jiya_principalName{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.W1jiya_principalMeta{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);margin-top:2px}.W1jiya_principalId{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11) var(--ds-font-family-code);overflow-wrap:anywhere;margin-top:2px}.W1jiya_chips{flex-wrap:wrap;gap:4px;display:flex}.W1jiya_paths{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary);flex-direction:column;gap:2px;margin:0;padding:0;line-height:1.65;list-style:none;display:flex}.W1jiya_path{font-family:var(--ds-font-family-code);overflow-wrap:anywhere}.W1jiya_holders{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.W1jiya_holder{align-items:baseline;gap:6px;display:flex}.W1jiya_holderName{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-primary)}.W1jiya_holderKind{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.W1jiya_placeholder{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11)}.W1jiya_actionCell{white-space:nowrap}.W1jiya_dialogForm{flex-direction:column;gap:12px;display:flex}.W1jiya_dialogField{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);flex-direction:column;gap:5px;display:flex}.W1jiya_dialogSelect{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);background:var(--dsw-alias-bg-layer-2);width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:8px;padding:7px 9px}.W1jiya_dialogNotice{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary);margin:0}.W1jiya_emptyRow td{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);padding:18px}.W1jiya_emptyNote{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);margin-top:4px}.W1jiya_rowActions{white-space:nowrap;align-items:center;gap:6px;display:flex}.W1jiya_pageHead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.W1jiya_pageTitle{font:var(--dsw-font-xs-strong-13);color:var(--dsw-alias-label-primary);margin:0}.W1jiya_pageHint{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);margin:2px 0 0}.W1jiya_pathCell{font:var(--dsw-font-xxxs-11) var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}.W1jiya_countCell{text-align:right;font-variant-numeric:tabular-nums}.W1jiya_partialMark{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:help;margin-left:2px}.W1jiya_actions{flex-wrap:wrap;gap:4px;display:flex}.W1jiya_linkButton{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-business-primary);cursor:pointer;background:0 0;border:0;padding:0}.W1jiya_linkButton:hover:not(:disabled){text-decoration:underline}.W1jiya_linkButton:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.W1jiya_pager{justify-content:flex-start;align-items:center;gap:8px;margin-top:8px;display:flex}.W1jiya_pagerStatus{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);font-variant-numeric:tabular-nums;white-space:nowrap}.W1jiya_pageSize{align-items:center;gap:6px;margin-left:auto;display:flex}.W1jiya_sourceCell{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.W1jiya_sourceHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex-basis:100%}";
|
|
1903
|
+
const tagId$20 = "@sparkelf/dsh-knowledge-base/KnowledgePermissions.module.css";
|
|
1904
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$20) + "]") === null) {
|
|
1890
1905
|
const tag = document.createElement("style");
|
|
1891
1906
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
1892
|
-
tag.dataset.pluginCss = tagId$
|
|
1893
|
-
tag.textContent = css$
|
|
1907
|
+
tag.dataset.pluginCss = tagId$20;
|
|
1908
|
+
tag.textContent = css$20;
|
|
1894
1909
|
document.head.appendChild(tag);
|
|
1895
1910
|
}
|
|
1896
1911
|
var KnowledgePermissions_module_css_default = {
|
|
1897
|
-
"
|
|
1912
|
+
"holders": "W1jiya_holders",
|
|
1913
|
+
"actions": "W1jiya_actions",
|
|
1914
|
+
"principalId": "W1jiya_principalId",
|
|
1915
|
+
"path": "W1jiya_path",
|
|
1916
|
+
"holder": "W1jiya_holder",
|
|
1917
|
+
"holderKind": "W1jiya_holderKind",
|
|
1918
|
+
"pageHint": "W1jiya_pageHint",
|
|
1919
|
+
"paths": "W1jiya_paths",
|
|
1920
|
+
"sourceCell": "W1jiya_sourceCell",
|
|
1921
|
+
"pageHead": "W1jiya_pageHead",
|
|
1922
|
+
"placeholder": "W1jiya_placeholder",
|
|
1923
|
+
"pathCell": "W1jiya_pathCell",
|
|
1924
|
+
"principalMeta": "W1jiya_principalMeta",
|
|
1898
1925
|
"statValue": "W1jiya_statValue",
|
|
1899
|
-
"
|
|
1926
|
+
"countCell": "W1jiya_countCell",
|
|
1927
|
+
"holderName": "W1jiya_holderName",
|
|
1928
|
+
"chips": "W1jiya_chips",
|
|
1900
1929
|
"principalName": "W1jiya_principalName",
|
|
1930
|
+
"statCard": "W1jiya_statCard",
|
|
1901
1931
|
"dialogForm": "W1jiya_dialogForm",
|
|
1902
|
-
"overviewEmpty": "W1jiya_overviewEmpty",
|
|
1903
1932
|
"partialMark": "W1jiya_partialMark",
|
|
1904
|
-
"pathCell": "W1jiya_pathCell",
|
|
1905
|
-
"principalMeta": "W1jiya_principalMeta",
|
|
1906
|
-
"actions": "W1jiya_actions",
|
|
1907
|
-
"rowActions": "W1jiya_rowActions",
|
|
1908
|
-
"sourceHint": "W1jiya_sourceHint",
|
|
1909
|
-
"emptyNote": "W1jiya_emptyNote",
|
|
1910
1933
|
"linkButton": "W1jiya_linkButton",
|
|
1911
1934
|
"statLabel": "W1jiya_statLabel",
|
|
1912
|
-
"
|
|
1913
|
-
"sourceCell": "W1jiya_sourceCell",
|
|
1914
|
-
"emptyRow": "W1jiya_emptyRow",
|
|
1915
|
-
"dialogSelect": "W1jiya_dialogSelect",
|
|
1916
|
-
"path": "W1jiya_path",
|
|
1917
|
-
"pageSize": "W1jiya_pageSize",
|
|
1918
|
-
"statCard": "W1jiya_statCard",
|
|
1919
|
-
"dialogNotice": "W1jiya_dialogNotice",
|
|
1920
|
-
"holderName": "W1jiya_holderName",
|
|
1935
|
+
"dialogField": "W1jiya_dialogField",
|
|
1921
1936
|
"pager": "W1jiya_pager",
|
|
1922
|
-
"placeholder": "W1jiya_placeholder",
|
|
1923
|
-
"holder": "W1jiya_holder",
|
|
1924
|
-
"tabs": "W1jiya_tabs",
|
|
1925
|
-
"holders": "W1jiya_holders",
|
|
1926
|
-
"pagerStatus": "W1jiya_pagerStatus",
|
|
1927
|
-
"principalId": "W1jiya_principalId",
|
|
1928
1937
|
"overview": "W1jiya_overview",
|
|
1929
|
-
"
|
|
1930
|
-
"holderKind": "W1jiya_holderKind",
|
|
1931
|
-
"pageHint": "W1jiya_pageHint",
|
|
1932
|
-
"pageHead": "W1jiya_pageHead",
|
|
1933
|
-
"countCell": "W1jiya_countCell",
|
|
1938
|
+
"overviewEmpty": "W1jiya_overviewEmpty",
|
|
1934
1939
|
"actionCell": "W1jiya_actionCell",
|
|
1935
1940
|
"pageTitle": "W1jiya_pageTitle",
|
|
1936
|
-
"
|
|
1941
|
+
"sourceHint": "W1jiya_sourceHint",
|
|
1942
|
+
"dialogNotice": "W1jiya_dialogNotice",
|
|
1943
|
+
"statRow": "W1jiya_statRow",
|
|
1944
|
+
"pagerStatus": "W1jiya_pagerStatus",
|
|
1945
|
+
"dialogSelect": "W1jiya_dialogSelect",
|
|
1946
|
+
"emptyNote": "W1jiya_emptyNote",
|
|
1947
|
+
"rowActions": "W1jiya_rowActions",
|
|
1948
|
+
"pageSize": "W1jiya_pageSize",
|
|
1949
|
+
"emptyRow": "W1jiya_emptyRow",
|
|
1950
|
+
"table": "W1jiya_table",
|
|
1951
|
+
"tabs": "W1jiya_tabs"
|
|
1937
1952
|
};
|
|
1938
1953
|
//#endregion
|
|
1939
1954
|
//#region src/client/KnowledgePermissionOverview.tsx
|
|
@@ -2466,88 +2481,88 @@ window.__ModuleLoader__.load({
|
|
|
2466
2481
|
}
|
|
2467
2482
|
//#endregion
|
|
2468
2483
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgePanel.module.css.mjs
|
|
2469
|
-
const css$15 = ".uNOdFq_page{height:100%;min-height:0;font:var(--dsw-font-s-14);flex-direction:column;display:flex}.uNOdFq_body{flex:auto;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.uNOdFq_bodyCollapsed{grid-template-columns:56px minmax(0,1fr)}.uNOdFq_rail{border-right:.5px solid var(--dsw-alias-border-l3);flex-direction:column;min-height:0;display:flex;overflow:hidden}.uNOdFq_railTop{box-sizing:border-box;flex:none;align-items:center;gap:4px;height:36px;padding:0 6px 0 12px;display:flex}.uNOdFq_railBrand{align-items:center;gap:8px;min-width:0;display:flex}.uNOdFq_railBrandName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);overflow:hidden}.uNOdFq_railTopSpacer{margin-left:auto}.uNOdFq_bodyCollapsed .uNOdFq_railTop{justify-content:center;padding:0 14px}.uNOdFq_bodyCollapsed .uNOdFq_railBrand,.uNOdFq_bodyCollapsed .uNOdFq_railTopSpacer{display:none}.uNOdFq_sectionHeader{box-sizing:border-box;height:36px;color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:4px;padding:0 0 0 4px;display:flex}.uNOdFq_sectionName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-tertiary);line-height:20px;overflow:hidden}.uNOdFq_sectionActions{align-items:center;gap:4px;margin-left:auto;padding-right:8px;display:flex}.uNOdFq_iconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.uNOdFq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.uNOdFq_iconButton:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.uNOdFq_iconButton:disabled{opacity:.4;cursor:default}.uNOdFq_treeScroll{flex:auto;min-height:0;padding:0 8px 12px;overflow:auto}.uNOdFq_searchBox{flex:none;margin:0 0 8px;padding:10px 12px 0}.uNOdFq_searchBox>span{box-sizing:border-box;width:100%;margin:0 2px;display:flex}.uNOdFq_menu{flex-direction:column;flex:none;gap:4px;margin:0 0 8px;padding:0 12px;display:flex}.uNOdFq_menuFolded{flex-direction:column;flex:none;gap:4px;margin:0 0 8px;padding:0 8px;display:flex}.uNOdFq_menuFolded .uNOdFq_menuRow,.uNOdFq_menuFolded .uNOdFq_menuRowActive{justify-content:center;padding:7px 0}.uNOdFq_menuRow,.uNOdFq_menuRowActive{box-sizing:border-box;border-radius:var(--dsw-radius-md);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0 2px;padding:7px 8px;line-height:22px;display:flex}.uNOdFq_menuRow:hover,.uNOdFq_menuRowActive:hover{background:var(--dsw-alias-interactive-bg-hover)}.uNOdFq_menuRowActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.uNOdFq_menuRow:focus-visible,.uNOdFq_menuRowActive:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.uNOdFq_menuGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.uNOdFq_menuLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uNOdFq_railBody{flex-direction:column;flex:auto;min-height:0;padding:0 8px 12px;display:flex;overflow:auto}.uNOdFq_pinnedBand{flex-direction:column;flex:none;max-height:180px;display:flex;overflow-y:auto}.uNOdFq_treeBand{flex-direction:column;flex:auto;min-height:0;display:flex}.uNOdFq_treeFilter{flex:none;padding:0 0 8px}.uNOdFq_treeFilter>span{box-sizing:border-box;width:100%;display:flex}.uNOdFq_contentColumn{flex-direction:column;min-width:0;min-height:0;display:flex}.uNOdFq_content{flex:auto;min-width:0;min-height:0;padding:16px 24px 20px;overflow:auto}.uNOdFq_header{border-bottom:.5px solid var(--dsw-alias-border-l3);flex-flow:wrap;flex:none;align-items:center;gap:8px 12px;padding:16px 14px 8px 24px;display:flex}.uNOdFq_headerActions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.uNOdFq_headerTitle{min-width:0;min-height:28px;font:var(--dsw-font-base-strong-16);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:flex-end;margin:0;display:flex;overflow:hidden}.uNOdFq_headerFact{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);white-space:nowrap;align-items:center;gap:6px;margin:0;display:flex;overflow:hidden}.uNOdFq_headerPath{font:var(--dsw-font-xxs-12) var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_headerHint{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);flex-basis:100%;margin:0}.uNOdFq_surface{flex-direction:column;align-items:flex-start;gap:12px;max-width:900px;display:flex}.uNOdFq_tableSurface{align-items:stretch;width:100%;min-width:0;max-width:none}.uNOdFq_tableSurface table{width:100%}.uNOdFq_tableSurface th:last-child,.uNOdFq_tableSurface td:last-child{text-align:right;white-space:nowrap}.uNOdFq_tableSurface td[colspan]{text-align:center;white-space:normal;padding:24px 16px}.uNOdFq_title{font:var(--dsw-font-base-strong-16);margin:0}.uNOdFq_subhead{font:var(--dsw-font-s-strong-14);margin:8px 0 0}.uNOdFq_muted{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_error{color:var(--dsw-alias-state-error-primary,#c0392b);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_notice{color:var(--dsw-alias-state-success-primary,#1a7f37);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_empty{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);flex-direction:column;align-items:center;padding:48px 20px;display:flex}.uNOdFq_emptyGlyph{color:var(--dsw-alias-label-caption);margin-bottom:12px}.uNOdFq_emptyTitle{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);margin:0;line-height:1.6}.uNOdFq_factDot{opacity:.6}.uNOdFq_hits{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.uNOdFq_hit,.uNOdFq_hitActive{box-sizing:border-box;border-radius:var(--dsw-radius-md,8px);width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:2px 10px;padding:8px 10px;display:grid}.uNOdFq_hit:hover,.uNOdFq_hitActive{background:var(--dsw-alias-interactive-bg-hover)}.uNOdFq_hitName{font:var(--dsw-font-xs-strong-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_hitPath{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_hitTime{color:var(--dsw-alias-label-tertiary,var(--dsw-alias-label-secondary));font:var(--dsw-font-xxs-12);grid-column:1/-1}.uNOdFq_hitLine{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12) var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;gap:8px;display:flex;overflow:hidden}.uNOdFq_hitLineNo{text-align:right;opacity:.7;flex:none;min-width:2.5em}.uNOdFq_path{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12) var(--ds-font-family-code);overflow-wrap:anywhere;margin:0}.uNOdFq_preview{border:1px solid var(--dsw-alias-border-l1,#0000001f);border-radius:var(--dsw-radius-md,8px);background:var(--dsw-alias-bg-layer-2);font:var(--dsw-font-xs-13) var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;max-height:calc(100vh - 160px);margin:0;padding:12px;line-height:1.55;overflow:auto}.uNOdFq_pairs{flex-direction:column;gap:6px;margin:0;display:flex}.uNOdFq_pair{font:var(--dsw-font-xs-13);gap:12px;display:flex}.uNOdFq_pair dt{min-width:6.5em;color:var(--dsw-alias-label-secondary);flex:none}.uNOdFq_pair dd{overflow-wrap:anywhere;margin:0}.uNOdFq_form{border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-md);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;display:flex}.uNOdFq_field{flex-direction:column;gap:4px;min-width:0;display:flex}.uNOdFq_field>span{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12)}.uNOdFq_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);min-width:10em;height:32px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);padding:0 10px}.uNOdFq_input:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.uNOdFq_retry{border-radius:var(--dsw-radius-sm);border:1px solid var(--dsw-alias-border-l2);min-height:32px;font:var(--dsw-font-xxs-12);cursor:pointer;color:var(--dsw-alias-label-primary);background:0 0;align-self:flex-start;padding:4px 14px}.uNOdFq_retry:disabled{opacity:.55;cursor:default}.uNOdFq_table{border-collapse:collapse;width:100%;font:var(--dsw-font-xxs-12)}.uNOdFq_table th,.uNOdFq_table td{text-align:left;border-bottom:.5px solid var(--dsw-alias-border-l2);padding:6px 8px}.uNOdFq_table th{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12)}.uNOdFq_previewLayout{align-items:flex-start;gap:12px;width:100%;min-width:0;display:flex}.uNOdFq_previewColumn{flex-direction:column;flex:auto;align-items:flex-start;gap:12px;min-width:0;max-width:900px;display:flex}.uNOdFq_openedElsewhere{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:240px;display:flex}.uNOdFq_bodyDocument{grid-template-columns:280px}.uNOdFq_bodyCollapsed.uNOdFq_bodyDocument{grid-template-columns:56px}.uNOdFq_surface+.uNOdFq_surface{border-top:1px solid var(--dsw-alias-border-l1);margin-top:20px;padding-top:24px}.uNOdFq_surface+.uNOdFq_surface>.uNOdFq_subhead{margin-top:0}.uNOdFq_referenceNote{z-index:20;border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);max-width:420px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);box-shadow:var(--dsw-shadow-lv2);align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex;position:fixed;inset-block-end:16px;inset-inline-start:16px}.uNOdFq_referenceNoteDismiss{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;line-height:1}.uNOdFq_referenceNoteDismiss:hover{color:var(--dsw-alias-label-primary)}.uNOdFq_menuGroupLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);padding:6px 10px 2px;display:block}.uNOdFq_menuSeparator{border-top:.5px solid var(--dsw-alias-border-l2);height:0;margin:4px 6px;display:block}.uNOdFq_errorPanel{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:10px;min-height:0;padding:48px 24px;display:flex}.uNOdFq_errorGlyph{background:var(--dsw-alias-fill-l2,#f2f3f5);width:40px;height:40px;color:var(--dsw-alias-state-error-primary,#c0392b);border-radius:50%;place-items:center;display:grid}.uNOdFq_errorTitle{color:var(--dsw-alias-label-primary);font:var(--dsw-font-m-16,600 16px/24px);margin:0}.uNOdFq_errorDetail{max-width:420px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_errorPanel .uNOdFq_retry{align-self:center;margin-top:6px}";
|
|
2470
|
-
const tagId$
|
|
2471
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
2484
|
+
const css$19 = ".uNOdFq_page{height:100%;min-height:0;font:var(--dsw-font-s-14);flex-direction:column;display:flex}.uNOdFq_body{flex:auto;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.uNOdFq_bodyCollapsed{grid-template-columns:56px minmax(0,1fr)}.uNOdFq_rail{border-right:.5px solid var(--dsw-alias-border-l3);flex-direction:column;min-height:0;display:flex;overflow:hidden}.uNOdFq_railTop{box-sizing:border-box;flex:none;align-items:center;gap:4px;height:36px;padding:0 6px 0 12px;display:flex}.uNOdFq_railBrand{align-items:center;gap:8px;min-width:0;display:flex}.uNOdFq_railBrandName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-strong-14);color:var(--dsw-alias-label-primary);overflow:hidden}.uNOdFq_railTopSpacer{margin-left:auto}.uNOdFq_bodyCollapsed .uNOdFq_railTop{justify-content:center;padding:0 14px}.uNOdFq_bodyCollapsed .uNOdFq_railBrand,.uNOdFq_bodyCollapsed .uNOdFq_railTopSpacer{display:none}.uNOdFq_sectionHeader{box-sizing:border-box;height:36px;color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:4px;padding:0 0 0 4px;display:flex}.uNOdFq_sectionName{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-s-14);color:var(--dsw-alias-label-tertiary);line-height:20px;overflow:hidden}.uNOdFq_sectionActions{align-items:center;gap:4px;margin-left:auto;padding-right:8px;display:flex}.uNOdFq_iconButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.uNOdFq_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.uNOdFq_iconButton:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.uNOdFq_iconButton:disabled{opacity:.4;cursor:default}.uNOdFq_treeScroll{flex:auto;min-height:0;padding:0 8px 12px;overflow:auto}.uNOdFq_searchBox{flex:none;margin:0 0 8px;padding:10px 12px 0}.uNOdFq_searchBox>span{box-sizing:border-box;width:100%;margin:0 2px;display:flex}.uNOdFq_menu{flex-direction:column;flex:none;gap:4px;margin:0 0 8px;padding:0 12px;display:flex}.uNOdFq_menuFolded{flex-direction:column;flex:none;gap:4px;margin:0 0 8px;padding:0 8px;display:flex}.uNOdFq_menuFolded .uNOdFq_menuRow,.uNOdFq_menuFolded .uNOdFq_menuRowActive{justify-content:center;padding:7px 0}.uNOdFq_menuRow,.uNOdFq_menuRowActive{box-sizing:border-box;border-radius:var(--dsw-radius-md);min-height:36px;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin:0 2px;padding:7px 8px;line-height:22px;display:flex}.uNOdFq_menuRow:hover,.uNOdFq_menuRowActive:hover{background:var(--dsw-alias-interactive-bg-hover)}.uNOdFq_menuRowActive{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.uNOdFq_menuRow:focus-visible,.uNOdFq_menuRowActive:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.uNOdFq_menuGlyph{flex:none;justify-content:center;align-items:center;display:inline-flex}.uNOdFq_menuLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uNOdFq_railBody{flex-direction:column;flex:auto;min-height:0;padding:0 8px 12px;display:flex;overflow:auto}.uNOdFq_pinnedBand{flex-direction:column;flex:none;max-height:180px;display:flex;overflow-y:auto}.uNOdFq_treeBand{flex-direction:column;flex:auto;min-height:0;display:flex}.uNOdFq_treeFilter{flex:none;padding:0 0 8px}.uNOdFq_treeFilter>span{box-sizing:border-box;width:100%;display:flex}.uNOdFq_contentColumn{flex-direction:column;min-width:0;min-height:0;display:flex}.uNOdFq_content{flex:auto;min-width:0;min-height:0;padding:16px 24px 20px;overflow:auto}.uNOdFq_header{border-bottom:.5px solid var(--dsw-alias-border-l3);flex-flow:wrap;flex:none;align-items:center;gap:8px 12px;padding:16px 14px 8px 24px;display:flex}.uNOdFq_headerActions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.uNOdFq_headerTitle{min-width:0;min-height:28px;font:var(--dsw-font-base-strong-16);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:flex-end;margin:0;display:flex;overflow:hidden}.uNOdFq_headerFact{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);white-space:nowrap;align-items:center;gap:6px;margin:0;display:flex;overflow:hidden}.uNOdFq_headerPath{font:var(--dsw-font-xxs-12) var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_headerHint{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);flex-basis:100%;margin:0}.uNOdFq_surface{flex-direction:column;align-items:flex-start;gap:12px;max-width:900px;display:flex}.uNOdFq_tableSurface{align-items:stretch;width:100%;min-width:0;max-width:none}.uNOdFq_tableSurface table{width:100%}.uNOdFq_tableSurface th:last-child,.uNOdFq_tableSurface td:last-child{text-align:right;white-space:nowrap}.uNOdFq_tableSurface td[colspan]{text-align:center;white-space:normal;padding:24px 16px}.uNOdFq_title{font:var(--dsw-font-base-strong-16);margin:0}.uNOdFq_subhead{font:var(--dsw-font-s-strong-14);margin:8px 0 0}.uNOdFq_muted{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_error{color:var(--dsw-alias-state-error-primary,#c0392b);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_notice{color:var(--dsw-alias-state-success-primary,#1a7f37);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_empty{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);flex-direction:column;align-items:center;padding:48px 20px;display:flex}.uNOdFq_emptyGlyph{color:var(--dsw-alias-label-caption);margin-bottom:12px}.uNOdFq_emptyTitle{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);margin:0;line-height:1.6}.uNOdFq_factDot{opacity:.6}.uNOdFq_hits{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.uNOdFq_hit,.uNOdFq_hitActive{box-sizing:border-box;border-radius:var(--dsw-radius-md,8px);width:100%;color:var(--dsw-alias-label-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;gap:2px 10px;padding:8px 10px;display:grid}.uNOdFq_hit:hover,.uNOdFq_hitActive{background:var(--dsw-alias-interactive-bg-hover)}.uNOdFq_hitName{font:var(--dsw-font-xs-strong-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_hitPath{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uNOdFq_hitTime{color:var(--dsw-alias-label-tertiary,var(--dsw-alias-label-secondary));font:var(--dsw-font-xxs-12);grid-column:1/-1}.uNOdFq_hitLine{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12) var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;gap:8px;display:flex;overflow:hidden}.uNOdFq_hitLineNo{text-align:right;opacity:.7;flex:none;min-width:2.5em}.uNOdFq_path{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12) var(--ds-font-family-code);overflow-wrap:anywhere;margin:0}.uNOdFq_preview{border:1px solid var(--dsw-alias-border-l1,#0000001f);border-radius:var(--dsw-radius-md,8px);background:var(--dsw-alias-bg-layer-2);font:var(--dsw-font-xs-13) var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;max-height:calc(100vh - 160px);margin:0;padding:12px;line-height:1.55;overflow:auto}.uNOdFq_pairs{flex-direction:column;gap:6px;margin:0;display:flex}.uNOdFq_pair{font:var(--dsw-font-xs-13);gap:12px;display:flex}.uNOdFq_pair dt{min-width:6.5em;color:var(--dsw-alias-label-secondary);flex:none}.uNOdFq_pair dd{overflow-wrap:anywhere;margin:0}.uNOdFq_form{border:.5px solid var(--dsw-alias-border-l1);border-radius:var(--dsw-radius-md);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px;display:flex}.uNOdFq_field{flex-direction:column;gap:4px;min-width:0;display:flex}.uNOdFq_field>span{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12)}.uNOdFq_input{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);min-width:10em;height:32px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);padding:0 10px}.uNOdFq_input:focus-visible{border-color:var(--dsw-alias-state-business-primary);outline:none}.uNOdFq_retry{border-radius:var(--dsw-radius-sm);border:1px solid var(--dsw-alias-border-l2);min-height:32px;font:var(--dsw-font-xxs-12);cursor:pointer;color:var(--dsw-alias-label-primary);background:0 0;align-self:flex-start;padding:4px 14px}.uNOdFq_retry:disabled{opacity:.55;cursor:default}.uNOdFq_table{border-collapse:collapse;width:100%;font:var(--dsw-font-xxs-12)}.uNOdFq_table th,.uNOdFq_table td{text-align:left;border-bottom:.5px solid var(--dsw-alias-border-l2);padding:6px 8px}.uNOdFq_table th{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12)}.uNOdFq_previewLayout{align-items:flex-start;gap:12px;width:100%;min-width:0;display:flex}.uNOdFq_previewColumn{flex-direction:column;flex:auto;align-items:flex-start;gap:12px;min-width:0;max-width:900px;display:flex}.uNOdFq_openedElsewhere{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:240px;display:flex}.uNOdFq_bodyDocument{grid-template-columns:280px}.uNOdFq_bodyCollapsed.uNOdFq_bodyDocument{grid-template-columns:56px}.uNOdFq_surface+.uNOdFq_surface{border-top:1px solid var(--dsw-alias-border-l1);margin-top:20px;padding-top:24px}.uNOdFq_surface+.uNOdFq_surface>.uNOdFq_subhead{margin-top:0}.uNOdFq_referenceNote{z-index:20;border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);max-width:420px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);box-shadow:var(--dsw-shadow-lv2);align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex;position:fixed;inset-block-end:16px;inset-inline-start:16px}.uNOdFq_referenceNoteDismiss{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);cursor:pointer;background:0 0;border:0;flex:none;padding:0 2px;line-height:1}.uNOdFq_referenceNoteDismiss:hover{color:var(--dsw-alias-label-primary)}.uNOdFq_menuGroupLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);padding:6px 10px 2px;display:block}.uNOdFq_menuSeparator{border-top:.5px solid var(--dsw-alias-border-l2);height:0;margin:4px 6px;display:block}.uNOdFq_errorPanel{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:10px;min-height:0;padding:48px 24px;display:flex}.uNOdFq_errorGlyph{background:var(--dsw-alias-fill-l2,#f2f3f5);width:40px;height:40px;color:var(--dsw-alias-state-error-primary,#c0392b);border-radius:50%;place-items:center;display:grid}.uNOdFq_errorTitle{color:var(--dsw-alias-label-primary);font:var(--dsw-font-m-16,600 16px/24px);margin:0}.uNOdFq_errorDetail{max-width:420px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);margin:0}.uNOdFq_errorPanel .uNOdFq_retry{align-self:center;margin-top:6px}";
|
|
2485
|
+
const tagId$19 = "@sparkelf/dsh-knowledge-base/KnowledgePanel.module.css";
|
|
2486
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$19) + "]") === null) {
|
|
2472
2487
|
const tag = document.createElement("style");
|
|
2473
2488
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
2474
|
-
tag.dataset.pluginCss = tagId$
|
|
2475
|
-
tag.textContent = css$
|
|
2489
|
+
tag.dataset.pluginCss = tagId$19;
|
|
2490
|
+
tag.textContent = css$19;
|
|
2476
2491
|
document.head.appendChild(tag);
|
|
2477
2492
|
}
|
|
2478
2493
|
var KnowledgePanel_module_css_default = {
|
|
2479
|
-
"sectionName": "uNOdFq_sectionName",
|
|
2480
|
-
"railBody": "uNOdFq_railBody",
|
|
2481
|
-
"headerActions": "uNOdFq_headerActions",
|
|
2482
|
-
"openedElsewhere": "uNOdFq_openedElsewhere",
|
|
2483
|
-
"body": "uNOdFq_body",
|
|
2484
|
-
"iconButton": "uNOdFq_iconButton",
|
|
2485
|
-
"pinnedBand": "uNOdFq_pinnedBand",
|
|
2486
|
-
"emptyGlyph": "uNOdFq_emptyGlyph",
|
|
2487
|
-
"muted": "uNOdFq_muted",
|
|
2488
2494
|
"notice": "uNOdFq_notice",
|
|
2489
|
-
"
|
|
2490
|
-
"errorDetail": "uNOdFq_errorDetail",
|
|
2491
|
-
"sectionActions": "uNOdFq_sectionActions",
|
|
2492
|
-
"hitActive": "uNOdFq_hitActive",
|
|
2493
|
-
"factDot": "uNOdFq_factDot",
|
|
2494
|
-
"pairs": "uNOdFq_pairs",
|
|
2495
|
-
"previewColumn": "uNOdFq_previewColumn",
|
|
2496
|
-
"subhead": "uNOdFq_subhead",
|
|
2497
|
-
"railTop": "uNOdFq_railTop",
|
|
2498
|
-
"headerPath": "uNOdFq_headerPath",
|
|
2499
|
-
"menuGroupLabel": "uNOdFq_menuGroupLabel",
|
|
2500
|
-
"errorTitle": "uNOdFq_errorTitle",
|
|
2495
|
+
"treeBand": "uNOdFq_treeBand",
|
|
2501
2496
|
"header": "uNOdFq_header",
|
|
2502
|
-
"
|
|
2497
|
+
"menuRow": "uNOdFq_menuRow",
|
|
2498
|
+
"pair": "uNOdFq_pair",
|
|
2503
2499
|
"treeScroll": "uNOdFq_treeScroll",
|
|
2504
|
-
"searchBox": "uNOdFq_searchBox",
|
|
2505
|
-
"input": "uNOdFq_input",
|
|
2506
|
-
"field": "uNOdFq_field",
|
|
2507
2500
|
"menu": "uNOdFq_menu",
|
|
2508
|
-
"
|
|
2509
|
-
"
|
|
2510
|
-
"
|
|
2511
|
-
"
|
|
2512
|
-
"
|
|
2513
|
-
"retry": "uNOdFq_retry",
|
|
2501
|
+
"body": "uNOdFq_body",
|
|
2502
|
+
"sectionActions": "uNOdFq_sectionActions",
|
|
2503
|
+
"contentColumn": "uNOdFq_contentColumn",
|
|
2504
|
+
"headerFact": "uNOdFq_headerFact",
|
|
2505
|
+
"hitTime": "uNOdFq_hitTime",
|
|
2514
2506
|
"table": "uNOdFq_table",
|
|
2515
|
-
"bodyCollapsed": "uNOdFq_bodyCollapsed",
|
|
2516
|
-
"hitLine": "uNOdFq_hitLine",
|
|
2517
|
-
"menuGlyph": "uNOdFq_menuGlyph",
|
|
2518
2507
|
"hitPath": "uNOdFq_hitPath",
|
|
2519
|
-
"
|
|
2520
|
-
"
|
|
2508
|
+
"openedElsewhere": "uNOdFq_openedElsewhere",
|
|
2509
|
+
"bodyDocument": "uNOdFq_bodyDocument",
|
|
2521
2510
|
"previewLayout": "uNOdFq_previewLayout",
|
|
2522
|
-
"
|
|
2523
|
-
"
|
|
2511
|
+
"menuSeparator": "uNOdFq_menuSeparator",
|
|
2512
|
+
"menuGlyph": "uNOdFq_menuGlyph",
|
|
2513
|
+
"errorPanel": "uNOdFq_errorPanel",
|
|
2514
|
+
"headerActions": "uNOdFq_headerActions",
|
|
2515
|
+
"rail": "uNOdFq_rail",
|
|
2516
|
+
"error": "uNOdFq_error",
|
|
2517
|
+
"page": "uNOdFq_page",
|
|
2518
|
+
"menuRowActive": "uNOdFq_menuRowActive",
|
|
2519
|
+
"errorDetail": "uNOdFq_errorDetail",
|
|
2520
|
+
"sectionHeader": "uNOdFq_sectionHeader",
|
|
2521
|
+
"content": "uNOdFq_content",
|
|
2522
|
+
"input": "uNOdFq_input",
|
|
2523
|
+
"emptyGlyph": "uNOdFq_emptyGlyph",
|
|
2524
|
+
"iconButton": "uNOdFq_iconButton",
|
|
2525
|
+
"muted": "uNOdFq_muted",
|
|
2526
|
+
"menuFolded": "uNOdFq_menuFolded",
|
|
2527
|
+
"hits": "uNOdFq_hits",
|
|
2528
|
+
"bodyCollapsed": "uNOdFq_bodyCollapsed",
|
|
2524
2529
|
"treeFilter": "uNOdFq_treeFilter",
|
|
2525
|
-
"
|
|
2526
|
-
"menuRow": "uNOdFq_menuRow",
|
|
2527
|
-
"headerFact": "uNOdFq_headerFact",
|
|
2528
|
-
"empty": "uNOdFq_empty",
|
|
2529
|
-
"treeBand": "uNOdFq_treeBand",
|
|
2530
|
-
"tableSurface": "uNOdFq_tableSurface",
|
|
2531
|
-
"bodyDocument": "uNOdFq_bodyDocument",
|
|
2530
|
+
"referenceNote": "uNOdFq_referenceNote",
|
|
2532
2531
|
"hitName": "uNOdFq_hitName",
|
|
2532
|
+
"errorGlyph": "uNOdFq_errorGlyph",
|
|
2533
|
+
"headerTitle": "uNOdFq_headerTitle",
|
|
2534
|
+
"pinnedBand": "uNOdFq_pinnedBand",
|
|
2535
|
+
"field": "uNOdFq_field",
|
|
2536
|
+
"railTop": "uNOdFq_railTop",
|
|
2537
|
+
"title": "uNOdFq_title",
|
|
2533
2538
|
"surface": "uNOdFq_surface",
|
|
2534
|
-
"
|
|
2539
|
+
"hitLine": "uNOdFq_hitLine",
|
|
2535
2540
|
"path": "uNOdFq_path",
|
|
2541
|
+
"railBrandName": "uNOdFq_railBrandName",
|
|
2536
2542
|
"menuLabel": "uNOdFq_menuLabel",
|
|
2537
|
-
"
|
|
2538
|
-
"
|
|
2539
|
-
"
|
|
2543
|
+
"previewColumn": "uNOdFq_previewColumn",
|
|
2544
|
+
"empty": "uNOdFq_empty",
|
|
2545
|
+
"form": "uNOdFq_form",
|
|
2546
|
+
"headerHint": "uNOdFq_headerHint",
|
|
2547
|
+
"retry": "uNOdFq_retry",
|
|
2548
|
+
"factDot": "uNOdFq_factDot",
|
|
2549
|
+
"menuGroupLabel": "uNOdFq_menuGroupLabel",
|
|
2550
|
+
"railBody": "uNOdFq_railBody",
|
|
2540
2551
|
"hit": "uNOdFq_hit",
|
|
2541
|
-
"
|
|
2552
|
+
"tableSurface": "uNOdFq_tableSurface",
|
|
2553
|
+
"railBrand": "uNOdFq_railBrand",
|
|
2554
|
+
"emptyTitle": "uNOdFq_emptyTitle",
|
|
2542
2555
|
"hitLineNo": "uNOdFq_hitLineNo",
|
|
2543
|
-
"
|
|
2544
|
-
"
|
|
2545
|
-
"
|
|
2546
|
-
"
|
|
2547
|
-
"page": "uNOdFq_page",
|
|
2556
|
+
"referenceNoteDismiss": "uNOdFq_referenceNoteDismiss",
|
|
2557
|
+
"pairs": "uNOdFq_pairs",
|
|
2558
|
+
"errorTitle": "uNOdFq_errorTitle",
|
|
2559
|
+
"railTopSpacer": "uNOdFq_railTopSpacer",
|
|
2548
2560
|
"preview": "uNOdFq_preview",
|
|
2549
|
-
"
|
|
2550
|
-
"
|
|
2561
|
+
"hitActive": "uNOdFq_hitActive",
|
|
2562
|
+
"headerPath": "uNOdFq_headerPath",
|
|
2563
|
+
"subhead": "uNOdFq_subhead",
|
|
2564
|
+
"sectionName": "uNOdFq_sectionName",
|
|
2565
|
+
"searchBox": "uNOdFq_searchBox"
|
|
2551
2566
|
};
|
|
2552
2567
|
//#endregion
|
|
2553
2568
|
//#region src/client/KnowledgePermissions.tsx
|
|
@@ -3052,24 +3067,24 @@ window.__ModuleLoader__.load({
|
|
|
3052
3067
|
}
|
|
3053
3068
|
//#endregion
|
|
3054
3069
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeLoading.module.css.mjs
|
|
3055
|
-
const css$
|
|
3056
|
-
const tagId$
|
|
3057
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
3070
|
+
const css$18 = ".HyIQta_wrap{box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;min-height:120px;padding:16px;display:flex}.HyIQta_book{perspective:320px;perspective-origin:50%;display:block;overflow:visible}.HyIQta_coverBack{fill:var(--dsw-alias-bg-layer-1);stroke:var(--dsw-alias-border-l3);stroke-width:1px}.HyIQta_pagesLeft,.HyIQta_pagesRight{fill:var(--dsw-alias-label-secondary);opacity:.22}.HyIQta_pagesLeft,.HyIQta_pagesRight,.HyIQta_leaf{stroke:var(--dsw-alias-border-l3);stroke-width:.75px}.HyIQta_leaf{fill:var(--dsw-alias-label-secondary);opacity:.42;transform-origin:32px 24px;transform-box:view-box;animation:HyIQta_kb-page-turn 1.6s var(--ds-ease-in-out) infinite;backface-visibility:hidden}@keyframes HyIQta_kb-page-turn{0%,12%{opacity:.42;transform:rotateY(0)}46%{opacity:.24;transform:rotateY(-168deg)}58%,to{opacity:0;transform:rotateY(-180deg)}}.HyIQta_label{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);text-align:center;margin:0}.HyIQta_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){.HyIQta_leaf{opacity:.42;animation:none;transform:rotateY(-28deg)}}";
|
|
3071
|
+
const tagId$18 = "@sparkelf/dsh-knowledge-base/KnowledgeLoading.module.css";
|
|
3072
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$18) + "]") === null) {
|
|
3058
3073
|
const tag = document.createElement("style");
|
|
3059
3074
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
3060
|
-
tag.dataset.pluginCss = tagId$
|
|
3061
|
-
tag.textContent = css$
|
|
3075
|
+
tag.dataset.pluginCss = tagId$18;
|
|
3076
|
+
tag.textContent = css$18;
|
|
3062
3077
|
document.head.appendChild(tag);
|
|
3063
3078
|
}
|
|
3064
3079
|
var KnowledgeLoading_module_css_default = {
|
|
3065
|
-
"
|
|
3066
|
-
"
|
|
3080
|
+
"kb-page-turn": "HyIQta_kb-page-turn",
|
|
3081
|
+
"srOnly": "HyIQta_srOnly",
|
|
3067
3082
|
"book": "HyIQta_book",
|
|
3068
|
-
"wrap": "HyIQta_wrap",
|
|
3069
3083
|
"pagesLeft": "HyIQta_pagesLeft",
|
|
3070
3084
|
"label": "HyIQta_label",
|
|
3071
|
-
"
|
|
3072
|
-
"
|
|
3085
|
+
"leaf": "HyIQta_leaf",
|
|
3086
|
+
"wrap": "HyIQta_wrap",
|
|
3087
|
+
"pagesRight": "HyIQta_pagesRight",
|
|
3073
3088
|
"coverBack": "HyIQta_coverBack"
|
|
3074
3089
|
};
|
|
3075
3090
|
//#endregion
|
|
@@ -3326,10 +3341,6 @@ window.__ModuleLoader__.load({
|
|
|
3326
3341
|
if (column?.isExpanded?.() === true) column.toggleExpanded?.();
|
|
3327
3342
|
} catch {}
|
|
3328
3343
|
}
|
|
3329
|
-
/** Whether a failure means the host's right column is simply not on this profile. */
|
|
3330
|
-
function isHostMissing(outcome) {
|
|
3331
|
-
return outcome === "no-context" || outcome === "no-registry" || outcome === "no-column";
|
|
3332
|
-
}
|
|
3333
3344
|
//#endregion
|
|
3334
3345
|
//#region src/client/saveAudit.ts
|
|
3335
3346
|
/**
|
|
@@ -3652,113 +3663,113 @@ window.__ModuleLoader__.load({
|
|
|
3652
3663
|
}
|
|
3653
3664
|
//#endregion
|
|
3654
3665
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeHome.module.css.mjs
|
|
3655
|
-
const css$
|
|
3656
|
-
const tagId$
|
|
3657
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
3666
|
+
const css$17 = ".oNvFBa_home{flex-direction:column;gap:16px;min-width:0;display:flex}.oNvFBa_cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:13.5px;display:grid}.oNvFBa_cardSlot{min-width:0;position:relative}.oNvFBa_card{box-sizing:border-box;text-align:left;border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);width:100%;height:63px;color:var(--dsw-alias-label-primary);cursor:pointer;flex-direction:row;align-items:center;gap:14px;padding:0 9px 0 13px;display:flex}.oNvFBa_card:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.oNvFBa_card[data-open=true]{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.oNvFBa_card:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}.oNvFBa_card:disabled{opacity:.4;cursor:default}.oNvFBa_cardPlate{border-radius:var(--dsw-radius-sm);width:24px;height:24px;color:var(--dsw-alias-label-primary-foreground);flex:none;justify-content:center;align-items:center;display:inline-flex}.oNvFBa_cardPlate[data-tone=blue]{background:var(--dsw-static-blue-500)}.oNvFBa_cardPlate[data-tone=amber]{background:var(--dsw-static-amber-500)}.oNvFBa_cardPlate[data-tone=deepseek]{background:var(--dsw-static-deepseek-500)}.oNvFBa_cardText{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.oNvFBa_cardTitle{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.oNvFBa_cardBody{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);text-overflow:ellipsis;white-space:nowrap;line-height:1.5;overflow:hidden}.oNvFBa_cardChevron{color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;display:inline-flex}.oNvFBa_cardMenu{z-index:2;border:.5px solid var(--dsw-alias-border-l3);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0}.oNvFBa_cardMenuItem{box-sizing:border-box;border-radius:var(--dsw-radius-sm);width:100%;min-height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px 8px;display:flex}.oNvFBa_cardMenuItem:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.oNvFBa_cardMenuItem:disabled{color:var(--dsw-alias-label-tertiary);cursor:default}.oNvFBa_table{border-collapse:collapse;width:100%}.oNvFBa_table th{text-align:left;font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary);border-bottom:.5px solid var(--dsw-alias-border-l2);white-space:nowrap;padding:6px 10px}.oNvFBa_table td{border-bottom:.5px solid var(--dsw-alias-border-l1);font:var(--dsw-font-xxs-12);vertical-align:middle;padding:7px 10px}.oNvFBa_table tr:last-child td{border-bottom:none}.oNvFBa_rowLink{color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:0;overflow:hidden}.oNvFBa_rowLink:hover{color:var(--dsw-alias-link)}.oNvFBa_rowLink:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:2px}.oNvFBa_muted{color:var(--dsw-alias-label-tertiary)}.oNvFBa_emptyRow td{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);padding:18px}.oNvFBa_hiddenInput{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.oNvFBa_titleCell{align-items:center;gap:4px;min-width:0;display:flex}.oNvFBa_favoriteMark{color:var(--dsw-static-amber-500);font:var(--dsw-font-xxs-12);flex:none}.oNvFBa_dropZone{border-radius:var(--dsw-radius-md);border:1px dashed #0000;transition:border-color .12s,background-color .12s}.oNvFBa_dropZoneActive{border-color:var(--dsw-alias-brand-primary);background:var(--dsw-alias-bg-layer-2)}.oNvFBa_shareWrap{flex-direction:column;gap:12px;display:flex}.oNvFBa_shareBlock{flex-direction:column;gap:8px;display:flex}.oNvFBa_shareEmpty{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-sm-13);margin:0;padding:12px 0}.oNvFBa_shareError{color:var(--dsw-alias-label-error);font:var(--dsw-font-sm-13);margin:0;padding:8px 0}.oNvFBa_sharePager{justify-content:flex-end;align-items:center;gap:8px;display:flex}.oNvFBa_table{table-layout:fixed}.oNvFBa_colTitle{width:42%}.oNvFBa_colLocation{width:18%}.oNvFBa_colOwner{width:10%}.oNvFBa_colTime{width:11%}.oNvFBa_colActions{width:96px}.oNvFBa_actionsCell{padding:0 6px}.oNvFBa_rowActions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.oNvFBa_iconButton,.oNvFBa_iconButtonOn,.oNvFBa_iconButtonDanger{border-radius:var(--dsw-radius-sm);width:24px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.oNvFBa_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.oNvFBa_iconButtonOn{color:var(--dsw-alias-state-warn-primary)}.oNvFBa_iconButtonOn:hover{background:var(--dsw-alias-interactive-bg-hover)}.oNvFBa_iconButtonDanger{color:var(--dsw-alias-label-tertiary)}.oNvFBa_iconButtonDanger:hover{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.oNvFBa_iconButton:focus-visible,.oNvFBa_iconButtonOn:focus-visible,.oNvFBa_iconButtonDanger:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.oNvFBa_iconButtonDanger:disabled,.oNvFBa_iconButton:disabled{opacity:.5;cursor:default}.oNvFBa_docPager{justify-content:flex-end;align-items:center;gap:8px;padding-top:8px;display:flex}";
|
|
3667
|
+
const tagId$17 = "@sparkelf/dsh-knowledge-base/KnowledgeHome.module.css";
|
|
3668
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$17) + "]") === null) {
|
|
3658
3669
|
const tag = document.createElement("style");
|
|
3659
3670
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
3660
|
-
tag.dataset.pluginCss = tagId$
|
|
3661
|
-
tag.textContent = css$
|
|
3671
|
+
tag.dataset.pluginCss = tagId$17;
|
|
3672
|
+
tag.textContent = css$17;
|
|
3662
3673
|
document.head.appendChild(tag);
|
|
3663
3674
|
}
|
|
3664
3675
|
var KnowledgeHome_module_css_default = {
|
|
3665
|
-
"
|
|
3666
|
-
"
|
|
3667
|
-
"
|
|
3668
|
-
"
|
|
3676
|
+
"home": "oNvFBa_home",
|
|
3677
|
+
"dropZone": "oNvFBa_dropZone",
|
|
3678
|
+
"shareWrap": "oNvFBa_shareWrap",
|
|
3679
|
+
"muted": "oNvFBa_muted",
|
|
3680
|
+
"cardTitle": "oNvFBa_cardTitle",
|
|
3681
|
+
"hiddenInput": "oNvFBa_hiddenInput",
|
|
3669
3682
|
"rowActions": "oNvFBa_rowActions",
|
|
3670
|
-
"
|
|
3683
|
+
"card": "oNvFBa_card",
|
|
3684
|
+
"colOwner": "oNvFBa_colOwner",
|
|
3685
|
+
"iconButton": "oNvFBa_iconButton",
|
|
3686
|
+
"cardBody": "oNvFBa_cardBody",
|
|
3687
|
+
"dropZoneActive": "oNvFBa_dropZoneActive",
|
|
3688
|
+
"emptyRow": "oNvFBa_emptyRow",
|
|
3671
3689
|
"actionsCell": "oNvFBa_actionsCell",
|
|
3690
|
+
"colLocation": "oNvFBa_colLocation",
|
|
3672
3691
|
"sharePager": "oNvFBa_sharePager",
|
|
3692
|
+
"colActions": "oNvFBa_colActions",
|
|
3673
3693
|
"iconButtonDanger": "oNvFBa_iconButtonDanger",
|
|
3694
|
+
"cards": "oNvFBa_cards",
|
|
3674
3695
|
"shareEmpty": "oNvFBa_shareEmpty",
|
|
3675
|
-
"
|
|
3676
|
-
"
|
|
3677
|
-
"
|
|
3696
|
+
"colTime": "oNvFBa_colTime",
|
|
3697
|
+
"docPager": "oNvFBa_docPager",
|
|
3698
|
+
"cardMenu": "oNvFBa_cardMenu",
|
|
3699
|
+
"rowLink": "oNvFBa_rowLink",
|
|
3700
|
+
"shareError": "oNvFBa_shareError",
|
|
3678
3701
|
"cardMenuItem": "oNvFBa_cardMenuItem",
|
|
3702
|
+
"colTitle": "oNvFBa_colTitle",
|
|
3679
3703
|
"iconButtonOn": "oNvFBa_iconButtonOn",
|
|
3680
|
-
"
|
|
3681
|
-
"shareBlock": "oNvFBa_shareBlock",
|
|
3704
|
+
"table": "oNvFBa_table",
|
|
3682
3705
|
"titleCell": "oNvFBa_titleCell",
|
|
3683
|
-
"
|
|
3684
|
-
"
|
|
3685
|
-
"colTitle": "oNvFBa_colTitle",
|
|
3686
|
-
"cards": "oNvFBa_cards",
|
|
3687
|
-
"cardPlate": "oNvFBa_cardPlate",
|
|
3706
|
+
"favoriteMark": "oNvFBa_favoriteMark",
|
|
3707
|
+
"cardSlot": "oNvFBa_cardSlot",
|
|
3688
3708
|
"cardChevron": "oNvFBa_cardChevron",
|
|
3689
|
-
"
|
|
3690
|
-
"
|
|
3691
|
-
"hiddenInput": "oNvFBa_hiddenInput",
|
|
3692
|
-
"card": "oNvFBa_card",
|
|
3693
|
-
"emptyRow": "oNvFBa_emptyRow",
|
|
3694
|
-
"cardBody": "oNvFBa_cardBody",
|
|
3695
|
-
"colOwner": "oNvFBa_colOwner",
|
|
3696
|
-
"shareWrap": "oNvFBa_shareWrap",
|
|
3697
|
-
"table": "oNvFBa_table",
|
|
3698
|
-
"cardTitle": "oNvFBa_cardTitle",
|
|
3699
|
-
"rowLink": "oNvFBa_rowLink",
|
|
3709
|
+
"cardPlate": "oNvFBa_cardPlate",
|
|
3710
|
+
"shareBlock": "oNvFBa_shareBlock",
|
|
3700
3711
|
"cardText": "oNvFBa_cardText"
|
|
3701
3712
|
};
|
|
3702
3713
|
//#endregion
|
|
3703
3714
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeTemplates.module.css.mjs
|
|
3704
|
-
const css$
|
|
3705
|
-
const tagId$
|
|
3706
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
3715
|
+
const css$16 = ".Tg9J7q_dialog{flex-direction:column;gap:12px;min-width:0;min-height:600px;display:flex}.Tg9J7q_toolbar{align-items:center;gap:8px;display:flex}.Tg9J7q_toolbar>:last-child{flex:auto;min-width:0}.Tg9J7q_notice{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);margin:0;padding:6px 8px}.Tg9J7q_muted{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);margin:0;padding:12px 0}.Tg9J7q_library{flex-direction:column;gap:12px;min-height:0;display:flex}.Tg9J7q_destination{flex-direction:column;gap:6px;display:flex}.Tg9J7q_destinationLabel{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.Tg9J7q_grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(58vh,600px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.Tg9J7q_card{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);align-items:center;gap:14px;min-height:104px;padding:10px;display:flex;position:relative}.Tg9J7q_cover{border-radius:var(--dsw-radius-sm);background:linear-gradient(135deg, var(--dsw-alias-bg-layer-1), var(--dsw-alias-bg-layer-2));border:1px solid var(--dsw-alias-border-l1);flex:0 0 108px;justify-content:center;align-items:center;width:108px;height:82px;display:flex}.Tg9J7q_cardMain{flex:auto;min-width:0}.Tg9J7q_cardActions{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-1);opacity:0;gap:4px;padding:4px;transition:opacity .12s,transform .12s;display:flex;position:absolute;bottom:10px;right:10px;transform:translateY(3px)}.Tg9J7q_card:hover .Tg9J7q_cardActions,.Tg9J7q_card:focus-within .Tg9J7q_cardActions{opacity:1;transform:translateY(0)}@media (hover:none){.Tg9J7q_cardActions{opacity:1;transform:none}}@media (width<=760px){.Tg9J7q_grid{grid-template-columns:minmax(0,1fr)}}.Tg9J7q_cardHead{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.Tg9J7q_cardTitle{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-13);font-weight:600;display:block;overflow:hidden}.Tg9J7q_cardBody{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.Tg9J7q_cardTags{flex-wrap:wrap;gap:4px;display:flex}.Tg9J7q_cardFoot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.Tg9J7q_cardMeta{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;overflow:hidden}.Tg9J7q_manage{flex-direction:column;gap:10px;max-height:52vh;display:flex;overflow-y:auto}.Tg9J7q_manageBar{justify-content:flex-end;display:flex}.Tg9J7q_manageList{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.Tg9J7q_manageRow{border-radius:var(--dsw-radius-sm);align-items:center;gap:10px;padding:6px 8px;display:flex}.Tg9J7q_manageRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.Tg9J7q_manageName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);flex:auto;overflow:hidden}.Tg9J7q_manageActions{flex:none;gap:4px;display:inline-flex}.Tg9J7q_form{flex-direction:column;gap:10px;display:flex}.Tg9J7q_field{flex-direction:column;gap:4px;min-width:0;display:flex}.Tg9J7q_fieldLabel{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.Tg9J7q_fieldHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11)}.Tg9J7q_fileInput{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.Tg9J7q_formActions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.Tg9J7q_modal{width:min(1180px,100vw - 32px);min-height:min(720px,86vh);max-height:min(860px,90vh)}.Tg9J7q_footer{justify-content:flex-end;gap:8px;width:100%;display:flex}.Tg9J7q_quickFilters{align-items:center;gap:4px;display:flex}.Tg9J7q_quickFilter{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm);height:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;padding:0 10px}.Tg9J7q_quickFilter:hover,.Tg9J7q_quickFilter[data-active=true]{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}.Tg9J7q_grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));max-height:min(52vh,560px)}.Tg9J7q_card{min-height:174px;padding:12px}.Tg9J7q_cardHead{align-items:center}.Tg9J7q_cardIcon{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-1);flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.Tg9J7q_cardTitle{flex:auto}.Tg9J7q_favorite{border-radius:var(--dsw-radius-sm);width:24px;height:24px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-base-strong-16);cursor:pointer;background:0 0;border:0;flex:none;padding:0;line-height:1}.Tg9J7q_favorite:hover,.Tg9J7q_favorite[aria-pressed=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-business-primary)}.Tg9J7q_formActions{justify-content:flex-end}.Tg9J7q_categoryFilters{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.Tg9J7q_categoryChip{border-radius:var(--dsw-radius-sm);height:24px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:0;padding:0 8px}.Tg9J7q_categoryChip:hover,.Tg9J7q_categoryChip[data-active=true]{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}.Tg9J7q_previewModal{width:min(760px,100vw - 32px)}.Tg9J7q_previewContent{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);max-height:min(62vh,560px);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);font-family:var(--dsw-font-markdown-code);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;overflow:auto}.Tg9J7q_filterRow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.Tg9J7q_filterDivider{background:var(--dsw-alias-border-l2);width:1px;height:16px}.Tg9J7q_grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:12px;max-height:min(58vh,620px)}.Tg9J7q_card{isolation:isolate;flex-direction:column;align-items:stretch;gap:8px;min-height:248px;padding:0;display:flex;position:relative;overflow:hidden}.Tg9J7q_cardHead{z-index:4;box-sizing:border-box;align-items:center;gap:6px;width:100%;min-width:0;padding:12px 12px 0;display:flex;position:relative}.Tg9J7q_cardHead .Tg9J7q_cardTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);flex:auto;font-weight:600}.Tg9J7q_cover{z-index:0;background:linear-gradient(145deg, var(--dsw-alias-bg-layer-1), var(--dsw-alias-bg-layer-2));border:0;border-radius:0;flex:none;width:100%;height:100%;min-height:0;position:absolute;inset:0;overflow:hidden}.Tg9J7q_cover[data-template-kind=表格]{background:linear-gradient(145deg,#10b9812e,#10b9810d)}.Tg9J7q_cover[data-template-kind=PPT]{background:linear-gradient(145deg,#f59e0b33,#f59e0b0d)}.Tg9J7q_coverPage{background:#fffffff5;border-radius:3px 3px 0 0;padding:10px;position:absolute;inset:20% 14% 24%;overflow:hidden;box-shadow:0 8px 24px #0f172a2e}.Tg9J7q_documentPage{flex-direction:column;gap:5px;height:100%;display:flex}.Tg9J7q_documentPage b,.Tg9J7q_documentPage i{background:#d8dee9;border-radius:2px;height:5px;display:block}.Tg9J7q_documentPage b{background:#9aa8bd;width:54%;height:8px;margin-bottom:3px}.Tg9J7q_documentPage .Tg9J7q_lineWide{width:100%}.Tg9J7q_documentPage .Tg9J7q_lineShort{width:42%}.Tg9J7q_documentPage i:nth-child(2){width:88%}.Tg9J7q_documentPage i:nth-child(4){width:72%}.Tg9J7q_sheetGrid{grid-template-columns:repeat(3,1fr);gap:3px;height:100%;display:grid}.Tg9J7q_sheetGrid i{background:#f2faf6;border:1px solid #d8e9df;min-height:12px;display:block}.Tg9J7q_slidePage{background:linear-gradient(135deg,#fffaf0,#fff);flex-direction:column;justify-content:center;gap:8px;height:100%;padding:8px;display:flex}.Tg9J7q_slidePage b{background:#d9a441;border-radius:2px;width:68%;height:9px;display:block}.Tg9J7q_slidePage i{background:#e7d6b8;border-radius:2px;width:90%;height:5px;display:block}.Tg9J7q_cardFoot{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;z-index:3;justify-content:space-between;align-items:center;gap:8px;max-width:calc(100% - 134px);margin:0;padding:0;display:flex;position:absolute;bottom:10px;left:12px;right:auto}.Tg9J7q_cardActions{z-index:5;background:var(--dsw-alias-bg-layer-1);border:1px solid var(--dsw-alias-border-l2);justify-content:flex-end;position:absolute;bottom:10px;left:auto;right:12px;box-shadow:0 6px 18px #00000040}.Tg9J7q_card:hover .Tg9J7q_coverPage,.Tg9J7q_card:focus-within .Tg9J7q_coverPage{transition:transform .15s;transform:translateY(-2px)}";
|
|
3716
|
+
const tagId$16 = "@sparkelf/dsh-knowledge-base/KnowledgeTemplates.module.css";
|
|
3717
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$16) + "]") === null) {
|
|
3707
3718
|
const tag = document.createElement("style");
|
|
3708
3719
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
3709
|
-
tag.dataset.pluginCss = tagId$
|
|
3710
|
-
tag.textContent = css$
|
|
3720
|
+
tag.dataset.pluginCss = tagId$16;
|
|
3721
|
+
tag.textContent = css$16;
|
|
3711
3722
|
document.head.appendChild(tag);
|
|
3712
3723
|
}
|
|
3713
3724
|
var KnowledgeTemplates_module_css_default = {
|
|
3725
|
+
"coverPage": "Tg9J7q_coverPage",
|
|
3726
|
+
"filterDivider": "Tg9J7q_filterDivider",
|
|
3727
|
+
"manageActions": "Tg9J7q_manageActions",
|
|
3728
|
+
"documentPage": "Tg9J7q_documentPage",
|
|
3729
|
+
"cover": "Tg9J7q_cover",
|
|
3730
|
+
"manageName": "Tg9J7q_manageName",
|
|
3731
|
+
"fileInput": "Tg9J7q_fileInput",
|
|
3732
|
+
"previewModal": "Tg9J7q_previewModal",
|
|
3733
|
+
"manageBar": "Tg9J7q_manageBar",
|
|
3734
|
+
"previewContent": "Tg9J7q_previewContent",
|
|
3735
|
+
"dialog": "Tg9J7q_dialog",
|
|
3714
3736
|
"cardMeta": "Tg9J7q_cardMeta",
|
|
3715
|
-
"
|
|
3716
|
-
"
|
|
3717
|
-
"toolbar": "Tg9J7q_toolbar",
|
|
3718
|
-
"cardMain": "Tg9J7q_cardMain",
|
|
3737
|
+
"manageRow": "Tg9J7q_manageRow",
|
|
3738
|
+
"notice": "Tg9J7q_notice",
|
|
3719
3739
|
"cardTags": "Tg9J7q_cardTags",
|
|
3720
3740
|
"library": "Tg9J7q_library",
|
|
3721
|
-
"manageName": "Tg9J7q_manageName",
|
|
3722
|
-
"filterRow": "Tg9J7q_filterRow",
|
|
3723
|
-
"grid": "Tg9J7q_grid",
|
|
3724
|
-
"documentPage": "Tg9J7q_documentPage",
|
|
3725
|
-
"previewContent": "Tg9J7q_previewContent",
|
|
3726
|
-
"sheetGrid": "Tg9J7q_sheetGrid",
|
|
3727
|
-
"cardBody": "Tg9J7q_cardBody",
|
|
3728
3741
|
"manage": "Tg9J7q_manage",
|
|
3729
|
-
"
|
|
3742
|
+
"footer": "Tg9J7q_footer",
|
|
3730
3743
|
"quickFilter": "Tg9J7q_quickFilter",
|
|
3731
|
-
"
|
|
3732
|
-
"
|
|
3733
|
-
"
|
|
3734
|
-
"manageRow": "Tg9J7q_manageRow",
|
|
3735
|
-
"manageActions": "Tg9J7q_manageActions",
|
|
3736
|
-
"cardHead": "Tg9J7q_cardHead",
|
|
3737
|
-
"favorite": "Tg9J7q_favorite",
|
|
3738
|
-
"categoryFilters": "Tg9J7q_categoryFilters",
|
|
3739
|
-
"filterDivider": "Tg9J7q_filterDivider",
|
|
3740
|
-
"destinationLabel": "Tg9J7q_destinationLabel",
|
|
3741
|
-
"manageBar": "Tg9J7q_manageBar",
|
|
3744
|
+
"cardBody": "Tg9J7q_cardBody",
|
|
3745
|
+
"modal": "Tg9J7q_modal",
|
|
3746
|
+
"cardTitle": "Tg9J7q_cardTitle",
|
|
3742
3747
|
"fieldHint": "Tg9J7q_fieldHint",
|
|
3743
|
-
"
|
|
3744
|
-
"
|
|
3745
|
-
"
|
|
3746
|
-
"muted": "Tg9J7q_muted",
|
|
3748
|
+
"destinationLabel": "Tg9J7q_destinationLabel",
|
|
3749
|
+
"categoryChip": "Tg9J7q_categoryChip",
|
|
3750
|
+
"lineWide": "Tg9J7q_lineWide",
|
|
3747
3751
|
"cardActions": "Tg9J7q_cardActions",
|
|
3748
|
-
"destination": "Tg9J7q_destination",
|
|
3749
|
-
"manageList": "Tg9J7q_manageList",
|
|
3750
3752
|
"cardFoot": "Tg9J7q_cardFoot",
|
|
3751
|
-
"
|
|
3753
|
+
"card": "Tg9J7q_card",
|
|
3752
3754
|
"lineShort": "Tg9J7q_lineShort",
|
|
3753
|
-
"
|
|
3754
|
-
"
|
|
3755
|
-
"
|
|
3756
|
-
"
|
|
3755
|
+
"formActions": "Tg9J7q_formActions",
|
|
3756
|
+
"quickFilters": "Tg9J7q_quickFilters",
|
|
3757
|
+
"sheetGrid": "Tg9J7q_sheetGrid",
|
|
3758
|
+
"slidePage": "Tg9J7q_slidePage",
|
|
3759
|
+
"favorite": "Tg9J7q_favorite",
|
|
3760
|
+
"grid": "Tg9J7q_grid",
|
|
3761
|
+
"form": "Tg9J7q_form",
|
|
3757
3762
|
"field": "Tg9J7q_field",
|
|
3763
|
+
"cardMain": "Tg9J7q_cardMain",
|
|
3764
|
+
"manageList": "Tg9J7q_manageList",
|
|
3765
|
+
"cardIcon": "Tg9J7q_cardIcon",
|
|
3766
|
+
"categoryFilters": "Tg9J7q_categoryFilters",
|
|
3767
|
+
"toolbar": "Tg9J7q_toolbar",
|
|
3768
|
+
"muted": "Tg9J7q_muted",
|
|
3769
|
+
"cardHead": "Tg9J7q_cardHead",
|
|
3770
|
+
"filterRow": "Tg9J7q_filterRow",
|
|
3758
3771
|
"fieldLabel": "Tg9J7q_fieldLabel",
|
|
3759
|
-
"
|
|
3760
|
-
"categoryChip": "Tg9J7q_categoryChip",
|
|
3761
|
-
"coverPage": "Tg9J7q_coverPage"
|
|
3772
|
+
"destination": "Tg9J7q_destination"
|
|
3762
3773
|
};
|
|
3763
3774
|
//#endregion
|
|
3764
3775
|
//#region src/client/KnowledgeTemplates.tsx
|
|
@@ -4734,24 +4745,24 @@ window.__ModuleLoader__.load({
|
|
|
4734
4745
|
}
|
|
4735
4746
|
//#endregion
|
|
4736
4747
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeNewDocumentDialog.module.css.mjs
|
|
4737
|
-
const css$
|
|
4738
|
-
const tagId$
|
|
4739
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
4748
|
+
const css$15 = ".hXsYha_modal{width:min(760px,100vw - 32px)}.hXsYha_dialog{flex-direction:column;gap:16px;min-width:0;display:flex}.hXsYha_cards{align-items:stretch;gap:10px;display:flex}.hXsYha_card{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-lg);background:var(--dsw-alias-bg-layer-1);min-height:92px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;flex:1 1 0;align-items:center;gap:12px;padding:16px;transition:border-color .15s,background .15s,transform .15s;display:flex}.hXsYha_card:hover,.hXsYha_card:focus-visible{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-2);outline:none;transform:translateY(-1px)}.hXsYha_iconPlate{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.hXsYha_cardText{align-items:center;min-width:0;display:flex}.hXsYha_cardTitle{font:var(--dsw-font-xs-13);font-weight:600}.hXsYha_footer{justify-content:flex-end;gap:8px;width:100%;display:flex}";
|
|
4749
|
+
const tagId$15 = "@sparkelf/dsh-knowledge-base/KnowledgeNewDocumentDialog.module.css";
|
|
4750
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$15) + "]") === null) {
|
|
4740
4751
|
const tag = document.createElement("style");
|
|
4741
4752
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
4742
|
-
tag.dataset.pluginCss = tagId$
|
|
4743
|
-
tag.textContent = css$
|
|
4753
|
+
tag.dataset.pluginCss = tagId$15;
|
|
4754
|
+
tag.textContent = css$15;
|
|
4744
4755
|
document.head.appendChild(tag);
|
|
4745
4756
|
}
|
|
4746
4757
|
var KnowledgeNewDocumentDialog_module_css_default = {
|
|
4747
4758
|
"cardTitle": "hXsYha_cardTitle",
|
|
4748
|
-
"
|
|
4749
|
-
"cardText": "hXsYha_cardText",
|
|
4750
|
-
"iconPlate": "hXsYha_iconPlate",
|
|
4759
|
+
"dialog": "hXsYha_dialog",
|
|
4751
4760
|
"cards": "hXsYha_cards",
|
|
4761
|
+
"cardText": "hXsYha_cardText",
|
|
4752
4762
|
"modal": "hXsYha_modal",
|
|
4753
|
-
"
|
|
4754
|
-
"
|
|
4763
|
+
"footer": "hXsYha_footer",
|
|
4764
|
+
"iconPlate": "hXsYha_iconPlate",
|
|
4765
|
+
"card": "hXsYha_card"
|
|
4755
4766
|
};
|
|
4756
4767
|
//#endregion
|
|
4757
4768
|
//#region src/client/KnowledgeNewDocumentDialog.tsx
|
|
@@ -4832,62 +4843,62 @@ window.__ModuleLoader__.load({
|
|
|
4832
4843
|
}
|
|
4833
4844
|
//#endregion
|
|
4834
4845
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeCreateDialog.module.css.mjs
|
|
4835
|
-
const css$
|
|
4836
|
-
const tagId$
|
|
4837
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
4846
|
+
const css$14 = ".HX727W_dialog{flex-direction:column;gap:16px;min-width:0;display:flex}.HX727W_field{flex-direction:column;gap:6px;min-width:0;display:flex}.HX727W_fieldLabel{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.HX727W_fieldHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11)}.HX727W_fieldError{color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11)}.HX727W_summary{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);word-break:break-all;margin:0;padding:8px 10px}.HX727W_picker{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);flex-direction:column;gap:8px;padding:8px;display:flex}.HX727W_pickerBar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.HX727W_crumbWrap{align-items:center;gap:4px;display:inline-flex}.HX727W_crumbSep{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12)}.HX727W_crumb{border-radius:var(--dsw-radius-sm);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);cursor:pointer;background:0 0;border:0;padding:2px 4px}.HX727W_crumb:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.HX727W_crumb:disabled{color:var(--dsw-alias-label-primary);cursor:default}.HX727W_pickerPath{align-items:baseline;gap:6px;min-width:0;margin:0;display:flex}.HX727W_pickerPathLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);flex:none}.HX727W_pickerPathValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);font-family:var(--dsw-font-markdown-code);overflow:hidden}.HX727W_pickerList{flex-direction:column;gap:2px;max-height:132px;display:flex;overflow-y:auto}.HX727W_pickerMuted{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);margin:0;padding:6px 4px}.HX727W_pickerRow{border-radius:var(--dsw-radius-sm);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:start;cursor:pointer;background:0 0;border:0;padding:4px 8px}.HX727W_pickerRow:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.HX727W_fileInput{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.HX727W_fileList{flex-direction:column;gap:2px;max-height:132px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.HX727W_fileRow{align-items:baseline;gap:8px;min-width:0;display:flex}.HX727W_fileName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);flex:0 auto;overflow:hidden}.HX727W_fileTarget{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-family:var(--dsw-font-markdown-code);flex:auto;overflow:hidden}.HX727W_modal{width:min(640px,100vw - 32px)}.HX727W_footer{justify-content:flex-end;gap:8px;width:100%;display:flex}.HX727W_visuallyHiddenInput{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.HX727W_dropzone{border:1px dashed var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);min-height:152px;color:var(--dsw-alias-label-secondary);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:18px;transition:border-color .15s,background .15s;display:flex}.HX727W_dropzone:hover,.HX727W_dropzone:focus-visible,.HX727W_dropzone[data-active=true]{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1);outline:none}.HX727W_dropzoneTitle{color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12)}.HX727W_dropzoneHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11)}.HX727W_uploadSummary{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);justify-content:space-between;align-items:center;display:flex}.HX727W_uploadList{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.HX727W_uploadRow{border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-2);align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex}.HX727W_uploadName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);flex:auto;overflow:hidden}.HX727W_uploadSize{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;flex:none}.HX727W_removeFile{border-radius:var(--dsw-radius-sm);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-base-strong-16);cursor:pointer;background:0 0;border:0;flex:none;padding:0;line-height:1}.HX727W_removeFile:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.HX727W_steps{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);align-items:center;gap:10px;display:flex}.HX727W_step[data-active=true]{color:var(--dsw-alias-label-primary);font-weight:600}.HX727W_stepLine{background:var(--dsw-alias-border-l2);flex:0 0 42px;height:1px}.HX727W_uploadLayout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;gap:12px;display:grid}.HX727W_uploadLayout[data-empty=true]{grid-template-columns:minmax(0,1fr)}.HX727W_uploadLayout[data-empty=true] .HX727W_uploadQueue{display:none}.HX727W_uploadQueue{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);flex-direction:column;gap:6px;min-width:0;min-height:152px;padding:8px;display:flex}.HX727W_uploadQueue .HX727W_uploadList{max-height:220px}.HX727W_tree{border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);max-height:300px;padding:4px;overflow:auto}.HX727W_treeChildren{margin:0;padding:0;list-style:none}.HX727W_treeRow{border-radius:var(--dsw-radius-sm);min-height:30px;color:var(--dsw-alias-label-secondary);align-items:center;gap:2px;display:flex}.HX727W_treeRow:hover,.HX727W_treeRow[data-selected=true]{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.HX727W_treeToggle{width:20px;height:24px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.HX727W_treeName{border-radius:var(--dsw-radius-sm);min-width:0;height:26px;color:inherit;font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.HX727W_treeName:hover,.HX727W_treeName:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:none}.HX727W_treeMuted{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);margin:0;padding:4px 8px}.HX727W_tree{max-height:320px;overflow:auto}.HX727W_treeNotice{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);margin:4px 0 0;padding:4px 8px}";
|
|
4847
|
+
const tagId$14 = "@sparkelf/dsh-knowledge-base/KnowledgeCreateDialog.module.css";
|
|
4848
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$14) + "]") === null) {
|
|
4838
4849
|
const tag = document.createElement("style");
|
|
4839
4850
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
4840
|
-
tag.dataset.pluginCss = tagId$
|
|
4841
|
-
tag.textContent = css$
|
|
4851
|
+
tag.dataset.pluginCss = tagId$14;
|
|
4852
|
+
tag.textContent = css$14;
|
|
4842
4853
|
document.head.appendChild(tag);
|
|
4843
4854
|
}
|
|
4844
4855
|
var KnowledgeCreateDialog_module_css_default = {
|
|
4845
|
-
"
|
|
4846
|
-
"
|
|
4847
|
-
"
|
|
4848
|
-
"
|
|
4849
|
-
"
|
|
4850
|
-
"
|
|
4851
|
-
"
|
|
4856
|
+
"pickerPath": "HX727W_pickerPath",
|
|
4857
|
+
"field": "HX727W_field",
|
|
4858
|
+
"pickerMuted": "HX727W_pickerMuted",
|
|
4859
|
+
"uploadSummary": "HX727W_uploadSummary",
|
|
4860
|
+
"uploadSize": "HX727W_uploadSize",
|
|
4861
|
+
"dialog": "HX727W_dialog",
|
|
4862
|
+
"fieldLabel": "HX727W_fieldLabel",
|
|
4852
4863
|
"fileTarget": "HX727W_fileTarget",
|
|
4853
|
-
"
|
|
4854
|
-
"
|
|
4864
|
+
"uploadRow": "HX727W_uploadRow",
|
|
4865
|
+
"pickerPathValue": "HX727W_pickerPathValue",
|
|
4866
|
+
"steps": "HX727W_steps",
|
|
4867
|
+
"pickerRow": "HX727W_pickerRow",
|
|
4868
|
+
"step": "HX727W_step",
|
|
4869
|
+
"stepLine": "HX727W_stepLine",
|
|
4870
|
+
"picker": "HX727W_picker",
|
|
4855
4871
|
"pickerList": "HX727W_pickerList",
|
|
4856
|
-
"
|
|
4857
|
-
"uploadQueue": "HX727W_uploadQueue",
|
|
4872
|
+
"uploadName": "HX727W_uploadName",
|
|
4858
4873
|
"fieldError": "HX727W_fieldError",
|
|
4859
|
-
"
|
|
4860
|
-
"summary": "HX727W_summary",
|
|
4861
|
-
"fileInput": "HX727W_fileInput",
|
|
4862
|
-
"uploadSummary": "HX727W_uploadSummary",
|
|
4863
|
-
"crumb": "HX727W_crumb",
|
|
4864
|
-
"treeToggle": "HX727W_treeToggle",
|
|
4865
|
-
"fileName": "HX727W_fileName",
|
|
4866
|
-
"pickerPath": "HX727W_pickerPath",
|
|
4867
|
-
"pickerPathLabel": "HX727W_pickerPathLabel",
|
|
4874
|
+
"uploadList": "HX727W_uploadList",
|
|
4868
4875
|
"uploadLayout": "HX727W_uploadLayout",
|
|
4869
|
-
"
|
|
4870
|
-
"dropzoneTitle": "HX727W_dropzoneTitle",
|
|
4876
|
+
"uploadQueue": "HX727W_uploadQueue",
|
|
4871
4877
|
"treeRow": "HX727W_treeRow",
|
|
4872
|
-
"
|
|
4873
|
-
"
|
|
4874
|
-
"
|
|
4875
|
-
"
|
|
4878
|
+
"treeNotice": "HX727W_treeNotice",
|
|
4879
|
+
"crumbWrap": "HX727W_crumbWrap",
|
|
4880
|
+
"dropzone": "HX727W_dropzone",
|
|
4881
|
+
"fileInput": "HX727W_fileInput",
|
|
4876
4882
|
"fieldHint": "HX727W_fieldHint",
|
|
4877
|
-
"
|
|
4878
|
-
"stepLine": "HX727W_stepLine",
|
|
4883
|
+
"pickerPathLabel": "HX727W_pickerPathLabel",
|
|
4879
4884
|
"dropzoneHint": "HX727W_dropzoneHint",
|
|
4880
|
-
"
|
|
4881
|
-
"
|
|
4882
|
-
"
|
|
4883
|
-
"
|
|
4884
|
-
"
|
|
4885
|
-
"
|
|
4886
|
-
"
|
|
4887
|
-
"treeNotice": "HX727W_treeNotice",
|
|
4885
|
+
"treeChildren": "HX727W_treeChildren",
|
|
4886
|
+
"crumb": "HX727W_crumb",
|
|
4887
|
+
"pickerBar": "HX727W_pickerBar",
|
|
4888
|
+
"fileName": "HX727W_fileName",
|
|
4889
|
+
"treeMuted": "HX727W_treeMuted",
|
|
4890
|
+
"summary": "HX727W_summary",
|
|
4891
|
+
"fileList": "HX727W_fileList",
|
|
4888
4892
|
"visuallyHiddenInput": "HX727W_visuallyHiddenInput",
|
|
4893
|
+
"removeFile": "HX727W_removeFile",
|
|
4894
|
+
"crumbSep": "HX727W_crumbSep",
|
|
4895
|
+
"tree": "HX727W_tree",
|
|
4889
4896
|
"modal": "HX727W_modal",
|
|
4890
|
-
"
|
|
4897
|
+
"footer": "HX727W_footer",
|
|
4898
|
+
"treeName": "HX727W_treeName",
|
|
4899
|
+
"fileRow": "HX727W_fileRow",
|
|
4900
|
+
"treeToggle": "HX727W_treeToggle",
|
|
4901
|
+
"dropzoneTitle": "HX727W_dropzoneTitle"
|
|
4891
4902
|
};
|
|
4892
4903
|
//#endregion
|
|
4893
4904
|
//#region ../../../DSH-better-sidebar/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
@@ -6221,6 +6232,7 @@ window.__ModuleLoader__.load({
|
|
|
6221
6232
|
openInAppFailed: "无法打开:{path}",
|
|
6222
6233
|
revealInFileManager: "在文件管理器中显示",
|
|
6223
6234
|
openContainingFolder: "打开所在文件夹",
|
|
6235
|
+
openInFileManager: "打开所在位置",
|
|
6224
6236
|
filesSelected: "已选择 {count} 项",
|
|
6225
6237
|
clearSelection: "取消选择",
|
|
6226
6238
|
copyPaths: "复制路径",
|
|
@@ -6864,6 +6876,7 @@ window.__ModuleLoader__.load({
|
|
|
6864
6876
|
openInAppFailed: "Could not open: {path}",
|
|
6865
6877
|
revealInFileManager: "Reveal in File Manager",
|
|
6866
6878
|
openContainingFolder: "Open Containing Folder",
|
|
6879
|
+
openInFileManager: "Open Containing Location",
|
|
6867
6880
|
filesSelected: "{count} selected",
|
|
6868
6881
|
clearSelection: "Clear selection",
|
|
6869
6882
|
copyPaths: "Copy paths",
|
|
@@ -7442,38 +7455,38 @@ window.__ModuleLoader__.load({
|
|
|
7442
7455
|
}
|
|
7443
7456
|
//#endregion
|
|
7444
7457
|
//#region \0dsh-css:/root/projects/DSH-better-sidebar/src/client/ui/kit.module.css.mjs
|
|
7445
|
-
const css$
|
|
7446
|
-
const tagId$
|
|
7447
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
7458
|
+
const css$13 = ".lvzz-W_iconButton{box-sizing:border-box;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.lvzz-W_iconButtonMd{width:28px;height:28px}.lvzz-W_iconButtonSm{border-radius:3px;width:24px;height:24px}.lvzz-W_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.lvzz-W_iconButton:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.lvzz-W_iconButton:disabled{opacity:.4;cursor:default}.lvzz-W_iconButtonActive{color:var(--dsw-alias-state-business-primary)}.lvzz-W_iconButtonDanger{color:var(--dsw-alias-state-error-primary)}.lvzz-W_chip{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);height:22px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.lvzz-W_chip:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.lvzz-W_chip:disabled{opacity:.4;cursor:default}.lvzz-W_chipActive,.lvzz-W_chipActive:hover{background:var(--dsw-alias-interactive-bg-hover-accent);border-color:var(--dsw-alias-state-business-primary);color:var(--dsw-alias-label-primary)}.lvzz-W_chipLabel{text-overflow:ellipsis;min-width:0;overflow:hidden}.lvzz-W_chipCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums}.lvzz-W_chipActive .lvzz-W_chipCount{color:var(--dsw-alias-label-secondary)}.lvzz-W_sectionHeader{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l1);width:100%;height:28px;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;padding:0 12px;display:flex}.lvzz-W_sectionLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lvzz-W_sectionCount{font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);flex:none}.lvzz-W_sectionAction{flex:none;align-items:center;margin-left:auto;display:inline-flex}.lvzz-W_notice{box-sizing:border-box;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);white-space:pre-wrap}.lvzz-W_noticeWell{padding:4px 12px 8px}.lvzz-W_noticePage{text-align:center;padding:16px}.lvzz-W_noticeInline{padding:0;font-size:10px;line-height:1.45}.lvzz-W_noticeError{color:var(--dsw-alias-state-error-primary)}.lvzz-W_noticeWarn{color:var(--dsw-alias-state-warn-primary)}.lvzz-W_noticeHint{color:var(--dsw-alias-label-tertiary)}.lvzz-W_confirmDesc{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-primary);margin:0}.lvzz-W_confirmDesc[data-danger=true]{color:var(--dsw-alias-label-primary)}.lvzz-W_statusBadge{font:var(--dsw-font-xxxs-strong-11);font-family:var(--ds-font-family-code,monospace);color:var(--dsw-alias-label-secondary);border-radius:2px;flex:none;padding:0 4px}.lvzz-W_statusBadge[data-tone=modified]{color:var(--dsw-alias-state-warn-primary)}.lvzz-W_statusBadge[data-tone=added],.lvzz-W_statusBadge[data-tone=untracked]{color:var(--dsw-alias-state-success-primary)}.lvzz-W_statusBadge[data-tone=deleted]{color:var(--dsw-alias-state-error-primary)}.lvzz-W_statusBadge[data-tone=renamed]{color:var(--dsw-alias-state-business-primary)}.lvzz-W_statusBadge[data-tone=conflict]{color:var(--dsw-alias-state-error-primary)}.lvzz-W_statusBadge[data-tone=read]{color:var(--dsw-alias-state-success-primary)}.lvzz-W_statusBadge[data-tone=write]{color:var(--dsw-alias-state-business-primary)}.lvzz-W_statusBadge[data-tone=edit]{color:var(--dsw-alias-state-warn-primary)}.lvzz-W_statusBadge[data-tone=neutral]{color:var(--dsw-alias-label-tertiary)}";
|
|
7459
|
+
const tagId$13 = "@sparkelf/dsh-knowledge-base/kit.module.css";
|
|
7460
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$13) + "]") === null) {
|
|
7448
7461
|
const tag = document.createElement("style");
|
|
7449
7462
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
7450
|
-
tag.dataset.pluginCss = tagId$
|
|
7451
|
-
tag.textContent = css$
|
|
7463
|
+
tag.dataset.pluginCss = tagId$13;
|
|
7464
|
+
tag.textContent = css$13;
|
|
7452
7465
|
document.head.appendChild(tag);
|
|
7453
7466
|
}
|
|
7454
7467
|
var kit_module_css_default = {
|
|
7455
|
-
"
|
|
7456
|
-
"iconButtonSm": "lvzz-W_iconButtonSm",
|
|
7457
|
-
"noticeWarn": "lvzz-W_noticeWarn",
|
|
7468
|
+
"noticeInline": "lvzz-W_noticeInline",
|
|
7458
7469
|
"noticeError": "lvzz-W_noticeError",
|
|
7470
|
+
"statusBadge": "lvzz-W_statusBadge",
|
|
7471
|
+
"iconButton": "lvzz-W_iconButton",
|
|
7472
|
+
"sectionLabel": "lvzz-W_sectionLabel",
|
|
7473
|
+
"chipLabel": "lvzz-W_chipLabel",
|
|
7459
7474
|
"noticePage": "lvzz-W_noticePage",
|
|
7460
|
-
"noticeWell": "lvzz-W_noticeWell",
|
|
7461
7475
|
"confirmDesc": "lvzz-W_confirmDesc",
|
|
7462
|
-
"
|
|
7463
|
-
"
|
|
7476
|
+
"iconButtonSm": "lvzz-W_iconButtonSm",
|
|
7477
|
+
"sectionHeader": "lvzz-W_sectionHeader",
|
|
7478
|
+
"sectionCount": "lvzz-W_sectionCount",
|
|
7464
7479
|
"sectionAction": "lvzz-W_sectionAction",
|
|
7465
|
-
"
|
|
7466
|
-
"
|
|
7480
|
+
"noticeWarn": "lvzz-W_noticeWarn",
|
|
7481
|
+
"noticeHint": "lvzz-W_noticeHint",
|
|
7467
7482
|
"iconButtonDanger": "lvzz-W_iconButtonDanger",
|
|
7468
|
-
"chipCount": "lvzz-W_chipCount",
|
|
7469
|
-
"iconButtonMd": "lvzz-W_iconButtonMd",
|
|
7470
7483
|
"notice": "lvzz-W_notice",
|
|
7484
|
+
"iconButtonMd": "lvzz-W_iconButtonMd",
|
|
7471
7485
|
"chip": "lvzz-W_chip",
|
|
7472
|
-
"
|
|
7473
|
-
"
|
|
7474
|
-
"
|
|
7475
|
-
"
|
|
7476
|
-
"sectionHeader": "lvzz-W_sectionHeader"
|
|
7486
|
+
"iconButtonActive": "lvzz-W_iconButtonActive",
|
|
7487
|
+
"chipActive": "lvzz-W_chipActive",
|
|
7488
|
+
"chipCount": "lvzz-W_chipCount",
|
|
7489
|
+
"noticeWell": "lvzz-W_noticeWell"
|
|
7477
7490
|
};
|
|
7478
7491
|
//#endregion
|
|
7479
7492
|
//#region ../../../DSH-better-sidebar/src/client/ui/kit.tsx
|
|
@@ -8276,241 +8289,257 @@ window.__ModuleLoader__.load({
|
|
|
8276
8289
|
}
|
|
8277
8290
|
//#endregion
|
|
8278
8291
|
//#region \0dsh-css:/root/projects/DSH-better-sidebar/src/client/sidebar.module.css.mjs
|
|
8279
|
-
const css$8 = "[data-dsh-panel-host]{z-index:25;pointer-events:none;height:100vh;position:fixed;inset:0;overflow:clip}html[data-platform] body>[data-dsh-better-sidebar],[data-dsh-panel-host]{-webkit-app-region:initial!important}[data-dsh-panel-host]>*{-webkit-app-region:no-drag}[data-dockkit-float-resize]{z-index:2}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}.s56VVa_dockFallback{z-index:40;align-items:center;gap:2px;display:inline-flex;position:fixed}.s56VVa_toggleButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.s56VVa_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_toggleButton:disabled,.s56VVa_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.s56VVa_panelBody{flex:1;min-width:0;min-height:0;display:flex}.s56VVa_bottomPanel{z-index:40;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2);pointer-events:auto;padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;bottom:0}.s56VVa_bottomPanelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translateY(102%)}.s56VVa_bottomPanel[data-dragging]{transition:none}.s56VVa_bottomPanel{contain:layout style}body[data-dsh-sidebar-dragging] .s56VVa_panel,body[data-dsh-sidebar-dragging] .s56VVa_bottomPanel{will-change:transform}.s56VVa_bottomResize{cursor:row-resize;z-index:2;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.s56VVa_bottomResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.s56VVa_bottomClose{z-index:4;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:6px}.s56VVa_bottomClose:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_bottomPanel .s56VVa_tabBar{padding-right:40px}.s56VVa_toggleButton,.s56VVa_tabBar{-webkit-app-region:no-drag}.s56VVa_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.s56VVa_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_iconButton:disabled{opacity:.4;cursor:default}.s56VVa_workbench,.s56VVa_split{flex:1;min-width:0;min-height:0;display:flex}.s56VVa_splitRow{flex-direction:row}.s56VVa_splitCol{flex-direction:column}.s56VVa_splitChild{display:flex;position:relative;overflow:hidden}.s56VVa_divider{z-index:3;touch-action:none;flex:none;position:relative}.s56VVa_dividerRow:after,.s56VVa_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.s56VVa_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.s56VVa_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.s56VVa_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.s56VVa_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.s56VVa_divider:hover:after,.s56VVa_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.s56VVa_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.s56VVa_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.s56VVa_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.s56VVa_dropLeft{width:25%;top:0;bottom:0;left:0}.s56VVa_dropRight{width:25%;top:0;bottom:0;right:0}.s56VVa_dropUp{height:25%;top:0;left:0;right:0}.s56VVa_dropDown{height:25%;bottom:0;left:0;right:0}.s56VVa_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.s56VVa_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.s56VVa_chipIcon{flex:none;align-items:center;margin-right:6px;display:inline-flex}.s56VVa_chipUnread{background:var(--dsw-alias-danger);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.s56VVa_tabUnreadDot{background:var(--dsw-alias-danger);border-radius:50%;flex:none;width:7px;height:7px}.s56VVa_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_paneTabHidden{display:none}.s56VVa_paneEmptyCards{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;justify-items:stretch;gap:12px;width:100%;min-height:0;padding:12px;display:grid;overflow:hidden}.s56VVa_paneCard{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-1);min-width:0;min-height:56px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);cursor:pointer;text-align:left;border-radius:24px;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:14px 20px;display:flex}.s56VVa_paneCard>svg{color:var(--dsw-alias-label-secondary);flex:none}.s56VVa_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l4)}.s56VVa_paneCard:disabled{opacity:.45;cursor:default}.s56VVa_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex:none;align-items:stretch;height:34px;display:flex}.s56VVa_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.s56VVa_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.s56VVa_tabList::-webkit-scrollbar{display:none}.s56VVa_tab{min-width:96px;max-width:160px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);border-right:1px solid var(--dsw-alias-border-l1);cursor:pointer;user-select:none;background:0 0;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.s56VVa_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.s56VVa_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.s56VVa_tabBadge{min-width:16px;height:15px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.s56VVa_tabClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.s56VVa_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBarPlus{background:var(--dsw-alias-bg-layer-1);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border:none;border-radius:5px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 6px;padding:0;display:inline-flex;position:sticky;right:0}.s56VVa_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBarRightActions{flex:0 auto;justify-content:flex-end;align-items:center;gap:2px;min-width:0;padding-right:4px;display:flex;overflow:hidden}.s56VVa_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.s56VVa_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s56VVa_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.s56VVa_explorerRow{box-sizing:border-box;width:100%;max-width:100%;height:28px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:0 8px;display:flex;position:relative}.s56VVa_explorerRow>svg{flex:none;width:14px;height:14px}.s56VVa_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_explorerRowSelected{background:var(--dsw-alias-interactive-bg-active)}.s56VVa_explorerRowSelected:before{content:\"\";background:var(--dsw-alias-state-business-primary);border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.s56VVa_explorerGitName[data-git-tone=modified]{color:var(--dsw-alias-state-warn-primary)}.s56VVa_explorerGitName[data-git-tone=added],.s56VVa_explorerGitName[data-git-tone=untracked]{color:var(--dsw-alias-state-success-primary)}.s56VVa_explorerGitName[data-git-tone=deleted]{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerGitName[data-git-tone=renamed]{color:var(--dsw-alias-state-business-primary)}.s56VVa_explorerGitName[data-git-tone=copied]{color:var(--dsw-alias-state-success-primary)}.s56VVa_explorerGitName[data-git-tone=conflict]{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerDirChanged{color:var(--dsw-alias-state-business-primary)}.s56VVa_explorerRowRevealed{background:var(--dsw-alias-state-business-tertiary)}.s56VVa_explorerRowRevealed+.s56VVa_explorerRowRevealed{border-top-left-radius:0;border-top-right-radius:0}.s56VVa_explorerRowRevealed:has(+.s56VVa_explorerRowRevealed){border-bottom-right-radius:0;border-bottom-left-radius:0}.s56VVa_explorerDir{font:var(--dsw-font-xxs-strong-12)}.s56VVa_explorerHidden{opacity:.45}.s56VVa_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_explorerBroken .s56VVa_explorerName{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s56VVa_explorerRenaming{cursor:text}.s56VVa_explorerRenameInput{box-sizing:border-box;border:1px solid var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1);min-width:0;height:22px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:3px;flex:auto;padding:0 6px}.s56VVa_explorerRenameInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.s56VVa_explorerActionError{box-sizing:border-box;border:1px solid var(--dsw-alias-state-error-primary);background:var(--dsw-alias-bg-layer-1);border-radius:8px;align-items:flex-start;gap:6px;width:100%;margin-bottom:4px;padding:6px 8px;display:flex}.s56VVa_explorerActionErrorText{overflow-wrap:anywhere;min-width:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex:auto}.s56VVa_explorerSelectionBar{z-index:1;box-sizing:border-box;background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;gap:6px;width:100%;min-height:28px;margin-top:4px;padding:2px 8px;display:flex;position:sticky;bottom:0}.s56VVa_explorerSelectionText{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);flex:auto;overflow:hidden}.s56VVa_explorerSelectionActions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:4px;max-width:72%;display:flex}.s56VVa_explorerAppIcon{object-fit:contain;width:14px;height:14px;display:block}.s56VVa_explorerHiddenPane{display:none}.s56VVa_explorerTime{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding-left:8px}.s56VVa_explorerRow:hover .s56VVa_explorerTime,.s56VVa_explorerRow:focus-within .s56VVa_explorerTime{margin-left:0}.s56VVa_explorerRef,.s56VVa_explorerCopied{margin-left:auto}.s56VVa_explorerRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;display:none}.s56VVa_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_explorerRow:hover .s56VVa_explorerRef,.s56VVa_explorerRow:focus-within .s56VVa_explorerRef{display:inline-flex}.s56VVa_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes s56VVa_dsh-row-in{0%{opacity:0}}.s56VVa_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.s56VVa_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover-accent);outline:1px dashed var(--dsw-alias-state-business-primary);outline-offset:-1px}.s56VVa_uploadDropMask{z-index:1001;pointer-events:none;background:color-mix(in srgb, var(--dsw-alias-bg-base) 62%, transparent);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);position:fixed;inset:0}.s56VVa_uploadDropZone{z-index:1002;pointer-events:none;border:2px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 4%, transparent);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);border-radius:8px;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed}.s56VVa_uploadDropHero{flex-direction:column;align-items:center;gap:8px;max-width:100%;padding-top:8px;display:flex}.s56VVa_uploadDropArtPrimary{color:var(--dsw-alias-state-business-primary)}.s56VVa_uploadDropArtAccent{color:var(--dsw-alias-state-business-tertiary)}.s56VVa_uploadDropArtCut{color:var(--dsw-alias-bg-layer-1)}.s56VVa_uploadDropZonePill{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);max-width:100%;height:28px;box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:flex}.s56VVa_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.s56VVa_uploadDropChatHint{z-index:1003;pointer-events:none;animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0}.s56VVa_uploadDropChatCard{text-align:center;max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);flex-direction:column;align-items:center;gap:10px;display:flex}.s56VVa_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.s56VVa_uploadOverlayCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-width:240px;max-width:min(420px,100% - 48px);box-shadow:var(--dsw-shadow-lv3);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.s56VVa_uploadOverlayTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.s56VVa_uploadOverlayTitle>svg{flex:none}.s56VVa_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.s56VVa_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.s56VVa_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.s56VVa_uploadOverlayStatus{min-height:1em;font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.s56VVa_uploadOverlayCancel{border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-end;padding:0 12px}.s56VVa_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.s56VVa_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.s56VVa_editor{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.s56VVa_editorTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.s56VVa_editorPathInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.s56VVa_editorBody{flex:1;min-height:0;display:flex}.s56VVa_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.s56VVa_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.s56VVa_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.s56VVa_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.s56VVa_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.s56VVa_editorTreePanelFull{flex:1}.s56VVa_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.s56VVa_editorSearchInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.s56VVa_editorSearchResult{box-sizing:border-box;width:100%;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:0 8px;line-height:28px;display:flex;overflow:hidden}.s56VVa_editorSearchResultDir{color:var(--dsw-alias-label-secondary)}.s56VVa_editorSearchResultLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s56VVa_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.s56VVa_editorStatusError{color:var(--dsw-alias-state-error-primary)}.s56VVa_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.s56VVa_editorPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.s56VVa_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.s56VVa_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.s56VVa_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.s56VVa_editorDownloadLink{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:6px;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.s56VVa_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.s56VVa_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.s56VVa_editorBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 8px}.s56VVa_editorBannerAction{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;padding:0;text-decoration:underline}.s56VVa_editorGitAdd{color:var(--dsw-alias-state-success-primary)}.s56VVa_editorGitMod{color:var(--dsw-alias-state-warn-primary)}.s56VVa_editorGitDel{color:var(--dsw-alias-state-error-primary)}.s56VVa_editorGitBarGutter{width:2px;min-width:2px}.s56VVa_editorGitBar,.s56VVa_editorGitBarSpacer{width:2px;height:100%}.s56VVa_editorGitBarAdd{background:var(--dsw-alias-state-success-primary)}.s56VVa_editorGitBarMod{background:var(--dsw-alias-state-warn-primary)}.s56VVa_editorGitBarDel{background:var(--dsw-alias-state-error-primary)}.s56VVa_editorBlame{max-width:420px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-primary);padding:4px 8px}.s56VVa_editorBlameHead{color:var(--dsw-alias-label-secondary)}.s56VVa_editorBlameSummary{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.s56VVa_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.s56VVa_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.s56VVa_sandboxStatusOff{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent)}.s56VVa_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.s56VVa_sandboxStatusOff .s56VVa_sandboxDot{background:var(--dsw-alias-state-error-primary)}.s56VVa_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.s56VVa_sandboxAction{border:1px solid var(--dsw-alias-border-l2);font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px}.s56VVa_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorHtml{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_browser{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.s56VVa_browserInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_browserMessage{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 12px}.s56VVa_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_browserStart{text-align:center;min-height:0;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.s56VVa_browserBlocked{text-align:center;min-height:0;color:var(--dsw-alias-state-warn-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.s56VVa_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.s56VVa_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.s56VVa_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.s56VVa_browserBlockedButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);cursor:pointer;border-radius:6px;padding:4px 12px}.s56VVa_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.s56VVa_editorCmHidden{display:none}.s56VVa_editorCm .cm-editor{height:100%}.s56VVa_editorCm .cm-scroller{padding:12px 16px}.s56VVa_editorCm .cm-editor.cm-focused{outline:none}.s56VVa_editorModeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.s56VVa_editorModeButton{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.s56VVa_editorModeButton:hover{color:var(--dsw-alias-label-primary)}.s56VVa_editorModeActive{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.s56VVa_editorMd{min-height:0;font:var(--dsw-font-xs-13);flex:1;padding:12px 16px;overflow-y:auto}.s56VVa_editorMd .md-code-block:not([data-mermaid-processed])>div:first-child{z-index:auto;position:static}.s56VVa_mermaidWrap{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;margin:6px 0;overflow:hidden}.s56VVa_mermaidHeader{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.s56VVa_mermaidInfo{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary)}.s56VVa_mermaidCopy{height:20px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.s56VVa_mermaidCopy:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_mermaidBody{cursor:zoom-in;justify-content:center;padding:10px;display:flex;overflow:auto}.s56VVa_mermaidBody svg{max-width:100%;height:auto}.s56VVa_mermaidError{border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11);padding:6px 10px}.s56VVa_mermaidCode{font:var(--dsw-font-xxxs-11);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.s56VVa_mermaidMarkdown .md-code-block[data-mermaid-processed]{display:contents}.s56VVa_mermaidModal{z-index:1000;background:var(--dsw-alias-bg-mask-1);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;-webkit-app-region:initial!important}.s56VVa_mermaidModalToolbar{z-index:10;gap:8px;display:flex;position:absolute;top:16px;right:16px}.s56VVa_mermaidModalButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-strong-13);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.s56VVa_mermaidModalButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_mermaidModalStage{justify-content:center;align-items:center;width:90vw;height:80vh;display:flex;position:relative;overflow:hidden}.s56VVa_mermaidModalStage svg{cursor:grab;transform-origin:50%;user-select:none;-webkit-user-drag:none;background:var(--dsw-alias-bg-layer-1);border-radius:12px;max-width:none;max-height:none;padding:16px}.s56VVa_mermaidModalStage svg:active{cursor:grabbing}.s56VVa_mermaidModalHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);pointer-events:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.s56VVa_selectionPopup{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-menu);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.s56VVa_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.s56VVa_editorPdf{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_editorPdfToolbar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.s56VVa_editorPdfStage{flex:1;min-height:0;display:flex;position:relative}.s56VVa_editorPdfFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_editorPdfFrameBlocked{pointer-events:none}.s56VVa_editorPdfDragShield{z-index:4;pointer-events:none;background:0 0;position:absolute;inset:0}.s56VVa_editorPdfDragShieldActive{pointer-events:auto}body[data-dsh-tab-dragging] .s56VVa_editorPdfFrame{pointer-events:none!important}body[data-dsh-tab-dragging] .s56VVa_editorPdfDragShield{pointer-events:auto!important}.s56VVa_boundaryError{z-index:50;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto}.s56VVa_terminalRetry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;padding:1px 8px}.s56VVa_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBoundaryError{min-height:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:12px 16px;display:flex;overflow:auto}.s56VVa_nativeTabHost{flex-direction:column;height:100%;min-height:0;display:flex}.s56VVa_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.s56VVa_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.s56VVa_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.s56VVa_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.s56VVa_gitDiffTabHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.s56VVa_gitDiffTabTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.s56VVa_toggleButton:focus-visible,.s56VVa_bottomClose:focus-visible,.s56VVa_iconButton:focus-visible,.s56VVa_tab:focus-visible,.s56VVa_tabClose:focus-visible,.s56VVa_tabBarPlus:focus-visible,.s56VVa_paneCard:focus-visible,.s56VVa_explorerRow:focus-visible,.s56VVa_explorerRef:focus-visible,.s56VVa_terminalRetry:focus-visible,.s56VVa_editorModeButton:focus-visible,.s56VVa_editorDownloadLink:focus-visible,.s56VVa_editorPptxButton:focus-visible,.s56VVa_editorDocxZoomRange:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.s56VVa_bottomPanel,.s56VVa_bottomPanelHidden,.s56VVa_toggleButton,.s56VVa_tab,.s56VVa_tabBarPlus,.s56VVa_paneCard,.s56VVa_explorerRow,.s56VVa_divider,.s56VVa_dividerRow:after,.s56VVa_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.s56VVa_tab{min-width:48px;max-width:128px}}.s56VVa_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.s56VVa_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.s56VVa_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_openWithPin{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.s56VVa_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_openWithPinActive{color:var(--dsw-alias-state-business-primary)}.s56VVa_editorHtmlBlock{margin:8px 0}.s56VVa_editorHtmlBlock img,.s56VVa_editorHtmlBlock video{max-width:100%}.s56VVa_editorHtmlBlock details{margin:4px 0;padding:4px 0}.s56VVa_editorHtmlBlock summary,.s56VVa_editorMd details>summary{cursor:pointer}.s56VVa_tocBar{z-index:7;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.s56VVa_tocButton{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:4px 2px 0 0;padding:0;display:inline-flex}.s56VVa_tocButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tocPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:min(300px,82%);max-height:60vh;box-shadow:var(--dsw-shadow-lv2);pointer-events:auto;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:32px;right:2px;overflow-y:auto}.s56VVa_tocItem{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.s56VVa_tocItem:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tocItem[data-level=\"2\"]{padding-left:18px}.s56VVa_tocItem[data-level=\"3\"]{padding-left:28px}.s56VVa_tocItem[data-level=\"4\"]{padding-left:38px}.s56VVa_tocItem[data-level=\"5\"]{padding-left:48px}.s56VVa_tocItem[data-level=\"6\"]{padding-left:58px}.s56VVa_tocItemLevel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_tocItemText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes s56VVa_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.s56VVa_tocFlash{border-radius:4px;animation:1.2s ease-out s56VVa_dsh-toc-flash}.s56VVa_largeFile{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_largeFileNotice{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.s56VVa_largeFileDownload{color:inherit;text-decoration:underline}.s56VVa_largeFileNoticeAction{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:auto;padding:0 6px}.s56VVa_largeFileNoticeAction:disabled{opacity:.5;cursor:default}.s56VVa_largeFileBody{flex:1;min-height:0;overflow:auto}.s56VVa_largeFileRecords{padding:4px 0}.s56VVa_largeFileList{margin:0;padding:0;list-style:none}.s56VVa_largeFileRecord{gap:8px;padding:2px 8px;display:flex}.s56VVa_largeFileRecordExpanded{background:var(--dsw-alias-bg-layer-1)}.s56VVa_largeFileRecordInvalid{color:var(--dsw-alias-state-error-primary)}.s56VVa_largeFileRecordNo{text-align:right;min-width:4ch;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);user-select:none;flex:none}.s56VVa_largeFileRecordBody{flex:1;min-width:0}.s56VVa_largeFileRecordSummary{text-align:left;width:100%;font:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);white-space:pre;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;display:block;overflow:hidden}.s56VVa_largeFileRecordSummary:disabled{cursor:default}.s56VVa_largeFileRecordRaw{font:var(--ds-font-family-code);white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.s56VVa_largeFileRecordTree{font:var(--ds-font-family-code);margin-top:2px;font-size:12px}.s56VVa_largeFileLines{font:var(--ds-font-family-code);white-space:pre;padding:4px 0;font-size:12px}.s56VVa_largeFileLine{gap:8px;padding:0 8px;display:flex}.s56VVa_largeFileLineNo{text-align:right;min-width:5ch;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none}.s56VVa_largeFileLineText{color:var(--dsw-alias-label-primary);flex:none}.s56VVa_largeFilePager{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;align-items:center;gap:4px;padding:2px 8px;display:flex}.s56VVa_largeFilePageLabel{text-align:center;min-width:0;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.s56VVa_explorerMuted{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);cursor:default}[data-sidebar-right-guide]{grid-template-columns:repeat(auto-fill,minmax(96px,120px))!important;place-content:center!important;place-items:stretch stretch!important;gap:12px!important;padding:16px!important;display:grid!important;overflow:auto!important}[data-sidebar-right-guide]>div{aspect-ratio:1!important;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;display:flex!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry]{box-sizing:border-box!important;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%!important;height:100%!important;padding:12px!important}[data-sidebar-right-guide] kbd,[data-sidebar-right-guide] span:has(>kbd){display:none!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry]>span:last-child{flex:0 auto!important;align-items:center!important;width:100%!important;height:auto!important;min-height:0!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal]{position:relative!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=titleRow]{flex-flow:row!important;justify-content:center!important;align-items:center!important;gap:2px!important;height:20px!important;min-height:0!important;display:flex!important;position:static!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=menu],[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=trigger],[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] button:not([class*=main]){z-index:1!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-height:0!important;padding:0!important;position:static!important;top:auto!important;bottom:auto!important;right:auto!important;transform:none!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=title]{white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry] span{white-space:normal!important;text-overflow:clip!important;min-width:0!important;max-width:100%!important;overflow:visible!important}[data-sidebar-right-guide]>span:first-child{grid-column:1/-1;justify-self:center;margin:4px 0 8px}@media (width<=640px){[data-sidebar-right-guide]{grid-template-columns:repeat(auto-fill,minmax(88px,108px))!important;padding:12px!important}}[data-sidebar-right-guide-entry=terminal]{box-sizing:border-box!important;flex-direction:row!important;justify-content:center!important;align-self:stretch!important;align-items:center!important;gap:6px!important;width:100%!important;height:100%!important;min-height:0!important;padding:8px!important;display:flex!important;overflow:hidden!important}[data-sidebar-right-guide-entry=terminal]>span{flex:0 auto!important}[data-sidebar-right-guide-entry=terminal] [class*=text]{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:1px!important;min-width:0!important;display:flex!important}[data-sidebar-right-guide-entry=terminal] [class*=titleRow]{box-sizing:border-box!important;flex-flow:row!important;justify-content:center!important;align-items:center!important;gap:0!important;width:100%!important;height:18px!important;min-height:0!important;max-height:18px!important;padding:0 20px!important;display:flex!important;position:relative!important}[data-sidebar-right-guide-entry=terminal] [class*=title]{text-overflow:clip!important;white-space:nowrap!important;flex:none!important;max-width:none!important;font-size:12px!important;line-height:1.2!important;overflow:visible!important}[data-sidebar-right-guide-entry=terminal] [class*=trigger]{z-index:1!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;position:absolute!important;top:50%!important;right:0!important;transform:translateY(-50%)!important}[data-sidebar-right-guide-entry=terminal] [class*=trigger] svg{width:12px!important;height:12px!important}[data-sidebar-right-guide-entry=terminal] [class*=description]{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal]){justify-content:center!important;align-items:center!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal])>span:last-child{flex-direction:column!important;justify-content:center!important;align-self:center!important;align-items:center!important;display:flex!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal]){box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;align-self:stretch!important;align-items:center!important;width:100%!important;height:100%!important;display:flex!important}";
|
|
8280
|
-
const tagId$
|
|
8281
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
8292
|
+
const css$12 = "[data-dsh-panel-host]{z-index:25;pointer-events:none;height:100vh;position:fixed;inset:0;overflow:clip}html[data-platform] body>[data-dsh-better-sidebar],[data-dsh-panel-host]{-webkit-app-region:initial!important}[data-dsh-panel-host]>*{-webkit-app-region:no-drag}[data-dockkit-float-resize]{z-index:2}[data-dsh-panel-host][data-dsh-panel-host-degraded]{position:absolute;top:0;left:0}.s56VVa_dockFallback{z-index:40;align-items:center;gap:2px;display:inline-flex;position:fixed}.s56VVa_toggleButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), color var(--ds-transition-duration-slow) var(--ds-ease-in-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.s56VVa_toggleButton:hover:not(:disabled):not([aria-disabled=true]){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_toggleButton:disabled,.s56VVa_toggleButton[aria-disabled=true]{opacity:.4;cursor:default}.s56VVa_panelBody{flex:1;min-width:0;min-height:0;display:flex}.s56VVa_bottomPanel{z-index:40;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2);pointer-events:auto;padding-bottom:env(safe-area-inset-bottom);transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;display:flex;position:absolute;bottom:0}.s56VVa_bottomPanelHidden{pointer-events:none;visibility:hidden;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out), height var(--ds-transition-duration-slow) var(--ds-ease-in-out), visibility 0s linear var(--ds-transition-duration-slow);transform:translateY(102%)}.s56VVa_bottomPanel[data-dragging]{transition:none}.s56VVa_bottomPanel{contain:layout style}body[data-dsh-sidebar-dragging] .s56VVa_panel,body[data-dsh-sidebar-dragging] .s56VVa_bottomPanel{will-change:transform}.s56VVa_bottomResize{cursor:row-resize;z-index:2;touch-action:none;height:8px;position:absolute;top:-4px;left:0;right:0}.s56VVa_bottomResizeActive{background:var(--dsw-alias-interactive-bg-hover-accent)}.s56VVa_bottomClose{z-index:4;width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:3px;right:6px}.s56VVa_bottomClose:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_bottomPanel .s56VVa_tabBar{padding-right:40px}.s56VVa_toggleButton,.s56VVa_tabBar{-webkit-app-region:no-drag}.s56VVa_iconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.s56VVa_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_iconButton:disabled{opacity:.4;cursor:default}.s56VVa_workbench,.s56VVa_split{flex:1;min-width:0;min-height:0;display:flex}.s56VVa_splitRow{flex-direction:row}.s56VVa_splitCol{flex-direction:column}.s56VVa_splitChild{display:flex;position:relative;overflow:hidden}.s56VVa_divider{z-index:3;touch-action:none;flex:none;position:relative}.s56VVa_dividerRow:after,.s56VVa_dividerCol:after{content:\"\";background:var(--dsw-alias-border-l2);transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out);position:absolute}.s56VVa_dividerRow{cursor:col-resize;width:7px;margin:0 -2px}.s56VVa_dividerRow:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-50%)}.s56VVa_dividerCol{cursor:row-resize;height:7px;margin:-2px 0}.s56VVa_dividerCol:after{height:1px;top:50%;left:0;right:0;transform:translateY(-50%)}.s56VVa_divider:hover:after,.s56VVa_dividerActive:after{background:var(--dsw-alias-interactive-bg-hover-accent)}.s56VVa_pane{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.s56VVa_paneDrop{outline:1px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.s56VVa_dropOverlay{z-index:6;pointer-events:none;background:var(--dsw-alias-interactive-bg-hover-accent);opacity:.5;position:absolute}.s56VVa_dropLeft{width:25%;top:0;bottom:0;left:0}.s56VVa_dropRight{width:25%;top:0;bottom:0;right:0}.s56VVa_dropUp{height:25%;top:0;left:0;right:0}.s56VVa_dropDown{height:25%;bottom:0;left:0;right:0}.s56VVa_dropCenter{outline:2px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-2px;background:0 0;inset:25%}.s56VVa_paneContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.s56VVa_chipIcon{flex:none;align-items:center;margin-right:6px;display:inline-flex}.s56VVa_chipUnread{background:var(--dsw-alias-danger);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.s56VVa_tabUnreadDot{background:var(--dsw-alias-danger);border-radius:50%;flex:none;width:7px;height:7px}.s56VVa_paneTab{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_paneTabHidden{display:none}.s56VVa_paneEmptyCards{flex:1;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;justify-items:stretch;gap:12px;width:100%;min-height:0;padding:12px;display:grid;overflow:hidden}.s56VVa_paneCard{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-1);min-width:0;min-height:56px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);cursor:pointer;text-align:left;border-radius:24px;flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;padding:14px 20px;display:flex}.s56VVa_paneCard>svg{color:var(--dsw-alias-label-secondary);flex:none}.s56VVa_paneCard:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l4)}.s56VVa_paneCard:disabled{opacity:.45;cursor:default}.s56VVa_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);flex:none;align-items:stretch;height:34px;display:flex}.s56VVa_tabBarDrop{outline:1px dashed var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}.s56VVa_tabList{scrollbar-width:none;flex:1;min-width:0;display:flex;overflow-x:auto}.s56VVa_tabList::-webkit-scrollbar{display:none}.s56VVa_tab{min-width:96px;max-width:160px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-secondary);border-right:1px solid var(--dsw-alias-border-l1);cursor:pointer;user-select:none;background:0 0;flex:none;align-items:center;gap:4px;padding:0 4px 0 10px;display:flex}.s56VVa_tab:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_tabActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.s56VVa_tabTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.s56VVa_tabBadge{min-width:16px;height:15px;font:var(--dsw-font-xxxs-strong-11);background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-brand-primary);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.s56VVa_tabClose{width:18px;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.s56VVa_tabClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBarPlus{background:var(--dsw-alias-bg-layer-1);width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border:none;border-radius:5px;flex:none;justify-content:center;align-self:center;align-items:center;margin:0 6px;padding:0;display:inline-flex;position:sticky;right:0}.s56VVa_tabBarPlus:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBarRightActions{flex:0 auto;justify-content:flex-end;align-items:center;gap:2px;min-width:0;padding-right:4px;display:flex;overflow:hidden}.s56VVa_explorer{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_explorerHeader{flex:none;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.s56VVa_explorerRoot{font:var(--dsw-font-s-14);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s56VVa_explorerBody{flex:1;min-height:0;padding:4px 8px 8px;overflow:hidden auto}.s56VVa_explorerRow{box-sizing:border-box;width:100%;max-width:100%;height:28px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:0 8px;display:flex;position:relative}.s56VVa_explorerRow>svg{flex:none;width:14px;height:14px}.s56VVa_explorerRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_explorerRowSelected{background:var(--dsw-alias-interactive-bg-active)}.s56VVa_explorerRowSelected:before{content:\"\";background:var(--dsw-alias-state-business-primary);border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.s56VVa_explorerGitName[data-git-tone=modified]{color:var(--dsw-alias-state-warn-primary)}.s56VVa_explorerGitName[data-git-tone=added],.s56VVa_explorerGitName[data-git-tone=untracked]{color:var(--dsw-alias-state-success-primary)}.s56VVa_explorerGitName[data-git-tone=deleted]{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerGitName[data-git-tone=renamed]{color:var(--dsw-alias-state-business-primary)}.s56VVa_explorerGitName[data-git-tone=copied]{color:var(--dsw-alias-state-success-primary)}.s56VVa_explorerGitName[data-git-tone=conflict]{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerDirChanged{color:var(--dsw-alias-state-business-primary)}.s56VVa_explorerRowRevealed{background:var(--dsw-alias-state-business-tertiary)}.s56VVa_explorerRowRevealed+.s56VVa_explorerRowRevealed{border-top-left-radius:0;border-top-right-radius:0}.s56VVa_explorerRowRevealed:has(+.s56VVa_explorerRowRevealed){border-bottom-right-radius:0;border-bottom-left-radius:0}.s56VVa_explorerDir{font:var(--dsw-font-xxs-strong-12)}.s56VVa_explorerHidden{opacity:.45}.s56VVa_explorerSymlink{color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_explorerBroken .s56VVa_explorerName{color:var(--dsw-alias-state-error-primary)}.s56VVa_explorerName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s56VVa_explorerRenaming{cursor:text}.s56VVa_explorerRenameInput{box-sizing:border-box;border:1px solid var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1);min-width:0;height:22px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:3px;flex:auto;padding:0 6px}.s56VVa_explorerRenameInput:focus{border-color:var(--dsw-alias-state-business-primary);outline:none}.s56VVa_explorerActionError{box-sizing:border-box;border:1px solid var(--dsw-alias-state-error-primary);background:var(--dsw-alias-bg-layer-1);border-radius:8px;align-items:flex-start;gap:6px;width:100%;margin-bottom:4px;padding:6px 8px;display:flex}.s56VVa_explorerActionErrorText{overflow-wrap:anywhere;min-width:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex:auto}.s56VVa_explorerSelectionBar{z-index:1;box-sizing:border-box;background:var(--dsw-alias-bg-layer-2);border-radius:4px;align-items:center;gap:6px;width:100%;min-height:28px;margin-top:4px;padding:2px 8px;display:flex;position:sticky;bottom:0}.s56VVa_explorerSelectionText{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);flex:auto;overflow:hidden}.s56VVa_explorerSelectionActions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:4px;max-width:72%;display:flex}.s56VVa_explorerAppIcon{object-fit:contain;width:14px;height:14px;display:block}.s56VVa_explorerHiddenPane{display:none}.s56VVa_explorerTime{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding-left:8px}.s56VVa_explorerRow:hover .s56VVa_explorerTime,.s56VVa_explorerRow:focus-within .s56VVa_explorerTime{margin-left:0}.s56VVa_explorerRef,.s56VVa_explorerCopied{margin-left:auto}.s56VVa_explorerRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;padding:0 8px;display:none}.s56VVa_explorerRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_explorerRow:hover .s56VVa_explorerRef,.s56VVa_explorerRow:focus-within .s56VVa_explorerRef{display:inline-flex}.s56VVa_explorerCopied{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_explorerError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);cursor:default}@keyframes s56VVa_dsh-row-in{0%{opacity:0}}.s56VVa_explorerEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.s56VVa_explorerRowDropTarget{background:var(--dsw-alias-interactive-bg-hover-accent);outline:1px dashed var(--dsw-alias-state-business-primary);outline-offset:-1px}.s56VVa_uploadDropMask{z-index:1001;pointer-events:none;background:color-mix(in srgb, var(--dsw-alias-bg-base) 62%, transparent);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);position:fixed;inset:0}.s56VVa_uploadDropZone{z-index:1002;pointer-events:none;border:2px dashed var(--dsw-alias-border-l2);background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 4%, transparent);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);border-radius:8px;justify-content:center;align-items:flex-start;padding:12px;display:flex;position:fixed}.s56VVa_uploadDropHero{flex-direction:column;align-items:center;gap:8px;max-width:100%;padding-top:8px;display:flex}.s56VVa_uploadDropArtPrimary{color:var(--dsw-alias-state-business-primary)}.s56VVa_uploadDropArtAccent{color:var(--dsw-alias-state-business-tertiary)}.s56VVa_uploadDropArtCut{color:var(--dsw-alias-bg-layer-1)}.s56VVa_uploadDropZonePill{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);max-width:100%;height:28px;box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:flex}.s56VVa_uploadDropZoneText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.s56VVa_uploadDropChatHint{z-index:1003;pointer-events:none;animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;top:0;bottom:0;left:0}.s56VVa_uploadDropChatCard{text-align:center;max-width:100%;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);flex-direction:column;align-items:center;gap:10px;display:flex}.s56VVa_uploadOverlay{z-index:30;background:var(--dsw-alias-bg-mask-1);backdrop-filter:var(--dsw-mask-blur);animation:s56VVa_dsh-row-in .15s var(--ds-ease-in-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.s56VVa_uploadOverlayCard{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);min-width:240px;max-width:min(420px,100% - 48px);box-shadow:var(--dsw-shadow-lv3);border-radius:8px;flex-direction:column;gap:10px;padding:16px;display:flex}.s56VVa_uploadOverlayTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);align-items:center;gap:6px;display:flex}.s56VVa_uploadOverlayTitle>svg{flex:none}.s56VVa_uploadOverlayTitle>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.s56VVa_uploadOverlayProgress{background:var(--dsw-alias-border-l2);border-radius:3px;height:6px;overflow:hidden}.s56VVa_uploadOverlayProgressFill{background:var(--dsw-alias-interactive-bg-hover-accent);height:100%;transition:width .15s var(--ds-ease-in-out);border-radius:3px}.s56VVa_uploadOverlayStatus{min-height:1em;font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.s56VVa_uploadOverlayCancel{border:1px solid var(--dsw-alias-border-l2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-end;padding:0 12px}.s56VVa_uploadOverlayCancel:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.s56VVa_uploadOverlayCancel:disabled{opacity:.4;cursor:default}.s56VVa_editor{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_editorHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.s56VVa_editorTitle{min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.s56VVa_editorPathInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_editorPathInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_editorTreeToggleActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.s56VVa_editorBody{flex:1;min-height:0;display:flex}.s56VVa_editorMain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.s56VVa_editorTreeDock{border-left:1px solid var(--dsw-alias-border-l1);flex:none;min-height:0;display:flex;position:relative}.s56VVa_editorTreeResize{cursor:col-resize;touch-action:none;z-index:3;width:6px;position:absolute;top:0;bottom:0;left:0}.s56VVa_editorTreeResize:hover{background:var(--dsw-alias-border-l2)}.s56VVa_editorTreePanel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.s56VVa_editorTreePanelFull{flex:1}.s56VVa_editorTreeSearch{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:6px;padding:6px 8px;display:flex}.s56VVa_editorSearchInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_editorSearchInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_editorSearchHint{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:8px 12px}.s56VVa_editorSearchResult{box-sizing:border-box;width:100%;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:0 8px;line-height:28px;display:flex;overflow:hidden}.s56VVa_editorSearchResultDir{color:var(--dsw-alias-label-secondary)}.s56VVa_editorSearchResultLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s56VVa_editorSearchResult:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorStatus{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary)}.s56VVa_editorStatusError{color:var(--dsw-alias-state-error-primary)}.s56VVa_dirtyDot{background:var(--dsw-alias-state-warn-primary);border-radius:50%;flex:none;width:7px;height:7px}.s56VVa_editorPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.s56VVa_orphanedType{opacity:.7;overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.s56VVa_editorBinary{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.s56VVa_editorBinaryNotice{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary)}.s56VVa_editorDownloadLink{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);cursor:pointer;transition:background var(--ds-transition-duration-slow) var(--ds-ease-in-out), border-color var(--ds-transition-duration-slow) var(--ds-ease-in-out);border-radius:6px;align-items:center;gap:6px;padding:6px 14px;text-decoration:none;display:inline-flex}.s56VVa_editorDownloadLink:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l2)}.s56VVa_editorError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);padding:12px 16px}.s56VVa_editorBanner{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 8px}.s56VVa_editorBannerAction{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;padding:0;text-decoration:underline}.s56VVa_editorGitAdd{color:var(--dsw-alias-state-success-primary)}.s56VVa_editorGitMod{color:var(--dsw-alias-state-warn-primary)}.s56VVa_editorGitDel{color:var(--dsw-alias-state-error-primary)}.s56VVa_editorGitBarGutter{width:2px;min-width:2px}.s56VVa_editorGitBar,.s56VVa_editorGitBarSpacer{width:2px;height:100%}.s56VVa_editorGitBarAdd{background:var(--dsw-alias-state-success-primary)}.s56VVa_editorGitBarMod{background:var(--dsw-alias-state-warn-primary)}.s56VVa_editorGitBarDel{background:var(--dsw-alias-state-error-primary)}.s56VVa_editorBlame{max-width:420px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-primary);padding:4px 8px}.s56VVa_editorBlameHead{color:var(--dsw-alias-label-secondary)}.s56VVa_editorBlameSummary{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px}.s56VVa_sandboxStatus{font:var(--dsw-font-xxxs-11);flex:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.s56VVa_sandboxStatusOn{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l1)}.s56VVa_sandboxStatusOff{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);border-bottom:1px solid color-mix(in srgb, var(--dsw-alias-state-error-primary) 45%, transparent)}.s56VVa_sandboxDot{background:var(--dsw-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px}.s56VVa_sandboxStatusOff .s56VVa_sandboxDot{background:var(--dsw-alias-state-error-primary)}.s56VVa_sandboxStatusText{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.s56VVa_sandboxAction{border:1px solid var(--dsw-alias-border-l2);font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:2px 8px}.s56VVa_sandboxAction:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorHtml{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_browser{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_browserBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.s56VVa_browserInput{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);min-width:0;height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);border-radius:6px;flex:1;padding:0 10px}.s56VVa_browserInput:focus{border-color:var(--dsw-alias-border-l2);outline:none}.s56VVa_browserMessage{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;padding:4px 12px}.s56VVa_browserFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_browserStart{text-align:center;min-height:0;font:var(--dsw-font-xs-13);color:var(--dsw-alias-label-tertiary);flex:1;justify-content:center;align-items:center;padding:20px;display:flex}.s56VVa_browserBlocked{text-align:center;min-height:0;color:var(--dsw-alias-state-warn-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.s56VVa_browserBlockedTitle{font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary)}.s56VVa_browserBlockedDesc{max-width:280px;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary)}.s56VVa_browserBlockedActions{gap:8px;margin-top:6px;display:flex}.s56VVa_browserBlockedButton{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-11);cursor:pointer;border-radius:6px;padding:4px 12px}.s56VVa_browserBlockedButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_editorCm{background:0 0;flex:1;min-height:0;overflow:hidden}.s56VVa_editorCmHidden{display:none}.s56VVa_editorCm .cm-editor{height:100%}.s56VVa_editorCm .cm-scroller{padding:12px 16px}.s56VVa_editorCm .cm-editor.cm-focused{outline:none}.s56VVa_editorModeToggle{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.s56VVa_editorModeButton{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px}.s56VVa_editorModeButton:hover{color:var(--dsw-alias-label-primary)}.s56VVa_editorModeActive{background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-primary)}.s56VVa_editorMd{min-height:0;font:var(--dsw-font-xs-13);flex:1;padding:12px 16px;overflow-y:auto}.s56VVa_editorMd .md-code-block:not([data-mermaid-processed])>div:first-child{z-index:auto;position:static}.s56VVa_mermaidWrap{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:6px;margin:6px 0;overflow:hidden}.s56VVa_mermaidHeader{border-bottom:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;display:flex}.s56VVa_mermaidInfo{font:var(--dsw-font-xxxs-strong-11);color:var(--dsw-alias-label-tertiary)}.s56VVa_mermaidCopy{height:20px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:0 6px;display:inline-flex}.s56VVa_mermaidCopy:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_mermaidBody{cursor:zoom-in;justify-content:center;padding:10px;display:flex;overflow:auto}.s56VVa_mermaidBody svg{max-width:100%;height:auto}.s56VVa_mermaidError{border-bottom:1px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxxs-11);padding:6px 10px}.s56VVa_mermaidCode{font:var(--dsw-font-xxxs-11);margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.s56VVa_mermaidMarkdown .md-code-block[data-mermaid-processed]{display:contents}.s56VVa_mermaidModal{z-index:1000;background:var(--dsw-alias-bg-mask-1);backdrop-filter:blur(2px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;-webkit-app-region:initial!important}.s56VVa_mermaidModalToolbar{z-index:10;gap:8px;display:flex;position:absolute;top:16px;right:16px}.s56VVa_mermaidModalButton{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:36px;height:36px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-strong-13);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.s56VVa_mermaidModalButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_mermaidModalStage{justify-content:center;align-items:center;width:90vw;height:80vh;display:flex;position:relative;overflow:hidden}.s56VVa_mermaidModalStage svg{cursor:grab;transform-origin:50%;user-select:none;-webkit-user-drag:none;background:var(--dsw-alias-bg-layer-1);border-radius:12px;max-width:none;max-height:none;padding:16px}.s56VVa_mermaidModalStage svg:active{cursor:grabbing}.s56VVa_mermaidModalHint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);pointer-events:none;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.s56VVa_selectionPopup{z-index:60;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-menu);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;display:inline-flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.s56VVa_selectionPopup:hover{background:var(--dsw-alias-interactive-bg-hover-solid)}.s56VVa_editorPdf{background:var(--dsw-alias-bg-base);flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_editorPdfToolbar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:flex-end;padding:6px 8px;display:flex}.s56VVa_editorPdfStage{flex:1;min-height:0;display:flex;position:relative}.s56VVa_editorPdfFrame{background:var(--dsw-alias-bg-base);border:none;flex:1;width:100%;min-height:0}.s56VVa_editorPdfFrameBlocked{pointer-events:none}.s56VVa_editorPdfDragShield{z-index:4;pointer-events:none;background:0 0;position:absolute;inset:0}.s56VVa_editorPdfDragShieldActive{pointer-events:auto}body[data-dsh-tab-dragging] .s56VVa_editorPdfFrame{pointer-events:none!important}body[data-dsh-tab-dragging] .s56VVa_editorPdfDragShield{pointer-events:auto!important}.s56VVa_boundaryError{z-index:50;background:var(--dsw-alias-bg-layer-1);border-left:1px solid var(--dsw-alias-border-l2);font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto}.s56VVa_terminalRetry{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;padding:1px 8px}.s56VVa_terminalRetry:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tabBoundaryError{min-height:0;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);flex-direction:column;flex:1;align-items:flex-start;gap:8px;padding:12px 16px;display:flex;overflow:auto}.s56VVa_nativeTabHost{flex-direction:column;height:100%;min-height:0;display:flex}.s56VVa_gitEmpty{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);padding:4px 12px 8px}.s56VVa_gitPlaceholder{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-tertiary);text-align:center;padding:16px}.s56VVa_gitError{font:var(--dsw-font-xxs-12);color:var(--dsw-alias-state-error-primary);white-space:pre-wrap;padding:8px 12px}.s56VVa_gitDiffTab{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden auto}.s56VVa_gitDiffTabHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;align-items:center;gap:8px;height:36px;padding:0 8px 0 12px;display:flex}.s56VVa_gitDiffTabTitle{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--dsw-font-xxs-strong-12);color:var(--dsw-alias-label-primary);flex:1;overflow:hidden}.s56VVa_toggleButton:focus-visible,.s56VVa_bottomClose:focus-visible,.s56VVa_iconButton:focus-visible,.s56VVa_tab:focus-visible,.s56VVa_tabClose:focus-visible,.s56VVa_tabBarPlus:focus-visible,.s56VVa_paneCard:focus-visible,.s56VVa_explorerRow:focus-visible,.s56VVa_explorerRef:focus-visible,.s56VVa_terminalRetry:focus-visible,.s56VVa_editorModeButton:focus-visible,.s56VVa_editorDownloadLink:focus-visible,.s56VVa_editorPptxButton:focus-visible,.s56VVa_editorDocxZoomRange:focus-visible{outline:2px solid var(--dsw-alias-interactive-bg-hover-accent);outline-offset:-1px}@media (prefers-reduced-motion:reduce){.s56VVa_bottomPanel,.s56VVa_bottomPanelHidden,.s56VVa_toggleButton,.s56VVa_tab,.s56VVa_tabBarPlus,.s56VVa_paneCard,.s56VVa_explorerRow,.s56VVa_divider,.s56VVa_dividerRow:after,.s56VVa_dividerCol:after{transition:none;animation:none}}@media (width<=767px){.s56VVa_tab{min-width:48px;max-width:128px}}.s56VVa_openWithLabel{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.s56VVa_openWithName{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.s56VVa_openWithChevron{color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_openWithPin{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:5px;flex:none;justify-content:center;align-items:center;display:inline-flex}.s56VVa_openWithPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_openWithPinActive{color:var(--dsw-alias-state-business-primary)}.s56VVa_editorHtmlBlock{margin:8px 0}.s56VVa_editorHtmlBlock img,.s56VVa_editorHtmlBlock video{max-width:100%}.s56VVa_editorHtmlBlock details{margin:4px 0;padding:4px 0}.s56VVa_editorHtmlBlock summary,.s56VVa_editorMd details>summary{cursor:pointer}.s56VVa_tocBar{z-index:7;pointer-events:none;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.s56VVa_tocButton{pointer-events:auto;border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;margin:4px 2px 0 0;padding:0;display:inline-flex}.s56VVa_tocButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tocPanel{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);width:min(300px,82%);max-height:60vh;box-shadow:var(--dsw-shadow-lv2);pointer-events:auto;border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:32px;right:2px;overflow-y:auto}.s56VVa_tocItem{min-width:0;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.s56VVa_tocItem:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.s56VVa_tocItem[data-level=\"2\"]{padding-left:18px}.s56VVa_tocItem[data-level=\"3\"]{padding-left:28px}.s56VVa_tocItem[data-level=\"4\"]{padding-left:38px}.s56VVa_tocItem[data-level=\"5\"]{padding-left:48px}.s56VVa_tocItem[data-level=\"6\"]{padding-left:58px}.s56VVa_tocItemLevel{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);flex:none}.s56VVa_tocItemText{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}@keyframes s56VVa_dsh-toc-flash{0%,60%{background:var(--dsw-alias-interactive-bg-hover)}to{background:0 0}}.s56VVa_tocFlash{border-radius:4px;animation:1.2s ease-out s56VVa_dsh-toc-flash}.s56VVa_largeFile{flex-direction:column;flex:1;min-height:0;display:flex}.s56VVa_largeFileNotice{font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary);flex:none;align-items:baseline;gap:8px;padding:4px 8px;display:flex}.s56VVa_largeFileDownload{color:inherit;text-decoration:underline}.s56VVa_largeFileNoticeAction{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;margin-left:auto;padding:0 6px}.s56VVa_largeFileNoticeAction:disabled{opacity:.5;cursor:default}.s56VVa_largeFileBody{flex:1;min-height:0;overflow:auto}.s56VVa_largeFileRecords{padding:4px 0}.s56VVa_largeFileList{margin:0;padding:0;list-style:none}.s56VVa_largeFileRecord{gap:8px;padding:2px 8px;display:flex}.s56VVa_largeFileRecordExpanded{background:var(--dsw-alias-bg-layer-1)}.s56VVa_largeFileRecordInvalid{color:var(--dsw-alias-state-error-primary)}.s56VVa_largeFileRecordNo{text-align:right;min-width:4ch;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-tertiary);user-select:none;flex:none}.s56VVa_largeFileRecordBody{flex:1;min-width:0}.s56VVa_largeFileRecordSummary{text-align:left;width:100%;font:var(--ds-font-family-code);color:var(--dsw-alias-label-primary);white-space:pre;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;display:block;overflow:hidden}.s56VVa_largeFileRecordSummary:disabled{cursor:default}.s56VVa_largeFileRecordRaw{font:var(--ds-font-family-code);white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px}.s56VVa_largeFileRecordTree{font:var(--ds-font-family-code);margin-top:2px;font-size:12px}.s56VVa_largeFileLines{font:var(--ds-font-family-code);white-space:pre;padding:4px 0;font-size:12px}.s56VVa_largeFileLine{gap:8px;padding:0 8px;display:flex}.s56VVa_largeFileLineNo{text-align:right;min-width:5ch;color:var(--dsw-alias-label-tertiary);user-select:none;flex:none}.s56VVa_largeFileLineText{color:var(--dsw-alias-label-primary);flex:none}.s56VVa_largeFilePager{border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;align-items:center;gap:4px;padding:2px 8px;display:flex}.s56VVa_largeFilePageLabel{text-align:center;min-width:0;font:var(--dsw-font-xxxs-11);color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.s56VVa_explorerMuted{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);cursor:default}[data-sidebar-right-guide]{grid-template-columns:repeat(auto-fill,minmax(96px,120px))!important;place-content:center!important;place-items:stretch stretch!important;gap:12px!important;padding:16px!important;display:grid!important;overflow:auto!important}[data-sidebar-right-guide]>div{aspect-ratio:1!important;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;display:flex!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry]{box-sizing:border-box!important;text-align:center!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:8px!important;width:100%!important;height:100%!important;padding:12px!important}[data-sidebar-right-guide] kbd,[data-sidebar-right-guide] span:has(>kbd){display:none!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry]>span:last-child{flex:0 auto!important;align-items:center!important;width:100%!important;height:auto!important;min-height:0!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal]{position:relative!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=titleRow]{flex-flow:row!important;justify-content:center!important;align-items:center!important;gap:2px!important;height:20px!important;min-height:0!important;display:flex!important;position:static!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=menu],[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=trigger],[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] button:not([class*=main]){z-index:1!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-height:0!important;padding:0!important;position:static!important;top:auto!important;bottom:auto!important;right:auto!important;transform:none!important}[data-sidebar-right-guide] [data-sidebar-right-guide-entry=terminal] [class*=title]{white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}[data-sidebar-right-guide]>div [data-sidebar-right-guide-entry] span{white-space:normal!important;text-overflow:clip!important;min-width:0!important;max-width:100%!important;overflow:visible!important}[data-sidebar-right-guide]>span:first-child{grid-column:1/-1;justify-self:center;margin:4px 0 8px}@media (width<=640px){[data-sidebar-right-guide]{grid-template-columns:repeat(auto-fill,minmax(88px,108px))!important;padding:12px!important}}[data-sidebar-right-guide-entry=terminal]{box-sizing:border-box!important;flex-direction:row!important;justify-content:center!important;align-self:stretch!important;align-items:center!important;gap:6px!important;width:100%!important;height:100%!important;min-height:0!important;padding:8px!important;display:flex!important;overflow:hidden!important}[data-sidebar-right-guide-entry=terminal]>span{flex:0 auto!important}[data-sidebar-right-guide-entry=terminal] [class*=text]{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:1px!important;min-width:0!important;display:flex!important}[data-sidebar-right-guide-entry=terminal] [class*=titleRow]{box-sizing:border-box!important;flex-flow:row!important;justify-content:center!important;align-items:center!important;gap:0!important;width:100%!important;height:18px!important;min-height:0!important;max-height:18px!important;padding:0 20px!important;display:flex!important;position:relative!important}[data-sidebar-right-guide-entry=terminal] [class*=title]{text-overflow:clip!important;white-space:nowrap!important;flex:none!important;max-width:none!important;font-size:12px!important;line-height:1.2!important;overflow:visible!important}[data-sidebar-right-guide-entry=terminal] [class*=trigger]{z-index:1!important;flex:0 0 16px!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;position:absolute!important;top:50%!important;right:0!important;transform:translateY(-50%)!important}[data-sidebar-right-guide-entry=terminal] [class*=trigger] svg{width:12px!important;height:12px!important}[data-sidebar-right-guide-entry=terminal] [class*=description]{text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;overflow:hidden!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal]){justify-content:center!important;align-items:center!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal])>span:last-child{flex-direction:column!important;justify-content:center!important;align-self:center!important;align-items:center!important;display:flex!important}[data-sidebar-right-guide-entry]:not([data-sidebar-right-guide-entry=terminal]){box-sizing:border-box!important;flex-direction:column!important;justify-content:center!important;align-self:stretch!important;align-items:center!important;width:100%!important;height:100%!important;display:flex!important}.s56VVa_nativeTabMenuItem{color:var(--dsw-alias-label-primary);font-size:var(--dsh-content-font-size-secondary,13px);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:5px 8px}.s56VVa_nativeTabMenuItem:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.s56VVa_nativeTabMenuItem:disabled{opacity:.4;cursor:not-allowed}.s56VVa_nativeTabMenuSeparator{border-top:.5px solid var(--dsw-alias-border-l2);height:0;margin:3px 2px}";
|
|
8293
|
+
const tagId$12 = "@sparkelf/dsh-knowledge-base/sidebar.module.css";
|
|
8294
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$12) + "]") === null) {
|
|
8282
8295
|
const tag = document.createElement("style");
|
|
8283
8296
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
8284
|
-
tag.dataset.pluginCss = tagId$
|
|
8285
|
-
tag.textContent = css$
|
|
8297
|
+
tag.dataset.pluginCss = tagId$12;
|
|
8298
|
+
tag.textContent = css$12;
|
|
8286
8299
|
document.head.appendChild(tag);
|
|
8287
8300
|
}
|
|
8288
8301
|
var sidebar_module_css_default = {
|
|
8289
|
-
"
|
|
8290
|
-
"
|
|
8291
|
-
"
|
|
8292
|
-
"
|
|
8293
|
-
"
|
|
8294
|
-
"
|
|
8295
|
-
"
|
|
8296
|
-
"
|
|
8297
|
-
"
|
|
8298
|
-
"
|
|
8299
|
-
"
|
|
8300
|
-
"
|
|
8301
|
-
"
|
|
8302
|
-
"
|
|
8303
|
-
"
|
|
8304
|
-
"
|
|
8305
|
-
"editorPdfFrame": "s56VVa_editorPdfFrame",
|
|
8306
|
-
"explorerBroken": "s56VVa_explorerBroken",
|
|
8307
|
-
"openWithPinActive": "s56VVa_openWithPinActive",
|
|
8308
|
-
"splitChild": "s56VVa_splitChild",
|
|
8309
|
-
"editorModeButton": "s56VVa_editorModeButton",
|
|
8310
|
-
"orphanedType": "s56VVa_orphanedType",
|
|
8311
|
-
"tabTitle": "s56VVa_tabTitle",
|
|
8312
|
-
"paneContent": "s56VVa_paneContent",
|
|
8313
|
-
"gitDiffTabTitle": "s56VVa_gitDiffTabTitle",
|
|
8314
|
-
"editorGitBar": "s56VVa_editorGitBar",
|
|
8315
|
-
"uploadDropArtPrimary": "s56VVa_uploadDropArtPrimary",
|
|
8316
|
-
"mermaidError": "s56VVa_mermaidError",
|
|
8302
|
+
"uploadOverlay": "s56VVa_uploadOverlay",
|
|
8303
|
+
"tabClose": "s56VVa_tabClose",
|
|
8304
|
+
"largeFileRecordExpanded": "s56VVa_largeFileRecordExpanded",
|
|
8305
|
+
"uploadDropZone": "s56VVa_uploadDropZone",
|
|
8306
|
+
"tabBarPlus": "s56VVa_tabBarPlus",
|
|
8307
|
+
"paneEmptyCards": "s56VVa_paneEmptyCards",
|
|
8308
|
+
"dividerRow": "s56VVa_dividerRow",
|
|
8309
|
+
"explorerRowRevealed": "s56VVa_explorerRowRevealed",
|
|
8310
|
+
"editorHtml": "s56VVa_editorHtml",
|
|
8311
|
+
"editorMd": "s56VVa_editorMd",
|
|
8312
|
+
"editorMain": "s56VVa_editorMain",
|
|
8313
|
+
"mermaidModal": "s56VVa_mermaidModal",
|
|
8314
|
+
"openWithPin": "s56VVa_openWithPin",
|
|
8315
|
+
"explorerSelectionText": "s56VVa_explorerSelectionText",
|
|
8316
|
+
"dropDown": "s56VVa_dropDown",
|
|
8317
|
+
"sandboxStatusOff": "s56VVa_sandboxStatusOff",
|
|
8317
8318
|
"editorModeToggle": "s56VVa_editorModeToggle",
|
|
8318
|
-
"
|
|
8319
|
-
"
|
|
8320
|
-
"
|
|
8321
|
-
"
|
|
8322
|
-
"
|
|
8323
|
-
"
|
|
8324
|
-
"
|
|
8325
|
-
"
|
|
8326
|
-
"
|
|
8327
|
-
"
|
|
8328
|
-
"
|
|
8329
|
-
"
|
|
8330
|
-
"
|
|
8331
|
-
"
|
|
8319
|
+
"largeFile": "s56VVa_largeFile",
|
|
8320
|
+
"largeFileRecord": "s56VVa_largeFileRecord",
|
|
8321
|
+
"divider": "s56VVa_divider",
|
|
8322
|
+
"tabBoundaryError": "s56VVa_tabBoundaryError",
|
|
8323
|
+
"dropOverlay": "s56VVa_dropOverlay",
|
|
8324
|
+
"editorPdfStage": "s56VVa_editorPdfStage",
|
|
8325
|
+
"paneCard": "s56VVa_paneCard",
|
|
8326
|
+
"selectionPopup": "s56VVa_selectionPopup",
|
|
8327
|
+
"chipIcon": "s56VVa_chipIcon",
|
|
8328
|
+
"editorBody": "s56VVa_editorBody",
|
|
8329
|
+
"panelBody": "s56VVa_panelBody",
|
|
8330
|
+
"splitChild": "s56VVa_splitChild",
|
|
8331
|
+
"openWithLabel": "s56VVa_openWithLabel",
|
|
8332
|
+
"explorerRowDropTarget": "s56VVa_explorerRowDropTarget",
|
|
8333
|
+
"split": "s56VVa_split",
|
|
8334
|
+
"openWithName": "s56VVa_openWithName",
|
|
8332
8335
|
"tabList": "s56VVa_tabList",
|
|
8333
|
-
"
|
|
8334
|
-
"
|
|
8335
|
-
"
|
|
8336
|
-
"
|
|
8336
|
+
"nativeTabHost": "s56VVa_nativeTabHost",
|
|
8337
|
+
"mermaidModalToolbar": "s56VVa_mermaidModalToolbar",
|
|
8338
|
+
"tabBadge": "s56VVa_tabBadge",
|
|
8339
|
+
"editorGitBarMod": "s56VVa_editorGitBarMod",
|
|
8340
|
+
"mermaidError": "s56VVa_mermaidError",
|
|
8341
|
+
"browserBlocked": "s56VVa_browserBlocked",
|
|
8342
|
+
"browserBlockedActions": "s56VVa_browserBlockedActions",
|
|
8343
|
+
"editorStatusError": "s56VVa_editorStatusError",
|
|
8337
8344
|
"browserInput": "s56VVa_browserInput",
|
|
8338
|
-
"
|
|
8339
|
-
"
|
|
8340
|
-
"
|
|
8341
|
-
"
|
|
8342
|
-
"
|
|
8345
|
+
"openWithPinActive": "s56VVa_openWithPinActive",
|
|
8346
|
+
"paneTab": "s56VVa_paneTab",
|
|
8347
|
+
"uploadDropArtAccent": "s56VVa_uploadDropArtAccent",
|
|
8348
|
+
"tocPanel": "s56VVa_tocPanel",
|
|
8349
|
+
"largeFileRecordRaw": "s56VVa_largeFileRecordRaw",
|
|
8350
|
+
"nativeTabMenuSeparator": "s56VVa_nativeTabMenuSeparator",
|
|
8351
|
+
"sandboxAction": "s56VVa_sandboxAction",
|
|
8352
|
+
"splitRow": "s56VVa_splitRow",
|
|
8343
8353
|
"openWithChevron": "s56VVa_openWithChevron",
|
|
8344
|
-
"
|
|
8345
|
-
"
|
|
8346
|
-
"
|
|
8354
|
+
"tabBarRightActions": "s56VVa_tabBarRightActions",
|
|
8355
|
+
"explorer": "s56VVa_explorer",
|
|
8356
|
+
"editorPlaceholder": "s56VVa_editorPlaceholder",
|
|
8357
|
+
"tabUnreadDot": "s56VVa_tabUnreadDot",
|
|
8358
|
+
"mermaidModalStage": "s56VVa_mermaidModalStage",
|
|
8359
|
+
"paneContent": "s56VVa_paneContent",
|
|
8360
|
+
"editorDownloadLink": "s56VVa_editorDownloadLink",
|
|
8361
|
+
"mermaidCode": "s56VVa_mermaidCode",
|
|
8362
|
+
"browserStart": "s56VVa_browserStart",
|
|
8347
8363
|
"editorGitAdd": "s56VVa_editorGitAdd",
|
|
8348
|
-
"
|
|
8349
|
-
"
|
|
8350
|
-
"
|
|
8351
|
-
"
|
|
8352
|
-
"
|
|
8364
|
+
"uploadDropArtCut": "s56VVa_uploadDropArtCut",
|
|
8365
|
+
"explorerHidden": "s56VVa_explorerHidden",
|
|
8366
|
+
"mermaidWrap": "s56VVa_mermaidWrap",
|
|
8367
|
+
"boundaryError": "s56VVa_boundaryError",
|
|
8368
|
+
"editorBanner": "s56VVa_editorBanner",
|
|
8369
|
+
"explorerHeader": "s56VVa_explorerHeader",
|
|
8370
|
+
"dropLeft": "s56VVa_dropLeft",
|
|
8371
|
+
"terminalRetry": "s56VVa_terminalRetry",
|
|
8372
|
+
"toggleButton": "s56VVa_toggleButton",
|
|
8373
|
+
"uploadDropArtPrimary": "s56VVa_uploadDropArtPrimary",
|
|
8374
|
+
"largeFilePageLabel": "s56VVa_largeFilePageLabel",
|
|
8375
|
+
"editorCm": "s56VVa_editorCm",
|
|
8376
|
+
"explorerRowSelected": "s56VVa_explorerRowSelected",
|
|
8377
|
+
"editorBlameHead": "s56VVa_editorBlameHead",
|
|
8378
|
+
"uploadOverlayProgressFill": "s56VVa_uploadOverlayProgressFill",
|
|
8379
|
+
"browserBar": "s56VVa_browserBar",
|
|
8380
|
+
"editorCmHidden": "s56VVa_editorCmHidden",
|
|
8381
|
+
"editorGitBarAdd": "s56VVa_editorGitBarAdd",
|
|
8382
|
+
"largeFileList": "s56VVa_largeFileList",
|
|
8383
|
+
"explorerMuted": "s56VVa_explorerMuted",
|
|
8384
|
+
"sandboxStatusOn": "s56VVa_sandboxStatusOn",
|
|
8385
|
+
"editorSearchResult": "s56VVa_editorSearchResult",
|
|
8386
|
+
"nativeTabMenuItem": "s56VVa_nativeTabMenuItem",
|
|
8387
|
+
"editorSearchResultDir": "s56VVa_editorSearchResultDir",
|
|
8388
|
+
"editorPdfFrame": "s56VVa_editorPdfFrame",
|
|
8389
|
+
"explorerTime": "s56VVa_explorerTime",
|
|
8390
|
+
"tocItem": "s56VVa_tocItem",
|
|
8391
|
+
"editorModeActive": "s56VVa_editorModeActive",
|
|
8392
|
+
"browserFrame": "s56VVa_browserFrame",
|
|
8393
|
+
"mermaidCopy": "s56VVa_mermaidCopy",
|
|
8394
|
+
"largeFileLine": "s56VVa_largeFileLine",
|
|
8395
|
+
"editorTreeSearch": "s56VVa_editorTreeSearch",
|
|
8396
|
+
"dockFallback": "s56VVa_dockFallback",
|
|
8353
8397
|
"sandboxStatusText": "s56VVa_sandboxStatusText",
|
|
8354
|
-
"
|
|
8355
|
-
"
|
|
8356
|
-
"
|
|
8357
|
-
"
|
|
8398
|
+
"gitPlaceholder": "s56VVa_gitPlaceholder",
|
|
8399
|
+
"uploadOverlayCard": "s56VVa_uploadOverlayCard",
|
|
8400
|
+
"browserBlockedButton": "s56VVa_browserBlockedButton",
|
|
8401
|
+
"mermaidHeader": "s56VVa_mermaidHeader",
|
|
8358
8402
|
"explorerError": "s56VVa_explorerError",
|
|
8359
|
-
"
|
|
8360
|
-
"
|
|
8361
|
-
"
|
|
8403
|
+
"editorDocxZoomRange": "s56VVa_editorDocxZoomRange",
|
|
8404
|
+
"largeFileRecordSummary": "s56VVa_largeFileRecordSummary",
|
|
8405
|
+
"explorerDir": "s56VVa_explorerDir",
|
|
8406
|
+
"editorTreeToggleActive": "s56VVa_editorTreeToggleActive",
|
|
8407
|
+
"browserBlockedTitle": "s56VVa_browserBlockedTitle",
|
|
8408
|
+
"gitEmpty": "s56VVa_gitEmpty",
|
|
8409
|
+
"bottomPanel": "s56VVa_bottomPanel",
|
|
8410
|
+
"editorPptxButton": "s56VVa_editorPptxButton",
|
|
8411
|
+
"dropCenter": "s56VVa_dropCenter",
|
|
8412
|
+
"uploadOverlayStatus": "s56VVa_uploadOverlayStatus",
|
|
8413
|
+
"editorTitle": "s56VVa_editorTitle",
|
|
8414
|
+
"uploadDropChatCard": "s56VVa_uploadDropChatCard",
|
|
8415
|
+
"largeFileLineNo": "s56VVa_largeFileLineNo",
|
|
8416
|
+
"browserBlockedDesc": "s56VVa_browserBlockedDesc",
|
|
8417
|
+
"editorBlame": "s56VVa_editorBlame",
|
|
8362
8418
|
"editorSearchHint": "s56VVa_editorSearchHint",
|
|
8363
|
-
"
|
|
8364
|
-
"
|
|
8419
|
+
"tabBarDrop": "s56VVa_tabBarDrop",
|
|
8420
|
+
"explorerDirChanged": "s56VVa_explorerDirChanged",
|
|
8421
|
+
"workbench": "s56VVa_workbench",
|
|
8422
|
+
"editor": "s56VVa_editor",
|
|
8365
8423
|
"editorGitDel": "s56VVa_editorGitDel",
|
|
8366
|
-
"
|
|
8367
|
-
"
|
|
8368
|
-
"
|
|
8369
|
-
"
|
|
8370
|
-
"
|
|
8371
|
-
"
|
|
8372
|
-
"editorHeader": "s56VVa_editorHeader",
|
|
8373
|
-
"explorerTime": "s56VVa_explorerTime",
|
|
8374
|
-
"chipUnread": "s56VVa_chipUnread",
|
|
8424
|
+
"explorerRow": "s56VVa_explorerRow",
|
|
8425
|
+
"editorGitMod": "s56VVa_editorGitMod",
|
|
8426
|
+
"editorTreeDock": "s56VVa_editorTreeDock",
|
|
8427
|
+
"explorerBody": "s56VVa_explorerBody",
|
|
8428
|
+
"uploadDropZoneText": "s56VVa_uploadDropZoneText",
|
|
8429
|
+
"largeFileRecords": "s56VVa_largeFileRecords",
|
|
8375
8430
|
"largeFileBody": "s56VVa_largeFileBody",
|
|
8376
|
-
"editorDownloadLink": "s56VVa_editorDownloadLink",
|
|
8377
|
-
"editorSearchInput": "s56VVa_editorSearchInput",
|
|
8378
|
-
"explorerDir": "s56VVa_explorerDir",
|
|
8379
|
-
"editorPdfDragShield": "s56VVa_editorPdfDragShield",
|
|
8380
|
-
"largeFileLines": "s56VVa_largeFileLines",
|
|
8381
|
-
"sandboxStatusOn": "s56VVa_sandboxStatusOn",
|
|
8382
|
-
"dividerRow": "s56VVa_dividerRow",
|
|
8383
|
-
"tocFlash": "s56VVa_tocFlash",
|
|
8384
|
-
"mermaidModalToolbar": "s56VVa_mermaidModalToolbar",
|
|
8385
|
-
"dropUp": "s56VVa_dropUp",
|
|
8386
8431
|
"explorerAppIcon": "s56VVa_explorerAppIcon",
|
|
8387
|
-
"
|
|
8388
|
-
"
|
|
8389
|
-
"
|
|
8390
|
-
"
|
|
8391
|
-
"tocBar": "s56VVa_tocBar",
|
|
8392
|
-
"tabUnreadDot": "s56VVa_tabUnreadDot",
|
|
8393
|
-
"tocItemText": "s56VVa_tocItemText",
|
|
8394
|
-
"tabActive": "s56VVa_tabActive",
|
|
8432
|
+
"gitDiffTabTitle": "s56VVa_gitDiffTabTitle",
|
|
8433
|
+
"gitError": "s56VVa_gitError",
|
|
8434
|
+
"paneTabHidden": "s56VVa_paneTabHidden",
|
|
8435
|
+
"editorModeButton": "s56VVa_editorModeButton",
|
|
8395
8436
|
"explorerCopied": "s56VVa_explorerCopied",
|
|
8396
|
-
"mermaidModalHint": "s56VVa_mermaidModalHint",
|
|
8397
|
-
"editorHtmlBlock": "s56VVa_editorHtmlBlock",
|
|
8398
|
-
"browserBlockedTitle": "s56VVa_browserBlockedTitle",
|
|
8399
|
-
"iconButton": "s56VVa_iconButton",
|
|
8400
|
-
"explorerDirChanged": "s56VVa_explorerDirChanged",
|
|
8401
|
-
"mermaidWrap": "s56VVa_mermaidWrap",
|
|
8402
|
-
"editorBlame": "s56VVa_editorBlame",
|
|
8403
|
-
"bottomResize": "s56VVa_bottomResize",
|
|
8404
|
-
"explorerRowSelected": "s56VVa_explorerRowSelected",
|
|
8405
|
-
"uploadDropChatHint": "s56VVa_uploadDropChatHint",
|
|
8406
|
-
"uploadDropArtCut": "s56VVa_uploadDropArtCut",
|
|
8407
|
-
"uploadOverlay": "s56VVa_uploadOverlay",
|
|
8408
|
-
"editorBanner": "s56VVa_editorBanner",
|
|
8409
|
-
"dsh-toc-flash": "s56VVa_dsh-toc-flash",
|
|
8410
8437
|
"editorPathInput": "s56VVa_editorPathInput",
|
|
8411
|
-
"
|
|
8412
|
-
"
|
|
8413
|
-
"
|
|
8414
|
-
"
|
|
8415
|
-
"
|
|
8416
|
-
"
|
|
8417
|
-
"largeFileRecordExpanded": "s56VVa_largeFileRecordExpanded",
|
|
8418
|
-
"largeFileRecordBody": "s56VVa_largeFileRecordBody",
|
|
8419
|
-
"tabBarPlus": "s56VVa_tabBarPlus",
|
|
8420
|
-
"mermaidModalButton": "s56VVa_mermaidModalButton",
|
|
8421
|
-
"editorDocxZoomRange": "s56VVa_editorDocxZoomRange",
|
|
8422
|
-
"dropCenter": "s56VVa_dropCenter",
|
|
8423
|
-
"divider": "s56VVa_divider",
|
|
8424
|
-
"paneEmptyCards": "s56VVa_paneEmptyCards",
|
|
8425
|
-
"dirtyDot": "s56VVa_dirtyDot",
|
|
8426
|
-
"uploadDropZone": "s56VVa_uploadDropZone",
|
|
8427
|
-
"mermaidBody": "s56VVa_mermaidBody",
|
|
8428
|
-
"editorGitBarAdd": "s56VVa_editorGitBarAdd",
|
|
8429
|
-
"splitRow": "s56VVa_splitRow",
|
|
8430
|
-
"gitError": "s56VVa_gitError",
|
|
8431
|
-
"panel": "s56VVa_panel",
|
|
8438
|
+
"uploadOverlayCancel": "s56VVa_uploadOverlayCancel",
|
|
8439
|
+
"largeFileNoticeAction": "s56VVa_largeFileNoticeAction",
|
|
8440
|
+
"explorerGitName": "s56VVa_explorerGitName",
|
|
8441
|
+
"tocItemText": "s56VVa_tocItemText",
|
|
8442
|
+
"dropUp": "s56VVa_dropUp",
|
|
8443
|
+
"explorerRoot": "s56VVa_explorerRoot",
|
|
8432
8444
|
"uploadDropZonePill": "s56VVa_uploadDropZonePill",
|
|
8433
|
-
"
|
|
8434
|
-
"
|
|
8435
|
-
"
|
|
8436
|
-
"
|
|
8437
|
-
"editorBlameSummary": "s56VVa_editorBlameSummary",
|
|
8438
|
-
"editorHtml": "s56VVa_editorHtml",
|
|
8439
|
-
"tabBarRightActions": "s56VVa_tabBarRightActions",
|
|
8440
|
-
"openWithPin": "s56VVa_openWithPin",
|
|
8441
|
-
"explorerName": "s56VVa_explorerName",
|
|
8442
|
-
"workbench": "s56VVa_workbench",
|
|
8445
|
+
"largeFileRecordInvalid": "s56VVa_largeFileRecordInvalid",
|
|
8446
|
+
"bottomResizeActive": "s56VVa_bottomResizeActive",
|
|
8447
|
+
"explorerSymlink": "s56VVa_explorerSymlink",
|
|
8448
|
+
"dsh-row-in": "s56VVa_dsh-row-in",
|
|
8443
8449
|
"editorGitBarGutter": "s56VVa_editorGitBarGutter",
|
|
8450
|
+
"explorerSelectionActions": "s56VVa_explorerSelectionActions",
|
|
8451
|
+
"chipUnread": "s56VVa_chipUnread",
|
|
8452
|
+
"uploadDropChatHint": "s56VVa_uploadDropChatHint",
|
|
8453
|
+
"explorerHiddenPane": "s56VVa_explorerHiddenPane",
|
|
8454
|
+
"panel": "s56VVa_panel",
|
|
8455
|
+
"editorTreeResize": "s56VVa_editorTreeResize",
|
|
8444
8456
|
"editorError": "s56VVa_editorError",
|
|
8445
|
-
"
|
|
8446
|
-
"
|
|
8447
|
-
"
|
|
8448
|
-
"
|
|
8449
|
-
"
|
|
8450
|
-
"tabBar": "s56VVa_tabBar",
|
|
8451
|
-
"dockFallback": "s56VVa_dockFallback",
|
|
8452
|
-
"selectionPopup": "s56VVa_selectionPopup",
|
|
8453
|
-
"explorerRoot": "s56VVa_explorerRoot",
|
|
8454
|
-
"uploadDropHero": "s56VVa_uploadDropHero",
|
|
8455
|
-
"mermaidModal": "s56VVa_mermaidModal",
|
|
8456
|
-
"paneCard": "s56VVa_paneCard",
|
|
8457
|
-
"tab": "s56VVa_tab",
|
|
8458
|
-
"tabBoundaryError": "s56VVa_tabBoundaryError",
|
|
8459
|
-
"openWithLabel": "s56VVa_openWithLabel",
|
|
8460
|
-
"explorerRowRevealed": "s56VVa_explorerRowRevealed",
|
|
8461
|
-
"paneTab": "s56VVa_paneTab",
|
|
8462
|
-
"editorSearchResultDir": "s56VVa_editorSearchResultDir",
|
|
8463
|
-
"browserBlocked": "s56VVa_browserBlocked",
|
|
8464
|
-
"tabBarDrop": "s56VVa_tabBarDrop",
|
|
8465
|
-
"gitDiffTabHeader": "s56VVa_gitDiffTabHeader",
|
|
8466
|
-
"largeFileNoticeAction": "s56VVa_largeFileNoticeAction",
|
|
8467
|
-
"editorMd": "s56VVa_editorMd",
|
|
8468
|
-
"editorPdf": "s56VVa_editorPdf",
|
|
8469
|
-
"editorSearchResultLabel": "s56VVa_editorSearchResultLabel",
|
|
8470
|
-
"paneTabHidden": "s56VVa_paneTabHidden",
|
|
8457
|
+
"editorPdfDragShieldActive": "s56VVa_editorPdfDragShieldActive",
|
|
8458
|
+
"tocBar": "s56VVa_tocBar",
|
|
8459
|
+
"uploadOverlayTitle": "s56VVa_uploadOverlayTitle",
|
|
8460
|
+
"largeFileRecordNo": "s56VVa_largeFileRecordNo",
|
|
8461
|
+
"largeFileRecordTree": "s56VVa_largeFileRecordTree",
|
|
8471
8462
|
"dropRight": "s56VVa_dropRight",
|
|
8463
|
+
"explorerBroken": "s56VVa_explorerBroken",
|
|
8464
|
+
"paneDrop": "s56VVa_paneDrop",
|
|
8465
|
+
"mermaidMarkdown": "s56VVa_mermaidMarkdown",
|
|
8466
|
+
"explorerRenaming": "s56VVa_explorerRenaming",
|
|
8467
|
+
"editorHtmlBlock": "s56VVa_editorHtmlBlock",
|
|
8468
|
+
"editorTreePanel": "s56VVa_editorTreePanel",
|
|
8469
|
+
"sandboxStatus": "s56VVa_sandboxStatus",
|
|
8470
|
+
"browserMessage": "s56VVa_browserMessage",
|
|
8471
|
+
"tocButton": "s56VVa_tocButton",
|
|
8472
|
+
"bottomClose": "s56VVa_bottomClose",
|
|
8473
|
+
"editorPdfToolbar": "s56VVa_editorPdfToolbar",
|
|
8474
|
+
"editorBannerAction": "s56VVa_editorBannerAction",
|
|
8475
|
+
"mermaidModalHint": "s56VVa_mermaidModalHint",
|
|
8476
|
+
"uploadDropHero": "s56VVa_uploadDropHero",
|
|
8477
|
+
"dirtyDot": "s56VVa_dirtyDot",
|
|
8478
|
+
"editorGitBar": "s56VVa_editorGitBar",
|
|
8472
8479
|
"explorerRenameInput": "s56VVa_explorerRenameInput",
|
|
8473
|
-
"
|
|
8474
|
-
"
|
|
8475
|
-
"
|
|
8476
|
-
"
|
|
8477
|
-
"
|
|
8478
|
-
"explorerRowDropTarget": "s56VVa_explorerRowDropTarget",
|
|
8479
|
-
"uploadOverlayProgressFill": "s56VVa_uploadOverlayProgressFill",
|
|
8480
|
-
"uploadOverlayStatus": "s56VVa_uploadOverlayStatus",
|
|
8481
|
-
"editorTreeSearch": "s56VVa_editorTreeSearch",
|
|
8482
|
-
"editorMain": "s56VVa_editorMain",
|
|
8483
|
-
"explorerMuted": "s56VVa_explorerMuted",
|
|
8484
|
-
"largeFilePageLabel": "s56VVa_largeFilePageLabel",
|
|
8485
|
-
"tabBadge": "s56VVa_tabBadge",
|
|
8486
|
-
"mermaidCode": "s56VVa_mermaidCode",
|
|
8487
|
-
"toggleButton": "s56VVa_toggleButton",
|
|
8480
|
+
"editorSearchInput": "s56VVa_editorSearchInput",
|
|
8481
|
+
"explorerName": "s56VVa_explorerName",
|
|
8482
|
+
"explorerRef": "s56VVa_explorerRef",
|
|
8483
|
+
"iconButton": "s56VVa_iconButton",
|
|
8484
|
+
"mermaidBody": "s56VVa_mermaidBody",
|
|
8488
8485
|
"gitDiffTab": "s56VVa_gitDiffTab",
|
|
8489
|
-
"
|
|
8490
|
-
"
|
|
8491
|
-
"
|
|
8492
|
-
"
|
|
8493
|
-
"
|
|
8494
|
-
"
|
|
8495
|
-
"
|
|
8486
|
+
"mermaidInfo": "s56VVa_mermaidInfo",
|
|
8487
|
+
"editorTreePanelFull": "s56VVa_editorTreePanelFull",
|
|
8488
|
+
"orphanedType": "s56VVa_orphanedType",
|
|
8489
|
+
"tabActive": "s56VVa_tabActive",
|
|
8490
|
+
"editorPdfFrameBlocked": "s56VVa_editorPdfFrameBlocked",
|
|
8491
|
+
"mermaidModalButton": "s56VVa_mermaidModalButton",
|
|
8492
|
+
"explorerActionError": "s56VVa_explorerActionError",
|
|
8493
|
+
"dividerCol": "s56VVa_dividerCol",
|
|
8496
8494
|
"dividerActive": "s56VVa_dividerActive",
|
|
8497
|
-
"
|
|
8495
|
+
"explorerActionErrorText": "s56VVa_explorerActionErrorText",
|
|
8496
|
+
"explorerSelectionBar": "s56VVa_explorerSelectionBar",
|
|
8497
|
+
"bottomPanelHidden": "s56VVa_bottomPanelHidden",
|
|
8498
|
+
"gitDiffTabHeader": "s56VVa_gitDiffTabHeader",
|
|
8499
|
+
"explorerEmpty": "s56VVa_explorerEmpty",
|
|
8500
|
+
"largeFileLineText": "s56VVa_largeFileLineText",
|
|
8501
|
+
"editorGitBarDel": "s56VVa_editorGitBarDel",
|
|
8502
|
+
"tocItemLevel": "s56VVa_tocItemLevel",
|
|
8503
|
+
"editorStatus": "s56VVa_editorStatus",
|
|
8504
|
+
"largeFileNotice": "s56VVa_largeFileNotice",
|
|
8505
|
+
"tocFlash": "s56VVa_tocFlash",
|
|
8506
|
+
"pane": "s56VVa_pane",
|
|
8507
|
+
"largeFileRecordBody": "s56VVa_largeFileRecordBody",
|
|
8508
|
+
"splitCol": "s56VVa_splitCol",
|
|
8509
|
+
"largeFileDownload": "s56VVa_largeFileDownload",
|
|
8498
8510
|
"browser": "s56VVa_browser",
|
|
8499
|
-
"
|
|
8500
|
-
"
|
|
8501
|
-
"
|
|
8502
|
-
"editorGitMod": "s56VVa_editorGitMod",
|
|
8503
|
-
"editorTreeDock": "s56VVa_editorTreeDock",
|
|
8504
|
-
"sandboxAction": "s56VVa_sandboxAction",
|
|
8511
|
+
"tab": "s56VVa_tab",
|
|
8512
|
+
"sandboxDot": "s56VVa_sandboxDot",
|
|
8513
|
+
"tabBar": "s56VVa_tabBar",
|
|
8505
8514
|
"uploadOverlayProgress": "s56VVa_uploadOverlayProgress",
|
|
8506
|
-
"
|
|
8507
|
-
"
|
|
8515
|
+
"editorBlameSummary": "s56VVa_editorBlameSummary",
|
|
8516
|
+
"largeFilePager": "s56VVa_largeFilePager",
|
|
8517
|
+
"editorPdf": "s56VVa_editorPdf",
|
|
8518
|
+
"bottomResize": "s56VVa_bottomResize",
|
|
8519
|
+
"uploadDropMask": "s56VVa_uploadDropMask",
|
|
8520
|
+
"editorSearchResultLabel": "s56VVa_editorSearchResultLabel",
|
|
8521
|
+
"editorGitBarSpacer": "s56VVa_editorGitBarSpacer",
|
|
8522
|
+
"tabTitle": "s56VVa_tabTitle",
|
|
8508
8523
|
"editorBinary": "s56VVa_editorBinary",
|
|
8509
|
-
"
|
|
8510
|
-
"
|
|
8511
|
-
"
|
|
8512
|
-
"
|
|
8513
|
-
"
|
|
8524
|
+
"largeFileLines": "s56VVa_largeFileLines",
|
|
8525
|
+
"dsh-toc-flash": "s56VVa_dsh-toc-flash",
|
|
8526
|
+
"editorBinaryNotice": "s56VVa_editorBinaryNotice",
|
|
8527
|
+
"editorHeader": "s56VVa_editorHeader",
|
|
8528
|
+
"editorPdfDragShield": "s56VVa_editorPdfDragShield"
|
|
8529
|
+
};
|
|
8530
|
+
//#endregion
|
|
8531
|
+
//#region ../../../DSH-better-sidebar/src/client/reveal-bus.ts
|
|
8532
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
8533
|
+
const revealBus = {
|
|
8534
|
+
emit(path) {
|
|
8535
|
+
for (const listener of listeners) listener(path);
|
|
8536
|
+
},
|
|
8537
|
+
subscribe(listener) {
|
|
8538
|
+
listeners.add(listener);
|
|
8539
|
+
return () => {
|
|
8540
|
+
listeners.delete(listener);
|
|
8541
|
+
};
|
|
8542
|
+
}
|
|
8514
8543
|
};
|
|
8515
8544
|
//#endregion
|
|
8516
8545
|
//#region ../../../DSH-better-sidebar/src/client/FileTree.tsx
|
|
@@ -9372,20 +9401,32 @@ window.__ModuleLoader__.load({
|
|
|
9372
9401
|
visible: visible !== false,
|
|
9373
9402
|
onStale: retryDirs
|
|
9374
9403
|
});
|
|
9404
|
+
(0, react.useEffect)(() => {
|
|
9405
|
+
if (revealed.length === 0) return;
|
|
9406
|
+
setSelected(new Set(revealed));
|
|
9407
|
+
}, [revealed]);
|
|
9375
9408
|
(0, react.useEffect)(() => {
|
|
9376
9409
|
if (revealed.length === 0 || propsRef.current.hidden === true) return;
|
|
9377
9410
|
const body = bodyRef.current;
|
|
9378
9411
|
if (body === null) return;
|
|
9379
|
-
|
|
9380
|
-
|
|
9381
|
-
|
|
9382
|
-
|
|
9383
|
-
|
|
9384
|
-
|
|
9385
|
-
|
|
9386
|
-
|
|
9387
|
-
|
|
9388
|
-
|
|
9412
|
+
let frame = 0;
|
|
9413
|
+
const run = () => {
|
|
9414
|
+
const row = body.querySelector("[data-dsh-revealed]");
|
|
9415
|
+
if (row === null) {
|
|
9416
|
+
frame = window.requestAnimationFrame(run);
|
|
9417
|
+
return;
|
|
9418
|
+
}
|
|
9419
|
+
const bodyTop = body.getBoundingClientRect().top;
|
|
9420
|
+
const rowRect = row.getBoundingClientRect();
|
|
9421
|
+
const target = body.scrollTop + (rowRect.top + rowRect.height / 2) - (bodyTop + body.clientHeight / 2);
|
|
9422
|
+
const max = Math.max(body.scrollHeight - body.clientHeight, 0);
|
|
9423
|
+
body.scrollTo({
|
|
9424
|
+
top: Math.min(Math.max(target, 0), max),
|
|
9425
|
+
behavior: "auto"
|
|
9426
|
+
});
|
|
9427
|
+
};
|
|
9428
|
+
run();
|
|
9429
|
+
return () => window.cancelAnimationFrame(frame);
|
|
9389
9430
|
}, [revealed, data]);
|
|
9390
9431
|
/** Copy `text`; on success flip the row's copied label for a moment. */
|
|
9391
9432
|
const copyPath = (0, react.useCallback)((text, path) => {
|
|
@@ -9806,14 +9847,23 @@ window.__ModuleLoader__.load({
|
|
|
9806
9847
|
});
|
|
9807
9848
|
}, [reportOpenFailure]);
|
|
9808
9849
|
const revealPath = (0, react.useCallback)((path) => {
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
if (
|
|
9813
|
-
|
|
9814
|
-
|
|
9850
|
+
setSelected(/* @__PURE__ */ new Set([path]));
|
|
9851
|
+
window.requestAnimationFrame(() => {
|
|
9852
|
+
const body = bodyRef.current;
|
|
9853
|
+
if (body === null) return;
|
|
9854
|
+
const row = body.querySelector("[data-dsh-selected]");
|
|
9855
|
+
if (row === null) return;
|
|
9856
|
+
const bodyTop = body.getBoundingClientRect().top;
|
|
9857
|
+
const rowRect = row.getBoundingClientRect();
|
|
9858
|
+
const target = body.scrollTop + (rowRect.top + rowRect.height / 2) - (bodyTop + body.clientHeight / 2);
|
|
9859
|
+
const max = Math.max(body.scrollHeight - body.clientHeight, 0);
|
|
9860
|
+
body.scrollTo({
|
|
9861
|
+
top: Math.min(Math.max(target, 0), max),
|
|
9862
|
+
behavior: "auto"
|
|
9863
|
+
});
|
|
9815
9864
|
});
|
|
9816
|
-
}, [
|
|
9865
|
+
}, []);
|
|
9866
|
+
(0, react.useEffect)(() => revealBus.subscribe(revealPath), [revealPath]);
|
|
9817
9867
|
/** The menu label of one plugin open target: a locale key for the built-ins,
|
|
9818
9868
|
* the user's own name for custom editors, plus the SSH hint in remote mode. */
|
|
9819
9869
|
const openWithLabelOf = (target) => {
|
|
@@ -10856,13 +10906,13 @@ window.__ModuleLoader__.load({
|
|
|
10856
10906
|
];
|
|
10857
10907
|
//#endregion
|
|
10858
10908
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeFileTree.module.css.mjs
|
|
10859
|
-
const css$
|
|
10860
|
-
const tagId$
|
|
10861
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
10909
|
+
const css$11 = "._2iOZpG_treeFrame{min-width:0;display:block}._2iOZpG_treeFrame [data-kb-selected=true]{background:var(--dsw-alias-interactive-bg-active)}._2iOZpG_treeFrame [data-kb-mtime]{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding-left:8px}";
|
|
10910
|
+
const tagId$11 = "@sparkelf/dsh-knowledge-base/KnowledgeFileTree.module.css";
|
|
10911
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$11) + "]") === null) {
|
|
10862
10912
|
const tag = document.createElement("style");
|
|
10863
10913
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
10864
|
-
tag.dataset.pluginCss = tagId$
|
|
10865
|
-
tag.textContent = css$
|
|
10914
|
+
tag.dataset.pluginCss = tagId$11;
|
|
10915
|
+
tag.textContent = css$11;
|
|
10866
10916
|
document.head.appendChild(tag);
|
|
10867
10917
|
}
|
|
10868
10918
|
var KnowledgeFileTree_module_css_default = { "treeFrame": "_2iOZpG_treeFrame" };
|
|
@@ -11154,6 +11204,19 @@ window.__ModuleLoader__.load({
|
|
|
11154
11204
|
collapseRail: "Collapse the sidebar",
|
|
11155
11205
|
expandRail: "Expand the sidebar",
|
|
11156
11206
|
sectionKnowledge: "Knowledge base",
|
|
11207
|
+
scopeKnowledge: "Knowledge base",
|
|
11208
|
+
scopeGraph: "Graph",
|
|
11209
|
+
graphLoading: "Reading the graph tree…",
|
|
11210
|
+
graphFailed: "Could not read the graph tree.",
|
|
11211
|
+
graphRetry: "Retry",
|
|
11212
|
+
graphEmptyTitle: "No readable graph yet",
|
|
11213
|
+
graphEmptyBody: "Create a topic under a scope’s graph folder and the canvas will appear here.",
|
|
11214
|
+
graphNoAccess: "Some graphs are not visible to you.",
|
|
11215
|
+
graphUnitGraphs: "graphs",
|
|
11216
|
+
graphUnitLines: "topics",
|
|
11217
|
+
graphUnitRelations: "relations",
|
|
11218
|
+
graphUnitDocuments: "documents",
|
|
11219
|
+
graphSelectHint: "Pick a graph in the tree, then pick a topic to open its card.",
|
|
11157
11220
|
sectionPinned: "Pinned",
|
|
11158
11221
|
actionFilter: "Filter this tree",
|
|
11159
11222
|
actionNew: "New knowledge document",
|
|
@@ -11323,6 +11386,8 @@ window.__ModuleLoader__.load({
|
|
|
11323
11386
|
previewTruncated: "This file is large; only the start is shown.",
|
|
11324
11387
|
modifiedAt: "Modified",
|
|
11325
11388
|
openedInSidebar: "Opened in the file window on the right.",
|
|
11389
|
+
previewClose: "Close preview",
|
|
11390
|
+
previewLoading: "Loading document…",
|
|
11326
11391
|
copyCode: "Copy",
|
|
11327
11392
|
copiedCode: "Copied",
|
|
11328
11393
|
retrieval: "Retrieval",
|
|
@@ -11775,6 +11840,19 @@ window.__ModuleLoader__.load({
|
|
|
11775
11840
|
collapseRail: "收起侧边栏",
|
|
11776
11841
|
expandRail: "展开侧边栏",
|
|
11777
11842
|
sectionKnowledge: "知识库",
|
|
11843
|
+
scopeKnowledge: "知识库",
|
|
11844
|
+
scopeGraph: "图谱",
|
|
11845
|
+
graphLoading: "正在读取图谱…",
|
|
11846
|
+
graphFailed: "图谱读取失败。",
|
|
11847
|
+
graphRetry: "重试",
|
|
11848
|
+
graphEmptyTitle: "还没有可读的图谱",
|
|
11849
|
+
graphEmptyBody: "在作用域的「知识图谱」文件夹里建好主题后,画布会出现在这里。",
|
|
11850
|
+
graphNoAccess: "部分图谱因权限不可见。",
|
|
11851
|
+
graphUnitGraphs: "个图谱",
|
|
11852
|
+
graphUnitLines: "条线",
|
|
11853
|
+
graphUnitRelations: "篇关系",
|
|
11854
|
+
graphUnitDocuments: "篇文档",
|
|
11855
|
+
graphSelectHint: "在左侧选择图谱,再点主题查看卡片。",
|
|
11778
11856
|
sectionPinned: "置顶",
|
|
11779
11857
|
actionFilter: "筛选当前目录",
|
|
11780
11858
|
actionNew: "新建知识文档",
|
|
@@ -11944,6 +12022,8 @@ window.__ModuleLoader__.load({
|
|
|
11944
12022
|
previewTruncated: "文件较大,仅显示前面部分。",
|
|
11945
12023
|
modifiedAt: "修改于",
|
|
11946
12024
|
openedInSidebar: "已在右侧文件窗口中打开。",
|
|
12025
|
+
previewClose: "关闭预览",
|
|
12026
|
+
previewLoading: "正在读取文档…",
|
|
11947
12027
|
copyCode: "复制",
|
|
11948
12028
|
copiedCode: "已复制",
|
|
11949
12029
|
retrieval: "检索方式",
|
|
@@ -12802,7 +12882,7 @@ window.__ModuleLoader__.load({
|
|
|
12802
12882
|
])
|
|
12803
12883
|
});
|
|
12804
12884
|
/** Every exclusion pattern at once, in the one array identity the explorer keys on. */
|
|
12805
|
-
const exclude = (0, react.useMemo)(() => METADATA_NAMES.map((name) => `**/${name}`), []);
|
|
12885
|
+
const exclude = (0, react.useMemo)(() => [...METADATA_NAMES.map((name) => `**/${name}`), "**/知识图谱"], []);
|
|
12806
12886
|
/**
|
|
12807
12887
|
* Pass the explorer's own rename through to the caller.
|
|
12808
12888
|
*
|
|
@@ -13826,29 +13906,31 @@ window.__ModuleLoader__.load({
|
|
|
13826
13906
|
}
|
|
13827
13907
|
//#endregion
|
|
13828
13908
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeShareDialog.module.css.mjs
|
|
13829
|
-
const css$
|
|
13830
|
-
const tagId$
|
|
13831
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
13909
|
+
const css$10 = ".nw--rq_body{flex-direction:column;gap:6px;min-width:0;display:flex}.nw--rq_intro{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-s-14);margin:0}.nw--rq_field{flex-direction:column;gap:4px;min-width:0;display:flex}.nw--rq_fieldLabel{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12)}.nw--rq_list{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);flex-direction:column;max-height:min(240px,40vh);margin:6px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.nw--rq_option{width:100%;color:inherit;text-align:start;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:6px;padding:8px 10px;display:flex}.nw--rq_option:hover,.nw--rq_option[data-active=true]{background:var(--dsw-alias-interactive-bg-hover)}.nw--rq_option[aria-selected=true]{background:var(--dsw-alias-interactive-bg-hover-accent)}.nw--rq_optionLabel{color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-14);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nw--rq_optionDetail{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nw--rq_state{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);padding:8px 10px}.nw--rq_chosen{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nw--rq_chosenLabel{color:var(--dsw-alias-label-caption);font:var(--dsw-font-xxs-12)}.nw--rq_notice{color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxs-12);margin:0}.nw--rq_hint{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);margin:0}.nw--rq_dialog{width:min(520px,100%);min-height:min(680px,80vh);max-height:min(78vh,720px)}.nw--rq_content{flex:auto;min-height:0}.nw--rq_content>div:last-child{flex-direction:column;flex:auto;min-height:0;display:flex}.nw--rq_body{flex:auto;min-height:0}.nw--rq_list{overscroll-behavior:contain;flex:auto;min-height:180px;max-height:none;overflow-y:auto}";
|
|
13910
|
+
const tagId$10 = "@sparkelf/dsh-knowledge-base/KnowledgeShareDialog.module.css";
|
|
13911
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$10) + "]") === null) {
|
|
13832
13912
|
const tag = document.createElement("style");
|
|
13833
13913
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
13834
|
-
tag.dataset.pluginCss = tagId$
|
|
13835
|
-
tag.textContent = css$
|
|
13914
|
+
tag.dataset.pluginCss = tagId$10;
|
|
13915
|
+
tag.textContent = css$10;
|
|
13836
13916
|
document.head.appendChild(tag);
|
|
13837
13917
|
}
|
|
13838
13918
|
var KnowledgeShareDialog_module_css_default = {
|
|
13839
|
-
"
|
|
13840
|
-
"
|
|
13919
|
+
"option": "nw--rq_option",
|
|
13920
|
+
"state": "nw--rq_state",
|
|
13841
13921
|
"list": "nw--rq_list",
|
|
13842
|
-
"body": "nw--rq_body",
|
|
13843
13922
|
"fieldLabel": "nw--rq_fieldLabel",
|
|
13844
|
-
"
|
|
13845
|
-
"
|
|
13846
|
-
"chosenLabel": "nw--rq_chosenLabel",
|
|
13923
|
+
"body": "nw--rq_body",
|
|
13924
|
+
"dialog": "nw--rq_dialog",
|
|
13847
13925
|
"chosen": "nw--rq_chosen",
|
|
13848
13926
|
"notice": "nw--rq_notice",
|
|
13849
|
-
"
|
|
13927
|
+
"content": "nw--rq_content",
|
|
13928
|
+
"optionDetail": "nw--rq_optionDetail",
|
|
13929
|
+
"chosenLabel": "nw--rq_chosenLabel",
|
|
13930
|
+
"hint": "nw--rq_hint",
|
|
13931
|
+
"intro": "nw--rq_intro",
|
|
13850
13932
|
"optionLabel": "nw--rq_optionLabel",
|
|
13851
|
-
"
|
|
13933
|
+
"field": "nw--rq_field"
|
|
13852
13934
|
};
|
|
13853
13935
|
//#endregion
|
|
13854
13936
|
//#region src/client/KnowledgeShareDialog.tsx
|
|
@@ -14066,6 +14148,8 @@ window.__ModuleLoader__.load({
|
|
|
14066
14148
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
|
|
14067
14149
|
open: true,
|
|
14068
14150
|
title: copy.title,
|
|
14151
|
+
className: KnowledgeShareDialog_module_css_default.dialog,
|
|
14152
|
+
contentClassName: KnowledgeShareDialog_module_css_default.content,
|
|
14069
14153
|
description: relPath === null ? void 0 : relPath.slice(relPath.lastIndexOf("/") + 1),
|
|
14070
14154
|
closeLabel: copy.cancel,
|
|
14071
14155
|
onClose,
|
|
@@ -14084,6 +14168,7 @@ window.__ModuleLoader__.load({
|
|
|
14084
14168
|
})] }),
|
|
14085
14169
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14086
14170
|
className: KnowledgeShareDialog_module_css_default.body,
|
|
14171
|
+
"data-testid": "share-body",
|
|
14087
14172
|
children: [
|
|
14088
14173
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
14089
14174
|
className: KnowledgeShareDialog_module_css_default.field,
|
|
@@ -14167,6 +14252,7 @@ window.__ModuleLoader__.load({
|
|
|
14167
14252
|
ref: listRef,
|
|
14168
14253
|
role: "listbox",
|
|
14169
14254
|
"aria-label": copy.search,
|
|
14255
|
+
"data-testid": "share-list",
|
|
14170
14256
|
children: [
|
|
14171
14257
|
loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
|
|
14172
14258
|
className: KnowledgeShareDialog_module_css_default.state,
|
|
@@ -16269,24 +16355,24 @@ window.__ModuleLoader__.load({
|
|
|
16269
16355
|
}
|
|
16270
16356
|
//#endregion
|
|
16271
16357
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeAudit.module.css.mjs
|
|
16272
|
-
const css$
|
|
16273
|
-
const tagId$
|
|
16274
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
16358
|
+
const css$9 = "._0xqcPG_audit{flex-direction:column;gap:12px;display:flex}._0xqcPG_tabs{align-self:flex-start}._0xqcPG_pathCell{font:var(--dsw-font-xxxs-11) var(--ds-font-family-code);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere}._0xqcPG_pager{justify-content:flex-start;align-items:center;gap:8px;margin-top:8px;display:flex}._0xqcPG_pagerTotal,._0xqcPG_pagerPosition{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);font-variant-numeric:tabular-nums;white-space:nowrap}._0xqcPG_pagerPosition{text-align:center;min-width:4em}._0xqcPG_pagerSize{align-items:center;gap:6px;margin-left:auto;display:flex}._0xqcPG_pagerSizeLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);white-space:nowrap}";
|
|
16359
|
+
const tagId$9 = "@sparkelf/dsh-knowledge-base/KnowledgeAudit.module.css";
|
|
16360
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$9) + "]") === null) {
|
|
16275
16361
|
const tag = document.createElement("style");
|
|
16276
16362
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
16277
|
-
tag.dataset.pluginCss = tagId$
|
|
16278
|
-
tag.textContent = css$
|
|
16363
|
+
tag.dataset.pluginCss = tagId$9;
|
|
16364
|
+
tag.textContent = css$9;
|
|
16279
16365
|
document.head.appendChild(tag);
|
|
16280
16366
|
}
|
|
16281
16367
|
var KnowledgeAudit_module_css_default = {
|
|
16282
|
-
"
|
|
16368
|
+
"pagerTotal": "_0xqcPG_pagerTotal",
|
|
16283
16369
|
"pathCell": "_0xqcPG_pathCell",
|
|
16284
16370
|
"pager": "_0xqcPG_pager",
|
|
16285
|
-
"pagerTotal": "_0xqcPG_pagerTotal",
|
|
16286
16371
|
"tabs": "_0xqcPG_tabs",
|
|
16372
|
+
"audit": "_0xqcPG_audit",
|
|
16287
16373
|
"pagerPosition": "_0xqcPG_pagerPosition",
|
|
16288
|
-
"
|
|
16289
|
-
"
|
|
16374
|
+
"pagerSize": "_0xqcPG_pagerSize",
|
|
16375
|
+
"pagerSizeLabel": "_0xqcPG_pagerSizeLabel"
|
|
16290
16376
|
};
|
|
16291
16377
|
//#endregion
|
|
16292
16378
|
//#region src/client/KnowledgeAudit.tsx
|
|
@@ -17027,41 +17113,41 @@ window.__ModuleLoader__.load({
|
|
|
17027
17113
|
}
|
|
17028
17114
|
//#endregion
|
|
17029
17115
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeListing.module.css.mjs
|
|
17030
|
-
const css$
|
|
17031
|
-
const tagId$
|
|
17032
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
17116
|
+
const css$8 = "._95AMVa_entries,._95AMVa_entryChildren{margin:0;padding:0;list-style:none}._95AMVa_entry{box-sizing:border-box;width:100%;max-width:100%;height:28px;font:var(--dsw-font-xxs-12);color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;white-space:nowrap;animation:_95AMVa_kb-row-in .15s var(--ds-ease-in-out);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:0 8px;display:flex;position:relative}._95AMVa_entry:hover{background:var(--dsw-alias-interactive-bg-hover)}._95AMVa_entry:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}._95AMVa_entryDir{font:var(--dsw-font-xxs-strong-12)}._95AMVa_entryName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._95AMVa_entryGlyph{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}._95AMVa_entryGlyph>svg{flex:none;width:14px;height:14px}._95AMVa_entryTime{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;margin-left:auto;padding-left:8px}._95AMVa_entry:hover ._95AMVa_entryTime,._95AMVa_entry:focus-within ._95AMVa_entryTime{margin-left:0}._95AMVa_entryFavorite{color:var(--dsw-static-amber-500);font:var(--dsw-font-xxs-12);flex:none;margin-left:auto;padding-left:8px;line-height:1}._95AMVa_entryFavorite+._95AMVa_entryTime{margin-left:0;padding-left:4px}._95AMVa_entry:hover ._95AMVa_entryFavorite,._95AMVa_entry:focus-within ._95AMVa_entryFavorite{margin-left:0}._95AMVa_entryRef{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);height:20px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-strong-11);cursor:pointer;border-radius:999px;flex:none;align-items:center;margin-left:auto;padding:0 8px;display:none}._95AMVa_entryRef:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._95AMVa_entry:hover ._95AMVa_entryRef,._95AMVa_entry:focus-within ._95AMVa_entryRef{display:inline-flex}._95AMVa_entryPin{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:none}._95AMVa_entryPin:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._95AMVa_entry:hover ._95AMVa_entryPin,._95AMVa_entry:focus-within ._95AMVa_entryPin,._95AMVa_entryPin[data-pinned=true]{display:inline-flex}._95AMVa_entryPin[data-pinned=true]{color:var(--dsw-alias-state-business-primary)}._95AMVa_cards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}._95AMVa_cardItem{min-width:0}._95AMVa_card{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);width:100%;min-height:96px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}._95AMVa_card:hover{background:var(--dsw-alias-interactive-bg-hover)}._95AMVa_card:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-2px}._95AMVa_cardDir{font:var(--dsw-font-xxs-strong-12)}._95AMVa_cardGlyph{color:var(--dsw-alias-label-secondary);align-items:center;display:inline-flex}._95AMVa_cardName{-webkit-line-clamp:2;word-break:break-all;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}._95AMVa_cardMeta{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);overflow:hidden}._95AMVa_cardTime{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;margin-top:auto}._95AMVa_entry[data-drop-target=true],._95AMVa_card[data-drop-target=true]{background:var(--dsw-alias-interactive-bg-hover-accent);outline:1px dashed var(--dsw-alias-state-business-primary);outline-offset:-1px}._95AMVa_entryCheck{width:14px;height:14px;accent-color:var(--dsw-alias-state-business-primary);cursor:pointer;flex:none;margin:0}._95AMVa_pinDropZone{box-sizing:border-box;background:var(--dsw-alias-interactive-bg-hover-accent);outline:1px dashed var(--dsw-alias-state-business-primary);outline-offset:-1px;width:100%;min-height:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12);border-radius:4px;justify-content:center;align-items:center;margin-bottom:4px;padding:2px 8px;display:flex}._95AMVa_emptyAction{margin-top:16px}@keyframes _95AMVa_kb-row-in{0%{opacity:0}}._95AMVa_empty{text-align:center;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);flex-direction:column;align-items:center;padding:48px 20px;display:flex}._95AMVa_emptyGlyph{color:var(--dsw-alias-label-caption);margin-bottom:12px}._95AMVa_emptyTitle{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-s-14);margin:0;line-height:1.6}";
|
|
17117
|
+
const tagId$8 = "@sparkelf/dsh-knowledge-base/KnowledgeListing.module.css";
|
|
17118
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$8) + "]") === null) {
|
|
17033
17119
|
const tag = document.createElement("style");
|
|
17034
17120
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
17035
|
-
tag.dataset.pluginCss = tagId$
|
|
17036
|
-
tag.textContent = css$
|
|
17121
|
+
tag.dataset.pluginCss = tagId$8;
|
|
17122
|
+
tag.textContent = css$8;
|
|
17037
17123
|
document.head.appendChild(tag);
|
|
17038
17124
|
}
|
|
17039
17125
|
var KnowledgeListing_module_css_default = {
|
|
17040
|
-
"
|
|
17126
|
+
"cardItem": "_95AMVa_cardItem",
|
|
17127
|
+
"cardTime": "_95AMVa_cardTime",
|
|
17128
|
+
"entryName": "_95AMVa_entryName",
|
|
17129
|
+
"entryCheck": "_95AMVa_entryCheck",
|
|
17041
17130
|
"pinDropZone": "_95AMVa_pinDropZone",
|
|
17131
|
+
"emptyTitle": "_95AMVa_emptyTitle",
|
|
17132
|
+
"entryDir": "_95AMVa_entryDir",
|
|
17133
|
+
"entryFavorite": "_95AMVa_entryFavorite",
|
|
17134
|
+
"emptyAction": "_95AMVa_emptyAction",
|
|
17135
|
+
"cards": "_95AMVa_cards",
|
|
17042
17136
|
"emptyGlyph": "_95AMVa_emptyGlyph",
|
|
17043
|
-
"
|
|
17137
|
+
"cardMeta": "_95AMVa_cardMeta",
|
|
17138
|
+
"cardGlyph": "_95AMVa_cardGlyph",
|
|
17139
|
+
"entries": "_95AMVa_entries",
|
|
17140
|
+
"cardName": "_95AMVa_cardName",
|
|
17044
17141
|
"empty": "_95AMVa_empty",
|
|
17045
|
-
"entryChildren": "_95AMVa_entryChildren",
|
|
17046
17142
|
"kb-row-in": "_95AMVa_kb-row-in",
|
|
17047
|
-
"entryGlyph": "_95AMVa_entryGlyph",
|
|
17048
|
-
"cardName": "_95AMVa_cardName",
|
|
17049
17143
|
"card": "_95AMVa_card",
|
|
17050
|
-
"
|
|
17051
|
-
"entryDir": "_95AMVa_entryDir",
|
|
17052
|
-
"cardMeta": "_95AMVa_cardMeta",
|
|
17053
|
-
"cardTime": "_95AMVa_cardTime",
|
|
17054
|
-
"emptyTitle": "_95AMVa_emptyTitle",
|
|
17055
|
-
"cards": "_95AMVa_cards",
|
|
17056
|
-
"entryTime": "_95AMVa_entryTime",
|
|
17144
|
+
"entryGlyph": "_95AMVa_entryGlyph",
|
|
17057
17145
|
"entry": "_95AMVa_entry",
|
|
17058
|
-
"
|
|
17146
|
+
"entryTime": "_95AMVa_entryTime",
|
|
17147
|
+
"entryChildren": "_95AMVa_entryChildren",
|
|
17148
|
+
"entryRef": "_95AMVa_entryRef",
|
|
17059
17149
|
"entryPin": "_95AMVa_entryPin",
|
|
17060
|
-
"
|
|
17061
|
-
"entryName": "_95AMVa_entryName",
|
|
17062
|
-
"cardGlyph": "_95AMVa_cardGlyph",
|
|
17063
|
-
"entryCheck": "_95AMVa_entryCheck",
|
|
17064
|
-
"emptyAction": "_95AMVa_emptyAction"
|
|
17150
|
+
"cardDir": "_95AMVa_cardDir"
|
|
17065
17151
|
};
|
|
17066
17152
|
//#endregion
|
|
17067
17153
|
//#region src/client/listingFilter.ts
|
|
@@ -17692,43 +17778,43 @@ window.__ModuleLoader__.load({
|
|
|
17692
17778
|
}
|
|
17693
17779
|
//#endregion
|
|
17694
17780
|
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeProgressPopover.module.css.mjs
|
|
17695
|
-
const css$
|
|
17696
|
-
const tagId$
|
|
17697
|
-
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$
|
|
17781
|
+
const css$7 = ".x_PPca_bell{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.x_PPca_bell:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.x_PPca_bell:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}.x_PPca_badge{background:var(--dsw-alias-state-error-primary);min-width:14px;height:14px;color:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xxxs-strong-11);font-variant-numeric:tabular-nums;text-align:center;box-shadow:0 0 0 1.5px var(--dsw-alias-bg-layer-1);pointer-events:none;border-radius:999px;padding:0 3px;line-height:14px;position:absolute;bottom:-3px;right:-3px}.x_PPca_dialog{width:640px;max-width:calc(100vw - 48px)}.x_PPca_dialogContent{overscroll-behavior:contain;flex-direction:column;gap:14px;max-height:min(60vh,520px);display:flex;overflow-y:auto}.x_PPca_summary{border-bottom:.5px solid var(--dsw-alias-border-l2);align-items:center;gap:16px;padding-bottom:10px;display:flex}.x_PPca_summaryItem{align-items:baseline;gap:6px;display:flex}.x_PPca_summaryLabel{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11)}.x_PPca_summaryValue{color:var(--dsw-alias-label-primary);font:var(--dsw-font-base-strong-16);font-variant-numeric:tabular-nums}.x_PPca_group{flex-direction:column;gap:6px;display:flex}.x_PPca_list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.x_PPca_card{border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-2);border:.5px solid var(--dsw-alias-border-l2);flex-direction:column;gap:2px;padding:8px 11px;display:flex}.x_PPca_cardRow{align-items:center;gap:7px;min-width:0;display:flex}.x_PPca_cardName{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-strong-12);flex:auto;overflow:hidden}.x_PPca_cardPath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);padding-left:23px;overflow:hidden}.x_PPca_cardActions{justify-content:flex-end;padding-top:2px;display:flex}.x_PPca_badgeDone,.x_PPca_badgeFailed,.x_PPca_badgeBusy{font:var(--dsw-font-xxxs-strong-11);white-space:nowrap;border-radius:999px;flex:none;padding:1px 7px}.x_PPca_badgeDone{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-state-success-primary)}.x_PPca_badgeFailed{background:var(--dsw-alias-interactive-bg-hover-danger);color:var(--dsw-alias-state-error-primary)}.x_PPca_badgeBusy{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.x_PPca_progressRow{align-items:center;gap:8px;padding-left:23px;display:flex}.x_PPca_progressTrack{background:var(--dsw-alias-border-l2);border-radius:999px;flex:auto;height:4px;position:relative;overflow:hidden}.x_PPca_progressFill{border-radius:inherit;background:var(--dsw-alias-brand-primary);height:100%;transition:width .12s linear;display:block}.x_PPca_progressFillIndeterminate{border-radius:inherit;background:var(--dsw-alias-brand-primary);width:40%;animation:1.1s ease-in-out infinite x_PPca_cardProgress;position:absolute;inset-block:0}@keyframes x_PPca_cardProgress{0%{left:-40%}to{left:100%}}.x_PPca_progressPercent{text-align:right;min-width:34px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);font-variant-numeric:tabular-nums;flex:none}@media (prefers-reduced-motion:reduce){.x_PPca_progressFillIndeterminate{animation:none;left:30%}}.x_PPca_cardReason{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxxs-11);overflow-wrap:anywhere}.x_PPca_cardRawReason{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);overflow-wrap:anywhere}.x_PPca_empty{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);margin:0;padding:12px 0}";
|
|
17782
|
+
const tagId$7 = "@sparkelf/dsh-knowledge-base/KnowledgeProgressPopover.module.css";
|
|
17783
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
|
|
17698
17784
|
const tag = document.createElement("style");
|
|
17699
17785
|
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
17700
|
-
tag.dataset.pluginCss = tagId$
|
|
17701
|
-
tag.textContent = css$
|
|
17786
|
+
tag.dataset.pluginCss = tagId$7;
|
|
17787
|
+
tag.textContent = css$7;
|
|
17702
17788
|
document.head.appendChild(tag);
|
|
17703
17789
|
}
|
|
17704
17790
|
var KnowledgeProgressPopover_module_css_default = {
|
|
17705
|
-
"
|
|
17706
|
-
"
|
|
17707
|
-
"
|
|
17791
|
+
"empty": "x_PPca_empty",
|
|
17792
|
+
"progressPercent": "x_PPca_progressPercent",
|
|
17793
|
+
"badge": "x_PPca_badge",
|
|
17794
|
+
"dialog": "x_PPca_dialog",
|
|
17795
|
+
"cardRow": "x_PPca_cardRow",
|
|
17796
|
+
"progressTrack": "x_PPca_progressTrack",
|
|
17708
17797
|
"cardProgress": "x_PPca_cardProgress",
|
|
17709
|
-
"
|
|
17798
|
+
"progressFillIndeterminate": "x_PPca_progressFillIndeterminate",
|
|
17799
|
+
"group": "x_PPca_group",
|
|
17800
|
+
"cardActions": "x_PPca_cardActions",
|
|
17801
|
+
"dialogContent": "x_PPca_dialogContent",
|
|
17802
|
+
"badgeBusy": "x_PPca_badgeBusy",
|
|
17710
17803
|
"cardReason": "x_PPca_cardReason",
|
|
17711
17804
|
"cardRawReason": "x_PPca_cardRawReason",
|
|
17712
|
-
"dialogContent": "x_PPca_dialogContent",
|
|
17713
|
-
"progressPercent": "x_PPca_progressPercent",
|
|
17714
|
-
"empty": "x_PPca_empty",
|
|
17715
17805
|
"cardPath": "x_PPca_cardPath",
|
|
17716
|
-
"
|
|
17806
|
+
"progressFill": "x_PPca_progressFill",
|
|
17717
17807
|
"badgeDone": "x_PPca_badgeDone",
|
|
17718
|
-
"
|
|
17808
|
+
"badgeFailed": "x_PPca_badgeFailed",
|
|
17719
17809
|
"summaryValue": "x_PPca_summaryValue",
|
|
17720
17810
|
"card": "x_PPca_card",
|
|
17721
|
-
"progressFillIndeterminate": "x_PPca_progressFillIndeterminate",
|
|
17722
|
-
"summaryLabel": "x_PPca_summaryLabel",
|
|
17723
|
-
"badgeFailed": "x_PPca_badgeFailed",
|
|
17724
|
-
"badge": "x_PPca_badge",
|
|
17725
|
-
"dialog": "x_PPca_dialog",
|
|
17726
|
-
"list": "x_PPca_list",
|
|
17727
17811
|
"progressRow": "x_PPca_progressRow",
|
|
17728
|
-
"progressTrack": "x_PPca_progressTrack",
|
|
17729
17812
|
"summary": "x_PPca_summary",
|
|
17730
17813
|
"cardName": "x_PPca_cardName",
|
|
17731
|
-
"
|
|
17814
|
+
"summaryLabel": "x_PPca_summaryLabel",
|
|
17815
|
+
"bell": "x_PPca_bell",
|
|
17816
|
+
"list": "x_PPca_list",
|
|
17817
|
+
"summaryItem": "x_PPca_summaryItem"
|
|
17732
17818
|
};
|
|
17733
17819
|
//#endregion
|
|
17734
17820
|
//#region src/client/KnowledgeProgressPopover.tsx
|
|
@@ -18244,182 +18330,1011 @@ window.__ModuleLoader__.load({
|
|
|
18244
18330
|
]
|
|
18245
18331
|
})] });
|
|
18246
18332
|
}
|
|
18247
|
-
/** The session's recorded failures, oldest first. */
|
|
18248
|
-
const failures = [];
|
|
18333
|
+
/** The session's recorded failures, oldest first. */
|
|
18334
|
+
const failures = [];
|
|
18335
|
+
/**
|
|
18336
|
+
* Record one refused extraction.
|
|
18337
|
+
*
|
|
18338
|
+
* Re-recording a path REPLACES its earlier reason and moves it to the end: a reader who
|
|
18339
|
+
* retried and failed differently needs the newest reason, and the list reads newest-last.
|
|
18340
|
+
* @param entry - the path, the raw reason, and when it was observed (defaults to now).
|
|
18341
|
+
*/
|
|
18342
|
+
function rememberExtractionFailure(entry) {
|
|
18343
|
+
const at = entry.at ?? Date.now();
|
|
18344
|
+
const existing = failures.findIndex((failure) => failure.relPath === entry.relPath);
|
|
18345
|
+
if (existing !== -1) failures.splice(existing, 1);
|
|
18346
|
+
failures.push({
|
|
18347
|
+
relPath: entry.relPath,
|
|
18348
|
+
reason: entry.reason,
|
|
18349
|
+
at
|
|
18350
|
+
});
|
|
18351
|
+
if (failures.length > 50) failures.splice(0, failures.length - 50);
|
|
18352
|
+
}
|
|
18353
|
+
/**
|
|
18354
|
+
* Read the session's failures.
|
|
18355
|
+
* @returns A copy, so a caller cannot mutate the store by accident.
|
|
18356
|
+
*/
|
|
18357
|
+
function readExtractionFailures() {
|
|
18358
|
+
return failures.map((failure) => ({ ...failure }));
|
|
18359
|
+
}
|
|
18360
|
+
/**
|
|
18361
|
+
* Drop one path's recorded failure, e.g. after a retry was accepted.
|
|
18362
|
+
* @param relPath - the document whose failure is no longer current.
|
|
18363
|
+
*/
|
|
18364
|
+
function forgetExtractionFailure(relPath) {
|
|
18365
|
+
const index = failures.findIndex((failure) => failure.relPath === relPath);
|
|
18366
|
+
if (index !== -1) failures.splice(index, 1);
|
|
18367
|
+
}
|
|
18368
|
+
/**
|
|
18369
|
+
* Compute the integer percentage of bytes sent.
|
|
18370
|
+
*
|
|
18371
|
+
* Returns undefined when the total is unknown, which is a real case: a body sent without
|
|
18372
|
+
* a `Content-Length` reports `lengthComputable: false`, and inventing a percentage from
|
|
18373
|
+
* a missing denominator is exactly the dishonesty this module avoids.
|
|
18374
|
+
* @param loaded - bytes sent so far.
|
|
18375
|
+
* @param total - total bytes, when the browser knows it.
|
|
18376
|
+
* @param computable - whether the browser reported a usable total.
|
|
18377
|
+
* @returns 0-100, or undefined when it cannot be known.
|
|
18378
|
+
*/
|
|
18379
|
+
function uploadPercent(loaded, total, computable) {
|
|
18380
|
+
if (!computable || !Number.isFinite(total) || total <= 0) return void 0;
|
|
18381
|
+
if (!Number.isFinite(loaded) || loaded < 0) return void 0;
|
|
18382
|
+
return Math.min(100, Math.max(0, Math.round(loaded / total * 100)));
|
|
18383
|
+
}
|
|
18384
|
+
/**
|
|
18385
|
+
* Whether enough time has passed to report another progress sample.
|
|
18386
|
+
*
|
|
18387
|
+
* Kept as a pure predicate so the throttle can be tested without a timer or a network.
|
|
18388
|
+
* @param now - the current timestamp in milliseconds.
|
|
18389
|
+
* @param last - when the last sample was reported, or undefined if none was.
|
|
18390
|
+
* @returns Whether this sample should be reported.
|
|
18391
|
+
*/
|
|
18392
|
+
function shouldReportProgress(now, last) {
|
|
18393
|
+
if (last === void 0) return true;
|
|
18394
|
+
return now - last >= 100;
|
|
18395
|
+
}
|
|
18396
|
+
/**
|
|
18397
|
+
* Upload one JSON body, reporting byte progress as it goes.
|
|
18398
|
+
* @param url - the route to post to.
|
|
18399
|
+
* @param payload - the JSON-serialisable body.
|
|
18400
|
+
* @param onProgress - called with 0-100 while sending; only called when a percentage is
|
|
18401
|
+
* actually known, and throttled to {@link PROGRESS_INTERVAL_MS}.
|
|
18402
|
+
* @returns The attempt's outcome. Never rejects: a transport failure is a result, because
|
|
18403
|
+
* the caller has to show it either way.
|
|
18404
|
+
*/
|
|
18405
|
+
function uploadJsonWithProgress(url, payload, onProgress) {
|
|
18406
|
+
return new Promise((resolve) => {
|
|
18407
|
+
let settled = false;
|
|
18408
|
+
let lastReport = -Infinity;
|
|
18409
|
+
/** Resolve exactly once: XHR can fire both `error` and `loadend`. */
|
|
18410
|
+
const finish = (attempt) => {
|
|
18411
|
+
if (settled) return;
|
|
18412
|
+
settled = true;
|
|
18413
|
+
resolve(attempt);
|
|
18414
|
+
};
|
|
18415
|
+
const request = new XMLHttpRequest();
|
|
18416
|
+
request.open("POST", url, true);
|
|
18417
|
+
request.setRequestHeader("content-type", "application/json");
|
|
18418
|
+
request.upload.onprogress = (event) => {
|
|
18419
|
+
const percent = uploadPercent(event.loaded, event.total, event.lengthComputable);
|
|
18420
|
+
if (percent === void 0) return;
|
|
18421
|
+
const now = Date.now();
|
|
18422
|
+
if (!shouldReportProgress(now, lastReport)) return;
|
|
18423
|
+
lastReport = now;
|
|
18424
|
+
onProgress(percent);
|
|
18425
|
+
};
|
|
18426
|
+
request.onload = () => {
|
|
18427
|
+
let body;
|
|
18428
|
+
try {
|
|
18429
|
+
body = JSON.parse(request.responseText);
|
|
18430
|
+
} catch {
|
|
18431
|
+
body = void 0;
|
|
18432
|
+
}
|
|
18433
|
+
finish({
|
|
18434
|
+
status: request.status,
|
|
18435
|
+
body
|
|
18436
|
+
});
|
|
18437
|
+
};
|
|
18438
|
+
request.onerror = () => {
|
|
18439
|
+
finish({
|
|
18440
|
+
status: 0,
|
|
18441
|
+
body: void 0,
|
|
18442
|
+
transportError: "the network request failed"
|
|
18443
|
+
});
|
|
18444
|
+
};
|
|
18445
|
+
request.onabort = () => {
|
|
18446
|
+
finish({
|
|
18447
|
+
status: 0,
|
|
18448
|
+
body: void 0,
|
|
18449
|
+
transportError: "the upload was cancelled"
|
|
18450
|
+
});
|
|
18451
|
+
};
|
|
18452
|
+
request.ontimeout = () => {
|
|
18453
|
+
finish({
|
|
18454
|
+
status: 0,
|
|
18455
|
+
body: void 0,
|
|
18456
|
+
transportError: "the upload timed out"
|
|
18457
|
+
});
|
|
18458
|
+
};
|
|
18459
|
+
try {
|
|
18460
|
+
request.send(JSON.stringify(payload));
|
|
18461
|
+
} catch (error) {
|
|
18462
|
+
finish({
|
|
18463
|
+
status: 0,
|
|
18464
|
+
body: void 0,
|
|
18465
|
+
transportError: error instanceof Error ? error.message : "the upload could not be started"
|
|
18466
|
+
});
|
|
18467
|
+
}
|
|
18468
|
+
});
|
|
18469
|
+
}
|
|
18470
|
+
//#endregion
|
|
18471
|
+
//#region src/client/KnowledgeSectionHeader.tsx
|
|
18472
|
+
/**
|
|
18473
|
+
* Render one section band.
|
|
18474
|
+
* @param props - the name, its trailing controls, and optional placement.
|
|
18475
|
+
* @returns The band.
|
|
18476
|
+
*/
|
|
18477
|
+
function KnowledgeSectionHeader(props) {
|
|
18478
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18479
|
+
className: props.className === void 0 ? KnowledgePanel_module_css_default.sectionHeader : KnowledgePanel_module_css_default.sectionHeader + " " + props.className,
|
|
18480
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18481
|
+
className: KnowledgePanel_module_css_default.sectionName,
|
|
18482
|
+
children: props.name
|
|
18483
|
+
}), props.actions !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18484
|
+
className: KnowledgePanel_module_css_default.sectionActions,
|
|
18485
|
+
children: props.actions
|
|
18486
|
+
})]
|
|
18487
|
+
});
|
|
18488
|
+
}
|
|
18489
|
+
/**
|
|
18490
|
+
* Render one glyph button.
|
|
18491
|
+
*
|
|
18492
|
+
* A native button with the band's own class rather than the `Button` primitive:
|
|
18493
|
+
* that primitive is the product's labelled action at a 36px control height, while
|
|
18494
|
+
* this is the 28x28 icon control the band is specified around.
|
|
18495
|
+
* @param props - the accessible name, glyph, and activation handler.
|
|
18496
|
+
* @returns The button.
|
|
18497
|
+
*/
|
|
18498
|
+
function KnowledgeIconButton(props) {
|
|
18499
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
18500
|
+
type: "button",
|
|
18501
|
+
className: KnowledgePanel_module_css_default.iconButton,
|
|
18502
|
+
"aria-label": props.label,
|
|
18503
|
+
title: props.label,
|
|
18504
|
+
...props.pressed === void 0 ? {} : { "aria-pressed": props.pressed },
|
|
18505
|
+
...props.disabled === true ? { disabled: true } : {},
|
|
18506
|
+
onClick: props.onClick,
|
|
18507
|
+
children: props.children
|
|
18508
|
+
});
|
|
18509
|
+
}
|
|
18510
|
+
//#endregion
|
|
18511
|
+
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/graph/KnowledgeScopeTabs.module.css.mjs
|
|
18512
|
+
const css$6 = ".UvtP4W_tabs{align-items:center;gap:2px;min-width:0;display:inline-flex}.UvtP4W_tab{box-sizing:border-box;height:26px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;line-height:26px}.UvtP4W_tab:hover{color:var(--dsw-alias-label-secondary)}.UvtP4W_tab:focus-visible{outline:var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color,var(--dsw-alias-state-business-primary));outline-offset:-1px}.UvtP4W_tabSelected,.UvtP4W_tabSelected:hover{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}";
|
|
18513
|
+
const tagId$6 = "@sparkelf/dsh-knowledge-base/KnowledgeScopeTabs.module.css";
|
|
18514
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$6) + "]") === null) {
|
|
18515
|
+
const tag = document.createElement("style");
|
|
18516
|
+
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
18517
|
+
tag.dataset.pluginCss = tagId$6;
|
|
18518
|
+
tag.textContent = css$6;
|
|
18519
|
+
document.head.appendChild(tag);
|
|
18520
|
+
}
|
|
18521
|
+
var KnowledgeScopeTabs_module_css_default = {
|
|
18522
|
+
"tabs": "UvtP4W_tabs",
|
|
18523
|
+
"tab": "UvtP4W_tab",
|
|
18524
|
+
"tabSelected": "UvtP4W_tabSelected"
|
|
18525
|
+
};
|
|
18526
|
+
//#endregion
|
|
18527
|
+
//#region src/client/graph/KnowledgeScopeTabs.tsx
|
|
18528
|
+
/**
|
|
18529
|
+
* The two scope pills that replace the tree band's plain title.
|
|
18530
|
+
*
|
|
18531
|
+
* They switch the navigation tree's DATA SOURCE (knowledge folders or graph
|
|
18532
|
+
* scopes), not the list/grid presentation; that is why they sit where the band's
|
|
18533
|
+
* name used to be rather than in the view-mode control.
|
|
18534
|
+
*
|
|
18535
|
+
* The selected pill takes `bg-layer-2` and `label-primary`; the unselected one
|
|
18536
|
+
* keeps the band's `label-tertiary`. Metrics are the brief's: a 26px control, 13px
|
|
18537
|
+
* type, 6px radius.
|
|
18538
|
+
*
|
|
18539
|
+
* @module @sparkelf/dsh-knowledge-base/client/graph/KnowledgeScopeTabs
|
|
18540
|
+
*/
|
|
18541
|
+
/**
|
|
18542
|
+
* Render the scope tablist.
|
|
18543
|
+
*
|
|
18544
|
+
* @param props - the current scope, its setter, and both labels.
|
|
18545
|
+
* @returns The two pills.
|
|
18546
|
+
*/
|
|
18547
|
+
function KnowledgeScopeTabs(props) {
|
|
18548
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18549
|
+
className: KnowledgeScopeTabs_module_css_default.tabs,
|
|
18550
|
+
role: "tablist",
|
|
18551
|
+
"aria-label": props.label,
|
|
18552
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
18553
|
+
type: "button",
|
|
18554
|
+
role: "tab",
|
|
18555
|
+
"aria-selected": props.value === "kb",
|
|
18556
|
+
className: KnowledgeScopeTabs_module_css_default.tab + (props.value === "kb" ? " " + KnowledgeScopeTabs_module_css_default.tabSelected : ""),
|
|
18557
|
+
onClick: () => {
|
|
18558
|
+
props.onChange("kb");
|
|
18559
|
+
},
|
|
18560
|
+
children: props.knowledgeLabel
|
|
18561
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
18562
|
+
type: "button",
|
|
18563
|
+
role: "tab",
|
|
18564
|
+
"aria-selected": props.value === "graph",
|
|
18565
|
+
className: KnowledgeScopeTabs_module_css_default.tab + (props.value === "graph" ? " " + KnowledgeScopeTabs_module_css_default.tabSelected : ""),
|
|
18566
|
+
onClick: () => {
|
|
18567
|
+
props.onChange("graph");
|
|
18568
|
+
},
|
|
18569
|
+
children: props.graphLabel
|
|
18570
|
+
})]
|
|
18571
|
+
});
|
|
18572
|
+
}
|
|
18573
|
+
//#endregion
|
|
18574
|
+
//#region src/graphTypes.ts
|
|
18575
|
+
/** An empty tree, for the loading and failure states. */
|
|
18576
|
+
function emptyKnowledgeGraphTree() {
|
|
18577
|
+
return {
|
|
18578
|
+
scopes: [
|
|
18579
|
+
{
|
|
18580
|
+
key: "global",
|
|
18581
|
+
groups: []
|
|
18582
|
+
},
|
|
18583
|
+
{
|
|
18584
|
+
key: "department",
|
|
18585
|
+
groups: []
|
|
18586
|
+
},
|
|
18587
|
+
{
|
|
18588
|
+
key: "personal",
|
|
18589
|
+
groups: []
|
|
18590
|
+
}
|
|
18591
|
+
],
|
|
18592
|
+
caller: {
|
|
18593
|
+
userId: "",
|
|
18594
|
+
label: ""
|
|
18595
|
+
},
|
|
18596
|
+
actualRoot: "",
|
|
18597
|
+
scanned: 0,
|
|
18598
|
+
visible: 0,
|
|
18599
|
+
denied: 0
|
|
18600
|
+
};
|
|
18601
|
+
}
|
|
18602
|
+
/** Flatten the tree into the list the canvas page consumes. */
|
|
18603
|
+
function knowledgeGraphsOf(tree) {
|
|
18604
|
+
return tree.scopes.flatMap((scope) => scope.groups.flatMap((group) => group.graphs));
|
|
18605
|
+
}
|
|
18606
|
+
/**
|
|
18607
|
+
* Whether a graph or one of its topics matches the tree's in-place filter.
|
|
18608
|
+
*
|
|
18609
|
+
* This narrows what the Host already returned; it is not a permission filter and
|
|
18610
|
+
* must never be used as one. Exported so the rule can be tested without rendering
|
|
18611
|
+
* the tree.
|
|
18612
|
+
*
|
|
18613
|
+
* @param graph - one permission-filtered graph.
|
|
18614
|
+
* @param needle - already lower-cased filter term.
|
|
18615
|
+
* @returns true when the graph name or a topic title contains the term.
|
|
18616
|
+
*/
|
|
18617
|
+
function knowledgeGraphMatches(graph, needle) {
|
|
18618
|
+
if (needle === "") return true;
|
|
18619
|
+
return graph.name.toLowerCase().includes(needle) || graph.topics.some((topic) => topic.title.toLowerCase().includes(needle));
|
|
18620
|
+
}
|
|
18621
|
+
//#endregion
|
|
18622
|
+
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/graph/KnowledgeGraphTree.module.css.mjs
|
|
18623
|
+
const css$5 = ".JLttwq_tree,.JLttwq_scope{flex-direction:column;gap:1px;min-width:0;display:flex}.JLttwq_chevron,.JLttwq_chevronPlaceholder{width:14px;height:14px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;display:inline-flex}.JLttwq_chevron>svg{width:12px;height:12px}.JLttwq_rowActive,.JLttwq_rowActive:hover{background:var(--dsw-alias-interactive-bg-hover-accent);color:var(--dsw-alias-label-primary)}.JLttwq_graphGlyph{width:14px;height:14px;color:var(--dsw-alias-label-secondary);justify-content:center;align-items:center;display:inline-flex}.JLttwq_rowActive .JLttwq_graphGlyph{color:var(--dsw-alias-state-business-primary)}.JLttwq_topicRow{box-sizing:border-box;width:100%;max-width:100%;min-height:26px;color:color-mix(in srgb, var(--dsw-alias-label-tertiary) 80%, var(--dsw-alias-label-primary));font:var(--dsw-font-xxs-12);text-align:start;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;display:flex}.JLttwq_topicRow:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.JLttwq_topicActive,.JLttwq_topicActive:hover{background:var(--dsw-alias-interactive-bg-hover-accent);color:var(--dsw-alias-label-primary)}.JLttwq_topicGlyph{opacity:.7;background:currentColor;border-radius:50%;flex:none;width:4px;height:4px;margin:0 5px}.JLttwq_topicName{text-overflow:ellipsis;min-width:0;overflow:hidden}.JLttwq_emptyRow{color:color-mix(in srgb, var(--dsw-alias-label-tertiary) 80%, var(--dsw-alias-label-primary));font:var(--dsw-font-xxxs-11);margin:2px 0 4px}.JLttwq_state{color:color-mix(in srgb, var(--dsw-alias-label-tertiary) 80%, var(--dsw-alias-label-primary));font:var(--dsw-font-xxs-12);flex-direction:column;gap:6px;margin:0;padding:10px;display:flex}.JLttwq_emptyTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-strong-12);margin:0}.JLttwq_error{color:var(--dsw-alias-state-error-primary);margin:0}.JLttwq_detail{font:var(--dsw-font-xxxs-11);overflow-wrap:anywhere;margin:0}.JLttwq_retry{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-2);height:26px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);cursor:pointer;align-self:flex-start;padding:0 10px}.JLttwq_retry:hover{background:var(--dsw-alias-interactive-bg-hover)}";
|
|
18624
|
+
const tagId$5 = "@sparkelf/dsh-knowledge-base/KnowledgeGraphTree.module.css";
|
|
18625
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
|
|
18626
|
+
const tag = document.createElement("style");
|
|
18627
|
+
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
18628
|
+
tag.dataset.pluginCss = tagId$5;
|
|
18629
|
+
tag.textContent = css$5;
|
|
18630
|
+
document.head.appendChild(tag);
|
|
18631
|
+
}
|
|
18632
|
+
var KnowledgeGraphTree_module_css_default = {
|
|
18633
|
+
"state": "JLttwq_state",
|
|
18634
|
+
"graphGlyph": "JLttwq_graphGlyph",
|
|
18635
|
+
"error": "JLttwq_error",
|
|
18636
|
+
"topicName": "JLttwq_topicName",
|
|
18637
|
+
"emptyRow": "JLttwq_emptyRow",
|
|
18638
|
+
"emptyTitle": "JLttwq_emptyTitle",
|
|
18639
|
+
"topicActive": "JLttwq_topicActive",
|
|
18640
|
+
"chevronPlaceholder": "JLttwq_chevronPlaceholder",
|
|
18641
|
+
"chevron": "JLttwq_chevron",
|
|
18642
|
+
"rowActive": "JLttwq_rowActive",
|
|
18643
|
+
"detail": "JLttwq_detail",
|
|
18644
|
+
"retry": "JLttwq_retry",
|
|
18645
|
+
"topicRow": "JLttwq_topicRow",
|
|
18646
|
+
"topicGlyph": "JLttwq_topicGlyph",
|
|
18647
|
+
"tree": "JLttwq_tree",
|
|
18648
|
+
"scope": "JLttwq_scope"
|
|
18649
|
+
};
|
|
18650
|
+
//#endregion
|
|
18651
|
+
//#region src/client/graph/KnowledgeGraphTree.tsx
|
|
18652
|
+
/**
|
|
18653
|
+
* The graph tab's rail tree, rendered as the same file tree the Knowledge base
|
|
18654
|
+
* tab shows.
|
|
18655
|
+
*
|
|
18656
|
+
* The reader asked for the knowledge tree's four-level shape: three top-level
|
|
18657
|
+
* folders (全局/部门/个人), the caller's department chain, the graph as a file row,
|
|
18658
|
+
* then its topics. Row metrics and the folder/chevron affordances are borrowed from
|
|
18659
|
+
* `KnowledgeListing.module.css` (`.entry`, `.entryDir`, `.entryGlyph`,
|
|
18660
|
+
* `.entryName`, `.entryTime`) rather than restated here, so both tabs keep the
|
|
18661
|
+
* explorer's 28px row, 12px type, 22px indent step and hover fill.
|
|
18662
|
+
*
|
|
18663
|
+
* The Host has already dropped every graph DataOps did not resolve; this component
|
|
18664
|
+
* only filters names for the in-place search. It never decides who may see a graph.
|
|
18665
|
+
*
|
|
18666
|
+
* @module @sparkelf/dsh-knowledge-base/client/graph/KnowledgeGraphTree
|
|
18667
|
+
*/
|
|
18668
|
+
/** A scope's row label. */
|
|
18669
|
+
const SCOPE_COPY = [
|
|
18670
|
+
{
|
|
18671
|
+
key: "global",
|
|
18672
|
+
copy: "bucketGlobal"
|
|
18673
|
+
},
|
|
18674
|
+
{
|
|
18675
|
+
key: "department",
|
|
18676
|
+
copy: "bucketDepartment"
|
|
18677
|
+
},
|
|
18678
|
+
{
|
|
18679
|
+
key: "personal",
|
|
18680
|
+
copy: "bucketPersonal"
|
|
18681
|
+
}
|
|
18682
|
+
];
|
|
18683
|
+
/** A graph-shaped file glyph, drawn inline because primitives has no network icon. */
|
|
18684
|
+
function GraphFileGlyph() {
|
|
18685
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
|
|
18686
|
+
viewBox: "0 0 16 16",
|
|
18687
|
+
width: "14",
|
|
18688
|
+
height: "14",
|
|
18689
|
+
fill: "none",
|
|
18690
|
+
stroke: "currentColor",
|
|
18691
|
+
strokeWidth: "1.2",
|
|
18692
|
+
strokeLinecap: "round",
|
|
18693
|
+
"aria-hidden": "true",
|
|
18694
|
+
children: [
|
|
18695
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
|
|
18696
|
+
x: "2.25",
|
|
18697
|
+
y: "2.25",
|
|
18698
|
+
width: "11.5",
|
|
18699
|
+
height: "11.5",
|
|
18700
|
+
rx: "2"
|
|
18701
|
+
}),
|
|
18702
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
18703
|
+
cx: "5.6",
|
|
18704
|
+
cy: "6",
|
|
18705
|
+
r: "1.15"
|
|
18706
|
+
}),
|
|
18707
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
18708
|
+
cx: "10.6",
|
|
18709
|
+
cy: "6",
|
|
18710
|
+
r: "1.15"
|
|
18711
|
+
}),
|
|
18712
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
18713
|
+
cx: "8",
|
|
18714
|
+
cy: "10.6",
|
|
18715
|
+
r: "1.15"
|
|
18716
|
+
}),
|
|
18717
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M6.55 6h2.9M5.9 7.05l1.35 2.45M10.3 7.05l-1.35 2.45" })
|
|
18718
|
+
]
|
|
18719
|
+
});
|
|
18720
|
+
}
|
|
18721
|
+
/** The chevron shown before an expandable row. */
|
|
18722
|
+
function ExpandGlyph(props) {
|
|
18723
|
+
return props.open ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutlineRegular, { size: 12 }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, { size: 12 });
|
|
18724
|
+
}
|
|
18249
18725
|
/**
|
|
18250
|
-
*
|
|
18726
|
+
* Build the department forest from the flat group list.
|
|
18251
18727
|
*
|
|
18252
|
-
*
|
|
18253
|
-
*
|
|
18254
|
-
*
|
|
18728
|
+
* `group.key` is the code chain (`a/b/c`); `group.label` is the display chain
|
|
18729
|
+
* (`A / B / C`). Splitting both here is what makes a multi-level department
|
|
18730
|
+
* readable as nested folders without asking the Host for a second tree.
|
|
18255
18731
|
*/
|
|
18256
|
-
function
|
|
18257
|
-
const
|
|
18258
|
-
const
|
|
18259
|
-
|
|
18260
|
-
|
|
18261
|
-
|
|
18262
|
-
|
|
18263
|
-
|
|
18732
|
+
function departmentForest(groups) {
|
|
18733
|
+
const roots = [];
|
|
18734
|
+
const loose = [];
|
|
18735
|
+
for (const group of groups) {
|
|
18736
|
+
const codes = group.key === "" ? [] : group.key.split("/").filter((code) => code !== "");
|
|
18737
|
+
const labels = group.label === "" ? codes : group.label.split(" / ");
|
|
18738
|
+
if (codes.length === 0) {
|
|
18739
|
+
loose.push(...group.graphs);
|
|
18740
|
+
continue;
|
|
18741
|
+
}
|
|
18742
|
+
let level = roots;
|
|
18743
|
+
let path = "";
|
|
18744
|
+
codes.forEach((code, index) => {
|
|
18745
|
+
path = path === "" ? code : path + "/" + code;
|
|
18746
|
+
let node = level.find((candidate) => candidate.id === path);
|
|
18747
|
+
if (node === void 0) {
|
|
18748
|
+
node = {
|
|
18749
|
+
id: path,
|
|
18750
|
+
label: labels[index] ?? code,
|
|
18751
|
+
children: [],
|
|
18752
|
+
graphs: []
|
|
18753
|
+
};
|
|
18754
|
+
level.push(node);
|
|
18755
|
+
}
|
|
18756
|
+
if (index === codes.length - 1) node.graphs.push(...group.graphs);
|
|
18757
|
+
level = node.children;
|
|
18758
|
+
});
|
|
18759
|
+
}
|
|
18760
|
+
return {
|
|
18761
|
+
roots,
|
|
18762
|
+
loose
|
|
18763
|
+
};
|
|
18764
|
+
}
|
|
18765
|
+
/** One tree row: chevron, glyph, name, optional trailing count. */
|
|
18766
|
+
function TreeRow(props) {
|
|
18767
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18768
|
+
role: "button",
|
|
18769
|
+
tabIndex: 0,
|
|
18770
|
+
className: KnowledgeListing_module_css_default.entry + (props.dir === true ? " " + KnowledgeListing_module_css_default.entryDir : "") + (props.active === true ? " " + KnowledgeGraphTree_module_css_default.rowActive : ""),
|
|
18771
|
+
style: { paddingLeft: props.depth * 22 + 6 },
|
|
18772
|
+
"data-testid": props.testId,
|
|
18773
|
+
...props.attrs,
|
|
18774
|
+
...props.expandable === true ? { "aria-expanded": props.open === true } : {},
|
|
18775
|
+
title: props.label,
|
|
18776
|
+
onClick: props.onClick,
|
|
18777
|
+
onKeyDown: (event) => {
|
|
18778
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
18779
|
+
event.preventDefault();
|
|
18780
|
+
props.onClick();
|
|
18781
|
+
}
|
|
18782
|
+
},
|
|
18783
|
+
children: [
|
|
18784
|
+
props.expandable === true ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18785
|
+
className: KnowledgeGraphTree_module_css_default.chevron,
|
|
18786
|
+
"aria-hidden": "true",
|
|
18787
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExpandGlyph, { open: props.open === true })
|
|
18788
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18789
|
+
className: KnowledgeGraphTree_module_css_default.chevronPlaceholder,
|
|
18790
|
+
"aria-hidden": "true"
|
|
18791
|
+
}),
|
|
18792
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18793
|
+
className: KnowledgeListing_module_css_default.entryGlyph,
|
|
18794
|
+
"aria-hidden": "true",
|
|
18795
|
+
children: props.glyph
|
|
18796
|
+
}),
|
|
18797
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18798
|
+
className: KnowledgeListing_module_css_default.entryName,
|
|
18799
|
+
children: props.label
|
|
18800
|
+
}),
|
|
18801
|
+
props.trailing === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18802
|
+
className: KnowledgeListing_module_css_default.entryTime,
|
|
18803
|
+
children: props.trailing
|
|
18804
|
+
})
|
|
18805
|
+
]
|
|
18264
18806
|
});
|
|
18265
|
-
if (failures.length > 50) failures.splice(0, failures.length - 50);
|
|
18266
18807
|
}
|
|
18267
18808
|
/**
|
|
18268
|
-
*
|
|
18269
|
-
*
|
|
18809
|
+
* Render the graph tree.
|
|
18810
|
+
*
|
|
18811
|
+
* @param props - load state, selection, filter, and the two selectors.
|
|
18812
|
+
* @returns The tree, or the loading/failed/empty state.
|
|
18270
18813
|
*/
|
|
18271
|
-
function
|
|
18272
|
-
|
|
18814
|
+
function KnowledgeGraphTree(props) {
|
|
18815
|
+
const needle = props.filter.trim().toLowerCase();
|
|
18816
|
+
const [expanded, setExpanded] = (0, react.useState)(() => /* @__PURE__ */ new Set(["scope:global"]));
|
|
18817
|
+
const scopeViews = (0, react.useMemo)(() => props.state.tree.scopes.map((scope) => ({
|
|
18818
|
+
...scope,
|
|
18819
|
+
groups: scope.groups.map((group) => ({
|
|
18820
|
+
...group,
|
|
18821
|
+
graphs: group.graphs.filter((graph) => knowledgeGraphMatches(graph, needle))
|
|
18822
|
+
})).filter((group) => group.graphs.length > 0)
|
|
18823
|
+
})), [props.state.tree, needle]);
|
|
18824
|
+
const visibleScopes = (0, react.useMemo)(() => scopeViews.filter((scope) => needle === "" || scope.groups.length > 0), [scopeViews, needle]);
|
|
18825
|
+
const allGraphs = (0, react.useMemo)(() => scopeViews.flatMap((scope) => scope.groups.flatMap((group) => group.graphs)), [scopeViews]);
|
|
18826
|
+
(0, react.useEffect)(() => {
|
|
18827
|
+
if (props.activeGraphId === void 0) return;
|
|
18828
|
+
const graph = allGraphs.find((candidate) => candidate.id === props.activeGraphId);
|
|
18829
|
+
if (graph === void 0) return;
|
|
18830
|
+
setExpanded((previous) => {
|
|
18831
|
+
const next = new Set(previous);
|
|
18832
|
+
next.add("scope:" + graph.scope);
|
|
18833
|
+
next.add("graph:" + graph.id);
|
|
18834
|
+
if (graph.scope === "department") {
|
|
18835
|
+
const group = visibleScopes.find((scope) => scope.key === "department")?.groups.find((candidate) => candidate.graphs.some((node) => node.id === graph.id));
|
|
18836
|
+
if (group !== void 0) {
|
|
18837
|
+
let path = "";
|
|
18838
|
+
for (const code of group.key.split("/").filter((value) => value !== "")) {
|
|
18839
|
+
path = path === "" ? code : path + "/" + code;
|
|
18840
|
+
next.add("dept:" + path);
|
|
18841
|
+
}
|
|
18842
|
+
}
|
|
18843
|
+
}
|
|
18844
|
+
return next;
|
|
18845
|
+
});
|
|
18846
|
+
}, [
|
|
18847
|
+
props.activeGraphId,
|
|
18848
|
+
allGraphs,
|
|
18849
|
+
visibleScopes
|
|
18850
|
+
]);
|
|
18851
|
+
const isOpen = (key) => needle !== "" || expanded.has(key);
|
|
18852
|
+
const toggle = (key) => {
|
|
18853
|
+
setExpanded((previous) => {
|
|
18854
|
+
const next = new Set(previous);
|
|
18855
|
+
if (next.has(key)) next.delete(key);
|
|
18856
|
+
else next.add(key);
|
|
18857
|
+
return next;
|
|
18858
|
+
});
|
|
18859
|
+
};
|
|
18860
|
+
const graphRow = (graph, depth, keyPrefix = "") => {
|
|
18861
|
+
const open = isOpen("graph:" + graph.id);
|
|
18862
|
+
const active = graph.id === props.activeGraphId;
|
|
18863
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeRow, {
|
|
18864
|
+
depth,
|
|
18865
|
+
label: graph.name,
|
|
18866
|
+
testId: "kg-graph",
|
|
18867
|
+
attrs: { "data-graph-id": graph.id },
|
|
18868
|
+
expandable: graph.topics.length > 0,
|
|
18869
|
+
open,
|
|
18870
|
+
active,
|
|
18871
|
+
trailing: graph.counts.topics + " · " + graph.counts.links,
|
|
18872
|
+
glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18873
|
+
className: KnowledgeGraphTree_module_css_default.graphGlyph,
|
|
18874
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(GraphFileGlyph, {})
|
|
18875
|
+
}),
|
|
18876
|
+
onClick: () => {
|
|
18877
|
+
if (active && graph.topics.length > 0 && open) {
|
|
18878
|
+
toggle("graph:" + graph.id);
|
|
18879
|
+
return;
|
|
18880
|
+
}
|
|
18881
|
+
if (!active) props.onSelectGraph(graph.id);
|
|
18882
|
+
if (!open) toggle("graph:" + graph.id);
|
|
18883
|
+
}
|
|
18884
|
+
}), open && graph.topics.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: graph.topics.map((topic) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18885
|
+
role: "button",
|
|
18886
|
+
tabIndex: 0,
|
|
18887
|
+
className: KnowledgeGraphTree_module_css_default.topicRow + (topic.id === props.activeTopicId ? " " + KnowledgeGraphTree_module_css_default.topicActive : ""),
|
|
18888
|
+
style: { paddingLeft: (depth + 1) * 22 + 6 + 16 },
|
|
18889
|
+
"data-testid": "kg-topic",
|
|
18890
|
+
"data-topic-id": topic.id,
|
|
18891
|
+
onClick: () => {
|
|
18892
|
+
props.onSelectTopic(graph.id, topic.id);
|
|
18893
|
+
},
|
|
18894
|
+
onKeyDown: (event) => {
|
|
18895
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
18896
|
+
event.preventDefault();
|
|
18897
|
+
props.onSelectTopic(graph.id, topic.id);
|
|
18898
|
+
}
|
|
18899
|
+
},
|
|
18900
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18901
|
+
className: KnowledgeGraphTree_module_css_default.topicGlyph,
|
|
18902
|
+
"aria-hidden": "true"
|
|
18903
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18904
|
+
className: KnowledgeGraphTree_module_css_default.topicName,
|
|
18905
|
+
children: topic.title
|
|
18906
|
+
})]
|
|
18907
|
+
}, topic.id)) })] }, keyPrefix + graph.id);
|
|
18908
|
+
};
|
|
18909
|
+
const departmentRow = (node, depth) => {
|
|
18910
|
+
const key = "dept:" + node.id;
|
|
18911
|
+
const open = isOpen(key);
|
|
18912
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeRow, {
|
|
18913
|
+
depth,
|
|
18914
|
+
label: node.label,
|
|
18915
|
+
testId: "kg-dept",
|
|
18916
|
+
attrs: { "data-dept-id": node.id },
|
|
18917
|
+
dir: true,
|
|
18918
|
+
expandable: true,
|
|
18919
|
+
open,
|
|
18920
|
+
glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconFolderOpenRegular, { size: 14 }),
|
|
18921
|
+
onClick: () => {
|
|
18922
|
+
toggle(key);
|
|
18923
|
+
}
|
|
18924
|
+
}), open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [node.children.map((child) => departmentRow(child, depth + 1)), node.graphs.map((graph) => graphRow(graph, depth + 1))] })] }, node.id);
|
|
18925
|
+
};
|
|
18926
|
+
if (props.state.kind === "loading" && props.state.tree.visible === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18927
|
+
className: KnowledgeGraphTree_module_css_default.state,
|
|
18928
|
+
"data-testid": "kg-tree-loading",
|
|
18929
|
+
children: props.t("graphLoading")
|
|
18930
|
+
});
|
|
18931
|
+
if (props.state.kind === "failed") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18932
|
+
className: KnowledgeGraphTree_module_css_default.state,
|
|
18933
|
+
"data-testid": "kg-tree-failed",
|
|
18934
|
+
children: [
|
|
18935
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18936
|
+
className: KnowledgeGraphTree_module_css_default.error,
|
|
18937
|
+
children: props.t("graphFailed")
|
|
18938
|
+
}),
|
|
18939
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18940
|
+
className: KnowledgeGraphTree_module_css_default.detail,
|
|
18941
|
+
children: props.state.error
|
|
18942
|
+
}),
|
|
18943
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
18944
|
+
type: "button",
|
|
18945
|
+
className: KnowledgeGraphTree_module_css_default.retry,
|
|
18946
|
+
onClick: props.onRetry,
|
|
18947
|
+
children: props.t("graphRetry")
|
|
18948
|
+
})
|
|
18949
|
+
]
|
|
18950
|
+
});
|
|
18951
|
+
if (allGraphs.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18952
|
+
className: KnowledgeGraphTree_module_css_default.state,
|
|
18953
|
+
"data-testid": "kg-tree-empty",
|
|
18954
|
+
children: [
|
|
18955
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18956
|
+
className: KnowledgeGraphTree_module_css_default.emptyTitle,
|
|
18957
|
+
children: needle === "" ? props.t("graphEmptyTitle") : props.t("filterNoMatch")
|
|
18958
|
+
}),
|
|
18959
|
+
needle === "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18960
|
+
className: KnowledgeGraphTree_module_css_default.detail,
|
|
18961
|
+
children: props.t("graphEmptyBody")
|
|
18962
|
+
}),
|
|
18963
|
+
needle === "" && props.state.tree.denied > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18964
|
+
className: KnowledgeGraphTree_module_css_default.detail,
|
|
18965
|
+
children: props.t("graphNoAccess")
|
|
18966
|
+
})
|
|
18967
|
+
]
|
|
18968
|
+
});
|
|
18969
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18970
|
+
className: KnowledgeGraphTree_module_css_default.tree,
|
|
18971
|
+
"data-testid": "kg-tree",
|
|
18972
|
+
children: SCOPE_COPY.map((scopeCopy) => {
|
|
18973
|
+
const scope = visibleScopes.find((candidate) => candidate.key === scopeCopy.key);
|
|
18974
|
+
if (scope === void 0) return null;
|
|
18975
|
+
const graphs = scope.groups.flatMap((group) => group.graphs);
|
|
18976
|
+
const key = "scope:" + scopeCopy.key;
|
|
18977
|
+
const open = isOpen(key);
|
|
18978
|
+
const forest = scopeCopy.key === "department" ? departmentForest(scope.groups) : {
|
|
18979
|
+
roots: [],
|
|
18980
|
+
loose: graphs
|
|
18981
|
+
};
|
|
18982
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
18983
|
+
className: KnowledgeGraphTree_module_css_default.scope,
|
|
18984
|
+
"data-testid": "kg-scope",
|
|
18985
|
+
"data-scope": scopeCopy.key,
|
|
18986
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TreeRow, {
|
|
18987
|
+
depth: 0,
|
|
18988
|
+
label: props.t(scopeCopy.copy),
|
|
18989
|
+
testId: "kg-scope-row",
|
|
18990
|
+
dir: true,
|
|
18991
|
+
expandable: true,
|
|
18992
|
+
open,
|
|
18993
|
+
glyph: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconFolderOpenRegular, { size: 14 }),
|
|
18994
|
+
onClick: () => {
|
|
18995
|
+
toggle(key);
|
|
18996
|
+
}
|
|
18997
|
+
}), open && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [scopeCopy.key === "department" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [forest.loose.map((graph) => graphRow(graph, 1)), forest.roots.map((node) => departmentRow(node, 1))] }) : graphs.map((graph) => graphRow(graph, 1)), graphs.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
18998
|
+
className: KnowledgeGraphTree_module_css_default.emptyRow,
|
|
18999
|
+
style: { paddingLeft: 44 },
|
|
19000
|
+
children: "(空)"
|
|
19001
|
+
})] })]
|
|
19002
|
+
}, scopeCopy.key);
|
|
19003
|
+
})
|
|
19004
|
+
});
|
|
18273
19005
|
}
|
|
18274
|
-
|
|
18275
|
-
|
|
18276
|
-
|
|
18277
|
-
|
|
18278
|
-
|
|
18279
|
-
const
|
|
18280
|
-
|
|
19006
|
+
//#endregion
|
|
19007
|
+
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/graph/KnowledgeGraphView.module.css.mjs
|
|
19008
|
+
const css$4 = ".Dk9FoG_host{background:var(--dsw-alias-bg-base);flex:auto;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.Dk9FoG_frame{background:var(--dsw-alias-bg-base);border:0;width:100%;height:100%;min-height:0;display:block}.Dk9FoG_state{min-height:240px;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxs-12);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.Dk9FoG_emptyTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-sm-strong-14);margin:0}.Dk9FoG_error{color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-sm-strong-14);margin:0}.Dk9FoG_detail{overflow-wrap:anywhere;max-width:560px;margin:0}.Dk9FoG_retry{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-sm);background:var(--dsw-alias-bg-layer-2);height:28px;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);cursor:pointer;margin-top:4px;padding:0 12px}.Dk9FoG_retry:hover{background:var(--dsw-alias-interactive-bg-hover)}";
|
|
19009
|
+
const tagId$4 = "@sparkelf/dsh-knowledge-base/KnowledgeGraphView.module.css";
|
|
19010
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
19011
|
+
const tag = document.createElement("style");
|
|
19012
|
+
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
19013
|
+
tag.dataset.pluginCss = tagId$4;
|
|
19014
|
+
tag.textContent = css$4;
|
|
19015
|
+
document.head.appendChild(tag);
|
|
18281
19016
|
}
|
|
19017
|
+
var KnowledgeGraphView_module_css_default = {
|
|
19018
|
+
"frame": "Dk9FoG_frame",
|
|
19019
|
+
"emptyTitle": "Dk9FoG_emptyTitle",
|
|
19020
|
+
"error": "Dk9FoG_error",
|
|
19021
|
+
"detail": "Dk9FoG_detail",
|
|
19022
|
+
"host": "Dk9FoG_host",
|
|
19023
|
+
"retry": "Dk9FoG_retry",
|
|
19024
|
+
"state": "Dk9FoG_state"
|
|
19025
|
+
};
|
|
19026
|
+
//#endregion
|
|
19027
|
+
//#region src/client/graph/KnowledgeGraphView.tsx
|
|
18282
19028
|
/**
|
|
18283
|
-
*
|
|
19029
|
+
* The graph tab's canvas surface.
|
|
18284
19030
|
*
|
|
18285
|
-
*
|
|
18286
|
-
*
|
|
18287
|
-
*
|
|
18288
|
-
*
|
|
18289
|
-
*
|
|
18290
|
-
*
|
|
18291
|
-
*
|
|
19031
|
+
* The first version embeds the proven prototype canvas as a same-origin page. The
|
|
19032
|
+
* page owns layout, pan/zoom and the topic detail panel; this component owns the
|
|
19033
|
+
* permission-filtered data and the small message protocol:
|
|
19034
|
+
*
|
|
19035
|
+
* - host → page: `kg:set-graphs`, `kg:select-graph`, `kg:select-topic`
|
|
19036
|
+
* - page → host: `kg:ready` (the panel then (re)sends the payload), `kg:selection`
|
|
19037
|
+
* (acknowledgement only; the rail keeps its own selection state)
|
|
19038
|
+
*
|
|
19039
|
+
* Splitting the data from the rendering is what makes the later native component
|
|
19040
|
+
* a replacement of one file rather than a rewrite of the tab.
|
|
19041
|
+
*
|
|
19042
|
+
* @module @sparkelf/dsh-knowledge-base/client/graph/KnowledgeGraphView
|
|
18292
19043
|
*/
|
|
18293
|
-
function uploadPercent(loaded, total, computable) {
|
|
18294
|
-
if (!computable || !Number.isFinite(total) || total <= 0) return void 0;
|
|
18295
|
-
if (!Number.isFinite(loaded) || loaded < 0) return void 0;
|
|
18296
|
-
return Math.min(100, Math.max(0, Math.round(loaded / total * 100)));
|
|
18297
|
-
}
|
|
18298
19044
|
/**
|
|
18299
|
-
*
|
|
19045
|
+
* The host tokens the embedded page consumes.
|
|
18300
19046
|
*
|
|
18301
|
-
*
|
|
18302
|
-
*
|
|
18303
|
-
*
|
|
18304
|
-
*
|
|
19047
|
+
* A dedicated list rather than a blanket copy of every custom property: the page
|
|
19048
|
+
* owns its own layout variables, and only the alias colors are the host's to
|
|
19049
|
+
* decide. Missing values are omitted, so the page keeps its first-paint fallback
|
|
19050
|
+
* instead of receiving an empty string that would clear a CSS rule.
|
|
18305
19051
|
*/
|
|
18306
|
-
|
|
18307
|
-
|
|
18308
|
-
|
|
18309
|
-
|
|
19052
|
+
const THEME_TOKENS = [
|
|
19053
|
+
"--dsw-alias-bg-base",
|
|
19054
|
+
"--dsw-alias-bg-layer-1",
|
|
19055
|
+
"--dsw-alias-bg-layer-2",
|
|
19056
|
+
"--dsw-alias-label-primary",
|
|
19057
|
+
"--dsw-alias-label-secondary",
|
|
19058
|
+
"--dsw-alias-label-tertiary",
|
|
19059
|
+
"--dsw-alias-border-l1",
|
|
19060
|
+
"--dsw-alias-border-l2",
|
|
19061
|
+
"--dsw-alias-state-business-primary",
|
|
19062
|
+
"--dsw-alias-link",
|
|
19063
|
+
"--dsw-alias-state-success-primary",
|
|
19064
|
+
"--dsw-alias-state-warn-primary",
|
|
19065
|
+
"--dsw-elevation-panel"
|
|
19066
|
+
];
|
|
18310
19067
|
/**
|
|
18311
|
-
*
|
|
18312
|
-
*
|
|
18313
|
-
* @param
|
|
18314
|
-
* @
|
|
18315
|
-
|
|
18316
|
-
|
|
18317
|
-
|
|
18318
|
-
|
|
18319
|
-
|
|
18320
|
-
|
|
18321
|
-
|
|
18322
|
-
|
|
18323
|
-
|
|
18324
|
-
|
|
18325
|
-
|
|
18326
|
-
|
|
18327
|
-
|
|
19068
|
+
* Render the canvas, or the state that explains why there is none.
|
|
19069
|
+
*
|
|
19070
|
+
* @param props - the permission-filtered tree and the current selection.
|
|
19071
|
+
* @returns The canvas surface.
|
|
19072
|
+
*/
|
|
19073
|
+
function KnowledgeGraphView(props) {
|
|
19074
|
+
const frameRef = (0, react.useRef)(null);
|
|
19075
|
+
const [frameReady, setFrameReady] = (0, react.useState)(false);
|
|
19076
|
+
const sentDataRef = (0, react.useRef)(false);
|
|
19077
|
+
const loadedGraphRef = (0, react.useRef)(void 0);
|
|
19078
|
+
const loadedTopicRef = (0, react.useRef)(void 0);
|
|
19079
|
+
const graphs = (0, react.useMemo)(() => knowledgeGraphsOf(props.state.tree), [props.state.tree]);
|
|
19080
|
+
const activeGraph = graphs.find((graph) => graph.id === props.activeGraphId) ?? graphs[0];
|
|
19081
|
+
/** Post one message into the embedded page. */
|
|
19082
|
+
const post = (0, react.useCallback)((message) => {
|
|
19083
|
+
const frame = frameRef.current;
|
|
19084
|
+
if (frame === null || frame.contentWindow === null) return;
|
|
19085
|
+
frame.contentWindow.postMessage(message, "*");
|
|
19086
|
+
}, []);
|
|
19087
|
+
/**
|
|
19088
|
+
* Send the host's live color tokens into the embedded page.
|
|
19089
|
+
*
|
|
19090
|
+
* The iframe is a separate document, so `var(--dsw-*)` cannot cross the boundary
|
|
19091
|
+
* by inheritance. Reading the computed values from this document and posting them
|
|
19092
|
+
* is what keeps the canvas on the same light/dark palette as the panel instead of
|
|
19093
|
+
* carrying the prototype's fixed one.
|
|
19094
|
+
*/
|
|
19095
|
+
const sendTheme = (0, react.useCallback)(() => {
|
|
19096
|
+
const style = getComputedStyle(document.body);
|
|
19097
|
+
const tokens = {};
|
|
19098
|
+
for (const name of THEME_TOKENS) {
|
|
19099
|
+
const value = style.getPropertyValue(name).trim();
|
|
19100
|
+
if (value !== "") tokens[name] = value;
|
|
19101
|
+
}
|
|
19102
|
+
post({
|
|
19103
|
+
type: "kg:theme",
|
|
19104
|
+
tokens,
|
|
19105
|
+
dark: document.body.hasAttribute("data-ds-dark-theme")
|
|
19106
|
+
});
|
|
19107
|
+
}, [post]);
|
|
19108
|
+
/** Send the whole payload, which makes the page rebuild its canvas. */
|
|
19109
|
+
const sendAll = (0, react.useCallback)(() => {
|
|
19110
|
+
post({
|
|
19111
|
+
type: "kg:set-graphs",
|
|
19112
|
+
graphs,
|
|
19113
|
+
activeGraphId: activeGraph?.id ?? null,
|
|
19114
|
+
selectedTopicId: props.activeTopicId ?? null
|
|
19115
|
+
});
|
|
19116
|
+
loadedGraphRef.current = activeGraph?.id;
|
|
19117
|
+
loadedTopicRef.current = props.activeTopicId;
|
|
19118
|
+
sentDataRef.current = true;
|
|
19119
|
+
}, [
|
|
19120
|
+
post,
|
|
19121
|
+
graphs,
|
|
19122
|
+
activeGraph,
|
|
19123
|
+
props.activeTopicId
|
|
19124
|
+
]);
|
|
19125
|
+
const sendAllRef = (0, react.useRef)(sendAll);
|
|
19126
|
+
(0, react.useEffect)(() => {
|
|
19127
|
+
sendAllRef.current = sendAll;
|
|
19128
|
+
}, [sendAll]);
|
|
19129
|
+
const onFrameLoad = (0, react.useCallback)(() => {
|
|
19130
|
+
sentDataRef.current = false;
|
|
19131
|
+
setFrameReady(true);
|
|
19132
|
+
}, []);
|
|
19133
|
+
(0, react.useEffect)(() => {
|
|
19134
|
+
if (!frameReady) return;
|
|
19135
|
+
sendTheme();
|
|
19136
|
+
let frame = 0;
|
|
19137
|
+
const schedule = () => {
|
|
19138
|
+
cancelAnimationFrame(frame);
|
|
19139
|
+
frame = requestAnimationFrame(sendTheme);
|
|
18328
19140
|
};
|
|
18329
|
-
const
|
|
18330
|
-
|
|
18331
|
-
|
|
18332
|
-
|
|
18333
|
-
|
|
18334
|
-
|
|
18335
|
-
|
|
18336
|
-
|
|
18337
|
-
|
|
18338
|
-
|
|
19141
|
+
const observer = new MutationObserver(schedule);
|
|
19142
|
+
observer.observe(document.body, {
|
|
19143
|
+
attributes: true,
|
|
19144
|
+
attributeFilter: [
|
|
19145
|
+
"data-ds-dark-theme",
|
|
19146
|
+
"class",
|
|
19147
|
+
"style"
|
|
19148
|
+
]
|
|
19149
|
+
});
|
|
19150
|
+
observer.observe(document.documentElement, {
|
|
19151
|
+
attributes: true,
|
|
19152
|
+
attributeFilter: ["class", "style"]
|
|
19153
|
+
});
|
|
19154
|
+
return () => {
|
|
19155
|
+
cancelAnimationFrame(frame);
|
|
19156
|
+
observer.disconnect();
|
|
18339
19157
|
};
|
|
18340
|
-
|
|
18341
|
-
|
|
18342
|
-
|
|
18343
|
-
|
|
18344
|
-
|
|
18345
|
-
|
|
19158
|
+
}, [frameReady, sendTheme]);
|
|
19159
|
+
(0, react.useEffect)(() => {
|
|
19160
|
+
sentDataRef.current = false;
|
|
19161
|
+
}, [props.state.tree]);
|
|
19162
|
+
(0, react.useEffect)(() => {
|
|
19163
|
+
if (!frameReady || props.state.kind !== "ready") return;
|
|
19164
|
+
if (graphs.length === 0 || sentDataRef.current) return;
|
|
19165
|
+
sendAllRef.current();
|
|
19166
|
+
}, [
|
|
19167
|
+
frameReady,
|
|
19168
|
+
props.state.kind,
|
|
19169
|
+
props.state.tree,
|
|
19170
|
+
graphs.length
|
|
19171
|
+
]);
|
|
19172
|
+
(0, react.useEffect)(() => {
|
|
19173
|
+
if (!frameReady || activeGraph === void 0) return;
|
|
19174
|
+
if (loadedGraphRef.current === activeGraph.id) return;
|
|
19175
|
+
post({
|
|
19176
|
+
type: "kg:select-graph",
|
|
19177
|
+
graphId: activeGraph.id
|
|
19178
|
+
});
|
|
19179
|
+
loadedGraphRef.current = activeGraph.id;
|
|
19180
|
+
loadedTopicRef.current = void 0;
|
|
19181
|
+
}, [
|
|
19182
|
+
activeGraph,
|
|
19183
|
+
frameReady,
|
|
19184
|
+
post
|
|
19185
|
+
]);
|
|
19186
|
+
(0, react.useEffect)(() => {
|
|
19187
|
+
if (!frameReady || props.activeTopicId === void 0) return;
|
|
19188
|
+
if (loadedTopicRef.current === props.activeTopicId) return;
|
|
19189
|
+
post({
|
|
19190
|
+
type: "kg:select-topic",
|
|
19191
|
+
topicId: props.activeTopicId
|
|
19192
|
+
});
|
|
19193
|
+
loadedTopicRef.current = props.activeTopicId;
|
|
19194
|
+
}, [
|
|
19195
|
+
props.activeTopicId,
|
|
19196
|
+
frameReady,
|
|
19197
|
+
post
|
|
19198
|
+
]);
|
|
19199
|
+
(0, react.useEffect)(() => {
|
|
19200
|
+
const onMessage = (event) => {
|
|
19201
|
+
const message = event.data;
|
|
19202
|
+
if (message === null || typeof message !== "object") return;
|
|
19203
|
+
if (message.type === "kg:ready") {
|
|
19204
|
+
sendTheme();
|
|
19205
|
+
if (!sentDataRef.current && graphs.length > 0) sendAllRef.current();
|
|
18346
19206
|
}
|
|
18347
|
-
finish({
|
|
18348
|
-
status: request.status,
|
|
18349
|
-
body
|
|
18350
|
-
});
|
|
18351
|
-
};
|
|
18352
|
-
request.onerror = () => {
|
|
18353
|
-
finish({
|
|
18354
|
-
status: 0,
|
|
18355
|
-
body: void 0,
|
|
18356
|
-
transportError: "the network request failed"
|
|
18357
|
-
});
|
|
18358
|
-
};
|
|
18359
|
-
request.onabort = () => {
|
|
18360
|
-
finish({
|
|
18361
|
-
status: 0,
|
|
18362
|
-
body: void 0,
|
|
18363
|
-
transportError: "the upload was cancelled"
|
|
18364
|
-
});
|
|
18365
19207
|
};
|
|
18366
|
-
|
|
18367
|
-
|
|
18368
|
-
|
|
18369
|
-
body: void 0,
|
|
18370
|
-
transportError: "the upload timed out"
|
|
18371
|
-
});
|
|
19208
|
+
window.addEventListener("message", onMessage);
|
|
19209
|
+
return () => {
|
|
19210
|
+
window.removeEventListener("message", onMessage);
|
|
18372
19211
|
};
|
|
18373
|
-
|
|
18374
|
-
|
|
18375
|
-
|
|
18376
|
-
|
|
18377
|
-
|
|
18378
|
-
|
|
18379
|
-
|
|
18380
|
-
|
|
18381
|
-
|
|
19212
|
+
}, [graphs.length, sendTheme]);
|
|
19213
|
+
if (props.state.kind === "failed") return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19214
|
+
className: KnowledgeGraphView_module_css_default.state,
|
|
19215
|
+
"data-testid": "kg-view-failed",
|
|
19216
|
+
children: [
|
|
19217
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19218
|
+
className: KnowledgeGraphView_module_css_default.error,
|
|
19219
|
+
children: props.t("graphFailed")
|
|
19220
|
+
}),
|
|
19221
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19222
|
+
className: KnowledgeGraphView_module_css_default.detail,
|
|
19223
|
+
children: props.state.error
|
|
19224
|
+
}),
|
|
19225
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
19226
|
+
type: "button",
|
|
19227
|
+
className: KnowledgeGraphView_module_css_default.retry,
|
|
19228
|
+
onClick: props.onRetry,
|
|
19229
|
+
children: props.t("graphRetry")
|
|
19230
|
+
})
|
|
19231
|
+
]
|
|
19232
|
+
});
|
|
19233
|
+
if (props.state.kind === "loading" && graphs.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
19234
|
+
className: KnowledgeGraphView_module_css_default.state,
|
|
19235
|
+
"data-testid": "kg-view-loading",
|
|
19236
|
+
children: props.t("graphLoading")
|
|
19237
|
+
});
|
|
19238
|
+
if (graphs.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19239
|
+
className: KnowledgeGraphView_module_css_default.state,
|
|
19240
|
+
"data-testid": "kg-view-empty",
|
|
19241
|
+
children: [
|
|
19242
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19243
|
+
className: KnowledgeGraphView_module_css_default.emptyTitle,
|
|
19244
|
+
children: props.t("graphEmptyTitle")
|
|
19245
|
+
}),
|
|
19246
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19247
|
+
className: KnowledgeGraphView_module_css_default.detail,
|
|
19248
|
+
children: props.t("graphEmptyBody")
|
|
19249
|
+
}),
|
|
19250
|
+
props.state.tree.denied > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19251
|
+
className: KnowledgeGraphView_module_css_default.detail,
|
|
19252
|
+
children: props.t("graphNoAccess")
|
|
19253
|
+
})
|
|
19254
|
+
]
|
|
19255
|
+
});
|
|
19256
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
19257
|
+
className: KnowledgeGraphView_module_css_default.host,
|
|
19258
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("iframe", {
|
|
19259
|
+
ref: frameRef,
|
|
19260
|
+
className: KnowledgeGraphView_module_css_default.frame,
|
|
19261
|
+
title: "知识图谱画布",
|
|
19262
|
+
"data-testid": "kg-canvas-frame",
|
|
19263
|
+
src: kbApiPath(KB_API.graphCanvas),
|
|
19264
|
+
onLoad: onFrameLoad
|
|
19265
|
+
})
|
|
18382
19266
|
});
|
|
18383
19267
|
}
|
|
18384
19268
|
//#endregion
|
|
18385
|
-
//#region src/client/
|
|
19269
|
+
//#region src/client/graph/useKnowledgeGraph.ts
|
|
18386
19270
|
/**
|
|
18387
|
-
*
|
|
18388
|
-
*
|
|
18389
|
-
*
|
|
19271
|
+
* The graph tab's data hook.
|
|
19272
|
+
*
|
|
19273
|
+
* The tree is loaded once per activation and kept across tab switches: moving back
|
|
19274
|
+
* to 「知识库」 and forward to 「图谱」 must not refetch or remount into a blank
|
|
19275
|
+
* canvas, because the tab is the same navigation surface with a different data
|
|
19276
|
+
* source. A caller that changes permissions reloads through {@link reload}.
|
|
19277
|
+
*
|
|
19278
|
+
* The Host's answer is already permission-filtered; this hook never filters by
|
|
19279
|
+
* itself and never receives a raw scope to trim.
|
|
19280
|
+
*
|
|
19281
|
+
* @module @sparkelf/dsh-knowledge-base/client/graph/useKnowledgeGraph
|
|
18390
19282
|
*/
|
|
18391
|
-
function KnowledgeSectionHeader(props) {
|
|
18392
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
18393
|
-
className: props.className === void 0 ? KnowledgePanel_module_css_default.sectionHeader : KnowledgePanel_module_css_default.sectionHeader + " " + props.className,
|
|
18394
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
18395
|
-
className: KnowledgePanel_module_css_default.sectionName,
|
|
18396
|
-
children: props.name
|
|
18397
|
-
}), props.actions !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18398
|
-
className: KnowledgePanel_module_css_default.sectionActions,
|
|
18399
|
-
children: props.actions
|
|
18400
|
-
})]
|
|
18401
|
-
});
|
|
18402
|
-
}
|
|
18403
19283
|
/**
|
|
18404
|
-
*
|
|
19284
|
+
* Load the permission-filtered graph tree when the graph tab is first shown.
|
|
18405
19285
|
*
|
|
18406
|
-
*
|
|
18407
|
-
*
|
|
18408
|
-
* this is the 28x28 icon control the band is specified around.
|
|
18409
|
-
* @param props - the accessible name, glyph, and activation handler.
|
|
18410
|
-
* @returns The button.
|
|
19286
|
+
* @param active - whether the graph tab is the current scope.
|
|
19287
|
+
* @returns The load state and a reload function.
|
|
18411
19288
|
*/
|
|
18412
|
-
function
|
|
18413
|
-
|
|
18414
|
-
|
|
18415
|
-
|
|
18416
|
-
"aria-label": props.label,
|
|
18417
|
-
title: props.label,
|
|
18418
|
-
...props.pressed === void 0 ? {} : { "aria-pressed": props.pressed },
|
|
18419
|
-
...props.disabled === true ? { disabled: true } : {},
|
|
18420
|
-
onClick: props.onClick,
|
|
18421
|
-
children: props.children
|
|
19289
|
+
function useKnowledgeGraph(active) {
|
|
19290
|
+
const [state, setState] = (0, react.useState)({
|
|
19291
|
+
kind: "idle",
|
|
19292
|
+
tree: emptyKnowledgeGraphTree()
|
|
18422
19293
|
});
|
|
19294
|
+
const mounted = (0, react.useRef)(true);
|
|
19295
|
+
(0, react.useEffect)(() => () => {
|
|
19296
|
+
mounted.current = false;
|
|
19297
|
+
}, []);
|
|
19298
|
+
const reload = (0, react.useCallback)(async () => {
|
|
19299
|
+
setState((previous) => ({
|
|
19300
|
+
kind: "loading",
|
|
19301
|
+
tree: previous.tree
|
|
19302
|
+
}));
|
|
19303
|
+
try {
|
|
19304
|
+
const response = await fetch(kbApiPath(KB_API.graph), {
|
|
19305
|
+
method: "POST",
|
|
19306
|
+
headers: { "content-type": "application/json" },
|
|
19307
|
+
body: "{}",
|
|
19308
|
+
cache: "no-store"
|
|
19309
|
+
});
|
|
19310
|
+
const body = await readKnowledgeJson(response);
|
|
19311
|
+
if (!response.ok || typeof body.error === "string") throw new Error(typeof body.error === "string" ? body.error : "HTTP " + String(response.status));
|
|
19312
|
+
const tree = body;
|
|
19313
|
+
if (!mounted.current) return;
|
|
19314
|
+
setState({
|
|
19315
|
+
kind: "ready",
|
|
19316
|
+
tree
|
|
19317
|
+
});
|
|
19318
|
+
} catch (error) {
|
|
19319
|
+
if (!mounted.current) return;
|
|
19320
|
+
setState((previous) => ({
|
|
19321
|
+
kind: "failed",
|
|
19322
|
+
tree: previous.tree,
|
|
19323
|
+
error: error instanceof Error ? error.message : String(error)
|
|
19324
|
+
}));
|
|
19325
|
+
}
|
|
19326
|
+
}, []);
|
|
19327
|
+
(0, react.useEffect)(() => {
|
|
19328
|
+
if (active && state.kind === "idle") reload();
|
|
19329
|
+
}, [
|
|
19330
|
+
active,
|
|
19331
|
+
state.kind,
|
|
19332
|
+
reload
|
|
19333
|
+
]);
|
|
19334
|
+
return {
|
|
19335
|
+
...state,
|
|
19336
|
+
reload
|
|
19337
|
+
};
|
|
18423
19338
|
}
|
|
18424
19339
|
//#endregion
|
|
18425
19340
|
//#region src/client/useFavorites.ts
|
|
@@ -18977,6 +19892,146 @@ window.__ModuleLoader__.load({
|
|
|
18977
19892
|
};
|
|
18978
19893
|
}
|
|
18979
19894
|
//#endregion
|
|
19895
|
+
//#region \0dsh-css:/root/projects/dsh-plugins-plus/packages/knowledge-base/src/client/KnowledgeFilePreview.module.css.mjs
|
|
19896
|
+
const css$3 = "._7KbGuq_root{border:.5px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md);background:var(--dsw-alias-bg-layer-1);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}._7KbGuq_head{border-bottom:.5px solid var(--dsw-alias-border-l3);flex:none;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}._7KbGuq_heading{flex:auto;min-width:0}._7KbGuq_title{color:var(--dsw-alias-label-primary);font:var(--dsw-font-s-strong-14);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}._7KbGuq_path{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xxxs-11);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}._7KbGuq_close{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;flex:none;font-size:18px;line-height:1}._7KbGuq_close:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._7KbGuq_body{flex:auto;min-height:0;padding:14px 18px 20px;overflow:auto}._7KbGuq_pre{color:var(--dsw-alias-label-primary);font:12px/1.7 var(--ds-font-family-code,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}._7KbGuq_notice{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);margin:0}._7KbGuq_error{color:var(--dsw-alias-state-error-primary);font:var(--dsw-font-xxs-12);margin:0}";
|
|
19897
|
+
const tagId$3 = "@sparkelf/dsh-knowledge-base/KnowledgeFilePreview.module.css";
|
|
19898
|
+
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
19899
|
+
const tag = document.createElement("style");
|
|
19900
|
+
tag.dataset.plugin = "@sparkelf/dsh-knowledge-base";
|
|
19901
|
+
tag.dataset.pluginCss = tagId$3;
|
|
19902
|
+
tag.textContent = css$3;
|
|
19903
|
+
document.head.appendChild(tag);
|
|
19904
|
+
}
|
|
19905
|
+
var KnowledgeFilePreview_module_css_default = {
|
|
19906
|
+
"pre": "_7KbGuq_pre",
|
|
19907
|
+
"close": "_7KbGuq_close",
|
|
19908
|
+
"body": "_7KbGuq_body",
|
|
19909
|
+
"heading": "_7KbGuq_heading",
|
|
19910
|
+
"root": "_7KbGuq_root",
|
|
19911
|
+
"notice": "_7KbGuq_notice",
|
|
19912
|
+
"title": "_7KbGuq_title",
|
|
19913
|
+
"error": "_7KbGuq_error",
|
|
19914
|
+
"path": "_7KbGuq_path",
|
|
19915
|
+
"head": "_7KbGuq_head"
|
|
19916
|
+
};
|
|
19917
|
+
//#endregion
|
|
19918
|
+
//#region src/client/KnowledgeFilePreview.tsx
|
|
19919
|
+
/**
|
|
19920
|
+
* In-page document preview for the knowledge page.
|
|
19921
|
+
*
|
|
19922
|
+
* The knowledge page is a global main panel, and the host's right sidebar only
|
|
19923
|
+
* renders a session-bound preview while a conversation is the active panel. When
|
|
19924
|
+
* the host column is unavailable, this pane is the fallback the reader actually
|
|
19925
|
+
* sees: it reads the document through the same permission-checked `read` route the
|
|
19926
|
+
* preview pane uses and shows the text in place of the old "opened on the right"
|
|
19927
|
+
* notice.
|
|
19928
|
+
*
|
|
19929
|
+
* It deliberately does not replace the host viewer: when `openInSidebar` succeeds
|
|
19930
|
+
* the host tab still owns the document. This pane is the non-blank fallback for the
|
|
19931
|
+
* profile where that column cannot mount.
|
|
19932
|
+
*
|
|
19933
|
+
* @module @sparkelf/dsh-knowledge-base/client
|
|
19934
|
+
*/
|
|
19935
|
+
/**
|
|
19936
|
+
* Render one document read through the knowledge read route.
|
|
19937
|
+
*
|
|
19938
|
+
* @param props - the path, copy, and close command.
|
|
19939
|
+
* @returns The preview pane.
|
|
19940
|
+
*/
|
|
19941
|
+
function KnowledgeFilePreview(props) {
|
|
19942
|
+
const [state, setState] = (0, react.useState)({ kind: "loading" });
|
|
19943
|
+
const name = props.path.slice(props.path.lastIndexOf("/") + 1);
|
|
19944
|
+
(0, react.useEffect)(() => {
|
|
19945
|
+
let alive = true;
|
|
19946
|
+
setState({ kind: "loading" });
|
|
19947
|
+
(async () => {
|
|
19948
|
+
try {
|
|
19949
|
+
const response = await fetch(kbApiPath(KB_API.read), {
|
|
19950
|
+
method: "POST",
|
|
19951
|
+
headers: { "content-type": "application/json" },
|
|
19952
|
+
body: JSON.stringify({ path: props.path }),
|
|
19953
|
+
cache: "no-store"
|
|
19954
|
+
});
|
|
19955
|
+
const body = await readKnowledgeJson(response);
|
|
19956
|
+
if (!response.ok || typeof body.error === "string") throw new Error(typeof body.error === "string" ? body.error : "HTTP " + String(response.status));
|
|
19957
|
+
if (!alive) return;
|
|
19958
|
+
if (body.kind === "text" && typeof body.content === "string") setState({
|
|
19959
|
+
kind: "text",
|
|
19960
|
+
content: body.content,
|
|
19961
|
+
truncated: body.truncated === true
|
|
19962
|
+
});
|
|
19963
|
+
else if (body.kind === "binary") setState({
|
|
19964
|
+
kind: "binary",
|
|
19965
|
+
size: typeof body.size === "number" ? body.size : 0
|
|
19966
|
+
});
|
|
19967
|
+
else setState({
|
|
19968
|
+
kind: "failed",
|
|
19969
|
+
error: props.t("previewFailed")
|
|
19970
|
+
});
|
|
19971
|
+
} catch (error) {
|
|
19972
|
+
if (!alive) return;
|
|
19973
|
+
setState({
|
|
19974
|
+
kind: "failed",
|
|
19975
|
+
error: error instanceof Error ? error.message : String(error)
|
|
19976
|
+
});
|
|
19977
|
+
}
|
|
19978
|
+
})();
|
|
19979
|
+
return () => {
|
|
19980
|
+
alive = false;
|
|
19981
|
+
};
|
|
19982
|
+
}, [props.path, props.t]);
|
|
19983
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19984
|
+
className: KnowledgeFilePreview_module_css_default.root,
|
|
19985
|
+
"data-testid": "kg-file-preview",
|
|
19986
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
19987
|
+
className: KnowledgeFilePreview_module_css_default.head,
|
|
19988
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
19989
|
+
className: KnowledgeFilePreview_module_css_default.heading,
|
|
19990
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
|
|
19991
|
+
className: KnowledgeFilePreview_module_css_default.title,
|
|
19992
|
+
children: name
|
|
19993
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
19994
|
+
className: KnowledgeFilePreview_module_css_default.path,
|
|
19995
|
+
children: props.path
|
|
19996
|
+
})]
|
|
19997
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
19998
|
+
type: "button",
|
|
19999
|
+
className: KnowledgeFilePreview_module_css_default.close,
|
|
20000
|
+
onClick: props.onClose,
|
|
20001
|
+
"aria-label": props.t("previewClose"),
|
|
20002
|
+
children: "×"
|
|
20003
|
+
})]
|
|
20004
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
20005
|
+
className: KnowledgeFilePreview_module_css_default.body,
|
|
20006
|
+
children: [
|
|
20007
|
+
state.kind === "loading" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
20008
|
+
className: KnowledgeFilePreview_module_css_default.notice,
|
|
20009
|
+
children: props.t("previewLoading")
|
|
20010
|
+
}),
|
|
20011
|
+
state.kind === "failed" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
20012
|
+
className: KnowledgeFilePreview_module_css_default.error,
|
|
20013
|
+
children: [
|
|
20014
|
+
props.t("previewFailed"),
|
|
20015
|
+
" ",
|
|
20016
|
+
state.error
|
|
20017
|
+
]
|
|
20018
|
+
}),
|
|
20019
|
+
state.kind === "binary" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
20020
|
+
className: KnowledgeFilePreview_module_css_default.notice,
|
|
20021
|
+
children: props.t("previewBinarySize").replace("{size}", String(state.size))
|
|
20022
|
+
}),
|
|
20023
|
+
state.kind === "text" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [state.truncated && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
20024
|
+
className: KnowledgeFilePreview_module_css_default.notice,
|
|
20025
|
+
children: props.t("previewTruncated")
|
|
20026
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
|
|
20027
|
+
className: KnowledgeFilePreview_module_css_default.pre,
|
|
20028
|
+
children: state.content
|
|
20029
|
+
})] })
|
|
20030
|
+
]
|
|
20031
|
+
})]
|
|
20032
|
+
});
|
|
20033
|
+
}
|
|
20034
|
+
//#endregion
|
|
18980
20035
|
//#region ../../../DSH-better-sidebar/src/client/conversation-draft.ts
|
|
18981
20036
|
/**
|
|
18982
20037
|
* The separating space an append needs on its left — one space, but never
|
|
@@ -19276,13 +20331,13 @@ window.__ModuleLoader__.load({
|
|
|
19276
20331
|
}
|
|
19277
20332
|
var KnowledgeReferencePicker_module_css_default = {
|
|
19278
20333
|
"body": "uUHBaG_body",
|
|
20334
|
+
"rowName": "uUHBaG_rowName",
|
|
19279
20335
|
"list": "uUHBaG_list",
|
|
19280
|
-
"empty": "uUHBaG_empty",
|
|
19281
20336
|
"rowWhen": "uUHBaG_rowWhen",
|
|
19282
20337
|
"error": "uUHBaG_error",
|
|
19283
20338
|
"content": "uUHBaG_content",
|
|
19284
|
-
"
|
|
19285
|
-
"
|
|
20339
|
+
"empty": "uUHBaG_empty",
|
|
20340
|
+
"footer": "uUHBaG_footer"
|
|
19286
20341
|
};
|
|
19287
20342
|
//#endregion
|
|
19288
20343
|
//#region src/client/insertReadiness.ts
|
|
@@ -19844,10 +20899,10 @@ window.__ModuleLoader__.load({
|
|
|
19844
20899
|
document.head.appendChild(tag);
|
|
19845
20900
|
}
|
|
19846
20901
|
var KnowledgeSelectionBar_module_css_default = {
|
|
19847
|
-
"
|
|
19848
|
-
"actions": "y8212a_actions",
|
|
20902
|
+
"text": "y8212a_text",
|
|
19849
20903
|
"bar": "y8212a_bar",
|
|
19850
|
-
"
|
|
20904
|
+
"action": "y8212a_action",
|
|
20905
|
+
"actions": "y8212a_actions"
|
|
19851
20906
|
};
|
|
19852
20907
|
//#endregion
|
|
19853
20908
|
//#region src/client/KnowledgeSelectionBar.tsx
|
|
@@ -20163,6 +21218,37 @@ window.__ModuleLoader__.load({
|
|
|
20163
21218
|
const [state, setState] = (0, react.useState)({ kind: "loading" });
|
|
20164
21219
|
const [selection, setSelection] = (0, react.useState)({ kind: "home" });
|
|
20165
21220
|
/**
|
|
21221
|
+
* Which data source the rail tree and the content region show.
|
|
21222
|
+
*
|
|
21223
|
+
* The two pills replace the band's title; this state is the only thing they
|
|
21224
|
+
* switch. `selection` (the KB page) is deliberately left untouched while the
|
|
21225
|
+
* graph tab is open, so moving back restores the same page instead of resetting
|
|
21226
|
+
* to Home.
|
|
21227
|
+
*/
|
|
21228
|
+
const [scope, setScope] = (0, react.useState)("kb");
|
|
21229
|
+
/** The permission-filtered graph tree, loaded lazily on first activation. */
|
|
21230
|
+
const graph = useKnowledgeGraph(scope === "graph");
|
|
21231
|
+
const graphNodes = (0, react.useMemo)(() => knowledgeGraphsOf(graph.tree), [graph.tree]);
|
|
21232
|
+
const [activeGraphId, setActiveGraphId] = (0, react.useState)(void 0);
|
|
21233
|
+
const [activeTopicId, setActiveTopicId] = (0, react.useState)(void 0);
|
|
21234
|
+
const activeGraph = graphNodes.find((node) => node.id === activeGraphId);
|
|
21235
|
+
(0, react.useEffect)(() => {
|
|
21236
|
+
if (scope !== "graph" || graph.kind !== "ready" || graphNodes.length === 0) return;
|
|
21237
|
+
setActiveGraphId((current) => current !== void 0 && graphNodes.some((node) => node.id === current) ? current : graphNodes[0]?.id);
|
|
21238
|
+
}, [
|
|
21239
|
+
scope,
|
|
21240
|
+
graph.kind,
|
|
21241
|
+
graphNodes
|
|
21242
|
+
]);
|
|
21243
|
+
const selectGraph = (0, react.useCallback)((graphId) => {
|
|
21244
|
+
setActiveGraphId(graphId);
|
|
21245
|
+
setActiveTopicId(void 0);
|
|
21246
|
+
}, []);
|
|
21247
|
+
const selectTopic = (0, react.useCallback)((graphId, topicId) => {
|
|
21248
|
+
setActiveGraphId(graphId);
|
|
21249
|
+
setActiveTopicId(topicId);
|
|
21250
|
+
}, []);
|
|
21251
|
+
/**
|
|
20166
21252
|
* The open document's modification instant, reported by the preview.
|
|
20167
21253
|
*
|
|
20168
21254
|
* Held here rather than in the preview because the header draws it: the header is
|
|
@@ -20171,8 +21257,6 @@ window.__ModuleLoader__.load({
|
|
|
20171
21257
|
* label the next one.
|
|
20172
21258
|
*/
|
|
20173
21259
|
const [fileMtimeMs, setFileMtimeMs] = (0, react.useState)(void 0);
|
|
20174
|
-
/** Why the host could not show a document, when it could not. */
|
|
20175
|
-
const [openFailure, setOpenFailure] = (0, react.useState)(void 0);
|
|
20176
21260
|
/** A real Session created for host-owned previews opened from this panel. */
|
|
20177
21261
|
const explorerSessionRef = (0, react.useRef)(void 0);
|
|
20178
21262
|
/**
|
|
@@ -20214,8 +21298,7 @@ window.__ModuleLoader__.load({
|
|
|
20214
21298
|
path
|
|
20215
21299
|
});
|
|
20216
21300
|
const current = props.sessionSource?.getSnapshot().key;
|
|
20217
|
-
|
|
20218
|
-
setOpenFailure(isHostMissing(outcome) ? outcome : void 0);
|
|
21301
|
+
await openInSidebar(props.ctx, typeof current === "string" && current !== "" ? current : void 0, "/workspace", joinPath(config.mountPoint, path), ensureExplorerSession);
|
|
20219
21302
|
};
|
|
20220
21303
|
const [refreshTick, setRefreshTick] = (0, react.useState)(0);
|
|
20221
21304
|
/**
|
|
@@ -20331,7 +21414,13 @@ window.__ModuleLoader__.load({
|
|
|
20331
21414
|
const [grantPath, setGrantPath] = (0, react.useState)(void 0);
|
|
20332
21415
|
const [folded, setFolded] = (0, react.useState)(readFolded);
|
|
20333
21416
|
const [treeFilter, setTreeFilter] = (0, react.useState)("");
|
|
21417
|
+
const [graphFilter, setGraphFilter] = (0, react.useState)("");
|
|
20334
21418
|
const [filterOpen, setFilterOpen] = (0, react.useState)(false);
|
|
21419
|
+
const activeFilter = scope === "graph" ? graphFilter : treeFilter;
|
|
21420
|
+
const setActiveFilter = (value) => {
|
|
21421
|
+
if (scope === "graph") setGraphFilter(value);
|
|
21422
|
+
else setTreeFilter(value);
|
|
21423
|
+
};
|
|
20335
21424
|
const [pinnedOpen, setPinnedOpen] = (0, react.useState)(true);
|
|
20336
21425
|
const [focusNew, setFocusNew] = (0, react.useState)(false);
|
|
20337
21426
|
const t = props.t ?? ((key) => key);
|
|
@@ -20747,7 +21836,7 @@ window.__ModuleLoader__.load({
|
|
|
20747
21836
|
* hold a pointer sentence, and keeping it costs the reader the width the document
|
|
20748
21837
|
* itself wants.
|
|
20749
21838
|
*/
|
|
20750
|
-
const documentInSidebar =
|
|
21839
|
+
const documentInSidebar = false;
|
|
20751
21840
|
const [columnExpanded, setColumnExpanded] = (0, react.useState)(true);
|
|
20752
21841
|
const [columnOpenedOnce, setColumnOpenedOnce] = (0, react.useState)(false);
|
|
20753
21842
|
(0, react.useEffect)(() => {
|
|
@@ -20764,21 +21853,16 @@ window.__ModuleLoader__.load({
|
|
|
20764
21853
|
};
|
|
20765
21854
|
}, [selection.kind, props.ctx]);
|
|
20766
21855
|
(0, react.useEffect)(() => {
|
|
20767
|
-
|
|
21856
|
+
setColumnOpenedOnce(false);
|
|
20768
21857
|
}, [documentInSidebar]);
|
|
20769
|
-
/** True while the reader is actually on screen holding this page's document. */
|
|
20770
|
-
const readerOnScreen = documentInSidebar && columnExpanded;
|
|
20771
21858
|
(0, react.useEffect)(() => {
|
|
20772
21859
|
const root = document.documentElement;
|
|
20773
|
-
|
|
20774
|
-
else root.removeAttribute("data-kb-reader-open");
|
|
21860
|
+
root.removeAttribute("data-kb-reader-open");
|
|
20775
21861
|
return () => {
|
|
20776
21862
|
root.removeAttribute("data-kb-reader-open");
|
|
20777
21863
|
};
|
|
20778
|
-
}, [
|
|
21864
|
+
}, [documentInSidebar]);
|
|
20779
21865
|
(0, react.useEffect)(() => {
|
|
20780
|
-
if (readerOnScreen) return;
|
|
20781
|
-
if (documentInSidebar && !columnOpenedOnce) return;
|
|
20782
21866
|
closeSidebar(props.ctx);
|
|
20783
21867
|
setSelection((current) => current.kind === "file" ? canSeeHome ? { kind: "home" } : { kind: "search" } : current);
|
|
20784
21868
|
}, [
|
|
@@ -20920,7 +22004,7 @@ window.__ModuleLoader__.load({
|
|
|
20920
22004
|
className: KnowledgePanel_module_css_default.page,
|
|
20921
22005
|
children: [
|
|
20922
22006
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
20923
|
-
className: KnowledgePanel_module_css_default.body + (folded ? " " + KnowledgePanel_module_css_default.bodyCollapsed : "")
|
|
22007
|
+
className: KnowledgePanel_module_css_default.body + (folded ? " " + KnowledgePanel_module_css_default.bodyCollapsed : ""),
|
|
20924
22008
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("aside", {
|
|
20925
22009
|
className: KnowledgePanel_module_css_default.rail,
|
|
20926
22010
|
children: [
|
|
@@ -21078,17 +22162,23 @@ window.__ModuleLoader__.load({
|
|
|
21078
22162
|
}),
|
|
21079
22163
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
21080
22164
|
className: KnowledgePanel_module_css_default.treeBand,
|
|
21081
|
-
"aria-label": t("sectionKnowledge"),
|
|
22165
|
+
"aria-label": scope === "graph" ? t("scopeGraph") : t("sectionKnowledge"),
|
|
21082
22166
|
children: [
|
|
21083
22167
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSectionHeader, {
|
|
21084
|
-
name:
|
|
22168
|
+
name: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeScopeTabs, {
|
|
22169
|
+
value: scope,
|
|
22170
|
+
onChange: setScope,
|
|
22171
|
+
label: t("sectionKnowledge"),
|
|
22172
|
+
knowledgeLabel: t("scopeKnowledge"),
|
|
22173
|
+
graphLabel: t("scopeGraph")
|
|
22174
|
+
}),
|
|
21085
22175
|
actions: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
21086
22176
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeIconButton, {
|
|
21087
22177
|
label: t("actionFilter"),
|
|
21088
22178
|
pressed: filterOpen,
|
|
21089
22179
|
onClick: () => {
|
|
21090
22180
|
setFilterOpen((current) => {
|
|
21091
|
-
if (current)
|
|
22181
|
+
if (current) setActiveFilter("");
|
|
21092
22182
|
return !current;
|
|
21093
22183
|
});
|
|
21094
22184
|
},
|
|
@@ -21130,7 +22220,7 @@ window.__ModuleLoader__.load({
|
|
|
21130
22220
|
children: t("filterHeading")
|
|
21131
22221
|
}),
|
|
21132
22222
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MenuItemButton, {
|
|
21133
|
-
icon: filterOpen ||
|
|
22223
|
+
icon: filterOpen || activeFilter !== "" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 16 }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {}),
|
|
21134
22224
|
onSelect: () => {
|
|
21135
22225
|
setFilterOpen(true);
|
|
21136
22226
|
setSortMenuOpen(false);
|
|
@@ -21152,20 +22242,32 @@ window.__ModuleLoader__.load({
|
|
|
21152
22242
|
className: KnowledgePanel_module_css_default.treeFilter,
|
|
21153
22243
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Input, {
|
|
21154
22244
|
type: "search",
|
|
21155
|
-
value:
|
|
22245
|
+
value: activeFilter,
|
|
21156
22246
|
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, { size: 16 }),
|
|
21157
22247
|
placeholder: t("filterPlaceholder"),
|
|
21158
22248
|
"aria-label": t("filterPlaceholder"),
|
|
21159
22249
|
autoFocus: true,
|
|
21160
22250
|
onChange: (event) => {
|
|
21161
|
-
|
|
22251
|
+
setActiveFilter(event.target.value);
|
|
21162
22252
|
}
|
|
21163
22253
|
})
|
|
21164
22254
|
}),
|
|
21165
22255
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
21166
22256
|
className: KnowledgePanel_module_css_default.treeScroll,
|
|
21167
22257
|
children: [
|
|
21168
|
-
|
|
22258
|
+
scope === "graph" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeGraphTree, {
|
|
22259
|
+
state: graph,
|
|
22260
|
+
t,
|
|
22261
|
+
...activeGraphId === void 0 ? {} : { activeGraphId },
|
|
22262
|
+
...activeTopicId === void 0 ? {} : { activeTopicId },
|
|
22263
|
+
filter: graphFilter,
|
|
22264
|
+
onSelectGraph: selectGraph,
|
|
22265
|
+
onSelectTopic: selectTopic,
|
|
22266
|
+
onRetry: () => {
|
|
22267
|
+
graph.reload();
|
|
22268
|
+
}
|
|
22269
|
+
}),
|
|
22270
|
+
scope !== "graph" && (config.mountPoint === "" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21169
22271
|
className: KnowledgePanel_module_css_default.muted,
|
|
21170
22272
|
children: t("mountPointMissing")
|
|
21171
22273
|
}) : viewMode.mode === "explorer" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeFileTree, {
|
|
@@ -21274,7 +22376,7 @@ window.__ModuleLoader__.load({
|
|
|
21274
22376
|
},
|
|
21275
22377
|
children: t("actionNew")
|
|
21276
22378
|
})
|
|
21277
|
-
}),
|
|
22379
|
+
})),
|
|
21278
22380
|
selectedPaths.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSelectionBar, {
|
|
21279
22381
|
t,
|
|
21280
22382
|
count: selectedPaths.length,
|
|
@@ -21373,18 +22475,40 @@ window.__ModuleLoader__.load({
|
|
|
21373
22475
|
]
|
|
21374
22476
|
})
|
|
21375
22477
|
]
|
|
21376
|
-
}),
|
|
22478
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
21377
22479
|
className: KnowledgePanel_module_css_default.contentColumn,
|
|
21378
22480
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
|
|
21379
22481
|
className: KnowledgePanel_module_css_default.header,
|
|
21380
22482
|
children: [
|
|
21381
22483
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
|
|
21382
22484
|
className: KnowledgePanel_module_css_default.headerTitle,
|
|
21383
|
-
children: sectionTitle(t, rendered)
|
|
22485
|
+
children: scope === "graph" ? t("scopeGraph") + (activeGraph === void 0 ? "" : " / " + (activeGraph.group === "" ? t(activeGraph.scope === "global" ? "bucketGlobal" : activeGraph.scope === "department" ? "bucketDepartment" : "bucketPersonal") : activeGraph.group) + " / " + activeGraph.name) : sectionTitle(t, rendered)
|
|
21384
22486
|
}),
|
|
21385
22487
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21386
22488
|
className: KnowledgePanel_module_css_default.headerFact,
|
|
21387
|
-
children:
|
|
22489
|
+
children: scope === "graph" ? activeGraph === void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
22490
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: String(graphNodes.length) + " " + t("graphUnitGraphs") }),
|
|
22491
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
22492
|
+
className: KnowledgePanel_module_css_default.factDot,
|
|
22493
|
+
"aria-hidden": "true",
|
|
22494
|
+
children: "·"
|
|
22495
|
+
}),
|
|
22496
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("graphSelectHint") })
|
|
22497
|
+
] }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
22498
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: String(activeGraph.counts.topics) + " " + t("graphUnitLines") }),
|
|
22499
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
22500
|
+
className: KnowledgePanel_module_css_default.factDot,
|
|
22501
|
+
"aria-hidden": "true",
|
|
22502
|
+
children: "·"
|
|
22503
|
+
}),
|
|
22504
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: String(activeGraph.counts.links) + " " + t("graphUnitRelations") }),
|
|
22505
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
22506
|
+
className: KnowledgePanel_module_css_default.factDot,
|
|
22507
|
+
"aria-hidden": "true",
|
|
22508
|
+
children: "·"
|
|
22509
|
+
}),
|
|
22510
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: String(activeGraph.counts.documents) + " " + t("graphUnitDocuments") })
|
|
22511
|
+
] }) : rendered.kind === "file" ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
21388
22512
|
fileMtimeMs === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: t("modifiedAt") + " " + new Date(fileMtimeMs).toLocaleString() }),
|
|
21389
22513
|
fileMtimeMs === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
21390
22514
|
className: KnowledgePanel_module_css_default.factDot,
|
|
@@ -21423,7 +22547,7 @@ window.__ModuleLoader__.load({
|
|
|
21423
22547
|
setRefreshTick((t) => t + 1);
|
|
21424
22548
|
setProgressRefresh((n) => n + 1);
|
|
21425
22549
|
}
|
|
21426
|
-
}), pageAction]
|
|
22550
|
+
}), scope === "graph" ? null : pageAction]
|
|
21427
22551
|
}),
|
|
21428
22552
|
status.mountState === "pointer-missing" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21429
22553
|
className: KnowledgePanel_module_css_default.headerHint,
|
|
@@ -21432,8 +22556,23 @@ window.__ModuleLoader__.load({
|
|
|
21432
22556
|
]
|
|
21433
22557
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
|
|
21434
22558
|
className: KnowledgePanel_module_css_default.content,
|
|
22559
|
+
style: scope === "graph" ? {
|
|
22560
|
+
padding: 0,
|
|
22561
|
+
overflow: "hidden",
|
|
22562
|
+
display: "flex",
|
|
22563
|
+
flexDirection: "column"
|
|
22564
|
+
} : void 0,
|
|
21435
22565
|
children: [
|
|
21436
|
-
|
|
22566
|
+
scope === "graph" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeGraphView, {
|
|
22567
|
+
state: graph,
|
|
22568
|
+
t,
|
|
22569
|
+
...activeGraphId === void 0 ? {} : { activeGraphId },
|
|
22570
|
+
...activeTopicId === void 0 ? {} : { activeTopicId },
|
|
22571
|
+
onRetry: () => {
|
|
22572
|
+
graph.reload();
|
|
22573
|
+
}
|
|
22574
|
+
}),
|
|
22575
|
+
scope !== "graph" && rendered.kind === "home" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeHome, {
|
|
21437
22576
|
t,
|
|
21438
22577
|
locale: props.locale,
|
|
21439
22578
|
sessionId: explorerSessionId,
|
|
@@ -21484,10 +22623,10 @@ window.__ModuleLoader__.load({
|
|
|
21484
22623
|
departmentName: state.kind === "ready" ? state.status.caller?.departmentName : void 0,
|
|
21485
22624
|
canManageGrants: state.kind === "ready" ? state.status.canManageGrants === true : false
|
|
21486
22625
|
}),
|
|
21487
|
-
rendered.kind === "trash" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeTrash, { t }),
|
|
21488
|
-
rendered.kind === "audit" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeAudit, { t }),
|
|
21489
|
-
rendered.kind === "settings" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSettings, { t }),
|
|
21490
|
-
rendered.kind === "search" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSearch, {
|
|
22626
|
+
scope !== "graph" && rendered.kind === "trash" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeTrash, { t }),
|
|
22627
|
+
scope !== "graph" && rendered.kind === "audit" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeAudit, { t }),
|
|
22628
|
+
scope !== "graph" && rendered.kind === "settings" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSettings, { t }),
|
|
22629
|
+
scope !== "graph" && rendered.kind === "search" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeSearch, {
|
|
21491
22630
|
t,
|
|
21492
22631
|
search,
|
|
21493
22632
|
locale: props.locale,
|
|
@@ -21512,29 +22651,19 @@ window.__ModuleLoader__.load({
|
|
|
21512
22651
|
}
|
|
21513
22652
|
})
|
|
21514
22653
|
}),
|
|
21515
|
-
rendered.kind === "permissions" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgePermissions, {
|
|
22654
|
+
scope !== "graph" && rendered.kind === "permissions" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgePermissions, {
|
|
21516
22655
|
t,
|
|
21517
22656
|
mountPoint: config.mountPoint,
|
|
21518
22657
|
reloadToken: refreshTick,
|
|
21519
22658
|
initialPath: grantPath,
|
|
21520
22659
|
onAction: setPageAction
|
|
21521
22660
|
}),
|
|
21522
|
-
rendered.kind === "file" && /* @__PURE__ */ (0, react_jsx_runtime.
|
|
21523
|
-
|
|
21524
|
-
|
|
21525
|
-
|
|
21526
|
-
|
|
21527
|
-
|
|
21528
|
-
}),
|
|
21529
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21530
|
-
className: KnowledgePanel_module_css_default.emptyTitle,
|
|
21531
|
-
children: t("openedInSidebar")
|
|
21532
|
-
}),
|
|
21533
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
21534
|
-
className: KnowledgePanel_module_css_default.muted,
|
|
21535
|
-
children: config.mountPoint + "/" + rendered.path
|
|
21536
|
-
})
|
|
21537
|
-
]
|
|
22661
|
+
scope !== "graph" && rendered.kind === "file" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(KnowledgeFilePreview, {
|
|
22662
|
+
path: rendered.path,
|
|
22663
|
+
t,
|
|
22664
|
+
onClose: () => {
|
|
22665
|
+
setSelection(canSeeHome ? { kind: "home" } : { kind: "search" });
|
|
22666
|
+
}
|
|
21538
22667
|
})
|
|
21539
22668
|
]
|
|
21540
22669
|
})]
|
|
@@ -22397,58 +23526,58 @@ window.__ModuleLoader__.load({
|
|
|
22397
23526
|
document.head.appendChild(tag);
|
|
22398
23527
|
}
|
|
22399
23528
|
var WorkflowPlaza_module_css_default = {
|
|
22400
|
-
"
|
|
22401
|
-
"mineFooter": "lYC_0W_mineFooter",
|
|
22402
|
-
"cards": "lYC_0W_cards",
|
|
22403
|
-
"detailInstruction": "lYC_0W_detailInstruction",
|
|
22404
|
-
"cardTop": "lYC_0W_cardTop",
|
|
22405
|
-
"frequencies": "lYC_0W_frequencies",
|
|
22406
|
-
"body": "lYC_0W_body",
|
|
23529
|
+
"tab": "lYC_0W_tab",
|
|
22407
23530
|
"cardDesc": "lYC_0W_cardDesc",
|
|
22408
23531
|
"frequencyOn": "lYC_0W_frequencyOn",
|
|
23532
|
+
"reviewEmpty": "lYC_0W_reviewEmpty",
|
|
23533
|
+
"page": "lYC_0W_page",
|
|
23534
|
+
"cronInput": "lYC_0W_cronInput",
|
|
22409
23535
|
"cronValid": "lYC_0W_cronValid",
|
|
22410
|
-
"
|
|
23536
|
+
"frequency": "lYC_0W_frequency",
|
|
22411
23537
|
"failure": "lYC_0W_failure",
|
|
23538
|
+
"state": "lYC_0W_state",
|
|
23539
|
+
"headerRow": "lYC_0W_headerRow",
|
|
23540
|
+
"cardCron": "lYC_0W_cardCron",
|
|
22412
23541
|
"reviewMeta": "lYC_0W_reviewMeta",
|
|
22413
|
-
"
|
|
22414
|
-
"pageTitle": "lYC_0W_pageTitle",
|
|
22415
|
-
"page": "lYC_0W_page",
|
|
22416
|
-
"dialogIntro": "lYC_0W_dialogIntro",
|
|
22417
|
-
"fieldLabel": "lYC_0W_fieldLabel",
|
|
22418
|
-
"reviewHead": "lYC_0W_reviewHead",
|
|
23542
|
+
"body": "lYC_0W_body",
|
|
22419
23543
|
"mark": "lYC_0W_mark",
|
|
22420
|
-
"
|
|
22421
|
-
"actions": "lYC_0W_actions",
|
|
22422
|
-
"reviewList": "lYC_0W_reviewList",
|
|
22423
|
-
"field": "lYC_0W_field",
|
|
22424
|
-
"tabActive": "lYC_0W_tabActive",
|
|
22425
|
-
"reviewDescription": "lYC_0W_reviewDescription",
|
|
22426
|
-
"detailDescription": "lYC_0W_detailDescription",
|
|
23544
|
+
"review": "lYC_0W_review",
|
|
22427
23545
|
"mineStatus": "lYC_0W_mineStatus",
|
|
23546
|
+
"cardIcon": "lYC_0W_cardIcon",
|
|
23547
|
+
"mineFooter": "lYC_0W_mineFooter",
|
|
23548
|
+
"cardTop": "lYC_0W_cardTop",
|
|
23549
|
+
"reviewHead": "lYC_0W_reviewHead",
|
|
23550
|
+
"reviewDescription": "lYC_0W_reviewDescription",
|
|
23551
|
+
"reviewNote": "lYC_0W_reviewNote",
|
|
22428
23552
|
"mineScope": "lYC_0W_mineScope",
|
|
23553
|
+
"reviewCard": "lYC_0W_reviewCard",
|
|
22429
23554
|
"dialogBody": "lYC_0W_dialogBody",
|
|
22430
|
-
"
|
|
22431
|
-
"
|
|
22432
|
-
"
|
|
23555
|
+
"fieldLabel": "lYC_0W_fieldLabel",
|
|
23556
|
+
"reviewTitle": "lYC_0W_reviewTitle",
|
|
23557
|
+
"card": "lYC_0W_card",
|
|
23558
|
+
"detailInstruction": "lYC_0W_detailInstruction",
|
|
23559
|
+
"cronInvalid": "lYC_0W_cronInvalid",
|
|
22433
23560
|
"cardFoot": "lYC_0W_cardFoot",
|
|
22434
|
-
"mineTime": "lYC_0W_mineTime",
|
|
22435
23561
|
"dialogFoot": "lYC_0W_dialogFoot",
|
|
22436
|
-
"
|
|
22437
|
-
"
|
|
22438
|
-
"
|
|
22439
|
-
"
|
|
22440
|
-
"
|
|
22441
|
-
"
|
|
22442
|
-
"
|
|
22443
|
-
"
|
|
22444
|
-
"
|
|
22445
|
-
"review": "lYC_0W_review",
|
|
22446
|
-
"cardTitle": "lYC_0W_cardTitle",
|
|
23562
|
+
"tabActive": "lYC_0W_tabActive",
|
|
23563
|
+
"field": "lYC_0W_field",
|
|
23564
|
+
"reviewPrompt": "lYC_0W_reviewPrompt",
|
|
23565
|
+
"dialogIntro": "lYC_0W_dialogIntro",
|
|
23566
|
+
"detailDialogBody": "lYC_0W_detailDialogBody",
|
|
23567
|
+
"reviewActions": "lYC_0W_reviewActions",
|
|
23568
|
+
"frequencies": "lYC_0W_frequencies",
|
|
23569
|
+
"reviewList": "lYC_0W_reviewList",
|
|
23570
|
+
"actions": "lYC_0W_actions",
|
|
22447
23571
|
"tabCount": "lYC_0W_tabCount",
|
|
22448
|
-
"
|
|
23572
|
+
"pageTitle": "lYC_0W_pageTitle",
|
|
22449
23573
|
"mineTags": "lYC_0W_mineTags",
|
|
22450
|
-
"
|
|
22451
|
-
"detailFacts": "lYC_0W_detailFacts"
|
|
23574
|
+
"cardTitle": "lYC_0W_cardTitle",
|
|
23575
|
+
"detailFacts": "lYC_0W_detailFacts",
|
|
23576
|
+
"cards": "lYC_0W_cards",
|
|
23577
|
+
"failureRow": "lYC_0W_failureRow",
|
|
23578
|
+
"tabs": "lYC_0W_tabs",
|
|
23579
|
+
"detailDescription": "lYC_0W_detailDescription",
|
|
23580
|
+
"mineTime": "lYC_0W_mineTime"
|
|
22452
23581
|
};
|
|
22453
23582
|
//#endregion
|
|
22454
23583
|
//#region src/client/workflows/WorkflowPlaza.tsx
|