dsh-plugin-core 0.1.0 → 0.1.2

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 (62) hide show
  1. package/README.md +26 -3
  2. package/dist/design/tokens-css.d.ts +1 -1
  3. package/dist/design/tokens-css.d.ts.map +1 -1
  4. package/dist/design/tokens-css.js +2 -0
  5. package/dist/design/tokens-css.js.map +1 -1
  6. package/dist/explorer/ExplorerPanel.d.ts.map +1 -1
  7. package/dist/explorer/ExplorerPanel.js +1 -1
  8. package/dist/explorer/ExplorerPanel.js.map +1 -1
  9. package/dist/explorer/index.d.ts +1 -1
  10. package/dist/explorer/index.d.ts.map +1 -1
  11. package/dist/explorer/index.js +1 -1
  12. package/dist/explorer/index.js.map +1 -1
  13. package/dist/explorer/preview/index.d.ts.map +1 -1
  14. package/dist/explorer/preview/index.js +2 -1
  15. package/dist/explorer/preview/index.js.map +1 -1
  16. package/dist/explorer/types.d.ts +0 -8
  17. package/dist/explorer/types.d.ts.map +1 -1
  18. package/dist/explorer/types.js +1 -32
  19. package/dist/explorer/types.js.map +1 -1
  20. package/dist/ui/Modal.js +1 -1
  21. package/dist/ui/Modal.js.map +1 -1
  22. package/dist/ui/Toast.d.ts.map +1 -1
  23. package/dist/ui/Toast.js +1 -3
  24. package/dist/ui/Toast.js.map +1 -1
  25. package/dist/ui/card-css.d.ts +0 -1
  26. package/dist/ui/card-css.d.ts.map +1 -1
  27. package/dist/ui/card-css.js +2 -12
  28. package/dist/ui/card-css.js.map +1 -1
  29. package/dist/ui/chip-css.d.ts +2 -0
  30. package/dist/ui/chip-css.d.ts.map +1 -0
  31. package/dist/ui/chip-css.js +28 -0
  32. package/dist/ui/chip-css.js.map +1 -0
  33. package/dist/ui/controls-css.d.ts +1 -1
  34. package/dist/ui/controls-css.d.ts.map +1 -1
  35. package/dist/ui/controls-css.js +1 -21
  36. package/dist/ui/controls-css.js.map +1 -1
  37. package/dist/ui/css.d.ts.map +1 -1
  38. package/dist/ui/css.js +2 -1
  39. package/dist/ui/css.js.map +1 -1
  40. package/dist/ui/feedback-css.d.ts +1 -1
  41. package/dist/ui/feedback-css.d.ts.map +1 -1
  42. package/dist/ui/feedback-css.js +9 -0
  43. package/dist/ui/feedback-css.js.map +1 -1
  44. package/dist/ui/official.d.ts +31 -0
  45. package/dist/ui/official.d.ts.map +1 -0
  46. package/dist/ui/official.js +42 -0
  47. package/dist/ui/official.js.map +1 -0
  48. package/dist/utils/index.d.ts +1 -0
  49. package/dist/utils/index.d.ts.map +1 -1
  50. package/dist/utils/index.js +1 -0
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/path.d.ts +17 -0
  53. package/dist/utils/path.d.ts.map +1 -0
  54. package/dist/utils/path.js +41 -0
  55. package/dist/utils/path.js.map +1 -0
  56. package/docs/README.md +1 -0
  57. package/docs/design/architecture.md +10 -8
  58. package/docs/design/features/explorer.md +6 -3
  59. package/docs/design/features/ui.md +4 -0
  60. package/docs/design/structure.md +152 -0
  61. package/docs/requirements.md +13 -12
  62. package/package.json +2 -1
package/README.md CHANGED
@@ -20,6 +20,7 @@ pnpm run demo:build # 生成静态文件到 demo-dist/
20
20
  然后**用浏览器打开 `demo-dist/index.html`**(双击即可)。
21
21
 
22
22
  产物是**单文件 IIFE + 相对路径**,所以 `file://` 能直接跑:
23
+
23
24
  - 不用起 dev server、不占端口
24
25
  - 目录可以随便挪,拷到别的机器上也能打开
25
26
 
@@ -116,19 +117,41 @@ setLocale('en') // 中文是默认
116
117
  PDF / Office 显示「暂不支持预览」。
117
118
  4. **类名没按插件隔离** —— CSS 类名仍是 `dsh-tdt-*`,两个插件若引的 core 版本不同会互相覆盖
118
119
  (同版本无害)。主防线是 style 标签 id 与变量前缀隔离。
119
- 5. 设置页骨架没抽(等第二个消费者);发布流程(npm + OIDC)没配。
120
+ 5. 设置页骨架没抽(等第二个消费者)。
121
+
122
+ ## 发布(打 tag 即发布,无需人工 Promote)
123
+
124
+ 核心与 demo 插件**共用同一个版本号**,一个 tag 同时发两个包:
125
+
126
+ ```bash
127
+ # 1. 两个 package.json 的 version 改成同一个号(本地自检与 CI 都会校验)
128
+ # 2. 构建 + 提交(dist/ 必须入库)
129
+ pnpm run build && pnpm run build:demo
130
+ git add -A && git commit -m "发布 0.1.3" && git push
131
+ # 3. 打 tag 即触发 GitHub Actions 自动发布
132
+ git tag v0.1.3 && git push origin v0.1.3
133
+ ```
134
+
135
+ | tag | 谁在发 | 发到哪 |
136
+ |---|---|---|
137
+ | `v0.1.3` | `.github/workflows/publish.yml` | `dsh-plugin-core` |
138
+ | 同上 | `.github/workflows/demo-publish.yml` | `dsh-plugin-core-demo` |
139
+
140
+ 硬规则:`tag vX.Y.Z` == 根 `package.json` 的 `version` == `packages/demo/package.json` 的 `version`,
141
+ 三者不一致时 workflow 直接失败,不会发布半套。**没有 `demo-v*` 这种独立 tag。**
142
+
143
+ 一次性前置(npm 网页,两个包各做一遍):Settings → Trusted Publisher 里允许的 actions 勾上 `npm publish`。
120
144
 
121
145
  ## 组件预览插件(packages/demo/)
122
146
 
123
147
  库本身是**纯库**:只有六个子路径导出,没有 main、没有 dsh 字段、零运行时依赖。
124
148
 
125
149
  预览用的插件是仓库里的**独立 npm 包** `packages/demo/`(包名 `dsh-plugin-core-demo`):它把 core 的构建产物
126
- 打进自己的 bundle ⇒ 自包含、可独立发版,**不需要 core 先发 npm**,预览的也永远是当前这份代码。
150
+ 打进自己的 bundle ⇒ 自包含、**不需要 core 先发 npm**,预览的也永远是当前这份代码。
127
151
 
128
152
  ```bash
129
153
  pnpm run build # 先构建库(demo 包引用 dist/)
130
154
  pnpm run build:demo # 构建预览插件 → packages/demo/dist/{index.js,client.js}
131
- cd packages/demo && npm publish --access public
132
155
  dsh plugin --profile web add dsh-plugin-core-demo
133
156
  ```
134
157
 
