@veztraa/report-renderer 0.1.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/document.d.ts +10 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +352 -0
- package/dist/document.js.map +1 -0
- package/dist/elements.d.ts +6 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +445 -0
- package/dist/elements.js.map +1 -0
- package/dist/fonts/inter-400.woff +0 -0
- package/dist/fonts/inter-700.woff +0 -0
- package/dist/fonts/lato-400-italic.woff +0 -0
- package/dist/fonts/lato-400.woff +0 -0
- package/dist/fonts/lato-700-italic.woff +0 -0
- package/dist/fonts/lato-700.woff +0 -0
- package/dist/fonts/merriweather-400-italic.woff +0 -0
- package/dist/fonts/merriweather-400.woff +0 -0
- package/dist/fonts/merriweather-700-italic.woff +0 -0
- package/dist/fonts/merriweather-700.woff +0 -0
- package/dist/fonts/montserrat-400-italic.woff +0 -0
- package/dist/fonts/montserrat-400.woff +0 -0
- package/dist/fonts/montserrat-700-italic.woff +0 -0
- package/dist/fonts/montserrat-700.woff +0 -0
- package/dist/fonts/nunito-400-italic.woff +0 -0
- package/dist/fonts/nunito-400.woff +0 -0
- package/dist/fonts/nunito-700-italic.woff +0 -0
- package/dist/fonts/nunito-700.woff +0 -0
- package/dist/fonts/open-sans-400-italic.woff +0 -0
- package/dist/fonts/open-sans-400.woff +0 -0
- package/dist/fonts/open-sans-700-italic.woff +0 -0
- package/dist/fonts/open-sans-700.woff +0 -0
- package/dist/fonts/playfair-400-italic.woff +0 -0
- package/dist/fonts/playfair-400.woff +0 -0
- package/dist/fonts/playfair-700-italic.woff +0 -0
- package/dist/fonts/playfair-700.woff +0 -0
- package/dist/fonts/poppins-400-italic.woff +0 -0
- package/dist/fonts/poppins-400.woff +0 -0
- package/dist/fonts/poppins-700-italic.woff +0 -0
- package/dist/fonts/poppins-700.woff +0 -0
- package/dist/fonts/raleway-400-italic.woff +0 -0
- package/dist/fonts/raleway-400.woff +0 -0
- package/dist/fonts/raleway-700-italic.woff +0 -0
- package/dist/fonts/raleway-700.woff +0 -0
- package/dist/fonts/roboto-400-italic.woff +0 -0
- package/dist/fonts/roboto-400.woff +0 -0
- package/dist/fonts/roboto-700-italic.woff +0 -0
- package/dist/fonts/roboto-700.woff +0 -0
- package/dist/fonts/source-code-pro-400.woff +0 -0
- package/dist/fonts/source-code-pro-700.woff +0 -0
- package/dist/fonts/ubuntu-400-italic.woff +0 -0
- package/dist/fonts/ubuntu-400.woff +0 -0
- package/dist/fonts/ubuntu-700-italic.woff +0 -0
- package/dist/fonts/ubuntu-700.woff +0 -0
- package/dist/fonts.d.ts +23 -0
- package/dist/fonts.d.ts.map +1 -0
- package/dist/fonts.js +46 -0
- package/dist/fonts.js.map +1 -0
- package/dist/index.browser.d.ts +8 -0
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +18 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/registerFonts.browser.d.ts +2 -0
- package/dist/registerFonts.browser.d.ts.map +1 -0
- package/dist/registerFonts.browser.js +15 -0
- package/dist/registerFonts.browser.js.map +1 -0
- package/dist/registerFonts.d.ts +2 -0
- package/dist/registerFonts.d.ts.map +1 -0
- package/dist/registerFonts.js +76 -0
- package/dist/registerFonts.js.map +1 -0
- package/dist/richtext.d.ts +13 -0
- package/dist/richtext.d.ts.map +1 -0
- package/dist/richtext.js +220 -0
- package/dist/richtext.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFonts.browser.js","sourceRoot":"","sources":["../src/registerFonts.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFonts.d.ts","sourceRoot":"","sources":["../src/registerFonts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Font } from "@react-pdf/renderer";
|
|
2
|
+
import { fileURLToPath } from "url";
|
|
3
|
+
import { join, dirname } from "path";
|
|
4
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
function f(name) {
|
|
6
|
+
return join(__dirname, "..", "fonts", name);
|
|
7
|
+
}
|
|
8
|
+
Font.register({ family: "Roboto", fonts: [
|
|
9
|
+
{ src: f("roboto-400.woff") },
|
|
10
|
+
{ src: f("roboto-700.woff"), fontWeight: 700 },
|
|
11
|
+
{ src: f("roboto-400-italic.woff"), fontStyle: "italic" },
|
|
12
|
+
{ src: f("roboto-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
13
|
+
] });
|
|
14
|
+
Font.register({ family: "Open Sans", fonts: [
|
|
15
|
+
{ src: f("open-sans-400.woff") },
|
|
16
|
+
{ src: f("open-sans-700.woff"), fontWeight: 700 },
|
|
17
|
+
{ src: f("open-sans-400-italic.woff"), fontStyle: "italic" },
|
|
18
|
+
{ src: f("open-sans-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
19
|
+
] });
|
|
20
|
+
Font.register({ family: "Lato", fonts: [
|
|
21
|
+
{ src: f("lato-400.woff") },
|
|
22
|
+
{ src: f("lato-700.woff"), fontWeight: 700 },
|
|
23
|
+
{ src: f("lato-400-italic.woff"), fontStyle: "italic" },
|
|
24
|
+
{ src: f("lato-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
25
|
+
] });
|
|
26
|
+
Font.register({ family: "Montserrat", fonts: [
|
|
27
|
+
{ src: f("montserrat-400.woff") },
|
|
28
|
+
{ src: f("montserrat-700.woff"), fontWeight: 700 },
|
|
29
|
+
{ src: f("montserrat-400-italic.woff"), fontStyle: "italic" },
|
|
30
|
+
{ src: f("montserrat-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
31
|
+
] });
|
|
32
|
+
Font.register({ family: "Inter", fonts: [
|
|
33
|
+
{ src: f("inter-400.woff") },
|
|
34
|
+
{ src: f("inter-700.woff"), fontWeight: 700 },
|
|
35
|
+
] });
|
|
36
|
+
Font.register({ family: "Poppins", fonts: [
|
|
37
|
+
{ src: f("poppins-400.woff") },
|
|
38
|
+
{ src: f("poppins-700.woff"), fontWeight: 700 },
|
|
39
|
+
{ src: f("poppins-400-italic.woff"), fontStyle: "italic" },
|
|
40
|
+
{ src: f("poppins-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
41
|
+
] });
|
|
42
|
+
Font.register({ family: "Nunito", fonts: [
|
|
43
|
+
{ src: f("nunito-400.woff") },
|
|
44
|
+
{ src: f("nunito-700.woff"), fontWeight: 700 },
|
|
45
|
+
{ src: f("nunito-400-italic.woff"), fontStyle: "italic" },
|
|
46
|
+
{ src: f("nunito-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
47
|
+
] });
|
|
48
|
+
Font.register({ family: "Raleway", fonts: [
|
|
49
|
+
{ src: f("raleway-400.woff") },
|
|
50
|
+
{ src: f("raleway-700.woff"), fontWeight: 700 },
|
|
51
|
+
{ src: f("raleway-400-italic.woff"), fontStyle: "italic" },
|
|
52
|
+
{ src: f("raleway-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
53
|
+
] });
|
|
54
|
+
Font.register({ family: "Ubuntu", fonts: [
|
|
55
|
+
{ src: f("ubuntu-400.woff") },
|
|
56
|
+
{ src: f("ubuntu-700.woff"), fontWeight: 700 },
|
|
57
|
+
{ src: f("ubuntu-400-italic.woff"), fontStyle: "italic" },
|
|
58
|
+
{ src: f("ubuntu-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
59
|
+
] });
|
|
60
|
+
Font.register({ family: "Playfair Display", fonts: [
|
|
61
|
+
{ src: f("playfair-400.woff") },
|
|
62
|
+
{ src: f("playfair-700.woff"), fontWeight: 700 },
|
|
63
|
+
{ src: f("playfair-400-italic.woff"), fontStyle: "italic" },
|
|
64
|
+
{ src: f("playfair-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
65
|
+
] });
|
|
66
|
+
Font.register({ family: "Merriweather", fonts: [
|
|
67
|
+
{ src: f("merriweather-400.woff") },
|
|
68
|
+
{ src: f("merriweather-700.woff"), fontWeight: 700 },
|
|
69
|
+
{ src: f("merriweather-400-italic.woff"), fontStyle: "italic" },
|
|
70
|
+
{ src: f("merriweather-700-italic.woff"), fontWeight: 700, fontStyle: "italic" },
|
|
71
|
+
] });
|
|
72
|
+
Font.register({ family: "Source Code Pro", fonts: [
|
|
73
|
+
{ src: f("source-code-pro-400.woff") },
|
|
74
|
+
{ src: f("source-code-pro-700.woff"), fontWeight: 700 },
|
|
75
|
+
] });
|
|
76
|
+
//# sourceMappingURL=registerFonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerFonts.js","sourceRoot":"","sources":["../src/registerFonts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1D,SAAS,CAAC,CAAC,IAAY;IACrB,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE;QAC7B,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACrD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QACzD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC3E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;QAC1C,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE;QAChC,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACxD,EAAE,GAAG,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC5D,EAAE,GAAG,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC9E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QACrC,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE;QAC3B,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACnD,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QACvD,EAAE,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KACzE,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE;QAC3C,EAAE,GAAG,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE;QACjC,EAAE,GAAG,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACzD,EAAE,GAAG,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC7D,EAAE,GAAG,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC/E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;QACtC,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE;QAC5B,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;KAC9C,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACxC,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE;QAC9B,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACtD,EAAE,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC1D,EAAE,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC5E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE;QAC7B,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACrD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QACzD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC3E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE;QACxC,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE;QAC9B,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACtD,EAAE,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC1D,EAAE,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC5E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvC,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAE;QAC7B,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACrD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QACzD,EAAE,GAAG,EAAE,CAAC,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC3E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE;QACjD,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE;QAC/B,EAAE,GAAG,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QACvD,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC3D,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KAC7E,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE;QAC7C,EAAE,GAAG,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE;QACnC,EAAE,GAAG,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAS,UAAU,EAAE,GAAG,EAAE;QAC3D,EAAE,GAAG,EAAE,CAAC,CAAC,8BAA8B,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE;QAC/D,EAAE,GAAG,EAAE,CAAC,CAAC,8BAA8B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE;KACjF,EAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE;QAChD,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE;QACtC,EAAE,GAAG,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE;KACxD,EAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const AVG_CHAR_EM = 0.5;
|
|
2
|
+
export interface RichSeg {
|
|
3
|
+
text: string;
|
|
4
|
+
bold?: boolean;
|
|
5
|
+
italic?: boolean;
|
|
6
|
+
underline?: boolean;
|
|
7
|
+
strike?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type WrappedLine = RichSeg[];
|
|
10
|
+
export declare function parseRichText(html: string): RichSeg[];
|
|
11
|
+
export declare function measureText(text: string, fontSize: number, fontFamily?: string, bold?: boolean, letterSpacing?: number): number;
|
|
12
|
+
export declare function wrapRichText(segs: RichSeg[], width: number, fontSize: number, fontFamily?: string, letterSpacing?: number): WrappedLine[];
|
|
13
|
+
//# sourceMappingURL=richtext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"richtext.d.ts","sourceRoot":"","sources":["../src/richtext.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;AAqBpC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAoCrD;AAgCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,UAAQ,EAAE,aAAa,SAAI,GAAG,MAAM,CAQxH;AAiCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,SAAI,GAAG,WAAW,EAAE,CA+CpI"}
|
package/dist/richtext.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// Lightweight inline-HTML support for richtext elements. The designer's rich
|
|
2
|
+
// text editor stores content as a small subset of HTML (<b>, <i>, <u>, <s>,
|
|
3
|
+
// <br>, block tags); this module turns that into styled runs so the renderer
|
|
4
|
+
// can draw real formatting instead of printing the raw tags, and wraps those
|
|
5
|
+
// runs into lines for pagination — mirroring how plain text is handled.
|
|
6
|
+
// Fallback average glyph width (fraction of font size) for non-Helvetica fonts,
|
|
7
|
+
// whose metrics we don't bundle. Helvetica — the default — is measured exactly
|
|
8
|
+
// (see measureText), so this only affects custom Google fonts. Biased a touch
|
|
9
|
+
// wide so estimates round up (a small gap) rather than down (overlap/clip).
|
|
10
|
+
export const AVG_CHAR_EM = 0.5;
|
|
11
|
+
const ENTITIES = {
|
|
12
|
+
amp: "&", lt: "<", gt: ">", quot: '"', apos: "'", nbsp: " ", "#39": "'",
|
|
13
|
+
};
|
|
14
|
+
function decodeEntities(s) {
|
|
15
|
+
return s.replace(/&(#?[a-zA-Z0-9]+);/g, (m, e) => {
|
|
16
|
+
if (e[0] === "#") {
|
|
17
|
+
const code = e[1] === "x" || e[1] === "X"
|
|
18
|
+
? parseInt(e.slice(2), 16)
|
|
19
|
+
: parseInt(e.slice(1), 10);
|
|
20
|
+
return Number.isNaN(code) ? m : String.fromCharCode(code);
|
|
21
|
+
}
|
|
22
|
+
return ENTITIES[e] ?? m;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// Parse a subset of inline HTML into a flat list of styled segments. Line breaks
|
|
26
|
+
// (from <br>, closing block tags, or literal newlines) are encoded as a segment
|
|
27
|
+
// whose text is "\n". Unknown tags are dropped; their text content is kept.
|
|
28
|
+
export function parseRichText(html) {
|
|
29
|
+
const segs = [];
|
|
30
|
+
const depth = { bold: 0, italic: 0, underline: 0, strike: 0 };
|
|
31
|
+
const push = (raw) => {
|
|
32
|
+
if (!raw)
|
|
33
|
+
return;
|
|
34
|
+
segs.push({
|
|
35
|
+
text: raw,
|
|
36
|
+
bold: depth.bold > 0 || undefined,
|
|
37
|
+
italic: depth.italic > 0 || undefined,
|
|
38
|
+
underline: depth.underline > 0 || undefined,
|
|
39
|
+
strike: depth.strike > 0 || undefined,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
for (const tok of html.split(/(<[^>]+>)/)) {
|
|
43
|
+
if (!tok)
|
|
44
|
+
continue;
|
|
45
|
+
if (tok[0] === "<") {
|
|
46
|
+
const m = /^<\s*(\/?)\s*([a-zA-Z0-9]+)/.exec(tok);
|
|
47
|
+
if (!m)
|
|
48
|
+
continue;
|
|
49
|
+
const inc = m[1] === "/" ? -1 : 1;
|
|
50
|
+
const name = m[2].toLowerCase();
|
|
51
|
+
switch (name) {
|
|
52
|
+
case "b":
|
|
53
|
+
case "strong":
|
|
54
|
+
depth.bold = Math.max(0, depth.bold + inc);
|
|
55
|
+
break;
|
|
56
|
+
case "i":
|
|
57
|
+
case "em":
|
|
58
|
+
depth.italic = Math.max(0, depth.italic + inc);
|
|
59
|
+
break;
|
|
60
|
+
case "u":
|
|
61
|
+
depth.underline = Math.max(0, depth.underline + inc);
|
|
62
|
+
break;
|
|
63
|
+
case "s":
|
|
64
|
+
case "strike":
|
|
65
|
+
case "del":
|
|
66
|
+
depth.strike = Math.max(0, depth.strike + inc);
|
|
67
|
+
break;
|
|
68
|
+
case "br":
|
|
69
|
+
push("\n");
|
|
70
|
+
break;
|
|
71
|
+
case "p":
|
|
72
|
+
case "div":
|
|
73
|
+
case "li":
|
|
74
|
+
if (inc === -1)
|
|
75
|
+
push("\n");
|
|
76
|
+
break;
|
|
77
|
+
default: break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
push(decodeEntities(tok));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return segs;
|
|
85
|
+
}
|
|
86
|
+
// Helvetica advance widths (AFM, 1/1000 em) for ASCII 32–126 — regular and bold.
|
|
87
|
+
// Italic/oblique share the regular advances, so these two cover all four styles.
|
|
88
|
+
// They let us measure text width exactly (the default font) so an auto-grow
|
|
89
|
+
// block's wrapped lines match what actually renders and stacked blocks sit flush.
|
|
90
|
+
// Other fonts fall back to the em approximation.
|
|
91
|
+
const HELV_W = [
|
|
92
|
+
278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278,
|
|
93
|
+
556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556,
|
|
94
|
+
1015, 667, 667, 722, 722, 667, 611, 778, 722, 278, 500, 667, 556, 833, 722, 778,
|
|
95
|
+
667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278, 278, 469, 556,
|
|
96
|
+
333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556,
|
|
97
|
+
556, 556, 333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584,
|
|
98
|
+
];
|
|
99
|
+
const HELVB_W = [
|
|
100
|
+
278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278,
|
|
101
|
+
556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611,
|
|
102
|
+
975, 722, 722, 722, 722, 667, 611, 778, 722, 278, 556, 722, 611, 833, 722, 778,
|
|
103
|
+
667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278, 333, 584, 556,
|
|
104
|
+
333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611,
|
|
105
|
+
611, 611, 389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584,
|
|
106
|
+
];
|
|
107
|
+
function charW(code, bold) {
|
|
108
|
+
const i = code - 32;
|
|
109
|
+
const table = bold ? HELVB_W : HELV_W;
|
|
110
|
+
return i >= 0 && i < table.length ? table[i] : (bold ? 611 : 556);
|
|
111
|
+
}
|
|
112
|
+
// Advance width of `text` in points. Exact for the default Helvetica (regular or
|
|
113
|
+
// bold) via its AFM table; other fonts fall back to the average-em approximation
|
|
114
|
+
// (no metrics bundled). Used to wrap/measure text to match what actually renders.
|
|
115
|
+
export function measureText(text, fontSize, fontFamily, bold = false, letterSpacing = 0) {
|
|
116
|
+
const ls = letterSpacing * text.length; // spacing applied after each glyph
|
|
117
|
+
if (fontFamily && fontFamily !== "Helvetica") {
|
|
118
|
+
return text.length * fontSize * AVG_CHAR_EM + ls;
|
|
119
|
+
}
|
|
120
|
+
let w = 0;
|
|
121
|
+
for (let i = 0; i < text.length; i++)
|
|
122
|
+
w += charW(text.charCodeAt(i), bold);
|
|
123
|
+
return (w * fontSize) / 1000 + ls;
|
|
124
|
+
}
|
|
125
|
+
function sameStyle(a, b) {
|
|
126
|
+
return !!a.bold === !!b.bold && !!a.italic === !!b.italic
|
|
127
|
+
&& !!a.underline === !!b.underline && !!a.strike === !!b.strike;
|
|
128
|
+
}
|
|
129
|
+
// Split parsed segments into words and explicit line-breaks, preserving which
|
|
130
|
+
// character runs belong to the same word so glued punctuation keeps no space.
|
|
131
|
+
function tokenize(segs) {
|
|
132
|
+
const toks = [];
|
|
133
|
+
let cur = [];
|
|
134
|
+
const flush = () => { if (cur.length) {
|
|
135
|
+
toks.push(cur);
|
|
136
|
+
cur = [];
|
|
137
|
+
} };
|
|
138
|
+
for (const seg of segs) {
|
|
139
|
+
if (seg.text === "\n") {
|
|
140
|
+
flush();
|
|
141
|
+
toks.push("\n");
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
for (const part of seg.text.split(/(\s+)/)) {
|
|
145
|
+
if (!part)
|
|
146
|
+
continue;
|
|
147
|
+
if (/^\s+$/.test(part))
|
|
148
|
+
flush(); // whitespace ends the word
|
|
149
|
+
else
|
|
150
|
+
cur.push({ ...seg, text: part }); // glue run onto current word
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
flush();
|
|
154
|
+
return toks;
|
|
155
|
+
}
|
|
156
|
+
// Word-wrap parsed segments into lines, measuring real glyph widths (bold-aware)
|
|
157
|
+
// so the line count matches what the renderer draws (it renders these exact
|
|
158
|
+
// lines, one Text block each). Honours "\n" breaks; spaces are inserted only
|
|
159
|
+
// where the source had whitespace; over-long words are hard-broken to fit.
|
|
160
|
+
export function wrapRichText(segs, width, fontSize, fontFamily, letterSpacing = 0) {
|
|
161
|
+
const spaceW = measureText(" ", fontSize, fontFamily, false, letterSpacing);
|
|
162
|
+
const segW = (w) => w.reduce((acc, s) => acc + measureText(s.text, fontSize, fontFamily, !!s.bold, letterSpacing), 0);
|
|
163
|
+
const lines = [];
|
|
164
|
+
let line = [];
|
|
165
|
+
let lineW = 0;
|
|
166
|
+
const flush = () => { lines.push(line); line = []; lineW = 0; };
|
|
167
|
+
const append = (s) => {
|
|
168
|
+
const last = line[line.length - 1];
|
|
169
|
+
if (last && sameStyle(last, s))
|
|
170
|
+
last.text += s.text;
|
|
171
|
+
else
|
|
172
|
+
line.push({ ...s });
|
|
173
|
+
};
|
|
174
|
+
const pushWord = (w) => { for (const s of w)
|
|
175
|
+
append(s); };
|
|
176
|
+
for (const tok of tokenize(segs)) {
|
|
177
|
+
if (tok === "\n") {
|
|
178
|
+
flush();
|
|
179
|
+
continue;
|
|
180
|
+
} // explicit break
|
|
181
|
+
const ww = segW(tok);
|
|
182
|
+
if (ww > width) { // hard-break an over-long word
|
|
183
|
+
if (lineW > 0)
|
|
184
|
+
flush();
|
|
185
|
+
for (const s of tok) {
|
|
186
|
+
let txt = s.text;
|
|
187
|
+
while (txt.length > 0) {
|
|
188
|
+
let i = 0, w = 0;
|
|
189
|
+
while (i < txt.length) {
|
|
190
|
+
const cw = measureText(txt[i], fontSize, fontFamily, !!s.bold, letterSpacing);
|
|
191
|
+
if (w + cw > width && i > 0)
|
|
192
|
+
break;
|
|
193
|
+
w += cw;
|
|
194
|
+
i++;
|
|
195
|
+
}
|
|
196
|
+
append({ ...s, text: txt.slice(0, i) });
|
|
197
|
+
lineW = w;
|
|
198
|
+
txt = txt.slice(i);
|
|
199
|
+
if (txt.length > 0)
|
|
200
|
+
flush();
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
if (lineW > 0 && lineW + spaceW + ww > width)
|
|
206
|
+
flush(); // soft width-wrap
|
|
207
|
+
if (lineW > 0) {
|
|
208
|
+
append({ text: " " });
|
|
209
|
+
lineW += spaceW;
|
|
210
|
+
} // space only between words
|
|
211
|
+
pushWord(tok);
|
|
212
|
+
lineW += ww;
|
|
213
|
+
}
|
|
214
|
+
if (line.length > 0)
|
|
215
|
+
flush();
|
|
216
|
+
if (lines.length === 0)
|
|
217
|
+
lines.push([]);
|
|
218
|
+
return lines;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=richtext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"richtext.js","sourceRoot":"","sources":["../src/richtext.ts"],"names":[],"mappings":"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C,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;CAC5D,CAAC;AACF,MAAM,OAAO,GAAG;IACd,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;IAC/D,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,G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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@veztraa/report-renderer",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "PDF rendering engine for ReportForge",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": ["dist"],
|
|
10
|
+
"publishConfig": { "access": "public" },
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"browser": "./dist/index.browser.js",
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "node scripts/generate-browser-fonts.mjs && tsc && cp -r fonts dist/fonts",
|
|
20
|
+
"dev": "tsc --watch",
|
|
21
|
+
"clean": "rm -rf dist"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@react-pdf/renderer": "^4.1.6",
|
|
25
|
+
"@veztraa/report-core": "workspace:*",
|
|
26
|
+
"qrcode": "^1.5.4",
|
|
27
|
+
"react": "^18.3.1"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@types/node": "^22.10.2",
|
|
31
|
+
"@types/qrcode": "^1.5.6",
|
|
32
|
+
"@types/react": "^18.3.12",
|
|
33
|
+
"typescript": "^5.7.2"
|
|
34
|
+
}
|
|
35
|
+
}
|