@agile-team/mach-report 2.4.0 → 2.5.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.
@@ -450,6 +450,9 @@ declare interface MachReportDefaults {
450
450
  showExport?: boolean;
451
451
  showPrint?: boolean;
452
452
  showPdfWindow?: boolean;
453
+ /** 设置入口默认显示;可在其中按需启用阅读及输出工具。 */
454
+ showSettings?: boolean;
455
+ toolbar?: MachReportToolbarOptions;
453
456
  /** 参数面板显隐(有参数定义且未显式关闭时显示;缺省 true) */
454
457
  showParams?: boolean;
455
458
  /** 页间距 px */
@@ -533,6 +536,20 @@ declare interface MachReportMessages {
533
536
  editInvalidNumber?: string;
534
537
  editInvalidBoolean?: string;
535
538
  editConflict?: string;
539
+ settings?: string;
540
+ settingsDisplay?: string;
541
+ settingsExport?: string;
542
+ settingsData?: string;
543
+ settingsUnavailable?: string;
544
+ settingsReset?: string;
545
+ settingsClose?: string;
546
+ search?: string;
547
+ zoom?: string;
548
+ settingsLocal?: string;
549
+ editingLocal?: string;
550
+ editingSaved?: string;
551
+ importLocal?: string;
552
+ emptyDescription?: string;
536
553
  }
537
554
 
538
555
  declare interface MachReportPluginOptions {
@@ -586,6 +603,18 @@ export declare const MachReportPreview: {
586
603
  type: BooleanConstructor;
587
604
  default: undefined;
588
605
  };
606
+ showSettings: {
607
+ type: BooleanConstructor;
608
+ default: undefined;
609
+ };
610
+ toolbar: {
611
+ type: PropType<MachReportToolbarOptions>;
612
+ default: undefined;
613
+ };
614
+ emptyState: {
615
+ type: PropType<boolean | ReportEmptyState>;
616
+ default: boolean;
617
+ };
589
618
  gapPx: {
590
619
  type: NumberConstructor;
591
620
  default: undefined;
@@ -631,6 +660,7 @@ export declare const MachReportPreview: {
631
660
  onWarning?: ((message: string) => any) | undefined;
632
661
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
633
662
  "onTemplate-import"?: ((result: ExcelImportResult) => any) | undefined;
663
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
634
664
  }>, {
635
665
  reload: () => Promise<void>;
636
666
  print: () => Promise<void>;
@@ -654,6 +684,7 @@ export declare const MachReportPreview: {
654
684
  warning: (message: string) => any;
655
685
  "cell-edit": (edit: ReportCellEdit_2) => any;
656
686
  "template-import": (result: ExcelImportResult) => any;
687
+ "preferences-change": (preferences: Readonly<ReportPreviewPreferences>) => any;
657
688
  }, PublicProps, {
658
689
  editable: boolean | ReportEditingOptions;
659
690
  height: string;
@@ -664,10 +695,13 @@ export declare const MachReportPreview: {
664
695
  showExport: boolean;
665
696
  showPrint: boolean;
666
697
  showPdfWindow: boolean;
698
+ showSettings: boolean;
667
699
  showParams: boolean;
700
+ toolbar: MachReportToolbarOptions;
668
701
  messages: Partial<MachReportMessages>;
669
702
  excelImport: boolean | ExcelImportOptions_2;
670
703
  autoLoad: boolean;
704
+ emptyState: boolean | ReportEmptyState;
671
705
  preset: string;
672
706
  paramDefs: ReportParamDef[] | undefined;
673
707
  fetcher: PlanFetcher | null;
@@ -712,6 +746,18 @@ export declare const MachReportPreview: {
712
746
  type: BooleanConstructor;
713
747
  default: undefined;
714
748
  };
749
+ showSettings: {
750
+ type: BooleanConstructor;
751
+ default: undefined;
752
+ };
753
+ toolbar: {
754
+ type: PropType<MachReportToolbarOptions>;
755
+ default: undefined;
756
+ };
757
+ emptyState: {
758
+ type: PropType<boolean | ReportEmptyState>;
759
+ default: boolean;
760
+ };
715
761
  gapPx: {
716
762
  type: NumberConstructor;
717
763
  default: undefined;
@@ -757,6 +803,7 @@ export declare const MachReportPreview: {
757
803
  onWarning?: ((message: string) => any) | undefined;
758
804
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
759
805
  "onTemplate-import"?: ((result: ExcelImportResult) => any) | undefined;
806
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
760
807
  }>, {
761
808
  reload: () => Promise<void>;
762
809
  print: () => Promise<void>;
@@ -781,10 +828,13 @@ export declare const MachReportPreview: {
781
828
  showExport: boolean;
782
829
  showPrint: boolean;
783
830
  showPdfWindow: boolean;
831
+ showSettings: boolean;
784
832
  showParams: boolean;
833
+ toolbar: MachReportToolbarOptions;
785
834
  messages: Partial<MachReportMessages>;
786
835
  excelImport: boolean | ExcelImportOptions_2;
787
836
  autoLoad: boolean;
837
+ emptyState: boolean | ReportEmptyState;
788
838
  preset: string;
789
839
  paramDefs: ReportParamDef[] | undefined;
790
840
  fetcher: PlanFetcher | null;
@@ -821,6 +871,18 @@ showPdfWindow: {
821
871
  type: BooleanConstructor;
822
872
  default: undefined;
823
873
  };
874
+ showSettings: {
875
+ type: BooleanConstructor;
876
+ default: undefined;
877
+ };
878
+ toolbar: {
879
+ type: PropType<MachReportToolbarOptions>;
880
+ default: undefined;
881
+ };
882
+ emptyState: {
883
+ type: PropType<boolean | ReportEmptyState>;
884
+ default: boolean;
885
+ };
824
886
  gapPx: {
825
887
  type: NumberConstructor;
826
888
  default: undefined;
@@ -866,6 +928,7 @@ onLoaded?: ((pageCount: number) => any) | undefined;
866
928
  onWarning?: ((message: string) => any) | undefined;
867
929
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
868
930
  "onTemplate-import"?: ((result: ExcelImportResult) => any) | undefined;
931
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
869
932
  }>, {
870
933
  reload: () => Promise<void>;
871
934
  print: () => Promise<void>;
@@ -889,6 +952,7 @@ loaded: (pageCount: number) => any;
889
952
  warning: (message: string) => any;
890
953
  "cell-edit": (edit: ReportCellEdit_2) => any;
891
954
  "template-import": (result: ExcelImportResult) => any;
955
+ "preferences-change": (preferences: Readonly<ReportPreviewPreferences>) => any;
892
956
  }, string, {
893
957
  editable: boolean | ReportEditingOptions;
894
958
  height: string;
@@ -899,15 +963,19 @@ debug: boolean;
899
963
  showExport: boolean;
900
964
  showPrint: boolean;
901
965
  showPdfWindow: boolean;
966
+ showSettings: boolean;
902
967
  showParams: boolean;
968
+ toolbar: MachReportToolbarOptions;
903
969
  messages: Partial<MachReportMessages>;
904
970
  excelImport: boolean | ExcelImportOptions_2;
905
971
  autoLoad: boolean;
972
+ emptyState: boolean | ReportEmptyState;
906
973
  preset: string;
907
974
  paramDefs: ReportParamDef[] | undefined;
908
975
  fetcher: PlanFetcher | null;
909
976
  }, {}, string, {}, { [K in keyof GlobalComponents]: GlobalComponents[K] }, { [K in keyof GlobalDirectives]: GlobalDirectives[K] }, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
910
977
  $slots: {
978
+ settings?(_: {}): any;
911
979
  default?(_: {}): any;
912
980
  };
913
981
  });
@@ -959,6 +1027,18 @@ declare interface MachReportTheme {
959
1027
  btnActiveBg: string;
960
1028
  }
961
1029
 
1030
+ declare interface MachReportToolbarOptions {
1031
+ search?: boolean;
1032
+ thumbnails?: boolean;
1033
+ zoom?: boolean;
1034
+ /** 编辑能力由 editable 授权;此项仅设置初始交互偏好,默认 true(兼容旧行为)。 */
1035
+ editing?: boolean;
1036
+ /** 导入能力由 excelImport 授权;此项仅设置初始交互偏好,默认 true。 */
1037
+ excelImport?: boolean;
1038
+ /** 未传时显示全部已有出口;空数组表示不提供导出工具。 */
1039
+ exportFormats?: ReportExportFormat[];
1040
+ }
1041
+
962
1042
  declare interface PaginateOptions {
963
1043
  /** 每行额外占高(mm),压测专用钩子 */
964
1044
  mmPerRow?: number;
@@ -1140,6 +1220,8 @@ declare interface RenderPlan {
1140
1220
  pages: PlanPage[];
1141
1221
  }
1142
1222
 
1223
+ declare const REPORT_PREVIEW_TOOLS: readonly ["search", "thumbnails", "zoom", ...ReportExportFormat[], "print", "pdfWindow", "editing", "import"];
1224
+
1143
1225
  /** 预览中的物理坐标;合并单元格使用左上角坐标。 */
1144
1226
  declare interface ReportCellAddress {
1145
1227
  pageIndex: number;
@@ -1234,6 +1316,15 @@ declare interface ReportEditOperation {
1234
1316
  signal: AbortSignal;
1235
1317
  }
1236
1318
 
1319
+ /** 报表含表头但业务行为空时,由接入方明确声明;组件不推测业务数据。 */
1320
+ declare interface ReportEmptyState {
1321
+ title?: string;
1322
+ description?: string;
1323
+ }
1324
+
1325
+ /** 输出能力仍由宿主授权;工具偏好只决定当前预览实例的可见与启用状态。 */
1326
+ declare type ReportExportFormat = "html" | "pdf" | "xlsx" | "png" | "word";
1327
+
1237
1328
  /** 保持 Promise<RenderPlan> 契约;元数据为可选,旧业务 fetcher 无需改造。 */
1238
1329
  declare interface ReportFetcher {
1239
1330
  (input: ReportFetchInput): Promise<RenderPlan>;
@@ -1286,6 +1377,10 @@ declare interface ReportParamDef_2 {
1286
1377
  placeholder?: string;
1287
1378
  }
1288
1379
 
1380
+ declare type ReportPreviewPreferences = Record<ReportPreviewTool, boolean>;
1381
+
1382
+ declare type ReportPreviewTool = typeof REPORT_PREVIEW_TOOLS[number];
1383
+
1289
1384
  declare type ReportRegistry = Record<string, ReportDefinition>;
1290
1385
 
1291
1386
  declare interface ReportTemplate {
@@ -48,6 +48,19 @@ showPdfWindow: {
48
48
  type: BooleanConstructor;
49
49
  default: undefined;
50
50
  };
51
+ showSettings: {
52
+ type: BooleanConstructor;
53
+ default: undefined;
54
+ };
55
+ toolbar: {
56
+ type: PropType<MachReportToolbarOptions>;
57
+ default: undefined;
58
+ };
59
+ /** 保留表头的零行业务结果;不改变计划和导出内容。 */
60
+ emptyState: {
61
+ type: PropType<boolean | ReportEmptyState>;
62
+ default: boolean;
63
+ };
51
64
  /** 页间距(px);不传走配置中心 */
52
65
  gapPx: {
53
66
  type: NumberConstructor;
@@ -111,6 +124,7 @@ loaded: (pageCount: number) => any;
111
124
  warning: (message: string) => any;
112
125
  "cell-edit": (edit: ReportCellEdit_2) => any;
113
126
  "template-import": (result: ExcelImportResult) => any;
127
+ "preferences-change": (preferences: Readonly<ReportPreviewPreferences>) => any;
114
128
  }, string, PublicProps, Readonly<ExtractPropTypes< {
115
129
  reportId: {
116
130
  type: PropType<string | string[] | null>;
@@ -141,6 +155,19 @@ showPdfWindow: {
141
155
  type: BooleanConstructor;
142
156
  default: undefined;
143
157
  };
158
+ showSettings: {
159
+ type: BooleanConstructor;
160
+ default: undefined;
161
+ };
162
+ toolbar: {
163
+ type: PropType<MachReportToolbarOptions>;
164
+ default: undefined;
165
+ };
166
+ /** 保留表头的零行业务结果;不改变计划和导出内容。 */
167
+ emptyState: {
168
+ type: PropType<boolean | ReportEmptyState>;
169
+ default: boolean;
170
+ };
144
171
  /** 页间距(px);不传走配置中心 */
145
172
  gapPx: {
146
173
  type: NumberConstructor;
@@ -192,6 +219,7 @@ onLoaded?: ((pageCount: number) => any) | undefined;
192
219
  onWarning?: ((message: string) => any) | undefined;
193
220
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
194
221
  "onTemplate-import"?: ((result: ExcelImportResult) => any) | undefined;
222
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
195
223
  }>, {
196
224
  editable: boolean | ReportEditingOptions;
197
225
  height: string;
@@ -202,10 +230,13 @@ debug: boolean;
202
230
  showExport: boolean;
203
231
  showPrint: boolean;
204
232
  showPdfWindow: boolean;
233
+ showSettings: boolean;
205
234
  showParams: boolean;
235
+ toolbar: MachReportToolbarOptions;
206
236
  messages: Partial<MachReportMessages>;
207
237
  excelImport: boolean | ExcelImportOptions;
208
238
  autoLoad: boolean;
239
+ emptyState: boolean | ReportEmptyState;
209
240
  preset: string;
210
241
  paramDefs: ReportParamDef[] | undefined;
211
242
  fetcher: PlanFetcher | null;
@@ -234,6 +265,12 @@ declare type __VLS_Props = {
234
265
  };
235
266
  thumbsVisible: boolean;
236
267
  showImport?: boolean;
268
+ showSearch?: boolean;
269
+ showThumbnails?: boolean;
270
+ showZoom?: boolean;
271
+ exportFormats?: readonly ReportExportFormat[];
272
+ showSettings?: boolean;
273
+ settingsOpen?: boolean;
237
274
  busy?: boolean;
238
275
  };
239
276
 
@@ -248,6 +285,7 @@ declare type __VLS_Props_2 = {
248
285
  declare function __VLS_template(): {
249
286
  attrs: Partial<{}>;
250
287
  slots: {
288
+ settings?(_: {}): any;
251
289
  default?(_: {}): any;
252
290
  };
253
291
  refs: {
@@ -944,6 +982,9 @@ export declare interface MachReportDefaults {
944
982
  showExport?: boolean;
945
983
  showPrint?: boolean;
946
984
  showPdfWindow?: boolean;
985
+ /** 设置入口默认显示;可在其中按需启用阅读及输出工具。 */
986
+ showSettings?: boolean;
987
+ toolbar?: MachReportToolbarOptions;
947
988
  /** 参数面板显隐(有参数定义且未显式关闭时显示;缺省 true) */
948
989
  showParams?: boolean;
949
990
  /** 页间距 px */
@@ -1054,6 +1095,20 @@ export declare interface MachReportMessages {
1054
1095
  editInvalidNumber?: string;
1055
1096
  editInvalidBoolean?: string;
1056
1097
  editConflict?: string;
1098
+ settings?: string;
1099
+ settingsDisplay?: string;
1100
+ settingsExport?: string;
1101
+ settingsData?: string;
1102
+ settingsUnavailable?: string;
1103
+ settingsReset?: string;
1104
+ settingsClose?: string;
1105
+ search?: string;
1106
+ zoom?: string;
1107
+ settingsLocal?: string;
1108
+ editingLocal?: string;
1109
+ editingSaved?: string;
1110
+ importLocal?: string;
1111
+ emptyDescription?: string;
1057
1112
  }
1058
1113
 
1059
1114
  /**
@@ -1121,6 +1176,18 @@ export declare const MachReportPreview: {
1121
1176
  type: BooleanConstructor;
1122
1177
  default: undefined;
1123
1178
  };
1179
+ showSettings: {
1180
+ type: BooleanConstructor;
1181
+ default: undefined;
1182
+ };
1183
+ toolbar: {
1184
+ type: PropType<MachReportToolbarOptions>;
1185
+ default: undefined;
1186
+ };
1187
+ emptyState: {
1188
+ type: PropType<boolean | ReportEmptyState>;
1189
+ default: boolean;
1190
+ };
1124
1191
  gapPx: {
1125
1192
  type: NumberConstructor;
1126
1193
  default: undefined;
@@ -1166,6 +1233,7 @@ export declare const MachReportPreview: {
1166
1233
  onWarning?: ((message: string) => any) | undefined;
1167
1234
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
1168
1235
  "onTemplate-import"?: ((result: ExcelImportResult_2) => any) | undefined;
1236
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
1169
1237
  }>, {
1170
1238
  reload: () => Promise<void>;
1171
1239
  print: () => Promise<void>;
@@ -1189,6 +1257,7 @@ export declare const MachReportPreview: {
1189
1257
  warning: (message: string) => any;
1190
1258
  "cell-edit": (edit: ReportCellEdit_2) => any;
1191
1259
  "template-import": (result: ExcelImportResult_2) => any;
1260
+ "preferences-change": (preferences: Readonly<ReportPreviewPreferences>) => any;
1192
1261
  }, PublicProps, {
1193
1262
  editable: boolean | ReportEditingOptions;
1194
1263
  height: string;
@@ -1199,10 +1268,13 @@ export declare const MachReportPreview: {
1199
1268
  showExport: boolean;
1200
1269
  showPrint: boolean;
1201
1270
  showPdfWindow: boolean;
1271
+ showSettings: boolean;
1202
1272
  showParams: boolean;
1273
+ toolbar: MachReportToolbarOptions;
1203
1274
  messages: Partial<MachReportMessages>;
1204
1275
  excelImport: boolean | ExcelImportOptions_2;
1205
1276
  autoLoad: boolean;
1277
+ emptyState: boolean | ReportEmptyState;
1206
1278
  preset: string;
1207
1279
  paramDefs: ReportParamDef[] | undefined;
1208
1280
  fetcher: PlanFetcher | null;
@@ -1247,6 +1319,18 @@ export declare const MachReportPreview: {
1247
1319
  type: BooleanConstructor;
1248
1320
  default: undefined;
1249
1321
  };
1322
+ showSettings: {
1323
+ type: BooleanConstructor;
1324
+ default: undefined;
1325
+ };
1326
+ toolbar: {
1327
+ type: PropType<MachReportToolbarOptions>;
1328
+ default: undefined;
1329
+ };
1330
+ emptyState: {
1331
+ type: PropType<boolean | ReportEmptyState>;
1332
+ default: boolean;
1333
+ };
1250
1334
  gapPx: {
1251
1335
  type: NumberConstructor;
1252
1336
  default: undefined;
@@ -1292,6 +1376,7 @@ export declare const MachReportPreview: {
1292
1376
  onWarning?: ((message: string) => any) | undefined;
1293
1377
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
1294
1378
  "onTemplate-import"?: ((result: ExcelImportResult_2) => any) | undefined;
1379
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
1295
1380
  }>, {
1296
1381
  reload: () => Promise<void>;
1297
1382
  print: () => Promise<void>;
@@ -1316,10 +1401,13 @@ export declare const MachReportPreview: {
1316
1401
  showExport: boolean;
1317
1402
  showPrint: boolean;
1318
1403
  showPdfWindow: boolean;
1404
+ showSettings: boolean;
1319
1405
  showParams: boolean;
1406
+ toolbar: MachReportToolbarOptions;
1320
1407
  messages: Partial<MachReportMessages>;
1321
1408
  excelImport: boolean | ExcelImportOptions_2;
1322
1409
  autoLoad: boolean;
1410
+ emptyState: boolean | ReportEmptyState;
1323
1411
  preset: string;
1324
1412
  paramDefs: ReportParamDef[] | undefined;
1325
1413
  fetcher: PlanFetcher | null;
@@ -1356,6 +1444,18 @@ showPdfWindow: {
1356
1444
  type: BooleanConstructor;
1357
1445
  default: undefined;
1358
1446
  };
1447
+ showSettings: {
1448
+ type: BooleanConstructor;
1449
+ default: undefined;
1450
+ };
1451
+ toolbar: {
1452
+ type: PropType<MachReportToolbarOptions>;
1453
+ default: undefined;
1454
+ };
1455
+ emptyState: {
1456
+ type: PropType<boolean | ReportEmptyState>;
1457
+ default: boolean;
1458
+ };
1359
1459
  gapPx: {
1360
1460
  type: NumberConstructor;
1361
1461
  default: undefined;
@@ -1401,6 +1501,7 @@ onLoaded?: ((pageCount: number) => any) | undefined;
1401
1501
  onWarning?: ((message: string) => any) | undefined;
1402
1502
  "onCell-edit"?: ((edit: ReportCellEdit_2) => any) | undefined;
1403
1503
  "onTemplate-import"?: ((result: ExcelImportResult_2) => any) | undefined;
1504
+ "onPreferences-change"?: ((preferences: Readonly<ReportPreviewPreferences>) => any) | undefined;
1404
1505
  }>, {
1405
1506
  reload: () => Promise<void>;
1406
1507
  print: () => Promise<void>;
@@ -1424,6 +1525,7 @@ loaded: (pageCount: number) => any;
1424
1525
  warning: (message: string) => any;
1425
1526
  "cell-edit": (edit: ReportCellEdit_2) => any;
1426
1527
  "template-import": (result: ExcelImportResult_2) => any;
1528
+ "preferences-change": (preferences: Readonly<ReportPreviewPreferences>) => any;
1427
1529
  }, string, {
1428
1530
  editable: boolean | ReportEditingOptions;
1429
1531
  height: string;
@@ -1434,15 +1536,19 @@ debug: boolean;
1434
1536
  showExport: boolean;
1435
1537
  showPrint: boolean;
1436
1538
  showPdfWindow: boolean;
1539
+ showSettings: boolean;
1437
1540
  showParams: boolean;
1541
+ toolbar: MachReportToolbarOptions;
1438
1542
  messages: Partial<MachReportMessages>;
1439
1543
  excelImport: boolean | ExcelImportOptions_2;
1440
1544
  autoLoad: boolean;
1545
+ emptyState: boolean | ReportEmptyState;
1441
1546
  preset: string;
1442
1547
  paramDefs: ReportParamDef[] | undefined;
1443
1548
  fetcher: PlanFetcher | null;
1444
1549
  }, {}, string, {}, { [K in keyof GlobalComponents]: GlobalComponents[K] }, { [K in keyof GlobalDirectives]: GlobalDirectives[K] }, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
1445
1550
  $slots: {
1551
+ settings?(_: {}): any;
1446
1552
  default?(_: {}): any;
1447
1553
  };
1448
1554
  });
@@ -1494,6 +1600,18 @@ export declare interface MachReportTheme {
1494
1600
  btnActiveBg: string;
1495
1601
  }
1496
1602
 
1603
+ export declare interface MachReportToolbarOptions {
1604
+ search?: boolean;
1605
+ thumbnails?: boolean;
1606
+ zoom?: boolean;
1607
+ /** 编辑能力由 editable 授权;此项仅设置初始交互偏好,默认 true(兼容旧行为)。 */
1608
+ editing?: boolean;
1609
+ /** 导入能力由 excelImport 授权;此项仅设置初始交互偏好,默认 true。 */
1610
+ excelImport?: boolean;
1611
+ /** 未传时显示全部已有出口;空数组表示不提供导出工具。 */
1612
+ exportFormats?: ReportExportFormat[];
1613
+ }
1614
+
1497
1615
  export declare function normalizeReportIds(reportId: ReportIdInput): string[];
1498
1616
 
1499
1617
  declare function openPdfWindow(): void;
@@ -1712,6 +1830,10 @@ declare interface RenderPlan {
1712
1830
  pages: PlanPage[];
1713
1831
  }
1714
1832
 
1833
+ export declare const REPORT_EXPORT_FORMATS: readonly ReportExportFormat[];
1834
+
1835
+ export declare const REPORT_PREVIEW_TOOLS: readonly ["search", "thumbnails", "zoom", ...ReportExportFormat[], "print", "pdfWindow", "editing", "import"];
1836
+
1715
1837
  /** 预览中的物理坐标;合并单元格使用左上角坐标。 */
1716
1838
  declare interface ReportCellAddress {
1717
1839
  pageIndex: number;
@@ -1806,6 +1928,15 @@ export declare interface ReportEditOperation {
1806
1928
  signal: AbortSignal;
1807
1929
  }
1808
1930
 
1931
+ /** 报表含表头但业务行为空时,由接入方明确声明;组件不推测业务数据。 */
1932
+ export declare interface ReportEmptyState {
1933
+ title?: string;
1934
+ description?: string;
1935
+ }
1936
+
1937
+ /** 输出能力仍由宿主授权;工具偏好只决定当前预览实例的可见与启用状态。 */
1938
+ export declare type ReportExportFormat = "html" | "pdf" | "xlsx" | "png" | "word";
1939
+
1809
1940
  /** 保持 Promise<RenderPlan> 契约;元数据为可选,旧业务 fetcher 无需改造。 */
1810
1941
  declare interface ReportFetcher {
1811
1942
  (input: ReportFetchInput): Promise<RenderPlan>;
@@ -1889,6 +2020,10 @@ onQuery?: (() => any) | undefined;
1889
2020
 
1890
2021
  export declare const ReportPreview: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
1891
2022
 
2023
+ export declare type ReportPreviewPreferences = Record<ReportPreviewTool, boolean>;
2024
+
2025
+ export declare type ReportPreviewTool = typeof REPORT_PREVIEW_TOOLS[number];
2026
+
1892
2027
  declare type ReportRegistry = Record<string, ReportDefinition>;
1893
2028
 
1894
2029
  declare interface ReportTemplate {
@@ -1925,6 +2060,7 @@ goto: (page: number) => any;
1925
2060
  "search-toggle": () => any;
1926
2061
  "thumbs-toggle": () => any;
1927
2062
  "import-excel": () => any;
2063
+ "settings-toggle": () => any;
1928
2064
  }, string, PublicProps, Readonly<__VLS_Props> & Readonly<{
1929
2065
  onPrint?: (() => any) | undefined;
1930
2066
  onExport?: ((format: "html" | "png" | "pdf" | "xlsx" | "word") => any) | undefined;
@@ -1936,13 +2072,14 @@ onGoto?: ((page: number) => any) | undefined;
1936
2072
  "onSearch-toggle"?: (() => any) | undefined;
1937
2073
  "onThumbs-toggle"?: (() => any) | undefined;
1938
2074
  "onImport-excel"?: (() => any) | undefined;
2075
+ "onSettings-toggle"?: (() => any) | undefined;
1939
2076
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1940
2077
  searchInputRef: HTMLInputElement;
1941
2078
  }, HTMLDivElement>;
1942
2079
 
1943
2080
  export declare function resolveConfig(config: MachReportConfig | null | undefined, presetName?: string): ResolvedConfig;
1944
2081
 
1945
- export declare type ResolvedConfig = Required<Pick<MachReportDefaults, "showExport" | "showPrint" | "showPdfWindow" | "showParams" | "gapPx">> & {
2082
+ export declare type ResolvedConfig = Required<Pick<MachReportDefaults, "showExport" | "showPrint" | "showPdfWindow" | "showSettings" | "showParams" | "gapPx">> & {
1946
2083
  pdfFontUrl: string;
1947
2084
  theme: MachReportTheme;
1948
2085
  messages: MachReportMessages;
@@ -1951,6 +2088,7 @@ export declare type ResolvedConfig = Required<Pick<MachReportDefaults, "showExpo
1951
2088
  xlsx: XlsxRenderOptions;
1952
2089
  editable: boolean | ReportEditingOptions;
1953
2090
  excelImport: boolean | ExcelImportOptions;
2091
+ toolbar: MachReportToolbarOptions;
1954
2092
  };
1955
2093
 
1956
2094
  declare interface RichParagraph {