@@ -1,2 +1,2 @@
1
- export declare const TOKENS_CSS_TEMPLATE = "\n/* \u2500\u2500 \u6587\u5B57\uFF08\u5BBF\u4E3B label \u56DB\u6863 + \u53CD\u8272\u9762\u7528\u5B57\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nbody{\n --tdt-fg:var(--dsw-alias-label-primary,#1f2328);\n --tdt-fg-2:var(--dsw-alias-label-secondary,#5c6370);\n --tdt-fg-3:var(--dsw-alias-label-tertiary,#767d87);\n --tdt-fg-4:var(--dsw-alias-label-caption,#9aa1ab);\n --tdt-fg-dim:var(--dsw-alias-label-dimmed,#b9bfc7);\n /* \u53CD\u8272\u9762\u4E0A\u7684\u5B57\uFF08\u5B9E\u5FC3\u94AE / \u89D2\u6807\uFF09\uFF1A\u6697\u8272\u4E0B\u662F bluish-1000\uFF0C\u6545\u7528 -foreground \u800C\u975E -inverted */\n --tdt-fg-inverse:var(--dsw-alias-label-primary-foreground,#fff);\n\n /* \u2500\u2500 \u9762\uFF08\u5BBF\u4E3B bg-layer \u4E09\u6863 + \u4E0B\u6C89\u8F68\u9053\u5E95\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-surface-1:var(--dsw-alias-bg-layer-1,#fff);\n --tdt-surface-2:var(--dsw-alias-bg-layer-2,#fff);\n --tdt-surface-3:var(--dsw-alias-bg-layer-3,#fff);\n /* \u300C\u9009\u4E2D\u4EAE\u7247\u300D\u7684\u5E95\u76D8\u8272\uFF08\u914D --tdt-shadow-raised \u7528\uFF09 */\n --tdt-surface-raised:var(--dsw-alias-bg-layer-1,#fff);\n /* \u8F68\u9053 / \u4E0B\u6C89\u5E95\uFF08\u5B98\u65B9\u5206\u6BB5\u63A7\u4EF6\u8F68\u9053\u7528\u7684\u5C31\u662F\u8FD9\u6761\uFF09 */\n --tdt-surface-sunken:var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06));\n /* \u6574\u9875 / \u7F16\u8F91\u5668\u5E95\uFF08bg-base\uFF09 */\n --tdt-surface-base:var(--dsw-alias-bg-base,#fff);\n /* \u81EA\u7ED8\u6D6E\u5C42 / \u83DC\u5355\u5361\u7684\u4E0D\u900F\u660E\u5E95\uFF08= base\uFF1B\u4E0D\u8981\u7528\u534A\u900F\u660E\u7684 specific-menu\uFF09 */\n --tdt-surface-menu:var(--tdt-surface-base);\n /* markdown \u4EE3\u7801\u5757\u9762 / \u5B57\u4F53\uFF08\u4F1A\u8BDD\u955C\u50CF\u91CC\u7528\u5230\uFF09 */\n --tdt-code-surface:var(--dsw-alias-markdown-code-block,rgba(128,128,128,.10));\n --tdt-code-font:var(--dsw-font-markdown-code-block-small,12px/18px var(--ds-font-family-code,monospace));\n /* \u8B66\u544A\u6587\u5B57\u8272\uFF08\u5BBF\u4E3B state-warn-label\uFF09 */\n --tdt-warning-label:var(--dsw-alias-state-warn-label,#f5a623);\n /* \u56FA\u5B9A\u4E2D\u6027\u5B9E\u9762\uFF08\u81EA\u7ED8\u6D6E\u5C42\u3001\u6DF1\u8272\u4E3B\u9898\u4E0B\u5FC5\u987B\u81EA\u5DF1\u53D8\u7684\u90A3\u51E0\u4E2A\uFF09\u2014\u2014\u53EA\u6709\u5B83\u9700\u8981\u6697\u8272\u8986\u76D6 */\n --tdt-solid:var(--dsw-static-neutral-00,#fff);\n --tdt-on-solid:var(--dsw-alias-label-primary,#1f2328);\n /* \u4EA4\u4ED8\u6587\u4EF6\u5361\u90A3\u79CD\u300C\u6D45\u5E95\u76D8 + hover \u52A0\u6DF1\u300D\u4E24\u62CD */\n --tdt-plate:var(--dsw-static-neutral-50,#fafafa);\n --tdt-plate-hover:var(--dsw-static-neutral-100,#f5f5f5);\n /* \u65E7\u5185\u6838\u56DE\u9000\uFF08Chrome <111 \u4E0D\u8BA4 color-mix \u21D2 \u8FD9\u6761\u751F\u6548\uFF1B\u65B0\u5185\u6838\u88AB\u4E0B\u9762\u90A3\u6761\u8986\u76D6\uFF09\u3002\n \u8FD9\u51E0\u4E2A\u662F**\u56FA\u5B9A\u4E2D\u6027\u9762**\u3001\u4E0D\u9760\u8DDF\u968F\u5BBF\u4E3B\u4E3B\u9898\u8272\uFF0C\u6545\u53EF\u4EE5\u65E0\u635F\u5730\u7ED9\u660E\u6587\u56DE\u9000\u3002 */\n --tdt-icon-plate:rgba(255,255,255,.5);\n --tdt-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 50%,transparent);\n /* \u8868\u5934\u5E95\uFF1A\u6D45\u8272\u4E3B\u9898**\u504F\u6DF1**\uFF0C\u4E14\u5FC5\u987B**\u6BD4\u6591\u9A6C\u7EB9\uFF08--tdt-plate\uFF09\u518D\u6DF1\u4E00\u6863**\u2014\u2014\n \u4E24\u8005\u4E0D\u80FD\u649E\u8272\uFF08\u7528\u6237 2026-10-02\uFF1A\u8868\u5934\u8DDF\u6591\u9A6C\u7EB9\u4E00\u6A21\u4E00\u6837\uFF09\u3002 */\n --tdt-head-bg:var(--dsw-static-neutral-100,#f5f5f5);\n /* \u56FE\u6807\u5C0F\u5E95\u677F\uFF08\u4EA7\u51FA\u7269\uFF09\uFF1A\u6D45\u8272\u4E0B\u8981**\u770B\u5F97\u89C1**\uFF08\u539F\u5148\u53D6 plate \u21D2 \u5728\u767D\u5E95\u4E0A\u7B49\u4E8E\u6CA1\u6709\uFF09\uFF1Bhover \u52A0\u500D\u3002 */\n --tdt-chip-bg:rgba(15,15,15,.07);\n --tdt-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 7%,transparent);\n --tdt-chip-bg-hover:rgba(15,15,15,.14);\n --tdt-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 14%,transparent);\n /* \u5C55\u5F00\u884C\uFF1A**\u5E26\u900F\u660E\u5EA6\u7684\u84DD**\u2014\u2014\u4E0D\u662F\u7070\u3001\u4E5F\u4E0D\u662F\u7EAF\u8272\uFF0C\u900F\u51FA\u5361\u7247\u5E95\u8272\uFF0C\u4E00\u773C\u770B\u51FA\u300C\u8FD9\u662F\u5C55\u5F00\u7684\u300D\n \uFF08\u7528\u6237 2026-10-02\uFF1A\u7070\u8272\u8DDF\u6591\u9A6C\u7EB9\u5206\u4E0D\u51FA\u6765\uFF09\u3002\u5185\u5BB9\u533A\u518D\u6DE1\u4E00\u6863\uFF0C\u5F62\u6210\u300C\u884C\u6DF1 / \u5185\u5BB9\u6D45\u300D\u7684\u533A\u9694\u3002 */\n --tdt-open-bg:rgba(37,99,235,.10);\n --tdt-open-bg-soft:rgba(37,99,235,.05);\n --tdt-card-hover:rgba(37,99,235,.07);\n\n /* \u2500\u2500 \u63CF\u8FB9\u56DB\u6863\uFF08\u5BBF\u4E3B\u771F\u503C\uFF1Al1 4% / l2 10% / l3 12% / l4 16%\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-border-faint:var(--dsw-alias-border-l1,#0000000a);\n --tdt-border:var(--dsw-alias-border-l2,#0000001a);\n --tdt-border-strong:var(--dsw-alias-border-l3,#0000001f);\n --tdt-border-heavy:var(--dsw-alias-border-l4,#00000029);\n\n /* \u2500\u2500 \u54C1\u724C / \u8BED\u4E49\u8272 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n /* \u54C1\u724C\u300C\u9762\u300D\u8272\uFF1A\u660E\u8272\u8FD1\u9ED1\u3001\u6697\u8272\u8FD1\u767D\uFF08\u5B98\u65B9 Switch \u9009\u4E2D\u6001\u5373\u6B64\uFF09\uFF0C**\u4E0D\u662F\u84DD\u8272** */\n --tdt-accent:var(--dsw-alias-brand-primary,#0f1115);\n /* \u84DD\u8272\uFF1A\u5F3A\u8C03 / \u9009\u4E2D / \u7126\u70B9\uFF0C\u4E00\u5F8B\u8D70\u8FD9\u6761 */\n --tdt-business:var(--dsw-alias-state-business-primary,#3b5bdb);\n --tdt-success:var(--dsw-alias-state-success-primary,#22c55e);\n /* \u26A0\uFE0F \u662F state-warn\uFF08\u4E0D\u662F state-warning\uFF0C\u540E\u8005\u5BBF\u4E3B\u65E0\u6B64\u5B9A\u4E49\uFF09 */\n --tdt-warning:var(--dsw-alias-state-warn-primary,#f59e0b);\n --tdt-danger:var(--dsw-alias-state-error-primary,#ec1313);\n --tdt-link:var(--dsw-alias-link,#3b5bdb);\n /* \u8BED\u4E49\u8272**\u5B9E\u9762**\u4E0A\u7684\u5B57\uFF08\u89D2\u6807 / \u5B9E\u5FC3\u63D0\u793A\uFF09\uFF1A\u5BBF\u4E3B\u7EA2\u7EFF\u9EC4\u4E09\u8272\u90FD\u662F\u4E2D\u8C03 \u21D2 \u767D\u5B57\u4E24\u4E2A\u4E3B\u9898\u90FD\u53EF\u8BFB\uFF0C\n \u6545\u8FD9\u662F\u4E00\u6761\u4E0E\u4E3B\u9898\u65E0\u5173\u7684\u5E38\u91CF\uFF1B\u4E0D\u8981\u62FF --tdt-fg-inverse \u9876\u2014\u2014\u5B83\u5728\u6697\u8272\u4E0B\u662F\u8FD1\u9ED1\uFF0C\u538B\u5728\u7EA2\u5E95\u4E0A\u770B\u4E0D\u6E05\u3002 */\n --tdt-on-signal:#fff;\n /* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF1A\u72B6\u6001\u8272\u7CFB\u7684\u300C\u4E00\u5757\u5E95\u8272\u300D\u2014\u2014\u6267\u884C\u8BB0\u5F55\u9875\u6BCF\u6761\u6D41\u6C34\u8D26\u7684\u5757\u5E95\u5C31\u662F\u5B83\n \uFF08\u7528\u6237 2026-10-04\uFF1A\u6B63\u5E38\u6001\u7ED9\u540C\u8272\u7CFB\u5F88\u6D45\u7684\u900F\u660E\u5E95\u3001\u5931\u8D25\u7528\u7EA2\u5E95\u900F\u51FA\u6765\uFF09\u3002\n \u7528 \u300Ccolor-mix\u300D \u73B0\u7B97\u800C\u4E0D\u5199\u6B7B rgba\uFF1A\u72B6\u6001\u8272\u672C\u8EAB\u8DDF\u968F\u5BBF\u4E3B alias\uFF0C\u4E3B\u9898\u4E00\u6362\u81EA\u52A8\u6210\u7ACB\u3002\n \u26A0\uFE0F **\u6DF1\u8272\u4E0B\u8981\u66F4\u6DE1**\uFF1A\u7528\u6237 2026-10-04\u300C\u6DF1\u8272\u98CE\u683C\u7684\u7EFF\u8272\u548C\u7EA2\u8272\u597D\u50CF\u90FD\u6709\u70B9\u6DF1\u300D\u21D2 dark \u6BB5\n \u628A\u8FD9\u56DB\u6761\u538B\u5230 5%\uFF08\u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF09\uFF1B\u6D45\u8272\u6BB5\u7EF4\u6301 8%\u3002\u4E24\u7AEF\u5404\u81EA\u7ED9\u503C\uFF0C\u4E0D\u5171\u7528\u4E00\u6761\u66F2\u7EBF\u3002\n \u547D\u540D\u6536\u5728 tokens.ts \u5355\u70B9\uFF08\u672C\u4ED3\u786C\u89C4\u77E9\uFF1A\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u81EA\u9020 --tdt-*\uFF09\u3002 */\n --tdt-success-soft:color-mix(in srgb,var(--tdt-success) 8%,transparent);\n --tdt-warning-soft:color-mix(in srgb,var(--tdt-warning) 8%,transparent);\n --tdt-danger-soft:color-mix(in srgb,var(--tdt-danger) 8%,transparent);\n --tdt-business-soft:color-mix(in srgb,var(--tdt-business) 8%,transparent);\n\n /* \u26A0\uFE0F 2026-10-18 \u7528\u6237\u62CD\u677F\uFF1A\u5BBF\u4E3B alias \u7684 hover\uFF08\u6697\u8272\u767D 8% / \u4EAE\u8272 6%\uFF09**\u592A\u5F31**\uFF0C\n \u300C\u79FB\u4E0A\u53BB\u8981\u4ED4\u7EC6\u770B\u624D\u770B\u5F97\u51FA\u6765\u300D\u21D2 \u4E0D\u518D\u59D4\u6258\u5BBF\u4E3B hover \u522B\u540D\uFF0C\u6539\u4E3A\u81EA\u63BA\u4E2D\u6027\u8272\u5E76\u52A0\u91CD\uFF1A\n \u4EAE\u8272\u63BA\u9ED1 10%\u3001\u6697\u8272\u63BA\u767D 14%\uFF08active \u518D\u52A0\u4E00\u6863\uFF09\u3002\u6309\u94AE / \u5206\u6BB5\u8F68\u9053 / \u5404\u7C7B hover \u5E95\u540C\u65F6\u53D7\u76CA\u3002\n \u26A0\uFE0F \u5FC5\u987B\u4FDD\u7559 rgba \u515C\u5E95\u884C\u5728\u524D\uFF08\u672C\u6587\u4EF6\u60EF\u4F8B\uFF0C\u89C1 icon-plate \u6CE8\u91CA\uFF09\uFF1A\u63BA\u7684\u662F**\u56FA\u5B9A\u4E2D\u6027\u8272**\n \uFF08neutral-900=#0f0f0f / neutral-00=#fff\uFF09\uFF0C\u9884\u8BA1\u7B97\u65E0\u635F\uFF1B\u65E7\u5185\u6838\u4E0D\u8BA4 color-mix \u65F6\u8D70\u515C\u5E95\uFF0C\n \u5426\u5219\u6574\u6761 background:var(--seg-track) \u4F5C\u5E9F \u21D2 \u5206\u6BB5\u8F68\u9053\u900F\u660E\uFF08\u771F\u8E29\u8FC7\uFF1A\u9884\u89C8\u7AD9\u8F68\u9053\u6D88\u5931\uFF09\u3002 */\n --tdt-hover:rgba(15,15,15,.10);\n --tdt-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 10%,transparent);\n --tdt-active:rgba(15,15,15,.18);\n --tdt-active:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 18%,transparent);\n --tdt-mask:var(--dsw-alias-bg-mask-1,#0000003d);\n /* \u300C\u9009\u4E2D\u9762\u300D\uFF082026-10-06\uFF0C\u4EFB\u52A1\u65E5\u7A0B\u9875\u9996\u521B\uFF09= \u5F53\u524D\u5E95\u8272**\u671D\u66F4\u6DF1\u63BA 12% \u6587\u5B57\u8272**\uFF1A\n \u6D45\u8272\u4E3B\u9898\u4E0B\u6587\u5B57\u8272\u662F\u9ED1 \u21D2 \u9009\u4E2D\u9762\u6BD4\u5E38\u6001\u5E95\u8272**\u6DF1\u4E00\u6863**\u3002\u6DF1\u8272\u5206\u652F\u89C1 body[data-ds-dark-theme]\uFF08\u671D\u80CC\u666F\u8272\u63BA\uFF09\u3002\n \u8BED\u4E49\uFF1A\u6807\u8BB0\u300C\u6B63\u5728\u770B\u7684\u4E1C\u897F\u300D\uFF0C\u6BD4\u5E38\u6001\u660E\u663E\u3001\u53C8\u4E0D\u8BB8\u76D6\u4F4F\u5185\u5BB9\uFF08\u4E0D\u8BB8\u7528\u534A\u900F\u660E\u53E0\u72B6\u6001\u8272\uFF09\u3002 */\n --tdt-selected-bg:color-mix(in srgb,var(--tdt-surface-1) 88%,var(--tdt-fg));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u9ED8\u8BA4\u5E95\uFF082026-10-06 \u2192 \u7EED2\uFF09\uFF1A\u6D45\u8272\u4E0B\u7ED9**\u6DE1\u84DD**\uFF08business 8% \u900F\u767D\u5E95\uFF09\u2014\u2014\n \u53C2\u7167\u7528\u6237\u53C2\u8003\u7A3F\u91CC\u672A\u9009\u4E2D\u65E5\u7A0B\u5757 / Tuesday \u5217\u7684\u90A3\u79CD\u84DD\u3001\u518D\u6D45\u4E00\u70B9\u70B9\uFF1B\n \u76F8\u90BB\u6708\u8865\u4F4D\u683C\u4ECD\u8D70 --tdt-surface-2\uFF08\u66F4\u7070\uFF09\uFF0C\u4E0D\u53D7\u5F71\u54CD\u3002\n \u6DF1\u8272\u6BB5\u7EF4\u6301 #23262e\uFF08\u7528\u6237\uFF1A\u6DF1\u8272 UI \u5DF2\u5DEE\u4E0D\u591A\uFF0C\u4E0D\u52A8\uFF09\u3002 */\n --tdt-cal-cell-bg:color-mix(in srgb,var(--tdt-business) 8%,var(--tdt-surface-1));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u300C\u70B9\u5F00\u67D0\u5929\u300D\u5C55\u5F00\u7684\u9762\u677F\u5E95\uFF082026-10-06 \u7EED\uFF09\uFF1A\u6D45\u8272\u4E0B**\u65E0\u9650\u63A5\u8FD1\u767D\u3001\u53EA\u5E26\u4E00\u4E01\u70B9\u7070**\n \uFF08neutral-50 = #fafafa\uFF09\u2014\u2014\u9762\u677F\u91CC\u88C5\u534A\u900F\u660E\u6267\u884C\u8BB0\u5F55\u5217\u8868\uFF0C\u5E95\u518D\u6DF1\u6574\u7247\u5C31\u53D1\u7CCA\u53D1\u7070\uFF1B\n \u6DF1\u8272\u6BB5\u6CBF\u7528\u539F selected-bg \u6697\u503C\uFF0C\u4FDD\u6301\u4E0D\u52A8\u3002 */\n --tdt-cal-panel-bg:var(--dsw-static-neutral-50,#fafafa);\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6D45\u8272\u6BB5\uFF0C2026-10-06 \u7EED3\uFF09\uFF1A\u4E0D\u518D\u8D70\u7070\u8272\u901A\u7528\u4EA4\u4E92\u5E95\u2014\u2014\n \u9F20\u6807\u79FB\u4E0A\u53BB\u5E94\u662F\u300C\u66F4\u4EAE\u4E00\u70B9\u70B9\u7684\u84DD\u300D\uFF08\u4E0E\u6DF1\u8272\u6BB5\u540C\u8BED\u4E49\uFF1Ahover = \u63D0\u4EAE\u7684\u84DD\uFF0C\u4E0D\u662F\u7070\u4E0B\u53BB\uFF09\u3002\n \u6D53\u5EA6**\u4ECB\u4E8E**\u8868\u5934\u84DD\uFF0814%\uFF09\u4E0E\u672A\u9009\u4E2D\u683C\u84DD\uFF088%\uFF09\u4E4B\u95F4\u3001\u7565\u504F\u8868\u5934\u4E00\u4FA7\uFF1Abusiness 12% \u900F\u767D\u5E95\n \uFF08\u6BD4\u8868\u5934\u6D45\u4E00\u70B9\u3001\u6BD4\u672A\u9009\u4E2D\u683C\u6DF1\u4E00\u70B9\uFF09\u3002 */\n --tdt-cal-cell-hover:color-mix(in srgb,var(--tdt-business) 12%,var(--tdt-surface-1));\n\n /* \u2500\u2500 \u6295\u5F71 / \u7126\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-shadow-1:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);\n /* \u4EAE\u7247\u81EA\u5E26\u7684\u6D6E\u8D77\u611F\uFF08\u9009\u4E2D\u6001\u7528\uFF1B\u4E0E --tdt-surface-raised \u914D\u5BF9\uFF09 */\n --tdt-shadow-raised:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);\n --tdt-shadow-2:var(--dsw-shadow-lv3,0 12px 32px 0 #00000014);\n /* \u952E\u76D8\u7126\u70B9\u73AF\u3002\u26A0\uFE0F \u4E0D\u7528\u5BBF\u4E3B --dsw-focus-ring-color\uFF1A\u5B83\u9ED8\u8BA4\u503C\u662F transparent\uFF08\u515C\u5E95\u4E0D\u751F\u6548\u3001\u4F1A\u9690\u8EAB\uFF09 */\n --tdt-focus:var(--dsw-alias-state-business-primary,#3b5bdb);\n\n /* \u2500\u2500 \u5706\u89D2\uFF08\u5BBF\u4E3B\u771F\u503C 4 / 8 / 12 / 16 / 20 / 28\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-radius-xs:var(--dsw-radius-xs,4px);\n --tdt-radius-sm:var(--dsw-radius-sm,8px);\n --tdt-radius-md:var(--dsw-radius-md,12px);\n --tdt-radius-lg:var(--dsw-radius-lg,16px);\n --tdt-radius-xl:var(--dsw-radius-xl,20px);\n --tdt-radius-panel:var(--dsw-radius-panel,28px);\n\n /* \u2500\u2500 \u95F4\u8DDD\u56DB\u62CD\uFF08\u53EA\u8BB8\u7528\u8FD9\u56DB\u6863\uFF0C\u4E0D\u8BB8\u51FA\u73B0 5 / 7 / 9px\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-space-1:4px;\n --tdt-space-2:8px;\n --tdt-space-3:12px;\n --tdt-space-4:16px;\n\n /* \u2500\u2500 \u63A7\u4EF6\u9AD8\u5EA6\uFF1A\u79BB\u6563\u4E09\u6863\uFF08\u63A7\u4EF6\u7528 size=\"sm|md|lg\" \u9009\uFF1B\u8C03\u7528\u70B9\u4E0D\u8BB8\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\n \u771F\u4E0D\u591F\u7528\u624D\u5141\u8BB8\u5728\u8C03\u7528\u70B9\u672C\u5730\u8986\u76D6 --tdt-control-h-*\uFF0C\u5C5E\u4F8B\u5916\u800C\u975E\u5E38\u6001\uFF09\u2500\u2500 */\n --tdt-control-h-sm:24px;\n --tdt-control-h-md:28px;\n --tdt-control-h-lg:32px;\n\n /* \u2500\u2500 \u5B57\u53F7 / \u884C\u9AD8\uFF1A\u76F4\u7ED1\u5BBF\u4E3B\u5B57\u53F7\u65CF\uFF08\u5BBF\u4E3B\u771F\u503C 11 / 12 / 13 / 14 / 16\uFF09\u2500\u2500\u2500\u2500\u2500 */\n --tdt-font-xs:var(--dsw-font-xxxs-11-font-size,11px);\n --tdt-font-sm:var(--dsw-font-xxs-12-font-size,12px);\n --tdt-font-md:var(--dsw-font-xs-13-font-size,13px);\n --tdt-font-lg:var(--dsw-font-s-14-font-size,14px);\n --tdt-font-xl:var(--dsw-font-base-16-font-size,16px);\n --tdt-line-xs:var(--dsw-font-xxxs-11-line-height,14px);\n --tdt-line-sm:var(--dsw-font-xxs-12-line-height,18px);\n --tdt-line-md:var(--dsw-font-xs-13-line-height,20px);\n --tdt-line-lg:var(--dsw-font-s-14-line-height,22px);\n --tdt-line-xl:var(--dsw-font-base-16-line-height,24px);\n --tdt-font-mono:var(--ds-font-family-code,monospace);\n\n /* \u2500\u2500 \u5C42\u7EA7\u9636\u68AF\uFF08\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u518D\u5199\u88F8 z-index\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n /* \u9875\u9762\u7EA7\u9884\u89C8\u5206\u680F \u2192 \u62BD\u5C49\uFF08\u65B0\u5EFA/\u7F16\u8F91\uFF09\u2192 \u5F39\u7A97/\u786E\u8BA4\u6846 \u2192 \u6D6E\u5C42\u83DC\u5355 \u2192 \u6D6E\u5C42\u63D0\u793A */\n /* \u5185\u5BB9\u5C42\u5438\u9876\uFF08\u5929\u6807\u7B7E / \u8868\u5934\u8FD9\u7C7B\u300C\u8DDF\u7740\u6EDA\u4F46\u538B\u4F4F\u540C\u5C42\u5185\u5BB9\u300D\u7684\u5143\u7D20\uFF09\uFF1A\u53EA\u538B\u540C\u5C42\u5144\u5F1F\uFF0C\n \u5FC5\u987B\u4F4E\u4E8E\u4E0B\u9762\u6240\u6709\u6D6E\u5C42\u6863 \u2014\u2014 \u6240\u4EE5\u5B83\u4E0D\u662F\u300C\u5F00\u65B0\u6D6E\u5C42\u6863\u300D\uFF0C\u800C\u662F\u5185\u5BB9\u5C42\u5185\u90E8\u7684\u6392\u5E8F\u4F4D\u3002 */\n --tdt-z-sticky:10;\n --tdt-z-dock:1030;\n --tdt-z-drawer:1040;\n --tdt-z-modal:1070;\n --tdt-z-menu:1100;\n --tdt-z-tip:1200;\n\n /* \u2500\u2500 \u52A8\u6548 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-dur:var(--ds-transition-duration,.2s);\n --tdt-dur-fast:var(--ds-transition-duration-fast,.12s);\n --tdt-ease:var(--ds-ease-in-out,cubic-bezier(.4,0,.2,1));\n /* \u8FD0\u884C\u4E2D\u72B6\u6001\u7684\u8109\u52A8\u65F6\u957F\uFF082026-10-06 \u7EDF\u4E00\u524D\u540E\u4E24\u7AEF\uFF1A\u4EFB\u52A1\u914D\u7F6E\u91CC\u7684\u7EFF\u547C\u5438 \u2192 \u84DD\u3001\u653E\u6162\uFF1B\n \u6267\u884C\u8BB0\u5F55\u91CC\u7684\u84DD\u95EA \u2192 \u653E\u6162\u4E00\u70B9\u3002\u4E24\u8005\u7528\u540C\u4E00\u4E2A\u503C\uFF0C\u52A8\u753B\u5F62\u72B6\u672C\u5C31\u4E00\u81F4\uFF09\u3002 */\n --tdt-dur-run:500ms;\n}\n\n/* \u2500\u2500 \u660E\u6697\u5DEE\u5F02\u7684**\u552F\u4E00**\u843D\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u5224\u636E = body[data-ds-dark-theme]\uFF08\u5BBF\u4E3B 0.2.0-rc.2 \u6E90\u7801\u6838\u5B9E\uFF1A\u542F\u52A8\u811A\u672C toggleAttribute \u5199\u5165\uFF0C\n \u552F\u4E00\u660E\u6697\u5224\u636E\uFF1B\u63D2\u4EF6\u7981\u6B62\u7528 prefers-color-scheme \u2014\u2014 \u5B83\u8DDF\u7684\u662F\u7CFB\u7EDF\u3001\u4E0D\u662F\u7528\u6237\u5728\u5BBF\u4E3B\u91CC\u7684\u9009\u62E9\uFF09\u3002\n \u4E0B\u9762\u53EA\u653E alias \u8868\u8FBE\u4E0D\u4E86\u7684\u300C\u56FA\u5B9A\u4E2D\u6027\u9762\u300D\uFF1B\u989C\u8272\u82E5\u80FD\u9760 alias \u81EA\u52A8\u8DDF\u968F\uFF0C\u4E00\u5F8B\u4E0D\u8981\u5199\u5728\u8FD9\u91CC\u3002 */\nbody[data-ds-dark-theme]{\n --tdt-solid:var(--dsw-static-neutral-900,#0f0f0f);\n --tdt-on-solid:var(--dsw-static-neutral-00,#fff);\n /* \u6697\u8272 hover \u63BA\u767D 14% / active 24%\uFF08\u5BF9\u9F50\u4E0A\u9762 2026-10-18 \u7684\u52A0\u91CD\u62CD\u677F\uFF09\u3002rgba \u515C\u5E95\u884C\u540C\u4E0A\u3002 */\n --tdt-hover:rgba(255,255,255,.14);\n --tdt-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 14%,transparent);\n --tdt-active:rgba(255,255,255,.24);\n --tdt-active:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 24%,transparent);\n --tdt-plate:var(--dsw-static-neutral-850,#212123);\n --tdt-plate-hover:var(--dsw-static-neutral-800,#292929);\n --tdt-icon-plate:rgba(255,255,255,.05);\n --tdt-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 5%,transparent);\n /* \u6697\u8272\u4E3B\u9898**\u53CD\u8FC7\u6765**\uFF1A\u8868\u5934\u8981\u6BD4\u5361\u7247\u9762**\u4EAE**\u3001\u6BD4\u6591\u9A6C\u7EB9\u518D**\u6D45\u4E00\u6863**\uFF08\u7528\u6237\uFF1A\u7EAF\u9ED1\u80CC\u666F\u6CA1\u6CD5\u770B\uFF09\u3002 */\n --tdt-head-bg:var(--tdt-surface-2);\n /* \u6697\u8272\u5E95\u677F**\u5FAE\u4EAE**\uFF1Bhover **\u66F4\u4EAE**\uFF08\u539F\u5148 hover \u53D6 plate-hover \u53CD\u800C\u66F4\u6DE1 \u21D2 \u9F20\u6807\u79FB\u4E0A\u53BB\u5C31\u6CA1\u4E86\uFF09\u3002 */\n --tdt-chip-bg:rgba(255,255,255,.08);\n --tdt-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 8%,transparent);\n --tdt-chip-bg-hover:rgba(255,255,255,.16);\n --tdt-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 16%,transparent);\n /* \u6697\u8272\u4E0B\u84DD\u8272\u8981\u66F4\u4EAE\u3001\u900F\u660E\u5EA6\u7565\u9AD8\u624D\u538B\u5F97\u4F4F\u6DF1\u5E95\u3002 */\n --tdt-open-bg:rgba(96,165,250,.18);\n --tdt-open-bg-soft:rgba(96,165,250,.08);\n --tdt-card-hover:rgba(96,165,250,.13);\n /* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF08\u6DF1\u8272\u7248\uFF09\uFF1A\u7528\u6237\u5ACC\u6DF1\u8272\u7684\u7EFF / \u7EA2\u300C\u6709\u70B9\u6DF1\u300D\u21D2 \u538B\u5230 **5%**\uFF08\u6D45\u8272\u6BB5\u662F 8%\uFF09\uFF0C\n \u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u8272\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF1B\u5757\u5E95\u4E0E\u72B6\u6001\u8272\u7AD6\u6761\u4ECD\u540C\u6E90\uFF08\u7AD6\u6761\u662F\u5B9E\u8272\uFF0C\u4E0D\u53D7\u8FD9\u6761\u5F71\u54CD\uFF09\u3002 */\n --tdt-success-soft:color-mix(in srgb,var(--tdt-success) 5%,transparent);\n --tdt-warning-soft:color-mix(in srgb,var(--tdt-warning) 5%,transparent);\n --tdt-danger-soft:color-mix(in srgb,var(--tdt-danger) 5%,transparent);\n --tdt-business-soft:color-mix(in srgb,var(--tdt-business) 5%,transparent);\n /* \u300C\u9009\u4E2D\u9762\u300D\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u63BA **~40% \u80CC\u666F\u8272**\uFF08--tdt-surface-base\uFF09\u21D2 \u65E0\u9650\u63A5\u8FD1\u9875\u9762\u80CC\u666F\u7684\u9ED1\u3001\n \u53EA\u6BD4\u80CC\u666F\u7565\u6DF1\u4E00\u70B9\u70B9\uFF08\u7528\u6237\uFF1A\u6DF1\u8272\u4E0B\u5C55\u5F00\u533A\u538B\u7740\u4EFB\u52A1\u900F\u660E\u7EFF\u4F1A\u53D1\u7070\uFF0C\u5E95\u8272\u8981\u5C3D\u91CF\u8D34\u8FD1\u80CC\u666F\u624D\u4E0D\u663E\u7070\uFF09\u3002\n \u26A0\uFE0F \u6DF1\u8272\u4E0B\u4E0D\u80FD\u63BA\u6587\u5B57\u8272 \u2014\u2014 \u90A3\u662F\u767D\uFF0C\u4F1A\u53D8\u4EAE\uFF0C\u9009\u4E2D\u53CD\u800C\u6BD4\u672C\u6708\u65E5\u671F\u6D45\u3002 */\n --tdt-selected-bg:color-mix(in srgb,var(--tdt-surface-1) 60%,var(--tdt-surface-base));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u7684\u9ED8\u8BA4\u5E95\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u6DF1\u7684\u3001\u5E26\u70B9\u7070\u84DD\u7684\u6697\u8272\uFF08\u7528\u6237\u7ED9\u7684\u53C2\u8003\u56FE \u2248 #23262e\uFF09\uFF0C\n \u6BD4\u539F\u6765\u7684\u5361\u7247\u9762\u66F4\u6C89\u3001\u66F4\u504F\u84DD\u7070\uFF1B\u9009\u4E2D\u683C\u4ECD\u8D70 --tdt-selected-bg\uFF08\u66F4\u6697\u4E00\u6863\uFF09\uFF0C\u5C42\u7EA7\u4E0D\u53D8\u3002 */\n --tdt-cal-cell-bg:#23262e;\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06\uFF09\uFF1A\u539F\u5148\u8D70 --tdt-hover\uFF08\u5BBF\u4E3B\u6D45\u8272\u53E0\u52A0\uFF09\u5728\u6DF1\u5E95\u4E0A\u663E\u5F97\n \u300C\u7070\u53D1\u4EAE\u300D\uFF0C\u4E0D\u597D\u770B \u21D2 \u6362\u6210\u66F4\u8D34\u5E95\u7684\u84DD\u8C03\u5FAE\u4EAE\uFF08\u4E0E open-bg-soft \u540C\u65CF\uFF09\uFF0Chover \u65F6\u4E0D\u523A\u773C\u3001\u53C8\u6709\u53CD\u9988\u3002 */\n --tdt-cal-cell-hover:rgba(96,165,250,.12);\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u5C55\u5F00\u9762\u677F\u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06 \u7EED\uFF09\uFF1A\u4E0E\u539F selected-bg \u6697\u503C\u4E00\u81F4\uFF0C\u6DF1\u8272 UI \u4E0D\u52A8 */\n --tdt-cal-panel-bg:color-mix(in srgb,var(--tdt-surface-1) 60%,var(--tdt-surface-base));\n}\n`";
1
+ export declare const TOKENS_CSS_TEMPLATE = "\n/* \u2500\u2500 \u6587\u5B57\uFF08\u5BBF\u4E3B label \u56DB\u6863 + \u53CD\u8272\u9762\u7528\u5B57\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\nbody{\n --tdt-fg:var(--dsw-alias-label-primary,#1f2328);\n --tdt-fg-2:var(--dsw-alias-label-secondary,#5c6370);\n --tdt-fg-3:var(--dsw-alias-label-tertiary,#767d87);\n --tdt-fg-4:var(--dsw-alias-label-caption,#9aa1ab);\n --tdt-fg-dim:var(--dsw-alias-label-dimmed,#b9bfc7);\n /* \u53CD\u8272\u9762\u4E0A\u7684\u5B57\uFF08\u5B9E\u5FC3\u94AE / \u89D2\u6807\uFF09\uFF1A\u6697\u8272\u4E0B\u662F bluish-1000\uFF0C\u6545\u7528 -foreground \u800C\u975E -inverted */\n --tdt-fg-inverse:var(--dsw-alias-label-primary-foreground,#fff);\n\n /* \u2500\u2500 \u9762\uFF08\u5BBF\u4E3B bg-layer \u4E09\u6863 + \u4E0B\u6C89\u8F68\u9053\u5E95\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-surface-1:var(--dsw-alias-bg-layer-1,#fff);\n --tdt-surface-2:var(--dsw-alias-bg-layer-2,#fff);\n --tdt-surface-3:var(--dsw-alias-bg-layer-3,#fff);\n /* \u300C\u9009\u4E2D\u4EAE\u7247\u300D\u7684\u5E95\u76D8\u8272\uFF08\u914D --tdt-shadow-raised \u7528\uFF09 */\n --tdt-surface-raised:var(--dsw-alias-bg-layer-1,#fff);\n /* \u8F68\u9053 / \u4E0B\u6C89\u5E95\uFF08\u5B98\u65B9\u5206\u6BB5\u63A7\u4EF6\u8F68\u9053\u7528\u7684\u5C31\u662F\u8FD9\u6761\uFF09 */\n --tdt-surface-sunken:var(--dsw-alias-interactive-bg-hover,rgba(38,49,72,.06));\n /* \u6574\u9875 / \u7F16\u8F91\u5668\u5E95\uFF08bg-base\uFF09 */\n --tdt-surface-base:var(--dsw-alias-bg-base,#fff);\n /* \u81EA\u7ED8\u6D6E\u5C42 / \u83DC\u5355\u5361\u7684\u4E0D\u900F\u660E\u5E95\uFF08= base\uFF1B\u4E0D\u8981\u7528\u534A\u900F\u660E\u7684 specific-menu\uFF09 */\n --tdt-surface-menu:var(--tdt-surface-base);\n /* markdown \u4EE3\u7801\u5757\u9762 / \u5B57\u4F53\uFF08\u4F1A\u8BDD\u955C\u50CF\u91CC\u7528\u5230\uFF09 */\n --tdt-code-surface:var(--dsw-alias-markdown-code-block,rgba(128,128,128,.10));\n --tdt-code-font:var(--dsw-font-markdown-code-block-small,12px/18px var(--ds-font-family-code,monospace));\n /* \u8B66\u544A\u6587\u5B57\u8272\uFF08\u5BBF\u4E3B state-warn-label\uFF09 */\n --tdt-warning-label:var(--dsw-alias-state-warn-label,#f5a623);\n /* \u56FA\u5B9A\u4E2D\u6027\u5B9E\u9762\uFF08\u81EA\u7ED8\u6D6E\u5C42\u3001\u6DF1\u8272\u4E3B\u9898\u4E0B\u5FC5\u987B\u81EA\u5DF1\u53D8\u7684\u90A3\u51E0\u4E2A\uFF09\u2014\u2014\u53EA\u6709\u5B83\u9700\u8981\u6697\u8272\u8986\u76D6 */\n --tdt-solid:var(--dsw-static-neutral-00,#fff);\n --tdt-on-solid:var(--dsw-alias-label-primary,#1f2328);\n /* \u4EA4\u4ED8\u6587\u4EF6\u5361\u90A3\u79CD\u300C\u6D45\u5E95\u76D8 + hover \u52A0\u6DF1\u300D\u4E24\u62CD */\n --tdt-plate:var(--dsw-static-neutral-50,#fafafa);\n --tdt-plate-hover:var(--dsw-static-neutral-100,#f5f5f5);\n /* \u65E7\u5185\u6838\u56DE\u9000\uFF08Chrome <111 \u4E0D\u8BA4 color-mix \u21D2 \u8FD9\u6761\u751F\u6548\uFF1B\u65B0\u5185\u6838\u88AB\u4E0B\u9762\u90A3\u6761\u8986\u76D6\uFF09\u3002\n \u8FD9\u51E0\u4E2A\u662F**\u56FA\u5B9A\u4E2D\u6027\u9762**\u3001\u4E0D\u9760\u8DDF\u968F\u5BBF\u4E3B\u4E3B\u9898\u8272\uFF0C\u6545\u53EF\u4EE5\u65E0\u635F\u5730\u7ED9\u660E\u6587\u56DE\u9000\u3002 */\n --tdt-icon-plate:rgba(255,255,255,.5);\n --tdt-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 50%,transparent);\n /* \u8868\u5934\u5E95\uFF1A\u6D45\u8272\u4E3B\u9898**\u504F\u6DF1**\uFF0C\u4E14\u5FC5\u987B**\u6BD4\u6591\u9A6C\u7EB9\uFF08--tdt-plate\uFF09\u518D\u6DF1\u4E00\u6863**\u2014\u2014\n \u4E24\u8005\u4E0D\u80FD\u649E\u8272\uFF08\u7528\u6237 2026-10-02\uFF1A\u8868\u5934\u8DDF\u6591\u9A6C\u7EB9\u4E00\u6A21\u4E00\u6837\uFF09\u3002 */\n --tdt-head-bg:var(--dsw-static-neutral-100,#f5f5f5);\n /* \u56FE\u6807\u5C0F\u5E95\u677F\uFF08\u4EA7\u51FA\u7269\uFF09\uFF1A\u6D45\u8272\u4E0B\u8981**\u770B\u5F97\u89C1**\uFF08\u539F\u5148\u53D6 plate \u21D2 \u5728\u767D\u5E95\u4E0A\u7B49\u4E8E\u6CA1\u6709\uFF09\uFF1Bhover \u52A0\u500D\u3002 */\n --tdt-chip-bg:rgba(15,15,15,.07);\n --tdt-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 7%,transparent);\n --tdt-chip-bg-hover:rgba(15,15,15,.14);\n --tdt-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 14%,transparent);\n /* \u5C55\u5F00\u884C\uFF1A**\u5E26\u900F\u660E\u5EA6\u7684\u84DD**\u2014\u2014\u4E0D\u662F\u7070\u3001\u4E5F\u4E0D\u662F\u7EAF\u8272\uFF0C\u900F\u51FA\u5361\u7247\u5E95\u8272\uFF0C\u4E00\u773C\u770B\u51FA\u300C\u8FD9\u662F\u5C55\u5F00\u7684\u300D\n \uFF08\u7528\u6237 2026-10-02\uFF1A\u7070\u8272\u8DDF\u6591\u9A6C\u7EB9\u5206\u4E0D\u51FA\u6765\uFF09\u3002\u5185\u5BB9\u533A\u518D\u6DE1\u4E00\u6863\uFF0C\u5F62\u6210\u300C\u884C\u6DF1 / \u5185\u5BB9\u6D45\u300D\u7684\u533A\u9694\u3002 */\n --tdt-open-bg:rgba(37,99,235,.10);\n --tdt-open-bg-soft:rgba(37,99,235,.05);\n --tdt-card-hover:rgba(37,99,235,.07);\n\n /* \u2500\u2500 \u63CF\u8FB9\u56DB\u6863\uFF08\u5BBF\u4E3B\u771F\u503C\uFF1Al1 4% / l2 10% / l3 12% / l4 16%\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-border-faint:var(--dsw-alias-border-l1,#0000000a);\n --tdt-border:var(--dsw-alias-border-l2,#0000001a);\n --tdt-border-strong:var(--dsw-alias-border-l3,#0000001f);\n --tdt-border-heavy:var(--dsw-alias-border-l4,#00000029);\n\n /* \u2500\u2500 \u54C1\u724C / \u8BED\u4E49\u8272 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n /* \u54C1\u724C\u300C\u9762\u300D\u8272\uFF1A\u660E\u8272\u8FD1\u9ED1\u3001\u6697\u8272\u8FD1\u767D\uFF08\u5B98\u65B9 Switch \u9009\u4E2D\u6001\u5373\u6B64\uFF09\uFF0C**\u4E0D\u662F\u84DD\u8272** */\n --tdt-accent:var(--dsw-alias-brand-primary,#0f1115);\n /* \u84DD\u8272\uFF1A\u5F3A\u8C03 / \u9009\u4E2D / \u7126\u70B9\uFF0C\u4E00\u5F8B\u8D70\u8FD9\u6761 */\n --tdt-business:var(--dsw-alias-state-business-primary,#3b5bdb);\n --tdt-success:var(--dsw-alias-state-success-primary,#22c55e);\n /* \u26A0\uFE0F \u662F state-warn\uFF08\u4E0D\u662F state-warning\uFF0C\u540E\u8005\u5BBF\u4E3B\u65E0\u6B64\u5B9A\u4E49\uFF09 */\n --tdt-warning:var(--dsw-alias-state-warn-primary,#f59e0b);\n --tdt-danger:var(--dsw-alias-state-error-primary,#ec1313);\n --tdt-link:var(--dsw-alias-link,#3b5bdb);\n /* \u8BED\u4E49\u8272**\u5B9E\u9762**\u4E0A\u7684\u5B57\uFF08\u89D2\u6807 / \u5B9E\u5FC3\u63D0\u793A\uFF09\uFF1A\u5BBF\u4E3B\u7EA2\u7EFF\u9EC4\u4E09\u8272\u90FD\u662F\u4E2D\u8C03 \u21D2 \u767D\u5B57\u4E24\u4E2A\u4E3B\u9898\u90FD\u53EF\u8BFB\uFF0C\n \u6545\u8FD9\u662F\u4E00\u6761\u4E0E\u4E3B\u9898\u65E0\u5173\u7684\u5E38\u91CF\uFF1B\u4E0D\u8981\u62FF --tdt-fg-inverse \u9876\u2014\u2014\u5B83\u5728\u6697\u8272\u4E0B\u662F\u8FD1\u9ED1\uFF0C\u538B\u5728\u7EA2\u5E95\u4E0A\u770B\u4E0D\u6E05\u3002 */\n --tdt-on-signal:#fff;\n /* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF1A\u72B6\u6001\u8272\u7CFB\u7684\u300C\u4E00\u5757\u5E95\u8272\u300D\u2014\u2014\u6267\u884C\u8BB0\u5F55\u9875\u6BCF\u6761\u6D41\u6C34\u8D26\u7684\u5757\u5E95\u5C31\u662F\u5B83\n \uFF08\u7528\u6237 2026-10-04\uFF1A\u6B63\u5E38\u6001\u7ED9\u540C\u8272\u7CFB\u5F88\u6D45\u7684\u900F\u660E\u5E95\u3001\u5931\u8D25\u7528\u7EA2\u5E95\u900F\u51FA\u6765\uFF09\u3002\n \u7528 \u300Ccolor-mix\u300D \u73B0\u7B97\u800C\u4E0D\u5199\u6B7B rgba\uFF1A\u72B6\u6001\u8272\u672C\u8EAB\u8DDF\u968F\u5BBF\u4E3B alias\uFF0C\u4E3B\u9898\u4E00\u6362\u81EA\u52A8\u6210\u7ACB\u3002\n \u26A0\uFE0F **\u6DF1\u8272\u4E0B\u8981\u66F4\u6DE1**\uFF1A\u7528\u6237 2026-10-04\u300C\u6DF1\u8272\u98CE\u683C\u7684\u7EFF\u8272\u548C\u7EA2\u8272\u597D\u50CF\u90FD\u6709\u70B9\u6DF1\u300D\u21D2 dark \u6BB5\n \u628A\u8FD9\u56DB\u6761\u538B\u5230 5%\uFF08\u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF09\uFF1B\u6D45\u8272\u6BB5\u7EF4\u6301 8%\u3002\u4E24\u7AEF\u5404\u81EA\u7ED9\u503C\uFF0C\u4E0D\u5171\u7528\u4E00\u6761\u66F2\u7EBF\u3002\n \u547D\u540D\u6536\u5728 tokens.ts \u5355\u70B9\uFF08\u672C\u4ED3\u786C\u89C4\u77E9\uFF1A\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u81EA\u9020 --tdt-*\uFF09\u3002 */\n --tdt-success-soft:color-mix(in srgb,var(--tdt-success) 8%,transparent);\n --tdt-warning-soft:color-mix(in srgb,var(--tdt-warning) 8%,transparent);\n --tdt-danger-soft:color-mix(in srgb,var(--tdt-danger) 8%,transparent);\n --tdt-business-soft:color-mix(in srgb,var(--tdt-business) 8%,transparent);\n\n /* \u26A0\uFE0F 2026-10-18 \u7528\u6237\u62CD\u677F\uFF1A\u5BBF\u4E3B alias \u7684 hover\uFF08\u6697\u8272\u767D 8% / \u4EAE\u8272 6%\uFF09**\u592A\u5F31**\uFF0C\n \u300C\u79FB\u4E0A\u53BB\u8981\u4ED4\u7EC6\u770B\u624D\u770B\u5F97\u51FA\u6765\u300D\u21D2 \u4E0D\u518D\u59D4\u6258\u5BBF\u4E3B hover \u522B\u540D\uFF0C\u6539\u4E3A\u81EA\u63BA\u4E2D\u6027\u8272\u5E76\u52A0\u91CD\uFF1A\n \u4EAE\u8272\u63BA\u9ED1 10%\u3001\u6697\u8272\u63BA\u767D 14%\uFF08active \u518D\u52A0\u4E00\u6863\uFF09\u3002\u6309\u94AE / \u5206\u6BB5\u8F68\u9053 / \u5404\u7C7B hover \u5E95\u540C\u65F6\u53D7\u76CA\u3002\n \u26A0\uFE0F \u5FC5\u987B\u4FDD\u7559 rgba \u515C\u5E95\u884C\u5728\u524D\uFF08\u672C\u6587\u4EF6\u60EF\u4F8B\uFF0C\u89C1 icon-plate \u6CE8\u91CA\uFF09\uFF1A\u63BA\u7684\u662F**\u56FA\u5B9A\u4E2D\u6027\u8272**\n \uFF08neutral-900=#0f0f0f / neutral-00=#fff\uFF09\uFF0C\u9884\u8BA1\u7B97\u65E0\u635F\uFF1B\u65E7\u5185\u6838\u4E0D\u8BA4 color-mix \u65F6\u8D70\u515C\u5E95\uFF0C\n \u5426\u5219\u6574\u6761 background:var(--seg-track) \u4F5C\u5E9F \u21D2 \u5206\u6BB5\u8F68\u9053\u900F\u660E\uFF08\u771F\u8E29\u8FC7\uFF1A\u9884\u89C8\u7AD9\u8F68\u9053\u6D88\u5931\uFF09\u3002 */\n --tdt-hover:rgba(15,15,15,.10);\n --tdt-hover:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 10%,transparent);\n --tdt-active:rgba(15,15,15,.18);\n --tdt-active:color-mix(in srgb,var(--dsw-static-neutral-900,#0f0f0f) 18%,transparent);\n --tdt-mask:var(--dsw-alias-bg-mask-1,#0000003d);\n /* \u300C\u9009\u4E2D\u9762\u300D\uFF082026-10-06\uFF0C\u4EFB\u52A1\u65E5\u7A0B\u9875\u9996\u521B\uFF09= \u5F53\u524D\u5E95\u8272**\u671D\u66F4\u6DF1\u63BA 12% \u6587\u5B57\u8272**\uFF1A\n \u6D45\u8272\u4E3B\u9898\u4E0B\u6587\u5B57\u8272\u662F\u9ED1 \u21D2 \u9009\u4E2D\u9762\u6BD4\u5E38\u6001\u5E95\u8272**\u6DF1\u4E00\u6863**\u3002\u6DF1\u8272\u5206\u652F\u89C1 body[data-ds-dark-theme]\uFF08\u671D\u80CC\u666F\u8272\u63BA\uFF09\u3002\n \u8BED\u4E49\uFF1A\u6807\u8BB0\u300C\u6B63\u5728\u770B\u7684\u4E1C\u897F\u300D\uFF0C\u6BD4\u5E38\u6001\u660E\u663E\u3001\u53C8\u4E0D\u8BB8\u76D6\u4F4F\u5185\u5BB9\uFF08\u4E0D\u8BB8\u7528\u534A\u900F\u660E\u53E0\u72B6\u6001\u8272\uFF09\u3002 */\n --tdt-selected-bg:color-mix(in srgb,var(--tdt-surface-1) 88%,var(--tdt-fg));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u9ED8\u8BA4\u5E95\uFF082026-10-06 \u2192 \u7EED2\uFF09\uFF1A\u6D45\u8272\u4E0B\u7ED9**\u6DE1\u84DD**\uFF08business 8% \u900F\u767D\u5E95\uFF09\u2014\u2014\n \u53C2\u7167\u7528\u6237\u53C2\u8003\u7A3F\u91CC\u672A\u9009\u4E2D\u65E5\u7A0B\u5757 / Tuesday \u5217\u7684\u90A3\u79CD\u84DD\u3001\u518D\u6D45\u4E00\u70B9\u70B9\uFF1B\n \u76F8\u90BB\u6708\u8865\u4F4D\u683C\u4ECD\u8D70 --tdt-surface-2\uFF08\u66F4\u7070\uFF09\uFF0C\u4E0D\u53D7\u5F71\u54CD\u3002\n \u6DF1\u8272\u6BB5\u7EF4\u6301 #23262e\uFF08\u7528\u6237\uFF1A\u6DF1\u8272 UI \u5DF2\u5DEE\u4E0D\u591A\uFF0C\u4E0D\u52A8\uFF09\u3002 */\n --tdt-cal-cell-bg:color-mix(in srgb,var(--tdt-business) 8%,var(--tdt-surface-1));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u300C\u70B9\u5F00\u67D0\u5929\u300D\u5C55\u5F00\u7684\u9762\u677F\u5E95\uFF082026-10-06 \u7EED\uFF09\uFF1A\u6D45\u8272\u4E0B**\u65E0\u9650\u63A5\u8FD1\u767D\u3001\u53EA\u5E26\u4E00\u4E01\u70B9\u7070**\n \uFF08neutral-50 = #fafafa\uFF09\u2014\u2014\u9762\u677F\u91CC\u88C5\u534A\u900F\u660E\u6267\u884C\u8BB0\u5F55\u5217\u8868\uFF0C\u5E95\u518D\u6DF1\u6574\u7247\u5C31\u53D1\u7CCA\u53D1\u7070\uFF1B\n \u6DF1\u8272\u6BB5\u6CBF\u7528\u539F selected-bg \u6697\u503C\uFF0C\u4FDD\u6301\u4E0D\u52A8\u3002 */\n --tdt-cal-panel-bg:var(--dsw-static-neutral-50,#fafafa);\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6D45\u8272\u6BB5\uFF0C2026-10-06 \u7EED3\uFF09\uFF1A\u4E0D\u518D\u8D70\u7070\u8272\u901A\u7528\u4EA4\u4E92\u5E95\u2014\u2014\n \u9F20\u6807\u79FB\u4E0A\u53BB\u5E94\u662F\u300C\u66F4\u4EAE\u4E00\u70B9\u70B9\u7684\u84DD\u300D\uFF08\u4E0E\u6DF1\u8272\u6BB5\u540C\u8BED\u4E49\uFF1Ahover = \u63D0\u4EAE\u7684\u84DD\uFF0C\u4E0D\u662F\u7070\u4E0B\u53BB\uFF09\u3002\n \u6D53\u5EA6**\u4ECB\u4E8E**\u8868\u5934\u84DD\uFF0814%\uFF09\u4E0E\u672A\u9009\u4E2D\u683C\u84DD\uFF088%\uFF09\u4E4B\u95F4\u3001\u7565\u504F\u8868\u5934\u4E00\u4FA7\uFF1Abusiness 12% \u900F\u767D\u5E95\n \uFF08\u6BD4\u8868\u5934\u6D45\u4E00\u70B9\u3001\u6BD4\u672A\u9009\u4E2D\u683C\u6DF1\u4E00\u70B9\uFF09\u3002 */\n --tdt-cal-cell-hover:color-mix(in srgb,var(--tdt-business) 12%,var(--tdt-surface-1));\n\n /* \u2500\u2500 \u6295\u5F71 / \u7126\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-shadow-1:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);\n /* \u4EAE\u7247\u81EA\u5E26\u7684\u6D6E\u8D77\u611F\uFF08\u9009\u4E2D\u6001\u7528\uFF1B\u4E0E --tdt-surface-raised \u914D\u5BF9\uFF09 */\n --tdt-shadow-raised:var(--dsw-elevation-soft,0 4px 16px 0 #00000008);\n --tdt-shadow-2:var(--dsw-shadow-lv3,0 12px 32px 0 #00000014);\n /* \u952E\u76D8\u7126\u70B9\u73AF\u3002\u26A0\uFE0F \u4E0D\u7528\u5BBF\u4E3B --dsw-focus-ring-color\uFF1A\u5B83\u9ED8\u8BA4\u503C\u662F transparent\uFF08\u515C\u5E95\u4E0D\u751F\u6548\u3001\u4F1A\u9690\u8EAB\uFF09 */\n --tdt-focus:var(--dsw-alias-state-business-primary,#3b5bdb);\n\n /* \u2500\u2500 \u5706\u89D2\uFF08\u5BBF\u4E3B\u771F\u503C 4 / 8 / 12 / 16 / 20 / 28\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-radius-xs:var(--dsw-radius-xs,4px);\n --tdt-radius-sm:var(--dsw-radius-sm,8px);\n --tdt-radius-md:var(--dsw-radius-md,12px);\n --tdt-radius-lg:var(--dsw-radius-lg,16px);\n --tdt-radius-xl:var(--dsw-radius-xl,20px);\n --tdt-radius-panel:var(--dsw-radius-panel,28px);\n /* \u5168\u5706\uFF08\u80F6\u56CA\u6807\u7B7E\uFF09\uFF1A\u5BBF\u4E3B\u7684 radius \u6863\u6700\u5927\u53EA\u6709 28px\uFF0C\u6491\u4E0D\u6EE1 24px \u9AD8\u7684 chip */\n --tdt-radius-pill:999px;\n\n /* \u2500\u2500 \u95F4\u8DDD\u56DB\u62CD\uFF08\u53EA\u8BB8\u7528\u8FD9\u56DB\u6863\uFF0C\u4E0D\u8BB8\u51FA\u73B0 5 / 7 / 9px\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-space-1:4px;\n --tdt-space-2:8px;\n --tdt-space-3:12px;\n --tdt-space-4:16px;\n\n /* \u2500\u2500 \u63A7\u4EF6\u9AD8\u5EA6\uFF1A\u79BB\u6563\u4E09\u6863\uFF08\u63A7\u4EF6\u7528 size=\"sm|md|lg\" \u9009\uFF1B\u8C03\u7528\u70B9\u4E0D\u8BB8\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\n \u771F\u4E0D\u591F\u7528\u624D\u5141\u8BB8\u5728\u8C03\u7528\u70B9\u672C\u5730\u8986\u76D6 --tdt-control-h-*\uFF0C\u5C5E\u4F8B\u5916\u800C\u975E\u5E38\u6001\uFF09\u2500\u2500 */\n --tdt-control-h-sm:24px;\n --tdt-control-h-md:28px;\n --tdt-control-h-lg:32px;\n\n /* \u2500\u2500 \u5B57\u53F7 / \u884C\u9AD8\uFF1A\u76F4\u7ED1\u5BBF\u4E3B\u5B57\u53F7\u65CF\uFF08\u5BBF\u4E3B\u771F\u503C 11 / 12 / 13 / 14 / 16\uFF09\u2500\u2500\u2500\u2500\u2500 */\n --tdt-font-xs:var(--dsw-font-xxxs-11-font-size,11px);\n --tdt-font-sm:var(--dsw-font-xxs-12-font-size,12px);\n --tdt-font-md:var(--dsw-font-xs-13-font-size,13px);\n --tdt-font-lg:var(--dsw-font-s-14-font-size,14px);\n --tdt-font-xl:var(--dsw-font-base-16-font-size,16px);\n --tdt-line-xs:var(--dsw-font-xxxs-11-line-height,14px);\n --tdt-line-sm:var(--dsw-font-xxs-12-line-height,18px);\n --tdt-line-md:var(--dsw-font-xs-13-line-height,20px);\n --tdt-line-lg:var(--dsw-font-s-14-line-height,22px);\n --tdt-line-xl:var(--dsw-font-base-16-line-height,24px);\n --tdt-font-mono:var(--ds-font-family-code,monospace);\n\n /* \u2500\u2500 \u5C42\u7EA7\u9636\u68AF\uFF08\u4E1A\u52A1\u6587\u4EF6\u4E0D\u8BB8\u518D\u5199\u88F8 z-index\uFF09\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n /* \u9875\u9762\u7EA7\u9884\u89C8\u5206\u680F \u2192 \u62BD\u5C49\uFF08\u65B0\u5EFA/\u7F16\u8F91\uFF09\u2192 \u5F39\u7A97/\u786E\u8BA4\u6846 \u2192 \u6D6E\u5C42\u83DC\u5355 \u2192 \u6D6E\u5C42\u63D0\u793A */\n /* \u5185\u5BB9\u5C42\u5438\u9876\uFF08\u5929\u6807\u7B7E / \u8868\u5934\u8FD9\u7C7B\u300C\u8DDF\u7740\u6EDA\u4F46\u538B\u4F4F\u540C\u5C42\u5185\u5BB9\u300D\u7684\u5143\u7D20\uFF09\uFF1A\u53EA\u538B\u540C\u5C42\u5144\u5F1F\uFF0C\n \u5FC5\u987B\u4F4E\u4E8E\u4E0B\u9762\u6240\u6709\u6D6E\u5C42\u6863 \u2014\u2014 \u6240\u4EE5\u5B83\u4E0D\u662F\u300C\u5F00\u65B0\u6D6E\u5C42\u6863\u300D\uFF0C\u800C\u662F\u5185\u5BB9\u5C42\u5185\u90E8\u7684\u6392\u5E8F\u4F4D\u3002 */\n --tdt-z-sticky:10;\n --tdt-z-dock:1030;\n --tdt-z-drawer:1040;\n --tdt-z-modal:1070;\n --tdt-z-menu:1100;\n --tdt-z-tip:1200;\n\n /* \u2500\u2500 \u52A8\u6548 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n --tdt-dur:var(--ds-transition-duration,.2s);\n --tdt-dur-fast:var(--ds-transition-duration-fast,.12s);\n --tdt-ease:var(--ds-ease-in-out,cubic-bezier(.4,0,.2,1));\n /* \u8FD0\u884C\u4E2D\u72B6\u6001\u7684\u8109\u52A8\u65F6\u957F\uFF082026-10-06 \u7EDF\u4E00\u524D\u540E\u4E24\u7AEF\uFF1A\u4EFB\u52A1\u914D\u7F6E\u91CC\u7684\u7EFF\u547C\u5438 \u2192 \u84DD\u3001\u653E\u6162\uFF1B\n \u6267\u884C\u8BB0\u5F55\u91CC\u7684\u84DD\u95EA \u2192 \u653E\u6162\u4E00\u70B9\u3002\u4E24\u8005\u7528\u540C\u4E00\u4E2A\u503C\uFF0C\u52A8\u753B\u5F62\u72B6\u672C\u5C31\u4E00\u81F4\uFF09\u3002 */\n --tdt-dur-run:500ms;\n}\n\n/* \u2500\u2500 \u660E\u6697\u5DEE\u5F02\u7684**\u552F\u4E00**\u843D\u70B9 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n \u5224\u636E = body[data-ds-dark-theme]\uFF08\u5BBF\u4E3B 0.2.0-rc.2 \u6E90\u7801\u6838\u5B9E\uFF1A\u542F\u52A8\u811A\u672C toggleAttribute \u5199\u5165\uFF0C\n \u552F\u4E00\u660E\u6697\u5224\u636E\uFF1B\u63D2\u4EF6\u7981\u6B62\u7528 prefers-color-scheme \u2014\u2014 \u5B83\u8DDF\u7684\u662F\u7CFB\u7EDF\u3001\u4E0D\u662F\u7528\u6237\u5728\u5BBF\u4E3B\u91CC\u7684\u9009\u62E9\uFF09\u3002\n \u4E0B\u9762\u53EA\u653E alias \u8868\u8FBE\u4E0D\u4E86\u7684\u300C\u56FA\u5B9A\u4E2D\u6027\u9762\u300D\uFF1B\u989C\u8272\u82E5\u80FD\u9760 alias \u81EA\u52A8\u8DDF\u968F\uFF0C\u4E00\u5F8B\u4E0D\u8981\u5199\u5728\u8FD9\u91CC\u3002 */\nbody[data-ds-dark-theme]{\n --tdt-solid:var(--dsw-static-neutral-900,#0f0f0f);\n --tdt-on-solid:var(--dsw-static-neutral-00,#fff);\n /* \u6697\u8272 hover \u63BA\u767D 14% / active 24%\uFF08\u5BF9\u9F50\u4E0A\u9762 2026-10-18 \u7684\u52A0\u91CD\u62CD\u677F\uFF09\u3002rgba \u515C\u5E95\u884C\u540C\u4E0A\u3002 */\n --tdt-hover:rgba(255,255,255,.14);\n --tdt-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 14%,transparent);\n --tdt-active:rgba(255,255,255,.24);\n --tdt-active:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 24%,transparent);\n --tdt-plate:var(--dsw-static-neutral-850,#212123);\n --tdt-plate-hover:var(--dsw-static-neutral-800,#292929);\n --tdt-icon-plate:rgba(255,255,255,.05);\n --tdt-icon-plate:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 5%,transparent);\n /* \u6697\u8272\u4E3B\u9898**\u53CD\u8FC7\u6765**\uFF1A\u8868\u5934\u8981\u6BD4\u5361\u7247\u9762**\u4EAE**\u3001\u6BD4\u6591\u9A6C\u7EB9\u518D**\u6D45\u4E00\u6863**\uFF08\u7528\u6237\uFF1A\u7EAF\u9ED1\u80CC\u666F\u6CA1\u6CD5\u770B\uFF09\u3002 */\n --tdt-head-bg:var(--tdt-surface-2);\n /* \u6697\u8272\u5E95\u677F**\u5FAE\u4EAE**\uFF1Bhover **\u66F4\u4EAE**\uFF08\u539F\u5148 hover \u53D6 plate-hover \u53CD\u800C\u66F4\u6DE1 \u21D2 \u9F20\u6807\u79FB\u4E0A\u53BB\u5C31\u6CA1\u4E86\uFF09\u3002 */\n --tdt-chip-bg:rgba(255,255,255,.08);\n --tdt-chip-bg:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 8%,transparent);\n --tdt-chip-bg-hover:rgba(255,255,255,.16);\n --tdt-chip-bg-hover:color-mix(in srgb,var(--dsw-static-neutral-00,#fff) 16%,transparent);\n /* \u6697\u8272\u4E0B\u84DD\u8272\u8981\u66F4\u4EAE\u3001\u900F\u660E\u5EA6\u7565\u9AD8\u624D\u538B\u5F97\u4F4F\u6DF1\u5E95\u3002 */\n --tdt-open-bg:rgba(96,165,250,.18);\n --tdt-open-bg-soft:rgba(96,165,250,.08);\n --tdt-card-hover:rgba(96,165,250,.13);\n /* \u8BED\u4E49\u8272**\u6D45\u5E95**\uFF08\u6DF1\u8272\u7248\uFF09\uFF1A\u7528\u6237\u5ACC\u6DF1\u8272\u7684\u7EFF / \u7EA2\u300C\u6709\u70B9\u6DF1\u300D\u21D2 \u538B\u5230 **5%**\uFF08\u6D45\u8272\u6BB5\u662F 8%\uFF09\uFF0C\n \u66F4\u8D34\u8FD1\u9762\u677F\u5E95\u8272\u3001\u5B58\u5728\u611F\u66F4\u5F31\uFF1B\u5757\u5E95\u4E0E\u72B6\u6001\u8272\u7AD6\u6761\u4ECD\u540C\u6E90\uFF08\u7AD6\u6761\u662F\u5B9E\u8272\uFF0C\u4E0D\u53D7\u8FD9\u6761\u5F71\u54CD\uFF09\u3002 */\n --tdt-success-soft:color-mix(in srgb,var(--tdt-success) 5%,transparent);\n --tdt-warning-soft:color-mix(in srgb,var(--tdt-warning) 5%,transparent);\n --tdt-danger-soft:color-mix(in srgb,var(--tdt-danger) 5%,transparent);\n --tdt-business-soft:color-mix(in srgb,var(--tdt-business) 5%,transparent);\n /* \u300C\u9009\u4E2D\u9762\u300D\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u63BA **~40% \u80CC\u666F\u8272**\uFF08--tdt-surface-base\uFF09\u21D2 \u65E0\u9650\u63A5\u8FD1\u9875\u9762\u80CC\u666F\u7684\u9ED1\u3001\n \u53EA\u6BD4\u80CC\u666F\u7565\u6DF1\u4E00\u70B9\u70B9\uFF08\u7528\u6237\uFF1A\u6DF1\u8272\u4E0B\u5C55\u5F00\u533A\u538B\u7740\u4EFB\u52A1\u900F\u660E\u7EFF\u4F1A\u53D1\u7070\uFF0C\u5E95\u8272\u8981\u5C3D\u91CF\u8D34\u8FD1\u80CC\u666F\u624D\u4E0D\u663E\u7070\uFF09\u3002\n \u26A0\uFE0F \u6DF1\u8272\u4E0B\u4E0D\u80FD\u63BA\u6587\u5B57\u8272 \u2014\u2014 \u90A3\u662F\u767D\uFF0C\u4F1A\u53D8\u4EAE\uFF0C\u9009\u4E2D\u53CD\u800C\u6BD4\u672C\u6708\u65E5\u671F\u6D45\u3002 */\n --tdt-selected-bg:color-mix(in srgb,var(--tdt-surface-1) 60%,var(--tdt-surface-base));\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C\u7684\u9ED8\u8BA4\u5E95\uFF08\u6DF1\u8272\u7248\uFF0C2026-10-06\uFF09\uFF1A\u6DF1\u7684\u3001\u5E26\u70B9\u7070\u84DD\u7684\u6697\u8272\uFF08\u7528\u6237\u7ED9\u7684\u53C2\u8003\u56FE \u2248 #23262e\uFF09\uFF0C\n \u6BD4\u539F\u6765\u7684\u5361\u7247\u9762\u66F4\u6C89\u3001\u66F4\u504F\u84DD\u7070\uFF1B\u9009\u4E2D\u683C\u4ECD\u8D70 --tdt-selected-bg\uFF08\u66F4\u6697\u4E00\u6863\uFF09\uFF0C\u5C42\u7EA7\u4E0D\u53D8\u3002 */\n --tdt-cal-cell-bg:#23262e;\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u672C\u6708\u683C hover \u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06\uFF09\uFF1A\u539F\u5148\u8D70 --tdt-hover\uFF08\u5BBF\u4E3B\u6D45\u8272\u53E0\u52A0\uFF09\u5728\u6DF1\u5E95\u4E0A\u663E\u5F97\n \u300C\u7070\u53D1\u4EAE\u300D\uFF0C\u4E0D\u597D\u770B \u21D2 \u6362\u6210\u66F4\u8D34\u5E95\u7684\u84DD\u8C03\u5FAE\u4EAE\uFF08\u4E0E open-bg-soft \u540C\u65CF\uFF09\uFF0Chover \u65F6\u4E0D\u523A\u773C\u3001\u53C8\u6709\u53CD\u9988\u3002 */\n --tdt-cal-cell-hover:rgba(96,165,250,.12);\n /* \u4EFB\u52A1\u65E5\u7A0B\u9875\u5C55\u5F00\u9762\u677F\u5E95\uFF08\u6DF1\u8272\u6BB5\uFF0C2026-10-06 \u7EED\uFF09\uFF1A\u4E0E\u539F selected-bg \u6697\u503C\u4E00\u81F4\uFF0C\u6DF1\u8272 UI \u4E0D\u52A8 */\n --tdt-cal-panel-bg:color-mix(in srgb,var(--tdt-surface-1) 60%,var(--tdt-surface-base));\n}\n`";
2
2
  //# sourceMappingURL=tokens-css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens-css.d.ts","sourceRoot":"","sources":["../../src/design/tokens-css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,8nvBA2N7B,CAAA"}
