dsh-life-pack 0.3.5 → 0.3.12
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/dist/client.js +12 -41
- package/dist/client.js.map +1 -1
- package/dist/config-panel-api.d.ts +21 -0
- package/dist/config-panel-api.d.ts.map +1 -0
- package/dist/config-panel-api.js +20 -0
- package/dist/config-panel-api.js.map +1 -0
- package/dist/config-panel-contract.d.ts +82 -0
- package/dist/config-panel-contract.d.ts.map +1 -0
- package/dist/config-panel-contract.js +32 -0
- package/dist/config-panel-contract.js.map +1 -0
- package/dist/config-panel-value.d.ts +80 -0
- package/dist/config-panel-value.d.ts.map +1 -0
- package/dist/config-panel-value.js +200 -0
- package/dist/config-panel-value.js.map +1 -0
- package/dist/config-panel-view.d.ts +131 -0
- package/dist/config-panel-view.d.ts.map +1 -0
- package/dist/config-panel-view.js +226 -0
- package/dist/config-panel-view.js.map +1 -0
- package/dist/config-panel.d.ts +41 -0
- package/dist/config-panel.d.ts.map +1 -0
- package/dist/config-panel.js +252 -0
- package/dist/config-panel.js.map +1 -0
- package/dist/directory-browser-api.d.ts +1 -1
- package/dist/directory-browser-api.d.ts.map +1 -1
- package/dist/directory-browser-api.js +1 -1
- package/dist/directory-browser-api.js.map +1 -1
- package/dist/directory-browser-contract.d.ts +0 -2
- package/dist/directory-browser-contract.d.ts.map +1 -1
- package/dist/directory-browser-contract.js +0 -10
- package/dist/directory-browser-contract.js.map +1 -1
- package/dist/directory-browser-parts.d.ts +3 -6
- package/dist/directory-browser-parts.d.ts.map +1 -1
- package/dist/directory-browser-parts.js +11 -17
- package/dist/directory-browser-parts.js.map +1 -1
- package/dist/directory-browser-ui.d.ts.map +1 -1
- package/dist/directory-browser-ui.js +6 -3
- package/dist/directory-browser-ui.js.map +1 -1
- package/package.json +2 -1
package/dist/client.js
CHANGED
|
@@ -1848,15 +1848,6 @@ window.__ModuleLoader__.load({
|
|
|
1848
1848
|
if (needle === "") return entries;
|
|
1849
1849
|
return entries.filter((entry) => entry.name.toLowerCase().includes(needle));
|
|
1850
1850
|
}
|
|
1851
|
-
/** 给界面用的一句话位置说明:优先显示相对 home 的说法,省得整条绝对路径占满一行。 */
|
|
1852
|
-
function locationLabel(listing) {
|
|
1853
|
-
const home = listing.home.replace(/[\\/]+$/, "");
|
|
1854
|
-
if (home !== "" && listing.path !== home && listing.path.startsWith(home)) {
|
|
1855
|
-
const tail = listing.path.slice(home.length).replace(/^[\\/]+/, "");
|
|
1856
|
-
if (tail !== "") return "~" + (listing.path.includes("\\") ? "\\" : "/") + tail;
|
|
1857
|
-
}
|
|
1858
|
-
return listing.path;
|
|
1859
|
-
}
|
|
1860
1851
|
/** 新建文件夹的名字合不合法(单个路径段:不许分隔符、不许空、不许 `.`/`..`)。
|
|
1861
1852
|
*
|
|
1862
1853
|
* 与宿主 browse 后端的校验同口径——这里先拦一道,是为了在图上给得出人话,不是替代宿主校验。 */
|
|
@@ -2160,14 +2151,6 @@ window.__ModuleLoader__.load({
|
|
|
2160
2151
|
fontSize: 14,
|
|
2161
2152
|
fontWeight: 700
|
|
2162
2153
|
},
|
|
2163
|
-
headTail: {
|
|
2164
|
-
marginLeft: "auto",
|
|
2165
|
-
fontSize: 12,
|
|
2166
|
-
opacity: .72,
|
|
2167
|
-
overflow: "hidden",
|
|
2168
|
-
textOverflow: "ellipsis",
|
|
2169
|
-
whiteSpace: "nowrap"
|
|
2170
|
-
},
|
|
2171
2154
|
crumbs: {
|
|
2172
2155
|
display: "flex",
|
|
2173
2156
|
flexWrap: "wrap",
|
|
@@ -2197,10 +2180,6 @@ window.__ModuleLoader__.load({
|
|
|
2197
2180
|
padding: "0 12px 8px",
|
|
2198
2181
|
fontSize: 12
|
|
2199
2182
|
},
|
|
2200
|
-
rootsLabel: {
|
|
2201
|
-
opacity: .72,
|
|
2202
|
-
marginRight: 2
|
|
2203
|
-
},
|
|
2204
2183
|
rootButton: {
|
|
2205
2184
|
border: "1px solid var(--dsw-alias-border-l2, rgba(128,128,128,0.35))",
|
|
2206
2185
|
borderRadius: 6,
|
|
@@ -2309,14 +2288,11 @@ window.__ModuleLoader__.load({
|
|
|
2309
2288
|
});
|
|
2310
2289
|
return react.createElement("div", { style: S$1.crumbs }, parts);
|
|
2311
2290
|
}
|
|
2312
|
-
/** 可跳转的根那一行(Windows
|
|
2313
|
-
|
|
2291
|
+
/** 可跳转的根那一行(Windows 上的盘符等):**就是本机全部磁盘**,故不加行首说明。
|
|
2292
|
+
* **少于两个根就不画**:一个根没有「跳到别处」可言。 */
|
|
2293
|
+
function rootsRow(state, onEnter) {
|
|
2314
2294
|
if (state.roots.length < 2) return null;
|
|
2315
|
-
const parts =
|
|
2316
|
-
key: "roots-label",
|
|
2317
|
-
style: S$1.rootsLabel
|
|
2318
|
-
}, labels.roots)];
|
|
2319
|
-
for (const root of state.roots) parts.push(react.createElement("button", {
|
|
2295
|
+
const parts = state.roots.map((root) => react.createElement("button", {
|
|
2320
2296
|
key: root.path,
|
|
2321
2297
|
type: "button",
|
|
2322
2298
|
style: {
|
|
@@ -2326,11 +2302,7 @@ window.__ModuleLoader__.load({
|
|
|
2326
2302
|
title: ROOT_KIND_TEXT[root.kind] ?? ROOT_KIND_TEXT.other,
|
|
2327
2303
|
onClick: () => onEnter(root.path)
|
|
2328
2304
|
}, root.path));
|
|
2329
|
-
return react.createElement("div", {
|
|
2330
|
-
style: S$1.roots,
|
|
2331
|
-
role: "group",
|
|
2332
|
-
"aria-label": labels.roots
|
|
2333
|
-
}, parts);
|
|
2305
|
+
return react.createElement("div", { style: S$1.roots }, parts);
|
|
2334
2306
|
}
|
|
2335
2307
|
/** 一行子目录:点名字进它,点「选」把它当目标(「选」再点一次取消)。 */
|
|
2336
2308
|
function entryRow(entry, selected, labels, onToggleSelect, onEnter) {
|
|
@@ -2408,11 +2380,10 @@ window.__ModuleLoader__.load({
|
|
|
2408
2380
|
if (!open) return null;
|
|
2409
2381
|
const rows = rowsOf(state);
|
|
2410
2382
|
const target = targetOf(state);
|
|
2411
|
-
const
|
|
2412
|
-
const hidden = hiddenCount(listing);
|
|
2383
|
+
const hidden = hiddenCount(state.listing ?? EMPTY_LISTING);
|
|
2413
2384
|
const body = [];
|
|
2414
2385
|
body.push(crumbRow(state, props.onEnter));
|
|
2415
|
-
body.push(rootsRow(state,
|
|
2386
|
+
body.push(rootsRow(state, props.onEnter));
|
|
2416
2387
|
body.push(react.createElement("div", { style: S$1.pathRow }, react.createElement("input", {
|
|
2417
2388
|
style: S$1.input,
|
|
2418
2389
|
value: state.draft,
|
|
@@ -2479,12 +2450,12 @@ window.__ModuleLoader__.load({
|
|
|
2479
2450
|
role: "dialog",
|
|
2480
2451
|
"aria-modal": true,
|
|
2481
2452
|
"aria-label": labels.title
|
|
2482
|
-
}, react.createElement("div", { style: S$1.head }, react.createElement("span", { style: S$1.title }, labels.title), react.createElement("
|
|
2483
|
-
style: S$1.headTail,
|
|
2484
|
-
title: listing.path
|
|
2485
|
-
}, state.listing === null ? "" : locationLabel(listing)), react.createElement("button", {
|
|
2453
|
+
}, react.createElement("div", { style: S$1.head }, react.createElement("span", { style: S$1.title }, labels.title), react.createElement("button", {
|
|
2486
2454
|
type: "button",
|
|
2487
|
-
style:
|
|
2455
|
+
style: {
|
|
2456
|
+
...S$1.button,
|
|
2457
|
+
marginLeft: "auto"
|
|
2458
|
+
},
|
|
2488
2459
|
"aria-label": labels.close,
|
|
2489
2460
|
title: labels.close,
|
|
2490
2461
|
onClick: props.onClose
|