@k-table/sheet-core 0.0.1 → 1.0.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.
@@ -0,0 +1 @@
1
+ 'use strict';const _0x5aea14=_0x9b2a;(function(_0x4db385,_0x25b047){const _0x20b43d=_0x9b2a,_0x5a725d=_0x4db385();while(!![]){try{const _0x10e287=-parseInt(_0x20b43d(0x1c0))/0x1*(parseInt(_0x20b43d(0x1c6))/0x2)+parseInt(_0x20b43d(0x1c5))/0x3+-parseInt(_0x20b43d(0x1d0))/0x4*(parseInt(_0x20b43d(0x1c8))/0x5)+parseInt(_0x20b43d(0x1ce))/0x6+parseInt(_0x20b43d(0x1c4))/0x7+-parseInt(_0x20b43d(0x1bf))/0x8+parseInt(_0x20b43d(0x1d7))/0x9*(parseInt(_0x20b43d(0x1d4))/0xa);if(_0x10e287===_0x25b047)break;else _0x5a725d['push'](_0x5a725d['shift']());}catch(_0x2971e0){_0x5a725d['push'](_0x5a725d['shift']());}}}(_0x464c,0x4375b));var SHEET_ENGINE_CONFIG={'DEFAULT_ROW_COUNT':0xc8,'DEFAULT_COL_COUNT':0x32,'DEFAULT_ROW_HEIGHT':0x18,'DEFAULT_COL_WIDTH':0x50};function randomSheetId(){const _0x5e28f1=_0x9b2a,_0x3aee0b=_0x5e28f1(0x1c1);let _0x284e45='';for(let _0x1c7963=0x0;_0x1c7963<0x4;_0x1c7963+=0x1){_0x284e45+=_0x3aee0b[Math[_0x5e28f1(0x1ca)](Math['random']()*_0x3aee0b[_0x5e28f1(0x1d6)])];}return _0x284e45;}function createDefaultPage(){const _0x4c26b3=_0x9b2a;return{'paper':'A4','orientation':_0x4c26b3(0x1bd),'marginMm':{'top':0xc,'right':0xc,'bottom':0xc,'left':0xc}};}function _0x9b2a(_0x3e6e63,_0x6e902a){_0x3e6e63=_0x3e6e63-0x1bd;const _0x464cce=_0x464c();let _0x9b2a3e=_0x464cce[_0x3e6e63];if(_0x9b2a['EyNTHQ']===undefined){var _0x27e885=function(_0x1a8c24){const _0x429ca3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x330947='',_0x3aee0b='';for(let _0x284e45=0x0,_0x1c7963,_0x6c6847,_0x2e6d64=0x0;_0x6c6847=_0x1a8c24['charAt'](_0x2e6d64++);~_0x6c6847&&(_0x1c7963=_0x284e45%0x4?_0x1c7963*0x40+_0x6c6847:_0x6c6847,_0x284e45++%0x4)?_0x330947+=String['fromCharCode'](0xff&_0x1c7963>>(-0x2*_0x284e45&0x6)):0x0){_0x6c6847=_0x429ca3['indexOf'](_0x6c6847);}for(let _0x5e1760=0x0,_0x28094d=_0x330947['length'];_0x5e1760<_0x28094d;_0x5e1760++){_0x3aee0b+='%'+('00'+_0x330947['charCodeAt'](_0x5e1760)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3aee0b);};_0x9b2a['bjSzZi']=_0x27e885,_0x9b2a['aaHtPH']={},_0x9b2a['EyNTHQ']=!![];}const _0x414d36=_0x464cce[0x0];_0x9b2a['iNWDtu']!==_0x414d36&&(_0x9b2a['aaHtPH']={},_0x9b2a['iNWDtu']=_0x414d36);const _0x36dd42=_0x9b2a['aaHtPH'][_0x3e6e63];return _0x36dd42===undefined?(_0x9b2a3e=_0x9b2a['bjSzZi'](_0x9b2a3e),_0x9b2a['aaHtPH'][_0x3e6e63]=_0x9b2a3e):_0x9b2a3e=_0x36dd42,_0x9b2a3e;}function createEmptySheet(_0x6c6847,_0x2e6d64=SHEET_ENGINE_CONFIG[_0x5aea14(0x1cb)],_0x5e1760=SHEET_ENGINE_CONFIG['DEFAULT_COL_COUNT']){const _0x28094d=randomSheetId(),_0x50858f={'rowCount':_0x2e6d64,'colCount':_0x5e1760,'defaultRowHeight':SHEET_ENGINE_CONFIG['DEFAULT_ROW_HEIGHT'],'defaultColWidth':SHEET_ENGINE_CONFIG['DEFAULT_COL_WIDTH'],'cells':{},'merges':[],'page':createDefaultPage()};return{'id':_0x28094d,'name':_0x6c6847,'sheet':_0x50858f};}function createEmptyWorkbook(){const _0x43232a=_0x5aea14,_0x7416bb=createEmptySheet(_0x43232a(0x1cc));return{'workbookVersion':0x1,'sheets':[_0x7416bb],'activeSheetId':_0x7416bb['id'],'meta':{}};}function isObject(_0x526809){return typeof _0x526809==='object'&&_0x526809!==null;}function migrateWorkbook(_0x3383f2){const _0x47de19=_0x5aea14;if(!isObject(_0x3383f2))throw new Error('Workbook\x20JSON\x20\u5FC5\u987B\u4E3A\u5BF9\u8C61');const _0x5891e6=typeof _0x3383f2['workbookVersion']===_0x47de19(0x1d5)?_0x3383f2[_0x47de19(0x1c3)]:0x0;if(_0x5891e6>0x1)throw new Error(_0x47de19(0x1c7)+_0x5891e6);let _0x3660fd;if(_0x5891e6===0x0){const _0xf926c0={..._0x3383f2[_0x47de19(0x1d3)]??{}},_0x48ad5e=new Set(['workbookVersion',_0x47de19(0x1d8),_0x47de19(0x1c9),'ktTemplate',_0x47de19(0x1c2),'extension']);for(const _0x17e493 of Object[_0x47de19(0x1d1)](_0x3383f2)){!_0x48ad5e[_0x47de19(0x1cf)](_0x17e493)&&(_0xf926c0['legacy_'+_0x17e493]=_0x3383f2[_0x17e493]);}_0x3660fd={'workbookVersion':0x1,'sheets':_0x3383f2['sheets']??[],'activeSheetId':String(_0x3383f2[_0x47de19(0x1c9)]??''),'ktTemplate':_0x3383f2[_0x47de19(0x1cd)],'meta':_0x3383f2[_0x47de19(0x1c2)]??{},'extension':_0xf926c0};}else _0x3660fd={'workbookVersion':0x1,'sheets':_0x3383f2['sheets'],'activeSheetId':String(_0x3383f2['activeSheetId']),'ktTemplate':_0x3383f2[_0x47de19(0x1cd)],'meta':_0x3383f2['meta'],'extension':_0x3383f2[_0x47de19(0x1d3)]};if(!Array[_0x47de19(0x1d2)](_0x3660fd['sheets'])||_0x3660fd[_0x47de19(0x1d8)][_0x47de19(0x1d6)]===0x0)return createEmptyWorkbook();const _0xf8c85b=new Set(_0x3660fd['sheets']['map'](_0xc67a64=>_0xc67a64['id']));return!_0xf8c85b[_0x47de19(0x1cf)](_0x3660fd[_0x47de19(0x1c9)])&&(_0x3660fd[_0x47de19(0x1c9)]=_0x3660fd[_0x47de19(0x1d8)][0x0]['id']),_0x3660fd;}function _0x464c(){const _0x106819=['A3ruzw1WBgf0zq','ndq1mdaYALnkuM5e','AgfZ','mtK2ody0ne5kCM9OrG','A2v5CW','AxnbCNjHEq','zxH0zw5ZAw9U','nZi1me9duKnpyW','BNvTyMvY','BgvUz3rO','ndi1n0rnt3HoDq','C2HLzxrZ','Cg9YDhjHAxq','BwLNCMf0zvDVCMTIB29R','mtCXnZy4yvDZv0Py','nJm3ntrZwgHgrvC','mdeYmZq1nJC4owfIy2rLzG','Bwv0yq','D29YA2jVB2TwzxjZAw9U','mJeYotm3owjACLPjtq','ntG4ndK4C1fkC3j2','nef2v3jzva','5lIn5PsV5OYb55QeihDVCMTIB29RvMvYC2LVBJOG','nufcugPOwq','ywn0AxzLu2HLzxrjza','zMXVB3i','revgqvvmvf9st1DFq09vtLq','u2HLzxqX'];_0x464c=function(){return _0x106819;};return _0x464c();}exports[_0x5aea14(0x1be)]=migrateWorkbook;
@@ -0,0 +1,9 @@
1
+ import { e as Workbook } from '../types-9rRrxBdg.cjs';
2
+
3
+ /**
4
+ * 读时迁移:低版本归一为当前内存模型(07 §3)。
5
+ * M0 仅实现 0 → 1(缺省 `workbookVersion` 视为 0)。
6
+ */
7
+ declare function migrateWorkbook(raw: unknown): Workbook;
8
+
9
+ export { migrateWorkbook };
@@ -0,0 +1,9 @@
1
+ import { e as Workbook } from '../types-9rRrxBdg.js';
2
+
3
+ /**
4
+ * 读时迁移:低版本归一为当前内存模型(07 §3)。
5
+ * M0 仅实现 0 → 1(缺省 `workbookVersion` 视为 0)。
6
+ */
7
+ declare function migrateWorkbook(raw: unknown): Workbook;
8
+
9
+ export { migrateWorkbook };
@@ -0,0 +1 @@
1
+ function _0x4c6a(_0x283822,_0x4eb7aa){_0x283822=_0x283822-0x12d;var _0x4ee94c=_0x4ee9();var _0x4c6a58=_0x4ee94c[_0x283822];if(_0x4c6a['gvDYnJ']===undefined){var _0x4cfc7e=function(_0xab7743){var _0x134ac8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3f7d4d='',_0x4d1bce='';for(var _0xde89fa=0x0,_0x59fd50,_0x8b57c6,_0x38927e=0x0;_0x8b57c6=_0xab7743['charAt'](_0x38927e++);~_0x8b57c6&&(_0x59fd50=_0xde89fa%0x4?_0x59fd50*0x40+_0x8b57c6:_0x8b57c6,_0xde89fa++%0x4)?_0x3f7d4d+=String['fromCharCode'](0xff&_0x59fd50>>(-0x2*_0xde89fa&0x6)):0x0){_0x8b57c6=_0x134ac8['indexOf'](_0x8b57c6);}for(var _0x4fda5d=0x0,_0x19a692=_0x3f7d4d['length'];_0x4fda5d<_0x19a692;_0x4fda5d++){_0x4d1bce+='%'+('00'+_0x3f7d4d['charCodeAt'](_0x4fda5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d1bce);};_0x4c6a['cMozHF']=_0x4cfc7e,_0x4c6a['vHXEWU']={},_0x4c6a['gvDYnJ']=!![];}var _0x44e870=_0x4ee94c[0x0];_0x4c6a['ljpECD']!==_0x44e870&&(_0x4c6a['vHXEWU']={},_0x4c6a['ljpECD']=_0x44e870);var _0x2a0e9c=_0x4c6a['vHXEWU'][_0x283822];return _0x2a0e9c===undefined?(_0x4c6a58=_0x4c6a['cMozHF'](_0x4c6a58),_0x4c6a['vHXEWU'][_0x283822]=_0x4c6a58):_0x4c6a58=_0x2a0e9c,_0x4c6a58;}(function(_0x625187,_0x550a5c){var _0x4a941e=_0x4c6a,_0x8327cb=_0x625187();while(!![]){try{var _0x304be4=-parseInt(_0x4a941e(0x12d))/0x1+parseInt(_0x4a941e(0x131))/0x2+-parseInt(_0x4a941e(0x12f))/0x3+parseInt(_0x4a941e(0x130))/0x4+parseInt(_0x4a941e(0x133))/0x5+-parseInt(_0x4a941e(0x12e))/0x6*(parseInt(_0x4a941e(0x132))/0x7)+parseInt(_0x4a941e(0x134))/0x8;if(_0x304be4===_0x550a5c)break;else _0x8327cb['push'](_0x8327cb['shift']());}catch(_0x362157){_0x8327cb['push'](_0x8327cb['shift']());}}}(_0x4ee9,0xca117));export{migrateWorkbook}from'../chunk-FRYFH3X6.js';function _0x4ee9(){var _0x27a26c=['mJKZnZi1oerhte9tEa','mtrVvhHXAvu','ntu4mZuYmeDywfvpta','otGWmdK5mMvLugvdra','mte3mJC4nw1Jy0XzBG','mJi5ntm2mhLcvKvyta','nda1otKZnKjdv3zQBG','mtiZmZCYnhHgt0H6Ea'];_0x4ee9=function(){return _0x27a26c;};return _0x4ee9();}
@@ -0,0 +1 @@
1
+ 'use strict';var _0x4c929a=_0x145b;(function(_0x19c8fa,_0x904dd){var _0x25ad03=_0x145b,_0x14b40e=_0x19c8fa();while(!![]){try{var _0x369c2d=parseInt(_0x25ad03(0xb9))/0x1+-parseInt(_0x25ad03(0xb6))/0x2*(-parseInt(_0x25ad03(0xbf))/0x3)+-parseInt(_0x25ad03(0xb8))/0x4*(-parseInt(_0x25ad03(0xb4))/0x5)+-parseInt(_0x25ad03(0xbd))/0x6+parseInt(_0x25ad03(0xbe))/0x7*(parseInt(_0x25ad03(0xba))/0x8)+parseInt(_0x25ad03(0xb3))/0x9*(-parseInt(_0x25ad03(0xbc))/0xa)+-parseInt(_0x25ad03(0xb7))/0xb*(parseInt(_0x25ad03(0xb1))/0xc);if(_0x369c2d===_0x904dd)break;else _0x14b40e['push'](_0x14b40e['shift']());}catch(_0x3640f6){_0x14b40e['push'](_0x14b40e['shift']());}}}(_0xd4a7,0xc1688));var SHEET_TEMPLATE_JSON_VERSION=0x2,HEADER_ROW=0x0,HEADER_COL=0x0;function cellKey(_0x508f6c,_0x5903de){return _0x508f6c+','+_0x5903de;}function _0xd4a7(){var _0x165bc7=['sevbrevsx0npta','ndy2mdGYmejeExjZra','nZqYmJC2mMr3t3n6ra','mtrMC2HSvLi','mJCWndj5BgLMD0u','u0HfrvrFvevnueXbvevFsLnptL9wrvjtsu9o','y2vSBeTLEq','mtC2nfznEgjuDq','CgfYC2vdzwXSs2v5','oxnAzvDTDq','mte3mJm1BefSwu5i','zxHLyW','mJzcExvHCg0','nJK4odnPDLDYyNO','mtq4sMXnsKrZ','mta2ntK3n2fJugvozW','ntuXndqWofzbzuXbua'];_0xd4a7=function(){return _0x165bc7;};return _0xd4a7();}function _0x145b(_0xfd3643,_0x49e80f){_0xfd3643=_0xfd3643-0xaf;var _0xd4a743=_0xd4a7();var _0x145b12=_0xd4a743[_0xfd3643];if(_0x145b['EKdwzT']===undefined){var _0x17807f=function(_0x671c91){var _0x73ffc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1fe8db='',_0x508f6c='';for(var _0x5903de=0x0,_0x1bd819,_0x5082b1,_0x4959b0=0x0;_0x5082b1=_0x671c91['charAt'](_0x4959b0++);~_0x5082b1&&(_0x1bd819=_0x5903de%0x4?_0x1bd819*0x40+_0x5082b1:_0x5082b1,_0x5903de++%0x4)?_0x1fe8db+=String['fromCharCode'](0xff&_0x1bd819>>(-0x2*_0x5903de&0x6)):0x0){_0x5082b1=_0x73ffc['indexOf'](_0x5082b1);}for(var _0x4fc443=0x0,_0x3336fd=_0x1fe8db['length'];_0x4fc443<_0x3336fd;_0x4fc443++){_0x508f6c+='%'+('00'+_0x1fe8db['charCodeAt'](_0x4fc443)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x508f6c);};_0x145b['MwvApZ']=_0x17807f,_0x145b['AuLdvz']={},_0x145b['EKdwzT']=!![];}var _0x18914a=_0xd4a743[0x0];_0x145b['tPJXPv']!==_0x18914a&&(_0x145b['AuLdvz']={},_0x145b['tPJXPv']=_0x18914a);var _0x18d304=_0x145b['AuLdvz'][_0xfd3643];return _0x18d304===undefined?(_0x145b12=_0x145b['MwvApZ'](_0x145b12),_0x145b['AuLdvz'][_0xfd3643]=_0x145b12):_0x145b12=_0x18d304,_0x145b12;}function parseCellKey(_0x1bd819){var _0x28de55=_0x145b;const _0x5082b1=/^(\d+),(\d+)$/[_0x28de55(0xb5)](_0x1bd819);if(!_0x5082b1)return null;return{'r':Number(_0x5082b1[0x1]),'c':Number(_0x5082b1[0x2])};}exports[_0x4c929a(0xbb)]=HEADER_COL,exports['HEADER_ROW']=HEADER_ROW,exports[_0x4c929a(0xaf)]=SHEET_TEMPLATE_JSON_VERSION,exports[_0x4c929a(0xb0)]=cellKey,exports[_0x4c929a(0xb2)]=parseCellKey;
@@ -0,0 +1,132 @@
1
+ /** 模板 JSON 版本;v2 起 `fontSize` 为磅(pt),v1 为历史 px */
2
+ declare const SHEET_TEMPLATE_JSON_VERSION: 2;
3
+ type SheetPaperKind = "A4" | "A3" | "Letter" | "Custom";
4
+ type SheetOrientation = "portrait" | "landscape";
5
+ /** cm 单位页边距(内部换算时 ×10 为 mm) */
6
+ interface PageMarginsCm {
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ left: number;
11
+ }
12
+ /** 报表页眉/页脚:每物理打印页重复渲染的模板行区间(1-based,含端点) */
13
+ interface PageRepeatRowsRange {
14
+ startRow: number;
15
+ endRow: number;
16
+ }
17
+ interface PageSettings {
18
+ paper: SheetPaperKind;
19
+ /** mm,仅 paper === "Custom" 时使用(如针式小卡 120×127);Custom 下 orientation 不参与尺寸换算 */
20
+ widthMm?: number;
21
+ heightMm?: number;
22
+ orientation: SheetOrientation;
23
+ /**
24
+ * 输出旋转(度,顺时针):版式不变,输出时物理纸张交换宽高、内容整体旋转,
25
+ * 适配打印机进纸方向(如针式标签横向进纸)。缺省 0。
26
+ */
27
+ outputRotation?: 0 | 90 | 270;
28
+ marginsCm: PageMarginsCm;
29
+ /** 报表扩展:每物理页顶部重复的页眉行区间(KTL @pageHeader) */
30
+ pageHeaderRows?: PageRepeatRowsRange;
31
+ /** 报表扩展:每物理页底部重复的页脚行区间(KTL @pageFooter) */
32
+ pageFooterRows?: PageRepeatRowsRange;
33
+ }
34
+ type TextAlign = "left" | "center" | "right";
35
+ type VerticalAlign = "top" | "middle" | "bottom";
36
+ type BorderStyle = "none" | "thin" | "medium" | "thick";
37
+ type BorderLinePattern = "solid" | "dashed" | "dotted";
38
+ type TextRunStyle = {
39
+ bold?: boolean;
40
+ italic?: boolean;
41
+ underline?: boolean;
42
+ strikethrough?: boolean;
43
+ superscript?: boolean;
44
+ subscript?: boolean;
45
+ fontSize?: number;
46
+ fontFamily?: string;
47
+ textColor?: string;
48
+ };
49
+ interface TextRun {
50
+ t: string;
51
+ s?: TextRunStyle;
52
+ }
53
+ interface CellStyle {
54
+ bold?: boolean;
55
+ italic?: boolean;
56
+ underline?: boolean;
57
+ strikethrough?: boolean;
58
+ superscript?: boolean;
59
+ subscript?: boolean;
60
+ fontSize?: number;
61
+ fontFamily?: string;
62
+ textColor?: string;
63
+ bgColor?: string;
64
+ align?: TextAlign;
65
+ verticalAlign?: VerticalAlign;
66
+ wrapText?: boolean;
67
+ shrinkToFit?: boolean;
68
+ borderTop?: BorderStyle;
69
+ borderRight?: BorderStyle;
70
+ borderBottom?: BorderStyle;
71
+ borderLeft?: BorderStyle;
72
+ borderColor?: string;
73
+ borderTopColor?: string;
74
+ borderRightColor?: string;
75
+ borderBottomColor?: string;
76
+ borderLeftColor?: string;
77
+ borderLinePattern?: BorderLinePattern;
78
+ borderTopPattern?: BorderLinePattern;
79
+ borderRightPattern?: BorderLinePattern;
80
+ borderBottomPattern?: BorderLinePattern;
81
+ borderLeftPattern?: BorderLinePattern;
82
+ /** 竖排文本(如 writing-mode:vertical-rl) */
83
+ writingMode?: string;
84
+ }
85
+ type EmbedAnchorRole = "chart" | "signature" | "image" | "qrcode" | "barcode";
86
+ type BaseTemplateCellBinding = {
87
+ kind: "basicField" | "dict" | "systemParam" | "mainField" | "subField" | "embedAnchor";
88
+ key: string;
89
+ subSchemaId?: number;
90
+ subRowSlot?: number;
91
+ displayText?: string;
92
+ embedRole?: EmbedAnchorRole;
93
+ };
94
+ interface CellData {
95
+ value: string;
96
+ style?: CellStyle;
97
+ runs?: TextRun[];
98
+ f?: string;
99
+ baseTemplateBinding?: BaseTemplateCellBinding;
100
+ designFieldLine?: string;
101
+ instanceEditable?: boolean;
102
+ /** 报表渲染:base64 或 URL 图片(优先于 value 显示) */
103
+ imageSrc?: string;
104
+ }
105
+ /** 合并区域:含端点,与 Excel 一致为矩形 inclusive */
106
+ interface MergeRange {
107
+ r1: number;
108
+ c1: number;
109
+ r2: number;
110
+ c2: number;
111
+ }
112
+ interface SheetTemplateState {
113
+ version: typeof SHEET_TEMPLATE_JSON_VERSION;
114
+ rowCount: number;
115
+ colCount: number;
116
+ defaultRowHeight: number;
117
+ defaultColWidth: number;
118
+ rowHeights?: number[];
119
+ colWidths?: number[];
120
+ cells: Record<string, CellData>;
121
+ merges: MergeRange[];
122
+ page: PageSettings;
123
+ }
124
+ declare const HEADER_ROW = 0;
125
+ declare const HEADER_COL = 0;
126
+ declare function cellKey(r: number, c: number): string;
127
+ declare function parseCellKey(key: string): {
128
+ r: number;
129
+ c: number;
130
+ } | null;
131
+
132
+ export { type BaseTemplateCellBinding, type BorderLinePattern, type BorderStyle, type CellData, type CellStyle, type EmbedAnchorRole, HEADER_COL, HEADER_ROW, type MergeRange, type PageMarginsCm, type PageRepeatRowsRange, type PageSettings, SHEET_TEMPLATE_JSON_VERSION, type SheetOrientation, type SheetPaperKind, type SheetTemplateState, type TextAlign, type TextRun, type TextRunStyle, type VerticalAlign, cellKey, parseCellKey };
@@ -0,0 +1,132 @@
1
+ /** 模板 JSON 版本;v2 起 `fontSize` 为磅(pt),v1 为历史 px */
2
+ declare const SHEET_TEMPLATE_JSON_VERSION: 2;
3
+ type SheetPaperKind = "A4" | "A3" | "Letter" | "Custom";
4
+ type SheetOrientation = "portrait" | "landscape";
5
+ /** cm 单位页边距(内部换算时 ×10 为 mm) */
6
+ interface PageMarginsCm {
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ left: number;
11
+ }
12
+ /** 报表页眉/页脚:每物理打印页重复渲染的模板行区间(1-based,含端点) */
13
+ interface PageRepeatRowsRange {
14
+ startRow: number;
15
+ endRow: number;
16
+ }
17
+ interface PageSettings {
18
+ paper: SheetPaperKind;
19
+ /** mm,仅 paper === "Custom" 时使用(如针式小卡 120×127);Custom 下 orientation 不参与尺寸换算 */
20
+ widthMm?: number;
21
+ heightMm?: number;
22
+ orientation: SheetOrientation;
23
+ /**
24
+ * 输出旋转(度,顺时针):版式不变,输出时物理纸张交换宽高、内容整体旋转,
25
+ * 适配打印机进纸方向(如针式标签横向进纸)。缺省 0。
26
+ */
27
+ outputRotation?: 0 | 90 | 270;
28
+ marginsCm: PageMarginsCm;
29
+ /** 报表扩展:每物理页顶部重复的页眉行区间(KTL @pageHeader) */
30
+ pageHeaderRows?: PageRepeatRowsRange;
31
+ /** 报表扩展:每物理页底部重复的页脚行区间(KTL @pageFooter) */
32
+ pageFooterRows?: PageRepeatRowsRange;
33
+ }
34
+ type TextAlign = "left" | "center" | "right";
35
+ type VerticalAlign = "top" | "middle" | "bottom";
36
+ type BorderStyle = "none" | "thin" | "medium" | "thick";
37
+ type BorderLinePattern = "solid" | "dashed" | "dotted";
38
+ type TextRunStyle = {
39
+ bold?: boolean;
40
+ italic?: boolean;
41
+ underline?: boolean;
42
+ strikethrough?: boolean;
43
+ superscript?: boolean;
44
+ subscript?: boolean;
45
+ fontSize?: number;
46
+ fontFamily?: string;
47
+ textColor?: string;
48
+ };
49
+ interface TextRun {
50
+ t: string;
51
+ s?: TextRunStyle;
52
+ }
53
+ interface CellStyle {
54
+ bold?: boolean;
55
+ italic?: boolean;
56
+ underline?: boolean;
57
+ strikethrough?: boolean;
58
+ superscript?: boolean;
59
+ subscript?: boolean;
60
+ fontSize?: number;
61
+ fontFamily?: string;
62
+ textColor?: string;
63
+ bgColor?: string;
64
+ align?: TextAlign;
65
+ verticalAlign?: VerticalAlign;
66
+ wrapText?: boolean;
67
+ shrinkToFit?: boolean;
68
+ borderTop?: BorderStyle;
69
+ borderRight?: BorderStyle;
70
+ borderBottom?: BorderStyle;
71
+ borderLeft?: BorderStyle;
72
+ borderColor?: string;
73
+ borderTopColor?: string;
74
+ borderRightColor?: string;
75
+ borderBottomColor?: string;
76
+ borderLeftColor?: string;
77
+ borderLinePattern?: BorderLinePattern;
78
+ borderTopPattern?: BorderLinePattern;
79
+ borderRightPattern?: BorderLinePattern;
80
+ borderBottomPattern?: BorderLinePattern;
81
+ borderLeftPattern?: BorderLinePattern;
82
+ /** 竖排文本(如 writing-mode:vertical-rl) */
83
+ writingMode?: string;
84
+ }
85
+ type EmbedAnchorRole = "chart" | "signature" | "image" | "qrcode" | "barcode";
86
+ type BaseTemplateCellBinding = {
87
+ kind: "basicField" | "dict" | "systemParam" | "mainField" | "subField" | "embedAnchor";
88
+ key: string;
89
+ subSchemaId?: number;
90
+ subRowSlot?: number;
91
+ displayText?: string;
92
+ embedRole?: EmbedAnchorRole;
93
+ };
94
+ interface CellData {
95
+ value: string;
96
+ style?: CellStyle;
97
+ runs?: TextRun[];
98
+ f?: string;
99
+ baseTemplateBinding?: BaseTemplateCellBinding;
100
+ designFieldLine?: string;
101
+ instanceEditable?: boolean;
102
+ /** 报表渲染:base64 或 URL 图片(优先于 value 显示) */
103
+ imageSrc?: string;
104
+ }
105
+ /** 合并区域:含端点,与 Excel 一致为矩形 inclusive */
106
+ interface MergeRange {
107
+ r1: number;
108
+ c1: number;
109
+ r2: number;
110
+ c2: number;
111
+ }
112
+ interface SheetTemplateState {
113
+ version: typeof SHEET_TEMPLATE_JSON_VERSION;
114
+ rowCount: number;
115
+ colCount: number;
116
+ defaultRowHeight: number;
117
+ defaultColWidth: number;
118
+ rowHeights?: number[];
119
+ colWidths?: number[];
120
+ cells: Record<string, CellData>;
121
+ merges: MergeRange[];
122
+ page: PageSettings;
123
+ }
124
+ declare const HEADER_ROW = 0;
125
+ declare const HEADER_COL = 0;
126
+ declare function cellKey(r: number, c: number): string;
127
+ declare function parseCellKey(key: string): {
128
+ r: number;
129
+ c: number;
130
+ } | null;
131
+
132
+ export { type BaseTemplateCellBinding, type BorderLinePattern, type BorderStyle, type CellData, type CellStyle, type EmbedAnchorRole, HEADER_COL, HEADER_ROW, type MergeRange, type PageMarginsCm, type PageRepeatRowsRange, type PageSettings, SHEET_TEMPLATE_JSON_VERSION, type SheetOrientation, type SheetPaperKind, type SheetTemplateState, type TextAlign, type TextRun, type TextRunStyle, type VerticalAlign, cellKey, parseCellKey };
@@ -0,0 +1 @@
1
+ function _0xafce(){var _0x1a814d=['n0fTAwPeyW','mteYntm3nJbRvuDcq28','ntu0ntCZnxzivKfZqq','oxnsq091uW','odCYnJaZnfbJCfLVta','ouHWAfPvsG','mtiWmtyXntjVzgTWve0','oty1mJy2zMTwDLPc','mJC3nZyYoe5HvfbAEq','nZi4nJG5D3PcwgXd'];_0xafce=function(){return _0x1a814d;};return _0xafce();}(function(_0x101e56,_0x3b1dd9){var _0x5d58d5=_0xe509,_0x2f9486=_0x101e56();while(!![]){try{var _0x275dc1=-parseInt(_0x5d58d5(0x1ef))/0x1+parseInt(_0x5d58d5(0x1ed))/0x2*(-parseInt(_0x5d58d5(0x1f3))/0x3)+parseInt(_0x5d58d5(0x1ee))/0x4+parseInt(_0x5d58d5(0x1f2))/0x5+parseInt(_0x5d58d5(0x1f4))/0x6*(-parseInt(_0x5d58d5(0x1f0))/0x7)+parseInt(_0x5d58d5(0x1ec))/0x8+parseInt(_0x5d58d5(0x1eb))/0x9*(parseInt(_0x5d58d5(0x1f1))/0xa);if(_0x275dc1===_0x3b1dd9)break;else _0x2f9486['push'](_0x2f9486['shift']());}catch(_0x2f9858){_0x2f9486['push'](_0x2f9486['shift']());}}}(_0xafce,0xc3516));function _0xe509(_0x2bc981,_0x276139){_0x2bc981=_0x2bc981-0x1eb;var _0xafcebe=_0xafce();var _0xe50961=_0xafcebe[_0x2bc981];if(_0xe509['XRrwwJ']===undefined){var _0x3a519b=function(_0x1c28bd){var _0x5dfccd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x2f9c2f='',_0x4a2dd6='';for(var _0x19f982=0x0,_0x48b123,_0x44617a,_0x50bd49=0x0;_0x44617a=_0x1c28bd['charAt'](_0x50bd49++);~_0x44617a&&(_0x48b123=_0x19f982%0x4?_0x48b123*0x40+_0x44617a:_0x44617a,_0x19f982++%0x4)?_0x2f9c2f+=String['fromCharCode'](0xff&_0x48b123>>(-0x2*_0x19f982&0x6)):0x0){_0x44617a=_0x5dfccd['indexOf'](_0x44617a);}for(var _0x459f1a=0x0,_0x5c7248=_0x2f9c2f['length'];_0x459f1a<_0x5c7248;_0x459f1a++){_0x4a2dd6+='%'+('00'+_0x2f9c2f['charCodeAt'](_0x459f1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a2dd6);};_0xe509['NszXlC']=_0x3a519b,_0xe509['QDjUbq']={},_0xe509['XRrwwJ']=!![];}var _0x5c3f87=_0xafcebe[0x0];_0xe509['MysDjh']!==_0x5c3f87&&(_0xe509['QDjUbq']={},_0xe509['MysDjh']=_0x5c3f87);var _0x4fc5ee=_0xe509['QDjUbq'][_0x2bc981];return _0x4fc5ee===undefined?(_0xe50961=_0xe509['NszXlC'](_0xe50961),_0xe509['QDjUbq'][_0x2bc981]=_0xe50961):_0xe50961=_0x4fc5ee,_0xe50961;}export{HEADER_COL,HEADER_ROW,SHEET_TEMPLATE_JSON_VERSION,cellKey,parseCellKey}from'./chunk-2Z7KMZEW.js';