@reportwright/viewer 0.13.0 → 0.13.1

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 (85) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -2
  3. package/THIRD-PARTY-NOTICES.md +1 -1
  4. package/dist/{chunk-DXHLIJEY.js → chunk-47ZAKRVN.js} +6 -6
  5. package/dist/{chunk-L6YEIVVD.js → chunk-B5ZCT3UK.js} +13 -13
  6. package/dist/chunk-CCH7CFU5.js +5026 -0
  7. package/dist/chunk-CCH7CFU5.js.map +6 -0
  8. package/dist/{chunk-CNDUJ7IV.js → chunk-ES2LYZ6S.js} +9 -6
  9. package/dist/chunk-ES2LYZ6S.js.map +6 -0
  10. package/dist/{chunk-BF7GCWZY.js → chunk-GOCWG6FG.js} +3 -3
  11. package/dist/{chunk-IFYCJZNS.js → chunk-GRYITZPG.js} +7 -7
  12. package/dist/{chunk-F5EPQTPF.js → chunk-H422SRD3.js} +8 -8
  13. package/dist/{chunk-FEM2QVOO.js → chunk-JD6EJ3LI.js} +4 -4
  14. package/dist/{chunk-QFLVVM3H.js → chunk-MS2LQC2O.js} +38 -28
  15. package/dist/chunk-MS2LQC2O.js.map +6 -0
  16. package/dist/{chunk-UHHURTSV.js → chunk-PF4RFKX2.js} +7 -7
  17. package/dist/{chunk-TZXEEVKE.js → chunk-PKXTMC4J.js} +87 -42
  18. package/dist/chunk-PKXTMC4J.js.map +6 -0
  19. package/dist/{chunk-UJL7C2AS.js → chunk-U2ZY2NPQ.js} +2 -2
  20. package/dist/{chunk-PQNM6ET7.js → chunk-WOBRKNIA.js} +12 -12
  21. package/dist/{chunk-YIX3OJXU.js → chunk-XXTAPZO4.js} +4 -4
  22. package/dist/{chunk-EK5CJY22.js → chunk-ZGRJJ6OW.js} +38 -23
  23. package/dist/{chunk-EK5CJY22.js.map → chunk-ZGRJJ6OW.js.map} +1 -1
  24. package/dist/designer.js +26 -19
  25. package/dist/designer.js.map +1 -1
  26. package/dist/engine.worker.bwip.js +51422 -0
  27. package/dist/engine.worker.bwip.js.map +6 -0
  28. package/dist/engine.worker.js +45327 -2482
  29. package/dist/engine.worker.js.map +3 -3
  30. package/dist/peer/{chunk-45GVDKP5.js → chunk-3EYYRJR4.js} +7 -7
  31. package/dist/peer/{chunk-VZHHNQYB.js → chunk-3XZY54LM.js} +87 -42
  32. package/dist/peer/chunk-3XZY54LM.js.map +6 -0
  33. package/dist/peer/{chunk-Z5II55QT.js → chunk-5RUNOIS7.js} +4 -4
  34. package/dist/peer/{chunk-2CD5COHN.js → chunk-7IP67PA6.js} +13 -13
  35. package/dist/peer/{chunk-LWXQX3NJ.js → chunk-A6UXBSTP.js} +8 -8
  36. package/dist/peer/{chunk-V42KN7HD.js → chunk-CFTFTV2O.js} +6 -6
  37. package/dist/peer/chunk-JQTRDHQP.js +866 -0
  38. package/dist/peer/chunk-JQTRDHQP.js.map +6 -0
  39. package/dist/peer/chunk-KD6CDYGE.js +5024 -0
  40. package/dist/peer/chunk-KD6CDYGE.js.map +6 -0
  41. package/dist/peer/chunk-MXR6JBMP.js +546 -0
  42. package/dist/peer/chunk-MXR6JBMP.js.map +6 -0
  43. package/dist/peer/chunk-N42DCZZA.js +378 -0
  44. package/dist/peer/chunk-N42DCZZA.js.map +6 -0
  45. package/dist/peer/{chunk-MKY3SDXU.js → chunk-RKFP7SDY.js} +9 -6
  46. package/dist/peer/chunk-RKFP7SDY.js.map +6 -0
  47. package/dist/peer/{chunk-3CBV5SAI.js → chunk-WABYQWMT.js} +12 -12
  48. package/dist/peer/chunk-WVQQCD4M.js +14211 -0
  49. package/dist/peer/chunk-WVQQCD4M.js.map +6 -0
  50. package/dist/peer/{chunk-S6LSPHSU.js → chunk-XHCRHVRK.js} +4 -4
  51. package/dist/peer/{chunk-YITWGAR4.js → chunk-ZS3J4WBH.js} +7 -7
  52. package/dist/peer/designer.js +26 -19
  53. package/dist/peer/designer.js.map +1 -1
  54. package/dist/peer/engine.worker.bwip.js +51422 -0
  55. package/dist/peer/engine.worker.bwip.js.map +6 -0
  56. package/dist/peer/engine.worker.js +45327 -2482
  57. package/dist/peer/engine.worker.js.map +3 -3
  58. package/dist/peer/viewer.js +6 -5
  59. package/dist/peer/viewer.js.map +1 -1
  60. package/dist/viewer.js +6 -5
  61. package/dist/viewer.js.map +1 -1
  62. package/package.json +1 -2
  63. package/dist/chunk-CNDUJ7IV.js.map +0 -6
  64. package/dist/chunk-QFLVVM3H.js.map +0 -6
  65. package/dist/chunk-TZXEEVKE.js.map +0 -6
  66. package/dist/peer/chunk-MKY3SDXU.js.map +0 -6
  67. package/dist/peer/chunk-VZHHNQYB.js.map +0 -6
  68. /package/dist/{chunk-DXHLIJEY.js.map → chunk-47ZAKRVN.js.map} +0 -0
  69. /package/dist/{chunk-L6YEIVVD.js.map → chunk-B5ZCT3UK.js.map} +0 -0
  70. /package/dist/{chunk-BF7GCWZY.js.map → chunk-GOCWG6FG.js.map} +0 -0
  71. /package/dist/{chunk-IFYCJZNS.js.map → chunk-GRYITZPG.js.map} +0 -0
  72. /package/dist/{chunk-F5EPQTPF.js.map → chunk-H422SRD3.js.map} +0 -0
  73. /package/dist/{chunk-FEM2QVOO.js.map → chunk-JD6EJ3LI.js.map} +0 -0
  74. /package/dist/{chunk-UHHURTSV.js.map → chunk-PF4RFKX2.js.map} +0 -0
  75. /package/dist/{chunk-UJL7C2AS.js.map → chunk-U2ZY2NPQ.js.map} +0 -0
  76. /package/dist/{chunk-PQNM6ET7.js.map → chunk-WOBRKNIA.js.map} +0 -0
  77. /package/dist/{chunk-YIX3OJXU.js.map → chunk-XXTAPZO4.js.map} +0 -0
  78. /package/dist/peer/{chunk-45GVDKP5.js.map → chunk-3EYYRJR4.js.map} +0 -0
  79. /package/dist/peer/{chunk-S6LSPHSU.js.map → chunk-5RUNOIS7.js.map} +0 -0
  80. /package/dist/peer/{chunk-2CD5COHN.js.map → chunk-7IP67PA6.js.map} +0 -0
  81. /package/dist/peer/{chunk-LWXQX3NJ.js.map → chunk-A6UXBSTP.js.map} +0 -0
  82. /package/dist/peer/{chunk-V42KN7HD.js.map → chunk-CFTFTV2O.js.map} +0 -0
  83. /package/dist/peer/{chunk-3CBV5SAI.js.map → chunk-WABYQWMT.js.map} +0 -0
  84. /package/dist/peer/{chunk-Z5II55QT.js.map → chunk-XHCRHVRK.js.map} +0 -0
  85. /package/dist/peer/{chunk-YITWGAR4.js.map → chunk-ZS3J4WBH.js.map} +0 -0
