@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
@@ -45,6 +45,8 @@ declare interface AssetRenderBudget {
45
45
  }
46
46
  declare interface AssetRenderOptions extends OutputDiagnosticOptions, ImageMediaOptions {
47
47
  assetRenderers?: Partial<Record<ImageComponentKind, ComponentImageRenderer>>;
48
+ /** Explicit id/version registry; unbound components continue using assetRenderers by kind. */
49
+ assetRegistry?: ComponentAssetRegistry;
48
50
  assetBudget?: AssetRenderBudget;
49
51
  /** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
50
52
  assetFailure?: "throw" | "placeholder";
@@ -85,6 +87,14 @@ declare const BASE_TEMPLATE_EDITOR_MESSAGES: {
85
87
  note: string;
86
88
  invalid: string;
87
89
  };
90
+ declare interface BrowserReportWorker {
91
+ postMessage(value: unknown, transfer?: Transferable[]): void;
92
+ terminate(): void;
93
+ addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
94
+ addEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
95
+ removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
96
+ removeEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
97
+ }
88
98
  declare interface CanvasSelection {
89
99
  /** Ctrl/Command/Shift toggles the selection without changing the report schema. */
90
100
  additive?: boolean;
@@ -190,6 +200,10 @@ declare type ColumnFormat_3 = {
190
200
  kind: "date";
191
201
  pattern?: string;
192
202
  };
203
+ declare interface ComponentAssetRegistry {
204
+ rendererFor(component: Readonly<PlanComponent>): ComponentImageRenderer | undefined;
205
+ hasExtension(id: string, version: string, kind: string): boolean;
206
+ }
193
207
  /** A literal own field of the current label record; expressions and paths are not evaluated. */
194
208
  declare interface ComponentBinding {
195
209
  field: string;
@@ -655,6 +669,8 @@ declare interface ExpressionOptions_3 {
655
669
  divisionByZero?: "null" | "error";
656
670
  }
657
671
  declare interface GridCell {
672
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
673
+ richParagraphs?: RichParagraph[];
658
674
  text?: string;
659
675
  rawText?: string;
660
676
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -678,6 +694,8 @@ declare interface GridCell {
678
694
  style?: ComponentStyle;
679
695
  }
680
696
  declare interface GridCell_2 {
697
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
698
+ richParagraphs?: RichParagraph_2[];
681
699
  text?: string;
682
700
  rawText?: string;
683
701
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -701,6 +719,8 @@ declare interface GridCell_2 {
701
719
  style?: ComponentStyle_2;
702
720
  }
703
721
  declare interface GridCell_3 {
722
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
723
+ richParagraphs?: RichParagraph_3[];
704
724
  text?: string;
705
725
  rawText?: string;
706
726
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -1092,6 +1112,8 @@ declare interface ListGroupBy_3 {
1092
1112
  }
1093
1113
  /** defaults 层可配置项(全部可选,均有内置缺省) */
1094
1114
  declare interface MachReportDefaults {
1115
+ /** Small encodes stay local; optional Worker isolation uses the same prepared plan for large output. */
1116
+ exportExecution?: ReportExportExecutionOptions;
1095
1117
  drill?: ReportDrillOptions;
1096
1118
  loadParamOptions?: ReportParamOptionsLoader;
1097
1119
  printOptions?: ReportPrintOptions;
@@ -1520,6 +1542,57 @@ declare interface MachReportToolbarOptions {
1520
1542
  /** 未传时显示全部已有出口;空数组表示不提供导出工具。 */
1521
1543
  exportFormats?: ReportExportFormat[];
1522
1544
  }
1545
+ declare interface MatrixAxisOptions {
1546
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1547
+ labels?: readonly string[];
1548
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1549
+ sort?: readonly MatrixDimensionOrder[];
1550
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1551
+ subtotals?: readonly number[];
1552
+ }
1553
+ declare interface MatrixAxisOptions_2 {
1554
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1555
+ labels?: readonly string[];
1556
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1557
+ sort?: readonly MatrixDimensionOrder_2[];
1558
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1559
+ subtotals?: readonly number[];
1560
+ }
1561
+ declare interface MatrixAxisOptions_3 {
1562
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1563
+ labels?: readonly string[];
1564
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1565
+ sort?: readonly MatrixDimensionOrder_3[];
1566
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1567
+ subtotals?: readonly number[];
1568
+ }
1569
+ declare type MatrixDimensionOrder = "source" | "asc" | "desc";
1570
+ declare type MatrixDimensionOrder_2 = "source" | "asc" | "desc";
1571
+ declare type MatrixDimensionOrder_3 = "source" | "asc" | "desc";
1572
+ declare interface MatrixHierarchyOptions {
1573
+ row?: MatrixAxisOptions;
1574
+ column?: MatrixAxisOptions;
1575
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1576
+ emptyLabel?: string;
1577
+ subtotalLabel?: string;
1578
+ totalLabel?: string;
1579
+ }
1580
+ declare interface MatrixHierarchyOptions_2 {
1581
+ row?: MatrixAxisOptions_2;
1582
+ column?: MatrixAxisOptions_2;
1583
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1584
+ emptyLabel?: string;
1585
+ subtotalLabel?: string;
1586
+ totalLabel?: string;
1587
+ }
1588
+ declare interface MatrixHierarchyOptions_3 {
1589
+ row?: MatrixAxisOptions_3;
1590
+ column?: MatrixAxisOptions_3;
1591
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1592
+ emptyLabel?: string;
1593
+ subtotalLabel?: string;
1594
+ totalLabel?: string;
1595
+ }
1523
1596
  declare interface MatrixTableOptions {
1524
1597
  rowFields: readonly string[];
1525
1598
  columnFields: readonly string[];
@@ -1534,6 +1607,10 @@ declare interface MatrixTableOptions {
1534
1607
  maxColumns?: number;
1535
1608
  maxInputRows?: number;
1536
1609
  maxCells?: number;
1610
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1611
+ hierarchy?: MatrixHierarchyOptions;
1612
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1613
+ maxAggregateUpdates?: number;
1537
1614
  }
1538
1615
  declare interface MatrixTableOptions_2 {
1539
1616
  rowFields: readonly string[];
@@ -1549,6 +1626,10 @@ declare interface MatrixTableOptions_2 {
1549
1626
  maxColumns?: number;
1550
1627
  maxInputRows?: number;
1551
1628
  maxCells?: number;
1629
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1630
+ hierarchy?: MatrixHierarchyOptions_2;
1631
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1632
+ maxAggregateUpdates?: number;
1552
1633
  }
1553
1634
  declare interface MatrixTableOptions_3 {
1554
1635
  rowFields: readonly string[];
@@ -1564,6 +1645,10 @@ declare interface MatrixTableOptions_3 {
1564
1645
  maxColumns?: number;
1565
1646
  maxInputRows?: number;
1566
1647
  maxCells?: number;
1648
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1649
+ hierarchy?: MatrixHierarchyOptions_3;
1650
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1651
+ maxAggregateUpdates?: number;
1567
1652
  }
1568
1653
  declare interface OutputDiagnostic {
1569
1654
  code: "invalid-image-data" | "image-budget-exceeded" | "component-render-failed" | "unsupported-text" | "output-degraded" | "missing-image" | "unsupported-component" | "unsupported-image-format" | "unsupported-style" | "rich-text-flattened" | "nested-components-omitted" | "async-image-required" | "image-decode-failed" | "asset-render-failed" | "asset-budget-exceeded";
@@ -1575,6 +1660,11 @@ declare interface OutputDiagnostic {
1575
1660
  componentPath?: readonly number[];
1576
1661
  kind: string;
1577
1662
  nid?: string;
1663
+ /** Declarative extension identity only; no property values or business binding data enter diagnostics. */
1664
+ extension?: {
1665
+ id: string;
1666
+ version: string;
1667
+ };
1578
1668
  message: string;
1579
1669
  }
1580
1670
  declare interface OutputDiagnostic_2 {
@@ -1587,6 +1677,11 @@ declare interface OutputDiagnostic_2 {
1587
1677
  componentPath?: readonly number[];
1588
1678
  kind: string;
1589
1679
  nid?: string;
1680
+ /** Declarative extension identity only; no property values or business binding data enter diagnostics. */
1681
+ extension?: {
1682
+ id: string;
1683
+ version: string;
1684
+ };
1590
1685
  message: string;
1591
1686
  }
1592
1687
  declare interface OutputDiagnosticOptions extends OutputTaskOptions {
@@ -2356,8 +2451,36 @@ declare interface ReportEditResult {
2356
2451
  /** Any conflict rejects the entire client batch. A server must also transact atomically. */
2357
2452
  conflicts?: readonly ReportEditConflict[];
2358
2453
  }
2454
+ declare interface ReportExportDecision {
2455
+ mode: "local" | "worker";
2456
+ reason: ReportExportDecisionReason;
2457
+ /** Lower bounds: traversal stops as soon as isolation is warranted. No font or image hashing. */
2458
+ estimate: {
2459
+ pages: number;
2460
+ cells: number;
2461
+ bytes: number;
2462
+ };
2463
+ hardCancellation: boolean;
2464
+ }
2465
+ declare type ReportExportDecisionReason = "small-task" | "threshold" | "scan-limit" | "explicit-local" | "explicit-worker" | "worker-unavailable" | "worker-start-failed" | "nonserializable-options";
2466
+ declare interface ReportExportExecutionOptions {
2467
+ mode?: "auto" | "worker" | "local";
2468
+ /** A fresh bundler-managed module Worker for every call; never a shared worker. */
2469
+ workerFactory?: () => BrowserReportWorker;
2470
+ thresholds?: ReportExportThresholds;
2471
+ /** Auto only. Startup unavailability may use local; encoding failures never retry. */
2472
+ fallback?: "local" | "error";
2473
+ timeoutMs?: number;
2474
+ budget?: ReportRuntimeBudget;
2475
+ onDecision?: (decision: ReportExportDecision) => void;
2476
+ }
2359
2477
  /** 输出能力仍由宿主授权;工具偏好只决定当前预览实例的可见与启用状态。 */
2360
2478
  declare type ReportExportFormat = "html" | "pdf" | "xlsx" | "png" | "word";
2479
+ declare interface ReportExportThresholds {
2480
+ cells?: number;
2481
+ pages?: number;
2482
+ bytes?: number;
2483
+ }
2361
2484
  declare type ReportExpression = {
2362
2485
  field: string;
2363
2486
  } | {
@@ -2394,7 +2517,19 @@ declare type ReportExpression_3 = {
2394
2517
  op: "add" | "subtract" | "multiply" | "divide" | "coalesce";
2395
2518
  args: readonly ReportExpression_3[];
2396
2519
  };
2397
- declare interface ReportFieldContract {
2520
+ declare type ReportFieldAggregation = "sum" | "avg" | "min" | "max" | "count" | "none";
2521
+ declare type ReportFieldAggregation_2 = "sum" | "avg" | "min" | "max" | "count" | "none";
2522
+ declare interface ReportFieldCalculation {
2523
+ /** Business-owned explanation, never executable JavaScript or an inferred business formula. */
2524
+ description: string;
2525
+ dependsOn: readonly string[];
2526
+ }
2527
+ declare interface ReportFieldCalculation_2 {
2528
+ /** Business-owned explanation, never executable JavaScript or an inferred business formula. */
2529
+ description: string;
2530
+ dependsOn: readonly string[];
2531
+ }
2532
+ declare interface ReportFieldContract extends ReportFieldSemantics {
2398
2533
  field: string;
2399
2534
  label?: string;
2400
2535
  type: "text" | "number" | "boolean" | "date" | "decimal";
@@ -2408,7 +2543,7 @@ declare interface ReportFieldContract {
2408
2543
  semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
2409
2544
  unit?: string;
2410
2545
  }
2411
- declare interface ReportFieldContract_2 {
2546
+ declare interface ReportFieldContract_2 extends ReportFieldSemantics_2 {
2412
2547
  field: string;
2413
2548
  label?: string;
2414
2549
  type: "text" | "number" | "boolean" | "date" | "decimal";
@@ -2422,6 +2557,26 @@ declare interface ReportFieldContract_2 {
2422
2557
  semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
2423
2558
  unit?: string;
2424
2559
  }
2560
+ declare interface ReportFieldSemantics {
2561
+ description?: string;
2562
+ /** Explicit meaning of null/missing; does not convert blanks into zero. */
2563
+ missingMeaning?: string;
2564
+ /** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
2565
+ aggregation?: ReportFieldAggregation;
2566
+ /** Shared presentation only; raw values and calculation precision remain unchanged. */
2567
+ format?: ColumnFormat;
2568
+ calculation?: ReportFieldCalculation;
2569
+ }
2570
+ declare interface ReportFieldSemantics_2 {
2571
+ description?: string;
2572
+ /** Explicit meaning of null/missing; does not convert blanks into zero. */
2573
+ missingMeaning?: string;
2574
+ /** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
2575
+ aggregation?: ReportFieldAggregation_2;
2576
+ /** Shared presentation only; raw values and calculation precision remain unchanged. */
2577
+ format?: ColumnFormat_2;
2578
+ calculation?: ReportFieldCalculation_2;
2579
+ }
2425
2580
  declare interface ReportFlowBand {
2426
2581
  /** Exact stable component IDs. Static components use nid, lists use id. */
2427
2582
  componentIds: string[];
@@ -2624,6 +2779,15 @@ declare interface ReportPrintOptions {
2624
2779
  /** Physical translation only; no scaling or mutation of the report data/plan. */
2625
2780
  calibration?: ReportPrintCalibration;
2626
2781
  }
2782
+ declare interface ReportRuntimeBudget {
2783
+ maxRows?: number;
2784
+ maxPages?: number;
2785
+ maxCells?: number;
2786
+ maxOutputBytes?: number;
2787
+ /** Bound the plain JSON snapshot accepted by exportPrepared (default 64 MB). */
2788
+ maxPreparedBytes?: number;
2789
+ maxDurationMs?: number;
2790
+ }
2627
2791
  declare interface ReportTemplate {
2628
2792
  schemaVersion?: string;
2629
2793
  /** 参数定义(可选;宿主也可经 ReportPreview 的 paramDefs prop 提供,prop 优先) */
@@ -2723,6 +2887,7 @@ export declare const ReportTemplateEditor: DefineComponent<TemplateEditorOptions
2723
2887
  guardChanges: (reason?: TemplateEditorBeforeDiscardContext["reason"], replacement?: ReportTemplateDocument) => Promise<boolean>;
2724
2888
  reset: () => Promise<void>;
2725
2889
  save: () => Promise<void>;
2890
+ insertComponent: (component: TemplateComponent) => boolean;
2726
2891
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
2727
2892
  "update:modelValue": (document: ReportTemplateDocument) => any;
2728
2893
  saved: (document: ReportTemplateDocument) => any;
@@ -2849,6 +3014,14 @@ export declare const RULE_EDITOR_MESSAGES: {
2849
3014
  pending: string;
2850
3015
  detail: string;
2851
3016
  matrix: string;
3017
+ matrixHierarchy: string;
3018
+ matrixHierarchyHint: string;
3019
+ matrixSort: string;
3020
+ matrixSourceOrder: string;
3021
+ matrixAscending: string;
3022
+ matrixDescending: string;
3023
+ matrixPrefixSubtotal: string;
3024
+ matrixEmptyLabel: string;
2852
3025
  tree: string;
2853
3026
  treeInput: string;
2854
3027
  treeFlat: string;
@@ -3519,6 +3692,8 @@ export declare interface TemplateEditorConflictOptions {
3519
3692
  keepCopy?: (document: ReportTemplateDocument, context: TemplateCopyContext) => Promise<void>;
3520
3693
  }
3521
3694
  export declare interface TemplateEditorController {
3695
+ /** Insert a native/registered component through validation, geometry constraints and undo history. */
3696
+ insertComponent(component: TemplateComponent): boolean;
3522
3697
  readonly pendingLocalChanges: boolean;
3523
3698
  readonly saving?: boolean;
3524
3699
  readonly blocked?: boolean;
@@ -3743,7 +3918,7 @@ declare type XlsxImageOptions = ImageMediaOptions;
3743
3918
  * 目标是"财务能直接用的对账表"而非复刻版面)
3744
3919
  * - 原生 richText 保留基础字形;未支持组件、段落专有排版与单元格嵌套组件计入 diagnostics / warnings
3745
3920
  */
3746
- declare interface XlsxRenderOptions extends OutputDiagnosticOptions, XlsxImageOptions {
3921
+ declare interface XlsxRenderOptions extends AssetRenderOptions, XlsxImageOptions {
3747
3922
  /** 工作表命名(连续表默认使用标题,其余默认 "Sheet1" 起序)。 */
3748
3923
  sheetName?: (sheetIndex: number) => string;
3749
3924
  /** auto 默认将 wide 逻辑表合并为连续 Sheet;pages 保留逐页;continuous 要求明确的表来源。 */
@@ -45,6 +45,8 @@ declare interface AssetRenderBudget {
45
45
  }
46
46
  declare interface AssetRenderOptions extends OutputDiagnosticOptions, ImageMediaOptions {
47
47
  assetRenderers?: Partial<Record<ImageComponentKind, ComponentImageRenderer>>;
48
+ /** Explicit id/version registry; unbound components continue using assetRenderers by kind. */
49
+ assetRegistry?: ComponentAssetRegistry;
48
50
  assetBudget?: AssetRenderBudget;
49
51
  /** Default throw prevents an incomplete export; placeholder retains the component and emits diagnostics. */
50
52
  assetFailure?: "throw" | "placeholder";
@@ -85,6 +87,14 @@ declare const BASE_TEMPLATE_EDITOR_MESSAGES: {
85
87
  note: string;
86
88
  invalid: string;
87
89
  };
90
+ declare interface BrowserReportWorker {
91
+ postMessage(value: unknown, transfer?: Transferable[]): void;
92
+ terminate(): void;
93
+ addEventListener(type: "message", listener: (event: MessageEvent) => void): void;
94
+ addEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
95
+ removeEventListener(type: "message", listener: (event: MessageEvent) => void): void;
96
+ removeEventListener(type: "error" | "messageerror", listener: (event: Event) => void): void;
97
+ }
88
98
  declare interface CanvasSelection {
89
99
  /** Ctrl/Command/Shift toggles the selection without changing the report schema. */
90
100
  additive?: boolean;
@@ -190,6 +200,10 @@ declare type ColumnFormat_3 = {
190
200
  kind: "date";
191
201
  pattern?: string;
192
202
  };
203
+ declare interface ComponentAssetRegistry {
204
+ rendererFor(component: Readonly<PlanComponent>): ComponentImageRenderer | undefined;
205
+ hasExtension(id: string, version: string, kind: string): boolean;
206
+ }
193
207
  /** A literal own field of the current label record; expressions and paths are not evaluated. */
194
208
  declare interface ComponentBinding {
195
209
  field: string;
@@ -655,6 +669,8 @@ declare interface ExpressionOptions_3 {
655
669
  divisionByZero?: "null" | "error";
656
670
  }
657
671
  declare interface GridCell {
672
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
673
+ richParagraphs?: RichParagraph[];
658
674
  text?: string;
659
675
  rawText?: string;
660
676
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -678,6 +694,8 @@ declare interface GridCell {
678
694
  style?: ComponentStyle;
679
695
  }
680
696
  declare interface GridCell_2 {
697
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
698
+ richParagraphs?: RichParagraph_2[];
681
699
  text?: string;
682
700
  rawText?: string;
683
701
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -701,6 +719,8 @@ declare interface GridCell_2 {
701
719
  style?: ComponentStyle_2;
702
720
  }
703
721
  declare interface GridCell_3 {
722
+ /** Styled cell content; text remains a plain-text fallback. Imported rich cells are read-only. */
723
+ richParagraphs?: RichParagraph_3[];
704
724
  text?: string;
705
725
  rawText?: string;
706
726
  /** 原始值,仅供 Excel raw 模式消费;不参与预览、分页与 PDF 绘制。 */
@@ -1092,6 +1112,8 @@ declare interface ListGroupBy_3 {
1092
1112
  }
1093
1113
  /** defaults 层可配置项(全部可选,均有内置缺省) */
1094
1114
  declare interface MachReportDefaults {
1115
+ /** Small encodes stay local; optional Worker isolation uses the same prepared plan for large output. */
1116
+ exportExecution?: ReportExportExecutionOptions;
1095
1117
  drill?: ReportDrillOptions;
1096
1118
  loadParamOptions?: ReportParamOptionsLoader;
1097
1119
  printOptions?: ReportPrintOptions;
@@ -1520,6 +1542,57 @@ declare interface MachReportToolbarOptions {
1520
1542
  /** 未传时显示全部已有出口;空数组表示不提供导出工具。 */
1521
1543
  exportFormats?: ReportExportFormat[];
1522
1544
  }
1545
+ declare interface MatrixAxisOptions {
1546
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1547
+ labels?: readonly string[];
1548
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1549
+ sort?: readonly MatrixDimensionOrder[];
1550
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1551
+ subtotals?: readonly number[];
1552
+ }
1553
+ declare interface MatrixAxisOptions_2 {
1554
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1555
+ labels?: readonly string[];
1556
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1557
+ sort?: readonly MatrixDimensionOrder_2[];
1558
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1559
+ subtotals?: readonly number[];
1560
+ }
1561
+ declare interface MatrixAxisOptions_3 {
1562
+ /** Display names in the same outer-to-inner order as the dimension fields. */
1563
+ labels?: readonly string[];
1564
+ /** Per-level sibling order; omitted levels retain first-seen order. */
1565
+ sort?: readonly MatrixDimensionOrder_3[];
1566
+ /** One-based prefix depths. Leaf depths are not subtotals. */
1567
+ subtotals?: readonly number[];
1568
+ }
1569
+ declare type MatrixDimensionOrder = "source" | "asc" | "desc";
1570
+ declare type MatrixDimensionOrder_2 = "source" | "asc" | "desc";
1571
+ declare type MatrixDimensionOrder_3 = "source" | "asc" | "desc";
1572
+ declare interface MatrixHierarchyOptions {
1573
+ row?: MatrixAxisOptions;
1574
+ column?: MatrixAxisOptions;
1575
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1576
+ emptyLabel?: string;
1577
+ subtotalLabel?: string;
1578
+ totalLabel?: string;
1579
+ }
1580
+ declare interface MatrixHierarchyOptions_2 {
1581
+ row?: MatrixAxisOptions_2;
1582
+ column?: MatrixAxisOptions_2;
1583
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1584
+ emptyLabel?: string;
1585
+ subtotalLabel?: string;
1586
+ totalLabel?: string;
1587
+ }
1588
+ declare interface MatrixHierarchyOptions_3 {
1589
+ row?: MatrixAxisOptions_3;
1590
+ column?: MatrixAxisOptions_3;
1591
+ /** Only null/missing values use this label; empty strings and zero stay distinct. */
1592
+ emptyLabel?: string;
1593
+ subtotalLabel?: string;
1594
+ totalLabel?: string;
1595
+ }
1523
1596
  declare interface MatrixTableOptions {
1524
1597
  rowFields: readonly string[];
1525
1598
  columnFields: readonly string[];
@@ -1534,6 +1607,10 @@ declare interface MatrixTableOptions {
1534
1607
  maxColumns?: number;
1535
1608
  maxInputRows?: number;
1536
1609
  maxCells?: number;
1610
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1611
+ hierarchy?: MatrixHierarchyOptions;
1612
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1613
+ maxAggregateUpdates?: number;
1537
1614
  }
1538
1615
  declare interface MatrixTableOptions_2 {
1539
1616
  rowFields: readonly string[];
@@ -1549,6 +1626,10 @@ declare interface MatrixTableOptions_2 {
1549
1626
  maxColumns?: number;
1550
1627
  maxInputRows?: number;
1551
1628
  maxCells?: number;
1629
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1630
+ hierarchy?: MatrixHierarchyOptions_2;
1631
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1632
+ maxAggregateUpdates?: number;
1552
1633
  }
1553
1634
  declare interface MatrixTableOptions_3 {
1554
1635
  rowFields: readonly string[];
@@ -1564,6 +1645,10 @@ declare interface MatrixTableOptions_3 {
1564
1645
  maxColumns?: number;
1565
1646
  maxInputRows?: number;
1566
1647
  maxCells?: number;
1648
+ /** Opt-in hierarchical dimensions, physical merged headers and prefix subtotals. */
1649
+ hierarchy?: MatrixHierarchyOptions_3;
1650
+ /** Hierarchical aggregate work, checked before measure reads; default 10 million updates. */
1651
+ maxAggregateUpdates?: number;
1567
1652
  }
1568
1653
  declare interface OutputDiagnostic {
1569
1654
  code: "invalid-image-data" | "image-budget-exceeded" | "component-render-failed" | "unsupported-text" | "output-degraded" | "missing-image" | "unsupported-component" | "unsupported-image-format" | "unsupported-style" | "rich-text-flattened" | "nested-components-omitted" | "async-image-required" | "image-decode-failed" | "asset-render-failed" | "asset-budget-exceeded";
@@ -1575,6 +1660,11 @@ declare interface OutputDiagnostic {
1575
1660
  componentPath?: readonly number[];
1576
1661
  kind: string;
1577
1662
  nid?: string;
1663
+ /** Declarative extension identity only; no property values or business binding data enter diagnostics. */
1664
+ extension?: {
1665
+ id: string;
1666
+ version: string;
1667
+ };
1578
1668
  message: string;
1579
1669
  }
1580
1670
  declare interface OutputDiagnostic_2 {
@@ -1587,6 +1677,11 @@ declare interface OutputDiagnostic_2 {
1587
1677
  componentPath?: readonly number[];
1588
1678
  kind: string;
1589
1679
  nid?: string;
1680
+ /** Declarative extension identity only; no property values or business binding data enter diagnostics. */
1681
+ extension?: {
1682
+ id: string;
1683
+ version: string;
1684
+ };
1590
1685
  message: string;
1591
1686
  }
1592
1687
  declare interface OutputDiagnosticOptions extends OutputTaskOptions {
@@ -2356,8 +2451,36 @@ declare interface ReportEditResult {
2356
2451
  /** Any conflict rejects the entire client batch. A server must also transact atomically. */
2357
2452
  conflicts?: readonly ReportEditConflict[];
2358
2453
  }
2454
+ declare interface ReportExportDecision {
2455
+ mode: "local" | "worker";
2456
+ reason: ReportExportDecisionReason;
2457
+ /** Lower bounds: traversal stops as soon as isolation is warranted. No font or image hashing. */
2458
+ estimate: {
2459
+ pages: number;
2460
+ cells: number;
2461
+ bytes: number;
2462
+ };
2463
+ hardCancellation: boolean;
2464
+ }
2465
+ declare type ReportExportDecisionReason = "small-task" | "threshold" | "scan-limit" | "explicit-local" | "explicit-worker" | "worker-unavailable" | "worker-start-failed" | "nonserializable-options";
2466
+ declare interface ReportExportExecutionOptions {
2467
+ mode?: "auto" | "worker" | "local";
2468
+ /** A fresh bundler-managed module Worker for every call; never a shared worker. */
2469
+ workerFactory?: () => BrowserReportWorker;
2470
+ thresholds?: ReportExportThresholds;
2471
+ /** Auto only. Startup unavailability may use local; encoding failures never retry. */
2472
+ fallback?: "local" | "error";
2473
+ timeoutMs?: number;
2474
+ budget?: ReportRuntimeBudget;
2475
+ onDecision?: (decision: ReportExportDecision) => void;
2476
+ }
2359
2477
  /** 输出能力仍由宿主授权;工具偏好只决定当前预览实例的可见与启用状态。 */
2360
2478
  declare type ReportExportFormat = "html" | "pdf" | "xlsx" | "png" | "word";
2479
+ declare interface ReportExportThresholds {
2480
+ cells?: number;
2481
+ pages?: number;
2482
+ bytes?: number;
2483
+ }
2361
2484
  declare type ReportExpression = {
2362
2485
  field: string;
2363
2486
  } | {
@@ -2394,7 +2517,19 @@ declare type ReportExpression_3 = {
2394
2517
  op: "add" | "subtract" | "multiply" | "divide" | "coalesce";
2395
2518
  args: readonly ReportExpression_3[];
2396
2519
  };
2397
- declare interface ReportFieldContract {
2520
+ declare type ReportFieldAggregation = "sum" | "avg" | "min" | "max" | "count" | "none";
2521
+ declare type ReportFieldAggregation_2 = "sum" | "avg" | "min" | "max" | "count" | "none";
2522
+ declare interface ReportFieldCalculation {
2523
+ /** Business-owned explanation, never executable JavaScript or an inferred business formula. */
2524
+ description: string;
2525
+ dependsOn: readonly string[];
2526
+ }
2527
+ declare interface ReportFieldCalculation_2 {
2528
+ /** Business-owned explanation, never executable JavaScript or an inferred business formula. */
2529
+ description: string;
2530
+ dependsOn: readonly string[];
2531
+ }
2532
+ declare interface ReportFieldContract extends ReportFieldSemantics {
2398
2533
  field: string;
2399
2534
  label?: string;
2400
2535
  type: "text" | "number" | "boolean" | "date" | "decimal";
@@ -2408,7 +2543,7 @@ declare interface ReportFieldContract {
2408
2543
  semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
2409
2544
  unit?: string;
2410
2545
  }
2411
- declare interface ReportFieldContract_2 {
2546
+ declare interface ReportFieldContract_2 extends ReportFieldSemantics_2 {
2412
2547
  field: string;
2413
2548
  label?: string;
2414
2549
  type: "text" | "number" | "boolean" | "date" | "decimal";
@@ -2422,6 +2557,26 @@ declare interface ReportFieldContract_2 {
2422
2557
  semanticRole?: "identifier" | "dimension" | "measure" | "date" | "text";
2423
2558
  unit?: string;
2424
2559
  }
2560
+ declare interface ReportFieldSemantics {
2561
+ description?: string;
2562
+ /** Explicit meaning of null/missing; does not convert blanks into zero. */
2563
+ missingMeaning?: string;
2564
+ /** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
2565
+ aggregation?: ReportFieldAggregation;
2566
+ /** Shared presentation only; raw values and calculation precision remain unchanged. */
2567
+ format?: ColumnFormat;
2568
+ calculation?: ReportFieldCalculation;
2569
+ }
2570
+ declare interface ReportFieldSemantics_2 {
2571
+ description?: string;
2572
+ /** Explicit meaning of null/missing; does not convert blanks into zero. */
2573
+ missingMeaning?: string;
2574
+ /** Recommended aggregation; none marks non-additive measures such as ratios. No aggregation runs implicitly. */
2575
+ aggregation?: ReportFieldAggregation_2;
2576
+ /** Shared presentation only; raw values and calculation precision remain unchanged. */
2577
+ format?: ColumnFormat_2;
2578
+ calculation?: ReportFieldCalculation_2;
2579
+ }
2425
2580
  declare interface ReportFlowBand {
2426
2581
  /** Exact stable component IDs. Static components use nid, lists use id. */
2427
2582
  componentIds: string[];
@@ -2624,6 +2779,15 @@ declare interface ReportPrintOptions {
2624
2779
  /** Physical translation only; no scaling or mutation of the report data/plan. */
2625
2780
  calibration?: ReportPrintCalibration;
2626
2781
  }
2782
+ declare interface ReportRuntimeBudget {
2783
+ maxRows?: number;
2784
+ maxPages?: number;
2785
+ maxCells?: number;
2786
+ maxOutputBytes?: number;
2787
+ /** Bound the plain JSON snapshot accepted by exportPrepared (default 64 MB). */
2788
+ maxPreparedBytes?: number;
2789
+ maxDurationMs?: number;
2790
+ }
2627
2791
  declare interface ReportTemplate {
2628
2792
  schemaVersion?: string;
2629
2793
  /** 参数定义(可选;宿主也可经 ReportPreview 的 paramDefs prop 提供,prop 优先) */
@@ -2723,6 +2887,7 @@ export declare const ReportTemplateEditor: DefineComponent<TemplateEditorOptions
2723
2887
  guardChanges: (reason?: TemplateEditorBeforeDiscardContext["reason"], replacement?: ReportTemplateDocument) => Promise<boolean>;
2724
2888
  reset: () => Promise<void>;
2725
2889
  save: () => Promise<void>;
2890
+ insertComponent: (component: TemplateComponent) => boolean;
2726
2891
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
2727
2892
  "update:modelValue": (document: ReportTemplateDocument) => any;
2728
2893
  saved: (document: ReportTemplateDocument) => any;
@@ -2849,6 +3014,14 @@ export declare const RULE_EDITOR_MESSAGES: {
2849
3014
  pending: string;
2850
3015
  detail: string;
2851
3016
  matrix: string;
3017
+ matrixHierarchy: string;
3018
+ matrixHierarchyHint: string;
3019
+ matrixSort: string;
3020
+ matrixSourceOrder: string;
3021
+ matrixAscending: string;
3022
+ matrixDescending: string;
3023
+ matrixPrefixSubtotal: string;
3024
+ matrixEmptyLabel: string;
2852
3025
  tree: string;
2853
3026
  treeInput: string;
2854
3027
  treeFlat: string;
@@ -3519,6 +3692,8 @@ export declare interface TemplateEditorConflictOptions {
3519
3692
  keepCopy?: (document: ReportTemplateDocument, context: TemplateCopyContext) => Promise<void>;
3520
3693
  }
3521
3694
  export declare interface TemplateEditorController {
3695
+ /** Insert a native/registered component through validation, geometry constraints and undo history. */
3696
+ insertComponent(component: TemplateComponent): boolean;
3522
3697
  readonly pendingLocalChanges: boolean;
3523
3698
  readonly saving?: boolean;
3524
3699
  readonly blocked?: boolean;
@@ -3743,7 +3918,7 @@ declare type XlsxImageOptions = ImageMediaOptions;
3743
3918
  * 目标是"财务能直接用的对账表"而非复刻版面)
3744
3919
  * - 原生 richText 保留基础字形;未支持组件、段落专有排版与单元格嵌套组件计入 diagnostics / warnings
3745
3920
  */
3746
- declare interface XlsxRenderOptions extends OutputDiagnosticOptions, XlsxImageOptions {
3921
+ declare interface XlsxRenderOptions extends AssetRenderOptions, XlsxImageOptions {
3747
3922
  /** 工作表命名(连续表默认使用标题,其余默认 "Sheet1" 起序)。 */
3748
3923
  sheetName?: (sheetIndex: number) => string;
3749
3924
  /** auto 默认将 wide 逻辑表合并为连续 Sheet;pages 保留逐页;continuous 要求明确的表来源。 */
package/dist/designer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { E as S, c as T, P as s, d as R, R as t, D as A, e as _, f as r, g as M, h as l, i as P, a as i, b as p, j as m, T as o, k as G, l as L, m as n, n as D } from "./designer-2bDlcNXQ.js";
2
+ import { E as S, c as T, P as s, d as R, R as t, D as A, e as _, f as r, g as M, h as l, i as P, a as i, b as p, j as m, T as o, k as G, l as L, m as n, n as D } from "./designer-D9XAxqSc.js";
3
3
  export {
4
4
  S as EXCEL_BINDING_MESSAGES,
5
5
  T as ExcelBindingWizard,