1
+ {"version":3,"file":"tokens-css.d.ts","sourceRoot":"","sources":["../../src/design/tokens-css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,s0vBA6N7B,CAAA"}
@@ -130,6 +130,8 @@ body{
130
130
  --tdt-radius-lg:var(--dsw-radius-lg,16px);
131
131
  --tdt-radius-xl:var(--dsw-radius-xl,20px);
132
132
  --tdt-radius-panel:var(--dsw-radius-panel,28px);
133
+ /* 全圆(胶囊标签):宿主的 radius 档最大只有 28px,撑不满 24px 高的 chip */
134
+ --tdt-radius-pill:999px;
133
135
 
134
136
  /* ── 间距四拍(只许用这四档,不许出现 5 / 7 / 9px)────────────────── */
135
137
  --tdt-space-1:4px;
@@ -1 +1 @@
1
- {"version":3,"file":"tokens-css.js","sourceRoot":"","sources":["../../src/design/tokens-css.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,6DAA6D;AAC7D,sBAAsB;AACtB,0DAA0D;AAC1D,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2NhC,CAAA"}
1
+ {"version":3,"file":"tokens-css.js","sourceRoot":"","sources":["../../src/design/tokens-css.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,6DAA6D;AAC7D,sBAAsB;AACtB,0DAA0D;AAC1D,+CAA+C;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6NhC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/explorer/ExplorerPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAuB,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGpD,OAAO,EAA+C,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEjG,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CA2J7E"}
1
+ {"version":3,"file":"ExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/explorer/ExplorerPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAuB,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIpD,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEnE,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CA2J7E"}
@@ -4,7 +4,7 @@ import { EmptyState } from '../ui/EmptyState.js';
4
4
  import { t } from '../utils/i18n.js';
5
5
  import { formatBytes } from '../utils/number.js';
6
6
  import { FilePreview } from './preview/index.js';
7
- import { crumbsOf, joinPath, parentOf } from './types.js';
7
+ import { crumbsOf, joinPath, parentOf } from '../utils/path.js';
8
8
  /**
9
9
  * 工作区浏览面板:面包屑 + 目录树 + 文件预览。
10
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ExplorerPanel.js","sourceRoot":"","sources":["../../src/explorer/ExplorerPanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExplorerPanel.js","sourceRoot":"","sources":["../../src/explorer/ExplorerPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,CAAC,EAAkB,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAiB/D;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,cAAc,EAAE,CAAA;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAA;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC7D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,SAAS,CAAC,KAAK,CAAC,CAAA;QAChB,KAAK,CAAC,cAAc;aACjB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;aAC7C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;YAC5B,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC3B,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,KAAK;gBAAE,OAAM;YAClB,UAAU,CAAC,EAAE,CAAC,CAAA;YACd,SAAS,CAAC,IAAI,CAAC,CAAA;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACJ,OAAO,GAAG,EAAE;YACV,KAAK,GAAG,KAAK,CAAA;QACf,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAE5B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAQ,EAAE;QAClC,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QACtB,MAAM,CAAC,IAAI,CAAC,CAAA;IACd,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,CAChB,KAAK,EACL,EAAE,SAAS,EAAE,qBAAqB,EAAE,EACpC,CAAC,CACC,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAC5E,EAAE,CAAC,cAAc,CAAC,CACnB,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7C,OAAO,CAAC,CACN,MAAM,EACN,EAAE,GAAG,EAAE,IAAI,EAAE,EACb,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,CAAC,EACnD,CAAC,CACC,QAAQ,EACR;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,qBAAqB,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9E,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,EACD,CAAC,CACF,CACF,CAAA;IACH,CAAC,CAAC,EACF,CAAC,CACC,MAAM,EACN,EAAE,SAAS,EAAE,oBAAoB,EAAE,EACnC,CAAC,CACC,QAAQ,EACR;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,GAAG,KAAK,EAAE;QACpB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KACnC,EACD,EAAE,CAAC,YAAY,CAAC,CACjB,EACD,CAAC,CACC,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EACvF,EAAE,CAAC,iBAAiB,CAAC,CACtB,CACF,CACF,CAAA;IAED,MAAM,IAAI,GACR,OAAO;QACL,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC9D,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACpB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBACzF,CAAC,CAAC,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAClC,CAAC,GAAG,OAAO,CAAC;qBACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACb,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;wBAAE,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC7D,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACrC,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;oBAClC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAA;oBACpC,OAAO,CAAC,CACN,KAAK,EACL;wBACE,GAAG,EAAE,IAAI;wBACT,SAAS,EAAE,oBAAoB,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE;wBACtF,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,KAAK;gCAAE,IAAI,CAAC,IAAI,CAAC,CAAA;iCAChB,CAAC;gCACJ,WAAW,CAAC,IAAI,CAAC,CAAA;gCACjB,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;gCACtB,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;4BAC1B,CAAC;wBACH,CAAC;qBACF,EACD,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAChE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EACrD,CAAC,CAAC,IAAI,KAAK,SAAS;wBAClB,CAAC,CAAC,IAAI;wBACN,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACvE,CAAA;gBACH,CAAC,CAAC,EACJ,SAAS;oBACP,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;oBACvE,CAAC,CAAC,IAAI,CACT,CAAA;IAEX,OAAO,CAAC,CACN,KAAK,EACL,EAAE,SAAS,EAAE,aAAa,EAAE,EAC5B,QAAQ,EACR,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAClC,IAAI,EACJ,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,sBAAsB,EAAE,EACrC,QAAQ,KAAK,IAAI;QACf,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACb,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE;SACd,CAAC,CACP,CACF,CACF,CAAA;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { ExplorerPanel, type ExplorerPanelProps } from './ExplorerPanel.js';
2
- export { crumbsOf, extOf, joinPath, mimeOf, parentOf, previewKindOf, type DirEntry, type Listing, type PreviewKind, type WorkspaceFilesFace, } from './types.js';
2
+ export { previewKindOf, type DirEntry, type Listing, type PreviewKind, type WorkspaceFilesFace, } from './types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export { ExplorerPanel } from './ExplorerPanel.js';
2
- export { crumbsOf, extOf, joinPath, mimeOf, parentOf, previewKindOf, } from './types.js';
2
+ export { previewKindOf, } from './types.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,aAAa,GAKd,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explorer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EACL,aAAa,GAKd,MAAM,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAuB,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAsDzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAuB,MAAM,OAAO,CAAA;AAG/D,OAAO,EAAK,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,kBAAkB,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,qCAAqC;AACrC,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAsDzE"}
@@ -2,7 +2,8 @@ import { createElement as h, useEffect, useState } from 'react';
2
2
  import { ensureControls } from '../../ui/css.js';
3
3
  import { EmptyState } from '../../ui/EmptyState.js';
4
4
  import { t } from '../../utils/i18n.js';
5
- import { mimeOf, previewKindOf } from '../types.js';
5
+ import { mimeOf } from '../../utils/path.js';
6
+ import { previewKindOf } from '../types.js';
6
7
  /** 单文件预览:文本 / 图片 / 不支持(明确兜底,不硬撑)。 */
7
8
  export function FilePreview(props) {
8
9
  ensureControls();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/explorer/preview/index.ts"],"names":[],"mappings":"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"}
@@ -53,14 +53,6 @@ export interface Listing {
53
53
  }
54
54
  /** 预览类型(决定用哪个预览体)。 */
55
55
  export type PreviewKind = 'text' | 'image' | 'unsupported';
56
- export declare function mimeOf(path: string): string | undefined;
57
- export declare function extOf(path: string): string;
58
56
  /** 按扩展名猜预览类型;猜不出就 `unsupported`(不硬撑,交给调用方决定兜底)。 */
59
57
  export declare function previewKindOf(path: string): PreviewKind;
60
- /** 路径分段(面包屑用):`a/b/c` ⇒ `['a','b','c']`;空串 = 工作区根。 */
61
- export declare function crumbsOf(path: string): string[];
62
- /** 父目录(无父 = 空串,list('') = 工作区根)。 */
63
- export declare function parentOf(path: string): string;
64
- /** 拼接子路径,避免多余斜杠。 */
65
- export declare function joinPath(dir: string, name: string): string;
66
58
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/explorer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/explorer/types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,OAAO,CAAA;QACZ,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACzB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,0CAA0C;IAC1C,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EACzD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9E,wCAAwC;IACxC,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,aAAa,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAC7F,SAAS,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IACF,6CAA6C;IAC7C,IAAI,CAAC,CACH,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAChF;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,sBAAsB;AACtB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,CAAA;AAE1D,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAUvD"}
@@ -2,25 +2,7 @@
2
2
  //
3
3
  // 为什么不直接用 `ctx`:ctx 是宿主给的整个大对象,传进来就把本包和宿主版本焊死了。
4
4
  // 插件从 ctx 里取出这一小块传给我们,宿主 breaking 时改的是插件「取出」的一行(需求文档 §5.5)。
5
- const IMAGE_EXT = {
6
- png: 'image/png',
7
- jpg: 'image/jpeg',
8
- jpeg: 'image/jpeg',
9
- gif: 'image/gif',
10
- webp: 'image/webp',
11
- bmp: 'image/bmp',
12
- svg: 'image/svg+xml',
13
- ico: 'image/x-icon',
14
- };
15
- export function mimeOf(path) {
16
- const ext = extOf(path);
17
- return ext === '' ? undefined : IMAGE_EXT[ext];
18
- }
19
- export function extOf(path) {
20
- const name = path.slice(path.lastIndexOf('/') + 1);
21
- const dot = name.lastIndexOf('.');
22
- return dot <= 0 ? '' : name.slice(dot + 1).toLowerCase();
23
- }
5
+ import { extOf, mimeOf } from '../utils/path.js';
24
6
  /** 按扩展名猜预览类型;猜不出就 `unsupported`(不硬撑,交给调用方决定兜底)。 */
25
7
  export function previewKindOf(path) {
26
8
  if (mimeOf(path) !== undefined)
@@ -35,17 +17,4 @@ export function previewKindOf(path) {
35
17
  ]);
36
18
  return textLike.has(ext) ? 'text' : 'unsupported';
37
19
  }
38
- /** 路径分段(面包屑用):`a/b/c` ⇒ `['a','b','c']`;空串 = 工作区根。 */
39
- export function crumbsOf(path) {
40
- return path.split('/').filter((s) => s !== '');
41
- }
42
- /** 父目录(无父 = 空串,list('') = 工作区根)。 */
43
- export function parentOf(path) {
44
- const cut = path.lastIndexOf('/');
45
- return cut < 0 ? '' : path.slice(0, cut);
46
- }
47
- /** 拼接子路径,避免多余斜杠。 */
48
- export function joinPath(dir, name) {
49
- return dir === '' ? name : `${dir}/${name}`;
50
- }
51
20
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/explorer/types.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,gDAAgD;AAChD,4DAA4D;AA0D5D,MAAM,SAAS,GAA2B;IACxC,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,cAAc;CACpB,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AAC1D,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,MAAM,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;QAC3E,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK;QACjF,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;KAC1C,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAA;AACnD,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAY;IAChD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAC7C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/explorer/types.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,gDAAgD;AAChD,4DAA4D;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AA0DhD,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IACvB,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,MAAM,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;QAC3E,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK;QACjF,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;KAC1C,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAA;AACnD,CAAC"}
package/dist/ui/Modal.js CHANGED
@@ -37,7 +37,7 @@ export function Modal(props) {
37
37
  ? null
38
38
  : h('button', {
39
39
  type: 'button',
40
- className: 'dsh-tdt-picker__trigger',
40
+ className: 'dsh-tdt-modal__close',
41
41
  'aria-label': tt('modalClose'),
42
42
  onClick: () => props.onClose?.(),
43
43
  }, '✕')), h('div', { className: 'dsh-tdt-modal__body' }, props.children ?? null), props.footer === undefined ? null : h('div', { className: 'dsh-tdt-modal__foot' }, props.footer)));
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/ui/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,CAAC,EAAkB,MAAM,kBAAkB,CAAA;AAmBpD;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,cAAc,EAAE,CAAA;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,KAAK,CAAA;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAA;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAM;QACpD,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACvC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;QAC3C,CAAC,CAAA;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAE7B,OAAO,CAAC,CACN,KAAK,EACL;QACE,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,WAAW;gBAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;QACpC,CAAC;KACF,EACD,CAAC,CACC,KAAK,EACL;QACE,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;QAC9E,OAAO,EAAE,CAAC,CAAkC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;KACrE,EACD,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QACrF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,qBAAqB,EAAE,EACpC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAClE,KAAK,CAAC,OAAO,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CACC,QAAQ,EACR;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,yBAAyB;gBACpC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC;gBAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;aACjC,EACD,GAAG,CACJ,CACN,EACL,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,EACtE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CACjG,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/ui/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,CAAC,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,CAAC,EAAkB,MAAM,kBAAkB,CAAA;AAmBpD;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,cAAc,EAAE,CAAA;IAChB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAA;IAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,KAAK,KAAK,CAAA;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAA;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAM;QACpD,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAQ,EAAE;YACvC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;QAC3C,CAAC,CAAA;QACD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;IAE7B,OAAO,CAAC,CACN,KAAK,EACL;QACE,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,WAAW;gBAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;QACpC,CAAC;KACF,EACD,CAAC,CACC,KAAK,EACL;QACE,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;QAC9E,OAAO,EAAE,CAAC,CAAkC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;KACrE,EACD,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QACrF,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,KAAK,EACL,EAAE,SAAS,EAAE,qBAAqB,EAAE,EACpC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAClE,KAAK,CAAC,OAAO,KAAK,SAAS;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CACC,QAAQ,EACR;gBACE,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,sBAAsB;gBACjC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC;gBAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;aACjC,EACD,GAAG,CACJ,CACN,EACL,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,EACtE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CACjG,CACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAKvD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBvG"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;AAKvD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,YAAY,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcvG"}
package/dist/ui/Toast.js CHANGED
@@ -17,14 +17,12 @@ export function showToast(message, opts) {
17
17
  el.className = `dsh-tdt-toast${variant === 'info' ? '' : ` dsh-tdt-toast--${variant}`}`;
18
18
  el.textContent = message;
19
19
  host.appendChild(el);
20
- const timer = setTimeout(() => {
20
+ setTimeout(() => {
21
21
  el.remove();
22
22
  // 容器空了就撤掉,别在页面上留一个空壳
23
23
  if (host.childElementCount === 0)
24
24
  host.remove();
25
25
  }, opts?.durationMs ?? DEFAULT_MS);
26
- // 被提前移除时清掉定时器(避免泄漏)
27
- el.addEventListener('remove', () => clearTimeout(timer));
28
26
  }
29
27
  function ensureHost() {
30
28
  const found = document.getElementById(HOST_ID);
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAIzC,MAAM,OAAO,GAAG,oBAAoB,CAAA;AACpC,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,IAAsD;IAC/F,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,cAAc,EAAE,CAAA;IAChB,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACxC,EAAE,CAAC,SAAS,GAAG,gBAAgB,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,EAAE,CAAA;IACvF,EAAE,CAAC,WAAW,GAAG,OAAO,CAAA;IACxB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,EAAE,CAAC,MAAM,EAAE,CAAA;QACX,qBAAqB;QACrB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACjD,CAAC,EAAE,IAAI,EAAE,UAAU,IAAI,UAAU,CAAC,CAAA;IAClC,oBAAoB;IACpB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAoB,CAAA;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAA;IACjB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAIzC,MAAM,OAAO,GAAG,oBAAoB,CAAA;AACpC,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,IAAsD;IAC/F,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,cAAc,EAAE,CAAA;IAChB,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM,CAAA;IACvC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IACxC,EAAE,CAAC,SAAS,GAAG,gBAAgB,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,EAAE,CAAA;IACvF,EAAE,CAAC,WAAW,GAAG,OAAO,CAAA;IACxB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACpB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,MAAM,EAAE,CAAA;QACX,qBAAqB;QACrB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IACjD,CAAC,EAAE,IAAI,EAAE,UAAU,IAAI,UAAU,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IAC9C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAoB,CAAA;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,CAAC,EAAE,GAAG,OAAO,CAAA;IACjB,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAA;IACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export declare const CARD_CSS = "\n.dsh-tdt-card{\n position:relative;padding:12px 14px;background:var(--tdt-surface-1);\n --card-accent:var(--tdt-business);\n}\n/* \u6863\u4F4D \u2192 token\uFF08\u7167 records-timeline \u7684 tone \u6A21\u5F0F\uFF1A\u4E00\u4E2A\u53D8\u91CF\u5207\u6863\uFF0C\u4E0D\u5199 5 \u5957\u89C4\u5219\uFF09\u3002 */\n.dsh-tdt-card--success{--card-accent:var(--tdt-success)}\n.dsh-tdt-card--warning{--card-accent:var(--tdt-warning)}\n.dsh-tdt-card--danger{--card-accent:var(--tdt-danger)}\n.dsh-tdt-card--neutral{--card-accent:var(--tdt-fg-4)}\n\n/* \u5916\u89C2\u4E00\uFF1A\u5706\u89D2 + 1px \u8FB9\u6846\uFF0C\u8272\u6761\u4E0A\u4E0B\u7559\u8DDD\uFF08\u77ED\u6761\uFF09\u3002 */\n.dsh-tdt-card--bordered{border-radius:8px;border:1px solid var(--tdt-border)}\n.dsh-tdt-card--bordered .dsh-tdt-card__bar{top:8px;bottom:8px;border-radius:2px}\n\n/* \u5916\u89C2\u4E8C\uFF1A\u65E0\u5706\u89D2\u65E0\u8FB9\u6846\uFF0C\u8272\u6761\u901A\u9AD8\u3002 */\n.dsh-tdt-card--strip{border-radius:0;border:none}\n.dsh-tdt-card--strip .dsh-tdt-card__bar{top:0;bottom:0;border-radius:0}\n\n/* \u8272\u6761\uFF1A\u7EDD\u5BF9\u5B9A\u4F4D + top/bottom \u21D2 \u8DDF\u7740\u5185\u5BB9\u9AD8\u5EA6\u81EA\u9002\u5E94\uFF1B\u4E0A\u4E0B\u662F\u5426\u7559\u8DDD\u7531\u5916\u89C2\u51B3\u5B9A\u3002 */\n.dsh-tdt-card__bar{position:absolute;left:0;width:3px;background:var(--card-accent)}\n\n.dsh-tdt-card__head{display:flex;align-items:flex-start;gap:8px;min-width:0}\n.dsh-tdt-card__main{flex:1;min-width:0}\n.dsh-tdt-card__side{display:flex;align-items:center;gap:6px;flex:none}\n.dsh-tdt-card__toggle{\n display:inline-flex;align-items:center;justify-content:center;\n width:24px;height:24px;padding:0;background:none;border:none;border-radius:6px;\n color:var(--tdt-fg-3);cursor:pointer;\n}\n.dsh-tdt-card__toggle:hover{background:var(--tdt-surface-sunken);color:var(--tdt-fg)}\n.dsh-tdt-card__caret{display:inline-block;font-size:10px;transition:transform .15s ease}\n.dsh-tdt-card__caret.is-open{transform:rotate(180deg)}\n.dsh-tdt-card__panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--tdt-border-faint)}\n";
2
- export declare const CHIP_CSS = "\n.dsh-tdt-chip{\n display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;\n background:var(--tdt-chip-bg);color:var(--tdt-fg);font-size:11px;line-height:18px;\n /* 2026-10-18\uFF1Achip \u662F flex \u884C\u91CC\u7684\u5E38\u7528\u9879\uFF0C\u7981\u6B62\u88AB\u538B\u7F29\u6362\u884C\uFF08\u9884\u89C8\u7AD9\u51FA\u73B0\u8FC7\u6587\u5B57\u7AD6\u6392\u3001\u4E92\u76F8\u53E0\u538B\u7684\u6324\u538B\uFF09\u3002 */\n white-space:nowrap;flex:none;box-sizing:border-box;\n}\n.dsh-tdt-chip--clickable{cursor:pointer;border:none;font:inherit;font-size:11px}\n.dsh-tdt-chip--clickable:hover{background:var(--tdt-chip-bg-hover)}\n";
3
2
  //# sourceMappingURL=card-css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-css.d.ts","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,wjEAkCpB,CAAA;AAED,eAAO,MAAM,QAAQ,kpBASpB,CAAA"}
1
+ {"version":3,"file":"card-css.d.ts","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,wjEAkCpB,CAAA"}
@@ -1,5 +1,5 @@
1
- // Card / StripCard / Chip 样式。
2
- // 类名固定 dsh-tdt-card* / dsh-tdt-chip*(与组件硬编码 className 对齐,见 css.ts 的 buildCss);
1
+ // Card / StripCard 样式(Chip 已独立到 chip-css.ts,勿再往这里加 chip 规则)。
2
+ // 类名固定 dsh-tdt-card*(与组件硬编码 className 对齐,见 css.ts 的 buildCss);
3
3
  // 颜色一律吃 token,深色由 design 的 token 深色段自动生效(不写死颜色值)。
4
4
  export const CARD_CSS = `
5
5
  .dsh-tdt-card{
@@ -36,14 +36,4 @@ export const CARD_CSS = `
36
36
  .dsh-tdt-card__caret.is-open{transform:rotate(180deg)}
37
37
  .dsh-tdt-card__panel{margin-top:8px;padding-top:8px;border-top:1px solid var(--tdt-border-faint)}
38
38
  `;
39
- export const CHIP_CSS = `
40
- .dsh-tdt-chip{
41
- display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;
42
- background:var(--tdt-chip-bg);color:var(--tdt-fg);font-size:11px;line-height:18px;
43
- /* 2026-10-18:chip 是 flex 行里的常用项,禁止被压缩换行(预览站出现过文字竖排、互相叠压的挤压)。 */
44
- white-space:nowrap;flex:none;box-sizing:border-box;
45
- }
46
- .dsh-tdt-chip--clickable{cursor:pointer;border:none;font:inherit;font-size:11px}
47
- .dsh-tdt-chip--clickable:hover{background:var(--tdt-chip-bg-hover)}
48
- `;
49
39
  //# sourceMappingURL=card-css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"card-css.js","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,+EAA+E;AAC/E,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvB,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;CASvB,CAAA"}
1
+ {"version":3,"file":"card-css.js","sourceRoot":"","sources":["../../src/ui/card-css.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,+DAA+D;AAC/D,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCvB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const CHIP_CSS = "\n.dsh-tdt-chip{\n display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;\n box-sizing:border-box;border-radius:var(--tdt-radius-pill,999px);border:none;\n background:var(--tdt-chip-bg);color:var(--tdt-fg);\n font-family:inherit;font-size:11px;line-height:18px;margin:0;\n /* 2026-10-18\uFF1Achip \u662F flex \u884C\u91CC\u7684\u5E38\u7528\u9879\uFF0C\u7981\u6B62\u88AB\u538B\u7F29\u6362\u884C\uFF08\u9884\u89C8\u7AD9\u51FA\u73B0\u8FC7\u6587\u5B57\u7AD6\u6392\u3001\u4E92\u76F8\u53E0\u538B\u7684\u6324\u538B\uFF09\u3002 */\n white-space:nowrap;flex:none;\n appearance:none;-webkit-appearance:none;\n}\n/* \u53EF\u70B9\u6001\uFF1Abutton \u6E32\u67D3\uFF08\u89C1 Chip.ts\uFF09\uFF0C\u5149\u6807 + hover \u52A0\u6DF1\u3002 */\n.dsh-tdt-chip--clickable{cursor:pointer;transition:background-color var(--tdt-dur-fast) var(--tdt-ease);}\n.dsh-tdt-chip--clickable:hover:not(:disabled){background:var(--tdt-chip-bg-hover)}\n.dsh-tdt-chip:focus-visible{outline:2px solid var(--tdt-focus);outline-offset:1px}\n.dsh-tdt-chip:disabled{cursor:default;color:var(--tdt-fg-3)}\n@media (prefers-reduced-motion: reduce){.dsh-tdt-chip{transition:none}}\n";
2
+ //# sourceMappingURL=chip-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip-css.d.ts","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ,0pCAgBpB,CAAA"}
@@ -0,0 +1,28 @@
1
+ // Chip(标签)样式 —— **chip 只有「胶囊标签」这一个语义**。
2
+ //
3
+ // 语义边界(2026-10-19 收敛):只给图标的小按钮属于 `IconButton`
4
+ // (`.dsh-tdt-iconbtn`,见 controls-css);此前 `.dsh-tdt-chip` 在 controls-css 里
5
+ // 被定义成 28×28 方角图标底板、在 card-css 里被定义成胶囊标签,两份皮肤同页注入
6
+ // ⇒ 后者覆盖前者:Chip 组件被锁成 28px 宽(文字挤压)、图标按钮被撑成胶囊。
7
+ // 现在只保留这一份。
8
+ //
9
+ // 类名固定 `dsh-tdt-chip*`(与 Chip.ts 硬编码 className 对齐,见 css.ts 的 buildCss);
10
+ // 颜色一律吃 token,深色由 design 的 token 深色段自动生效。
11
+ export const CHIP_CSS = `
12
+ .dsh-tdt-chip{
13
+ display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:1px 8px;
14
+ box-sizing:border-box;border-radius:var(--tdt-radius-pill,999px);border:none;
15
+ background:var(--tdt-chip-bg);color:var(--tdt-fg);
16
+ font-family:inherit;font-size:11px;line-height:18px;margin:0;
17
+ /* 2026-10-18:chip 是 flex 行里的常用项,禁止被压缩换行(预览站出现过文字竖排、互相叠压的挤压)。 */
18
+ white-space:nowrap;flex:none;
19
+ appearance:none;-webkit-appearance:none;
20
+ }
21
+ /* 可点态:button 渲染(见 Chip.ts),光标 + hover 加深。 */
22
+ .dsh-tdt-chip--clickable{cursor:pointer;transition:background-color var(--tdt-dur-fast) var(--tdt-ease);}
23
+ .dsh-tdt-chip--clickable:hover:not(:disabled){background:var(--tdt-chip-bg-hover)}
24
+ .dsh-tdt-chip:focus-visible{outline:2px solid var(--tdt-focus);outline-offset:1px}
25
+ .dsh-tdt-chip:disabled{cursor:default;color:var(--tdt-fg-3)}
26
+ @media (prefers-reduced-motion: reduce){.dsh-tdt-chip{transition:none}}
27
+ `;
28
+ //# sourceMappingURL=chip-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip-css.js","sourceRoot":"","sources":["../../src/ui/chip-css.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,8CAA8C;AAC9C,0EAA0E;AAC1E,kDAAkD;AAClD,8CAA8C;AAC9C,YAAY;AACZ,EAAE;AACF,wEAAwE;AACxE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;CAgBvB,CAAA"}