@sl-material/sl-table-sheet 1.0.0-beta9 → 1.1.0-beta0
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/core/SlTableSheet.d.ts +2 -0
- package/package.json +19 -4
- package/sl-table-sheet.cjs.js +4 -3
- package/sl-table-sheet.es.js +22 -3
- package/sl-table-sheet.umd.umd.js +4 -3
package/core/SlTableSheet.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sl-material/sl-table-sheet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0-beta0",
|
|
4
4
|
"description": "VTable 组件库 - 支持 npm 和 UMD",
|
|
5
5
|
"main": "./sl-table-sheet.cjs.js",
|
|
6
6
|
"module": "./sl-table-sheet.es.js",
|
|
@@ -20,8 +20,23 @@
|
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@visactor/vtable": "^1.
|
|
24
|
-
"@visactor/vtable-editors": "^1.
|
|
25
|
-
"@visactor/vtable-sheet": "^1.
|
|
23
|
+
"@visactor/vtable": "^1.24.0",
|
|
24
|
+
"@visactor/vtable-editors": "^1.24.0",
|
|
25
|
+
"@visactor/vtable-sheet": "^1.24.0",
|
|
26
|
+
"@visactor/vtable-gantt": "^1.24.0"
|
|
27
|
+
},
|
|
28
|
+
"peerDependenciesMeta": {
|
|
29
|
+
"@visactor/vtable": {
|
|
30
|
+
"optional": false
|
|
31
|
+
},
|
|
32
|
+
"@visactor/vtable-editors": {
|
|
33
|
+
"optional": false
|
|
34
|
+
},
|
|
35
|
+
"@visactor/vtable-sheet": {
|
|
36
|
+
"optional": false
|
|
37
|
+
},
|
|
38
|
+
"@visactor/vtable-gantt": {
|
|
39
|
+
"optional": false
|
|
40
|
+
}
|
|
26
41
|
}
|
|
27
42
|
}
|
package/sl-table-sheet.cjs.js
CHANGED
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
font-weight: 300;
|
|
603
603
|
opacity: 0.8;
|
|
604
604
|
transition: opacity 0.2s;
|
|
605
|
-
`,i.onmouseenter=()=>i.style.opacity="1",i.onmouseleave=()=>i.style.opacity="0.8",a.appendChild(i),document.body.appendChild(a);let s;const c=()=>{clearTimeout(s),a.classList.remove("show"),setTimeout(()=>{a.parentNode&&document.body.removeChild(a)},300)};i.onclick=c,setTimeout(()=>a.classList.add("show"),10),s=setTimeout(c,3e3)}setTableInstance(r){this.tableInstance=r,this.state.matches=[],this.state.currentIndex=0,this.clearResults()}setSelectedColumnsOnly(r){this.elements.selectedColumnsOnly&&(this.elements.selectedColumnsOnly.checked=r)}getSelectedColumnsOnly(){var r;return((r=this.elements.selectedColumnsOnly)==null?void 0:r.checked)||!1}setFindText(r){this.state.findText=r,this.elements.findInput&&(this.elements.findInput.value=r)}setReplaceText(r){this.state.replaceText=r,this.elements.replaceInput&&(this.elements.replaceInput.value=r)}destroy(){this.dialog&&(this.dialog.remove(),this.dialog=null)}}const v_={toolbar:{title:"制表错误",unit:"条",total:"共 {total} 个错误项",hint:"请在错误项里查询对应的数据或在数据里进行搜索",buttons:{search:"查找/替换",freeze:{label:"冻结前",suffix:"列"},list:"仅显示错误列"}},dialog:{find:{label:"查找内容",placeholder:"请输入查找内容"},replace:{label:"替换为",placeholder:"请输入替换内容"},checkbox:{selectedOnly:"只替换选中列"},buttons:{close:"关闭",findPrev:"查找上一个",findNext:"查找下一个",replaceOne:"替换",replaceAll:"全部替换"},messages:{pleaseInputFind:"请输入查找内容",notConnected:"未连接表格实例",pleaseSelectColumns:"请先选中要搜索的列",noMatchFound:"未找到匹配内容",nothingToReplace:"没有可替换的内容",replacedOne:"已替换第 {index} 个匹配项",replacedAll:"已替换全部 {count} 个匹配项"},result:{found:"已找到 {count} 个结果"}},sheet:{defaultTitle:"Sheet1"}},g_={toolbar:{title:"製表錯誤",unit:"筆",total:"共 {total} 個錯誤項",hint:"請在錯誤項裡查詢對應的資料或在資料裡進行搜尋",buttons:{search:"尋找/取代",freeze:{label:"凍結前",suffix:"欄"},list:"僅顯示錯誤欄"}},dialog:{find:{label:"尋找內容",placeholder:"請輸入尋找內容"},replace:{label:"取代為",placeholder:"請輸入取代內容"},checkbox:{selectedOnly:"只取代選中欄"},buttons:{close:"關閉",findPrev:"尋找上一個",findNext:"尋找下一個",replaceOne:"取代",replaceAll:"全部取代"},messages:{pleaseInputFind:"請輸入尋找內容",notConnected:"未連接表格實例",pleaseSelectColumns:"請先選中要搜尋的欄",noMatchFound:"未找到符合內容",nothingToReplace:"沒有可取代的內容",replacedOne:"已取代第 {index} 個符合項",replacedAll:"已取代全部 {count} 個符合項"},result:{found:"已找到 {count} 個結果"}},sheet:{defaultTitle:"Sheet1"}},__={toolbar:{title:"Table Errors",unit:"items",total:"Total {total} errors",hint:"Please search for the corresponding data in the error items or in the data",buttons:{search:"Find/Replace",freeze:{label:"Freeze first",suffix:"columns"},list:"Show error columns only"}},dialog:{find:{label:"Find content",placeholder:"Please enter content to find"},replace:{label:"Replace with",placeholder:"Please enter replacement content"},checkbox:{selectedOnly:"Replace selected columns only"},buttons:{close:"Close",findPrev:"Find Previous",findNext:"Find Next",replaceOne:"Replace",replaceAll:"Replace All"},messages:{pleaseInputFind:"Please enter content to find",notConnected:"Table instance not connected",pleaseSelectColumns:"Please select columns to search first",noMatchFound:"No matching content found",nothingToReplace:"Nothing to replace",replacedOne:"Replaced match #{index}",replacedAll:"Replaced all {count} matches"},result:{found:"Found {count} result(s)"}},sheet:{defaultTitle:"Sheet1"}},w_={"zh-CN":v_,"en-US":__,"zh-TW":g_};let E_="zh-CN";function k_(){return w_[E_]}function T_(e,r={}){return e.replace(/\{(\w+)\}/g,(t,a)=>r[a]!==void 0?String(r[a]):`{${a}}`)}function qn(e,r){const t=k_(),a=e.split(".");let n=t;for(const i of a)if(n&&typeof n=="object"&&i in n)n=n[i];else return console.warn(`I18n message not found: ${e}`),e;return typeof n=="string"?T_(n,r||{}):(console.warn(`I18n message is not a string: ${e}`),e)}class S_{constructor(r){de(this,"container",null);de(this,"toolbarElement",null);de(this,"config");de(this,"elements",{});this.config={freezeCount:0,showErrorList:!1,buttons:{search:!0,freeze:!0,export:!0,refresh:!0,list:!1},...r},this.container=this.getContainer(this.config.container),this.createToolbar(),this.injectStyles()}getContainer(r){return Sn.getContainer(r)}createToolbar(){this.toolbarElement=document.createElement("div"),this.toolbarElement.className="sl-toolbar";const r=this.createLeftSection(),t=this.createRightSection();this.toolbarElement.appendChild(r),this.toolbarElement.appendChild(t),this.container&&this.container.appendChild(this.toolbarElement)}createLeftSection(){const r=document.createElement("div");if(r.className="sl-toolbar-left",this.config.leftSlot){const t=typeof this.config.leftSlot=="function"?this.config.leftSlot():this.config.leftSlot;t&&r.appendChild(t)}return r}createRightSection(){const r=document.createElement("div");r.className="sl-toolbar-right";const{buttons:t}=this.config;if((t==null?void 0:t.search)!==!1){const a=this.createButton({text:qn("toolbar.buttons.search"),onClick:()=>{var n,i;return(i=(n=this.config).onSearchClick)==null?void 0:i.call(n)}});r.appendChild(a)}if((t==null?void 0:t.freeze)!==!1){const a=this.createFreezeButton();r.appendChild(a)}return r}createButton(r){const t=document.createElement("button");return t.className=r.icon?"sl-toolbar-btn sl-toolbar-btn-icon":"sl-toolbar-btn",t.textContent=r.text,r.title&&(t.title=r.title),r.onClick&&(t.onclick=r.onClick),t}createFreezeButton(){const r=document.createElement("div");r.className="sl-freeze-selector";const t=document.createElement("span");t.className="sl-freeze-label",t.textContent=qn("toolbar.buttons.freeze.label");const a=document.createElement("div");a.className="sl-freeze-input-wrapper";const n=document.createElement("input");n.type="number",n.className="sl-freeze-input",n.min="0",n.max="100",n.value=String(this.config.freezeCount||0),this.elements.freezeSelect=n;const i=document.createElement("div");i.className="sl-freeze-arrows";const s=document.createElement("button");s.className="sl-freeze-arrow sl-freeze-arrow-up",s.innerHTML="^",s.type="button";const c=document.createElement("button");c.className="sl-freeze-arrow sl-freeze-arrow-down",c.innerHTML="^",c.type="button",i.appendChild(s),i.appendChild(c);const f=document.createElement("span");f.className="sl-freeze-suffix",f.textContent=qn("toolbar.buttons.freeze.suffix");const o=l=>{var h,u;l<0&&(l=0),l>100&&(l=100),n.value=String(l),this.config.freezeCount=l,(u=(h=this.config).onFreezeChange)==null||u.call(h,l)};return s.onclick=l=>{l.preventDefault();const h=parseInt(n.value,10)||0;o(h+1)},c.onclick=l=>{l.preventDefault();const h=parseInt(n.value,10)||0;o(h-1)},n.oninput=()=>{let l=parseInt(n.value,10);(isNaN(l)||l<0)&&(l=0,n.value="0"),l>100&&(l=100,n.value="100"),this.config.freezeCount=l},n.onblur=()=>{var h,u;const l=parseInt(n.value,10)||0;(u=(h=this.config).onFreezeChange)==null||u.call(h,l)},n.onkeydown=l=>{l.key==="Enter"&&n.blur()},a.appendChild(n),a.appendChild(i),r.appendChild(t),r.appendChild(a),r.appendChild(f),r}injectStyles(){Sn.injectStyles(x_,u_)}updateFreezeCount(r){this.config.freezeCount=r,this.elements.freezeSelect&&(this.elements.freezeSelect.value=String(r))}updateShowErrorList(r){this.config.showErrorList=r,this.elements.errorListCheckbox&&(this.elements.errorListCheckbox.checked=r)}show(){this.toolbarElement&&(this.toolbarElement.style.display="flex")}hide(){this.toolbarElement&&(this.toolbarElement.style.display="none")}getElement(){return this.toolbarElement}setLeftSlot(r){var a;const t=(a=this.toolbarElement)==null?void 0:a.querySelector(".sl-toolbar-left");if(t&&(t.innerHTML="",r)){const n=typeof r=="function"?r():r;n&&t.appendChild(n)}}getLeftSection(){var r;return((r=this.toolbarElement)==null?void 0:r.querySelector(".sl-toolbar-left"))||null}destroy(){this.toolbarElement&&(this.toolbarElement.remove(),this.toolbarElement=null),this.elements={}}}class Zn{static processRecords(r,t){const a=new Map;return{displayRecords:r.map((i,s)=>Array.isArray(i)?this.processArrayRow(i,s,a):this.processObjectRow(i,s,t,a)),markedMap:a}}static processArrayRow(r,t,a){return r.map((n,i)=>n&&typeof n=="object"&&"value"in n?(n.isMarked&&a.set(`${t}-${i}`,{isMarked:!0,comment:n.comment||""}),n.value):n)}static processObjectRow(r,t,a,n){return a.map((i,s)=>{const c=i.field||i.key,f=r[c];return f&&typeof f=="object"&&"value"in f?(f.isMarked&&n.set(`${t}-${s}`,{isMarked:!0,comment:f.comment||""}),f.value):f})}}const y_=(e,r)=>({bgColor:"#FFEBEB",color:"#FF4D50",marked:{shape:"triangle",bgColor:"#FF4D50",size:8}}),_0={color:"#1D2129",fontSize:14,fontWeight:"400",bgColor:"#F9FAFB"},Qn={color:"#6B7280",fontSize:14,bgColor:"white"};class w0{static initColumns(r,t,a=1){const n=new Map;if(t.size>0)for(const[i]of t){const[s,c]=i.split("-"),f=parseInt(s,10),o=parseInt(c,10);n.has(o)||n.set(o,new Set),n.get(o).add(f)}return r.map((i,s)=>{const c=i.style,f={...i},o=n.get(s);if(!o||o.size===0)return f.style=c||(()=>Qn),f.headerStyle=_0,f;const l=new Map;return f.style=h=>{const u=h.row-a;if(u<0||!o.has(u))return c?c(h):Qn;const d=`${u}-${s}`;let p=l.get(d);return p||(p=y_(),l.set(d,p)),{...c?c(h):Qn,...p,bgColor:p.bgColor,color:p.color}},f.headerStyle=_0,f})}}class F_{constructor(r){de(this,"tableSheet",null);de(this,"findReplaceDialog",null);de(this,"toolbar",null);de(this,"sheetTabs",null);de(this,"container",null);de(this,"tableContainer",null);de(this,"toolbarContainer",null);de(this,"sheetTabsContainer",null);de(this,"loadingOverlay",null);de(this,"config");de(this,"multiSheetData",null);de(this,"resizeObserver",null);de(this,"lastObservedWidth",0);de(this,"lastObservedHeight",0);this.config={showToolbar:!0,autoResize:!1,loading:{show:!0,text:"加载中..."},...r},this.init()}init(){if(this.container=this.getContainer(this.config.container),!this.container)throw new Error("Container not found");this.createLayout(),this.config.showToolbar&&this.createToolbar(),this.createTable(),this.createFindReplaceDialog(),this.injectStyles(),this.config.autoResize&&this.enableAutoResize()}getContainer(r){return typeof r=="string"?document.getElementById(r)||document.querySelector(r):r}createLayout(){this.container&&(this.container.innerHTML="",this.container.className="sl-table-sheet-wrapper",this.container.style.display="flex",this.container.style.flexDirection="column",this.config.showToolbar&&(this.toolbarContainer=document.createElement("div"),this.container.appendChild(this.toolbarContainer)),this.config.showTabs!==!1&&(this.sheetTabsContainer=document.createElement("div"),this.sheetTabsContainer.className="sl-sheet-tabs-container",this.container.appendChild(this.sheetTabsContainer)),this.tableContainer=document.createElement("div"),this.tableContainer.className="sl-table-container",this.tableContainer.style.flex="1",this.tableContainer.style.minHeight="0",this.tableContainer.style.overflow="hidden",this.container.appendChild(this.tableContainer),this.loadingOverlay=document.createElement("div"),this.loadingOverlay.className="sl-loading-overlay",this.loadingOverlay.innerHTML=`
|
|
605
|
+
`,i.onmouseenter=()=>i.style.opacity="1",i.onmouseleave=()=>i.style.opacity="0.8",a.appendChild(i),document.body.appendChild(a);let s;const c=()=>{clearTimeout(s),a.classList.remove("show"),setTimeout(()=>{a.parentNode&&document.body.removeChild(a)},300)};i.onclick=c,setTimeout(()=>a.classList.add("show"),10),s=setTimeout(c,3e3)}setTableInstance(r){this.tableInstance=r,this.state.matches=[],this.state.currentIndex=0,this.clearResults()}setSelectedColumnsOnly(r){this.elements.selectedColumnsOnly&&(this.elements.selectedColumnsOnly.checked=r)}getSelectedColumnsOnly(){var r;return((r=this.elements.selectedColumnsOnly)==null?void 0:r.checked)||!1}setFindText(r){this.state.findText=r,this.elements.findInput&&(this.elements.findInput.value=r)}setReplaceText(r){this.state.replaceText=r,this.elements.replaceInput&&(this.elements.replaceInput.value=r)}destroy(){this.dialog&&(this.dialog.remove(),this.dialog=null)}}const v_={toolbar:{title:"制表错误",unit:"条",total:"共 {total} 个错误项",hint:"请在错误项里查询对应的数据或在数据里进行搜索",buttons:{search:"查找/替换",freeze:{label:"冻结前",suffix:"列"},list:"仅显示错误列"}},dialog:{find:{label:"查找内容",placeholder:"请输入查找内容"},replace:{label:"替换为",placeholder:"请输入替换内容"},checkbox:{selectedOnly:"只替换选中列"},buttons:{close:"关闭",findPrev:"查找上一个",findNext:"查找下一个",replaceOne:"替换",replaceAll:"全部替换"},messages:{pleaseInputFind:"请输入查找内容",notConnected:"未连接表格实例",pleaseSelectColumns:"请先选中要搜索的列",noMatchFound:"未找到匹配内容",nothingToReplace:"没有可替换的内容",replacedOne:"已替换第 {index} 个匹配项",replacedAll:"已替换全部 {count} 个匹配项"},result:{found:"已找到 {count} 个结果"}},sheet:{defaultTitle:"Sheet1"}},g_={toolbar:{title:"製表錯誤",unit:"筆",total:"共 {total} 個錯誤項",hint:"請在錯誤項裡查詢對應的資料或在資料裡進行搜尋",buttons:{search:"尋找/取代",freeze:{label:"凍結前",suffix:"欄"},list:"僅顯示錯誤欄"}},dialog:{find:{label:"尋找內容",placeholder:"請輸入尋找內容"},replace:{label:"取代為",placeholder:"請輸入取代內容"},checkbox:{selectedOnly:"只取代選中欄"},buttons:{close:"關閉",findPrev:"尋找上一個",findNext:"尋找下一個",replaceOne:"取代",replaceAll:"全部取代"},messages:{pleaseInputFind:"請輸入尋找內容",notConnected:"未連接表格實例",pleaseSelectColumns:"請先選中要搜尋的欄",noMatchFound:"未找到符合內容",nothingToReplace:"沒有可取代的內容",replacedOne:"已取代第 {index} 個符合項",replacedAll:"已取代全部 {count} 個符合項"},result:{found:"已找到 {count} 個結果"}},sheet:{defaultTitle:"Sheet1"}},__={toolbar:{title:"Table Errors",unit:"items",total:"Total {total} errors",hint:"Please search for the corresponding data in the error items or in the data",buttons:{search:"Find/Replace",freeze:{label:"Freeze first",suffix:"columns"},list:"Show error columns only"}},dialog:{find:{label:"Find content",placeholder:"Please enter content to find"},replace:{label:"Replace with",placeholder:"Please enter replacement content"},checkbox:{selectedOnly:"Replace selected columns only"},buttons:{close:"Close",findPrev:"Find Previous",findNext:"Find Next",replaceOne:"Replace",replaceAll:"Replace All"},messages:{pleaseInputFind:"Please enter content to find",notConnected:"Table instance not connected",pleaseSelectColumns:"Please select columns to search first",noMatchFound:"No matching content found",nothingToReplace:"Nothing to replace",replacedOne:"Replaced match #{index}",replacedAll:"Replaced all {count} matches"},result:{found:"Found {count} result(s)"}},sheet:{defaultTitle:"Sheet1"}},w_={"zh-CN":v_,"en-US":__,"zh-TW":g_};let E_="zh-CN";function k_(){return w_[E_]}function T_(e,r={}){return e.replace(/\{(\w+)\}/g,(t,a)=>r[a]!==void 0?String(r[a]):`{${a}}`)}function qn(e,r){const t=k_(),a=e.split(".");let n=t;for(const i of a)if(n&&typeof n=="object"&&i in n)n=n[i];else return console.warn(`I18n message not found: ${e}`),e;return typeof n=="string"?T_(n,r||{}):(console.warn(`I18n message is not a string: ${e}`),e)}class S_{constructor(r){de(this,"container",null);de(this,"toolbarElement",null);de(this,"config");de(this,"elements",{});this.config={freezeCount:0,showErrorList:!1,buttons:{search:!0,freeze:!0,export:!0,refresh:!0,list:!1},...r},this.container=this.getContainer(this.config.container),this.createToolbar(),this.injectStyles()}getContainer(r){return Sn.getContainer(r)}createToolbar(){this.toolbarElement=document.createElement("div"),this.toolbarElement.className="sl-toolbar";const r=this.createLeftSection(),t=this.createRightSection();this.toolbarElement.appendChild(r),this.toolbarElement.appendChild(t),this.container&&this.container.appendChild(this.toolbarElement)}createLeftSection(){const r=document.createElement("div");if(r.className="sl-toolbar-left",this.config.leftSlot){const t=typeof this.config.leftSlot=="function"?this.config.leftSlot():this.config.leftSlot;t&&r.appendChild(t)}return r}createRightSection(){const r=document.createElement("div");r.className="sl-toolbar-right";const{buttons:t}=this.config;if((t==null?void 0:t.search)!==!1){const a=this.createButton({text:qn("toolbar.buttons.search"),onClick:()=>{var n,i;return(i=(n=this.config).onSearchClick)==null?void 0:i.call(n)}});r.appendChild(a)}if((t==null?void 0:t.freeze)!==!1){const a=this.createFreezeButton();r.appendChild(a)}return r}createButton(r){const t=document.createElement("button");return t.className=r.icon?"sl-toolbar-btn sl-toolbar-btn-icon":"sl-toolbar-btn",t.textContent=r.text,r.title&&(t.title=r.title),r.onClick&&(t.onclick=r.onClick),t}createFreezeButton(){const r=document.createElement("div");r.className="sl-freeze-selector";const t=document.createElement("span");t.className="sl-freeze-label",t.textContent=qn("toolbar.buttons.freeze.label");const a=document.createElement("div");a.className="sl-freeze-input-wrapper";const n=document.createElement("input");n.type="number",n.className="sl-freeze-input",n.min="0",n.max="100",n.value=String(this.config.freezeCount||0),this.elements.freezeSelect=n;const i=document.createElement("div");i.className="sl-freeze-arrows";const s=document.createElement("button");s.className="sl-freeze-arrow sl-freeze-arrow-up",s.innerHTML="^",s.type="button";const c=document.createElement("button");c.className="sl-freeze-arrow sl-freeze-arrow-down",c.innerHTML="^",c.type="button",i.appendChild(s),i.appendChild(c);const f=document.createElement("span");f.className="sl-freeze-suffix",f.textContent=qn("toolbar.buttons.freeze.suffix");const o=l=>{var h,u;l<0&&(l=0),l>100&&(l=100),n.value=String(l),this.config.freezeCount=l,(u=(h=this.config).onFreezeChange)==null||u.call(h,l)};return s.onclick=l=>{l.preventDefault();const h=parseInt(n.value,10)||0;o(h+1)},c.onclick=l=>{l.preventDefault();const h=parseInt(n.value,10)||0;o(h-1)},n.oninput=()=>{let l=parseInt(n.value,10);(isNaN(l)||l<0)&&(l=0,n.value="0"),l>100&&(l=100,n.value="100"),this.config.freezeCount=l},n.onblur=()=>{var h,u;const l=parseInt(n.value,10)||0;(u=(h=this.config).onFreezeChange)==null||u.call(h,l)},n.onkeydown=l=>{l.key==="Enter"&&n.blur()},a.appendChild(n),a.appendChild(i),r.appendChild(t),r.appendChild(a),r.appendChild(f),r}injectStyles(){Sn.injectStyles(x_,u_)}updateFreezeCount(r){this.config.freezeCount=r,this.elements.freezeSelect&&(this.elements.freezeSelect.value=String(r))}updateShowErrorList(r){this.config.showErrorList=r,this.elements.errorListCheckbox&&(this.elements.errorListCheckbox.checked=r)}show(){this.toolbarElement&&(this.toolbarElement.style.display="flex")}hide(){this.toolbarElement&&(this.toolbarElement.style.display="none")}getElement(){return this.toolbarElement}setLeftSlot(r){var a;const t=(a=this.toolbarElement)==null?void 0:a.querySelector(".sl-toolbar-left");if(t&&(t.innerHTML="",r)){const n=typeof r=="function"?r():r;n&&t.appendChild(n)}}getLeftSection(){var r;return((r=this.toolbarElement)==null?void 0:r.querySelector(".sl-toolbar-left"))||null}destroy(){this.toolbarElement&&(this.toolbarElement.remove(),this.toolbarElement=null),this.elements={}}}class Zn{static processRecords(r,t){const a=new Map;return{displayRecords:r.map((i,s)=>Array.isArray(i)?this.processArrayRow(i,s,a):this.processObjectRow(i,s,t,a)),markedMap:a}}static processArrayRow(r,t,a){return r.map((n,i)=>n&&typeof n=="object"&&"value"in n?(n.isMarked&&a.set(`${t}-${i}`,{isMarked:!0,comment:n.comment||""}),n.value):n)}static processObjectRow(r,t,a,n){return a.map((i,s)=>{const c=i.field||i.key,f=r[c];return f&&typeof f=="object"&&"value"in f?(f.isMarked&&n.set(`${t}-${s}`,{isMarked:!0,comment:f.comment||""}),f.value):f})}}const y_=(e,r)=>({bgColor:"#FFEBEB",color:"#FF4D50",marked:{shape:"triangle",bgColor:"#FF4D50",size:8}}),_0={color:"#1D2129",fontSize:14,fontWeight:"400",bgColor:"#F9FAFB"},Qn={color:"#6B7280",fontSize:14,bgColor:"white"};class w0{static initColumns(r,t,a=1){const n=new Map;if(t.size>0)for(const[i]of t){const[s,c]=i.split("-"),f=parseInt(s,10),o=parseInt(c,10);n.has(o)||n.set(o,new Set),n.get(o).add(f)}return r.map((i,s)=>{const c=i.style,f={...i},o=n.get(s);if(!o||o.size===0)return f.style=c||(()=>Qn),f.headerStyle=_0,f;const l=new Map;return f.style=h=>{const u=h.row-a;if(u<0||!o.has(u))return c?c(h):Qn;const d=`${u}-${s}`;let p=l.get(d);return p||(p=y_(),l.set(d,p)),{...c?c(h):Qn,...p,bgColor:p.bgColor,color:p.color}},f.headerStyle=_0,f})}}class F_{constructor(r){de(this,"tableSheet",null);de(this,"findReplaceDialog",null);de(this,"toolbar",null);de(this,"sheetTabs",null);de(this,"container",null);de(this,"tableContainer",null);de(this,"toolbarContainer",null);de(this,"sheetTabsContainer",null);de(this,"loadingOverlay",null);de(this,"config");de(this,"multiSheetData",null);de(this,"timers",[]);de(this,"resizeObserver",null);de(this,"lastObservedWidth",0);de(this,"lastObservedHeight",0);this.config={showToolbar:!0,autoResize:!1,loading:{show:!0,text:"加载中..."},...r},this.init()}init(){if(this.container=this.getContainer(this.config.container),!this.container)throw new Error("Container not found");if(this.createLayout(),this.config.showToolbar&&this.createToolbar(),this.injectStyles(),this.createTable(),this.config.showSheets===!1&&this.container){this.container.classList.add("hide-native-sheet-tab");const r=setTimeout(()=>{this.container&&this.container.querySelectorAll(".vtable-sheet-tab-bar").forEach(n=>{n.style.display="none"});const t=this.timers.indexOf(r);t>-1&&this.timers.splice(t,1)},0);this.timers.push(r)}!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar"),this.createFindReplaceDialog(),this.config.autoResize&&this.enableAutoResize()}getContainer(r){return typeof r=="string"?document.getElementById(r)||document.querySelector(r):r}createLayout(){this.container&&(this.container.innerHTML="",this.container.className="sl-table-sheet-wrapper",this.container.style.display="flex",this.container.style.flexDirection="column",this.config.showToolbar&&(this.toolbarContainer=document.createElement("div"),this.container.appendChild(this.toolbarContainer)),this.config.showTabs!==!1&&(this.sheetTabsContainer=document.createElement("div"),this.sheetTabsContainer.className="sl-sheet-tabs-container",this.container.appendChild(this.sheetTabsContainer)),this.tableContainer=document.createElement("div"),this.tableContainer.className="sl-table-container",this.tableContainer.style.flex="1",this.tableContainer.style.minHeight="0",this.tableContainer.style.overflow="hidden",this.container.appendChild(this.tableContainer),this.loadingOverlay=document.createElement("div"),this.loadingOverlay.className="sl-loading-overlay",this.loadingOverlay.innerHTML=`
|
|
606
606
|
<div class="sl-loading-spinner">
|
|
607
607
|
<div class="sl-spinner"></div>
|
|
608
608
|
<span class="sl-loading-text">加载中...</span>
|
|
@@ -628,8 +628,9 @@
|
|
|
628
628
|
/* 当不显示公式栏时,隐藏顶部容器 */
|
|
629
629
|
.sl-table-sheet-wrapper.hide-formula-bar .vtable-sheet-top-container {
|
|
630
630
|
height: 0;
|
|
631
|
-
border: none;
|
|
631
|
+
border: none !important;
|
|
632
632
|
overflow: hidden;
|
|
633
|
+
|
|
633
634
|
}
|
|
634
635
|
/* Loading 遮罩层样式 */
|
|
635
636
|
.sl-loading-overlay {
|
|
@@ -666,4 +667,4 @@
|
|
|
666
667
|
color: #666;
|
|
667
668
|
font-size: 14px;
|
|
668
669
|
}
|
|
669
|
-
`,document.head.appendChild(r),this.container&&(this.config.showTabs!==!1&&this.container.classList.add("hide-native-sheet-tab"),this.config.showSheets===!1&&this.container.classList.add("hide-native-sheet-tab")),!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar")}updateTitleStats(r,t){console.warn("updateTitleStats 已废弃,请使用 leftSlot 自定义标题内容")}getTableSheet(){return this.tableSheet}getTableInstance(){var r;return(r=this.tableSheet)==null?void 0:r.getTableInstance()}getFindReplaceDialog(){return this.findReplaceDialog}setFindReplaceSelectedColumnsOnly(r){this.findReplaceDialog&&this.findReplaceDialog.setSelectedColumnsOnly(r)}updateData(r){var t;(t=this.tableSheet)==null||t.updateData(r)}updateColumns(r){var t;(t=this.tableSheet)==null||t.updateColumns(r)}exportData(r="csv"){var t;return(t=this.tableSheet)==null?void 0:t.exportData(r)}exportToExcelStream(r){var n;const t=this.config.columns||[],a=((n=this.tableSheet)==null?void 0:n.getAllRecords())||this.config.records||[];return i_(t,a,r)}downloadExcel(r="export"){const t=this.exportToExcelStream();s_(t,r)}showLoading(r){var t;if(this.loadingOverlay){const a=this.loadingOverlay.querySelector(".sl-loading-text");a&&(a.textContent=r??((t=this.config.loading)==null?void 0:t.text)??"加载中..."),this.loadingOverlay.style.display="flex"}}hideLoading(){this.loadingOverlay&&(this.loadingOverlay.style.display="none")}setLoading(r,t){r?this.showLoading(t):this.hideLoading()}async loadExcelFromUrl(r,t={}){var c;const{autoDisplay:a=!0,showLoading:n=((c=this.config.loading)==null?void 0:c.show)??!0,loadingText:i="加载 Excel 文件...",...s}=t;n&&this.showLoading(i);try{const f=await Of(r,s);return this.handleExcelImportResult(f,a),f}finally{n&&this.hideLoading()}}parseExcelBuffer(r,t={}){const{autoDisplay:a=!0,...n}=t,i=Nn(r,n);return this.handleExcelImportResult(i,a),i}async parseExcelFile(r,t={}){const{autoDisplay:a=!0,...n}=t,i=await Nf(r,n);return this.handleExcelImportResult(i,a),i}mergeCommentsToRecords(r,t){return!t||t.size===0?r:r.map((a,n)=>a.map((i,s)=>{const c=t.get(`${n}-${s}`);return c?{value:i,isMarked:!0,comment:c.text||""}:i}))}processDataWithStyles(r,t){const{displayRecords:a,markedMap:n}=Zn.processRecords(t,r);return{styledColumns:w0.initColumns(r,n),processedRecords:a,markedMap:n}}handleExcelImportResult(r,t){var i,s;const a=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:n}=this.processDataWithStyles(r.columns,a);this.config.columns=n,this.config.records=a,t&&this.tableSheet&&this.recreateTable(n,a),(s=(i=this.config).onExcelImport)==null||s.call(i,r)}recreateTable(r,t){this.tableSheet&&(this.tableSheet.destroy(),this.tableSheet=null);const{displayRecords:a,markedMap:n}=Zn.processRecords(t,r);this.tableSheet=new g0({container:this.tableContainer,columns:r,records:a,showFormulaBar:this.config.showFormulaBar,showSheets:this.config.showSheets,sheets:this.config.sheets,editors:this.config.editors,customComponents:this.config.customComponents,options:this.config.options,onCellChange:this.config.onCellChange},n),this.updateFindReplaceTableInstance()}updateFindReplaceTableInstance(){var t;const r=(t=this.tableSheet)==null?void 0:t.getTableInstance();r&&this.findReplaceDialog&&this.findReplaceDialog.setTableInstance(r)}refresh(){var r;(r=this.tableSheet)==null||r.refresh()}on(r,t){var a;(a=this.tableSheet)==null||a.on(r,t)}off(r,t){var a;(a=this.tableSheet)==null||a.off(r,t)}getToolbar(){return this.toolbar}destroy(){var r,t,a,n;this.disableAutoResize(),(r=this.toolbar)==null||r.destroy(),(t=this.findReplaceDialog)==null||t.destroy(),(a=this.tableSheet)==null||a.destroy(),(n=this.sheetTabs)==null||n.destroy(),this.container&&(this.container.innerHTML=""),this.toolbar=null,this.tableSheet=null,this.findReplaceDialog=null,this.sheetTabs=null,this.container=null,this.tableContainer=null,this.toolbarContainer=null,this.sheetTabsContainer=null,this.multiSheetData=null}async loadAllSheetsFromUrl(r,t={}){var s;const{showLoading:a=((s=this.config.loading)==null?void 0:s.show)??!0,loadingText:n="加载 Excel 文件...",...i}=t;a&&this.showLoading(n);try{const c=await Lf(r,i);return this.handleMultiSheetImportResult(c),c}finally{a&&this.hideLoading()}}parseAllSheets(r,t={}){const a=es(r,t);return this.handleMultiSheetImportResult(a),a}handleMultiSheetImportResult(r){var t,a;this.multiSheetData=r,this.config.showTabs!==!1&&this.sheetTabsContainer&&r.sheets.length>1&&this.createSheetTabs(r.sheets),r.sheets.length>0&&this.displaySheetData(r.sheets[0]),(a=(t=this.config).onMultiSheetImport)==null||a.call(t,r)}createSheetTabs(r){this.sheetTabsContainer&&(this.sheetTabs&&this.sheetTabs.destroy(),this.sheetTabs=new Pf({container:this.sheetTabsContainer,sheets:r,activeIndex:0,onTabChange:(t,a)=>{var n,i;this.displaySheetData(t),(i=(n=this.config).onSheetChange)==null||i.call(n,t,a)}}))}displaySheetData(r){const t=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:a}=this.processDataWithStyles(r.columns,t);this.config.columns=a,this.config.records=t,this.recreateTable(a,t)}updateSheetError(r,t){this.sheetTabs&&this.sheetTabs.updateSheetError(r,t),this.multiSheetData&&this.multiSheetData.sheets[r]&&(this.multiSheetData.sheets[r].errorCount=t,this.multiSheetData.sheets[r].hasError=t>0)}getActiveSheetIndex(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveIndex())??0}getActiveSheetData(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveSheet())??null}getAllSheetsData(){return this.multiSheetData}switchToSheet(r){this.sheetTabs&&this.sheetTabs.setActiveTab(r)}getSheetTabs(){return this.sheetTabs}}exports.SheetTabs=Pf;exports.default=F_;exports.fetchExcelFromUrl=Qi;exports.getSheetNames=f_;exports.loadAllSheetsFromUrl=Lf;exports.loadExcelFromUrl=Of;exports.parseAllSheets=es;exports.parseExcelBuffer=Nn;exports.parseExcelFile=Nf;
|
|
670
|
+
`,document.head.appendChild(r),this.container&&(this.config.showTabs!==!1&&this.container.classList.add("hide-native-sheet-tab"),this.config.showSheets===!1&&this.container.classList.add("hide-native-sheet-tab")),!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar")}updateTitleStats(r,t){console.warn("updateTitleStats 已废弃,请使用 leftSlot 自定义标题内容")}getTableSheet(){return this.tableSheet}getTableInstance(){var r;return(r=this.tableSheet)==null?void 0:r.getTableInstance()}getFindReplaceDialog(){return this.findReplaceDialog}setFindReplaceSelectedColumnsOnly(r){this.findReplaceDialog&&this.findReplaceDialog.setSelectedColumnsOnly(r)}updateData(r){var t;(t=this.tableSheet)==null||t.updateData(r)}updateColumns(r){var t;(t=this.tableSheet)==null||t.updateColumns(r)}exportData(r="csv"){var t;return(t=this.tableSheet)==null?void 0:t.exportData(r)}exportToExcelStream(r){var n;const t=this.config.columns||[],a=((n=this.tableSheet)==null?void 0:n.getAllRecords())||this.config.records||[];return i_(t,a,r)}downloadExcel(r="export"){const t=this.exportToExcelStream();s_(t,r)}showLoading(r){var t;if(this.loadingOverlay){const a=this.loadingOverlay.querySelector(".sl-loading-text");a&&(a.textContent=r??((t=this.config.loading)==null?void 0:t.text)??"加载中..."),this.loadingOverlay.style.display="flex"}}hideLoading(){this.loadingOverlay&&(this.loadingOverlay.style.display="none")}setLoading(r,t){r?this.showLoading(t):this.hideLoading()}async loadExcelFromUrl(r,t={}){var c;const{autoDisplay:a=!0,showLoading:n=((c=this.config.loading)==null?void 0:c.show)??!0,loadingText:i="加载 Excel 文件...",...s}=t;n&&this.showLoading(i);try{const f=await Of(r,s);return this.handleExcelImportResult(f,a),f}finally{n&&this.hideLoading()}}parseExcelBuffer(r,t={}){const{autoDisplay:a=!0,...n}=t,i=Nn(r,n);return this.handleExcelImportResult(i,a),i}async parseExcelFile(r,t={}){const{autoDisplay:a=!0,...n}=t,i=await Nf(r,n);return this.handleExcelImportResult(i,a),i}mergeCommentsToRecords(r,t){return!t||t.size===0?r:r.map((a,n)=>a.map((i,s)=>{const c=t.get(`${n}-${s}`);return c?{value:i,isMarked:!0,comment:c.text||""}:i}))}processDataWithStyles(r,t){const{displayRecords:a,markedMap:n}=Zn.processRecords(t,r);return{styledColumns:w0.initColumns(r,n),processedRecords:a,markedMap:n}}handleExcelImportResult(r,t){var i,s;const a=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:n}=this.processDataWithStyles(r.columns,a);this.config.columns=n,this.config.records=a,t&&this.tableSheet&&this.recreateTable(n,a),(s=(i=this.config).onExcelImport)==null||s.call(i,r)}recreateTable(r,t){this.tableSheet&&(this.tableSheet.destroy(),this.tableSheet=null);const{displayRecords:a,markedMap:n}=Zn.processRecords(t,r);this.tableSheet=new g0({container:this.tableContainer,columns:r,records:a,showFormulaBar:this.config.showFormulaBar,showSheets:this.config.showSheets,sheets:this.config.sheets,editors:this.config.editors,customComponents:this.config.customComponents,options:this.config.options,onCellChange:this.config.onCellChange},n),this.updateFindReplaceTableInstance()}updateFindReplaceTableInstance(){var t;const r=(t=this.tableSheet)==null?void 0:t.getTableInstance();r&&this.findReplaceDialog&&this.findReplaceDialog.setTableInstance(r)}refresh(){var r;(r=this.tableSheet)==null||r.refresh()}on(r,t){var a;(a=this.tableSheet)==null||a.on(r,t)}off(r,t){var a;(a=this.tableSheet)==null||a.off(r,t)}getToolbar(){return this.toolbar}destroy(){var r,t,a,n;this.timers.forEach(i=>clearTimeout(i)),this.timers=[],this.disableAutoResize(),(r=this.toolbar)==null||r.destroy(),(t=this.findReplaceDialog)==null||t.destroy(),(a=this.tableSheet)==null||a.destroy(),(n=this.sheetTabs)==null||n.destroy(),this.container&&(this.container.classList.remove("hide-native-sheet-tab","hide-formula-bar"),this.container.innerHTML=""),this.toolbar=null,this.tableSheet=null,this.findReplaceDialog=null,this.sheetTabs=null,this.container=null,this.tableContainer=null,this.toolbarContainer=null,this.sheetTabsContainer=null,this.multiSheetData=null}async loadAllSheetsFromUrl(r,t={}){var s;const{showLoading:a=((s=this.config.loading)==null?void 0:s.show)??!0,loadingText:n="加载 Excel 文件...",...i}=t;a&&this.showLoading(n);try{const c=await Lf(r,i);return this.handleMultiSheetImportResult(c),c}finally{a&&this.hideLoading()}}parseAllSheets(r,t={}){const a=es(r,t);return this.handleMultiSheetImportResult(a),a}handleMultiSheetImportResult(r){var t,a;this.multiSheetData=r,this.config.showTabs!==!1&&this.sheetTabsContainer&&r.sheets.length>1&&this.createSheetTabs(r.sheets),r.sheets.length>0&&this.displaySheetData(r.sheets[0]),(a=(t=this.config).onMultiSheetImport)==null||a.call(t,r)}createSheetTabs(r){this.sheetTabsContainer&&(this.sheetTabs&&this.sheetTabs.destroy(),this.sheetTabs=new Pf({container:this.sheetTabsContainer,sheets:r,activeIndex:0,onTabChange:(t,a)=>{var n,i;this.displaySheetData(t),(i=(n=this.config).onSheetChange)==null||i.call(n,t,a)}}))}displaySheetData(r){const t=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:a}=this.processDataWithStyles(r.columns,t);this.config.columns=a,this.config.records=t,this.recreateTable(a,t)}updateSheetError(r,t){this.sheetTabs&&this.sheetTabs.updateSheetError(r,t),this.multiSheetData&&this.multiSheetData.sheets[r]&&(this.multiSheetData.sheets[r].errorCount=t,this.multiSheetData.sheets[r].hasError=t>0)}getActiveSheetIndex(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveIndex())??0}getActiveSheetData(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveSheet())??null}getAllSheetsData(){return this.multiSheetData}switchToSheet(r){this.sheetTabs&&this.sheetTabs.setActiveTab(r)}getSheetTabs(){return this.sheetTabs}}exports.SheetTabs=Pf;exports.default=F_;exports.fetchExcelFromUrl=Qi;exports.getSheetNames=f_;exports.loadAllSheetsFromUrl=Lf;exports.loadExcelFromUrl=Of;exports.parseAllSheets=es;exports.parseExcelBuffer=Nn;exports.parseExcelFile=Nf;
|
package/sl-table-sheet.es.js
CHANGED
|
@@ -26335,6 +26335,8 @@ class S_ {
|
|
|
26335
26335
|
de(this, "config");
|
|
26336
26336
|
/** 多 Sheet 数据 */
|
|
26337
26337
|
de(this, "multiSheetData", null);
|
|
26338
|
+
/** 定时器列表,用于清理 */
|
|
26339
|
+
de(this, "timers", []);
|
|
26338
26340
|
/**
|
|
26339
26341
|
* 监听容器尺寸变化,自动调整表格大小
|
|
26340
26342
|
*/
|
|
@@ -26359,7 +26361,20 @@ class S_ {
|
|
|
26359
26361
|
init() {
|
|
26360
26362
|
if (this.container = this.getContainer(this.config.container), !this.container)
|
|
26361
26363
|
throw new Error("Container not found");
|
|
26362
|
-
this.createLayout(), this.config.showToolbar && this.createToolbar(), this.
|
|
26364
|
+
if (this.createLayout(), this.config.showToolbar && this.createToolbar(), this.injectStyles(), this.createTable(), this.config.showSheets === !1 && this.container) {
|
|
26365
|
+
this.container.classList.add("hide-native-sheet-tab");
|
|
26366
|
+
const r = setTimeout(() => {
|
|
26367
|
+
this.container && this.container.querySelectorAll(
|
|
26368
|
+
".vtable-sheet-tab-bar"
|
|
26369
|
+
).forEach((n) => {
|
|
26370
|
+
n.style.display = "none";
|
|
26371
|
+
});
|
|
26372
|
+
const t = this.timers.indexOf(r);
|
|
26373
|
+
t > -1 && this.timers.splice(t, 1);
|
|
26374
|
+
}, 0);
|
|
26375
|
+
this.timers.push(r);
|
|
26376
|
+
}
|
|
26377
|
+
!this.config.showFormulaBar && this.container && this.container.classList.add("hide-formula-bar"), this.createFindReplaceDialog(), this.config.autoResize && this.enableAutoResize();
|
|
26363
26378
|
}
|
|
26364
26379
|
/**
|
|
26365
26380
|
* 获取容器
|
|
@@ -26533,8 +26548,9 @@ class S_ {
|
|
|
26533
26548
|
/* 当不显示公式栏时,隐藏顶部容器 */
|
|
26534
26549
|
.sl-table-sheet-wrapper.hide-formula-bar .vtable-sheet-top-container {
|
|
26535
26550
|
height: 0;
|
|
26536
|
-
border: none;
|
|
26551
|
+
border: none !important;
|
|
26537
26552
|
overflow: hidden;
|
|
26553
|
+
|
|
26538
26554
|
}
|
|
26539
26555
|
/* Loading 遮罩层样式 */
|
|
26540
26556
|
.sl-loading-overlay {
|
|
@@ -26815,7 +26831,10 @@ class S_ {
|
|
|
26815
26831
|
*/
|
|
26816
26832
|
destroy() {
|
|
26817
26833
|
var r, t, a, n;
|
|
26818
|
-
this.disableAutoResize(), (r = this.toolbar) == null || r.destroy(), (t = this.findReplaceDialog) == null || t.destroy(), (a = this.tableSheet) == null || a.destroy(), (n = this.sheetTabs) == null || n.destroy(), this.container && (this.container.
|
|
26834
|
+
this.timers.forEach((i) => clearTimeout(i)), this.timers = [], this.disableAutoResize(), (r = this.toolbar) == null || r.destroy(), (t = this.findReplaceDialog) == null || t.destroy(), (a = this.tableSheet) == null || a.destroy(), (n = this.sheetTabs) == null || n.destroy(), this.container && (this.container.classList.remove(
|
|
26835
|
+
"hide-native-sheet-tab",
|
|
26836
|
+
"hide-formula-bar"
|
|
26837
|
+
), this.container.innerHTML = ""), this.toolbar = null, this.tableSheet = null, this.findReplaceDialog = null, this.sheetTabs = null, this.container = null, this.tableContainer = null, this.toolbarContainer = null, this.sheetTabsContainer = null, this.multiSheetData = null;
|
|
26819
26838
|
}
|
|
26820
26839
|
/**
|
|
26821
26840
|
* 从 URL 加载 Excel 所有 Sheet
|
|
@@ -602,7 +602,7 @@
|
|
|
602
602
|
`),c.bookType=="fods"?f.push("</office:document>"):f.push("</office:document-content>"),f.join("")}}();function pf(e,r){if(r.bookType=="fods")return df(e,r);var t=Kn(),a="",n=[],i=[];return a="mimetype",ke(t,a,"application/vnd.oasis.opendocument.spreadsheet"),a="content.xml",ke(t,a,df(e,r)),n.push([a,"text/xml"]),i.push([a,"ContentFile"]),a="styles.xml",ke(t,a,c2(e,r)),n.push([a,"text/xml"]),i.push([a,"StylesFile"]),a="meta.xml",ke(t,a,Ye+F0()),n.push([a,"text/xml"]),i.push([a,"MetadataFile"]),a="manifest.rdf",ke(t,a,Pl(i)),n.push([a,"application/rdf+xml"]),a="META-INF/manifest.xml",ke(t,a,Nl(n)),t}/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */function $t(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Wi(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Le(_t(e))}function f2(e){return typeof TextEncoder<"u"?new TextEncoder().encode(e):Dr(et(e))}function o2(e,r){e:for(var t=0;t<=e.length-r.length;++t){for(var a=0;a<r.length;++a)if(e[t+a]!=r[a])continue e;return!0}return!1}function Ft(e){var r=e.reduce(function(n,i){return n+i.length},0),t=new Uint8Array(r),a=0;return e.forEach(function(n){t.set(n,a),a+=n.length}),t}function mf(e){return e-=e>>1&1431655765,e=(e&858993459)+(e>>2&858993459),(e+(e>>4)&252645135)*16843009>>>24}function l2(e,r){for(var t=(e[r+15]&127)<<7|e[r+14]>>1,a=e[r+14]&1,n=r+13;n>=r;--n)a=a*256+e[n];return(e[r+15]&128?-a:a)*Math.pow(10,t-6176)}function h2(e,r,t){var a=Math.floor(t==0?0:Math.LOG10E*Math.log(Math.abs(t)))+6176-20,n=t/Math.pow(10,a-6176);e[r+15]|=a>>7,e[r+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[r+i]=n&255;e[r+15]|=t>=0?0:128}function Ga(e,r){var t=r?r[0]:0,a=e[t]&127;e:if(e[t++]>=128&&(a|=(e[t]&127)<<7,e[t++]<128||(a|=(e[t]&127)<<14,e[t++]<128)||(a|=(e[t]&127)<<21,e[t++]<128)||(a+=(e[t]&127)*Math.pow(2,28),++t,e[t++]<128)||(a+=(e[t]&127)*Math.pow(2,35),++t,e[t++]<128)||(a+=(e[t]&127)*Math.pow(2,42),++t,e[t++]<128)))break e;return r&&(r[0]=t),a}function Ne(e){var r=new Uint8Array(7);r[0]=e&127;var t=1;e:if(e>127){if(r[t-1]|=128,r[t]=e>>7&127,++t,e<=16383||(r[t-1]|=128,r[t]=e>>14&127,++t,e<=2097151)||(r[t-1]|=128,r[t]=e>>21&127,++t,e<=268435455)||(r[t-1]|=128,r[t]=e/256>>>21&127,++t,e<=34359738367)||(r[t-1]|=128,r[t]=e/65536>>>21&127,++t,e<=4398046511103))break e;r[t-1]|=128,r[t]=e/16777216>>>21&127,++t}return r.slice(0,t)}function Ke(e){var r=0,t=e[r]&127;e:if(e[r++]>=128){if(t|=(e[r]&127)<<7,e[r++]<128||(t|=(e[r]&127)<<14,e[r++]<128)||(t|=(e[r]&127)<<21,e[r++]<128))break e;t|=(e[r]&127)<<28}return t}function De(e){for(var r=[],t=[0];t[0]<e.length;){var a=t[0],n=Ga(e,t),i=n&7;n=Math.floor(n/8);var s=0,c;if(n==0)break;switch(i){case 0:{for(var f=t[0];e[t[0]++]>=128;);c=e.slice(f,t[0])}break;case 5:s=4,c=e.slice(t[0],t[0]+s),t[0]+=s;break;case 1:s=8,c=e.slice(t[0],t[0]+s),t[0]+=s;break;case 2:s=Ga(e,t),c=e.slice(t[0],t[0]+s),t[0]+=s;break;case 3:case 4:default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a))}var o={data:c,type:i};r[n]==null?r[n]=[o]:r[n].push(o)}return r}function hr(e){var r=[];return e.forEach(function(t,a){t.forEach(function(n){n.data&&(r.push(Ne(a*8+n.type)),n.type==2&&r.push(Ne(n.data.length)),r.push(n.data))})}),Ft(r)}function Hi(e,r){return(e==null?void 0:e.map(function(t){return r(t.data)}))||[]}function Vr(e){for(var r,t=[],a=[0];a[0]<e.length;){var n=Ga(e,a),i=De(e.slice(a[0],a[0]+n));a[0]+=n;var s={id:Ke(i[1][0].data),messages:[]};i[2].forEach(function(c){var f=De(c.data),o=Ke(f[3][0].data);s.messages.push({meta:f,data:e.slice(a[0],a[0]+o)}),a[0]+=o}),(r=i[3])!=null&&r[0]&&(s.merge=Ke(i[3][0].data)>>>0>0),t.push(s)}return t}function ha(e){var r=[];return e.forEach(function(t){var a=[];a[1]=[{data:Ne(t.id),type:0}],a[2]=[],t.merge!=null&&(a[3]=[{data:Ne(+!!t.merge),type:0}]);var n=[];t.messages.forEach(function(s){n.push(s.data),s.meta[3]=[{type:0,data:Ne(s.data.length)}],a[2].push({data:hr(s.meta),type:2})});var i=hr(a);r.push(Ne(i.length)),r.push(i),n.forEach(function(s){return r.push(s)})}),Ft(r)}function u2(e,r){if(e!=0)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var t=[0],a=Ga(r,t),n=[];t[0]<r.length;){var i=r[t[0]]&3;if(i==0){var s=r[t[0]++]>>2;if(s<60)++s;else{var c=s-59;s=r[t[0]],c>1&&(s|=r[t[0]+1]<<8),c>2&&(s|=r[t[0]+2]<<16),c>3&&(s|=r[t[0]+3]<<24),s>>>=0,s++,t[0]+=c}n.push(r.slice(t[0],t[0]+s)),t[0]+=s;continue}else{var f=0,o=0;if(i==1?(o=(r[t[0]]>>2&7)+4,f=(r[t[0]++]&224)<<3,f|=r[t[0]++]):(o=(r[t[0]++]>>2)+1,i==2?(f=r[t[0]]|r[t[0]+1]<<8,t[0]+=2):(f=(r[t[0]]|r[t[0]+1]<<8|r[t[0]+2]<<16|r[t[0]+3]<<24)>>>0,t[0]+=4)),n=[Ft(n)],f==0)throw new Error("Invalid offset 0");if(f>n[0].length)throw new Error("Invalid offset beyond length");if(o>=f)for(n.push(n[0].slice(-f)),o-=f;o>=n[n.length-1].length;)n.push(n[n.length-1]),o-=n[n.length-1].length;n.push(n[0].slice(-f,-f+o))}}var l=Ft(n);if(l.length!=a)throw new Error("Unexpected length: ".concat(l.length," != ").concat(a));return l}function zr(e){for(var r=[],t=0;t<e.length;){var a=e[t++],n=e[t]|e[t+1]<<8|e[t+2]<<16;t+=3,r.push(u2(a,e.slice(t,t+n))),t+=n}if(t!==e.length)throw new Error("data is not a valid framed stream!");return Ft(r)}function ua(e){for(var r=[],t=0;t<e.length;){var a=Math.min(e.length-t,268435455),n=new Uint8Array(4);r.push(n);var i=Ne(a),s=i.length;r.push(i),a<=60?(s++,r.push(new Uint8Array([a-1<<2]))):a<=256?(s+=2,r.push(new Uint8Array([240,a-1&255]))):a<=65536?(s+=3,r.push(new Uint8Array([244,a-1&255,a-1>>8&255]))):a<=16777216?(s+=4,r.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(s+=5,r.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),r.push(e.slice(t,t+a)),s+=a,n[0]=0,n[1]=s&255,n[2]=s>>8&255,n[3]=s>>16&255,t+=a}return Ft(r)}function x2(e,r,t,a){var n=$t(e),i=n.getUint32(4,!0),s=(a>1?12:8)+mf(i&(a>1?3470:398))*4,c=-1,f=-1,o=NaN,l=new Date(2001,0,1);i&512&&(c=n.getUint32(s,!0),s+=4),s+=mf(i&(a>1?12288:4096))*4,i&16&&(f=n.getUint32(s,!0),s+=4),i&32&&(o=n.getFloat64(s,!0),s+=8),i&64&&(l.setTime(l.getTime()+n.getFloat64(s,!0)*1e3),s+=8);var h;switch(e[2]){case 0:break;case 2:h={t:"n",v:o};break;case 3:h={t:"s",v:r[f]};break;case 5:h={t:"d",v:l};break;case 6:h={t:"b",v:o>0};break;case 7:h={t:"n",v:o/86400};break;case 8:h={t:"e",v:0};break;case 9:if(c>-1)h={t:"s",v:t[c]};else if(f>-1)h={t:"s",v:r[f]};else if(!isNaN(o))h={t:"n",v:o};else throw new Error("Unsupported cell type ".concat(e.slice(0,4)));break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return h}function d2(e,r,t){var a=$t(e),n=a.getUint32(8,!0),i=12,s=-1,c=-1,f=NaN,o=NaN,l=new Date(2001,0,1);n&1&&(f=l2(e,i),i+=16),n&2&&(o=a.getFloat64(i,!0),i+=8),n&4&&(l.setTime(l.getTime()+a.getFloat64(i,!0)*1e3),i+=8),n&8&&(c=a.getUint32(i,!0),i+=4),n&16&&(s=a.getUint32(i,!0),i+=4);var h;switch(e[1]){case 0:break;case 2:h={t:"n",v:f};break;case 3:h={t:"s",v:r[c]};break;case 5:h={t:"d",v:l};break;case 6:h={t:"b",v:o>0};break;case 7:h={t:"n",v:o/86400};break;case 8:h={t:"e",v:0};break;case 9:if(s>-1)h={t:"s",v:t[s]};else throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)));break;case 10:h={t:"n",v:f};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(n&31," : ").concat(e.slice(0,4)))}return h}function Vi(e,r){var t=new Uint8Array(32),a=$t(t),n=12,i=0;switch(t[0]=5,e.t){case"n":t[1]=2,h2(t,n,e.v),i|=1,n+=16;break;case"b":t[1]=6,a.setFloat64(n,e.v?1:0,!0),i|=2,n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[1]=3,a.setUint32(n,r.indexOf(e.v),!0),i|=8,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(8,i,!0),t.slice(0,n)}function zi(e,r){var t=new Uint8Array(32),a=$t(t),n=12,i=0;switch(t[0]=3,e.t){case"n":t[2]=2,a.setFloat64(n,e.v,!0),i|=32,n+=8;break;case"b":t[2]=6,a.setFloat64(n,e.v?1:0,!0),i|=32,n+=8;break;case"s":if(r.indexOf(e.v)==-1)throw new Error("Value ".concat(e.v," missing from SST!"));t[2]=3,a.setUint32(n,r.indexOf(e.v),!0),i|=16,n+=4;break;default:throw"unsupported cell type "+e.t}return a.setUint32(4,i,!0),t.slice(0,n)}function p2(e,r,t){switch(e[0]){case 0:case 1:case 2:case 3:return x2(e,r,t,e[0]);case 5:return d2(e,r,t);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function _r(e){var r=De(e);return Ga(r[1][0].data)}function vf(e,r){var t=De(r.data),a=Ke(t[1][0].data),n=t[3],i=[];return(n||[]).forEach(function(s){var c=De(s.data),f=Ke(c[1][0].data)>>>0;switch(a){case 1:i[f]=Wi(c[3][0].data);break;case 8:{var o=e[_r(c[9][0].data)][0],l=De(o.data),h=e[_r(l[1][0].data)][0],u=Ke(h.meta[1][0].data);if(u!=2001)throw new Error("2000 unexpected reference to ".concat(u));var d=De(h.data);i[f]=d[3].map(function(p){return Wi(p.data)}).join("")}break}}),i}function m2(e,r){var t,a,n,i,s,c,f,o,l,h,u,d,p,x,m=De(e),E=Ke(m[1][0].data)>>>0,F=Ke(m[2][0].data)>>>0,g=((a=(t=m[8])==null?void 0:t[0])==null?void 0:a.data)&&Ke(m[8][0].data)>0||!1,I,N;if((i=(n=m[7])==null?void 0:n[0])!=null&&i.data&&r!=0)I=(c=(s=m[7])==null?void 0:s[0])==null?void 0:c.data,N=(o=(f=m[6])==null?void 0:f[0])==null?void 0:o.data;else if((h=(l=m[4])==null?void 0:l[0])!=null&&h.data&&r!=1)I=(d=(u=m[4])==null?void 0:u[0])==null?void 0:d.data,N=(x=(p=m[3])==null?void 0:p[0])==null?void 0:x.data;else throw"NUMBERS Tile missing ".concat(r," cell storage");for(var O=g?4:1,y=$t(I),M=[],D=0;D<I.length/2;++D){var G=y.getUint16(D*2,!0);G<65535&&M.push([D,G])}if(M.length!=F)throw"Expected ".concat(F," cells, found ").concat(M.length);var z=[];for(D=0;D<M.length-1;++D)z[M[D][0]]=N.subarray(M[D][1]*O,M[D+1][1]*O);return M.length>=1&&(z[M[M.length-1][0]]=N.subarray(M[M.length-1][1]*O)),{R:E,cells:z}}function v2(e,r){var t,a=De(r.data),n=(t=a==null?void 0:a[7])!=null&&t[0]?Ke(a[7][0].data)>>>0>0?1:0:-1,i=Hi(a[5],function(s){return m2(s,n)});return{nrows:Ke(a[4][0].data)>>>0,data:i.reduce(function(s,c){return s[c.R]||(s[c.R]=[]),c.cells.forEach(function(f,o){if(s[c.R][o])throw new Error("Duplicate cell r=".concat(c.R," c=").concat(o));s[c.R][o]=f}),s},[])}}function g2(e,r,t){var a,n=De(r.data),i={s:{r:0,c:0},e:{r:0,c:0}};if(i.e.r=(Ke(n[6][0].data)>>>0)-1,i.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(i.e.c=(Ke(n[7][0].data)>>>0)-1,i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));t["!ref"]=Ee(i);var s=De(n[4][0].data),c=vf(e,e[_r(s[4][0].data)][0]),f=(a=s[17])!=null&&a[0]?vf(e,e[_r(s[17][0].data)][0]):[],o=De(s[3][0].data),l=0;o[1].forEach(function(h){var u=De(h.data),d=e[_r(u[2][0].data)][0],p=Ke(d.meta[1][0].data);if(p!=6002)throw new Error("6001 unexpected reference to ".concat(p));var x=v2(e,d);x.data.forEach(function(m,E){m.forEach(function(F,g){var I=ve({r:l+E,c:g}),N=p2(F,c,f);N&&(t[I]=N)})}),l+=x.nrows})}function _2(e,r){var t=De(r.data),a={"!ref":"A1"},n=e[_r(t[2][0].data)],i=Ke(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));return g2(e,n[0],a),a}function w2(e,r){var t,a=De(r.data),n={name:(t=a[1])!=null&&t[0]?Wi(a[1][0].data):"",sheets:[]},i=Hi(a[2],_r);return i.forEach(function(s){e[s].forEach(function(c){var f=Ke(c.meta[1][0].data);f==6e3&&n.sheets.push(_2(e,c))})}),n}function E2(e,r){var t=Ji(),a=De(r.data),n=Hi(a[1],_r);if(n.forEach(function(i){e[i].forEach(function(s){var c=Ke(s.meta[1][0].data);if(c==2){var f=w2(e,s);f.sheets.forEach(function(o,l){qi(t,o,l==0?f.name:f.name+"_"+l,!0)})}})}),t.SheetNames.length==0)throw new Error("Empty NUMBERS file");return t}function Xi(e){var r,t,a,n,i={},s=[];if(e.FullPaths.forEach(function(f){if(f.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(f){if(f.name.match(/\.iwa$/)){var o;try{o=zr(f.content)}catch(h){return console.log("?? "+f.content.length+" "+(h.message||h))}var l;try{l=Vr(o)}catch(h){return console.log("## "+(h.message||h))}l.forEach(function(h){i[h.id]=h.messages,s.push(h.id)})}}),!s.length)throw new Error("File has no messages");var c=((n=(a=(t=(r=i==null?void 0:i[1])==null?void 0:r[0])==null?void 0:t.meta)==null?void 0:a[1])==null?void 0:n[0].data)&&Ke(i[1][0].meta[1][0].data)==1&&i[1][0];if(c||s.forEach(function(f){i[f].forEach(function(o){var l=Ke(o.meta[1][0].data)>>>0;if(l==1)if(!c)c=o;else throw new Error("Document has multiple roots")})}),!c)throw new Error("Cannot find Document root");return E2(i,c)}function k2(e,r,t){var a,n,i,s;if(!((a=e[6])!=null&&a[0])||!((n=e[7])!=null&&n[0]))throw"Mutation only works on post-BNC storages!";var c=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&Ke(e[8][0].data)>0||!1;if(c)throw"Math only works with normal offsets";for(var f=0,o=$t(e[7][0].data),l=0,h=[],u=$t(e[4][0].data),d=0,p=[],x=0;x<r.length;++x){if(r[x]==null){o.setUint16(x*2,65535,!0),u.setUint16(x*2,65535);continue}o.setUint16(x*2,l,!0),u.setUint16(x*2,d,!0);var m,E;switch(typeof r[x]){case"string":m=Vi({t:"s",v:r[x]},t),E=zi({t:"s",v:r[x]},t);break;case"number":m=Vi({t:"n",v:r[x]},t),E=zi({t:"n",v:r[x]},t);break;case"boolean":m=Vi({t:"b",v:r[x]},t),E=zi({t:"b",v:r[x]},t);break;default:throw new Error("Unsupported value "+r[x])}h.push(m),l+=m.length,p.push(E),d+=E.length,++f}for(e[2][0].data=Ne(f);x<e[7][0].data.length/2;++x)o.setUint16(x*2,65535,!0),u.setUint16(x*2,65535,!0);return e[6][0].data=Ft(h),e[3][0].data=Ft(p),f}function T2(e,r){if(!r||!r.numbers)throw new Error("Must pass a `numbers` option -- check the README");var t=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=Cr(t["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(Ee(a)));var i=Nn(t,{range:a,header:1}),s=["~Sh33tJ5~"];i.forEach(function(L){return L.forEach(function(b){typeof b=="string"&&s.push(b)})});var c={},f=[],o=xe.read(r.numbers,{type:"base64"});o.FileIndex.map(function(L,b){return[L,o.FullPaths[b]]}).forEach(function(L){var b=L[0],R=L[1];if(b.type==2&&b.name.match(/\.iwa/)){var K=b.content,re=zr(K),te=Vr(re);te.forEach(function(Q){f.push(Q.id),c[Q.id]={deps:[],location:R,type:Ke(Q.messages[0].meta[1][0].data)}})}}),f.sort(function(L,b){return L-b});var l=f.filter(function(L){return L>1}).map(function(L){return[L,Ne(L)]});o.FileIndex.map(function(L,b){return[L,o.FullPaths[b]]}).forEach(function(L){var b=L[0];if(L[1],!!b.name.match(/\.iwa/)){var R=Vr(zr(b.content));R.forEach(function(K){K.messages.forEach(function(re){l.forEach(function(te){K.messages.some(function(Q){return Ke(Q.meta[1][0].data)!=11006&&o2(Q.data,te[1])})&&c[te[0]].deps.push(K.id)})})})}});for(var h=xe.find(o,c[1].location),u=Vr(zr(h.content)),d,p=0;p<u.length;++p){var x=u[p];x.id==1&&(d=x)}var m=_r(De(d.messages[0].data)[1][0].data);for(h=xe.find(o,c[m].location),u=Vr(zr(h.content)),p=0;p<u.length;++p)x=u[p],x.id==m&&(d=x);for(m=_r(De(d.messages[0].data)[2][0].data),h=xe.find(o,c[m].location),u=Vr(zr(h.content)),p=0;p<u.length;++p)x=u[p],x.id==m&&(d=x);for(m=_r(De(d.messages[0].data)[2][0].data),h=xe.find(o,c[m].location),u=Vr(zr(h.content)),p=0;p<u.length;++p)x=u[p],x.id==m&&(d=x);var E=De(d.messages[0].data);{E[6][0].data=Ne(a.e.r+1),E[7][0].data=Ne(a.e.c+1);var F=_r(E[46][0].data),g=xe.find(o,c[F].location),I=Vr(zr(g.content));{for(var N=0;N<I.length&&I[N].id!=F;++N);if(I[N].id!=F)throw"Bad ColumnRowUIDMapArchive";var O=De(I[N].messages[0].data);O[1]=[],O[2]=[],O[3]=[];for(var y=0;y<=a.e.c;++y){var M=[];M[1]=M[2]=[{type:0,data:Ne(y+420690)}],O[1].push({type:2,data:hr(M)}),O[2].push({type:0,data:Ne(y)}),O[3].push({type:0,data:Ne(y)})}O[4]=[],O[5]=[],O[6]=[];for(var D=0;D<=a.e.r;++D)M=[],M[1]=M[2]=[{type:0,data:Ne(D+726270)}],O[4].push({type:2,data:hr(M)}),O[5].push({type:0,data:Ne(D)}),O[6].push({type:0,data:Ne(D)});I[N].messages[0].data=hr(O)}g.content=ua(ha(I)),g.size=g.content.length,delete E[46];var G=De(E[4][0].data);{G[7][0].data=Ne(a.e.r+1);var z=De(G[1][0].data),P=_r(z[2][0].data);g=xe.find(o,c[P].location),I=Vr(zr(g.content));{if(I[0].id!=P)throw"Bad HeaderStorageBucket";var J=De(I[0].messages[0].data);for(D=0;D<i.length;++D){var le=De(J[2][0].data);le[1][0].data=Ne(D),le[4][0].data=Ne(i[D].length),J[2][D]={type:J[2][0].type,data:hr(le)}}I[0].messages[0].data=hr(J)}g.content=ua(ha(I)),g.size=g.content.length;var ie=_r(G[2][0].data);g=xe.find(o,c[ie].location),I=Vr(zr(g.content));{if(I[0].id!=ie)throw"Bad HeaderStorageBucket";for(J=De(I[0].messages[0].data),y=0;y<=a.e.c;++y)le=De(J[2][0].data),le[1][0].data=Ne(y),le[4][0].data=Ne(a.e.r+1),J[2][y]={type:J[2][0].type,data:hr(le)};I[0].messages[0].data=hr(J)}g.content=ua(ha(I)),g.size=g.content.length;var ue=_r(G[4][0].data);(function(){for(var L=xe.find(o,c[ue].location),b=Vr(zr(L.content)),R,K=0;K<b.length;++K){var re=b[K];re.id==ue&&(R=re)}var te=De(R.messages[0].data);{te[3]=[];var Q=[];s.forEach(function(C,He){Q[1]=[{type:0,data:Ne(He)}],Q[2]=[{type:0,data:Ne(1)}],Q[3]=[{type:2,data:f2(C)}],te[3].push({type:2,data:hr(Q)})})}R.messages[0].data=hr(te);var q=ha(b),Te=ua(q);L.content=Te,L.size=L.content.length})();var fe=De(G[3][0].data);{var Pe=fe[1][0];delete fe[2];var V=De(Pe.data);{var me=_r(V[2][0].data);(function(){for(var L=xe.find(o,c[me].location),b=Vr(zr(L.content)),R,K=0;K<b.length;++K){var re=b[K];re.id==me&&(R=re)}var te=De(R.messages[0].data);{delete te[6],delete fe[7];var Q=new Uint8Array(te[5][0].data);te[5]=[];for(var q=0,Te=0;Te<=a.e.r;++Te){var C=De(Q);q+=k2(C,i[Te],s),C[1][0].data=Ne(Te),te[5].push({data:hr(C),type:2})}te[1]=[{type:0,data:Ne(a.e.c+1)}],te[2]=[{type:0,data:Ne(a.e.r+1)}],te[3]=[{type:0,data:Ne(q)}],te[4]=[{type:0,data:Ne(a.e.r+1)}]}R.messages[0].data=hr(te);var He=ha(b),Ae=ua(He);L.content=Ae,L.size=L.content.length})()}Pe.data=hr(V)}G[3][0].data=hr(fe)}E[4][0].data=hr(G)}d.messages[0].data=hr(E);var _e=ha(u),A=ua(_e);return h.content=A,h.size=h.content.length,o}function gf(e){return function(t){for(var a=0;a!=e.length;++a){var n=e[a];t[n[0]]===void 0&&(t[n[0]]=n[1]),n[2]==="n"&&(t[n[0]]=Number(t[n[0]]))}}}function Gi(e){gf([["cellNF",!1],["cellHTML",!0],["cellFormula",!0],["cellStyles",!1],["cellText",!0],["cellDates",!1],["sheetStubs",!1],["sheetRows",0,"n"],["bookDeps",!1],["bookSheets",!1],["bookProps",!1],["bookFiles",!1],["bookVBA",!1],["password",""],["WTF",!1]])(e)}function $i(e){gf([["cellDates",!1],["bookSST",!1],["bookType","xlsx"],["compression",!1],["WTF",!1]])(e)}function S2(e){return ye.WS.indexOf(e)>-1?"sheet":e==ye.CS?"chart":e==ye.DS?"dialog":e==ye.MS?"macro":e&&e.length?e:"sheet"}function y2(e,r){if(!e)return 0;try{e=r.map(function(a){return a.id||(a.id=a.strRelID),[a.name,e["!id"][a.id].Target,S2(e["!id"][a.id].Type)]})}catch{return null}return!e||e.length===0?null:e}function F2(e,r,t,a,n,i,s,c,f,o,l,h){try{i[a]=Aa(Rr(e,t,!0),r);var u=er(e,r),d;switch(c){case"sheet":d=Kv(u,r,n,f,i[a],o,l,h);break;case"chart":if(d=Yv(u,r,n,f,i[a],o,l,h),!d||!d["!drawel"])break;var p=_a(d["!drawel"].Target,r),x=Ca(p),m=Lx(Rr(e,p,!0),Aa(Rr(e,x,!0),p)),E=_a(m,p),F=Ca(E);d=kv(Rr(e,E,!0),E,f,Aa(Rr(e,F,!0),E),o,d);break;case"macro":d=Jv(u,r,n,f,i[a],o,l,h);break;case"dialog":d=qv(u,r,n,f,i[a],o,l,h);break;default:throw new Error("Unrecognized sheet type "+c)}s[a]=d;var g=[];i&&i[a]&&$e(i[a]).forEach(function(I){var N="";if(i[a][I].Type==ye.CMNT){N=_a(i[a][I].Target,r);var O=rg(er(e,N,!0),N,f);if(!O||!O.length)return;Cc(d,O,!1)}i[a][I].Type==ye.TCMNT&&(N=_a(i[a][I].Target,r),g=g.concat(Mx(er(e,N,!0),f)))}),g&&g.length&&Cc(d,g,!0,f.people||[])}catch(I){if(f.WTF)throw I}}function Xr(e){return e.charAt(0)=="/"?e.slice(1):e}function C2(e,r){if(ea(),r=r||{},Gi(r),Br(e,"META-INF/manifest.xml")||Br(e,"objectdata.xml"))return uf(e,r);if(Br(e,"Index/Document.iwa")){if(typeof Uint8Array>"u")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Xi<"u"){if(e.FileIndex)return Xi(e);var t=xe.utils.cfb_new();return Ms(e).forEach(function(le){ke(t,le,Bo(e,le))}),Xi(t)}throw new Error("Unsupported NUMBERS file")}if(!Br(e,"[Content_Types].xml"))throw Br(e,"index.xml.gz")?new Error("Unsupported NUMBERS 08 file"):Br(e,"index.xml")?new Error("Unsupported NUMBERS 09 file"):new Error("Unsupported ZIP file");var a=Ms(e),n=Dl(Rr(e,"[Content_Types].xml")),i=!1,s,c;if(n.workbooks.length===0&&(c="xl/workbook.xml",er(e,c,!0)&&n.workbooks.push(c)),n.workbooks.length===0){if(c="xl/workbook.bin",!er(e,c,!0))throw new Error("Could not find workbook");n.workbooks.push(c),i=!0}n.workbooks[0].slice(-3)=="bin"&&(i=!0);var f={},o={};if(!r.bookSheets&&!r.bookProps){if(Ua=[],n.sst)try{Ua=eg(er(e,Xr(n.sst)),n.sst,r)}catch(le){if(r.WTF)throw le}r.cellStyles&&n.themes.length&&(f=Qv(Rr(e,n.themes[0].replace(/^\//,""),!0)||"",n.themes[0],r)),n.style&&(o=Zv(er(e,Xr(n.style)),n.style,f,r))}n.links.map(function(le){try{var ie=Aa(Rr(e,Ca(Xr(le))),le);return ag(er(e,Xr(le)),ie,le,r)}catch{}});var l=jv(er(e,Xr(n.workbooks[0])),n.workbooks[0],r),h={},u="";n.coreprops.length&&(u=er(e,Xr(n.coreprops[0]),!0),u&&(h=C0(u)),n.extprops.length!==0&&(u=er(e,Xr(n.extprops[0]),!0),u&&Bl(u,h,r)));var d={};(!r.bookSheets||r.bookProps)&&n.custprops.length!==0&&(u=Rr(e,Xr(n.custprops[0]),!0),u&&(d=Wl(u,r)));var p={};if((r.bookSheets||r.bookProps)&&(l.Sheets?s=l.Sheets.map(function(ie){return ie.name}):h.Worksheets&&h.SheetNames.length>0&&(s=h.SheetNames),r.bookProps&&(p.Props=h,p.Custprops=d),r.bookSheets&&typeof s<"u"&&(p.SheetNames=s),r.bookSheets?p.SheetNames:r.bookProps))return p;s={};var x={};r.bookDeps&&n.calcchain&&(x=tg(er(e,Xr(n.calcchain)),n.calcchain));var m=0,E={},F,g;{var I=l.Sheets;h.Worksheets=I.length,h.SheetNames=[];for(var N=0;N!=I.length;++N)h.SheetNames[N]=I[N].name}var O=i?"bin":"xml",y=n.workbooks[0].lastIndexOf("/"),M=(n.workbooks[0].slice(0,y+1)+"_rels/"+n.workbooks[0].slice(y+1)+".rels").replace(/^\//,"");Br(e,M)||(M="xl/_rels/workbook."+O+".rels");var D=Aa(Rr(e,M,!0),M.replace(/_rels.*/,"s5s"));(n.metadata||[]).length>=1&&(r.xlmeta=ng(er(e,Xr(n.metadata[0])),n.metadata[0],r)),(n.people||[]).length>=1&&(r.people=Ux(er(e,Xr(n.people[0])),r)),D&&(D=y2(D,l.Sheets));var G=er(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(m=0;m!=h.Worksheets;++m){var z="sheet";if(D&&D[m]?(F="xl/"+D[m][1].replace(/[\/]?xl\//,""),Br(e,F)||(F=D[m][1]),Br(e,F)||(F=M.replace(/_rels\/.*$/,"")+D[m][1]),z=D[m][2]):(F="xl/worksheets/sheet"+(m+1-G)+"."+O,F=F.replace(/sheet0\./,"sheet.")),g=F.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),r&&r.sheets!=null)switch(typeof r.sheets){case"number":if(m!=r.sheets)continue e;break;case"string":if(h.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){for(var P=!1,J=0;J!=r.sheets.length;++J)typeof r.sheets[J]=="number"&&r.sheets[J]==m&&(P=1),typeof r.sheets[J]=="string"&&r.sheets[J].toLowerCase()==h.SheetNames[m].toLowerCase()&&(P=1);if(!P)continue e}}F2(e,F,g,h.SheetNames[m],m,E,s,z,r,l,f,o)}return p={Directory:n,Workbook:l,Props:h,Custprops:d,Deps:x,Sheets:s,SheetNames:h.SheetNames,Strings:Ua,Styles:o,Themes:f,SSF:Ue(pe)},r&&r.bookFiles&&(e.files?(p.keys=a,p.files=e.files):(p.keys=[],p.files={},e.FullPaths.forEach(function(le,ie){le=le.replace(/^Root Entry[\/]/,""),p.keys.push(le),p.files[le]=e.FileIndex[ie]}))),r&&r.bookVBA&&(n.vba.length>0?p.vbaraw=er(e,Xr(n.vba[0]),!0):n.defaults&&n.defaults.bin===jx&&(p.vbaraw=er(e,"xl/vbaProject.bin",!0))),p}function A2(e,r){var t=r||{},a="Workbook",n=xe.find(e,a);try{if(a="/!DataSpaces/Version",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(n1(n.content),a="/!DataSpaces/DataSpaceMap",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=s1(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=c1(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);o1(n.content)}catch{}if(a="/EncryptionInfo",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var c=l1(n.content);if(a="/EncryptedPackage",n=xe.find(e,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(c[0]==4&&typeof decrypt_agile<"u")return decrypt_agile(c[1],n.content,t.password||"",t);if(c[0]==2&&typeof decrypt_std76<"u")return decrypt_std76(c[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function b2(e,r){return r.bookType=="ods"?pf(e,r):r.bookType=="numbers"?T2(e,r):r.bookType=="xlsb"?I2(e,r):D2(e,r)}function I2(e,r){fa=1024,e&&!e.SSF&&(e.SSF=Ue(pe)),e&&e.SSF&&(ea(),fn(e.SSF),r.revssf=ln(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.rels={},r.wbrels={},r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,Wa?r.revStrings=new Map:(r.revStrings={},r.revStrings.foo=[],delete r.revStrings.foo);var t=r.bookType=="xlsb"?"bin":"xml",a=bc.indexOf(r.bookType)>-1,n=pi();$i(r=r||{});var i=Kn(),s="",c=0;if(r.cellXfs=[],yt(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s="docProps/core.xml",ke(i,s,A0(e.Props,r)),n.coreprops.push(s),Oe(r.rels,2,s,ye.CORE_PROPS),s="docProps/app.xml",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var f=[],o=0;o<e.SheetNames.length;++o)(e.Workbook.Sheets[o]||{}).Hidden!=2&&f.push(e.SheetNames[o]);e.Props.SheetNames=f}for(e.Props.Worksheets=e.Props.SheetNames.length,ke(i,s,D0(e.Props)),n.extprops.push(s),Oe(r.rels,3,s,ye.EXT_PROPS),e.Custprops!==e.Props&&$e(e.Custprops||{}).length>0&&(s="docProps/custom.xml",ke(i,s,R0(e.Custprops)),n.custprops.push(s),Oe(r.rels,4,s,ye.CUST_PROPS)),c=1;c<=e.SheetNames.length;++c){var l={"!id":{}},h=e.Sheets[e.SheetNames[c-1]],u=(h||{})["!type"]||"sheet";switch(u){case"chart":default:s="xl/worksheets/sheet"+c+"."+t,ke(i,s,sg(c-1,s,r,e,l)),n.sheets.push(s),Oe(r.wbrels,-1,"worksheets/sheet"+c+"."+t,ye.WS[0])}if(h){var d=h["!comments"],p=!1,x="";d&&d.length>0&&(x="xl/comments"+c+"."+t,ke(i,x,og(d,x)),n.comments.push(x),Oe(l,-1,"../comments"+c+"."+t,ye.CMNT),p=!0),h["!legacy"]&&p&&ke(i,"xl/drawings/vmlDrawing"+c+".vml",Fc(c,h["!comments"])),delete h["!comments"],delete h["!legacy"]}l["!id"].rId1&&ke(i,Ca(s),ia(l))}return r.Strings!=null&&r.Strings.length>0&&(s="xl/sharedStrings."+t,ke(i,s,fg(r.Strings,s,r)),n.strs.push(s),Oe(r.wbrels,-1,"sharedStrings."+t,ye.SST)),s="xl/workbook."+t,ke(i,s,ig(e,s)),n.workbooks.push(s),Oe(r.rels,1,s,ye.WB),s="xl/theme/theme1.xml",ke(i,s,Ai(e.Themes,r)),n.themes.push(s),Oe(r.wbrels,-1,"theme/theme1.xml",ye.THEME),s="xl/styles."+t,ke(i,s,cg(e,s,r)),n.styles.push(s),Oe(r.wbrels,-1,"styles."+t,ye.STY),e.vbaraw&&a&&(s="xl/vbaProject.bin",ke(i,s,e.vbaraw),n.vba.push(s),Oe(r.wbrels,-1,"vbaProject.bin",ye.VBA)),s="xl/metadata."+t,ke(i,s,lg(s)),n.metadata.push(s),Oe(r.wbrels,-1,"metadata."+t,ye.XLMETA),ke(i,"[Content_Types].xml",S0(n,r)),ke(i,"_rels/.rels",ia(r.rels)),ke(i,"xl/_rels/workbook."+t+".rels",ia(r.wbrels)),delete r.revssf,delete r.ssf,i}function D2(e,r){fa=1024,e&&!e.SSF&&(e.SSF=Ue(pe)),e&&e.SSF&&(ea(),fn(e.SSF),r.revssf=ln(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.rels={},r.wbrels={},r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,Wa?r.revStrings=new Map:(r.revStrings={},r.revStrings.foo=[],delete r.revStrings.foo);var t="xml",a=bc.indexOf(r.bookType)>-1,n=pi();$i(r=r||{});var i=Kn(),s="",c=0;if(r.cellXfs=[],yt(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s="docProps/core.xml",ke(i,s,A0(e.Props,r)),n.coreprops.push(s),Oe(r.rels,2,s,ye.CORE_PROPS),s="docProps/app.xml",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var f=[],o=0;o<e.SheetNames.length;++o)(e.Workbook.Sheets[o]||{}).Hidden!=2&&f.push(e.SheetNames[o]);e.Props.SheetNames=f}e.Props.Worksheets=e.Props.SheetNames.length,ke(i,s,D0(e.Props)),n.extprops.push(s),Oe(r.rels,3,s,ye.EXT_PROPS),e.Custprops!==e.Props&&$e(e.Custprops||{}).length>0&&(s="docProps/custom.xml",ke(i,s,R0(e.Custprops)),n.custprops.push(s),Oe(r.rels,4,s,ye.CUST_PROPS));var l=["SheetJ5"];for(r.tcid=0,c=1;c<=e.SheetNames.length;++c){var h={"!id":{}},u=e.Sheets[e.SheetNames[c-1]],d=(u||{})["!type"]||"sheet";switch(d){case"chart":default:s="xl/worksheets/sheet"+c+"."+t,ke(i,s,Gc(c-1,r,e,h)),n.sheets.push(s),Oe(r.wbrels,-1,"worksheets/sheet"+c+"."+t,ye.WS[0])}if(u){var p=u["!comments"],x=!1,m="";if(p&&p.length>0){var E=!1;p.forEach(function(F){F[1].forEach(function(g){g.T==!0&&(E=!0)})}),E&&(m="xl/threadedComments/threadedComment"+c+"."+t,ke(i,m,Bx(p,l,r)),n.threadedcomments.push(m),Oe(h,-1,"../threadedComments/threadedComment"+c+"."+t,ye.TCMNT)),m="xl/comments"+c+"."+t,ke(i,m,Ac(p)),n.comments.push(m),Oe(h,-1,"../comments"+c+"."+t,ye.CMNT),x=!0}u["!legacy"]&&x&&ke(i,"xl/drawings/vmlDrawing"+c+".vml",Fc(c,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&&ke(i,Ca(s),ia(h))}return r.Strings!=null&&r.Strings.length>0&&(s="xl/sharedStrings."+t,ke(i,s,xc(r.Strings,r)),n.strs.push(s),Oe(r.wbrels,-1,"sharedStrings."+t,ye.SST)),s="xl/workbook."+t,ke(i,s,Zc(e)),n.workbooks.push(s),Oe(r.rels,1,s,ye.WB),s="xl/theme/theme1.xml",ke(i,s,Ai(e.Themes,r)),n.themes.push(s),Oe(r.wbrels,-1,"theme/theme1.xml",ye.THEME),s="xl/styles."+t,ke(i,s,Ec(e,r)),n.styles.push(s),Oe(r.wbrels,-1,"styles."+t,ye.STY),e.vbaraw&&a&&(s="xl/vbaProject.bin",ke(i,s,e.vbaraw),n.vba.push(s),Oe(r.wbrels,-1,"vbaProject.bin",ye.VBA)),s="xl/metadata."+t,ke(i,s,yc()),n.metadata.push(s),Oe(r.wbrels,-1,"metadata."+t,ye.XLMETA),l.length>1&&(s="xl/persons/person.xml",ke(i,s,Wx(l)),n.people.push(s),Oe(r.wbrels,-1,"persons/person.xml",ye.PEOPLE)),ke(i,"[Content_Types].xml",S0(n,r)),ke(i,"_rels/.rels",ia(r.rels)),ke(i,"xl/_rels/workbook."+t+".rels",ia(r.wbrels)),delete r.revssf,delete r.ssf,i}function ji(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":t=Ir(e.slice(0,12));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"))}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function R2(e,r){return xe.find(e,"EncryptedPackage")?A2(e,r):tf(e,r)}function O2(e,r){var t,a=e,n=r||{};return n.type||(n.type=Se&&Buffer.isBuffer(e)?"buffer":"base64"),t=Bs(a,n),C2(t,n)}function _f(e,r){var t=0;e:for(;t<e.length;)switch(e.charCodeAt(t)){case 10:case 13:case 32:++t;break;case 60:return Bi(e.slice(t),r);default:break e}return sa.to_workbook(e,r)}function N2(e,r){var t="",a=ji(e,r);switch(r.type){case"base64":t=Ir(e);break;case"binary":t=e;break;case"buffer":t=e.toString("binary");break;case"array":t=Dt(e);break;default:throw new Error("Unrecognized type "+r.type)}return a[0]==239&&a[1]==187&&a[2]==191&&(t=Le(t)),r.type="binary",_f(t,r)}function L2(e,r){var t=e;return r.type=="base64"&&(t=Ir(t)),t=da.utils.decode(1200,t.slice(2),"str"),r.type="binary",_f(t,r)}function P2(e){return e.match(/[^\x00-\x7F]/)?et(e):e}function Ki(e,r,t,a){return a?(t.type="string",sa.to_workbook(e,t)):sa.to_workbook(r,t)}function $a(e,r){Vn();var t=r||{};if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer)return $a(new Uint8Array(e),(t=Ue(t),t.type="array",t));typeof Uint8Array<"u"&&e instanceof Uint8Array&&!t.type&&(t.type=typeof Deno<"u"?"buffer":"array");var a=e,n=[0,0,0,0],i=!1;if(t.cellStyles&&(t.cellNF=!0,t.sheetStubs=!0),la={},t.dateNF&&(la.dateNF=t.dateNF),t.type||(t.type=Se&&Buffer.isBuffer(e)?"buffer":"base64"),t.type=="file"&&(t.type=Se?"buffer":"binary",a=Io(e),typeof Uint8Array<"u"&&!Se&&(t.type="array")),t.type=="string"&&(i=!0,t.type="binary",t.codepage=65001,a=P2(e)),t.type=="array"&&typeof Uint8Array<"u"&&e instanceof Uint8Array&&typeof ArrayBuffer<"u"){var s=new ArrayBuffer(3),c=new Uint8Array(s);if(c.foo="bar",!c.foo)return t=Ue(t),t.type="array",$a(zn(a),t)}switch((n=ji(a,t))[0]){case 208:if(n[1]===207&&n[2]===17&&n[3]===224&&n[4]===161&&n[5]===177&&n[6]===26&&n[7]===225)return R2(xe.read(a,t),t);break;case 9:if(n[1]<=8)return tf(a,t);break;case 60:return Bi(a,t);case 73:if(n[1]===73&&n[2]===42&&n[3]===0)throw new Error("TIFF Image File is not a spreadsheet");if(n[1]===68)return Hu(a,t);break;case 84:if(n[1]===65&&n[2]===66&&n[3]===76)return hc.to_workbook(a,t);break;case 80:return n[1]===75&&n[2]<9&&n[3]<9?O2(a,t):Ki(e,a,t,i);case 239:return n[3]===60?Bi(a,t):Ki(e,a,t,i);case 255:if(n[1]===254)return L2(a,t);if(n[1]===0&&n[2]===2&&n[3]===0)return Xt.to_workbook(a,t);break;case 0:if(n[1]===0&&(n[2]>=2&&n[3]===0||n[2]===0&&(n[3]===8||n[3]===9)))return Xt.to_workbook(a,t);break;case 3:case 131:case 139:case 140:return ki.to_workbook(a,t);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return gc.to_workbook(a,t);break;case 10:case 13:case 32:return N2(a,t);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break}return Wu.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31?ki.to_workbook(a,t):Ki(e,a,t,i)}function wf(e,r){switch(r.type){case"base64":case"binary":break;case"buffer":case"array":r.type="";break;case"file":return ga(r.file,xe.write(e,{type:Se?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");default:throw new Error("Unrecognized type "+r.type)}return xe.write(e,r)}function M2(e,r){var t=Ue(r||{}),a=b2(e,t);return B2(a,t)}function B2(e,r){var t={},a=Se?"nodebuffer":typeof Uint8Array<"u"?"array":"string";if(r.compression&&(t.compression="DEFLATE"),r.password)t.type=a;else switch(r.type){case"base64":t.type="base64";break;case"binary":t.type="string";break;case"string":throw new Error("'string' output type invalid for '"+r.bookType+"' files");case"buffer":case"file":t.type=a;break;default:throw new Error("Unrecognized type "+r.type)}var n=e.FullPaths?xe.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[t.type]||t.type,compression:!!r.compression}):e.generate(t);if(typeof Deno<"u"&&typeof n=="string"){if(r.type=="binary"||r.type=="base64")return n;n=new Uint8Array(an(n))}return r.password&&typeof encrypt_agile<"u"?wf(encrypt_agile(n,r.password),r):r.type==="file"?ga(r.file,n):r.type=="string"?Le(n):n}function U2(e,r){var t=r||{},a=Pg(e,t);return wf(a,t)}function at(e,r,t){t||(t="");var a=t+e;switch(r.type){case"base64":return pa(et(a));case"binary":return et(a);case"string":return e;case"file":return ga(r.file,a,"utf8");case"buffer":return Se?st(a,"utf8"):typeof TextEncoder<"u"?new TextEncoder().encode(a):at(a,{type:"binary"}).split("").map(function(n){return n.charCodeAt(0)})}throw new Error("Unrecognized type "+r.type)}function W2(e,r){switch(r.type){case"base64":return pa(e);case"binary":return e;case"string":return e;case"file":return ga(r.file,e,"binary");case"buffer":return Se?st(e,"binary"):e.split("").map(function(t){return t.charCodeAt(0)})}throw new Error("Unrecognized type "+r.type)}function On(e,r){switch(r.type){case"string":case"base64":case"binary":for(var t="",a=0;a<e.length;++a)t+=String.fromCharCode(e[a]);return r.type=="base64"?pa(t):r.type=="string"?Le(t):t;case"file":return ga(r.file,e);case"buffer":return e;default:throw new Error("Unrecognized type "+r.type)}}function Ef(e,r){Vn(),Rv(e);var t=Ue(r||{});if(t.cellStyles&&(t.cellNF=!0,t.sheetStubs=!0),t.type=="array"){t.type="binary";var a=Ef(e,t);return t.type="array",an(a)}var n=0;if(t.sheet&&(typeof t.sheet=="number"?n=t.sheet:n=e.SheetNames.indexOf(t.sheet),!e.SheetNames[n]))throw new Error("Sheet not found: "+t.sheet+" : "+typeof t.sheet);switch(t.bookType||"xlsb"){case"xml":case"xlml":return at(bg(e,t),t);case"slk":case"sylk":return at(lc.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"htm":case"html":return at(sf(e.Sheets[e.SheetNames[n]],t),t);case"txt":return W2(Tf(e.Sheets[e.SheetNames[n]],t),t);case"csv":return at(Yi(e.Sheets[e.SheetNames[n]],t),t,"\uFEFF");case"dif":return at(hc.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"dbf":return On(ki.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"prn":return at(sa.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"rtf":return at(gc.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"eth":return at(uc.from_sheet(e.Sheets[e.SheetNames[n]],t),t);case"fods":return at(pf(e,t),t);case"wk1":return On(Xt.sheet_to_wk1(e.Sheets[e.SheetNames[n]],t),t);case"wk3":return On(Xt.book_to_wk3(e,t),t);case"biff2":t.biff||(t.biff=2);case"biff3":t.biff||(t.biff=3);case"biff4":return t.biff||(t.biff=4),On(af(e,t),t);case"biff5":t.biff||(t.biff=5);case"biff8":case"xla":case"xls":return t.biff||(t.biff=8),U2(e,t);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return M2(e,t);default:throw new Error("Unrecognized bookType |"+t.bookType+"|")}}function H2(e,r,t,a,n,i,s,c){var f=Je(t),o=c.defval,l=c.raw||!Object.prototype.hasOwnProperty.call(c,"raw"),h=!0,u=n===1?[]:{};if(n!==1)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:t,enumerable:!1})}catch{u.__rowNum__=t}else u.__rowNum__=t;if(!s||e[t])for(var d=r.s.c;d<=r.e.c;++d){var p=s?e[t][d]:e[a[d]+f];if(p===void 0||p.t===void 0){if(o===void 0)continue;i[d]!=null&&(u[i[d]]=o);continue}var x=p.v;switch(p.t){case"z":if(x==null)break;continue;case"e":x=x==0?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+p.t)}if(i[d]!=null){if(x==null)if(p.t=="e"&&x===null)u[i[d]]=null;else if(o!==void 0)u[i[d]]=o;else if(l&&x===null)u[i[d]]=null;else continue;else u[i[d]]=l&&(p.t!=="n"||p.t==="n"&&c.rawNumbers!==!1)?x:ht(p,x,c);x!=null&&(h=!1)}}return{row:u,isempty:h}}function Nn(e,r){if(e==null||e["!ref"]==null)return[];var t={t:"n",v:0},a=0,n=1,i=[],s=0,c="",f={s:{r:0,c:0},e:{r:0,c:0}},o=r||{},l=o.range!=null?o.range:e["!ref"];switch(o.header===1?a=1:o.header==="A"?a=2:Array.isArray(o.header)?a=3:o.header==null&&(a=0),typeof l){case"string":f=Ie(l);break;case"number":f=Ie(e["!ref"]),f.s.r=l;break;default:f=l}a>0&&(n=0);var h=Je(f.s.r),u=[],d=[],p=0,x=0,m=Array.isArray(e),E=f.s.r,F=0,g={};m&&!e[E]&&(e[E]=[]);var I=o.skipHidden&&e["!cols"]||[],N=o.skipHidden&&e["!rows"]||[];for(F=f.s.c;F<=f.e.c;++F)if(!(I[F]||{}).hidden)switch(u[F]=Ve(F),t=m?e[E][F]:e[u[F]+h],a){case 1:i[F]=F-f.s.c;break;case 2:i[F]=u[F];break;case 3:i[F]=o.header[F-f.s.c];break;default:if(t==null&&(t={w:"__EMPTY",t:"s"}),c=s=ht(t,null,o),x=g[s]||0,!x)g[s]=1;else{do c=s+"_"+x++;while(g[c]);g[s]=x,g[c]=1}i[F]=c}for(E=f.s.r+n;E<=f.e.r;++E)if(!(N[E]||{}).hidden){var O=H2(e,f,E,u,a,i,m,o);(O.isempty===!1||(a===1?o.blankrows!==!1:o.blankrows))&&(d[p++]=O.row)}return d.length=p,d}var kf=/"/g;function V2(e,r,t,a,n,i,s,c){for(var f=!0,o=[],l="",h=Je(t),u=r.s.c;u<=r.e.c;++u)if(a[u]){var d=c.dense?(e[t]||[])[u]:e[a[u]+h];if(d==null)l="";else if(d.v!=null){f=!1,l=""+(c.rawNumbers&&d.t=="n"?d.v:ht(d,null,c));for(var p=0,x=0;p!==l.length;++p)if((x=l.charCodeAt(p))===n||x===i||x===34||c.forceQuotes){l='"'+l.replace(kf,'""')+'"';break}l=="ID"&&(l='"ID"')}else d.f!=null&&!d.F?(f=!1,l="="+d.f,l.indexOf(",")>=0&&(l='"'+l.replace(kf,'""')+'"')):l="";o.push(l)}return c.blankrows===!1&&f?null:o.join(s)}function Yi(e,r){var t=[],a=r??{};if(e==null||e["!ref"]==null)return"";var n=Ie(e["!ref"]),i=a.FS!==void 0?a.FS:",",s=i.charCodeAt(0),c=a.RS!==void 0?a.RS:`
|
|
603
603
|
`,f=c.charCodeAt(0),o=new RegExp((i=="|"?"\\|":i)+"+$"),l="",h=[];a.dense=Array.isArray(e);for(var u=a.skipHidden&&e["!cols"]||[],d=a.skipHidden&&e["!rows"]||[],p=n.s.c;p<=n.e.c;++p)(u[p]||{}).hidden||(h[p]=Ve(p));for(var x=0,m=n.s.r;m<=n.e.r;++m)(d[m]||{}).hidden||(l=V2(e,n,m,h,s,f,i,a),l!=null&&(a.strip&&(l=l.replace(o,"")),(l||a.blankrows!==!1)&&t.push((x++?c:"")+l)));return delete a.dense,t.join("")}function Tf(e,r){r||(r={}),r.FS=" ",r.RS=`
|
|
604
604
|
`;var t=Yi(e,r);return t}function z2(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=Ie(e["!ref"]),i="",s=[],c,f=[],o=Array.isArray(e);for(c=n.s.c;c<=n.e.c;++c)s[c]=Ve(c);for(var l=n.s.r;l<=n.e.r;++l)for(i=Je(l),c=n.s.c;c<=n.e.c;++c)if(r=s[c]+i,t=o?(e[l]||[])[c]:e[r],a="",t!==void 0){if(t.F!=null){if(r=t.F,!t.f)continue;a=t.f,r.indexOf(":")==-1&&(r=r+":"+r)}if(t.f!=null)a=t.f;else{if(t.t=="z")continue;if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==void 0)a="'"+t.w;else{if(t.v===void 0)continue;t.t=="s"?a="'"+t.v:a=""+t.v}}f[f.length]=r+"="+a}return f}function Sf(e,r,t){var a=t||{},n=+!a.skipHeader,i=e||{},s=0,c=0;if(i&&a.origin!=null)if(typeof a.origin=="number")s=a.origin;else{var f=typeof a.origin=="string"?ze(a.origin):a.origin;s=f.r,c=f.c}var o,l={s:{c:0,r:0},e:{c,r:s+r.length-1+n}};if(i["!ref"]){var h=Ie(i["!ref"]);l.e.c=Math.max(l.e.c,h.e.c),l.e.r=Math.max(l.e.r,h.e.r),s==-1&&(s=h.e.r+1,l.e.r=s+r.length-1+n)}else s==-1&&(s=0,l.e.r=r.length-1+n);var u=a.header||[],d=0;r.forEach(function(x,m){$e(x).forEach(function(E){(d=u.indexOf(E))==-1&&(u[d=u.length]=E);var F=x[E],g="z",I="",N=ve({c:c+d,r:s+m+n});o=ja(i,N),F&&typeof F=="object"&&!(F instanceof Date)?i[N]=F:(typeof F=="number"?g="n":typeof F=="boolean"?g="b":typeof F=="string"?g="s":F instanceof Date?(g="d",a.cellDates||(g="n",F=ar(F)),I=a.dateNF||pe[14]):F===null&&a.nullError&&(g="e",F=0),o?(o.t=g,o.v=F,delete o.w,delete o.R,I&&(o.z=I)):i[N]=o={t:g,v:F},I&&(o.z=I))})}),l.e.c=Math.max(l.e.c,c+u.length-1);var p=Je(s);if(n)for(d=0;d<u.length;++d)i[Ve(d+c)+p]={t:"s",v:u[d]};return i["!ref"]=Ee(l),i}function X2(e,r){return Sf(null,e,r)}function ja(e,r,t){if(typeof r=="string"){if(Array.isArray(e)){var a=ze(r);return e[a.r]||(e[a.r]=[]),e[a.r][a.c]||(e[a.r][a.c]={t:"z"})}return e[r]||(e[r]={t:"z"})}return typeof r!="number"?ja(e,ve(r)):ja(e,ve({r,c:t||0}))}function G2(e,r){if(typeof r=="number"){if(r>=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}function Ji(){return{SheetNames:[],Sheets:{}}}function qi(e,r,t,a){var n=1;if(!t)for(;n<=65535&&e.SheetNames.indexOf(t="Sheet"+n)!=-1;++n,t=void 0);if(!t||e.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&e.SheetNames.indexOf(t)>=0){var i=t.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||t;for(++n;n<=65535&&e.SheetNames.indexOf(t=s+n)!=-1;++n);}if(qc(t),e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");return e.SheetNames.push(t),e.Sheets[t]=r,t}function $2(e,r,t){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=G2(e,r);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),t){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+t)}e.Workbook.Sheets[a].Hidden=t}function j2(e,r){return e.z=r,e}function yf(e,r,t){return r?(e.l={Target:r},t&&(e.l.Tooltip=t)):delete e.l,e}function K2(e,r,t){return yf(e,"#"+r,t)}function Y2(e,r,t){e.c||(e.c=[]),e.c.push({t:r,a:t||"SheetJS"})}function J2(e,r,t,a){for(var n=typeof r!="string"?r:Ie(r),i=typeof r=="string"?r:Ee(r),s=n.s.r;s<=n.e.r;++s)for(var c=n.s.c;c<=n.e.c;++c){var f=ja(e,s,c);f.t="n",f.F=i,delete f.v,s==n.s.r&&c==n.s.c&&(f.f=t,a&&(f.D=!0))}return e}var jt={encode_col:Ve,encode_row:Je,encode_cell:ve,encode_range:Ee,decode_col:ii,decode_row:ni,split_cell:fl,decode_cell:ze,decode_range:Cr,format_cell:ht,sheet_add_aoa:p0,sheet_add_json:Sf,sheet_add_dom:cf,aoa_to_sheet:aa,json_to_sheet:X2,table_to_sheet:ff,table_to_book:n2,sheet_to_csv:Yi,sheet_to_txt:Tf,sheet_to_json:Nn,sheet_to_html:sf,sheet_to_formulae:z2,sheet_to_row_object_array:Nn,sheet_get_cell:ja,book_new:Ji,book_append_sheet:qi,book_set_sheet_visibility:$2,cell_set_number_format:j2,cell_set_hyperlink:yf,cell_set_internal_link:K2,cell_add_comment:Y2,sheet_set_array_formula:J2,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};class Ff{static detectHeaderRows(r,t){let a=1;t!==void 0?a=t:a=this.autoDetectHeaderRows(r);const n=r.slice(0,a),i=this.filterTitleRows(n);return{headerRows:a,dataStartRow:a,effectiveHeaderRows:i}}static autoDetectHeaderRows(r){const t=Math.min(5,r.length);let a=1;const n=r[0]||[],i=r[1]||[],s=this.getNonEmptyCells(n),c=this.getNonEmptyCells(i),f=this.isTitleRow(s),o=this.isHeaderRow(c);if(f&&o)return 2;if(o&&!f)return 1;for(let l=0;l<t-1;l++){const h=r[l]||[],u=this.getNonEmptyCells(h),d=this.isTitleRow(u),p=this.isHeaderRow(u),x=this.isDataRow(u);if(d&&p)a=Math.max(a,l+2);else if(p&&!x&&l<t-2){const m=r[l+2]||[],E=this.getNonEmptyCells(m);this.isDataRow(E)||(a=Math.max(a,l+2))}}return a}static filterTitleRows(r){for(let t=0;t<r.length;t++){const a=r[t],n=this.getNonEmptyCells(a);if(n.length===1&&n[0].length>20)return r.slice(t+1)}return r}static getNonEmptyCells(r){return r.filter(t=>String(t||"").trim()!=="")}static isTitleRow(r){return r.length===1&&r[0].length>20}static isHeaderRow(r){return r.length>3}static isDataRow(r){return r.length>0&&r.some(t=>{const a=String(t||"").trim();return/^\d+$/.test(a)||/^\d{4}-\d{1,2}-\d{1,2}/.test(a)||a.length<=10})}static mergeHeaders(r,t){const a=[];for(let n=0;n<t;n++){const i=[];let s=!1;for(let c=r.length-1;c>=0;c--){const f=r[c][n],o=String(f||"").trim();o!==""?s||i.unshift(o):s=!0}a.push(i.length>0?i.join(" - "):`列${n+1}`)}return a}}function Cf(e){if(e){if(e.length===8)return"#"+e.substring(2);if(e.length===6)return"#"+e}}function q2(e,r){return{0:"#FFFFFF",1:"#000000",2:"#E7E6E6",3:"#44546A",4:"#4472C4",5:"#ED7D31",6:"#A5A5A5",7:"#FFC000",8:"#5B9BD5",9:"#70AD47"}[e]}function Ln(e){if(e){if(e.rgb)return Cf(e.rgb);if(e.argb)return Cf(e.argb);if(e.theme!==void 0)return q2(e.theme,e.tint);if(e.indexed!==void 0)return{64:"#000000",65:"#FFFFFF",8:"#000000",9:"#FFFFFF",10:"#FF0000",11:"#00FF00",12:"#0000FF",13:"#FFFF00",14:"#FF00FF",15:"#00FFFF"}[e.indexed]}}class Z2{static extractStyles(r,t,a){const n=new Map,i=t.Styles;if(!i)return;const s=i.Fonts||[],c=i.Fills||[],f=i.CellXf||[],o=jt.decode_range(r["!ref"]||"A1");for(let l=a;l<=o.e.r;l++)for(let h=o.s.c;h<=o.e.c;h++){const u=jt.encode_cell({r:l,c:h}),d=r[u];if((d==null?void 0:d.s)!==void 0){const p=this.extractCellStyle(d,s,c,f);if(p&&this.hasNonDefaultStyle(p)){const x=l-a;n.set(`${x}-${h}`,p)}}}return n.size>0?n:void 0}static extractCellStyle(r,t,a,n){var o;const i={};let s=null,c,f;if(typeof r.s=="number")s=n[r.s],c=(s==null?void 0:s.fontId)??(s==null?void 0:s.fontid),f=(s==null?void 0:s.fillId)??(s==null?void 0:s.fillid);else if(typeof r.s=="object"&&(s=r.s,c=s.fontId??s.fontid,f=s.fillId??s.fillid,s.patternType==="solid")){if(s.fgColor&&Object.keys(s.fgColor).length>0){const l=Ln(s.fgColor);l&&(i.bgColor=l)}if(!i.bgColor&&((o=s.bgColor)==null?void 0:o.indexed)!==void 0){const l=Ln(s.bgColor);l&&(i.bgColor=l)}}return s&&(this.extractFontStyle(i,c,t),this.extractFillStyle(i,f,a)),i}static extractFontStyle(r,t,a){if(t!==void 0&&a[t]){const n=a[t];if(n.color){const i=Ln(n.color);i&&i!=="#000000"&&(r.fontColor=i)}n.bold&&(r.bold=!0),n.italic&&(r.italic=!0)}}static extractFillStyle(r,t,a){if(t!==void 0&&a[t]){const n=a[t];if(n.patternType==="solid"&&n.fgColor){const i=Ln(n.fgColor);i&&(r.bgColor=i)}}}static hasNonDefaultStyle(r){return!!(r.fontColor||r.bgColor||r.bold||r.italic)}}class Q2{static extractComments(r,t){const a=new Map;return this.collectComments(r).forEach(i=>{const s=jt.decode_cell(i.r),c=s.r-t,f=s.c;if(c>=0){const o=`${c}-${f}`,l=this.cleanCommentText(i.t,i.a);a.set(o,{text:l,author:i.a})}}),a.size>0?a:void 0}static collectComments(r){let t=[];return r["!comments"]&&(t=r["!comments"]),t.length===0&&(t=this.extractCommentsFromCells(r)),t}static extractCommentsFromCells(r){const t=[];return Object.keys(r).forEach(a=>{if(!a.startsWith("!")){const n=r[a];n!=null&&n.c&&Array.isArray(n.c)&&n.c.forEach(i=>{const s=i.t||(i.r&&typeof i.r=="string"?i.r:"");s&&t.push({r:a,t:s,a:i.a})})}}),t}static cleanCommentText(r,t){let a=r;return t&&a.startsWith(t+":")&&(a=a.substring(t.length+1).trim(),a.startsWith(`
|
|
605
|
-
`)&&(a=a.substring(1))),a}}class Af{static parseBuffer(r,t={}){const{sheetIndex:a=0,headerRow:n=0,headerRows:i,mergeHeaders:s=!0,extractStyles:c=!0,extractComments:f=!0}=t,o=$a(r,{type:"array",cellStyles:!0,cellNF:!0}),l=o.SheetNames;if(a>=l.length)throw new Error(`Sheet index ${a} out of range. Available sheets: ${l.length}`);const h=o.Sheets[l[a]],u=jt.sheet_to_json(h,{header:1,defval:""});if(u.length===0)return{columns:[],records:[]};const{headerRows:d,dataStartRow:p,effectiveHeaderRows:x}=Ff.detectHeaderRows(u.slice(n),i),m=this.buildColumns(u,n,d,x,s),E=u.slice(n+p),F=c?Z2.extractStyles(h,o,n+p):void 0,g=f?Q2.extractComments(h,n+p):void 0;return{columns:m,records:E,cellStyles:F,cellComments:g}}static buildColumns(r,t,a,n,i){if(i&&a>1){const c=r.slice(t,t+a),f=Math.max(...c.map(l=>l.length));return Ff.mergeHeaders(n,f).map((l,h)=>({key:`col_${h}`,field:h,title:l,width:120,sort:!1,filter:!1}))}return(r[t]||[]).map((c,f)=>({key:`col_${f}`,field:f,title:String(c||`Column ${f+1}`),width:120,sort:!1,filter:!1}))}static parseAllSheets(r,t={}){const n=$a(r,{type:"array",cellStyles:!0,cellNF:!0}).SheetNames,i=[];for(let s=0;s<n.length;s++)try{const c=this.parseBuffer(r,{...t,sheetIndex:s});i.push({sheetName:n[s],sheetIndex:s,columns:c.columns,records:c.records,cellStyles:c.cellStyles,cellComments:c.cellComments,hasError:!1,errorCount:0})}catch(c){console.warn(`解析 Sheet "${n[s]}" 失败:`,c),i.push({sheetName:n[s],sheetIndex:s,columns:[],records:[],hasError:!0,errorCount:0})}return{sheets:i,sheetNames:n,activeSheetIndex:0}}static getSheetNames(r){return $a(r,{type:"array"}).SheetNames}}class bf{static exportToStream(r,t,a){const{filterEmptyColumns:n=!0}=a||{},i=n?this.filterEmptyColumns(r):r,s=i.map(h=>h.title||h.field||""),c=this.buildDataRows(t,r,i);console.info("exportToStream>>>dataRows",JSON.stringify(c));const f=[s,...c],o=jt.aoa_to_sheet(f),l=jt.book_new();return jt.book_append_sheet(l,o,"Sheet1"),Ef(l,{bookType:"xlsx",type:"array"})}static download(r,t="export"){const a=new Blob([r],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),n=URL.createObjectURL(a),i=document.createElement("a");i.href=n,i.download=`${t}.xlsx`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}static filterEmptyColumns(r){return r.filter(t=>{const a=t.title||t.field||"";return a&&typeof a=="string"&&a.trim()!==""})}static buildDataRows(r,t,a){return r.map(n=>Array.isArray(n)?a.map(i=>{const s=t.indexOf(i);if(s>=0&&s<n.length){const c=n[s];return this.extractCellValue(c)}return""}):a.map(i=>{const s=i.field||i.key,c=s?n[s]:void 0;return this.extractCellValue(c)}))}static extractCellValue(r){return r&&typeof r=="object"&&"value"in r?r.value:r}}async function If(e){const r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch Excel file: ${r.statusText}`);return r.arrayBuffer()}function Zi(e,r={}){return Af.parseBuffer(e,r)}async function e_(e,r={}){const t=await If(e);return Zi(t,r)}async function r_(e,r={}){const t=await n_(e);return Zi(t,r)}function t_(e,r,t){return bf.exportToStream(e,r,t)}function a_(e,r="export"){bf.download(e,r)}function n_(e){return new Promise((r,t)=>{const a=new FileReader;a.onload=n=>{var s;const i=(s=n.target)==null?void 0:s.result;r(i)},a.onerror=()=>t(new Error("Failed to read file")),a.readAsArrayBuffer(e)})}function Df(e,r={}){return Af.parseAllSheets(e,r)}async function i_(e,r={}){const t=await If(e);return Df(t,r)}class s_{constructor(r){de(this,"tableSheet",null);de(this,"findReplaceDialog",null);de(this,"toolbar",null);de(this,"sheetTabs",null);de(this,"container",null);de(this,"tableContainer",null);de(this,"toolbarContainer",null);de(this,"sheetTabsContainer",null);de(this,"loadingOverlay",null);de(this,"config");de(this,"multiSheetData",null);de(this,"resizeObserver",null);de(this,"lastObservedWidth",0);de(this,"lastObservedHeight",0);this.config={showToolbar:!0,autoResize:!1,loading:{show:!0,text:"加载中..."},...r},this.init()}init(){if(this.container=this.getContainer(this.config.container),!this.container)throw new Error("Container not found");this.createLayout(),this.config.showToolbar&&this.createToolbar(),this.createTable(),this.
|
|
605
|
+
`)&&(a=a.substring(1))),a}}class Af{static parseBuffer(r,t={}){const{sheetIndex:a=0,headerRow:n=0,headerRows:i,mergeHeaders:s=!0,extractStyles:c=!0,extractComments:f=!0}=t,o=$a(r,{type:"array",cellStyles:!0,cellNF:!0}),l=o.SheetNames;if(a>=l.length)throw new Error(`Sheet index ${a} out of range. Available sheets: ${l.length}`);const h=o.Sheets[l[a]],u=jt.sheet_to_json(h,{header:1,defval:""});if(u.length===0)return{columns:[],records:[]};const{headerRows:d,dataStartRow:p,effectiveHeaderRows:x}=Ff.detectHeaderRows(u.slice(n),i),m=this.buildColumns(u,n,d,x,s),E=u.slice(n+p),F=c?Z2.extractStyles(h,o,n+p):void 0,g=f?Q2.extractComments(h,n+p):void 0;return{columns:m,records:E,cellStyles:F,cellComments:g}}static buildColumns(r,t,a,n,i){if(i&&a>1){const c=r.slice(t,t+a),f=Math.max(...c.map(l=>l.length));return Ff.mergeHeaders(n,f).map((l,h)=>({key:`col_${h}`,field:h,title:l,width:120,sort:!1,filter:!1}))}return(r[t]||[]).map((c,f)=>({key:`col_${f}`,field:f,title:String(c||`Column ${f+1}`),width:120,sort:!1,filter:!1}))}static parseAllSheets(r,t={}){const n=$a(r,{type:"array",cellStyles:!0,cellNF:!0}).SheetNames,i=[];for(let s=0;s<n.length;s++)try{const c=this.parseBuffer(r,{...t,sheetIndex:s});i.push({sheetName:n[s],sheetIndex:s,columns:c.columns,records:c.records,cellStyles:c.cellStyles,cellComments:c.cellComments,hasError:!1,errorCount:0})}catch(c){console.warn(`解析 Sheet "${n[s]}" 失败:`,c),i.push({sheetName:n[s],sheetIndex:s,columns:[],records:[],hasError:!0,errorCount:0})}return{sheets:i,sheetNames:n,activeSheetIndex:0}}static getSheetNames(r){return $a(r,{type:"array"}).SheetNames}}class bf{static exportToStream(r,t,a){const{filterEmptyColumns:n=!0}=a||{},i=n?this.filterEmptyColumns(r):r,s=i.map(h=>h.title||h.field||""),c=this.buildDataRows(t,r,i);console.info("exportToStream>>>dataRows",JSON.stringify(c));const f=[s,...c],o=jt.aoa_to_sheet(f),l=jt.book_new();return jt.book_append_sheet(l,o,"Sheet1"),Ef(l,{bookType:"xlsx",type:"array"})}static download(r,t="export"){const a=new Blob([r],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}),n=URL.createObjectURL(a),i=document.createElement("a");i.href=n,i.download=`${t}.xlsx`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(n)}static filterEmptyColumns(r){return r.filter(t=>{const a=t.title||t.field||"";return a&&typeof a=="string"&&a.trim()!==""})}static buildDataRows(r,t,a){return r.map(n=>Array.isArray(n)?a.map(i=>{const s=t.indexOf(i);if(s>=0&&s<n.length){const c=n[s];return this.extractCellValue(c)}return""}):a.map(i=>{const s=i.field||i.key,c=s?n[s]:void 0;return this.extractCellValue(c)}))}static extractCellValue(r){return r&&typeof r=="object"&&"value"in r?r.value:r}}async function If(e){const r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch Excel file: ${r.statusText}`);return r.arrayBuffer()}function Zi(e,r={}){return Af.parseBuffer(e,r)}async function e_(e,r={}){const t=await If(e);return Zi(t,r)}async function r_(e,r={}){const t=await n_(e);return Zi(t,r)}function t_(e,r,t){return bf.exportToStream(e,r,t)}function a_(e,r="export"){bf.download(e,r)}function n_(e){return new Promise((r,t)=>{const a=new FileReader;a.onload=n=>{var s;const i=(s=n.target)==null?void 0:s.result;r(i)},a.onerror=()=>t(new Error("Failed to read file")),a.readAsArrayBuffer(e)})}function Df(e,r={}){return Af.parseAllSheets(e,r)}async function i_(e,r={}){const t=await If(e);return Df(t,r)}class s_{constructor(r){de(this,"tableSheet",null);de(this,"findReplaceDialog",null);de(this,"toolbar",null);de(this,"sheetTabs",null);de(this,"container",null);de(this,"tableContainer",null);de(this,"toolbarContainer",null);de(this,"sheetTabsContainer",null);de(this,"loadingOverlay",null);de(this,"config");de(this,"multiSheetData",null);de(this,"timers",[]);de(this,"resizeObserver",null);de(this,"lastObservedWidth",0);de(this,"lastObservedHeight",0);this.config={showToolbar:!0,autoResize:!1,loading:{show:!0,text:"加载中..."},...r},this.init()}init(){if(this.container=this.getContainer(this.config.container),!this.container)throw new Error("Container not found");if(this.createLayout(),this.config.showToolbar&&this.createToolbar(),this.injectStyles(),this.createTable(),this.config.showSheets===!1&&this.container){this.container.classList.add("hide-native-sheet-tab");const r=setTimeout(()=>{this.container&&this.container.querySelectorAll(".vtable-sheet-tab-bar").forEach(n=>{n.style.display="none"});const t=this.timers.indexOf(r);t>-1&&this.timers.splice(t,1)},0);this.timers.push(r)}!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar"),this.createFindReplaceDialog(),this.config.autoResize&&this.enableAutoResize()}getContainer(r){return typeof r=="string"?document.getElementById(r)||document.querySelector(r):r}createLayout(){this.container&&(this.container.innerHTML="",this.container.className="sl-table-sheet-wrapper",this.container.style.display="flex",this.container.style.flexDirection="column",this.config.showToolbar&&(this.toolbarContainer=document.createElement("div"),this.container.appendChild(this.toolbarContainer)),this.config.showTabs!==!1&&(this.sheetTabsContainer=document.createElement("div"),this.sheetTabsContainer.className="sl-sheet-tabs-container",this.container.appendChild(this.sheetTabsContainer)),this.tableContainer=document.createElement("div"),this.tableContainer.className="sl-table-container",this.tableContainer.style.flex="1",this.tableContainer.style.minHeight="0",this.tableContainer.style.overflow="hidden",this.container.appendChild(this.tableContainer),this.loadingOverlay=document.createElement("div"),this.loadingOverlay.className="sl-loading-overlay",this.loadingOverlay.innerHTML=`
|
|
606
606
|
<div class="sl-loading-spinner">
|
|
607
607
|
<div class="sl-spinner"></div>
|
|
608
608
|
<span class="sl-loading-text">加载中...</span>
|
|
@@ -628,8 +628,9 @@
|
|
|
628
628
|
/* 当不显示公式栏时,隐藏顶部容器 */
|
|
629
629
|
.sl-table-sheet-wrapper.hide-formula-bar .vtable-sheet-top-container {
|
|
630
630
|
height: 0;
|
|
631
|
-
border: none;
|
|
631
|
+
border: none !important;
|
|
632
632
|
overflow: hidden;
|
|
633
|
+
|
|
633
634
|
}
|
|
634
635
|
/* Loading 遮罩层样式 */
|
|
635
636
|
.sl-loading-overlay {
|
|
@@ -666,4 +667,4 @@
|
|
|
666
667
|
color: #666;
|
|
667
668
|
font-size: 14px;
|
|
668
669
|
}
|
|
669
|
-
`,document.head.appendChild(r),this.container&&(this.config.showTabs!==!1&&this.container.classList.add("hide-native-sheet-tab"),this.config.showSheets===!1&&this.container.classList.add("hide-native-sheet-tab")),!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar")}updateTitleStats(r,t){console.warn("updateTitleStats 已废弃,请使用 leftSlot 自定义标题内容")}getTableSheet(){return this.tableSheet}getTableInstance(){var r;return(r=this.tableSheet)==null?void 0:r.getTableInstance()}getFindReplaceDialog(){return this.findReplaceDialog}setFindReplaceSelectedColumnsOnly(r){this.findReplaceDialog&&this.findReplaceDialog.setSelectedColumnsOnly(r)}updateData(r){var t;(t=this.tableSheet)==null||t.updateData(r)}updateColumns(r){var t;(t=this.tableSheet)==null||t.updateColumns(r)}exportData(r="csv"){var t;return(t=this.tableSheet)==null?void 0:t.exportData(r)}exportToExcelStream(r){var n;const t=this.config.columns||[],a=((n=this.tableSheet)==null?void 0:n.getAllRecords())||this.config.records||[];return t_(t,a,r)}downloadExcel(r="export"){const t=this.exportToExcelStream();a_(t,r)}showLoading(r){var t;if(this.loadingOverlay){const a=this.loadingOverlay.querySelector(".sl-loading-text");a&&(a.textContent=r??((t=this.config.loading)==null?void 0:t.text)??"加载中..."),this.loadingOverlay.style.display="flex"}}hideLoading(){this.loadingOverlay&&(this.loadingOverlay.style.display="none")}setLoading(r,t){r?this.showLoading(t):this.hideLoading()}async loadExcelFromUrl(r,t={}){var c;const{autoDisplay:a=!0,showLoading:n=((c=this.config.loading)==null?void 0:c.show)??!0,loadingText:i="加载 Excel 文件...",...s}=t;n&&this.showLoading(i);try{const f=await e_(r,s);return this.handleExcelImportResult(f,a),f}finally{n&&this.hideLoading()}}parseExcelBuffer(r,t={}){const{autoDisplay:a=!0,...n}=t,i=Zi(r,n);return this.handleExcelImportResult(i,a),i}async parseExcelFile(r,t={}){const{autoDisplay:a=!0,...n}=t,i=await r_(r,n);return this.handleExcelImportResult(i,a),i}mergeCommentsToRecords(r,t){return!t||t.size===0?r:r.map((a,n)=>a.map((i,s)=>{const c=t.get(`${n}-${s}`);return c?{value:i,isMarked:!0,comment:c.text||""}:i}))}processDataWithStyles(r,t){const{displayRecords:a,markedMap:n}=Bn.processRecords(t,r);return{styledColumns:ss.initColumns(r,n),processedRecords:a,markedMap:n}}handleExcelImportResult(r,t){var i,s;const a=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:n}=this.processDataWithStyles(r.columns,a);this.config.columns=n,this.config.records=a,t&&this.tableSheet&&this.recreateTable(n,a),(s=(i=this.config).onExcelImport)==null||s.call(i,r)}recreateTable(r,t){this.tableSheet&&(this.tableSheet.destroy(),this.tableSheet=null);const{displayRecords:a,markedMap:n}=Bn.processRecords(t,r);this.tableSheet=new ns({container:this.tableContainer,columns:r,records:a,showFormulaBar:this.config.showFormulaBar,showSheets:this.config.showSheets,sheets:this.config.sheets,editors:this.config.editors,customComponents:this.config.customComponents,options:this.config.options,onCellChange:this.config.onCellChange},n),this.updateFindReplaceTableInstance()}updateFindReplaceTableInstance(){var t;const r=(t=this.tableSheet)==null?void 0:t.getTableInstance();r&&this.findReplaceDialog&&this.findReplaceDialog.setTableInstance(r)}refresh(){var r;(r=this.tableSheet)==null||r.refresh()}on(r,t){var a;(a=this.tableSheet)==null||a.on(r,t)}off(r,t){var a;(a=this.tableSheet)==null||a.off(r,t)}getToolbar(){return this.toolbar}destroy(){var r,t,a,n;this.disableAutoResize(),(r=this.toolbar)==null||r.destroy(),(t=this.findReplaceDialog)==null||t.destroy(),(a=this.tableSheet)==null||a.destroy(),(n=this.sheetTabs)==null||n.destroy(),this.container&&(this.container.innerHTML=""),this.toolbar=null,this.tableSheet=null,this.findReplaceDialog=null,this.sheetTabs=null,this.container=null,this.tableContainer=null,this.toolbarContainer=null,this.sheetTabsContainer=null,this.multiSheetData=null}async loadAllSheetsFromUrl(r,t={}){var s;const{showLoading:a=((s=this.config.loading)==null?void 0:s.show)??!0,loadingText:n="加载 Excel 文件...",...i}=t;a&&this.showLoading(n);try{const c=await i_(r,i);return this.handleMultiSheetImportResult(c),c}finally{a&&this.hideLoading()}}parseAllSheets(r,t={}){const a=Df(r,t);return this.handleMultiSheetImportResult(a),a}handleMultiSheetImportResult(r){var t,a;this.multiSheetData=r,this.config.showTabs!==!1&&this.sheetTabsContainer&&r.sheets.length>1&&this.createSheetTabs(r.sheets),r.sheets.length>0&&this.displaySheetData(r.sheets[0]),(a=(t=this.config).onMultiSheetImport)==null||a.call(t,r)}createSheetTabs(r){this.sheetTabsContainer&&(this.sheetTabs&&this.sheetTabs.destroy(),this.sheetTabs=new Yf({container:this.sheetTabsContainer,sheets:r,activeIndex:0,onTabChange:(t,a)=>{var n,i;this.displaySheetData(t),(i=(n=this.config).onSheetChange)==null||i.call(n,t,a)}}))}displaySheetData(r){const t=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:a}=this.processDataWithStyles(r.columns,t);this.config.columns=a,this.config.records=t,this.recreateTable(a,t)}updateSheetError(r,t){this.sheetTabs&&this.sheetTabs.updateSheetError(r,t),this.multiSheetData&&this.multiSheetData.sheets[r]&&(this.multiSheetData.sheets[r].errorCount=t,this.multiSheetData.sheets[r].hasError=t>0)}getActiveSheetIndex(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveIndex())??0}getActiveSheetData(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveSheet())??null}getAllSheetsData(){return this.multiSheetData}switchToSheet(r){this.sheetTabs&&this.sheetTabs.setActiveTab(r)}getSheetTabs(){return this.sheetTabs}}yr.default=s_,Object.defineProperties(yr,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
670
|
+
`,document.head.appendChild(r),this.container&&(this.config.showTabs!==!1&&this.container.classList.add("hide-native-sheet-tab"),this.config.showSheets===!1&&this.container.classList.add("hide-native-sheet-tab")),!this.config.showFormulaBar&&this.container&&this.container.classList.add("hide-formula-bar")}updateTitleStats(r,t){console.warn("updateTitleStats 已废弃,请使用 leftSlot 自定义标题内容")}getTableSheet(){return this.tableSheet}getTableInstance(){var r;return(r=this.tableSheet)==null?void 0:r.getTableInstance()}getFindReplaceDialog(){return this.findReplaceDialog}setFindReplaceSelectedColumnsOnly(r){this.findReplaceDialog&&this.findReplaceDialog.setSelectedColumnsOnly(r)}updateData(r){var t;(t=this.tableSheet)==null||t.updateData(r)}updateColumns(r){var t;(t=this.tableSheet)==null||t.updateColumns(r)}exportData(r="csv"){var t;return(t=this.tableSheet)==null?void 0:t.exportData(r)}exportToExcelStream(r){var n;const t=this.config.columns||[],a=((n=this.tableSheet)==null?void 0:n.getAllRecords())||this.config.records||[];return t_(t,a,r)}downloadExcel(r="export"){const t=this.exportToExcelStream();a_(t,r)}showLoading(r){var t;if(this.loadingOverlay){const a=this.loadingOverlay.querySelector(".sl-loading-text");a&&(a.textContent=r??((t=this.config.loading)==null?void 0:t.text)??"加载中..."),this.loadingOverlay.style.display="flex"}}hideLoading(){this.loadingOverlay&&(this.loadingOverlay.style.display="none")}setLoading(r,t){r?this.showLoading(t):this.hideLoading()}async loadExcelFromUrl(r,t={}){var c;const{autoDisplay:a=!0,showLoading:n=((c=this.config.loading)==null?void 0:c.show)??!0,loadingText:i="加载 Excel 文件...",...s}=t;n&&this.showLoading(i);try{const f=await e_(r,s);return this.handleExcelImportResult(f,a),f}finally{n&&this.hideLoading()}}parseExcelBuffer(r,t={}){const{autoDisplay:a=!0,...n}=t,i=Zi(r,n);return this.handleExcelImportResult(i,a),i}async parseExcelFile(r,t={}){const{autoDisplay:a=!0,...n}=t,i=await r_(r,n);return this.handleExcelImportResult(i,a),i}mergeCommentsToRecords(r,t){return!t||t.size===0?r:r.map((a,n)=>a.map((i,s)=>{const c=t.get(`${n}-${s}`);return c?{value:i,isMarked:!0,comment:c.text||""}:i}))}processDataWithStyles(r,t){const{displayRecords:a,markedMap:n}=Bn.processRecords(t,r);return{styledColumns:ss.initColumns(r,n),processedRecords:a,markedMap:n}}handleExcelImportResult(r,t){var i,s;const a=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:n}=this.processDataWithStyles(r.columns,a);this.config.columns=n,this.config.records=a,t&&this.tableSheet&&this.recreateTable(n,a),(s=(i=this.config).onExcelImport)==null||s.call(i,r)}recreateTable(r,t){this.tableSheet&&(this.tableSheet.destroy(),this.tableSheet=null);const{displayRecords:a,markedMap:n}=Bn.processRecords(t,r);this.tableSheet=new ns({container:this.tableContainer,columns:r,records:a,showFormulaBar:this.config.showFormulaBar,showSheets:this.config.showSheets,sheets:this.config.sheets,editors:this.config.editors,customComponents:this.config.customComponents,options:this.config.options,onCellChange:this.config.onCellChange},n),this.updateFindReplaceTableInstance()}updateFindReplaceTableInstance(){var t;const r=(t=this.tableSheet)==null?void 0:t.getTableInstance();r&&this.findReplaceDialog&&this.findReplaceDialog.setTableInstance(r)}refresh(){var r;(r=this.tableSheet)==null||r.refresh()}on(r,t){var a;(a=this.tableSheet)==null||a.on(r,t)}off(r,t){var a;(a=this.tableSheet)==null||a.off(r,t)}getToolbar(){return this.toolbar}destroy(){var r,t,a,n;this.timers.forEach(i=>clearTimeout(i)),this.timers=[],this.disableAutoResize(),(r=this.toolbar)==null||r.destroy(),(t=this.findReplaceDialog)==null||t.destroy(),(a=this.tableSheet)==null||a.destroy(),(n=this.sheetTabs)==null||n.destroy(),this.container&&(this.container.classList.remove("hide-native-sheet-tab","hide-formula-bar"),this.container.innerHTML=""),this.toolbar=null,this.tableSheet=null,this.findReplaceDialog=null,this.sheetTabs=null,this.container=null,this.tableContainer=null,this.toolbarContainer=null,this.sheetTabsContainer=null,this.multiSheetData=null}async loadAllSheetsFromUrl(r,t={}){var s;const{showLoading:a=((s=this.config.loading)==null?void 0:s.show)??!0,loadingText:n="加载 Excel 文件...",...i}=t;a&&this.showLoading(n);try{const c=await i_(r,i);return this.handleMultiSheetImportResult(c),c}finally{a&&this.hideLoading()}}parseAllSheets(r,t={}){const a=Df(r,t);return this.handleMultiSheetImportResult(a),a}handleMultiSheetImportResult(r){var t,a;this.multiSheetData=r,this.config.showTabs!==!1&&this.sheetTabsContainer&&r.sheets.length>1&&this.createSheetTabs(r.sheets),r.sheets.length>0&&this.displaySheetData(r.sheets[0]),(a=(t=this.config).onMultiSheetImport)==null||a.call(t,r)}createSheetTabs(r){this.sheetTabsContainer&&(this.sheetTabs&&this.sheetTabs.destroy(),this.sheetTabs=new Yf({container:this.sheetTabsContainer,sheets:r,activeIndex:0,onTabChange:(t,a)=>{var n,i;this.displaySheetData(t),(i=(n=this.config).onSheetChange)==null||i.call(n,t,a)}}))}displaySheetData(r){const t=this.mergeCommentsToRecords(r.records,r.cellComments),{styledColumns:a}=this.processDataWithStyles(r.columns,t);this.config.columns=a,this.config.records=t,this.recreateTable(a,t)}updateSheetError(r,t){this.sheetTabs&&this.sheetTabs.updateSheetError(r,t),this.multiSheetData&&this.multiSheetData.sheets[r]&&(this.multiSheetData.sheets[r].errorCount=t,this.multiSheetData.sheets[r].hasError=t>0)}getActiveSheetIndex(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveIndex())??0}getActiveSheetData(){var r;return((r=this.sheetTabs)==null?void 0:r.getActiveSheet())??null}getAllSheetsData(){return this.multiSheetData}switchToSheet(r){this.sheetTabs&&this.sheetTabs.setActiveTab(r)}getSheetTabs(){return this.sheetTabs}}yr.default=s_,Object.defineProperties(yr,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|