@jzg223/design-runtime 0.0.1 → 0.1.0-rc.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 (54) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +52 -0
  3. package/dist/board/api.js +57 -0
  4. package/dist/board/board-chart.vue.js +7 -0
  5. package/dist/board/board-chart2.vue.js +93 -0
  6. package/dist/board/context.js +15 -0
  7. package/dist/board/datav-map.js +66 -0
  8. package/dist/board/design-board.vue.js +172 -0
  9. package/dist/board/design-board2.vue.js +331 -0
  10. package/dist/board/echarts.js +40 -0
  11. package/dist/board/part-node.vue.js +63 -0
  12. package/dist/board/part-node2.vue.js +125 -0
  13. package/dist/board/part-renderer.vue.js +561 -0
  14. package/dist/board/part-renderer2.vue.js +884 -0
  15. package/dist/board/theme-host.js +129 -0
  16. package/dist/board-engine/asset.js +32 -0
  17. package/dist/board-engine/chart-option.js +377 -0
  18. package/dist/board-engine/data-hub.js +67 -0
  19. package/dist/board-engine/datav-meta.js +51 -0
  20. package/dist/board-engine/i18n.js +130 -0
  21. package/dist/board-engine/param-catalog.js +137 -0
  22. package/dist/board-engine/params.js +61 -0
  23. package/dist/board-engine/render-model.js +65 -0
  24. package/dist/board-engine/schema.js +856 -0
  25. package/dist/board-engine/theme-manifest.js +19 -0
  26. package/dist/board-engine/version.js +4 -0
  27. package/dist/host.js +6 -1
  28. package/dist/index.js +172 -24
  29. package/dist/style.css +1067 -0
  30. package/dist/types/board/api.d.ts +45 -0
  31. package/dist/types/board/board-chart.vue.d.ts +15 -0
  32. package/dist/types/board/context.d.ts +29 -0
  33. package/dist/types/board/datav-map.d.ts +24 -0
  34. package/dist/types/board/design-board.vue.d.ts +1409 -0
  35. package/dist/types/board/echarts.d.ts +25 -0
  36. package/dist/types/board/part-node.vue.d.ts +1237 -0
  37. package/dist/types/board/part-renderer.vue.d.ts +1205 -0
  38. package/dist/types/board/theme-host.d.ts +41 -0
  39. package/dist/types/board-engine/asset.d.ts +37 -0
  40. package/dist/types/board-engine/chart-option.d.ts +737 -0
  41. package/dist/types/board-engine/data-hub.d.ts +48 -0
  42. package/dist/types/board-engine/datav-meta.d.ts +37 -0
  43. package/dist/types/board-engine/i18n.d.ts +43 -0
  44. package/dist/types/board-engine/index.d.ts +25 -0
  45. package/dist/types/board-engine/param-catalog.d.ts +82 -0
  46. package/dist/types/board-engine/params.d.ts +37 -0
  47. package/dist/types/board-engine/render-model.d.ts +87 -0
  48. package/dist/types/board-engine/schema.d.ts +513 -0
  49. package/dist/types/board-engine/theme-manifest.d.ts +23 -0
  50. package/dist/types/board-engine/types.d.ts +147 -0
  51. package/dist/types/board-engine/version.d.ts +10 -0
  52. package/dist/types/host.d.ts +21 -0
  53. package/dist/types/index.d.ts +21 -2
  54. package/package.json +21 -4
