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.
Files changed (38) hide show
  1. package/dist/client.js +12 -41
  2. package/dist/client.js.map +1 -1
  3. package/dist/config-panel-api.d.ts +21 -0
  4. package/dist/config-panel-api.d.ts.map +1 -0
  5. package/dist/config-panel-api.js +20 -0
  6. package/dist/config-panel-api.js.map +1 -0
  7. package/dist/config-panel-contract.d.ts +82 -0
  8. package/dist/config-panel-contract.d.ts.map +1 -0
  9. package/dist/config-panel-contract.js +32 -0
  10. package/dist/config-panel-contract.js.map +1 -0
  11. package/dist/config-panel-value.d.ts +80 -0
  12. package/dist/config-panel-value.d.ts.map +1 -0
  13. package/dist/config-panel-value.js +200 -0
  14. package/dist/config-panel-value.js.map +1 -0
  15. package/dist/config-panel-view.d.ts +131 -0
  16. package/dist/config-panel-view.d.ts.map +1 -0
  17. package/dist/config-panel-view.js +226 -0
  18. package/dist/config-panel-view.js.map +1 -0
  19. package/dist/config-panel.d.ts +41 -0
  20. package/dist/config-panel.d.ts.map +1 -0
  21. package/dist/config-panel.js +252 -0
  22. package/dist/config-panel.js.map +1 -0
  23. package/dist/directory-browser-api.d.ts +1 -1
  24. package/dist/directory-browser-api.d.ts.map +1 -1
  25. package/dist/directory-browser-api.js +1 -1
  26. package/dist/directory-browser-api.js.map +1 -1
  27. package/dist/directory-browser-contract.d.ts +0 -2
  28. package/dist/directory-browser-contract.d.ts.map +1 -1
  29. package/dist/directory-browser-contract.js +0 -10
  30. package/dist/directory-browser-contract.js.map +1 -1
  31. package/dist/directory-browser-parts.d.ts +3 -6
  32. package/dist/directory-browser-parts.d.ts.map +1 -1
  33. package/dist/directory-browser-parts.js +11 -17
  34. package/dist/directory-browser-parts.js.map +1 -1
  35. package/dist/directory-browser-ui.d.ts.map +1 -1
  36. package/dist/directory-browser-ui.js +6 -3
  37. package/dist/directory-browser-ui.js.map +1 -1
  38. 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
- function rootsRow(state, labels, onEnter) {
2291
+ /** 可跳转的根那一行(Windows 上的盘符等):**就是本机全部磁盘**,故不加行首说明。
2292
+ * **少于两个根就不画**:一个根没有「跳到别处」可言。 */
2293
+ function rootsRow(state, onEnter) {
2314
2294
  if (state.roots.length < 2) return null;
2315
- const parts = [react.createElement("span", {
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 listing = state.listing ?? EMPTY_LISTING;
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, labels, props.onEnter));
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("span", {
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: S$1.button,
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