@agile-team/mach-report 2.0.0 → 2.2.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.
Files changed (87) hide show
  1. package/LICENSE +2 -4
  2. package/LICENSING.md +15 -0
  3. package/README.md +317 -76
  4. package/dist/ReportPreview-BWrQCj9M.js +1643 -0
  5. package/dist/ReportPreview-DY0PGGqF.cjs +6 -0
  6. package/dist/grid-geometry-DBH9ExuY.cjs +1 -0
  7. package/dist/grid-geometry-DONcjshk.js +130 -0
  8. package/dist/index.cjs +5 -5
  9. package/dist/index.d.cts +806 -13
  10. package/dist/index.d.ts +806 -13
  11. package/dist/index.js +1170 -653
  12. package/dist/page-window-index-CIuT4BAv.js +43 -0
  13. package/dist/page-window-index-DEjnM6IB.cjs +1 -0
  14. package/dist/pdf.cjs +48 -48
  15. package/dist/pdf.d.cts +159 -6
  16. package/dist/pdf.d.ts +159 -6
  17. package/dist/pdf.js +3542 -3466
  18. package/dist/plugin-BMoMUxrw.cjs +1 -0
  19. package/dist/plugin-CAcNe0FT.js +25 -0
  20. package/dist/report-params-B3Fia6JO.js +10 -0
  21. package/dist/report-params-D1gZ1DME.cjs +1 -0
  22. package/dist/sql.cjs +65 -64
  23. package/dist/sql.d.cts +109 -5
  24. package/dist/sql.d.ts +109 -5
  25. package/dist/sql.js +7947 -7922
  26. package/dist/style.css +1 -1
  27. package/dist/textwrap-DdaewxAd.js +117 -0
  28. package/dist/textwrap-DqiFwAV3.cjs +3 -0
  29. package/dist/vue/async.d.cts +820 -320
  30. package/dist/vue/async.d.ts +820 -320
  31. package/dist/vue/index.d.cts +1374 -14
  32. package/dist/vue/index.d.ts +1374 -14
  33. package/dist/vue-async.cjs +1 -1
  34. package/dist/vue-async.js +11 -12
  35. package/dist/vue.cjs +1 -1
  36. package/dist/vue.js +129 -49
  37. package/dist/xlsx.cjs +21 -21
  38. package/dist/xlsx.d.cts +2300 -5
  39. package/dist/xlsx.d.ts +2300 -5
  40. package/dist/xlsx.js +6390 -6347
  41. package/package.json +8 -3
  42. package/dist/ReportPreview-Cr0IH1Rz.cjs +0 -6
  43. package/dist/ReportPreview-DwknBgsJ.js +0 -1266
  44. package/dist/builder/template-builder.d.ts +0 -69
  45. package/dist/defaults.d.ts +0 -23
  46. package/dist/format.d.ts +0 -48
  47. package/dist/grid-geometry-BXpOxznT.cjs +0 -1
  48. package/dist/grid-geometry-Bs8QXz1X.js +0 -65
  49. package/dist/layout/paginate.d.ts +0 -97
  50. package/dist/layout/textwrap.d.ts +0 -36
  51. package/dist/pdf/font-loader.d.ts +0 -6
  52. package/dist/pdf/index.d.ts +0 -2
  53. package/dist/pdf/render-pdf.d.ts +0 -25
  54. package/dist/plugin-Cj3c2wJc.cjs +0 -1
  55. package/dist/plugin-DJf_6_fl.js +0 -18
  56. package/dist/render/canvas.d.ts +0 -76
  57. package/dist/render/dom.d.ts +0 -10
  58. package/dist/render/grid-geometry.d.ts +0 -41
  59. package/dist/render/style.d.ts +0 -33
  60. package/dist/render/window.d.ts +0 -23
  61. package/dist/schema/render-plan.d.ts +0 -88
  62. package/dist/schema/validate.d.ts +0 -15
  63. package/dist/sql/ast-check.d.ts +0 -14
  64. package/dist/sql/compile.d.ts +0 -31
  65. package/dist/sql/expr.d.ts +0 -21
  66. package/dist/sql/index.d.ts +0 -4
  67. package/dist/sql/tokenizer.d.ts +0 -25
  68. package/dist/style-CFZ-HE2s.cjs +0 -3
  69. package/dist/style-DnmtG7Gl.js +0 -180
  70. package/dist/units.d.ts +0 -11
  71. package/dist/vue/ReportParamPanel.d.ts +0 -19
  72. package/dist/vue/ReportPreview.d.ts +0 -200
  73. package/dist/vue/ReportToolbar.d.ts +0 -42
  74. package/dist/vue/adapters.d.ts +0 -34
  75. package/dist/vue/composables/useHighlight.d.ts +0 -8
  76. package/dist/vue/composables/usePageWindow.d.ts +0 -25
  77. package/dist/vue/composables/usePrintExport.d.ts +0 -40
  78. package/dist/vue/composables/useReportSearch.d.ts +0 -73
  79. package/dist/vue/composables/useZoom.d.ts +0 -15
  80. package/dist/vue/config.d.ts +0 -108
  81. package/dist/vue/controller.d.ts +0 -29
  82. package/dist/vue/errors.d.ts +0 -16
  83. package/dist/vue/injection-keys.d.ts +0 -14
  84. package/dist/vue/local-adapter.d.ts +0 -11
  85. package/dist/vue/pdf-exporter.d.ts +0 -13
  86. package/dist/vue/plugin.d.ts +0 -332
  87. package/dist/xlsx/render-xlsx.d.ts +0 -20
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .mrp-toolbar[data-v-48cc0980]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-title[data-v-48cc0980]{font-size:13px;font-weight:600;margin-right:8px;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-nav[data-v-48cc0980]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-48cc0980]:hover:not(:disabled){background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-nav[data-v-48cc0980]:disabled{opacity:.4;cursor:not-allowed}.mrp-active[data-v-48cc0980]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mrp-pageinfo[data-v-48cc0980]{font-size:12px;min-width:56px;text-align:center;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-spacer[data-v-48cc0980]{flex:1}.mrp-search[data-v-48cc0980]{display:flex;align-items:center;gap:4px}.mrp-search-input[data-v-48cc0980]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;width:150px;outline:none}.mrp-search-input[data-v-48cc0980]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-search-count[data-v-48cc0980]{font-size:12px;color:var(--mrp-toolbar-fg, #e8e8e8);min-width:42px;text-align:center}.mrp-params[data-v-aafce92d]{display:flex;align-items:flex-end;gap:12px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-params-title[data-v-aafce92d]{font-size:12px;font-weight:600;color:var(--mrp-toolbar-fg, #e8e8e8);padding-bottom:5px;white-space:nowrap}.mrp-params-grid[data-v-aafce92d]{display:flex;flex-wrap:wrap;gap:8px 12px;flex:1}.mrp-param[data-v-aafce92d]{display:flex;flex-direction:column;gap:2px}.mrp-param-label[data-v-aafce92d]{font-size:11px;color:var(--mrp-toolbar-fg, #e8e8e8);opacity:.85}.mrp-param-star[data-v-aafce92d]{color:#ff7b72;font-style:normal;margin-left:2px}.mrp-param-input[data-v-aafce92d]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:3px 8px;font-size:12px;min-width:130px;outline:none}.mrp-param-input[data-v-aafce92d]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-param-missing .mrp-param-input[data-v-aafce92d]{border-color:#ff7b72}select.mrp-param-input option[data-v-aafce92d]{background:#22252a}.mrp-params-actions[data-v-aafce92d]{display:flex;gap:6px;padding-bottom:1px}.mrp-nav[data-v-aafce92d]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:4px 14px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-aafce92d]:hover{background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-param-query[data-v-aafce92d]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mach-report-preview[data-v-249dbb78]{--mrp-shell-bg: #525659;--mrp-shell-fg: #e8e8e8;--mrp-toolbar-bg: #323639;--mrp-toolbar-border: #22252a;--mrp-toolbar-fg: #e8e8e8;--mrp-btn-fg: #cfcfcf;--mrp-btn-border: #4a4d52;--mrp-btn-hover-bg: #414549;--mrp-btn-hover-fg: #ffffff;--mrp-btn-active-bg: #2d5fb8;position:relative;display:flex;flex-direction:column;background:var(--mrp-shell-bg);color:var(--mrp-shell-fg);overflow:hidden}.mrp-main[data-v-249dbb78]{display:flex;flex:1;min-height:0}.mrp-body[data-v-249dbb78]{flex:1;overflow:auto;padding:24px;outline:none}.mrp-scale[data-v-249dbb78]{margin:0 auto}.mrp-scale-inner[data-v-249dbb78]{display:flex;flex-direction:column;align-items:center}.mrp-page-holder[data-v-249dbb78]{background:#fff;box-shadow:0 2px 8px #00000059;margin-bottom:var(--v0e7a3c30);flex:none}.mrp-state[data-v-249dbb78]{padding:40px;text-align:center;color:#bfbfbf;font-size:13px}.mrp-error[data-v-249dbb78]{color:#ff9d9d}.mrp-export-notice[data-v-249dbb78]{padding:7px 12px;font-size:12px;background:#fff0c2;color:#613c00}.mrp-export-error[data-v-249dbb78]{background:#ffe0df;color:#8e1f1f}.mrp-export-progress[data-v-249dbb78]{background:#e7f0ff;color:#1a4d86}.mrp-retry[data-v-249dbb78]{margin-left:12px;background:transparent;color:#8fb7ff;border:1px solid #5a7fbf;border-radius:4px;padding:1px 10px;cursor:pointer}.mrp-overlay[data-v-249dbb78]{position:absolute;inset:0;pointer-events:none}.mrp-page-holder[data-v-249dbb78] mark.mrp-hit{background:#ffe066;color:#7a5c00;border-radius:2px;padding:0 1px}.mrp-thumbs[data-v-249dbb78]{width:140px;flex:none;overflow-y:auto;border-left:1px solid var(--mrp-toolbar-border);background:var(--mrp-toolbar-bg);padding:8px;display:flex;flex-direction:column;gap:8px}.mrp-thumb[data-v-249dbb78]{cursor:pointer;text-align:center}.mrp-thumb-box[data-v-249dbb78]{width:116px;background:#fff;box-shadow:0 1px 4px #0006;overflow:hidden;border:2px solid transparent}.mrp-thumb-active .mrp-thumb-box[data-v-249dbb78]{border-color:var(--mrp-btn-active-bg)}.mrp-thumb-no[data-v-249dbb78]{font-size:11px;color:var(--mrp-toolbar-fg)}.mrp-debug[data-v-249dbb78]{position:absolute;right:8px;bottom:8px;background:#000000c7;color:#7ee787;font:11px/1.6 ui-monospace,monospace;padding:6px 10px;border-radius:6px;pointer-events:none;white-space:pre}
1
+ .mrp-toolbar[data-v-601f8fa8]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-title[data-v-601f8fa8]{font-size:13px;font-weight:600;margin-right:8px;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-nav[data-v-601f8fa8]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-601f8fa8]:hover:not(:disabled){background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-nav[data-v-601f8fa8]:disabled{opacity:.4;cursor:not-allowed}.mrp-active[data-v-601f8fa8]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mrp-pageinfo[data-v-601f8fa8]{font-size:12px;min-width:56px;text-align:center;color:var(--mrp-toolbar-fg, #e8e8e8)}.mrp-spacer[data-v-601f8fa8]{flex:1}.mrp-search[data-v-601f8fa8]{display:flex;align-items:center;gap:4px}.mrp-search-input[data-v-601f8fa8]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:2px 8px;font-size:12px;width:150px;outline:none}.mrp-search-input[data-v-601f8fa8]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-search-count[data-v-601f8fa8]{font-size:12px;color:var(--mrp-toolbar-fg, #e8e8e8);min-width:42px;text-align:center}.mrp-params[data-v-aafce92d]{display:flex;align-items:flex-end;gap:12px;padding:6px 12px;background:var(--mrp-toolbar-bg, #323639);border-bottom:1px solid var(--mrp-toolbar-border, #22252a);flex:none;flex-wrap:wrap}.mrp-params-title[data-v-aafce92d]{font-size:12px;font-weight:600;color:var(--mrp-toolbar-fg, #e8e8e8);padding-bottom:5px;white-space:nowrap}.mrp-params-grid[data-v-aafce92d]{display:flex;flex-wrap:wrap;gap:8px 12px;flex:1}.mrp-param[data-v-aafce92d]{display:flex;flex-direction:column;gap:2px}.mrp-param-label[data-v-aafce92d]{font-size:11px;color:var(--mrp-toolbar-fg, #e8e8e8);opacity:.85}.mrp-param-star[data-v-aafce92d]{color:#ff7b72;font-style:normal;margin-left:2px}.mrp-param-input[data-v-aafce92d]{background:#22252a;color:#e8e8e8;border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:3px 8px;font-size:12px;min-width:130px;outline:none}.mrp-param-input[data-v-aafce92d]:focus{border-color:var(--mrp-btn-active-bg, #2d5fb8)}.mrp-param-missing .mrp-param-input[data-v-aafce92d]{border-color:#ff7b72}select.mrp-param-input option[data-v-aafce92d]{background:#22252a}.mrp-params-actions[data-v-aafce92d]{display:flex;gap:6px;padding-bottom:1px}.mrp-nav[data-v-aafce92d]{background:transparent;color:var(--mrp-btn-fg, #cfcfcf);border:1px solid var(--mrp-btn-border, #4a4d52);border-radius:4px;padding:4px 14px;font-size:12px;cursor:pointer;white-space:nowrap}.mrp-nav[data-v-aafce92d]:hover{background:var(--mrp-btn-hover-bg, #414549);color:var(--mrp-btn-hover-fg, #fff)}.mrp-param-query[data-v-aafce92d]{background:var(--mrp-btn-active-bg, #2d5fb8);border-color:var(--mrp-btn-active-bg, #2d5fb8);color:#fff}.mach-report-preview[data-v-294f34ce]{--mrp-shell-bg: #525659;--mrp-shell-fg: #e8e8e8;--mrp-toolbar-bg: #323639;--mrp-toolbar-border: #22252a;--mrp-toolbar-fg: #e8e8e8;--mrp-btn-fg: #cfcfcf;--mrp-btn-border: #4a4d52;--mrp-btn-hover-bg: #414549;--mrp-btn-hover-fg: #ffffff;--mrp-btn-active-bg: #2d5fb8;position:relative;display:flex;flex-direction:column;background:var(--mrp-shell-bg);color:var(--mrp-shell-fg);overflow:hidden}.mrp-main[data-v-294f34ce]{display:flex;flex:1;min-height:0}.mrp-body[data-v-294f34ce]{flex:1;overflow:auto;padding:24px;outline:none}.mrp-scale[data-v-294f34ce]{margin:0 auto}.mrp-scale-inner[data-v-294f34ce]{display:flex;flex-direction:column;align-items:center}.mrp-page-holder[data-v-294f34ce]{background:#fff;box-shadow:0 2px 8px #00000059;margin-bottom:var(--v4c81cc3e);flex:none}.mrp-state[data-v-294f34ce]{padding:40px;text-align:center;color:#bfbfbf;font-size:13px}.mrp-error[data-v-294f34ce]{color:#ff9d9d}.mrp-export-notice[data-v-294f34ce]{padding:7px 12px;font-size:12px;background:#fff0c2;color:#613c00}.mrp-export-error[data-v-294f34ce]{background:#ffe0df;color:#8e1f1f}.mrp-export-progress[data-v-294f34ce]{background:#e7f0ff;color:#1a4d86}.mrp-retry[data-v-294f34ce]{margin-left:12px;background:transparent;color:#8fb7ff;border:1px solid #5a7fbf;border-radius:4px;padding:1px 10px;cursor:pointer}.mrp-overlay[data-v-294f34ce]{position:absolute;inset:0;pointer-events:none}.mrp-page-holder[data-v-294f34ce] mark.mrp-hit{background:#ffe066;color:#7a5c00;border-radius:2px;padding:0 1px}.mrp-thumbs[data-v-294f34ce]{width:140px;flex:none;overflow-y:auto;border-left:1px solid var(--mrp-toolbar-border);background:var(--mrp-toolbar-bg);padding:8px;display:flex;flex-direction:column}.mrp-thumb[data-v-294f34ce]{cursor:pointer;text-align:center;flex:none;margin-bottom:8px}.mrp-thumb-spacer[data-v-294f34ce]{flex:none}.mrp-thumb-box[data-v-294f34ce]{box-sizing:border-box;width:116px;background:#fff;box-shadow:0 1px 4px #0006;overflow:hidden;border:2px solid transparent}.mrp-thumb-active .mrp-thumb-box[data-v-294f34ce]{border-color:var(--mrp-btn-active-bg)}.mrp-thumb-no[data-v-294f34ce]{display:block;margin-top:4px;line-height:16px;font-size:11px;color:var(--mrp-toolbar-fg)}.mrp-debug[data-v-294f34ce]{position:absolute;right:8px;bottom:8px;background:#000000c7;color:#7ee787;font:11px/1.6 ui-monospace,monospace;padding:6px 10px;border-radius:6px;pointer-events:none;white-space:pre}
@@ -0,0 +1,117 @@
1
+ import { S as l } from "./grid-geometry-DONcjshk.js";
2
+ const x = l;
3
+ function g(t) {
4
+ return (t.kind === "image" || t.kind === "barcode" || t.kind === "qrcode" || t.kind === "chart") && !!t.imageData;
5
+ }
6
+ function C(t) {
7
+ return t.kind === "text" && Array.isArray(t.richParagraphs) && t.richParagraphs.length > 0;
8
+ }
9
+ const m = /[\u3000-\u9fff\uff00-\uffef]/, o = new Uint8Array(128);
10
+ {
11
+ for (const t of "iljtf.,:;'`|!()[]") o[t.charCodeAt(0)] = 1;
12
+ for (const t of "mwMW@") o[t.charCodeAt(0)] = 2;
13
+ for (let t = 48; t <= 57; t++) o[t] = 3;
14
+ for (let t = 65; t <= 90; t++) o[t] = 4;
15
+ o[32] = 5;
16
+ }
17
+ const M = [0.54, 0.26, 0.95, 0.59, 0.67, 0.3];
18
+ function w(t) {
19
+ const e = t.charCodeAt(0);
20
+ return e < 128 ? M[o[e]] : m.test(t) ? 1 : /[A-Z]/.test(t) ? 0.67 : 0.54;
21
+ }
22
+ const a = {
23
+ measureMm(t, e) {
24
+ const { fontSizePt: f, bold: s = !1, letterSpacingPt: u = 0 } = e, i = 25.4 / 72;
25
+ let r = 0;
26
+ for (const n of t)
27
+ r += w(n);
28
+ return s && (r *= 1.04), (r * f + u * t.length) * i;
29
+ }
30
+ };
31
+ function S() {
32
+ return a;
33
+ }
34
+ function E(t, e) {
35
+ return a.measureMm(t, e);
36
+ }
37
+ function T(t) {
38
+ let e;
39
+ return {
40
+ measureMm(f, s) {
41
+ if (e === void 0 && (e = t()), !e) return a.measureMm(f, s);
42
+ const u = s.fontSizePt * 96 / 72;
43
+ return e.font = `${s.bold ? "bold " : ""}${u}px sans-serif`, e.measureText(f).width * 25.4 / 96;
44
+ }
45
+ };
46
+ }
47
+ function A(t, e, f) {
48
+ const s = [];
49
+ let u = "", i = 0;
50
+ const r = () => {
51
+ u && (s.push({ text: u, widthMm: i, cjk: !1 }), u = "", i = 0);
52
+ };
53
+ for (const n of t) {
54
+ if (n === `
55
+ `) {
56
+ r(), s.push({ text: `
57
+ `, widthMm: 0, cjk: !1, br: !0 });
58
+ continue;
59
+ }
60
+ if (n === " ") {
61
+ r(), s.push({ text: n, widthMm: f.measureMm(n, e), cjk: !1, space: !0 });
62
+ continue;
63
+ }
64
+ if (m.test(n)) {
65
+ r(), s.push({ text: n, widthMm: f.measureMm(n, e), cjk: !0 });
66
+ continue;
67
+ }
68
+ u += n, i += f.measureMm(n, e);
69
+ }
70
+ return r(), s;
71
+ }
72
+ function _(t, e, f, s = a) {
73
+ if (!t) return [""];
74
+ const u = [];
75
+ let i = "", r = 0;
76
+ const n = () => {
77
+ u.push(i), i = "", r = 0;
78
+ };
79
+ for (const c of A(t, f, s)) {
80
+ if (c.br) {
81
+ n();
82
+ continue;
83
+ }
84
+ if (r + c.widthMm <= e) {
85
+ i += c.text, r += c.widthMm;
86
+ continue;
87
+ }
88
+ if (c.space) {
89
+ n();
90
+ continue;
91
+ }
92
+ if (c.cjk) {
93
+ i.length > 0 && n(), i = c.text, r = c.widthMm;
94
+ continue;
95
+ }
96
+ if (i.length > 0 && n(), c.widthMm <= e) {
97
+ i = c.text, r = c.widthMm;
98
+ continue;
99
+ }
100
+ for (const h of c.text) {
101
+ const d = s.measureMm(h, f);
102
+ r + d > e && i.length > 0 && n(), i += h, r += d;
103
+ }
104
+ }
105
+ return n(), u;
106
+ }
107
+ export {
108
+ x as R,
109
+ C as a,
110
+ T as b,
111
+ w as c,
112
+ S as d,
113
+ a as h,
114
+ g as i,
115
+ E as m,
116
+ _ as w
117
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";const l=require("./grid-geometry-DBH9ExuY.cjs"),w=l.SCHEMA_VERSION_MACH;function A(t){return(t.kind==="image"||t.kind==="barcode"||t.kind==="qrcode"||t.kind==="chart")&&!!t.imageData}function x(t){return t.kind==="text"&&Array.isArray(t.richParagraphs)&&t.richParagraphs.length>0}const m=/[\u3000-\u9fff\uff00-\uffef]/,o=new Uint8Array(128);{for(const t of"iljtf.,:;'`|!()[]")o[t.charCodeAt(0)]=1;for(const t of"mwMW@")o[t.charCodeAt(0)]=2;for(let t=48;t<=57;t++)o[t]=3;for(let t=65;t<=90;t++)o[t]=4;o[32]=5}const g=[.54,.26,.95,.59,.67,.3];function M(t){const e=t.charCodeAt(0);return e<128?g[o[e]]:m.test(t)?1:/[A-Z]/.test(t)?.67:.54}const a={measureMm(t,e){const{fontSizePt:s,bold:c=!1,letterSpacingPt:f=0}=e,i=25.4/72;let n=0;for(const r of t)n+=M(r);return c&&(n*=1.04),(n*s+f*t.length)*i}};function k(){return a}function C(t,e){return a.measureMm(t,e)}function E(t){let e;return{measureMm(s,c){if(e===void 0&&(e=t()),!e)return a.measureMm(s,c);const f=c.fontSizePt*96/72;return e.font=`${c.bold?"bold ":""}${f}px sans-serif`,e.measureText(s).width*25.4/96}}}function S(t,e,s){const c=[];let f="",i=0;const n=()=>{f&&(c.push({text:f,widthMm:i,cjk:!1}),f="",i=0)};for(const r of t){if(r===`
2
+ `){n(),c.push({text:`
3
+ `,widthMm:0,cjk:!1,br:!0});continue}if(r===" "){n(),c.push({text:r,widthMm:s.measureMm(r,e),cjk:!1,space:!0});continue}if(m.test(r)){n(),c.push({text:r,widthMm:s.measureMm(r,e),cjk:!0});continue}f+=r,i+=s.measureMm(r,e)}return n(),c}function T(t,e,s,c=a){if(!t)return[""];const f=[];let i="",n=0;const r=()=>{f.push(i),i="",n=0};for(const u of S(t,s,c)){if(u.br){r();continue}if(n+u.widthMm<=e){i+=u.text,n+=u.widthMm;continue}if(u.space){r();continue}if(u.cjk){i.length>0&&r(),i=u.text,n=u.widthMm;continue}if(i.length>0&&r(),u.widthMm<=e){i=u.text,n=u.widthMm;continue}for(const h of u.text){const d=c.measureMm(h,s);n+d>e&&i.length>0&&r(),i+=h,n+=d}}return r(),f}exports.RENDER_PLAN_SCHEMA_VERSION=w;exports.charWidthEm=M;exports.createCanvasMeasurer=E;exports.createHeuristicMeasurer=k;exports.heuristicMeasurer=a;exports.isImageBackedComponent=A;exports.isRichText=x;exports.measureTextMm=C;exports.wrapText=T;