@@ -0,0 +1,41 @@
1
+ /**
2
+ * 看板主题的**宿主侧**(DOM 相关,所以不在引擎里)
3
+ *
4
+ * 分工(见方案文档 §3 与 `board-engine/theme-manifest.ts`):
5
+ * - 引擎只做纯解析与令牌登记(`parseManifest` / `setThemeTokens` / `themeOf`);
6
+ * - 本文件负责"把主题 CSS 弄进页面、再把它里面的那几个值读出来交给引擎"。
7
+ *
8
+ * 为什么主题是**外部 CSS 文件**而不是库里的样式:
9
+ * 47 套主题共 651 KB,且发布后要能替换/新增(运维丢个 css 进去就换主题)。
10
+ * 所以库里只留兜底(`theme-fallback`)+ 3 套内置,其余从 `themeBaseUrl` 按需取。
11
+ *
12
+ * 为什么要**读计算样式**:ECharts 的调色板是 JS 参数,CSS 给不了。
13
+ * 不读的话"文件主题"就换得了壳、换不了图(图表还是内置色)。
14
+ */
15
+ import { type BoardThemeEntry } from '../board-engine';
16
+ /** 缺省主题目录(宿主没注入时的同源约定) */
17
+ export declare const DEFAULT_THEME_BASE = "/board/theme/";
18
+ /**
19
+ * 主题目录(优先级:宿主注入 > design-ui 的 `window._CONFIG` 口径 > 同源缺省)。
20
+ * 第二条只为"同一份代码将来在设计端也跑"准备,不要在本库里新增对 `_CONFIG` 的依赖。
21
+ */
22
+ export declare function themeBaseUrl(): string;
23
+ /**
24
+ * 从 CSS 里读 JS 需要的那几个令牌。
25
+ * 做法:临时插一个带 `data-board-theme="code"` 的探针元素读计算样式,读完立刻删
26
+ * (样式表本身已经由 `<link>` 加载好,所以这里是**同步**的、没有网络等待)。
27
+ */
28
+ export declare function readThemeTokens(code: string): Record<string, any> | null;
29
+ /** 读取并登记某主题的令牌(幂等),返回合并后的主题对象 */
30
+ export declare function ensureTheme(code?: string | null): Record<string, any>;
31
+ /**
32
+ * 按需加载主题 CSS(几十套主题全量静态加载就是白下几百 KB)。
33
+ *
34
+ * 已插过(含入口里静态加载的)直接可用;否则插 `<link>` 等 load,**3s 超时也 resolve** ——
35
+ * 应用自带 `:root` 级兜底变量,界面不会崩,只是观感回落内置主题。
36
+ */
37
+ export declare function ensureThemeCss(code?: string | null): Promise<boolean>;
38
+ /** 读主题清单(只给设计器的下拉用;运行端不需要,失败返回空清单、不抛) */
39
+ export declare function loadManifest(): Promise<BoardThemeEntry[]>;
40
+ /** 测试/调试用:清缓存 */
41
+ export declare function resetThemeFileCache(): void;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 素材引用(`asset:` 前缀)—— 让看板配置里的图片/视频「换部署环境不用改配置」。
3
+ *
4
+ * 【为什么不在配置里直接存完整 URL】
5
+ * 看板配置要能导出/导入/复制到别的项目。如果存的是
6
+ * `http://120.70.96.85/server/design/board/asset/file?path=202609/ab.png`,
7
+ * 换域名、换上下文、换成 https 之后那份配置里的每一个图片部件都会坏掉。
8
+ * 所以配置里只存**与部署无关的引用**:
9
+ *
10
+ * asset:202609/ab12cd34.png ← 素材模块自己的(相对 storage 根)
11
+ * http://x.y/logo.png ← 外部地址,原样使用
12
+ * /static/img/logo.png ← 站点内绝对路径,原样使用
13
+ * data:image/png;base64,... ← 内联图片,原样使用
14
+ *
15
+ * 渲染时再用 {@link assetUrl} 拼成当前部署下的真实地址 ⇒ 同一份配置在任何环境都能显示。
16
+ *
17
+ * ⚠ 本文件**不读任何全局**(`window._CONFIG` 那套是 design-ui 的口径):
18
+ * base 由调用方传(运行端从 `installDesignPlatform({ board: { assetBaseUrl } })` 取),
19
+ * 这样引擎才能在设计端、运行端、node 测试里跑出同一结果。
20
+ */
21
+ export declare const ASSET_PREFIX = "asset:";
22
+ /** 是不是本模块的素材引用 */
23
+ export declare function isAssetRef(v: unknown): boolean;
24
+ /** 素材相对路径(不是 asset: 引用则返回空串) */
25
+ export declare function assetPath(v: unknown): string;
26
+ /** 把上传接口返回的 path 包成 asset: 引用 */
27
+ export declare function toAssetRef(path: unknown): string;
28
+ /** 展示用文件名 */
29
+ export declare function assetName(v: unknown): string;
30
+ /**
31
+ * 配置值 → 可用于 `src` 的地址。
32
+ *
33
+ * @param v 配置里的值(`asset:` 引用 / 普通 URL / 空)
34
+ * @param base 接口前缀(例如 `''` 或 `/server`);末尾斜杠会被忽略
35
+ * @returns 空值返回空串(调用方据此显示占位)
36
+ */
37
+ export declare function assetUrl(v: unknown, base?: string): string;