@agile-team/mach-report 2.9.1 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -7
- package/dist/ExcelBindingWizard-CjIiVox-.cjs +1 -0
- package/dist/ExcelBindingWizard-Dxm-K5HL.js +1240 -0
- package/dist/ParamEditor-D-Hf5xfO.cjs +1 -0
- package/dist/ParamEditor-DRGxzxeO.js +381 -0
- package/dist/ReportBatchPanel-BYgg0EDB.cjs +1 -0
- package/dist/ReportBatchPanel-Bby5yLzU.js +287 -0
- package/dist/ReportPreview-DWXROHBP.cjs +6 -0
- package/dist/ReportPreview-DiNXhQI0.js +4138 -0
- package/dist/ReportTemplateLibrary-C6CO7YCT.cjs +1 -0
- package/dist/ReportTemplateLibrary-DfzDXRvr.js +260 -0
- package/dist/RuleEditor-C2QsOHOs.cjs +1 -0
- package/dist/RuleEditor-D9wQHrkf.js +2024 -0
- package/dist/TemplateReviewPanel-BKofGrV9.js +222 -0
- package/dist/TemplateReviewPanel-DwtOcLue.cjs +1 -0
- package/dist/analytics.cjs +1 -1
- package/dist/analytics.d.cts +4 -0
- package/dist/analytics.d.ts +4 -0
- package/dist/analytics.js +40 -39
- package/dist/{assets-ahTRUXRk.cjs → assets-Bu6UohJx.cjs} +1 -1
- package/dist/{assets-DDsfEi8R.js → assets-DegqDNqY.js} +1 -1
- package/dist/batch-Bt3Fd27Z.cjs +1 -0
- package/dist/batch-mRqhhhjt.js +364 -0
- package/dist/{capabilities-Cm9hZ3uV.js → capabilities-CK_7hizc.js} +16 -16
- package/dist/capabilities-CsZ-pNHR.cjs +1 -0
- package/dist/computed-Bvk0W15F.js +521 -0
- package/dist/computed-CGV2a809.cjs +1 -0
- package/dist/config-B612mw0x.js +525 -0
- package/dist/config-BRoLo2oj.cjs +1 -0
- package/dist/designer.cjs +2 -2
- package/dist/designer.d.cts +695 -50
- package/dist/designer.d.ts +695 -50
- package/dist/designer.js +2213 -1748
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +205 -6
- package/dist/index.d.ts +205 -6
- package/dist/index.js +808 -1033
- package/dist/injection-keys-Db_DyLkm.cjs +1 -0
- package/dist/injection-keys-e85udZCp.js +7 -0
- package/dist/list-cell-BuYn4tGF.cjs +1 -0
- package/dist/list-cell-ClFra1zS.js +173 -0
- package/dist/matrix-DVyWiYsd.cjs +1 -0
- package/dist/matrix-yZsGnldA.js +227 -0
- package/dist/param-validation-BlHHXs6u.js +153 -0
- package/dist/param-validation-DCK039V1.cjs +1 -0
- package/dist/pdf.cjs +49 -49
- package/dist/pdf.d.cts +31 -1
- package/dist/pdf.d.ts +31 -1
- package/dist/pdf.js +4797 -4650
- package/dist/plugin-BDTU4D94.cjs +1 -0
- package/dist/plugin-Cd5G2QQn.js +22 -0
- package/dist/region-binding-workflow-CXDmt9Bs.js +977 -0
- package/dist/region-binding-workflow-DhQvu1co.cjs +3 -0
- package/dist/{report-params-B_VCihAh.js → report-params-B44imUd4.js} +1 -1
- package/dist/{report-params-CjWrjPl6.cjs → report-params-SJfhKgaX.cjs} +1 -1
- package/dist/server/node.d.cts +48 -5
- package/dist/server/node.d.ts +48 -5
- package/dist/server-node.cjs +1 -1
- package/dist/server-node.js +503 -317
- package/dist/server.cjs +1 -1
- package/dist/server.d.cts +252 -4
- package/dist/server.d.ts +252 -4
- package/dist/server.js +567 -469
- package/dist/style.css +1 -1
- package/dist/template-registry-WNXdkiET.js +506 -0
- package/dist/template-registry-ukBGlm8N.cjs +1 -0
- package/dist/template-review-BXp2oyqg.cjs +1 -0
- package/dist/template-review-BdcXSYbx.js +1616 -0
- package/dist/tree-BX380Rr7.cjs +1 -0
- package/dist/tree-CqcQ99NM.js +172 -0
- package/dist/useLocalDraft-C07SYRnC.js +11 -0
- package/dist/useLocalDraft-Yiw1wFgI.cjs +1 -0
- package/dist/{validate-DWPF7icl.js → validate-7s0yn6ii.js} +26 -26
- package/dist/validate-DsRiNw8h.cjs +1 -0
- package/dist/vue/async.d.cts +118 -6
- package/dist/vue/async.d.ts +118 -6
- package/dist/vue/index.d.cts +177 -11
- package/dist/vue/index.d.ts +177 -11
- package/dist/vue-async.cjs +1 -1
- package/dist/vue-async.js +5 -5
- package/dist/vue.cjs +1 -1
- package/dist/vue.js +116 -113
- package/dist/{import-template-CNMLJSQw.js → workbook-session-BKOTwcoq.js} +4290 -4227
- package/dist/{import-template-CpxunKVp.cjs → workbook-session-CLYLhZWu.cjs} +17 -17
- package/dist/worker.cjs +1 -1
- package/dist/worker.d.cts +9 -2
- package/dist/worker.d.ts +9 -2
- package/dist/worker.js +1 -1
- package/dist/xlsx.cjs +4 -2
- package/dist/xlsx.d.cts +159 -3
- package/dist/xlsx.d.ts +159 -3
- package/dist/xlsx.js +354 -192
- package/package.json +1 -1
- package/dist/ExcelBindingWizard-DiaxvWpQ.cjs +0 -1
- package/dist/ExcelBindingWizard-RLJIXKKG.js +0 -816
- package/dist/ReportPreview-B5ZNEasW.js +0 -4439
- package/dist/ReportPreview-DRtVPUYo.cjs +0 -6
- package/dist/RuleEditor-CskN5Fr3.cjs +0 -1
- package/dist/RuleEditor-CtJFzKuY.js +0 -1578
- package/dist/TemplateReviewPanel-C_Lmzis6.cjs +0 -1
- package/dist/TemplateReviewPanel-Cn32OY4_.js +0 -173
- package/dist/binding-preview-B5834rml.cjs +0 -2
- package/dist/binding-preview-ChXjN5L5.js +0 -649
- package/dist/capabilities-DYzWL7KS.cjs +0 -1
- package/dist/matrix-CNPDJxED.js +0 -745
- package/dist/matrix-Div9Ilh3.cjs +0 -1
- package/dist/param-validation-BWNjLcN0.js +0 -116
- package/dist/param-validation-CiTxFeZ8.cjs +0 -1
- package/dist/plugin-BWwIgZXV.js +0 -25
- package/dist/plugin-Dg-J1Rbm.cjs +0 -1
- package/dist/template-registry-CHMYZ7SD.cjs +0 -1
- package/dist/template-registry-R61AMCr0.js +0 -433
- package/dist/template-review-hvWWQFsi.js +0 -1027
- package/dist/template-review-jEcOfmGr.cjs +0 -1
- package/dist/validate-BDiMqkJC.cjs +0 -1
package/dist/xlsx.d.ts
CHANGED
|
@@ -60,6 +60,10 @@ declare class Anchor implements IAnchor {
|
|
|
60
60
|
constructor(model?: IAnchor | object);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
export declare type AnyExcelBindingDocumentResult = ExcelBindingDocumentResult | ExcelRegionBindingDocumentResult;
|
|
64
|
+
|
|
65
|
+
export declare type AnyExcelBindingSession = ExcelBindingSession | ExcelRegionBindingSession;
|
|
66
|
+
|
|
63
67
|
declare type AutoFilter = string | {
|
|
64
68
|
from: string | { row: number; column: number };
|
|
65
69
|
to: string | { row: number; column: number };
|
|
@@ -471,6 +475,17 @@ export declare function createExcelBindingSession(imported: ExcelImportResult, r
|
|
|
471
475
|
name: string;
|
|
472
476
|
}): ExcelBindingSession;
|
|
473
477
|
|
|
478
|
+
export declare function createExcelRegionBindingDocument(imported: ExcelImportResult, recipe: ExcelRegionBindingRecipe, datasets: readonly ExcelBindingDataset[], identity: {
|
|
479
|
+
id: string;
|
|
480
|
+
name: string;
|
|
481
|
+
}): ExcelRegionBindingDocumentResult;
|
|
482
|
+
|
|
483
|
+
/** Draft sessions preserve exact incomplete mappings; applying still runs geometry and contract checks. */
|
|
484
|
+
export declare function createExcelRegionBindingSession(source: ExcelImportResult, recipe: ExcelRegionBindingRecipe, identity: {
|
|
485
|
+
id: string;
|
|
486
|
+
name: string;
|
|
487
|
+
}): ExcelRegionBindingSession;
|
|
488
|
+
|
|
474
489
|
declare interface Csv {
|
|
475
490
|
/**
|
|
476
491
|
* read from a file
|
|
@@ -600,6 +615,15 @@ declare enum ErrorValue {
|
|
|
600
615
|
Num = '#NUM!',
|
|
601
616
|
}
|
|
602
617
|
|
|
618
|
+
/** Convert graphical two-dimensional selection into exact, source-bounded coordinates. */
|
|
619
|
+
export declare function excelBindingCellRange(imported: ExcelImportResult, sheetName: string, from: {
|
|
620
|
+
row: number;
|
|
621
|
+
column: number;
|
|
622
|
+
}, to?: {
|
|
623
|
+
row: number;
|
|
624
|
+
column: number;
|
|
625
|
+
}): string;
|
|
626
|
+
|
|
603
627
|
export declare type ExcelBindingColumn = string | (Omit<ListColumn, "widthMm" | "header"> & {
|
|
604
628
|
header?: string;
|
|
605
629
|
});
|
|
@@ -845,6 +869,54 @@ declare namespace ExcelJS {
|
|
|
845
869
|
}
|
|
846
870
|
}
|
|
847
871
|
|
|
872
|
+
/** A row prototype is replaced, never copied into a generated business report. */
|
|
873
|
+
export declare interface ExcelRegionBinding {
|
|
874
|
+
id: string;
|
|
875
|
+
/** One physical source row, with any contiguous subset of the sheet columns. */
|
|
876
|
+
range: string;
|
|
877
|
+
dataset: string;
|
|
878
|
+
/** record accepts zero or one row; repeat expands vertically and shifts following bands. */
|
|
879
|
+
mode: "record" | "repeat";
|
|
880
|
+
fields: string[];
|
|
881
|
+
rowKey: string;
|
|
882
|
+
revisionField?: string;
|
|
883
|
+
sourceTokenField?: string;
|
|
884
|
+
/** Optional immediately preceding header, with the same physical columns. */
|
|
885
|
+
headerRange?: string;
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
export declare interface ExcelRegionBindingDocumentResult {
|
|
889
|
+
document: ReportTemplateDocument;
|
|
890
|
+
recipe: ExcelRegionBindingRecipe;
|
|
891
|
+
warnings: string[];
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
/** Version 2 describes several independent, vertically ordered data regions on one Sheet. */
|
|
895
|
+
export declare interface ExcelRegionBindingRecipe {
|
|
896
|
+
version: "2.0";
|
|
897
|
+
sheet: string;
|
|
898
|
+
regions: ExcelRegionBinding[];
|
|
899
|
+
/** Full-width source rows reserved on every page; excluded from flowing content. */
|
|
900
|
+
footerRange?: string;
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
export declare interface ExcelRegionBindingSession {
|
|
904
|
+
version: "2.0";
|
|
905
|
+
source: ExcelImportResult;
|
|
906
|
+
recipe: ExcelRegionBindingRecipe;
|
|
907
|
+
identity: {
|
|
908
|
+
id: string;
|
|
909
|
+
name: string;
|
|
910
|
+
};
|
|
911
|
+
}
|
|
912
|
+
|
|
913
|
+
export declare interface ExcelRegionBindingValidation {
|
|
914
|
+
ok: boolean;
|
|
915
|
+
issues: ExcelBindingIssue[];
|
|
916
|
+
mapped: number;
|
|
917
|
+
total: number;
|
|
918
|
+
}
|
|
919
|
+
|
|
848
920
|
export declare interface ExcelSheetWindow {
|
|
849
921
|
top: number;
|
|
850
922
|
bottom: number;
|
|
@@ -912,6 +984,16 @@ export declare interface ExcelWorkbookInspection {
|
|
|
912
984
|
warnings: string[];
|
|
913
985
|
}
|
|
914
986
|
|
|
987
|
+
/** Parsing budgets are fixed at open; selections can change without reopening the workbook. */
|
|
988
|
+
export declare type ExcelWorkbookSelectionOptions = Omit<ExcelImportOptions, "limits">;
|
|
989
|
+
|
|
990
|
+
export declare interface ExcelWorkbookSession {
|
|
991
|
+
readonly disposed: boolean;
|
|
992
|
+
inspect(): ExcelWorkbookInspection;
|
|
993
|
+
importTemplate(options?: ExcelWorkbookSelectionOptions): Promise<ExcelImportResult>;
|
|
994
|
+
dispose(): void;
|
|
995
|
+
}
|
|
996
|
+
|
|
915
997
|
export declare interface ExcelWorkbookSheet {
|
|
916
998
|
name: string;
|
|
917
999
|
index: number;
|
|
@@ -1055,11 +1137,15 @@ declare interface GridCell {
|
|
|
1055
1137
|
value?: string | number | boolean | null;
|
|
1056
1138
|
/** Excel 数字格式(例如 #,##0.00 / 0.00%),不改变 text。 */
|
|
1057
1139
|
numberFormat?: string;
|
|
1140
|
+
/** Physical left inset for hierarchical labels; raw value stays unchanged. */
|
|
1141
|
+
indentMm?: number;
|
|
1058
1142
|
/** 编辑输入类型;省略时只按原始值推断,数字字符串不会被转换为数值。 */
|
|
1059
1143
|
valueType?: "text" | "number" | "boolean";
|
|
1060
1144
|
/** 单元格级编辑控制;预览仍需显式开启 editing。 */
|
|
1061
1145
|
editable?: boolean;
|
|
1062
1146
|
source?: ReportCellSource;
|
|
1147
|
+
/** SDK 派生结果不映射业务来源,始终只读(包括覆盖同名源字段的计算)。 */
|
|
1148
|
+
derived?: boolean;
|
|
1063
1149
|
/** Excel 公式保留元数据;当前引擎不计算公式,公式格始终只读。 */
|
|
1064
1150
|
formula?: string;
|
|
1065
1151
|
children?: PlanComponent[];
|
|
@@ -1204,6 +1290,8 @@ declare interface ListColumn {
|
|
|
1204
1290
|
|
|
1205
1291
|
declare interface ListComponent {
|
|
1206
1292
|
kind: "list";
|
|
1293
|
+
/** Opaque serializable layout annotations; interpreted only by explicit optional adapters. */
|
|
1294
|
+
meta?: Record<string, unknown>;
|
|
1207
1295
|
id?: string;
|
|
1208
1296
|
/** 宽表标记用于连续 Excel;不改变低层列表的列宽和分页算法。 */
|
|
1209
1297
|
layout?: "page" | "wide";
|
|
@@ -1213,6 +1301,10 @@ declare interface ListComponent {
|
|
|
1213
1301
|
topMm: number;
|
|
1214
1302
|
widthMm: number;
|
|
1215
1303
|
dataset: string;
|
|
1304
|
+
/** Headerless record/region bindings do not allocate a synthetic list header. */
|
|
1305
|
+
header?: boolean;
|
|
1306
|
+
/** A fixed record region rejects multiple rows instead of dropping source data. */
|
|
1307
|
+
cardinality?: "record";
|
|
1216
1308
|
/** 数据集中稳定业务主键的字段名;省略时编辑仅有计划内坐标。 */
|
|
1217
1309
|
rowKey?: string;
|
|
1218
1310
|
revisionField?: string;
|
|
@@ -1239,6 +1331,8 @@ declare interface ListComponent {
|
|
|
1239
1331
|
computed?: ComputedField[];
|
|
1240
1332
|
/** Dynamic pivot of the current source dataset, with read-only derived identities. */
|
|
1241
1333
|
matrix?: MatrixTableOptions;
|
|
1334
|
+
/** Full ordered hierarchy; source parent values and descendant-leaf rollups are explicit. */
|
|
1335
|
+
tree?: TreeTableOptions;
|
|
1242
1336
|
/** Explicit row visibility; hidden rows do not participate in summaries. */
|
|
1243
1337
|
rowVisibleWhen?: StyleRule["when"];
|
|
1244
1338
|
/** Master/detail relation is keyed by business identity, never by display row index. */
|
|
@@ -1252,6 +1346,9 @@ declare interface ListDetail {
|
|
|
1252
1346
|
parentKey: string;
|
|
1253
1347
|
foreignKey: string;
|
|
1254
1348
|
rowKey?: string;
|
|
1349
|
+
/** 子表独立的并发契约;省略时不继承主表字段。 */
|
|
1350
|
+
revisionField?: string;
|
|
1351
|
+
sourceTokenField?: string;
|
|
1255
1352
|
columns: ListColumn[];
|
|
1256
1353
|
rowHeightMm?: number;
|
|
1257
1354
|
header?: boolean;
|
|
@@ -1325,6 +1422,9 @@ declare interface Media {
|
|
|
1325
1422
|
buffer: Buffer_2;
|
|
1326
1423
|
}
|
|
1327
1424
|
|
|
1425
|
+
/** One bounded workbook per owner. The caller releases it when replacing input or unmounting. */
|
|
1426
|
+
export declare function openExcelWorkbook(input: ArrayBuffer | Uint8Array | Blob, options?: ExcelImportOptions): Promise<ExcelWorkbookSession>;
|
|
1427
|
+
|
|
1328
1428
|
declare interface OutputDiagnostic {
|
|
1329
1429
|
code: "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";
|
|
1330
1430
|
severity: "warning";
|
|
@@ -1519,6 +1619,8 @@ declare const enum PaperSize {
|
|
|
1519
1619
|
|
|
1520
1620
|
export declare function parseExcelBindingSession(input: unknown): ExcelBindingSession;
|
|
1521
1621
|
|
|
1622
|
+
export declare function parseExcelRegionBindingSession(input: unknown): ExcelRegionBindingSession;
|
|
1623
|
+
|
|
1522
1624
|
declare interface PlanComponent {
|
|
1523
1625
|
/** Template page furniture repeats per page and reserves its vertical band. */
|
|
1524
1626
|
pageAnchor?: "header" | "footer";
|
|
@@ -1555,6 +1657,7 @@ declare interface PlanGrid {
|
|
|
1555
1657
|
}
|
|
1556
1658
|
|
|
1557
1659
|
declare interface PlanPage {
|
|
1660
|
+
meta?: Record<string, unknown>;
|
|
1558
1661
|
/** wide 表示完整自然列宽;页面仅为预览的垂直窗口分段。 */
|
|
1559
1662
|
layout?: "page" | "wide";
|
|
1560
1663
|
pageWidthMm: number;
|
|
@@ -1659,6 +1762,8 @@ declare enum RelationshipType {
|
|
|
1659
1762
|
|
|
1660
1763
|
declare interface RenderPlan {
|
|
1661
1764
|
schemaVersion: string;
|
|
1765
|
+
/** 编辑需要模板重算上下文;跨 Worker/JSON 保留要求,但不声明本地会话可用。 */
|
|
1766
|
+
requiresRecalculation?: boolean;
|
|
1662
1767
|
pages: PlanPage[];
|
|
1663
1768
|
}
|
|
1664
1769
|
|
|
@@ -1701,13 +1806,25 @@ declare interface ReportFieldContract {
|
|
|
1701
1806
|
unit?: string;
|
|
1702
1807
|
}
|
|
1703
1808
|
|
|
1809
|
+
declare interface ReportFlowBand {
|
|
1810
|
+
/** Exact stable component IDs. Static components use nid, lists use id. */
|
|
1811
|
+
componentIds: string[];
|
|
1812
|
+
/** Source-template coordinates; following bands keep their original gap. */
|
|
1813
|
+
topMm: number;
|
|
1814
|
+
heightMm: number;
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
declare interface ReportPageFlow {
|
|
1818
|
+
bands: ReportFlowBand[];
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1704
1821
|
/** 报表参数定义(声明式,模板自描述参数面:渲染组件据此生成查询面板) */
|
|
1705
1822
|
declare interface ReportParamDef {
|
|
1706
1823
|
/** 参数名(传入 params,与数据集 SQL #{field} 绑定对应) */
|
|
1707
1824
|
field: string;
|
|
1708
1825
|
/** 显示名(缺省用 field) */
|
|
1709
1826
|
label?: string;
|
|
1710
|
-
type?: "text" | "number" | "date" | "select";
|
|
1827
|
+
type?: "text" | "number" | "date" | "month" | "year" | "dateRange" | "select";
|
|
1711
1828
|
/** select 选项 */
|
|
1712
1829
|
options?: Array<{
|
|
1713
1830
|
label: string;
|
|
@@ -1716,7 +1833,7 @@ declare interface ReportParamDef {
|
|
|
1716
1833
|
defaultValue?: string;
|
|
1717
1834
|
required?: boolean;
|
|
1718
1835
|
placeholder?: string;
|
|
1719
|
-
/**
|
|
1836
|
+
/** 数字上下界;日期/月/年使用对应规范字符串;dateRange 对两端使用 YYYY-MM-DD 边界(含边界)。 */
|
|
1720
1837
|
min?: number | string;
|
|
1721
1838
|
max?: number | string;
|
|
1722
1839
|
minLength?: number;
|
|
@@ -2163,6 +2280,9 @@ declare interface TemplatePage {
|
|
|
2163
2280
|
marginLeftMm?: number;
|
|
2164
2281
|
marginRightMm?: number;
|
|
2165
2282
|
components: TemplateComponent[];
|
|
2283
|
+
/** Explicit vertical bands preserve source gaps as dynamic regions expand. */
|
|
2284
|
+
flow?: ReportPageFlow;
|
|
2285
|
+
meta?: Record<string, unknown>;
|
|
2166
2286
|
}
|
|
2167
2287
|
|
|
2168
2288
|
declare interface TimePeriodRuleType extends ConditionalFormattingBaseRule {
|
|
@@ -2180,6 +2300,26 @@ declare interface Top10RuleType extends ConditionalFormattingBaseRule {
|
|
|
2180
2300
|
bottom: boolean;
|
|
2181
2301
|
}
|
|
2182
2302
|
|
|
2303
|
+
/** A serialized tree contract. Sibling and root order follow input order. */
|
|
2304
|
+
declare interface TreeTableOptions {
|
|
2305
|
+
input: "flat" | "nested";
|
|
2306
|
+
idField: string;
|
|
2307
|
+
/** Flat roots have null/undefined parent values. */
|
|
2308
|
+
parentField?: string;
|
|
2309
|
+
/** Nested child arrays, defaults to children. Every node still needs an ID. */
|
|
2310
|
+
childrenField?: string;
|
|
2311
|
+
labelField: string;
|
|
2312
|
+
indentMm?: number;
|
|
2313
|
+
orphan?: "error" | "root";
|
|
2314
|
+
/** Source preserves parent values; leaf-aggregate derives only parents from descendant leaves. */
|
|
2315
|
+
parentValues?: "source" | "leaf-aggregate";
|
|
2316
|
+
aggregates?: AggregateDefinition[];
|
|
2317
|
+
maxRows?: number;
|
|
2318
|
+
maxDepth?: number;
|
|
2319
|
+
/** Bounded leaf-to-ancestor aggregate work; default one million. */
|
|
2320
|
+
maxAggregationVisits?: number;
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2183
2323
|
/** Contract and mapping validation does not traverse imported grids. */
|
|
2184
2324
|
export declare function validateExcelBindingFields(imported: ExcelImportResult, recipe: ExcelBindingRecipe, datasets: readonly ExcelBindingDataset[]): ExcelBindingValidation;
|
|
2185
2325
|
|
|
@@ -2189,6 +2329,13 @@ export declare function validateExcelBindingRecipe(imported: ExcelImportResult,
|
|
|
2189
2329
|
/** Region-only validation lets reactive consumers reuse the result while only mappings change. */
|
|
2190
2330
|
export declare function validateExcelBindingRegions(imported: ExcelImportResult, recipe: ExcelBindingRecipe): ExcelBindingIssue[];
|
|
2191
2331
|
|
|
2332
|
+
export declare function validateExcelRegionBindings(imported: ExcelImportResult, recipe: ExcelRegionBindingRecipe, datasets: readonly ExcelBindingDataset[]): ExcelRegionBindingValidation;
|
|
2333
|
+
|
|
2334
|
+
export declare function validateExcelRegionFields(recipe: ExcelRegionBindingRecipe, datasets: readonly ExcelBindingDataset[]): ExcelRegionBindingValidation;
|
|
2335
|
+
|
|
2336
|
+
/** Geometry-only scan is separate so field-selection UI need not repeatedly traverse the source grid. */
|
|
2337
|
+
export declare function validateExcelRegionGeometry(imported: ExcelImportResult, recipe: ExcelRegionBindingRecipe): ExcelBindingIssue[];
|
|
2338
|
+
|
|
2192
2339
|
declare enum ValueType {
|
|
2193
2340
|
Null = 0,
|
|
2194
2341
|
Merge = 1,
|
|
@@ -2839,6 +2986,15 @@ declare interface Xlsx {
|
|
|
2839
2986
|
write(stream: Stream, options?: Partial<XlsxWriteOptions>): Promise<void>;
|
|
2840
2987
|
}
|
|
2841
2988
|
|
|
2989
|
+
declare interface XlsxImageOptions {
|
|
2990
|
+
/** Decoded bytes per unique embedded image; default 16 MiB. */
|
|
2991
|
+
maxImageBytes?: number;
|
|
2992
|
+
/** Total decoded bytes of unique images in this workbook; default 32 MiB. */
|
|
2993
|
+
maxTotalImageBytes?: number;
|
|
2994
|
+
/** Unique embedded media limit, default 1000; repeated placements reuse the same media. */
|
|
2995
|
+
maxImages?: number;
|
|
2996
|
+
}
|
|
2997
|
+
|
|
2842
2998
|
declare interface XlsxReadOptions {
|
|
2843
2999
|
/**
|
|
2844
3000
|
* The list of XML node names to ignore while parsing an XLSX file
|
|
@@ -2854,7 +3010,7 @@ declare interface XlsxReadOptions {
|
|
|
2854
3010
|
* 目标是"财务能直接用的对账表"而非复刻版面)
|
|
2855
3011
|
* - 未支持组件、富文本专有内容与单元格嵌套组件跳过并计入 warnings
|
|
2856
3012
|
*/
|
|
2857
|
-
export declare interface XlsxRenderOptions extends OutputDiagnosticOptions {
|
|
3013
|
+
export declare interface XlsxRenderOptions extends OutputDiagnosticOptions, XlsxImageOptions {
|
|
2858
3014
|
/** 工作表命名(连续表默认使用标题,其余默认 "Sheet1" 起序)。 */
|
|
2859
3015
|
sheetName?: (sheetIndex: number) => string;
|
|
2860
3016
|
/** auto 默认将 wide 逻辑表合并为连续 Sheet;pages 保留逐页;continuous 要求明确的表来源。 */
|