zdashboard 2.3.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/web/assets/FileIcon-CeMvyYN_.js +110 -0
- package/dist/web/assets/{FilterPills-CT9_aiMo.js → FilterPills-CkgNlhxd.js} +1 -1
- package/dist/web/assets/{MdViewer-C-qU08GL.js → MdViewer-BVog1Mmf.js} +1 -1
- package/dist/web/assets/{ProgressBar-CyYoGfrt.js → ProgressBar-Cmd6BS-8.js} +1 -1
- package/dist/web/assets/{Workspace-CqK1Sdtv.js → Workspace-DfmiOTyP.js} +2 -2
- package/dist/web/assets/badge-LEpB1yPS.js +1 -0
- package/dist/web/assets/{book-open-DgUv7g0V.js → book-open-C6mI7nw7.js} +1 -1
- package/dist/web/assets/{file-text-AM0snHQm.js → file-text-BN7zorT8.js} +1 -1
- package/dist/web/assets/{index-BF1XYOKG.js → index-CxJJYhye.js} +1 -1
- package/dist/web/assets/index-D0Ytqw4l.js +161 -0
- package/dist/web/assets/index-Dr1HVqud.css +1 -0
- package/dist/web/assets/vt323-latin-400-normal-Dqn9ZSPj.woff +0 -0
- package/dist/web/assets/vt323-latin-400-normal-wDgJuOC9.woff2 +0 -0
- package/dist/web/assets/web-BUcxZ3zM.js +2 -0
- package/dist/web/assets/{web-WH-i-efe.js → web-BtGB7yoQ.js} +1 -1
- package/dist/web/assets/web-D50pz6K1.js +16 -0
- package/dist/web/assets/web-DVlfapY3.js +21 -0
- package/dist/web/assets/web-DezLgOmZ.js +25 -0
- package/dist/web/assets/web-DwE0xwTq.js +26 -0
- package/dist/web/assets/web-sOdesjte.js +7 -0
- package/dist/web/index.html +2 -2
- package/package.json +4 -1
- package/dist/web/assets/FileIcon-CA7j6xAr.js +0 -50
- package/dist/web/assets/badge-CsNeQaUt.js +0 -1
- package/dist/web/assets/index-C9nEYrn8.css +0 -1
- package/dist/web/assets/index-Dcz2Myaf.js +0 -111
- package/dist/web/assets/web-4IVEiPQ7.js +0 -36
- package/dist/web/assets/web-4pvyVYqE.js +0 -31
- package/dist/web/assets/web-B8iKfUHX.js +0 -2
- package/dist/web/assets/web-BOZwX-p2.js +0 -56
- package/dist/web/assets/web-CPCrz28U.js +0 -25
- package/dist/web/assets/web-DJnenbT2.js +0 -7
package/README.md
CHANGED
|
@@ -248,6 +248,21 @@ node dist/cli.js --dir <项目根> --port 4190 --plugins ./my-plugins
|
|
|
248
248
|
- **构建**:tsup(CLI) + Vite(SPA)
|
|
249
249
|
- **包管理**:pnpm
|
|
250
250
|
|
|
251
|
+
## 主题系统
|
|
252
|
+
|
|
253
|
+
### 添加主题 SOP
|
|
254
|
+
|
|
255
|
+
1. 新建 `src/web/themes/<id>.css`,仅覆盖语义色变量(`--background/--foreground/--card/--popover/--primary/--secondary/--muted/--accent/--destructive/--border/--input/--ring` 等),**不覆盖圆角/阴影变量**(mode 正交性:`[data-theme="..."][data-mode="dark"]` 组合由机制层处理)
|
|
256
|
+
2. 在 `src/web/lib/themes.ts` 的 `STYLES` 数组加一条:`{ id: '<id>', label: '<名>', swatch: ['#色1', '#色2', '#色3', '#色4'] }`
|
|
257
|
+
3. 在 `src/web/globals.css` 顶部 `@import` 块加一行:`@import './themes/<id>.css';`
|
|
258
|
+
|
|
259
|
+
**约束清单**
|
|
260
|
+
- mode(dark/light)正交,不进主题定义,由 CSS 组合选择器自然派生
|
|
261
|
+
- 语义色必须走 CSS 变量令牌(`hsl(var(--xxx))`),不硬编码色值到组件
|
|
262
|
+
- 装饰色(图标、插画、背景纹理)豁免令牌,可在主题文件中直接写值
|
|
263
|
+
- `font-mono` 覆盖点:`--font-mono` 令牌,主题文件可覆盖,组件用 `font-mono` class
|
|
264
|
+
- 主题切换选择器:`data-theme`,localStorage key `zd-theme`,legacy `zdashboard-theme` 已迁移
|
|
265
|
+
|
|
251
266
|
## 数据约定
|
|
252
267
|
|
|
253
268
|
### .zdev/ 数据目录
|
package/dist/cli.js
CHANGED
|
@@ -167,7 +167,7 @@ import { fileURLToPath } from "url";
|
|
|
167
167
|
// package.json
|
|
168
168
|
var package_default = {
|
|
169
169
|
name: "zdashboard",
|
|
170
|
-
version: "2.
|
|
170
|
+
version: "2.5.0",
|
|
171
171
|
description: "ZCode skill dashboard platform \u2014 pluggable viewers for zdesign/zview/zreview/zgoal",
|
|
172
172
|
type: "module",
|
|
173
173
|
bin: {
|
|
@@ -188,6 +188,8 @@ var package_default = {
|
|
|
188
188
|
preview: "vite preview"
|
|
189
189
|
},
|
|
190
190
|
dependencies: {
|
|
191
|
+
"@fontsource/vt323": "^5.3.0",
|
|
192
|
+
"@radix-ui/react-dropdown-menu": "^2.1.24",
|
|
191
193
|
"@radix-ui/react-scroll-area": "^1.2.0",
|
|
192
194
|
"@radix-ui/react-separator": "^1.1.0",
|
|
193
195
|
"@radix-ui/react-slot": "^1.1.0",
|
|
@@ -205,6 +207,7 @@ var package_default = {
|
|
|
205
207
|
ky: "^1.7.0",
|
|
206
208
|
"lodash-es": "^4.17.21",
|
|
207
209
|
"lucide-react": "^0.460.0",
|
|
210
|
+
pixelarticons: "^2.4.1",
|
|
208
211
|
react: "^18.3.1",
|
|
209
212
|
"react-dom": "^18.3.1",
|
|
210
213
|
"react-error-boundary": "^5.0.0",
|
|
@@ -1530,11 +1533,11 @@ function categorize(rel, ext) {
|
|
|
1530
1533
|
if (TOKEN_RE.test(rel) && (ext === ".css" || ext === ".json")) return "token";
|
|
1531
1534
|
return null;
|
|
1532
1535
|
}
|
|
1533
|
-
return
|
|
1536
|
+
return null;
|
|
1534
1537
|
}
|
|
1535
1538
|
function scanAssets(root) {
|
|
1536
1539
|
const out = {};
|
|
1537
|
-
const keys = ["page", "component", "icon", "token", "md", "video", "audio", "pdf", "font"
|
|
1540
|
+
const keys = ["page", "component", "icon", "token", "md", "video", "audio", "pdf", "font"];
|
|
1538
1541
|
for (const k of keys) out[k] = [];
|
|
1539
1542
|
const SKIP = /* @__PURE__ */ new Set(["node_modules", ".git", "dist", "build", "coverage", ".next", ".cache"]);
|
|
1540
1543
|
walkDir(root, { skip: SKIP, onFile: (abs, rel) => {
|