@agile-team/mach-report 2.15.0 → 2.17.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 (171) hide show
  1. package/README.md +21 -12
  2. package/dist/{ExcelBindingWizard-Bs43BGNp.cjs → ExcelBindingWizard-Bq6FYME6.cjs} +1 -1
  3. package/dist/{ExcelBindingWizard-BKH1nGNS.js → ExcelBindingWizard-Co1svTsw.js} +3 -3
  4. package/dist/{ParamEditor-Da4akw6V.cjs → ParamEditor-B5UZRgxv.cjs} +1 -1
  5. package/dist/{ParamEditor-DoAhzJsm.js → ParamEditor-DNNARyeB.js} +1 -1
  6. package/dist/{ReportBatchPanel-wP9m9Pj1.cjs → ReportBatchPanel-Ctvs2t_9.cjs} +1 -1
  7. package/dist/{ReportBatchPanel-BMf6boMA.js → ReportBatchPanel-uQh06usx.js} +3 -3
  8. package/dist/ReportPreview-BdQawRh0.js +4879 -0
  9. package/dist/ReportPreview-CJC_-j2I.cjs +6 -0
  10. package/dist/{ReportTemplateLibrary-Sxr3eD0J.cjs → ReportTemplateLibrary-CnP7_1pH.cjs} +1 -1
  11. package/dist/{ReportTemplateLibrary-C9wutIiT.js → ReportTemplateLibrary-TIL_Oj2l.js} +1 -1
  12. package/dist/RuleEditor-DkRjOLlr.js +2141 -0
  13. package/dist/RuleEditor-h5anGsDB.cjs +1 -0
  14. package/dist/{TemplateOutlinePanel-JTSR53vJ.cjs → TemplateOutlinePanel-BlLxRrfu.cjs} +1 -1
  15. package/dist/{TemplateOutlinePanel-D6Bkny59.js → TemplateOutlinePanel-BouxsuqQ.js} +1 -1
  16. package/dist/{TemplateReusePanel-rVuK1kTz.js → TemplateReusePanel-BEACLPaN.js} +2 -2
  17. package/dist/{TemplateReusePanel-Kx35S0Ql.cjs → TemplateReusePanel-yxsHSO40.cjs} +1 -1
  18. package/dist/{TemplateReviewPanel-B0ar9_zf.js → TemplateReviewPanel-B1OGRY2i.js} +1 -1
  19. package/dist/{TemplateReviewPanel-Dn6X9UmY.cjs → TemplateReviewPanel-D9Cx0m2N.cjs} +1 -1
  20. package/dist/analytics.cjs +1 -1
  21. package/dist/analytics.d.cts +65 -1
  22. package/dist/analytics.d.ts +65 -1
  23. package/dist/analytics.js +4 -4
  24. package/dist/artifact-integrity.json +105 -101
  25. package/dist/assets-BIMVwjQe.js +231 -0
  26. package/dist/assets-Dfs2ElxI.cjs +1 -0
  27. package/dist/auto-BIOmtVhk.js +240 -0
  28. package/dist/auto-DDHflI9v.cjs +1 -0
  29. package/dist/{batch-BfZHN1do.js → batch-WzDIXJAt.js} +1 -1
  30. package/dist/{batch-CLpELXBl.cjs → batch-z6Aw5GEY.cjs} +1 -1
  31. package/dist/codes.d.cts +2 -0
  32. package/dist/codes.d.ts +2 -0
  33. package/dist/component-tree-Ca6YYfHq.js +61 -0
  34. package/dist/component-tree-DkGLEfZC.cjs +1 -0
  35. package/dist/computed-BW5a8QFk.js +612 -0
  36. package/dist/computed-C2GD3XcE.cjs +1 -0
  37. package/dist/config-Dg_o8e7m.cjs +1 -0
  38. package/dist/{config-BVsJXSqS.js → config-XQ4qrQ7Q.js} +66 -64
  39. package/dist/dataset-DL83majE.js +161 -0
  40. package/dist/dataset-IrlXbUvh.cjs +1 -0
  41. package/dist/designer-D9XAxqSc.js +5178 -0
  42. package/dist/designer-uCDo5XSK.cjs +2 -0
  43. package/dist/designer.cjs +1 -1
  44. package/dist/designer.d.cts +178 -3
  45. package/dist/designer.d.ts +178 -3
  46. package/dist/designer.js +1 -1
  47. package/dist/drill-ByN8COs_.cjs +1 -0
  48. package/dist/{drill-ByJviLXS.js → drill-CKW3Xtfa.js} +5 -5
  49. package/dist/encoding-BFMFIc4r.cjs +1 -0
  50. package/dist/encoding-DP_Eaf0A.js +21 -0
  51. package/dist/{font-loader-B_UkxpzC.cjs → font-loader-7FWVlykp.cjs} +1 -1
  52. package/dist/{font-loader-Q3bQjmrI.js → font-loader-CQZowp0I.js} +1 -1
  53. package/dist/index.cjs +8 -9
  54. package/dist/index.d.cts +175 -1
  55. package/dist/index.d.ts +175 -1
  56. package/dist/index.js +1343 -915
  57. package/dist/json-snapshot-D7PE1NsU.cjs +2 -0
  58. package/dist/json-snapshot-DYmEe3sO.js +1779 -0
  59. package/dist/matrix-JLAXlux-.js +302 -0
  60. package/dist/matrix-gTHpDTGm.cjs +1 -0
  61. package/dist/{pdf-CvvrjPQg.cjs → pdf-B8JouyYv.cjs} +48 -50
  62. package/dist/{pdf-BwNyeGpt.js → pdf-l3ea86di.js} +2734 -2748
  63. package/dist/pdf.cjs +1 -1
  64. package/dist/pdf.d.cts +14 -0
  65. package/dist/pdf.d.ts +14 -0
  66. package/dist/pdf.js +2 -2
  67. package/dist/{plugin-Ca_XZG3l.js → plugin-BBp74CQZ.js} +1 -1
  68. package/dist/{plugin-DHO7X8z2.cjs → plugin-CtFX9PFG.cjs} +1 -1
  69. package/dist/prepared-CARicKYh.js +87 -0
  70. package/dist/prepared-Ch1x_Gog.cjs +1 -0
  71. package/dist/progress-BXzlVbIp.js +29 -0
  72. package/dist/progress-DJBd9Rb9.cjs +1 -0
  73. package/dist/{progress-D-OTpEav.js → progress-Hc2vxoCs.js} +2 -2
  74. package/dist/protocol-B5A2uom4.cjs +1 -0
  75. package/dist/protocol-BaiWjq5w.js +90 -0
  76. package/dist/record-bindings-B86Sur_y.cjs +1 -0
  77. package/dist/{record-bindings-Do_b3h4V.js → record-bindings-D4TuMzHs.js} +10 -11
  78. package/dist/{region-binding-workflow-BMhK_TjP.js → region-binding-workflow-BNasF5kz.js} +2 -2
  79. package/dist/{region-binding-workflow-DIYJdCUr.cjs → region-binding-workflow-O2Cni3mF.cjs} +1 -1
  80. package/dist/report-encoding-worker.cjs +1 -0
  81. package/dist/report-encoding-worker.d.ts +1 -0
  82. package/dist/report-encoding-worker.js +2 -0
  83. package/dist/rich-text-layout-ALlMoYOG.cjs +3 -0
  84. package/dist/rich-text-layout-Ct5WrY1g.js +102 -0
  85. package/dist/runtime-DakRXui3.js +170 -0
  86. package/dist/runtime-dL5ygIfa.cjs +1 -0
  87. package/dist/sbom.cdx.json +2 -2
  88. package/dist/server/node.d.cts +132 -1
  89. package/dist/server/node.d.ts +132 -1
  90. package/dist/server-node.cjs +5 -1
  91. package/dist/server-node.js +5177 -463
  92. package/dist/server.cjs +1 -1
  93. package/dist/server.d.cts +182 -2
  94. package/dist/server.d.ts +182 -2
  95. package/dist/server.js +918 -833
  96. package/dist/sha256-BshdOkCC.cjs +1 -0
  97. package/dist/sha256-DTG-Gq8i.js +157 -0
  98. package/dist/style-67OqfNed.js +73 -0
  99. package/dist/style-C22Pbv3T.cjs +1 -0
  100. package/dist/style.css +1 -1
  101. package/dist/template-catalog-Dua8h9ZA.cjs +1 -0
  102. package/dist/{template-catalog-j2B1MJlL.js → template-catalog-wT1fNeAP.js} +10 -10
  103. package/dist/{template-fragments-DcKeiylI.cjs → template-fragments-BajTajb4.cjs} +1 -1
  104. package/dist/{template-fragments-BGbQLGlV.js → template-fragments-DmX5XK4N.js} +2 -2
  105. package/dist/template-registry-CpysHAxy.cjs +1 -0
  106. package/dist/{template-registry-BtaKPELV.js → template-registry-u11fPd8D.js} +389 -321
  107. package/dist/{textwrap-DE1kgcJB.js → textwrap-BEIg2w8y.js} +1 -1
  108. package/dist/textwrap-BI-yJ6Wt.cjs +4 -0
  109. package/dist/{tree-BX380Rr7.cjs → tree-CLpxYbKa.cjs} +1 -1
  110. package/dist/{tree-CjVZLRw7.js → tree-DNJorJUf.js} +1 -1
  111. package/dist/vue/async.d.cts +174 -2
  112. package/dist/vue/async.d.ts +174 -2
  113. package/dist/vue/index.d.cts +218 -3
  114. package/dist/vue/index.d.ts +218 -3
  115. package/dist/vue-async.cjs +1 -1
  116. package/dist/vue-async.js +3 -3
  117. package/dist/vue.cjs +1 -1
  118. package/dist/vue.js +7 -7
  119. package/dist/{workbook-session-BvToI-Fd.js → workbook-session-B8pNW24X.js} +153 -140
  120. package/dist/{workbook-session-Bjv1YCRK.cjs → workbook-session-DN5LSA5C.cjs} +12 -12
  121. package/dist/worker.cjs +1 -1
  122. package/dist/worker.d.cts +84 -1
  123. package/dist/worker.d.ts +84 -1
  124. package/dist/worker.js +12 -157
  125. package/dist/xlsx-node.cjs +33 -33
  126. package/dist/xlsx-node.js +1282 -1289
  127. package/dist/xlsx.cjs +4 -3
  128. package/dist/xlsx.d.cts +90 -2
  129. package/dist/xlsx.d.ts +90 -2
  130. package/dist/xlsx.js +279 -259
  131. package/package.json +6 -3
  132. package/dist/ReportPreview-ChV19HBp.js +0 -4619
  133. package/dist/ReportPreview-DbLvvOUT.cjs +0 -6
  134. package/dist/RuleEditor-C_Clasvd.js +0 -2037
  135. package/dist/RuleEditor-XhGHK8DE.cjs +0 -1
  136. package/dist/assets-B9ImAi6_.cjs +0 -1
  137. package/dist/assets-DEaz4qsp.js +0 -124
  138. package/dist/batch-BaP6pWDE.cjs +0 -1
  139. package/dist/batch-CGyt-b2W.js +0 -273
  140. package/dist/capabilities-CAh2Nrue.cjs +0 -1
  141. package/dist/capabilities-DskCHs3V.js +0 -69
  142. package/dist/computed-C-4C2S5h.js +0 -521
  143. package/dist/computed-CGV2a809.cjs +0 -1
  144. package/dist/config-D10us76d.cjs +0 -1
  145. package/dist/data-explanation-B8MZRYVS.js +0 -16
  146. package/dist/data-explanation-DE55G30w.cjs +0 -1
  147. package/dist/dataset-BkRmwgeJ.cjs +0 -1
  148. package/dist/dataset-H5pFuQGU.js +0 -121
  149. package/dist/defaults-DXhiM1ZD.js +0 -10
  150. package/dist/defaults-xhmcLLrf.cjs +0 -1
  151. package/dist/designer-2bDlcNXQ.js +0 -5136
  152. package/dist/designer-BT7XCdbW.cjs +0 -2
  153. package/dist/drill-DYTxuL3A.cjs +0 -1
  154. package/dist/grid-strokes-Cr7DwUux.cjs +0 -1
  155. package/dist/grid-strokes-DyyG1q_o.js +0 -53
  156. package/dist/json-snapshot-DFb2eWkf.js +0 -1416
  157. package/dist/json-snapshot-WWSGlaHG.cjs +0 -2
  158. package/dist/matrix-CGRGkn5s.js +0 -112
  159. package/dist/matrix-gEO7ZM_u.cjs +0 -1
  160. package/dist/prepared-CFy9B75C.cjs +0 -1
  161. package/dist/prepared-ajM-H-9B.js +0 -69
  162. package/dist/record-bindings-By_UKZ2g.cjs +0 -1
  163. package/dist/render-plan-7xpGrCEl.cjs +0 -1
  164. package/dist/render-plan-Ck6koX9L.js +0 -13
  165. package/dist/sha256-ArEYjaTI.cjs +0 -1
  166. package/dist/sha256-DPEuJ3nh.js +0 -155
  167. package/dist/style-CQ1PK8ZB.js +0 -67
  168. package/dist/style-UgIJSA1F.cjs +0 -1
  169. package/dist/template-catalog-FJE_c9Qe.cjs +0 -1
  170. package/dist/template-registry-Co1zPq5e.cjs +0 -1
  171. package/dist/textwrap-CWHyzkBH.cjs +0 -4
