@agile-team/mach-report 0.5.0 → 0.7.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/dist/ReportPreview-CrVeTKu1.cjs +6 -0
- package/dist/ReportPreview-DgsOdO4y.js +559 -0
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/builder/template-builder.d.ts +53 -0
- package/dist/compat/jh4j-template.d.ts +12 -0
- package/dist/defaults.d.ts +27 -0
- package/dist/index.cjs +6 -1663
- package/dist/index.d.cts +13 -344
- package/dist/index.d.ts +13 -344
- package/dist/index.js +744 -1415
- package/dist/layout/paginate.d.ts +51 -0
- package/dist/layout/textwrap.d.ts +36 -0
- package/dist/manager/api.d.ts +45 -0
- package/dist/manager/index.d.ts +2 -0
- package/dist/manager/types.d.ts +50 -0
- package/dist/manager.cjs +1 -122
- package/dist/manager.d.cts +5 -97
- package/dist/manager.d.ts +5 -97
- package/dist/manager.js +66 -81
- package/dist/pdf/font-loader.d.ts +5 -0
- package/dist/pdf/index.d.ts +2 -0
- package/dist/pdf/render-pdf.d.ts +25 -0
- package/dist/pdf.cjs +84 -52530
- package/dist/pdf.d.cts +4 -31
- package/dist/pdf.d.ts +4 -31
- package/dist/pdf.js +22843 -39218
- package/dist/plugin-Cl-IqCqx.cjs +1 -0
- package/dist/plugin-Dp3kKWiQ.js +92 -0
- package/dist/render/canvas.d.ts +61 -0
- package/dist/render/dom.d.ts +10 -0
- package/dist/render/grid-geometry.d.ts +41 -0
- package/dist/render/style.d.ts +33 -0
- package/dist/render/window.d.ts +23 -0
- package/dist/schema/render-plan.d.ts +96 -0
- package/dist/schema/validate.d.ts +15 -0
- package/dist/sql/ast-check.d.ts +14 -0
- package/dist/sql/compile.d.ts +31 -0
- package/dist/sql/expr.d.ts +21 -0
- package/dist/sql/index.d.ts +4 -0
- package/dist/sql/tokenizer.d.ts +25 -0
- package/dist/sql.cjs +68 -45207
- package/dist/sql.d.cts +3 -93
- package/dist/sql.d.ts +3 -93
- package/dist/sql.js +37213 -41613
- package/dist/style-B3vxGDZd.cjs +3 -0
- package/dist/style-B7Xfo5I-.js +255 -0
- package/dist/style.css +1 -0
- package/dist/units.d.ts +11 -0
- package/dist/vue/ReportPreview.d.ts +165 -0
- package/dist/vue/ReportToolbar.d.ts +25 -0
- package/dist/vue/adapters.d.ts +40 -0
- package/dist/vue/async.d.cts +275 -0
- package/dist/vue/async.d.ts +275 -0
- package/dist/vue/composables/usePageWindow.d.ts +28 -0
- package/dist/vue/composables/usePrintExport.d.ts +19 -0
- package/dist/vue/composables/useZoom.d.ts +15 -0
- package/dist/vue/config.d.ts +79 -0
- package/dist/vue/controller.d.ts +24 -0
- package/dist/vue/errors.d.ts +16 -0
- package/dist/vue/index.d.cts +13 -0
- package/dist/vue/index.d.ts +13 -0
- package/dist/vue/injection-keys.d.ts +14 -0
- package/dist/vue/local-adapter.d.ts +12 -0
- package/dist/vue/pdf-exporter.d.ts +13 -0
- package/dist/vue/plugin.d.ts +294 -0
- package/dist/vue-async.cjs +1 -0
- package/dist/vue-async.js +17 -0
- package/dist/vue.cjs +1 -0
- package/dist/vue.js +53 -0
- package/package.json +44 -6
- package/dist/textwrap-DWzM7pt1.d.cts +0 -135
- package/dist/textwrap-DWzM7pt1.d.ts +0 -135
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
2
|
-
interface ComponentStyle {
|
|
3
|
-
fontSizePx?: number;
|
|
4
|
-
fontSize?: number;
|
|
5
|
-
fontFamily?: string;
|
|
6
|
-
bold?: boolean;
|
|
7
|
-
italic?: boolean;
|
|
8
|
-
underline?: boolean;
|
|
9
|
-
color?: string;
|
|
10
|
-
backgroundColor?: string;
|
|
11
|
-
align?: "left" | "center" | "right" | "justify";
|
|
12
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
|
13
|
-
lineColor?: string;
|
|
14
|
-
borderColor?: string;
|
|
15
|
-
lineWidthPt?: number;
|
|
16
|
-
borderTop?: boolean;
|
|
17
|
-
borderRight?: boolean;
|
|
18
|
-
borderBottom?: boolean;
|
|
19
|
-
borderLeft?: boolean;
|
|
20
|
-
lineHeight?: number;
|
|
21
|
-
letterSpacing?: number;
|
|
22
|
-
opacity?: number;
|
|
23
|
-
rotateDeg?: number;
|
|
24
|
-
}
|
|
25
|
-
interface RichParagraph {
|
|
26
|
-
segments: RichSegment[];
|
|
27
|
-
align?: ComponentStyle["align"];
|
|
28
|
-
lineHeight?: number;
|
|
29
|
-
spaceBeforeMm?: number;
|
|
30
|
-
spaceAfterMm?: number;
|
|
31
|
-
indentMm?: number;
|
|
32
|
-
}
|
|
33
|
-
interface RichSegment {
|
|
34
|
-
kind?: "text" | "field";
|
|
35
|
-
text?: string;
|
|
36
|
-
field?: string;
|
|
37
|
-
style?: ComponentStyle;
|
|
38
|
-
}
|
|
39
|
-
interface GridCell {
|
|
40
|
-
text?: string;
|
|
41
|
-
rawText?: string;
|
|
42
|
-
children?: PlanComponent[];
|
|
43
|
-
colSpan?: number;
|
|
44
|
-
rowSpan?: number;
|
|
45
|
-
style?: ComponentStyle;
|
|
46
|
-
}
|
|
47
|
-
interface PlanGrid {
|
|
48
|
-
/** 行内允许 null 空位(jh4j 契约数据存在稀疏行;渲染器按空单元格处理) */
|
|
49
|
-
cells: (GridCell | null)[][];
|
|
50
|
-
colWidthsMm?: number[];
|
|
51
|
-
rowHeightsMm?: number[];
|
|
52
|
-
gapMm?: number;
|
|
53
|
-
}
|
|
54
|
-
interface PlanComponent {
|
|
55
|
-
kind: ComponentKind;
|
|
56
|
-
leftMm: number;
|
|
57
|
-
topMm: number;
|
|
58
|
-
widthMm: number;
|
|
59
|
-
heightMm: number;
|
|
60
|
-
nid?: string;
|
|
61
|
-
rkey?: string;
|
|
62
|
-
text?: string;
|
|
63
|
-
rawText?: string;
|
|
64
|
-
lines?: string[];
|
|
65
|
-
richParagraphs?: RichParagraph[];
|
|
66
|
-
imageData?: string;
|
|
67
|
-
grid?: PlanGrid;
|
|
68
|
-
style?: ComponentStyle;
|
|
69
|
-
meta?: Record<string, unknown>;
|
|
70
|
-
/** MachReport 扩展字段:未知 kind 的兜底渲染标记 */
|
|
71
|
-
fallbackText?: string;
|
|
72
|
-
}
|
|
73
|
-
interface PlanPage {
|
|
74
|
-
pageWidthMm: number;
|
|
75
|
-
pageHeightMm: number;
|
|
76
|
-
marginTopMm?: number;
|
|
77
|
-
marginBottomMm?: number;
|
|
78
|
-
marginLeftMm?: number;
|
|
79
|
-
marginRightMm?: number;
|
|
80
|
-
components: PlanComponent[];
|
|
81
|
-
}
|
|
82
|
-
interface GridPlanResponse {
|
|
83
|
-
code?: number;
|
|
84
|
-
message?: string;
|
|
85
|
-
data?: {
|
|
86
|
-
pages?: PlanPage[];
|
|
87
|
-
} | null;
|
|
88
|
-
}
|
|
89
|
-
interface RenderPlan {
|
|
90
|
-
schemaVersion: string;
|
|
91
|
-
pages: PlanPage[];
|
|
92
|
-
}
|
|
93
|
-
declare const RENDER_PLAN_SCHEMA_VERSION = "1.0.0-mach";
|
|
94
|
-
declare function toRenderPlan(response: GridPlanResponse): RenderPlan;
|
|
95
|
-
declare function isImageBackedComponent(comp: PlanComponent): boolean;
|
|
96
|
-
declare function isRichText(comp: PlanComponent): boolean;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* 文本测量与折行(分页/Canvas/PDF 共用的唯一折行真相源)。
|
|
100
|
-
*
|
|
101
|
-
* 测量模型可注入(TextMeasurer):
|
|
102
|
-
* - 默认 createHeuristicMeasurer():CJK/拉丁宽度启发式(零依赖、Node 可用)
|
|
103
|
-
* - 浏览器端可注入 createCanvasMeasurer()(真字体 metrics,消除三端折行差异)
|
|
104
|
-
*/
|
|
105
|
-
interface TextMeasureOptions {
|
|
106
|
-
fontSizePt: number;
|
|
107
|
-
bold?: boolean;
|
|
108
|
-
letterSpacingPt?: number;
|
|
109
|
-
}
|
|
110
|
-
/** 宽度测量接口:返回文本在给定字号下的宽度(mm)。实现必须无副作用、可缓存。 */
|
|
111
|
-
interface TextMeasurer {
|
|
112
|
-
measureMm(text: string, options: TextMeasureOptions): number;
|
|
113
|
-
}
|
|
114
|
-
declare function charWidthEm(ch: string): number;
|
|
115
|
-
/** 启发式测量器:宽度模型与 jh4j 近似口径一致(默认实现) */
|
|
116
|
-
declare const heuristicMeasurer: TextMeasurer;
|
|
117
|
-
/** 兼容旧 API:默认启发式测量 */
|
|
118
|
-
declare function createHeuristicMeasurer(): TextMeasurer;
|
|
119
|
-
declare function measureTextMm(text: string, options: TextMeasureOptions): number;
|
|
120
|
-
/**
|
|
121
|
-
* 浏览器 Canvas 测量器:用真实字体 metrics 校准宽度(可选注入)。
|
|
122
|
-
* 无 2D 环境时自动回退启发式(Node/SSR 安全)。
|
|
123
|
-
*/
|
|
124
|
-
declare function createCanvasMeasurer(getCtx2d: () => CanvasRenderingContext2D | null): TextMeasurer;
|
|
125
|
-
/**
|
|
126
|
-
* 文本折行:
|
|
127
|
-
* - CJK 字符任意位置可断(与既有行为一致)
|
|
128
|
-
* - 连续拉丁/数字串视为一个词,仅在词间(空格/CJK 边界)断行;
|
|
129
|
-
* 单词本身超宽时按字符硬拆(兜底,不无限溢出)
|
|
130
|
-
* - 换行符强制断行;行首不保留折行产生的空格
|
|
131
|
-
* - 可注入 TextMeasurer(默认启发式)
|
|
132
|
-
*/
|
|
133
|
-
declare function wrapText(text: string, maxWidthMm: number, options: TextMeasureOptions, measurer?: TextMeasurer): string[];
|
|
134
|
-
|
|
135
|
-
export { type ComponentStyle as C, type GridCell as G, type PlanPage as P, type RenderPlan as R, type TextMeasurer as T, type PlanComponent as a, type PlanGrid as b, type ComponentKind as c, type GridPlanResponse as d, RENDER_PLAN_SCHEMA_VERSION as e, type RichParagraph as f, type RichSegment as g, type TextMeasureOptions as h, charWidthEm as i, createCanvasMeasurer as j, createHeuristicMeasurer as k, heuristicMeasurer as l, isImageBackedComponent as m, isRichText as n, measureTextMm as o, toRenderPlan as t, wrapText as w };
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
type ComponentKind = "text" | "image" | "barcode" | "qrcode" | "chart" | "line" | "rect" | "ellipse";
|
|
2
|
-
interface ComponentStyle {
|
|
3
|
-
fontSizePx?: number;
|
|
4
|
-
fontSize?: number;
|
|
5
|
-
fontFamily?: string;
|
|
6
|
-
bold?: boolean;
|
|
7
|
-
italic?: boolean;
|
|
8
|
-
underline?: boolean;
|
|
9
|
-
color?: string;
|
|
10
|
-
backgroundColor?: string;
|
|
11
|
-
align?: "left" | "center" | "right" | "justify";
|
|
12
|
-
verticalAlign?: "top" | "middle" | "bottom";
|
|
13
|
-
lineColor?: string;
|
|
14
|
-
borderColor?: string;
|
|
15
|
-
lineWidthPt?: number;
|
|
16
|
-
borderTop?: boolean;
|
|
17
|
-
borderRight?: boolean;
|
|
18
|
-
borderBottom?: boolean;
|
|
19
|
-
borderLeft?: boolean;
|
|
20
|
-
lineHeight?: number;
|
|
21
|
-
letterSpacing?: number;
|
|
22
|
-
opacity?: number;
|
|
23
|
-
rotateDeg?: number;
|
|
24
|
-
}
|
|
25
|
-
interface RichParagraph {
|
|
26
|
-
segments: RichSegment[];
|
|
27
|
-
align?: ComponentStyle["align"];
|
|
28
|
-
lineHeight?: number;
|
|
29
|
-
spaceBeforeMm?: number;
|
|
30
|
-
spaceAfterMm?: number;
|
|
31
|
-
indentMm?: number;
|
|
32
|
-
}
|
|
33
|
-
interface RichSegment {
|
|
34
|
-
kind?: "text" | "field";
|
|
35
|
-
text?: string;
|
|
36
|
-
field?: string;
|
|
37
|
-
style?: ComponentStyle;
|
|
38
|
-
}
|
|
39
|
-
interface GridCell {
|
|
40
|
-
text?: string;
|
|
41
|
-
rawText?: string;
|
|
42
|
-
children?: PlanComponent[];
|
|
43
|
-
colSpan?: number;
|
|
44
|
-
rowSpan?: number;
|
|
45
|
-
style?: ComponentStyle;
|
|
46
|
-
}
|
|
47
|
-
interface PlanGrid {
|
|
48
|
-
/** 行内允许 null 空位(jh4j 契约数据存在稀疏行;渲染器按空单元格处理) */
|
|
49
|
-
cells: (GridCell | null)[][];
|
|
50
|
-
colWidthsMm?: number[];
|
|
51
|
-
rowHeightsMm?: number[];
|
|
52
|
-
gapMm?: number;
|
|
53
|
-
}
|
|
54
|
-
interface PlanComponent {
|
|
55
|
-
kind: ComponentKind;
|
|
56
|
-
leftMm: number;
|
|
57
|
-
topMm: number;
|
|
58
|
-
widthMm: number;
|
|
59
|
-
heightMm: number;
|
|
60
|
-
nid?: string;
|
|
61
|
-
rkey?: string;
|
|
62
|
-
text?: string;
|
|
63
|
-
rawText?: string;
|
|
64
|
-
lines?: string[];
|
|
65
|
-
richParagraphs?: RichParagraph[];
|
|
66
|
-
imageData?: string;
|
|
67
|
-
grid?: PlanGrid;
|
|
68
|
-
style?: ComponentStyle;
|
|
69
|
-
meta?: Record<string, unknown>;
|
|
70
|
-
/** MachReport 扩展字段:未知 kind 的兜底渲染标记 */
|
|
71
|
-
fallbackText?: string;
|
|
72
|
-
}
|
|
73
|
-
interface PlanPage {
|
|
74
|
-
pageWidthMm: number;
|
|
75
|
-
pageHeightMm: number;
|
|
76
|
-
marginTopMm?: number;
|
|
77
|
-
marginBottomMm?: number;
|
|
78
|
-
marginLeftMm?: number;
|
|
79
|
-
marginRightMm?: number;
|
|
80
|
-
components: PlanComponent[];
|
|
81
|
-
}
|
|
82
|
-
interface GridPlanResponse {
|
|
83
|
-
code?: number;
|
|
84
|
-
message?: string;
|
|
85
|
-
data?: {
|
|
86
|
-
pages?: PlanPage[];
|
|
87
|
-
} | null;
|
|
88
|
-
}
|
|
89
|
-
interface RenderPlan {
|
|
90
|
-
schemaVersion: string;
|
|
91
|
-
pages: PlanPage[];
|
|
92
|
-
}
|
|
93
|
-
declare const RENDER_PLAN_SCHEMA_VERSION = "1.0.0-mach";
|
|
94
|
-
declare function toRenderPlan(response: GridPlanResponse): RenderPlan;
|
|
95
|
-
declare function isImageBackedComponent(comp: PlanComponent): boolean;
|
|
96
|
-
declare function isRichText(comp: PlanComponent): boolean;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* 文本测量与折行(分页/Canvas/PDF 共用的唯一折行真相源)。
|
|
100
|
-
*
|
|
101
|
-
* 测量模型可注入(TextMeasurer):
|
|
102
|
-
* - 默认 createHeuristicMeasurer():CJK/拉丁宽度启发式(零依赖、Node 可用)
|
|
103
|
-
* - 浏览器端可注入 createCanvasMeasurer()(真字体 metrics,消除三端折行差异)
|
|
104
|
-
*/
|
|
105
|
-
interface TextMeasureOptions {
|
|
106
|
-
fontSizePt: number;
|
|
107
|
-
bold?: boolean;
|
|
108
|
-
letterSpacingPt?: number;
|
|
109
|
-
}
|
|
110
|
-
/** 宽度测量接口:返回文本在给定字号下的宽度(mm)。实现必须无副作用、可缓存。 */
|
|
111
|
-
interface TextMeasurer {
|
|
112
|
-
measureMm(text: string, options: TextMeasureOptions): number;
|
|
113
|
-
}
|
|
114
|
-
declare function charWidthEm(ch: string): number;
|
|
115
|
-
/** 启发式测量器:宽度模型与 jh4j 近似口径一致(默认实现) */
|
|
116
|
-
declare const heuristicMeasurer: TextMeasurer;
|
|
117
|
-
/** 兼容旧 API:默认启发式测量 */
|
|
118
|
-
declare function createHeuristicMeasurer(): TextMeasurer;
|
|
119
|
-
declare function measureTextMm(text: string, options: TextMeasureOptions): number;
|
|
120
|
-
/**
|
|
121
|
-
* 浏览器 Canvas 测量器:用真实字体 metrics 校准宽度(可选注入)。
|
|
122
|
-
* 无 2D 环境时自动回退启发式(Node/SSR 安全)。
|
|
123
|
-
*/
|
|
124
|
-
declare function createCanvasMeasurer(getCtx2d: () => CanvasRenderingContext2D | null): TextMeasurer;
|
|
125
|
-
/**
|
|
126
|
-
* 文本折行:
|
|
127
|
-
* - CJK 字符任意位置可断(与既有行为一致)
|
|
128
|
-
* - 连续拉丁/数字串视为一个词,仅在词间(空格/CJK 边界)断行;
|
|
129
|
-
* 单词本身超宽时按字符硬拆(兜底,不无限溢出)
|
|
130
|
-
* - 换行符强制断行;行首不保留折行产生的空格
|
|
131
|
-
* - 可注入 TextMeasurer(默认启发式)
|
|
132
|
-
*/
|
|
133
|
-
declare function wrapText(text: string, maxWidthMm: number, options: TextMeasureOptions, measurer?: TextMeasurer): string[];
|
|
134
|
-
|
|
135
|
-
export { type ComponentStyle as C, type GridCell as G, type PlanPage as P, type RenderPlan as R, type TextMeasurer as T, type PlanComponent as a, type PlanGrid as b, type ComponentKind as c, type GridPlanResponse as d, RENDER_PLAN_SCHEMA_VERSION as e, type RichParagraph as f, type RichSegment as g, type TextMeasureOptions as h, charWidthEm as i, createCanvasMeasurer as j, createHeuristicMeasurer as k, heuristicMeasurer as l, isImageBackedComponent as m, isRichText as n, measureTextMm as o, toRenderPlan as t, wrapText as w };
|