@@ -11,6 +11,25 @@ import {
11
11
  import {
12
12
  safeUrl
13
13
  } from "./chunk-72S6DETS.js";
14
+ import {
15
+ CORE_FONT_KEY,
16
+ DEFAULT_FAMILY,
17
+ FontStore,
18
+ OPTIONAL_KEYS,
19
+ PRELOAD_KEYS,
20
+ PX,
21
+ SHAPER,
22
+ embeddedFace,
23
+ fallbackKey,
24
+ familyOf,
25
+ fontCss,
26
+ fontsFor,
27
+ fontsForDef,
28
+ imageInfo,
29
+ isStandard,
30
+ resolveFontKey,
31
+ resolveImageSrc
32
+ } from "./chunk-MS2LQC2O.js";
14
33
  import {
15
34
  ExprError,
16
35
  capText,
@@ -31,25 +50,6 @@ import {
31
50
  toWall,
32
51
  validTimeZone
33
52
  } from "./chunk-GJS242RR.js";
34
- import {
35
- CORE_FONT_KEY,
36
- DEFAULT_FAMILY,
37
- FontStore,
38
- OPTIONAL_KEYS,
39
- PRELOAD_KEYS,
40
- PX,
41
- SHAPER,
42
- embeddedFace,
43
- fallbackKey,
44
- familyOf,
45
- fontCss,
46
- fontsFor,
47
- fontsForDef,
48
- imageInfo,
49
- isStandard,
50
- resolveFontKey,
51
- resolveImageSrc
52
- } from "./chunk-QFLVVM3H.js";
53
53
 
54
54
  // src/engine/text/measure.js
55
55
  import bidiFactory from "bidi-js";
@@ -295,7 +295,7 @@ var TextMeasurer = class {
295
295
  * character), exactly as before. Others also break between CJK characters (kinsoku applied), never
296
296
  * inside a grapheme cluster (a conjunct, a letter and its marks), and remember their direction.
297
297
  * @param {string} text @param {string} key @param {number} size @param {number} maxWidth
298
- * @returns {{text: string, width: number, dir?: 'ltr'|'rtl'}[]}
298
+ * @returns {{text: string, width: number, dir?: 'ltr'|'rtl', end?: boolean}[]}
299
299
  */
300
300
  wrap(text, key, size, maxWidth) {
301
301
  if (text === "") return [{ text: "", width: 0, end: true }];
@@ -13086,7 +13086,22 @@ function validate(def) {
13086
13086
  } catch {
13087
13087
  }
13088
13088
  }
13089
- return { errors, warnings, exprErrors, checkOnly };
13089
+ const renderSays = [];
13090
+ const band = (own, shared) => !own || typeof own !== "object" || Array.isArray(own) ? Number(shared?.height) || 0 : own.hidden ? 0 : Number(own.height) || 0;
13091
+ for (const b of Array.isArray(body) ? body : body ? [body] : []) {
13092
+ if (!b || typeof b !== "object") continue;
13093
+ const pg = resolvePage({ ...def.page || {}, ...b.page && typeof b.page === "object" ? b.page : {} });
13094
+ if (pg.pageless) continue;
13095
+ const room = pg.height - pg.margins.top - pg.margins.bottom - band(b.pageHeader, def.sections?.pageHeader) - band(b.pageFooter, def.sections?.pageFooter);
13096
+ for (const it of Array.isArray(b.items) ? b.items : []) {
13097
+ if (!it || typeof it !== "object" || ["table", "matrix", "list", "subreport", "toc"].includes(it.type) || !(Number(it.h) > room + 0.5)) continue;
13098
+ const text = it.type === "textbox" || it.type === "richtext";
13099
+ const msg = `${it.name || it.type}: it is ${Math.round(it.h)} pt tall, taller than the ${Math.round(room)} pt the page has for the body (the page less its margins, page header and footer). ${text ? "Its text of more than one line continues on the next page; otherwise the lower part of the box is cut at the page bottom" : "Its lower part is cut at the page bottom"}; make it shorter.`;
13100
+ warnings.push(msg);
13101
+ renderSays.push(msg);
13102
+ }
13103
+ }
13104
+ return { errors, warnings, exprErrors, checkOnly, renderSays };
13090
13105
  }
13091
13106
  var TEMPLATE_KEYS = /* @__PURE__ */ new Set(["value", "text", "label", "tooltip", "title", "noRowsText"]);
13092
13107
  function inlineFields(def) {
@@ -13532,7 +13547,7 @@ async function render(def0, opts = {}) {
13532
13547
  const fatal = v.errors.filter((e) => !cellErrors.has(e));
13533
13548
  if (fatal.length) throw new ReportError(fatal[0], { errors: v.errors });
13534
13549
  const checkOnly = new Set(v.checkOnly);
13535
- const warnings = [.../* @__PURE__ */ new Set([...v.warnings, ...[...cellErrors].filter((e) => !checkOnly.has(e)).slice(0, 100), ...reuseWarnings])].slice(0, 200);
13550
+ const warnings = [.../* @__PURE__ */ new Set([...v.warnings.filter((w) => !v.renderSays.includes(w)), ...[...cellErrors].filter((e) => !checkOnly.has(e)).slice(0, 100), ...reuseWarnings])].slice(0, 200);
13536
13551
  const clips = /* @__PURE__ */ new Set();
13537
13552
  const warn = (msg, clip) => {
13538
13553
  if (warnings.length < 200 && !warnings.includes(msg)) warnings.push(msg);
@@ -14193,4 +14208,4 @@ export {
14193
14208
  parameterOptions,
14194
14209
  resolveParameters
14195
14210
  };
14196
- //# sourceMappingURL=chunk-EK5CJY22.js.map
14211
+ //# sourceMappingURL=chunk-ZGRJJ6OW.js.map