@@ -153,7 +153,7 @@ export declare function createChartComponents(options: ReportChartOptions): Plan
153
153
  export declare function createCrossTable(input: readonly Record<string, unknown>[], options: CrossTableOptions): CrossTableResult;
154
154
 
155
155
  /** Multi-measure pivot shares dimensions and original rows; weighted totals never average averages. */
156
- export declare function createMatrixTable(input: readonly Record<string, unknown>[], options: MatrixTableOptions): CrossTableResult;
156
+ export declare function createMatrixTable(input: readonly Record<string, unknown>[], options: MatrixTableOptions): MatrixTableResult;
157
157
 
158
158
  export declare interface CrossTableOptions {
159
159
  rowField: string;
@@ -268,6 +268,8 @@ export declare function getComputationMetadata(fields?: readonly {
268
268
  };
269
269
 
270
270
  declare interface GridCell {
271
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
272
+ richParagraphs?: RichParagraph[];
271
273
  text?: string;
272
274
  rawText?: string;
273
275
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -320,6 +322,58 @@ declare interface ListColumn {
320
322
  visibleWhen?: StyleRule["when"];
321
323
  }
322
324
 
325
+ export declare interface MatrixAxisOptions {
326
+ /** Display names in the same outer-to-inner order as the dimension fields. */
327
+ labels?: readonly string[];
328
+ /** Per-level sibling order; omitted levels retain first-seen order. */
329
+ sort?: readonly MatrixDimensionOrder[];
330
+ /** One-based prefix depths. Leaf depths are not subtotals. */
331
+ subtotals?: readonly number[];
332
+ }
333
+
334
+ export declare interface MatrixColumnMember extends MatrixDimensionMember {
335
+ field: string;
336
+ measure: number;
337
+ measureField: string;
338
+ valueField: string;
339
+ operation: AggregateOperation;
340
+ }
341
+
342
+ export declare interface MatrixDimensionMember {
343
+ /** Typed field/value identity, independent of labels, source order and display indices. */
344
+ key: string;
345
+ kind: "member" | "subtotal" | "total";
346
+ depth: number;
347
+ /** Prefix predicates. Empty for grand totals; never business write identities. */
348
+ fields: string[];
349
+ values: MatrixDimensionValue[];
350
+ labels: string[];
351
+ }
352
+
353
+ export declare type MatrixDimensionOrder = "source" | "asc" | "desc";
354
+
355
+ export declare type MatrixDimensionValue = string | number | boolean | null;
356
+
357
+ export declare interface MatrixHierarchyOptions {
358
+ row?: MatrixAxisOptions;
359
+ column?: MatrixAxisOptions;
360
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
361
+ emptyLabel?: string;
362
+ subtotalLabel?: string;
363
+ totalLabel?: string;
364
+ }
365
+
366
+ export declare interface MatrixTableMetadata {
367
+ rowFields: string[];
368
+ rowLabels: string[];
369
+ columnFields: string[];
370
+ columnLabels: string[];
371
+ /** Aligned with result.rows. */
372
+ rows: MatrixDimensionMember[];
373
+ /** Measure columns only, addressed by their generated field. */
374
+ columns: MatrixColumnMember[];
375
+ }
376
+
323
377
  export declare interface MatrixTableOptions {
324
378
  rowFields: readonly string[];
325
379
  columnFields: readonly string[];
@@ -334,6 +388,16 @@ export declare interface MatrixTableOptions {
334
388
  maxColumns?: number;
335
389
  maxInputRows?: number;
336
390
  maxCells?: number;
391
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
392
+ hierarchy?: MatrixHierarchyOptions;
393
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
394
+ maxAggregateUpdates?: number;
395
+ }
396
+
397
+ export declare interface MatrixTableResult extends CrossTableResult {
398
+ /** Present only for opt-in hierarchy; the paginator supplies final physical widths/styles. */
399
+ headerGrid?: PlanGrid;
400
+ metadata?: MatrixTableMetadata;
337
401
  }
338
402
 
339
403
  export declare interface MatrixTableShape {
package/dist/analytics.js CHANGED
@@ -1,7 +1,7 @@
1
- import { c as v } from "./computed-C-4C2S5h.js";
2
- import { a as W, b as B, d as G, e as H, f as I, g as J, h as V, i as q, m as K, p as Q, j as U, v as X } from "./computed-C-4C2S5h.js";
3
- import { a as F } from "./matrix-CGRGkn5s.js";
4
- import { c as Z, e as _, v as p } from "./matrix-CGRGkn5s.js";
1
+ import { c as v } from "./computed-BW5a8QFk.js";
2
+ import { a as W, b as B, d as G, e as H, f as I, g as J, h as V, i as q, m as K, p as Q, j as U, v as X } from "./computed-BW5a8QFk.js";
3
+ import { a as F } from "./matrix-JLAXlux-.js";
4
+ import { c as Z, e as _, v as p } from "./matrix-JLAXlux-.js";
5
5
  const M = ["#2563eb", "#0d9488", "#d97706", "#7c3aed", "#dc2626", "#0284c7"];
6
6
  function C(e) {
7
7
  if (e.type !== "bar" && e.type !== "line") throw new Error("图表 type 应为 bar 或 line");
@@ -1,135 +1,139 @@
1
1
  {
2
- "version": "2.15.0",
2
+ "version": "2.17.0",
3
3
  "algorithm": "sha256",
4
4
  "files": {
5
- "ExcelBindingWizard-BKH1nGNS.js": "c0b2ac7c91cfe52d2526895c0e5bb742bb7ce7c66f863d4f97b361fd31640e12",
6
- "ExcelBindingWizard-Bs43BGNp.cjs": "ae0d966d20cdeb40e99005bd1c8bdbfa3784e3b5bfd299c3c916a9fc28931041",
7
- "ParamEditor-Da4akw6V.cjs": "30330bf3d2643b6e640f7ddb0ec5d15e5398998d1534758b96558f1173b3c1c4",
8
- "ParamEditor-DoAhzJsm.js": "5a3fef8f755469693ed2c231efd1f5ab9ab2c7029ce921f1fd29461c125f92d1",
9
- "ReportBatchPanel-BMf6boMA.js": "c9de2d6e17bd0f0e301f561a6cc138c7ae53d2689d2707a0391772ca65cdd971",
10
- "ReportBatchPanel-wP9m9Pj1.cjs": "c69ba9b1f4688e21e6ff11019bbeda4cbece0ff268a7ece8c1968b940fa32772",
11
- "ReportPreview-ChV19HBp.js": "0798c40992f7c1507e60eb508b404806051eb2ee557fdb4b6380db04390bf19d",
12
- "ReportPreview-DbLvvOUT.cjs": "cc4a36464df17c42bb83b55d0f4101230729cba4f4be8fda1f7542ae8196fc44",
13
- "ReportTemplateLibrary-C9wutIiT.js": "824ff86e1a348ae8a0f3690213c04feee3bbbf4ac4ab5f90db34a84d02db023a",
14
- "ReportTemplateLibrary-Sxr3eD0J.cjs": "14941edc6e4039a90640a62149cab4dfdd77d98d4b88061fe492d8ec6add2c24",
15
- "RuleEditor-C_Clasvd.js": "990be121efea7fc70e1463fafe60353843a62a141f6a6989024a14928924ecef",
16
- "RuleEditor-XhGHK8DE.cjs": "5ce41f04cc264ad355dec39deee8204733b6b8f623d179c18f014bc552930ad4",
17
- "TemplateOutlinePanel-D6Bkny59.js": "b190187efd4536200805e0b4a2091f89912bbf047b3e388f3f814d7e02a4324f",
18
- "TemplateOutlinePanel-JTSR53vJ.cjs": "c5a76e57d16192acae3e6aae6032c20c4d808050d568a106743eceaeebbd554c",
19
- "TemplateReusePanel-Kx35S0Ql.cjs": "3d63b982380298233ff7100de1d561facd35470a4578d5c9d1872f55541f9ea4",
20
- "TemplateReusePanel-rVuK1kTz.js": "3befc58f74566e3149dc71e7e14fee8f9e3dda6dbd7d092a45578ead36eb9a03",
21
- "TemplateReviewPanel-B0ar9_zf.js": "cb893e6d378b5bc754f0f3ed0aa00b32af4b70513316d2364b9d3f4425ebe3db",
22
- "TemplateReviewPanel-Dn6X9UmY.cjs": "7a35240d3e33803faf0771a28701419e62d0391ce18022a7d20d9aadccc42167",
5
+ "ExcelBindingWizard-Bq6FYME6.cjs": "7d8eaae12f5d1f5e7446955e5cf6701a220377968a0c227dbcff172a6c051328",
6
+ "ExcelBindingWizard-Co1svTsw.js": "84c500475410c06e677f9dc8f0520570e62213f6cbff27404caa81361f241f92",
7
+ "ParamEditor-B5UZRgxv.cjs": "52d24c5b2e678afa8c5c27f22f32080cd01750d9a76f81175eecf839ae913155",
8
+ "ParamEditor-DNNARyeB.js": "7fd743e87fbe62bd8486c7d240795b46c295cd0e2bf49b21841da64dc086f7e6",
9
+ "ReportBatchPanel-Ctvs2t_9.cjs": "64c5fc326dfcafefa6b10ed308af809e3e67a68516272929d28f12428a7e1bde",
10
+ "ReportBatchPanel-uQh06usx.js": "2cb9e47931ed92cf8fe070a514c938f66686cf052a20495cfc828bfe53b438fd",
11
+ "ReportPreview-BdQawRh0.js": "271d1fdbb6245d4037828c9ded3033e5f778d94ef18b5796eb480fb959f7a1c2",
12
+ "ReportPreview-CJC_-j2I.cjs": "28622a3b2d082769f538ca16e4c16419ff5cbda19ca7bb8c534e31820c6ae020",
13
+ "ReportTemplateLibrary-CnP7_1pH.cjs": "492e41b24b56f2c9bf13afd1800c6ac0b8a549b747c33fd9d3df88bb404ae43b",
14
+ "ReportTemplateLibrary-TIL_Oj2l.js": "5cdfcc9600df278a54ede2139285418c426b0846ba5dbcf343ac1e7e3e66d3f6",
15
+ "RuleEditor-DkRjOLlr.js": "cadf904821e9f72429a370fda244dc976698b53848410570d05cd7ca57732647",
16
+ "RuleEditor-h5anGsDB.cjs": "b7988c516e9e561ed4031d336b539de62c12c25e8fa3053f95bcd3a664529118",
17
+ "TemplateOutlinePanel-BlLxRrfu.cjs": "e0b0b63a041483c76a0981c1db4be0757ce95b3194bb86e72079fe0647ad5903",
18
+ "TemplateOutlinePanel-BouxsuqQ.js": "4e1f53db3e710f91f5d03ab0ddfb4d033d1d9d892a5b0aa80ea5f5389abf8eb6",
19
+ "TemplateReusePanel-BEACLPaN.js": "7f354479fec2215f7883aaac1e387ed4c67a807086e0ec493be12c2475b6c7ab",
20
+ "TemplateReusePanel-yxsHSO40.cjs": "5ea1257656d2f974686f49e7aedfa4cd29585a74ca1a90f30b0a6bcbbf5a5f40",
21
+ "TemplateReviewPanel-B1OGRY2i.js": "9190b5d0b95d3cb3672e567d0329af31cca9bbacea9a921663326e48cea0d09a",
22
+ "TemplateReviewPanel-D9Cx0m2N.cjs": "bd13103c8c7e26fc83abbddc6e59650e0c39400941128d6582ea8667a55a1dea",
23
23
  "_commonjsHelpers-DKOUU3wS.cjs": "9fb4a8db4e3ab1aba23d44b6965615369004c05bfb5a323027ab5191080340d4",
24
24
  "_commonjsHelpers-DaMA6jEr.js": "6d52e5d0f36d01714a54c94e082101e88ddce58c7189eeca8f2abc012a7cea12",
25
25
  "_plugin-vue_export-helper-8SL1F89S.js": "233ffd200e30e23b8dad3eaee11bc8ef37724bf79606de66035c07f92dc5bd3d",
26
26
  "_plugin-vue_export-helper-BLmdZLlg.cjs": "f7b5ccf7b4a1d92229cd7906bb614a43b84e50d340e80a509d64ac9a7b0b172d",
27
- "analytics.cjs": "47659796d79cead758241fba2248cd138aee50e6ce53af688537cfbe403c1a98",
28
- "analytics.js": "a777e2720a6d6687f699f7214b22e2835cee9383dd692bc1786148773bc6230b",
29
- "assets-B9ImAi6_.cjs": "89e28147290a5b0f6091ce8089df5f7486fa3b26be55c4d9d6577e9d53639158",
30
- "assets-DEaz4qsp.js": "04b013bae5a3d7ac7d090e3feb64e3b19be9cd37bba20fd9dc6f9886d8d979f3",
31
- "batch-BaP6pWDE.cjs": "f800d14486f6056e67081e3ff9a04bfb0c8736d123bbd7c5f432eddc55e2ffa6",
32
- "batch-BfZHN1do.js": "e2fb4375284e996b5673b4393acc9389196f9cfd331f4b2d5167036c246ab844",
33
- "batch-CGyt-b2W.js": "513164b2f553bfaefb1e61d985ba1d8757a91a86e2b7273e06650f32e36a515c",
34
- "batch-CLpELXBl.cjs": "de678fbf54209f36b959961ce78d7d8db2ce398d21222790c819ceae344e0f7b",
35
- "capabilities-CAh2Nrue.cjs": "211cab7f9670f25d9f2280c306732b1fba6fb7e101c1e88195b80968eb822b31",
36
- "capabilities-DskCHs3V.js": "c865b4ca8ea70817410466c24ee6bebd46ced78be093a80a33746574169a0032",
27
+ "analytics.cjs": "fc0806f827dc80af388b0eb78e0e060b21b2a4ff474ec4d9cb0fca9c25c2214e",
28
+ "analytics.js": "06165b51f1ab2a811a0457495e8ec77d17d88d09f0026da2bcabeebd29604bef",
29
+ "assets-BIMVwjQe.js": "155dc8cf1b53ee5f207b6e9d5914cb5488a89ec5226caede46810f89bc6bd7eb",
30
+ "assets-Dfs2ElxI.cjs": "a85f1b21ab47e5ad280082753a28e42785a01aed074a0feecc790be329189fb2",
31
+ "auto-BIOmtVhk.js": "80d068413faddcab8bd9870464015a00c1a0275f0f3da4901463e3a06a9d4c8d",
32
+ "auto-DDHflI9v.cjs": "92182865e96096392603157b0d80e491055c4ad45a3bff5bf32bb92ac7bfc270",
33
+ "batch-WzDIXJAt.js": "08676300f96962344825f1a3c6b586869b76ea3707a372a3e0ab472d1dad0337",
34
+ "batch-z6Aw5GEY.cjs": "b01fc93d336af9177de74b81ba788137ea4c81010b2d9c5c19f4862f775e6b87",
37
35
  "code-options-BKXXY7NI.js": "67696253b923c214c5b628f86c65968d4de6e0812cb142bdb043806be6158038",
38
36
  "code-options-BUTChiZZ.cjs": "19e0f584437bbc31c39a662e20ae288c32b6e27db7f0fd9a79fd8c2465673011",
39
37
  "codes.cjs": "3edcb3b0418ab0b3ef2875ff4486cf3ed2c2763afee3bc50073998aa66d2109d",
40
38
  "codes.js": "38e33033b1eaedc91330385891a39c052b4a226691dd48f6f192eb6bb64b4aab",
41
- "computed-C-4C2S5h.js": "4bf37be1ff522d7751545434d1a0da8ea2971f88377edbac5833cfcbacb2f1df",
42
- "computed-CGV2a809.cjs": "c9d9b8057d1e7cfa7cc5ca50b5c1daa8f4c2d4106c3be9275b5eb390ff17d8ea",
43
- "config-BVsJXSqS.js": "b1084ac95aca8e5af13c88073d4e08322eb3f28579c79625369592d95d16ed04",
44
- "config-D10us76d.cjs": "87393d0cab147b9a0cbc5af7896c83fd2331f83bb6dce0336799e0fa9f8a66ed",
45
- "data-explanation-B8MZRYVS.js": "b64c128424c5c7f83c327bc65a83b60b81fc11dd3325d45e7c5785ad7fdf8eec",
46
- "data-explanation-DE55G30w.cjs": "7b2e010ca1904759e02edc6b48ed03d1282572c6f5784441f78b2c13c3b9febc",
47
- "dataset-BkRmwgeJ.cjs": "d75b78799113b23e5caf76d45e2a0686013a12f8e090b43aed27bc580901797a",
48
- "dataset-H5pFuQGU.js": "d9c6df9fb2e4cb1f5dff027025ffc2e64494cfcd3202c731979371169148bad9",
49
- "defaults-DXhiM1ZD.js": "a11281ca53f59075046485ad8d4b12dc676a1184776394ebb0a2cae819c9c2f8",
50
- "defaults-xhmcLLrf.cjs": "c44735c94e55039c6c524b627029ec2c404e082a3e98aeaff94713924e745a41",
51
- "designer-2bDlcNXQ.js": "e0f59bc7264476961cac8ea6bc7ba39d49fef38b67a5d8a34f92e06687eb2b08",
52
- "designer-BT7XCdbW.cjs": "a2341c543c39fd4e4717b2b3bcb7209064c3c1cb5a259a14a9d5760e338bc194",
53
- "designer.cjs": "8c4489997556ef0363bbbf2caa878ea4d0c6063d02fec6cb314576fb200cd2d8",
54
- "designer.js": "9db0e3a32e0a00f9dc94184a3beb4a1386215686f5114a5a2a0f988ac3de9380",
55
- "drill-ByJviLXS.js": "5ca637aefaffa5f36f2b99f58019d8b1ba91e61d3d418c2deddd63d0a3e35ce5",
56
- "drill-DYTxuL3A.cjs": "986ba89a46234fdc5589ae96af6e826a23b9fef8991c32cfddf4410bfa19d1e4",
57
- "font-loader-B_UkxpzC.cjs": "57dc350e45e64ba35b774b79a11264d5003be5aa0064f7c425376ac29eb0a541",
58
- "font-loader-Q3bQjmrI.js": "ec844d311e08dbe3b395694e257fa9184e35cf8195942a4af570720ba4524f4a",
39
+ "component-tree-Ca6YYfHq.js": "670a056427842a67808388750cf740d154cf6a69863148adf8fd0f949de7431b",
40
+ "component-tree-DkGLEfZC.cjs": "fc06793d3337e8b524d813a9d67efd005c59c49cba70dc32ace17ab20b518195",
41
+ "computed-BW5a8QFk.js": "0cb53b14336df92dcf8173a2a798a381c9d8f00a966ecf5f9937e85193e942db",
42
+ "computed-C2GD3XcE.cjs": "6044dcfaab3afa04051a106dd055ddfd66a13855128798b13562017954a47064",
43
+ "config-Dg_o8e7m.cjs": "491db6b835b7641ee1f96af872535803207e7373ea0fd2b00b9efe6f230917d8",
44
+ "config-XQ4qrQ7Q.js": "d6e2d763c055def8a482d150761a1b9cf75aea20401cadb6036e4a46a1e0b506",
45
+ "dataset-DL83majE.js": "5733ea2048b60120b6f74ffb485b92abfa62712bf1e045debebbe50631643a3a",
46
+ "dataset-IrlXbUvh.cjs": "fcd1efa71845aa6ad44559918cc8206a473c4ce343afb057ba91d23b041363b3",
47
+ "designer-D9XAxqSc.js": "bfc1819b58178e8962834d6b1398828ce44cdeec4e5216c2d199ff1f4a85db4b",
48
+ "designer-uCDo5XSK.cjs": "14ec2bb67994806945543a98b1880c071bdce0930ca180d7b20abf93a614fd84",
49
+ "designer.cjs": "8a08a47bc5b2de8c1a6d8cd9a0b07c8534b7d8a4f86110d6e7760ac5dc299e26",
50
+ "designer.js": "ad554c9376df73cf88a6ecde6b3e14373d48098c9cdc5e8e0d1270f38f7cfa55",
51
+ "drill-ByN8COs_.cjs": "23c130cd9ff7aded5d5d1322fab7f3b85dea5c1deab84d3212b30a8923b25cb3",
52
+ "drill-CKW3Xtfa.js": "8d4cc31e111da191c37c4013dfc8b4881e981e700721d83c5bf6705d627b4a86",
53
+ "encoding-BFMFIc4r.cjs": "93dd52be0dd7c67b7e446ea79502f5f5a82159f00aaec558b9c687bbc38eadd2",
54
+ "encoding-DP_Eaf0A.js": "fd84a779b99a868e5f6cd1c7271966567e39627937728623bf8178fc20d72586",
55
+ "font-loader-7FWVlykp.cjs": "aa02b14d9dc9a04436ab02723b181042a39f0b188ca8f595965efaa404b090a8",
56
+ "font-loader-CQZowp0I.js": "10e4163cbd16c89fdf5ddb92cb1415b7bb2a76ad66086d5271fe362c429f7f5f",
59
57
  "grid-geometry-BNptEcMm.js": "180cc0308e198cde7e18018adf0471053fb72e9ac54abb26970fc6e4d480de6f",
60
58
  "grid-geometry-CZ_cYB6O.cjs": "40affa6f5912a038b19c16e9371be139fe681c344ed3fd11d19e330feac682bf",
61
- "grid-strokes-Cr7DwUux.cjs": "72b5e29a276efe5fca8a642c660a7490525d4470419e83abc4dd1be4ec1e7734",
62
- "grid-strokes-DyyG1q_o.js": "a967a38f557b43a04eeead17059a8758b65e80b49b87dc05d299a27b915f6871",
63
- "index.cjs": "5a428078eb0621808c6b50f2f6a58558c95ed204b697ee26d7434a1079ba1df6",
64
- "index.js": "50158f989aabdfcf61cc655a10768a2cb270513f1ae44d02349aee36f0a30b33",
59
+ "index.cjs": "99a8aa11b86e49f0d3491ea518c569f0fe48517d67217e9804369699fdab9043",
60
+ "index.js": "1fd9daba8f4c34949b6c01b8c4725c637a4992d3a9b4858e7869edc9699b9fcc",
65
61
  "injection-keys-Db_DyLkm.cjs": "0d656460efa0c48f6153aae745dd61a7907128938d98b358b5b6d413db5ec4ed",
66
62
  "injection-keys-e85udZCp.js": "101e96fc627b33003ba295d281e7f7bfb2c077300556b2bf039cb1938e36f582",
67
- "json-snapshot-DFb2eWkf.js": "c6adbd29621f0b69184a22f097c5543dbf872ce9052ad003bf4b9e1a1561e2cf",
68
- "json-snapshot-WWSGlaHG.cjs": "8098d8bd5e85fd3dc326b8c62920496aa48ff42653a12021ab0bd9a5d2434f98",
69
- "matrix-CGRGkn5s.js": "71db4bb0c563f1e101f8e9cde245ae37191f927f9c5d2346e6378b9e4dd907c2",
70
- "matrix-gEO7ZM_u.cjs": "3c19aaff2d811ed7a816ee0b5d1dab38b4039528f21f98aeead2304cbd33e5ac",
63
+ "json-snapshot-D7PE1NsU.cjs": "822ea7f373e05abb35886535a514ec466f90bc04f20d6a58d1fa2c19a333a6b9",
64
+ "json-snapshot-DYmEe3sO.js": "2590243f8c1e2d910195571c1c66833c18ac5c72c91bb1b7457a108bb3f1befc",
65
+ "matrix-JLAXlux-.js": "0d46a549fc7149cdaa6b08ac417a461772485cc7ae53af1daacadd0e4ec99935",
66
+ "matrix-gTHpDTGm.cjs": "51355a56e905f2c4672c1d0dd95b4d3e5faceb8d46d3a2f9ac6c6878a565505f",
71
67
  "media-B7vnpD8k.cjs": "c667063f9745af571f35561ec272496f0e3d7b7d4ee003a823003337155497d9",
72
68
  "media-Y90dHK9z.js": "5cefe7f0b0b6cd6e921af27b107f17c076479a8977bcb8ed4c84dc60e7af8408",
73
69
  "number-format-BA_KwrZe.js": "0d508920bb83987e7bb73ebb1dcf985b06dde043b036e65c9907247e40ec1575",
74
70
  "number-format-CZ2T_5kF.cjs": "bfbf7b30ddf4d27c80917f17c6609cb3a339436fc0a3d7a643ba5ac8faae0aec",
75
71
  "param-validation-C3HlcLLO.cjs": "fe838546c8dd593a2e67a99e7d42bf4d0d24f3d7db74377f5ac1026c9d3153af",
76
72
  "param-validation-Do7Eg8Zv.js": "3df7551a459a8f338f80431451913da39f156f7573a23ca5c951b03cd948fbc4",
77
- "pdf-BwNyeGpt.js": "4c5f83f4700cf905dcb1a9827646ba3ef8f83b8e9eff44dda4a03a7c69bb55e9",
78
- "pdf-CvvrjPQg.cjs": "3328fd2277e2554cc769af9b2909de22a60e16b0f9f7835631860105665c5d37",
79
- "pdf.cjs": "4fbf7a24561989a47097eb189950f0db235b3e5c01f47ef3b7f90fe064fd5ff3",
80
- "pdf.js": "ca60f65e2492c154a63553ee056343cd50dd146c2fd60561f6231193de72a13b",
81
- "plugin-Ca_XZG3l.js": "d91f1f927600479cf9ec076a0f1108124e4be9a13fc94e2e9c26416ef0beee2f",
82
- "plugin-DHO7X8z2.cjs": "5a5268133e6a202099fcd42d330b3bba89d60c80500605059255393aab68ff57",
83
- "prepared-CFy9B75C.cjs": "f96ab5e4231502db5afaa2c3b1fb1b4d1b72c1a2df030618fb6d2a367f869973",
84
- "prepared-ajM-H-9B.js": "36bc66698ec180802c3a989c5537f6286b506bce3df5534790db5754e8699984",
73
+ "pdf-B8JouyYv.cjs": "87ea132cc228614c77a54da3762aeefbc494ab74398140cfca0a6a2311ee2ea8",
74
+ "pdf-l3ea86di.js": "19d74b6462309e886a5c62c2c46631fdf7df16a0ad289c525c65d1a31f9b1e61",
75
+ "pdf.cjs": "cdb0c72fce296bee26b4cc240e752fae3906a85d63cc7f781d603ca35c45eba3",
76
+ "pdf.js": "3016919055649289b573ecbc5bd7511d33bd0da50991617a0d5ed3a6e02f80a2",
77
+ "plugin-BBp74CQZ.js": "04a88a735ccfac968e5228c60da7440be4ecd813686d40cb402d6fb51ae7828f",
78
+ "plugin-CtFX9PFG.cjs": "361f1a9790f6053abf630031e705f7d3afddca30cba65b69b2d044b00a24d7a1",
79
+ "prepared-CARicKYh.js": "8140dbbed4f05a71e34cc323053cc3debdeddf9911170d1a2b6bd581bfd8d68d",
80
+ "prepared-Ch1x_Gog.cjs": "63e2989d4ea4c24ef95bd8fff2fd05e71689f39c84b304896d2f255ce665b901",
85
81
  "progress-B0ctFpKf.cjs": "1bcb7711c2376494e34ac355853a2872a7401ca93f68d64b674546005fffff3d",
86
- "progress-D-OTpEav.js": "3fe342dc30d8906d05b5c77521495928d02256e88bdeaddb0a074254bdf6cfc5",
87
- "record-bindings-By_UKZ2g.cjs": "7efb8fcfb50b77a8823db791f3e1839a21eaab8364bf048df6ce7decd928571c",
88
- "record-bindings-Do_b3h4V.js": "4a836d93212b79a65138580ae63e6c63f06cb36a602addaad0591b4f1b5b9ae2",
89
- "region-binding-workflow-BMhK_TjP.js": "fca44c82041056e35fddeea104c11205cb0f83d0e66ebdcaba623e2c93f8c742",
90
- "region-binding-workflow-DIYJdCUr.cjs": "9db88122ed4c28aee321508461b969a14cef491d778c8bd86f43e4affea1291b",
91
- "render-plan-7xpGrCEl.cjs": "8ac441119a7c0f562631c0dac060b5995f619e993aba16a4387daac7caf0f3d2",
92
- "render-plan-Ck6koX9L.js": "d334eb13d25e608ac5745c6a78aeeb0967035e8639272a84aa3adc76f5580888",
82
+ "progress-BXzlVbIp.js": "aac2149222ce5bed9533f609a7de79367bd79f85a5915bcd86b34adc74eaba90",
83
+ "progress-DJBd9Rb9.cjs": "466d542700eab48cf11710a6639da603a52bbab19730151fa1594b472c0f1ee2",
84
+ "progress-Hc2vxoCs.js": "ac468035f7b5220499c5a1196f018ae6791545c3fff9b8c3715a101dcced53e3",
85
+ "protocol-B5A2uom4.cjs": "409b181d0948e60ec6a80d1728432ac4feb40d0f2e2182bd54ec7d99301b7cf6",
86
+ "protocol-BaiWjq5w.js": "3c2f8076f768b089a45d130ff0f980dbbe39187cccbf923f12c1b898bb8f0a98",
87
+ "record-bindings-B86Sur_y.cjs": "3d989579fc6e885fd4cf61cfb31ecc18bd9b852de7b718acc25164fa5865363d",
88
+ "record-bindings-D4TuMzHs.js": "7a13b4111f12434e9f7fbb31b97819a6dda10d75369f695e6d19f1f20ea91bba",
89
+ "region-binding-workflow-BNasF5kz.js": "2261d9e1399377f97edc7f4bc8f9f9fd73d99906fe667a46d5a9cc30157f0523",
90
+ "region-binding-workflow-O2Cni3mF.cjs": "6dc4d6b53bd6c0a9bc7afffd5e740190e6e949e7475825f9b3d8b077db5c09c1",
91
+ "report-encoding-worker.cjs": "d591956f39122e12124ca57b4bbaace993f6ebf2330e4e40940e4a04fe6bf863",
92
+ "report-encoding-worker.js": "cc758498fdae2441b40a422a815e4a380f37a65ed002a605ab1e8a6b8449af30",
93
93
  "report-params-B1RzkhJj.js": "208655467564d74a22ad6b28baf70fc93c42e917563c57165e7d54bb2ea94483",
94
94
  "report-params-WDGrA4oP.cjs": "c4cac710e92e9a8199f8b74b1f9f593f15f01ab39c0a11a59e1550249ce8a8a9",
95
- "server-node.cjs": "a0a5dab7d081647f880d32861d55333ee6e7d4bb6fb8b5e31a1e0ba073566298",
96
- "server-node.js": "e9a4f1845d59e76e7b592ff1ce9d96b8ef16381e01de4acf2431ddb4eb04e0b0",
97
- "server.cjs": "58c6cd76ebca0a8bfbbec4b6bfd5bde93db0052726ce9cfc6ac10aea89b20e6f",
98
- "server.js": "13766bab66b8377324a88416ff4cc401df3b15d948da12124c475d95ee1a2f37",
99
- "sha256-ArEYjaTI.cjs": "d42bf9be735724cd66bf623ff5fda6ec282c1f76dca7bcd94d7c8f686221d474",
100
- "sha256-DPEuJ3nh.js": "c076f58d56d5a1068b5a6be61951864e5b4dddfefbb1b5563e4300b2a81f4fdf",
95
+ "rich-text-layout-ALlMoYOG.cjs": "b9d9eaa76ea858c58a1a5de12fe2a90a9f8e94cf4ad8a21bf86c42bf9b526f2a",
96
+ "rich-text-layout-Ct5WrY1g.js": "a48bad89ddbedb011e94768a7f11bc47f91773e7a61f36b88e5e15f68f5c27bb",
97
+ "runtime-DakRXui3.js": "be3f1ce1694db4a0717683ca6f2265dfabe4a829ffc1e6ac805b74a351fedf92",
98
+ "runtime-dL5ygIfa.cjs": "957f542b68f7c59f99e09e94b75b8100fdad5899deb79c0a05cf8eb3ffba0f6a",
99
+ "server-node.cjs": "a94875319460108a876087599983656e4a474bc082d95f56ee61eea25075e9c8",
100
+ "server-node.js": "725cff5fa0222c6a5e6ce872a7bcf9add16dceac444e24a12c768e6425244867",
101
+ "server.cjs": "a764e373561825fe41929e57f015d080bf23f44ba38ed374ea590e9755fb33b9",
102
+ "server.js": "3e4ab340f24503a8e3d8846065dab997a9cee6508afd1488a484c57e3876e046",
103
+ "sha256-BshdOkCC.cjs": "aa4716ee55d1ecc3b565dd5661aa408a744e78ab301b6addcb66b61c909802a2",
104
+ "sha256-DTG-Gq8i.js": "47de16f759541212acd582b3ce426d99dd7c880b7cdb76ba2922b52935177b43",
101
105
  "sql.cjs": "3f6410be368c6f8e3677e5c8a10fa76943685c49da1ab725262def05b13872ff",
102
106
  "sql.js": "8c44d864340e02ec5ee4512e31b787da5dd1d3e7be750ab8280cfe2d1d733c06",
103
- "style-CQ1PK8ZB.js": "bd9a779f369ee66583096f8bff606b72bc07964d16e6a9f0cbe61148e7c10600",
104
- "style-UgIJSA1F.cjs": "7eba440631cc9f35e3e5cfffa2847dd53c3d7357efc7c53ce8897632fd68a9af",
105
- "style.css": "4ac758c8281c97ccce383af7c7f6be081726f7c63ff60c2c843261570a1cd8f6",
107
+ "style-67OqfNed.js": "d312783bb950b87b4a5c39b88e66444d4ea614e15e958cf7197952577f279ef1",
108
+ "style-C22Pbv3T.cjs": "34f47df699dde93fe84aecd4f1bcda7554f2fcb145ec3a0aeb2e2b200fa24a29",
109
+ "style.css": "3df3301ac19b015dec7c6cebbe18b6a5fbc0f9ffd7c2aebe700e9253b4b996eb",
106
110
  "template-bindings-C2SpvsMU.js": "cf9a5d0a52e56c3c8d2a247d8615b3cd2924dbf45d253b710a1564d813a20804",
107
111
  "template-bindings-CEtWyiLX.cjs": "746726f0b6d3ddaaa3cc7a77b050d422090d9f71fe327d8e113f9a78208c79fa",
108
- "template-catalog-FJE_c9Qe.cjs": "dcfb05f7f7de45abba8bf4853100e5f61857ac1f6979ad66cec0a394a7511257",
109
- "template-catalog-j2B1MJlL.js": "657c1365e394362ebf7d2fda21ff50bedd41f0ae921427b1c0282297d98c4e37",
110
- "template-fragments-BGbQLGlV.js": "a994e2ae73ebbdca22afe14a6fb669b36d803aecde1c63ce89b2a3545132e0ff",
111
- "template-fragments-DcKeiylI.cjs": "75eabcce09bb86ed9c68dbbeb12918374e777ddc275e3dc939c16b84ed76712a",
112
+ "template-catalog-Dua8h9ZA.cjs": "5e2c8350daa6637088f66e26a59b7eb167703ef10c68095465fa49e2398da93a",
113
+ "template-catalog-wT1fNeAP.js": "3320c5b0e70178cd833281e6766db419a11aead0ee3219930c7fec7c85993435",
114
+ "template-fragments-BajTajb4.cjs": "e95a45469f573984432a659dd180a10013fb21dfcef59a16217acc30cd456e02",
115
+ "template-fragments-DmX5XK4N.js": "a174c0bc0c6b877eed77011d6729c2f0e3db952e473c98e920394c54234d7870",
112
116
  "template-outline-BwRV_eRo.cjs": "3f6781876d65189382ed1eb466d05309d46d60e7223d3d5cc3c91f9d9346d46b",
113
117
  "template-outline-cnWfT_LK.js": "cd4ad4f5b0e1ce59f3cbd58ae70773fc5d92cf48f277c10c35acf8d179a09b89",
114
- "template-registry-BtaKPELV.js": "f24193e4d91922eaf2dc3c579021910352b63fb3cda71afda4a3adc8ff61af62",
115
- "template-registry-Co1zPq5e.cjs": "8625cf15c6ab656b859eca4ffc9a9f43396b293e1fe1c5b4edbca5a0307b1d61",
116
- "textwrap-CWHyzkBH.cjs": "aba74f8f94b77030e4f9a0ec6d8eed997e59d2b5e414960443e64358785d2783",
117
- "textwrap-DE1kgcJB.js": "2619037e148f4a97668a788c735f86725d9e3608be1fbfd4094c60e5ff1674d9",
118
- "tree-BX380Rr7.cjs": "c4c877dc23084f7ed8f811cea585e328c4c0dd8fcd113c18e5166d5247da6ae7",
119
- "tree-CjVZLRw7.js": "77a2002b8e569423e0815d5fa2a6ea2559edcf9086f2f5b86d98de475cbe9677",
118
+ "template-registry-CpysHAxy.cjs": "13cbaf94ea12a10033bdbda629e4e6deca49e55eca508130ae60391ba4cc99d6",
119
+ "template-registry-u11fPd8D.js": "055a79a2594bde0c213e38458256374aed4cb6d65b1abd277cf45886358c828d",
120
+ "textwrap-BEIg2w8y.js": "391fbcd7468462d73910080a663bb95e5efa6f6bc5bf3bf652f37c89382c20ed",
121
+ "textwrap-BI-yJ6Wt.cjs": "86aee53d95b279799aef6281e73fb642abf5ed77a9a6ccf41f2decbea11866cc",
122
+ "tree-CLpxYbKa.cjs": "cac442d63e7d3b572160dddf53c6f4ce880eb7e396a4fd99b1019c21253eecef",
123
+ "tree-DNJorJUf.js": "f1676d220a86c655656bb518e76c4d868ba05184473f4a5575d2d9b4aee583c2",
120
124
  "useLocalDraft-BnhcxXk_.js": "4329b21ab9806f229ec5039c48d140184f1a8b17713972548016e36d8c5ad2a5",
121
125
  "useLocalDraft-CioIfDb6.cjs": "4aecc84e63a2bef15f690937d5cea415a6e5c529b1d7a2575d738215c1ff908f",
122
- "vue-async.cjs": "83296331440281d8f7600e3d4722dd737a36320e1e14911bddabc94e452b2286",
123
- "vue-async.js": "3dfb372643696ab0297062566ee221c22808f558f80872f22b3270f5943d230f",
124
- "vue.cjs": "2117c43a658c5bd9856a8a3a70e972295449652e526804a49bcde6aeb0b7c1cc",
125
- "vue.js": "8daa74fa4a8f963a172a18c278d3effc8bb567367afe86d1e9e47bbb62714af6",
126
- "workbook-session-Bjv1YCRK.cjs": "cc773f744470e4097aed03d995fec3b0b2e4eb2aa2a0d55535d042238502128e",
127
- "workbook-session-BvToI-Fd.js": "9c26ed8c3ab1a51b680c3c83a3cbc3a5d1002e973dacffee26c0104633dfb905",
128
- "worker.cjs": "0218c9bc584facf2aec7882db6b0551cf2d4ab80a6345d0b71f1d2e04bf8a9ab",
129
- "worker.js": "7f57804ca4ad9bd49005ceb4abb145b0e47924a29e266c5f76a9268ef169e0db",
130
- "xlsx-node.cjs": "cc7b9a891a914a44466819cb12f495680483518f916f2b889ee9a18ad9532672",
131
- "xlsx-node.js": "a3ca957033da17dfd327529d2ecb65c74564f7a85dfc2130344ff6f55f76bee2",
132
- "xlsx.cjs": "d38c3fbab9ef8756c8905ab154d1372e39ed2380c1c6e2686f016639d216ef1a",
133
- "xlsx.js": "9bb94e4ad92d9d590c9cd445e0367b0434b44ab1424e8a5971425751aa37c84e"
126
+ "vue-async.cjs": "7722267da993774baa6acd5192b514b1bab0c06738afd857ae4bd9bf9698496a",
127
+ "vue-async.js": "a9594fc13b270b1b6585395ed827a137f580c13e9cf1d11afe3bf178ef312aef",
128
+ "vue.cjs": "199ca38f5f899f773083b167e8a0aa66306e530bfe784272aaeb782b9e7284f1",
129
+ "vue.js": "de324e6e2451b04bd9d06722aabbcd87c917813f242183aff0d4b3a32f0b8ef4",
130
+ "workbook-session-B8pNW24X.js": "fb2f3fd6002643e7227d23de5c6ec3e98958922f5483e9ef2de4242548167825",
131
+ "workbook-session-DN5LSA5C.cjs": "9c3ebcf4b041a78241b9ce23c556c3d5f1e8d926fe6983abf71f0bc2716f1079",
132
+ "worker.cjs": "011fbdbd9c1504fade84e731ec5401e06242492ab2f051fbaab6e002a77636bc",
133
+ "worker.js": "6a91a741975404a4c901b18e2a39afb8607fbaa4bc75d6ca296e209e618c1f3c",
134
+ "xlsx-node.cjs": "178988375a5c3ea69d7741f03026479ed6644f589076ea5838804ec8f552fd3b",
135
+ "xlsx-node.js": "3046b2a44983b5ce37856e871dc51fcfd4f6da0ff9421935330b8b9272628210",
136
+ "xlsx.cjs": "41695773f3457350ad87e92391baa1b951685800ead2070aaf8cb80dda9bed08",
137
+ "xlsx.js": "5111dd5442525929afa2f912c29e74523544b5465a13fe598fa664c2d72076db"
134
138
  }
135
139
  }
@@ -0,0 +1,231 @@
1
+ import { b as D, i as I } from "./component-tree-Ca6YYfHq.js";
2
+ import { r as C } from "./grid-geometry-BNptEcMm.js";
3
+ import { b as p, a as L, w as j } from "./progress-Hc2vxoCs.js";
4
+ import { c as R, I as O } from "./media-Y90dHK9z.js";
5
+ function x(e, t) {
6
+ p(t.signal), L(() => t.onDiagnostic?.(e)), p(t.signal);
7
+ }
8
+ class k extends Error {
9
+ constructor(t) {
10
+ super(`Output contains ${t.length} known fidelity issue(s): ${t[0]?.code}`), this.diagnostics = t, this.code = "output-fidelity", this.name = "OutputFidelityError";
11
+ }
12
+ }
13
+ const T = /* @__PURE__ */ new Set(["text", "rect", "line", "ellipse"]), B = /* @__PURE__ */ new Set(["image", "chart", "barcode", "qrcode"]);
14
+ function X(e, t) {
15
+ if (!e.grid) {
16
+ if (I(e))
17
+ return (t === "pdf" || t === "xlsx") && !/^data:image\/(png|jpe?g);base64,/i.test(e.imageData) ? { code: "unsupported-image-format", message: `${t.toUpperCase()} accepts PNG or JPEG data URLs; convert this image before exporting.` } : void 0;
18
+ if (B.has(e.kind)) return { code: "missing-image", message: `${e.kind} requires imageData or a renderer adapter before output.` };
19
+ if (!T.has(e.kind)) return { code: "unsupported-component", message: `Unsupported component kind: ${e.kind}.` };
20
+ if (t === "xlsx" && e.kind !== "text") return { code: "unsupported-component", message: `XLSX data export omits ${e.kind} geometry.` };
21
+ }
22
+ }
23
+ function h(e, t, n, r, o) {
24
+ const s = Object.getOwnPropertyDescriptor(e, "meta")?.value, i = s && Object.getOwnPropertyDescriptor(s, "componentExtension")?.value, a = i && Object.getOwnPropertyDescriptor(i, "id")?.value, d = i && Object.getOwnPropertyDescriptor(i, "version")?.value, c = typeof a == "string" && a.length <= 128 && typeof d == "string" && d.length <= 64 ? { id: a, version: d } : void 0;
25
+ return { ...o, severity: "warning", format: t, pageIndex: n, componentIndex: r, kind: e.kind, nid: e.nid, ...c ? { extension: c } : {} };
26
+ }
27
+ function b(e, t) {
28
+ if (!e || t === "dom") return;
29
+ const n = [];
30
+ return e.rotateDeg && n.push("rotateDeg"), e.opacity !== void 0 && e.opacity !== 1 && n.push("opacity"), t !== "xlsx" && e.align === "justify" && n.push("justify"), t === "xlsx" && e.letterSpacing && n.push("letterSpacing"), n.length ? `${t} does not preserve these styles: ${n.join(", ")}.` : void 0;
31
+ }
32
+ function S(e) {
33
+ if (!e) return;
34
+ const t = ["backgroundColor", "align", "verticalAlign", "lineHeight", "borderTop", "borderRight", "borderBottom", "borderLeft", "borderColor", "lineColor", "lineWidthPt"].filter((n) => e[n] !== void 0);
35
+ return t.length ? `XLSX rich text does not retain independent run styles: ${t.join(", ")}.` : void 0;
36
+ }
37
+ function F(e) {
38
+ if (e.kind !== "text") return;
39
+ const t = S(e.style);
40
+ if (e.leftMm || e.topMm || t) return { code: "unsupported-style", message: `Nested XLSX text is retained as rich text in component order; absolute child offsets and independent paragraph styles are not retained.${t ? ` ${t}` : ""}` };
41
+ }
42
+ function A(e, t, n, r, o, s) {
43
+ const i = (a) => {
44
+ o.push({ ...h(e, t, n, r, { code: "unsupported-style", message: a }), componentPath: s });
45
+ };
46
+ for (const a of e.richParagraphs ?? []) {
47
+ t === "xlsx" && (a.spaceBeforeMm || a.spaceAfterMm || a.indentMm || a.align || a.lineHeight) && i("XLSX rich text preserves fonts and paragraph newlines; paragraph spacing, indentation and alignment are not retained.");
48
+ const d = b({ align: a.align }, t);
49
+ d && i(d);
50
+ for (const c of a.segments) {
51
+ const g = b(c.style, t) ?? (t === "xlsx" ? S(c.style) : void 0);
52
+ g && i(g);
53
+ }
54
+ }
55
+ }
56
+ function $(e, t, n, r, o, s, i) {
57
+ if (i.has(e)) return;
58
+ const a = new Set(i).add(e), d = X(e, t);
59
+ d && s.push({ ...h(e, t, n, r, d), componentPath: o });
60
+ const c = b(e.style, t);
61
+ c && s.push({ ...h(e, t, n, r, { code: "unsupported-style", message: c }), componentPath: o }), A(e, t, n, r, s, o), U(e, t, n, r, o, s, a);
62
+ }
63
+ function N(e, t, n) {
64
+ if (e.grid) return { code: "nested-components-omitted", message: "XLSX cannot place a nested grid inside a single cell; the nested grid is omitted." };
65
+ const r = F(e);
66
+ if (r) return r;
67
+ if (I(e) && (e.leftMm < 0 || e.topMm < 0 || e.leftMm + e.widthMm > t + 1e-3 || e.topMm + e.heightMm > n + 1e-3)) return { code: "unsupported-style", message: "XLSX cannot clip a child image to a cell; it retains the original image dimensions." };
68
+ }
69
+ function G(e) {
70
+ let t;
71
+ return (n, r, o, s) => {
72
+ t ??= new Map(C(e.grid, e.widthMm, e.heightMm).cells.map((d) => [`${d.ri}:${d.ci}`, d]));
73
+ const i = t.get(`${r}:${o}`), a = 2 * (e.grid?.paddingMm ?? 0.5);
74
+ return N(n, (i?.widthMm ?? 0) - a - (s?.indentMm ?? 0), (i?.heightMm ?? 0) - a);
75
+ };
76
+ }
77
+ function U(e, t, n, r, o, s, i) {
78
+ const a = G(e);
79
+ for (const [d, c] of (e.grid?.cells ?? []).entries()) for (const [g, u] of c.entries()) {
80
+ const l = b(u?.style, t);
81
+ l && s.push({ ...h(e, t, n, r, { code: "unsupported-style", message: l }), componentPath: [...o, d, g] }), u?.richParagraphs?.length && A({ ...e, richParagraphs: u.richParagraphs }, t, n, r, s, [...o, d, g]);
82
+ for (const [f, m] of (u?.children ?? []).entries()) {
83
+ const M = [...o, d, g, f];
84
+ if (t === "xlsx") {
85
+ const E = a(m, d, g, u);
86
+ if (E && s.push({ ...h(m, t, n, r, E), componentPath: M }), m.grid) continue;
87
+ }
88
+ $(m, t, n, r, M, s, i);
89
+ }
90
+ }
91
+ }
92
+ function q(e, t) {
93
+ D(e);
94
+ const n = [];
95
+ return e.pages.forEach((r, o) => r.components.forEach((s, i) => $(s, t, o, i, [], n, /* @__PURE__ */ new Set()))), n;
96
+ }
97
+ function te(e, t, n) {
98
+ p(n.signal);
99
+ const r = q(e, t);
100
+ if (r.forEach((o) => x(o, n)), n.fidelity === "strict" && r.length) throw new k(r);
101
+ return r;
102
+ }
103
+ class v extends Error {
104
+ constructor(t, n) {
105
+ super(t.message), this.name = "OutputAssetError", this.diagnostic = t, this.cause = n;
106
+ }
107
+ }
108
+ function w(e) {
109
+ if (e.aborted) throw e.reason ?? new DOMException("The operation was aborted.", "AbortError");
110
+ }
111
+ function H(e) {
112
+ const t = { maxAssets: 1e3, maxImageBytes: 33554432, maxTotalImageBytes: 134217728, maxDurationMs: 3e4, ...e.assetBudget };
113
+ for (const [n, r] of Object.entries(t))
114
+ if (!Number.isSafeInteger(r) || r <= 0 || r > 2147483647) throw new RangeError(`${n} must be a positive safe integer at most 2147483647.`);
115
+ return t;
116
+ }
117
+ function K(e) {
118
+ const t = /^data:image\/[a-z0-9.+-]+(;base64)?,(.*)$/is.exec(e);
119
+ if (!t) throw new TypeError("Asset renderers must return an image data URL.");
120
+ return t[1] ? Math.ceil(t[2].length * 3 / 4) : new TextEncoder().encode(decodeURIComponent(t[2])).byteLength;
121
+ }
122
+ function y(e, t, n, r, o) {
123
+ const s = { code: n, message: r, severity: "warning", format: e.options.format ?? "dom", pageIndex: t.pageIndex, componentIndex: t.componentIndex, componentPath: t.componentPath, kind: t.component.kind, nid: t.component.nid };
124
+ if (e.diagnostics.push(s), x(s, { ...e.options, signal: e.signal }), e.options.assetFailure !== "placeholder") throw new v(s, o);
125
+ }
126
+ async function W(e, t, n) {
127
+ const r = e.options.assetRegistry?.rendererFor(t) ?? e.options.assetRenderers?.[t.kind];
128
+ if (t.imageData || !r) return t.imageData;
129
+ if (++e.rendered > e.budget.maxAssets) return y(e, n, "asset-budget-exceeded", "Output exceeded the asset count budget.");
130
+ let o;
131
+ try {
132
+ if (e.active = n, o = await j(r({ ...n, signal: e.signal }), e.signal), w(e.signal), o.length > e.budget.maxImageBytes * 4 + 1024) return y(e, n, "asset-budget-exceeded", "Output exceeded the image payload byte budget.");
133
+ const s = K(o);
134
+ if (s > e.budget.maxImageBytes || e.bytes + s > e.budget.maxTotalImageBytes) return y(e, n, "asset-budget-exceeded", "Output exceeded the encoded image byte budget.");
135
+ /^data:image\/(png|jpe?g);base64,/i.test(o) && e.inspectImage(o), e.bytes += s;
136
+ } catch (s) {
137
+ if (e.signal.aborted || s instanceof v || s instanceof O && s.code === "image-budget-exceeded") throw s;
138
+ return y(e, n, "asset-render-failed", `Asset renderer failed for ${t.kind}; output was not silently omitted.`, s);
139
+ }
140
+ return o;
141
+ }
142
+ function _(e, t) {
143
+ const n = e.active;
144
+ if (!n) {
145
+ t.abort(new Error("Asset rendering exceeded maxDurationMs."));
146
+ return;
147
+ }
148
+ const r = { code: "asset-budget-exceeded", message: "Asset rendering exceeded maxDurationMs.", severity: "warning", format: e.options.format ?? "dom", pageIndex: n.pageIndex, componentIndex: n.componentIndex, componentPath: n.componentPath, kind: n.component.kind, nid: n.component.nid };
149
+ e.diagnostics.push(r);
150
+ try {
151
+ x(r, { ...e.options, signal: e.signal });
152
+ } catch (o) {
153
+ t.abort(o);
154
+ return;
155
+ }
156
+ t.abort(new v(r));
157
+ }
158
+ async function z(e, t, n, r, o) {
159
+ if (!t?.children?.length) return t;
160
+ const s = [];
161
+ for (const [i, a] of t.children.entries())
162
+ s.push(await P(e, a, { ...n, component: a, componentPath: [...r, i] }, o));
163
+ return s.some((i, a) => i !== t.children[a]) ? { ...t, children: s } : t;
164
+ }
165
+ async function P(e, t, n, r) {
166
+ if (w(e.signal), r.has(t)) throw new TypeError("Cyclic grid children cannot be rendered.");
167
+ let o = e.cache.get(t);
168
+ o || (o = W(e, t, n), e.cache.set(t, o));
169
+ const s = await o;
170
+ w(e.signal);
171
+ let i = t.grid;
172
+ if (i) {
173
+ const a = new Set(r).add(t), d = [];
174
+ for (const [c, g] of i.cells.entries()) {
175
+ const u = [];
176
+ for (const [l, f] of g.entries()) u.push(await z(e, f, n, [...n.componentPath, c, l], a));
177
+ d.push(u);
178
+ }
179
+ d.some((c, g) => c.some((u, l) => u !== i.cells[g][l])) && (i = { ...i, cells: d });
180
+ }
181
+ return s !== t.imageData || i !== t.grid ? { ...t, imageData: s, grid: i } : t;
182
+ }
183
+ function J(e, t, n) {
184
+ const r = /* @__PURE__ */ new Set(), o = (s) => {
185
+ if (p(n), !r.has(s)) {
186
+ if (r.add(s), s.imageData && /^data:image\/(png|jpe?g);base64,/i.test(s.imageData))
187
+ try {
188
+ t(s.imageData);
189
+ } catch (i) {
190
+ if (!(i instanceof O) || i.code === "image-budget-exceeded") throw i;
191
+ }
192
+ for (const i of s.grid?.cells ?? []) for (const a of i) for (const d of a?.children ?? []) o(d);
193
+ }
194
+ };
195
+ for (const s of e.pages) for (const i of s.components) o(i);
196
+ }
197
+ function V(e) {
198
+ if (e.options.fidelity === "strict" && e.diagnostics.length) throw new k(e.diagnostics);
199
+ }
200
+ async function ne(e, t = {}) {
201
+ p(t.signal), D(e);
202
+ const n = H(t), r = R(t);
203
+ if (J(e, r, t.signal), t.signal?.aborted) throw t.signal.reason ?? new DOMException("The operation was aborted.", "AbortError");
204
+ const o = new AbortController(), s = () => o.abort(t.signal?.reason);
205
+ if (t.signal?.addEventListener("abort", s, { once: !0 }), !t.assetRegistry && (!t.assetRenderers || !Object.keys(t.assetRenderers).length))
206
+ return t.signal?.removeEventListener("abort", s), { plan: e, diagnostics: [] };
207
+ const i = { options: t, signal: o.signal, diagnostics: [], rendered: 0, bytes: 0, budget: n, cache: /* @__PURE__ */ new WeakMap(), inspectImage: r }, a = setTimeout(() => _(i, o), n.maxDurationMs);
208
+ try {
209
+ const d = [];
210
+ for (const [c, g] of e.pages.entries()) {
211
+ if (c < (t.start ?? 0) || c > (t.end ?? e.pages.length - 1)) {
212
+ d.push(g);
213
+ continue;
214
+ }
215
+ const u = [];
216
+ for (const [l, f] of g.components.entries()) u.push(await P(i, f, { component: f, pageIndex: c, componentIndex: l, componentPath: [] }, /* @__PURE__ */ new Set()));
217
+ d.push(u.some((l, f) => l !== g.components[f]) ? { ...g, components: u } : g);
218
+ }
219
+ return w(i.signal), V(i), { plan: d.some((c, g) => c !== e.pages[g]) ? { ...e, pages: d } : e, diagnostics: i.diagnostics };
220
+ } finally {
221
+ clearTimeout(a), t.signal?.removeEventListener("abort", s);
222
+ }
223
+ }
224
+ export {
225
+ k as O,
226
+ ne as a,
227
+ v as b,
228
+ q as i,
229
+ x as n,
230
+ te as r
231
+ };
@@ -0,0 +1 @@
1
+ "use strict";const x=require("./component-tree-DkGLEfZC.cjs"),C=require("./grid-geometry-CZ_cYB6O.cjs"),f=require("./progress-B0ctFpKf.cjs"),E=require("./media-B7vnpD8k.cjs");function v(e,t){f.assertOutputActive(t.signal),f.observeOutput(()=>t.onDiagnostic?.(e)),f.assertOutputActive(t.signal)}class M extends Error{constructor(t){super(`Output contains ${t.length} known fidelity issue(s): ${t[0]?.code}`),this.diagnostics=t,this.code="output-fidelity",this.name="OutputFidelityError"}}const T=new Set(["text","rect","line","ellipse"]),B=new Set(["image","chart","barcode","qrcode"]);function L(e,t){if(!e.grid){if(x.isImageBackedComponent(e))return(t==="pdf"||t==="xlsx")&&!/^data:image\/(png|jpe?g);base64,/i.test(e.imageData)?{code:"unsupported-image-format",message:`${t.toUpperCase()} accepts PNG or JPEG data URLs; convert this image before exporting.`}:void 0;if(B.has(e.kind))return{code:"missing-image",message:`${e.kind} requires imageData or a renderer adapter before output.`};if(!T.has(e.kind))return{code:"unsupported-component",message:`Unsupported component kind: ${e.kind}.`};if(t==="xlsx"&&e.kind!=="text")return{code:"unsupported-component",message:`XLSX data export omits ${e.kind} geometry.`}}}function h(e,t,n,s,o){const r=Object.getOwnPropertyDescriptor(e,"meta")?.value,i=r&&Object.getOwnPropertyDescriptor(r,"componentExtension")?.value,a=i&&Object.getOwnPropertyDescriptor(i,"id")?.value,d=i&&Object.getOwnPropertyDescriptor(i,"version")?.value,c=typeof a=="string"&&a.length<=128&&typeof d=="string"&&d.length<=64?{id:a,version:d}:void 0;return{...o,severity:"warning",format:t,pageIndex:n,componentIndex:s,kind:e.kind,nid:e.nid,...c?{extension:c}:{}}}function b(e,t){if(!e||t==="dom")return;const n=[];return e.rotateDeg&&n.push("rotateDeg"),e.opacity!==void 0&&e.opacity!==1&&n.push("opacity"),t!=="xlsx"&&e.align==="justify"&&n.push("justify"),t==="xlsx"&&e.letterSpacing&&n.push("letterSpacing"),n.length?`${t} does not preserve these styles: ${n.join(", ")}.`:void 0}function A(e){if(!e)return;const t=["backgroundColor","align","verticalAlign","lineHeight","borderTop","borderRight","borderBottom","borderLeft","borderColor","lineColor","lineWidthPt"].filter(n=>e[n]!==void 0);return t.length?`XLSX rich text does not retain independent run styles: ${t.join(", ")}.`:void 0}function R(e){if(e.kind!=="text")return;const t=A(e.style);if(e.leftMm||e.topMm||t)return{code:"unsupported-style",message:`Nested XLSX text is retained as rich text in component order; absolute child offsets and independent paragraph styles are not retained.${t?` ${t}`:""}`}}function k(e,t,n,s,o,r){const i=a=>{o.push({...h(e,t,n,s,{code:"unsupported-style",message:a}),componentPath:r})};for(const a of e.richParagraphs??[]){t==="xlsx"&&(a.spaceBeforeMm||a.spaceAfterMm||a.indentMm||a.align||a.lineHeight)&&i("XLSX rich text preserves fonts and paragraph newlines; paragraph spacing, indentation and alignment are not retained.");const d=b({align:a.align},t);d&&i(d);for(const c of a.segments){const u=b(c.style,t)??(t==="xlsx"?A(c.style):void 0);u&&i(u)}}}function S(e,t,n,s,o,r,i){if(i.has(e))return;const a=new Set(i).add(e),d=L(e,t);d&&r.push({...h(e,t,n,s,d),componentPath:o});const c=b(e.style,t);c&&r.push({...h(e,t,n,s,{code:"unsupported-style",message:c}),componentPath:o}),k(e,t,n,s,r,o),F(e,t,n,s,o,r,a)}function j(e,t,n){if(e.grid)return{code:"nested-components-omitted",message:"XLSX cannot place a nested grid inside a single cell; the nested grid is omitted."};const s=R(e);if(s)return s;if(x.isImageBackedComponent(e)&&(e.leftMm<0||e.topMm<0||e.leftMm+e.widthMm>t+.001||e.topMm+e.heightMm>n+.001))return{code:"unsupported-style",message:"XLSX cannot clip a child image to a cell; it retains the original image dimensions."}}function X(e){let t;return(n,s,o,r)=>{t??=new Map(C.resolveGridLayout(e.grid,e.widthMm,e.heightMm).cells.map(d=>[`${d.ri}:${d.ci}`,d]));const i=t.get(`${s}:${o}`),a=2*(e.grid?.paddingMm??.5);return j(n,(i?.widthMm??0)-a-(r?.indentMm??0),(i?.heightMm??0)-a)}}function F(e,t,n,s,o,r,i){const a=X(e);for(const[d,c]of(e.grid?.cells??[]).entries())for(const[u,g]of c.entries()){const l=b(g?.style,t);l&&r.push({...h(e,t,n,s,{code:"unsupported-style",message:l}),componentPath:[...o,d,u]}),g?.richParagraphs?.length&&k({...e,richParagraphs:g.richParagraphs},t,n,s,r,[...o,d,u]);for(const[p,m]of(g?.children??[]).entries()){const D=[...o,d,u,p];if(t==="xlsx"){const I=a(m,d,u,g);if(I&&r.push({...h(m,t,n,s,I),componentPath:D}),m.grid)continue}S(m,t,n,s,D,r,i)}}}function $(e,t){x.assertBoundedRenderTree(e);const n=[];return e.pages.forEach((s,o)=>s.components.forEach((r,i)=>S(r,t,o,i,[],n,new Set))),n}function q(e,t,n){f.assertOutputActive(n.signal);const s=$(e,t);if(s.forEach(o=>v(o,n)),n.fidelity==="strict"&&s.length)throw new M(s);return s}class O extends Error{constructor(t,n){super(t.message),this.name="OutputAssetError",this.diagnostic=t,this.cause=n}}function w(e){if(e.aborted)throw e.reason??new DOMException("The operation was aborted.","AbortError")}function G(e){const t={maxAssets:1e3,maxImageBytes:33554432,maxTotalImageBytes:134217728,maxDurationMs:3e4,...e.assetBudget};for(const[n,s]of Object.entries(t))if(!Number.isSafeInteger(s)||s<=0||s>2147483647)throw new RangeError(`${n} must be a positive safe integer at most 2147483647.`);return t}function N(e){const t=/^data:image\/[a-z0-9.+-]+(;base64)?,(.*)$/is.exec(e);if(!t)throw new TypeError("Asset renderers must return an image data URL.");return t[1]?Math.ceil(t[2].length*3/4):new TextEncoder().encode(decodeURIComponent(t[2])).byteLength}function y(e,t,n,s,o){const r={code:n,message:s,severity:"warning",format:e.options.format??"dom",pageIndex:t.pageIndex,componentIndex:t.componentIndex,componentPath:t.componentPath,kind:t.component.kind,nid:t.component.nid};if(e.diagnostics.push(r),v(r,{...e.options,signal:e.signal}),e.options.assetFailure!=="placeholder")throw new O(r,o)}async function U(e,t,n){const s=e.options.assetRegistry?.rendererFor(t)??e.options.assetRenderers?.[t.kind];if(t.imageData||!s)return t.imageData;if(++e.rendered>e.budget.maxAssets)return y(e,n,"asset-budget-exceeded","Output exceeded the asset count budget.");let o;try{if(e.active=n,o=await f.waitForOutput(s({...n,signal:e.signal}),e.signal),w(e.signal),o.length>e.budget.maxImageBytes*4+1024)return y(e,n,"asset-budget-exceeded","Output exceeded the image payload byte budget.");const r=N(o);if(r>e.budget.maxImageBytes||e.bytes+r>e.budget.maxTotalImageBytes)return y(e,n,"asset-budget-exceeded","Output exceeded the encoded image byte budget.");/^data:image\/(png|jpe?g);base64,/i.test(o)&&e.inspectImage(o),e.bytes+=r}catch(r){if(e.signal.aborted||r instanceof O||r instanceof E.ImageMediaError&&r.code==="image-budget-exceeded")throw r;return y(e,n,"asset-render-failed",`Asset renderer failed for ${t.kind}; output was not silently omitted.`,r)}return o}function H(e,t){const n=e.active;if(!n){t.abort(new Error("Asset rendering exceeded maxDurationMs."));return}const s={code:"asset-budget-exceeded",message:"Asset rendering exceeded maxDurationMs.",severity:"warning",format:e.options.format??"dom",pageIndex:n.pageIndex,componentIndex:n.componentIndex,componentPath:n.componentPath,kind:n.component.kind,nid:n.component.nid};e.diagnostics.push(s);try{v(s,{...e.options,signal:e.signal})}catch(o){t.abort(o);return}t.abort(new O(s))}async function K(e,t,n,s,o){if(!t?.children?.length)return t;const r=[];for(const[i,a]of t.children.entries())r.push(await P(e,a,{...n,component:a,componentPath:[...s,i]},o));return r.some((i,a)=>i!==t.children[a])?{...t,children:r}:t}async function P(e,t,n,s){if(w(e.signal),s.has(t))throw new TypeError("Cyclic grid children cannot be rendered.");let o=e.cache.get(t);o||(o=U(e,t,n),e.cache.set(t,o));const r=await o;w(e.signal);let i=t.grid;if(i){const a=new Set(s).add(t),d=[];for(const[c,u]of i.cells.entries()){const g=[];for(const[l,p]of u.entries())g.push(await K(e,p,n,[...n.componentPath,c,l],a));d.push(g)}d.some((c,u)=>c.some((g,l)=>g!==i.cells[u][l]))&&(i={...i,cells:d})}return r!==t.imageData||i!==t.grid?{...t,imageData:r,grid:i}:t}function W(e,t,n){const s=new Set,o=r=>{if(f.assertOutputActive(n),!s.has(r)){if(s.add(r),r.imageData&&/^data:image\/(png|jpe?g);base64,/i.test(r.imageData))try{t(r.imageData)}catch(i){if(!(i instanceof E.ImageMediaError)||i.code==="image-budget-exceeded")throw i}for(const i of r.grid?.cells??[])for(const a of i)for(const d of a?.children??[])o(d)}};for(const r of e.pages)for(const i of r.components)o(i)}function _(e){if(e.options.fidelity==="strict"&&e.diagnostics.length)throw new M(e.diagnostics)}async function z(e,t={}){f.assertOutputActive(t.signal),x.assertBoundedRenderTree(e);const n=G(t),s=E.createImageMediaInspector(t);if(W(e,s,t.signal),t.signal?.aborted)throw t.signal.reason??new DOMException("The operation was aborted.","AbortError");const o=new AbortController,r=()=>o.abort(t.signal?.reason);if(t.signal?.addEventListener("abort",r,{once:!0}),!t.assetRegistry&&(!t.assetRenderers||!Object.keys(t.assetRenderers).length))return t.signal?.removeEventListener("abort",r),{plan:e,diagnostics:[]};const i={options:t,signal:o.signal,diagnostics:[],rendered:0,bytes:0,budget:n,cache:new WeakMap,inspectImage:s},a=setTimeout(()=>H(i,o),n.maxDurationMs);try{const d=[];for(const[c,u]of e.pages.entries()){if(c<(t.start??0)||c>(t.end??e.pages.length-1)){d.push(u);continue}const g=[];for(const[l,p]of u.components.entries())g.push(await P(i,p,{component:p,pageIndex:c,componentIndex:l,componentPath:[]},new Set));d.push(g.some((l,p)=>l!==u.components[p])?{...u,components:g}:u)}return w(i.signal),_(i),{plan:d.some((c,u)=>c!==e.pages[u])?{...e,pages:d}:e,diagnostics:i.diagnostics}}finally{clearTimeout(a),t.signal?.removeEventListener("abort",r)}}exports.OutputAssetError=O;exports.OutputFidelityError=M;exports.inspectOutputCapabilities=$;exports.notifyOutputDiagnostic=v;exports.reportOutputDiagnostics=q;exports.resolvePlanAssets=z;