@qianxiang-ai/fu-report-contracts 1.1.12 → 1.1.13

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/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export * from './query.js';
13
13
  export * from './render-model.js';
14
14
  export * from './report.js';
15
15
  export * from './runtime-config.js';
16
+ export * from './layout.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -13,4 +13,5 @@ export * from './query.js';
13
13
  export * from './render-model.js';
14
14
  export * from './report.js';
15
15
  export * from './runtime-config.js';
16
+ export * from './layout.js';
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,76 @@
1
+ import { z } from 'zod';
2
+ /** 布局以 CSS 像素传输;客户端只绘制,不根据本机字体重新分行。 */
3
+ export declare const TextLayoutSchema: z.ZodObject<{
4
+ version: z.ZodLiteral<1>;
5
+ sourceText: z.ZodString;
6
+ width: z.ZodNumber;
7
+ height: z.ZodNumber;
8
+ x: z.ZodNumber;
9
+ y: z.ZodNumber;
10
+ leading: z.ZodNumber;
11
+ baseline: z.ZodNumber;
12
+ fontFamily: z.ZodString;
13
+ fallbackFamily: z.ZodString;
14
+ fontSize: z.ZodNumber;
15
+ padding: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
16
+ lines: z.ZodArray<z.ZodObject<{
17
+ text: z.ZodString;
18
+ x: z.ZodNumber;
19
+ baseline: z.ZodNumber;
20
+ width: z.ZodNumber;
21
+ glyphs: z.ZodArray<z.ZodObject<{
22
+ text: z.ZodString;
23
+ x: z.ZodNumber;
24
+ fallback: z.ZodBoolean;
25
+ fontFamily: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>>;
28
+ }, z.core.$strip>;
29
+ export declare const ReportLayoutSchema: z.ZodObject<{
30
+ version: z.ZodLiteral<1>;
31
+ units: z.ZodLiteral<"css-px">;
32
+ signature: z.ZodString;
33
+ fontVersion: z.ZodString;
34
+ width: z.ZodNumber;
35
+ height: z.ZodNumber;
36
+ pageHeight: z.ZodNumber;
37
+ rows: z.ZodRecord<z.ZodString, z.ZodObject<{
38
+ y: z.ZodNumber;
39
+ height: z.ZodNumber;
40
+ }, z.core.$strip>>;
41
+ cells: z.ZodRecord<z.ZodString, z.ZodObject<{
42
+ version: z.ZodLiteral<1>;
43
+ sourceText: z.ZodString;
44
+ width: z.ZodNumber;
45
+ height: z.ZodNumber;
46
+ x: z.ZodNumber;
47
+ y: z.ZodNumber;
48
+ leading: z.ZodNumber;
49
+ baseline: z.ZodNumber;
50
+ fontFamily: z.ZodString;
51
+ fallbackFamily: z.ZodString;
52
+ fontSize: z.ZodNumber;
53
+ padding: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
54
+ lines: z.ZodArray<z.ZodObject<{
55
+ text: z.ZodString;
56
+ x: z.ZodNumber;
57
+ baseline: z.ZodNumber;
58
+ width: z.ZodNumber;
59
+ glyphs: z.ZodArray<z.ZodObject<{
60
+ text: z.ZodString;
61
+ x: z.ZodNumber;
62
+ fallback: z.ZodBoolean;
63
+ fontFamily: z.ZodOptional<z.ZodString>;
64
+ }, z.core.$strip>>;
65
+ }, z.core.$strip>>;
66
+ }, z.core.$strip>>;
67
+ fonts: z.ZodArray<z.ZodObject<{
68
+ family: z.ZodString;
69
+ resource: z.ZodString;
70
+ weight: z.ZodNumber;
71
+ style: z.ZodString;
72
+ }, z.core.$strip>>;
73
+ }, z.core.$strip>;
74
+ export type ReportTextLayout = z.infer<typeof TextLayoutSchema>;
75
+ export type ReportLayout = z.infer<typeof ReportLayoutSchema>;
76
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,uCAAuC;AACvC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB3B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA"}
package/dist/layout.js ADDED
@@ -0,0 +1,28 @@
1
+ import { z } from 'zod';
2
+ /** 布局以 CSS 像素传输;客户端只绘制,不根据本机字体重新分行。 */
3
+ export const TextLayoutSchema = z.object({
4
+ version: z.literal(1),
5
+ sourceText: z.string(),
6
+ width: z.number().finite().nonnegative(),
7
+ height: z.number().finite().nonnegative(),
8
+ x: z.number().finite(),
9
+ y: z.number().finite(),
10
+ leading: z.number().finite().positive(),
11
+ baseline: z.number().finite(),
12
+ fontFamily: z.string().regex(/^FuLayout_[A-Za-z0-9_-]+$/),
13
+ fallbackFamily: z.string().regex(/^FuLayout_[A-Za-z0-9_-]+$/),
14
+ fontSize: z.number().finite().positive(),
15
+ padding: z.tuple([z.number(), z.number(), z.number(), z.number()]),
16
+ lines: z.array(z.object({
17
+ text: z.string(), x: z.number().finite(), baseline: z.number().finite(), width: z.number().finite(),
18
+ glyphs: z.array(z.object({ text: z.string(), x: z.number().finite(), fallback: z.boolean(), fontFamily: z.string().regex(/^FuLayout_[A-Za-z0-9_-]+$/).optional() }))
19
+ }))
20
+ });
21
+ export const ReportLayoutSchema = z.object({
22
+ version: z.literal(1), units: z.literal('css-px'), signature: z.string().regex(/^[a-f0-9]{64}$/),
23
+ fontVersion: z.string(), width: z.number(), height: z.number(), pageHeight: z.number(),
24
+ rows: z.record(z.string(), z.object({ y: z.number(), height: z.number() })),
25
+ cells: z.record(z.string(), TextLayoutSchema),
26
+ fonts: z.array(z.object({ family: z.string(), resource: z.string().regex(/^(?:fonts\/[a-f0-9]{64}\.ttf|font\/[A-Za-z0-9_.-]+)$/), weight: z.number(), style: z.string() }))
27
+ });
28
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qianxiang-ai/fu-report-contracts",
3
- "version": "1.1.12",
3
+ "version": "1.1.13",
4
4
  "license": "AGPL-3.0-only",
5
5
  "author": "位志国 <ijunfu@aliyun.com>",
6
6
  "type": "module",