@sheetxl/studio-vanilla 0.4.7 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/browser/cjs/{DPgVQdCYWI3fGYJ2.cjs → 3GhIDU8JK1oBJrCA.cjs} +2 -2
- package/browser/cjs/{D5I2M8yOTfapq6d7.cjs → 5hPVyVAXmITQCRAG.cjs} +2 -2
- package/browser/cjs/{C14PMFhYpGUhrvq1.cjs → 7PlrLPQx1lct0mdN.cjs} +1 -1
- package/browser/cjs/B4K6KuggSdXj-V8g.cjs +6 -0
- package/browser/cjs/B5Qc3gXLEhscRsFm.cjs +12 -0
- package/browser/cjs/{Bgl5W-fCpnnnO3_F.cjs → B7eW1GQgFvphlLGY.cjs} +2 -2
- package/browser/cjs/{B0pcLInszgzhrjui.cjs → BQPFxJ77OaD_sBIX.cjs} +2 -2
- package/browser/cjs/{BC9xtBySc8rix4-F.cjs → Ba3O1f0NYbzEwNAd.cjs} +1 -1
- package/browser/cjs/{BC5f5sl2pjp8FYIk.cjs → BoojmbbjqixMVu2H.cjs} +2 -2
- package/browser/cjs/{D8WkJStmUKY23vEC.cjs → CSGVl8EBCRhxcFm1.cjs} +1 -1
- package/browser/cjs/CalnqtYH48_x2rcI.cjs +301 -0
- package/browser/cjs/{Clp5qh0fApIxsE35.cjs → CjDsO4sQWUHbIX1N.cjs} +2 -2
- package/browser/cjs/{DE5MhliNUlcqzd9C.cjs → CsCaFaiySArzEfdH.cjs} +3 -3
- package/browser/cjs/{C73dxZSAw05vqEtJ.cjs → D6AUUY9awlTRjjqd.cjs} +1 -1
- package/browser/cjs/{DDFDUxH5Mew5rcdT.cjs → D8lN5Mv3J4SwSpLP.cjs} +1 -1
- package/browser/cjs/{HCih5BN1MZGUuqGG.cjs → D9RQ5oYv7U38wSI7.cjs} +6 -6
- package/browser/cjs/{CQAkk0gbl342HFs-.cjs → DCd2rPNFkSHDaRcM.cjs} +1 -1
- package/browser/cjs/DGQrcBvjSGwwoZEv.cjs +6 -0
- package/browser/cjs/{DNQqhDlfagjGC2sO.cjs → DIXyMJKaeCGuWxjZ.cjs} +2 -2
- package/browser/cjs/{BKUcozo2wEv2ay2w.cjs → Dmw7xaaV85s72QZe.cjs} +1 -1
- package/browser/cjs/{DGlLxziqSNTW0c6v.cjs → DzCXPcqV1oKbCcLO.cjs} +1 -1
- package/browser/cjs/{BBuQH_geF9Xg5HPn.cjs → EoaX6dPoS-Mb-ITO.cjs} +4 -4
- package/browser/cjs/Y6OgkWqbIB761o5q.cjs +6 -0
- package/browser/cjs/{DUrNYTSMA5KQTG77.cjs → gbABnN2zW1kHo3_I.cjs} +8 -8
- package/browser/cjs/index.cjs +2 -2
- package/browser/cjs/{DyQffD3gRWH5-nOp.cjs → kfV5Cli9oE9IsCtx.cjs} +2 -2
- package/browser/cjs/{00LGtBNvHHqHMD_7.cjs → nURb18uhj9rScsHa.cjs} +2 -2
- package/browser/esm/{t16pmig4Yv-yOK3J.mjs → 2NQDbhor1Nuzndgq.mjs} +1 -1
- package/browser/esm/{IhAvisOcXUTXM4fs.mjs → 4aC35Q2XPOwifBRR.mjs} +1 -1
- package/browser/esm/{fLUOP3GBZp9qFVpK.mjs → 5zFDFBAgT-aPgQQ0.mjs} +1 -1
- package/browser/esm/{DQj7TIf3hkBsvgpu.mjs → B3I_TrFN_pAK5Mdh.mjs} +2 -2
- package/{cdn/assets/CSnM9G1CZ81wivjo.js → browser/esm/BD9GKsR-k4aEK2tx.mjs} +1 -1
- package/browser/esm/{DCLOetlYWQ4f6912.mjs → BQpsMTJvguy6LMIq.mjs} +5 -5
- package/browser/esm/{BssMWXVsjFZUIbK_.mjs → BfCWogOnq8R-c3dD.mjs} +2 -2
- package/browser/esm/BkGQPKMRPIVUVTLO.mjs +944 -0
- package/{cdn/assets/CzeybhBUMRs64-Mp.js → browser/esm/C81J50HcankGTOIj.mjs} +1 -1
- package/browser/esm/{CxesFvTfE_FHHeOa.mjs → CO_s27056nua6qzN.mjs} +1 -1
- package/browser/esm/{DnEhhjrb_iK5ugui.mjs → CPEjlDUTxckVS1rp.mjs} +2 -2
- package/browser/esm/{DE0B_sDQJ2uyFacb.mjs → CY7astxzrfb7uZqy.mjs} +26 -26
- package/{cdn/assets/CGL2dNgGZEziA1cG.js → browser/esm/CZVzRhflTpwAAl1o.mjs} +8 -8
- package/browser/esm/{BepIgOjpel6ND31E.mjs → CaWZXQsmKl4hTNq5.mjs} +16 -16
- package/{cdn/assets/CHsVgElx78EEmCPY.js → browser/esm/CxcLNXXaxyFyUzyb.mjs} +1 -1
- package/{cdn/assets/Cjl-eP68w6LXe0zR.js → browser/esm/D0icxW0WVNoeVRLH.mjs} +5 -5
- package/browser/esm/{f7jo5w0h4-vNZtjZ.mjs → DFQvqk5r1uf_z0h_.mjs} +10886 -10877
- package/{cdn/assets/CNdoHnLQKWWUIXFN.js → browser/esm/DRL5s4S0fIXi1aU7.mjs} +2 -2
- package/browser/esm/{B6OcmPVBCjTZiEO8.mjs → DRmeb1VC4YCzKKWd.mjs} +1 -1
- package/browser/esm/{D03_7nbUXeSyElQe.mjs → DTwhl4v5YnZrUSgI.mjs} +5 -5
- package/browser/esm/{C8PrD3vZULKFp7HL.mjs → DmpPAs6w-XNWGTIN.mjs} +3 -3
- package/{cdn/assets/D7ubLFCJK5RzTJOF.js → browser/esm/Dx-GS3XDBkRaMNG-.mjs} +20 -20
- package/browser/esm/{CrnqRK0Y_R59nkb0.mjs → V5CA7xqGOB7-Qx4Y.mjs} +6 -6
- package/browser/esm/{DJBqN2bozSAMAOUl.mjs → gsfI5CGYr7LCQxRx.mjs} +2 -2
- package/browser/esm/index.mjs +2 -2
- package/browser/esm/{bMPbHealpRV0cNsU.mjs → tOBqasyBAnd7O4qE.mjs} +5 -5
- package/browser/esm/{CdbRlOwSBEqFzw-Q.mjs → tPrnEcHW_czJDZOT.mjs} +8 -8
- package/cdn/assets/{t16pmig4Yv-yOK3J.js → 2NQDbhor1Nuzndgq.js} +1 -1
- package/cdn/assets/{IhAvisOcXUTXM4fs.js → 4aC35Q2XPOwifBRR.js} +1 -1
- package/cdn/assets/{fLUOP3GBZp9qFVpK.js → 5zFDFBAgT-aPgQQ0.js} +1 -1
- package/cdn/assets/{B-7gpSVkQWekyOlk.js → B0w_moB3pDJd-a6V.js} +5 -5
- package/{browser/esm/CSnM9G1CZ81wivjo.mjs → cdn/assets/BD9GKsR-k4aEK2tx.js} +1 -1
- package/{browser/esm/C3vvXeb_u4RQddV1.mjs → cdn/assets/BJVOhUH_XL03H6ZD.js} +8 -8
- package/cdn/assets/{BWyjsqZ8W7LRq-2H.js → BWJOkXXB6Tr-jYUS.js} +16 -16
- package/cdn/assets/{DPdbTtHJ9qzLqsDN.js → BapFqJyAb3cblvJM.js} +2 -2
- package/cdn/assets/{CRv8MUg-_zmoKFIt.js → Bg88bG-JM9EHeyYX.js} +2 -2
- package/{browser/esm/CzeybhBUMRs64-Mp.mjs → cdn/assets/C81J50HcankGTOIj.js} +1 -1
- package/cdn/assets/{CxesFvTfE_FHHeOa.js → CO_s27056nua6qzN.js} +1 -1
- package/cdn/assets/{BFDNPYBEj2T1cP38.js → CXa9u-7w14dyPYxk.js} +3 -3
- package/cdn/assets/{ChAbZK53mfolDCTD.js → CkcETdiKdTsZAzma.js} +6 -6
- package/{browser/esm/CHsVgElx78EEmCPY.mjs → cdn/assets/CxcLNXXaxyFyUzyb.js} +1 -1
- package/cdn/assets/{DucOHAWR0Drvzaz2.js → D0PaU6F-TNaTWj-a.js} +5 -5
- package/cdn/assets/{BKMHTFN6LTvRZnlS.js → D4hoypx6_sZbvrC_.js} +2 -2
- package/cdn/assets/{BPKaeP61qs19hdJx.js → D5exf1RvCqvUoJ3X.js} +26 -26
- package/cdn/assets/{CUqr4I0B5RzMvyfH.js → DKLitAhDj5Ibh2cc.js} +11896 -11887
- package/{browser/esm/CNdoHnLQKWWUIXFN.mjs → cdn/assets/DRL5s4S0fIXi1aU7.js} +2 -2
- package/cdn/assets/{B6OcmPVBCjTZiEO8.js → DRmeb1VC4YCzKKWd.js} +1 -1
- package/{browser/esm/CnL3YzjxBxFK7qfL.mjs → cdn/assets/DYkBvlMlZjOASUJs.js} +5 -5
- package/{browser/esm/DfczJdsv--tsazCR.mjs → cdn/assets/ON5--a75QdEU99y_.js} +20 -20
- package/cdn/assets/{CB496hBmWELULf2f.js → PIZDjyqIbvmHXs1T.js} +5 -5
- package/cdn/assets/{CvfZjHPPpLdHBSRa.js → TOkIJFYhNg78FdJa.js} +2 -2
- package/cdn/assets/{D8lNg-ZFq3SVt0qa.js → b9dlFmoFz8tJhV0Z.js} +8 -8
- package/cdn/assets/d1PG-QPA1GcQ_RuH.js +944 -0
- package/cdn/index.js +24 -24
- package/cdn/loader.js +2 -2
- package/package.json +3 -3
- package/types/index.d.ts +8 -8
- package/browser/cjs/BO0CySmcqi-pkV4p.cjs +0 -6
- package/browser/cjs/BoG6Gi-uqIbSJdRv.cjs +0 -12
- package/browser/cjs/DD6f8EPYnuPb41GO.cjs +0 -6
- package/browser/cjs/DsuUTTVqL23hXXxq.cjs +0 -6
- package/browser/cjs/Dva96jeug6x2xYZm.cjs +0 -301
- package/browser/esm/6w21A0XUkGBQu8-3.mjs +0 -940
- package/cdn/assets/CHZP9CrMHXri-Ghe.js +0 -940
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ This package includes a **live development server** that acts like a CDN for rap
|
|
|
41
41
|
import { SheetXL } from 'https://esm.sh/@sheetxl/studio-vanilla';
|
|
42
42
|
|
|
43
43
|
// Your code here
|
|
44
|
-
await SheetXL.
|
|
44
|
+
await SheetXL.attachStudio('#sheetxl');
|
|
45
45
|
</script>
|
|
46
46
|
```
|
|
47
47
|
|
|
@@ -69,7 +69,7 @@ For instant, no-build-step integration, add the following HTML snippet to your p
|
|
|
69
69
|
<body>
|
|
70
70
|
<div id="container" style="height: 600px; width: 100%;"></div>
|
|
71
71
|
<script type="module">
|
|
72
|
-
(await import("https://unpkg.com/@sheetxl/studio-vanilla")).SheetXL.
|
|
72
|
+
(await import("https://unpkg.com/@sheetxl/studio-vanilla")).SheetXL.attachStudio("#container");
|
|
73
73
|
</script>
|
|
74
74
|
</body>
|
|
75
75
|
</html>
|
|
@@ -93,5 +93,5 @@ After installation, you can import and use the SheetXL.attach method.
|
|
|
93
93
|
import { SheetXL } from '@sheetxl/studio-vanilla';
|
|
94
94
|
|
|
95
95
|
// The attach method will render the spreadsheet into the specified DOM element.
|
|
96
|
-
SheetXL.
|
|
96
|
+
SheetXL.attachStudio("#your-container-element-id");
|
|
97
97
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),x=require("react"),t=require("@sheetxl/sdk"),n=require("./
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),x=require("react"),t=require("@sheetxl/sdk"),n=require("./CalnqtYH48_x2rcI.cjs"),c=({range:d,options:a,cell:b,onDone:s,...C})=>{const[i,l]=x.useState(a??t.Sort.DefaultRangeOptions),u=n.fe(e=>{let r=null;e==="Sort"&&(r={...a,options:i}),s?.(r)},[i,s,a]);return o.jsx(n.b4,{title:"Sort",options:["Sort","Cancel"],onDone:u,...C,children:o.jsxs(n.Box,{sx:{display:"flex",flexDirection:"column"},children:[o.jsx(n.FormControlLabel,{control:o.jsx(n.Checkbox,{checked:!i.reverse,onChange:()=>l(e=>({...e,reverse:!e.reverse}))}),label:"Is Ascending",labelPlacement:"end"}),o.jsx(n.FormControlLabel,{control:o.jsx(n.Checkbox,{checked:i.hasHeader,onChange:()=>l(e=>({...e,hasHeader:!e.hasHeader}))}),label:"Has Header",labelPlacement:"end"}),o.jsx(n.FormControlLabel,{control:o.jsx(n.Checkbox,{checked:i.collatorOptions?.sensitivity===t.Sort.CaseSensitiveOptions.sensitivity,onChange:()=>l(e=>({...e,collatorOptions:i.collatorOptions?.sensitivity===t.Sort.CaseSensitiveOptions.sensitivity?t.Sort.CaseInsensitiveOptions:t.Sort.CaseSensitiveOptions}))}),label:"Case Sensitive",labelPlacement:"end"}),o.jsx(n.FormControlLabel,{control:o.jsx(n.Checkbox,{checked:i.orientation===t.IRange.Orientation.Row,onChange:()=>l(e=>{const r=e.orientation===t.IRange.Orientation.Row?t.IRange.Orientation.Column:t.IRange.Orientation.Row;return{...d.getDefaultSortCriteria(r,b).options,includeHidden:e.includeHidden,reverse:e.reverse,orientation:r}})}),label:"Row Sort",labelPlacement:"end"}),o.jsx(n.FormControlLabel,{control:o.jsx(n.Checkbox,{checked:i.includeHidden,onChange:()=>l(e=>({...e,includeHidden:!e.includeHidden}))}),label:"Include Hidden",labelPlacement:"end"})]})})};exports.SortDialog=c,exports.default=c;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),a=require("react"),n=require("./
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),a=require("react"),n=require("./CalnqtYH48_x2rcI.cjs"),L=["Input"],N=a.memo(a.forwardRef((y,O)=>{const{initialValue:b="",onOption:k,onValidateOption:l,onInputOption:s,onValidateInputOption:r,onDone:u,inputProps:c,inputLabel:T,inputType:w,inputPlaceHolder:F,options:d=L,autoFocusSel:S=".autoFocus",cancelOption:g,defaultOption:f=d?.[0],...P}=y,[v,C]=a.useState(!1),[e,I]=a.useState(b),[j,V]=a.useState(""),[q,B]=a.useState(!0),i=n.kn(async(t,o)=>{if(!r)return!0;const h=await r?.(t,o);V(h?.message??"");const x=h?.valid??!0;return B(x),x},[r]),m=n.kn(async t=>{s?.(e,t)},[e,s,u,k,g,f]),D=n.kn(async t=>{t.keyCode===n.ir.Enter&&await i?.(e,null)},[e,m]),M=n.kn(t=>{I(t.target.value),i?.(t.target.value,null)},[l]),H=n.kn(async t=>{let o=await i(e,t);try{o!==!1&&(o=await i(e,t))}catch{}return o??!0},[e,l]);return p.jsx(n.b4,{options:d,onDone:u,onOption:(t,o)=>{o||m(t)},onValidateOption:H,cancelOption:g,defaultOption:f,autoFocusSel:S,ref:O,...P,children:p.jsx(n.Box,{sx:{paddingTop:t=>t.spacing(1),paddingBottom:t=>t.spacing(0)},children:p.jsx(n.FormControl,{sx:{paddingTop:t=>t.spacing(1.5),minWidth:135,width:"100%"},size:"small",children:p.jsx(n.TextField,{onFocus:t=>{v||t.target?.select(),C(!0)},type:w,label:T,helperText:j||" ",sx:{width:"100%","& .MuiFormHelperText-root":{marginTop:t=>t.spacing(.5),color:q?void 0:"error.main"}},InputLabelProps:{shrink:!0},InputProps:{inputProps:{placeholder:F,spellCheck:!1,autoComplete:"off",...c,className:n.Go("autoFocus",c?.className),sx:{paddingTop:t=>t.spacing(1.25),paddingBottom:t=>t.spacing(.75),backgroundImage:`linear-gradient(${n.alpha("#fff",n.Yb(5))}, ${n.alpha("#fff",n.Yb(5))})`}}},value:e,onChange:M,onKeyDown:D,onContextMenu:t=>{t.stopPropagation()}})})})})}));exports.default=N;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("react"),t=require("./CalnqtYH48_x2rcI.cjs"),h=a.memo(p=>{const{title:f,onHide:y,autoFocusSel:b=".range-input input",context:j,notifier:l=t.bu,command:r,commands:c,...S}=p,[w,d]=a.useState(!1),[g,x]=a.useState(!1),m=a.useRef(null),[F,C]=a.useReducer(e=>e+1,0),[v,{width:H}]=t.gc();t.Ji(r);const i=j??r.context(),o=i.table(),[B,R]=a.useState(()=>o?i.getNames().getRanges(o.getRange()):null),N=a.useMemo(()=>o?.getName()??"",[o]);t.cn(i.table(),{onAnchorCoordsChange(e){R(i.getNames().getRanges(e.getRange()))},onProtectedChange(e){C()}});const T=t.fe(e=>{i?.table().setName(e)},[i]),D=t.fe(e=>{i?.table().resize(e.at(0))},[i]);let u=null;return i.table()||(u=n.jsx("div",{style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",opacity:1,display:"flex",alignItems:"center",justifyItems:"center",justifyContent:"center",boxSizing:"border-box"},children:n.jsx("div",{children:"No table selected"})})),n.jsx(t.lS,{ref:m,title:f??"Table Details",initialPosition:{y:"35"},autoFocusSel:b,onHide:y,onFocus:()=>d(!0),onBlur:e=>{m?.current?.contains(e.relatedTarget)||d(!1)},PaperProps:{elevation:w?3:1},...S,children:n.jsxs(t.DialogContent,{dividers:!0,ref:v,sx:{display:"flex",flexDirection:"column",position:"relative",paddingLeft:e=>e.spacing(1.5),paddingRight:e=>e.spacing(1.5)},children:[n.jsxs(t.Box,{sx:{display:"flex",flexDirection:"column",transition:"opacity 60ms",opacity:i.table()?1:0},children:[n.jsx(t.Box,{sx:{display:"flex",flexDirection:"row",gap:e=>e.spacing(1)},children:n.jsx(t.Box,{sx:{display:"flex",flexDirection:"column",maxWidth:"100%",boxSizing:"border-box",paddingLeft:e=>e.spacing(2),paddingRight:e=>e.spacing(2)},children:n.jsxs(t.Box,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[n.jsx(t.sM,{formName:"name",defaultInput:N,value:o?.getName()??"No table",onChangeInput:T,onValidate:e=>{o&&o.getName().toLowerCase()===e.toLowerCase()||i?.getNames().validateName(e)},disabled:o?.isProtected()??!0,onFocus:e=>{g||e.target?.select(),x(!0)}}),n.jsx(t.cM,{formName:"range",value:B,onChangeInput:D,resolvedAddress:i.getNames().getRanges.bind(i.getNames()),disabled:o?.isProtected()??!0,onFocus:e=>{g||e.target?.select(),x(!0)}})]})})}),n.jsxs(t.Box,{sx:{minHeight:"10px",flex:"1 1 100%",display:"flex",flexDirection:"column",gap:e=>e.spacing(.5),marginTop:e=>e.spacing(1)},children:[n.jsx(t.$t,{orientation:"horizontal",sx:{marginTop:e=>e.spacing(1.5),marginBottom:e=>e.spacing(.75)}}),n.jsx(t.BR,{disabled:o?.isProtected(),styleOptions:o?.getStyleOptions()??null,onStyleOptionsChange:e=>{o.updateStyleOptions(e)},showHeaderRow:o?.getShowHeaders(),onShowHeaderRowChange:e=>{try{o.setShowHeaders(e)}catch(s){l.showError(s)}},showTotalRow:o?.getShowTotals(),onShowTotalRowChange:e=>{try{o.setShowTotals(e)}catch(s){l.showError(s)}},showFilterButton:o?.getFilter()?o.getShowFilterButton():null,onShowFilterButtonChange:e=>{try{o.setShowFilterButton(e)}catch(s){l.showError(s)}}}),n.jsx(t.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",marginTop:e=>e.spacing(2),marginBottom:e=>e.spacing(1)},children:n.jsx(t.eM,{table:o,styles:i.styles(),bodyStyle:i.bodyStyle(),cellHeight:30,isLive:!0})}),n.jsx(t.$t,{orientation:"horizontal"}),n.jsxs(t.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"center"},children:[n.jsx(t.Le,{variant:t.Qt.Menuitem,command:c.getCommand("convertTableToRange"),commandState:o,icon:t.ve(n.jsx(t.W1,{}))}),n.jsx(t.Le,{variant:t.Qt.Menuitem,commandState:o,command:c.getCommand("deleteTable"),icon:t.ve(n.jsx(t.W1,{}))})]})]})]}),u]})})});exports.TableDetailsWindow=h,exports.default=h;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
|
+
*
|
|
4
|
+
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/const m=require("react/jsx-runtime"),l=require("react"),i=require("./CalnqtYH48_x2rcI.cjs"),Wt=require("react-dom"),ce=require("@sheetxl/sdk");function Pt(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const de=Pt(l);function At(e){return i.generateUtilityClass("MuiCollapse",e)}i.generateUtilityClasses("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const It=i.styled("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,o)=>{const{ownerState:r}=e;return[o.root,o[r.orientation],r.state==="entered"&&o.entered,r.state==="exited"&&!r.in&&r.collapsedSize==="0px"&&o.hidden]}})(i.memoTheme(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:o})=>o.state==="exited"&&!o.in&&o.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Nt=i.styled("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,o)=>o.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Ft=i.styled("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,o)=>o.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Fe=de.forwardRef(function(e,o){const r=i.useDefaultProps({props:e,name:"MuiCollapse"}),{addEndListener:t,children:n,className:a,collapsedSize:s="0px",component:u,easing:c,in:d,onEnter:p,onEntered:f,onEntering:x,onExit:E,onExited:y,onExiting:b,orientation:v="vertical",style:k,timeout:h=i.duration.standard,TransitionComponent:j=i.Transition,...C}=r,W={...r,orientation:v,collapsedSize:s},M=(S=>{const{orientation:U,classes:V}=S,X={root:["root",`${U}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${U}`],wrapperInner:["wrapperInner",`${U}`]};return i.composeClasses(X,At,V)})(W),q=i.useTheme(),B=i.useTimeout(),I=de.useRef(null),_=de.useRef(),G=typeof s=="number"?`${s}px`:s,Q=v==="horizontal",re=Q?"width":"height",N=de.useRef(null),$=i.useForkRef(o,N),w=S=>U=>{if(S){const V=N.current;U===void 0?S(V):S(V,U)}},T=()=>I.current?I.current[Q?"clientWidth":"clientHeight"]:0,O=w((S,U)=>{I.current&&Q&&(I.current.style.position="absolute"),S.style[re]=G,p&&p(S,U)}),F=w((S,U)=>{const V=T();I.current&&Q&&(I.current.style.position="");const{duration:X,easing:ie}=i.getTransitionProps({style:k,timeout:h,easing:c},{mode:"enter"});if(h==="auto"){const pe=q.transitions.getAutoHeightDuration(V);S.style.transitionDuration=`${pe}ms`,_.current=pe}else S.style.transitionDuration=typeof X=="string"?X:`${X}ms`;S.style[re]=`${V}px`,S.style.transitionTimingFunction=ie,x&&x(S,U)}),H=w((S,U)=>{S.style[re]="auto",f&&f(S,U)}),z=w(S=>{S.style[re]=`${T()}px`,E&&E(S)}),ae=w(y),P=w(S=>{const U=T(),{duration:V,easing:X}=i.getTransitionProps({style:k,timeout:h,easing:c},{mode:"exit"});if(h==="auto"){const ie=q.transitions.getAutoHeightDuration(U);S.style.transitionDuration=`${ie}ms`,_.current=ie}else S.style.transitionDuration=typeof V=="string"?V:`${V}ms`;S.style[re]=G,S.style.transitionTimingFunction=X,b&&b(S)});return m.jsx(j,{in:d,onEnter:O,onEntered:H,onEntering:F,onExit:z,onExited:ae,onExiting:P,addEndListener:S=>{h==="auto"&&B.start(_.current||0,S),t&&t(N.current,S)},nodeRef:N,timeout:h==="auto"?null:h,...C,children:(S,{ownerState:U,...V})=>m.jsx(It,{as:u,className:i.clsx(M.root,a,{entered:M.entered,exited:!d&&G==="0px"&&M.hidden}[S]),style:{[Q?"minWidth":"minHeight"]:G,...k},ref:$,ownerState:{...W,state:S},...V,children:m.jsx(Nt,{ownerState:{...W,state:S},className:M.wrapper,ref:I,children:m.jsx(Ft,{ownerState:{...W,state:S},className:M.wrapperInner,children:n})})})})});function qt(e){return i.generateUtilityClass("MuiCard",e)}Fe&&(Fe.muiSupportAuto=!0),i.generateUtilityClasses("MuiCard",["root"]);const Ht=i.styled(i.Paper,{name:"MuiCard",slot:"Root",overridesResolver:(e,o)=>o.root})({overflow:"hidden"}),zt=de.forwardRef(function(e,o){const r=i.useDefaultProps({props:e,name:"MuiCard"}),{className:t,raised:n=!1,...a}=r,s={...r,raised:n},u=(c=>{const{classes:d}=c;return i.composeClasses({root:["root"]},qt,d)})(s);return m.jsx(Ht,{className:i.clsx(u.root,t),elevation:n?8:void 0,ref:o,ownerState:s,...a})});function Bt(e){return i.generateUtilityClass("MuiCardActions",e)}i.generateUtilityClasses("MuiCardActions",["root","spacing"]);const _t=i.styled("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,o)=>{const{ownerState:r}=e;return[o.root,!r.disableSpacing&&o.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),Ut=de.forwardRef(function(e,o){const r=i.useDefaultProps({props:e,name:"MuiCardActions"}),{disableSpacing:t=!1,className:n,...a}=r,s={...r,disableSpacing:t},u=(c=>{const{classes:d,disableSpacing:p}=c,f={root:["root",!p&&"spacing"]};return i.composeClasses(f,Bt,d)})(s);return m.jsx(_t,{className:i.clsx(u.root,n),ownerState:s,ref:o,...a})}),Ge=typeof i.globalCss({})=="function",Vt=(e,o)=>({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%",...o&&!e.vars&&{colorScheme:e.palette.mode}}),$t=e=>({color:(e.vars||e).palette.text.primary,...e.typography.body1,backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),tt=(e,o=!1)=>{const r={};o&&e.colorSchemes&&typeof e.getColorSchemeSelector=="function"&&Object.entries(e.colorSchemes).forEach(([a,s])=>{const u=e.getColorSchemeSelector(a);u.startsWith("@")?r[u]={":root":{colorScheme:s.palette?.mode}}:r[u.replace(/\s*&/,"")]={colorScheme:s.palette?.mode}});let t={html:Vt(e,o),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:{margin:0,...$t(e),"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}},...r};const n=e.components?.MuiCssBaseline?.styleOverrides;return n&&(t=[t,n]),t},Ie="mui-ecs",Kt=i.globalCss(Ge?({theme:e,enableColorScheme:o})=>tt(e,o):({theme:e})=>(o=>{const r=tt(o,!1),t=Array.isArray(r)?r[0]:r;return!o.vars&&t&&(t.html[`:root:has(${Ie})`]={colorScheme:o.palette.mode}),o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([n,a])=>{const s=o.getColorSchemeSelector(n);s.startsWith("@")?t[s]={[`:root:not(:has(.${Ie}))`]:{colorScheme:a.palette?.mode}}:t[s.replace(/\s*&/,"")]={[`&:not(:has(.${Ie}))`]:{colorScheme:a.palette?.mode}}}),r})(e));function Gt(e){const o=i.useDefaultProps({props:e,name:"MuiCssBaseline"}),{children:r,enableColorScheme:t=!1}=o;return m.jsxs(de.Fragment,{children:[Ge&&m.jsx(Kt,{enableColorScheme:t}),!Ge&&!t&&m.jsx("span",{className:Ie,style:{display:"none"}}),r]})}const Xt=i.createSvgIcon(m.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z"}),"CancelOutlined"),Zt=l.createContext(null),ze={didCatch:!1,error:null};class Jt extends l.Component{constructor(o){super(o),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=ze}static getDerivedStateFromError(o){return{didCatch:!0,error:o}}resetErrorBoundary(){const{error:o}=this.state;if(o!==null){for(var r,t,n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];(r=(t=this.props).onReset)===null||r===void 0||r.call(t,{args:a,reason:"imperative-api"}),this.setState(ze)}}componentDidCatch(o,r){var t,n;(t=(n=this.props).onError)===null||t===void 0||t.call(n,o,r)}componentDidUpdate(o,r){const{didCatch:t}=this.state,{resetKeys:n}=this.props;var a,s;t&&r.error!==null&&function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return u.length!==c.length||u.some((d,p)=>!Object.is(d,c[p]))}(o.resetKeys,n)&&((a=(s=this.props).onReset)===null||a===void 0||a.call(s,{next:n,prev:o.resetKeys,reason:"keys"}),this.setState(ze))}render(){const{children:o,fallbackRender:r,FallbackComponent:t,fallback:n}=this.props,{didCatch:a,error:s}=this.state;let u=o;if(a){const c={error:s,resetErrorBoundary:this.resetErrorBoundary};if(typeof r=="function")u=r(c);else if(t)u=l.createElement(t,c);else{if(n===void 0)throw s;u=n}}return l.createElement(Zt.Provider,{value:{didCatch:a,error:s,resetErrorBoundary:this.resetErrorBoundary}},u)}}function ht(e){var o,r,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e))for(o=0;o<e.length;o++)e[o]&&(r=ht(e[o]))&&(t&&(t+=" "),t+=r);else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function oe(){for(var e,o,r=0,t="";r<arguments.length;)(e=arguments[r++])&&(o=ht(e))&&(t&&(t+=" "),t+=o);return t}let Qt={data:""},Yt=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,en=/\/\*[^]*?\*\/| +/g,nt=/\n+/g,ue=(e,o)=>{let r="",t="",n="";for(let a in e){let s=e[a];a[0]=="@"?a[1]=="i"?r=a+" "+s+";":t+=a[1]=="f"?ue(s,a):a+"{"+ue(s,a[1]=="k"?"":o)+"}":typeof s=="object"?t+=ue(s,o?o.replace(/([^,])+/g,u=>a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g,c=>/&/.test(c)?c.replace(/&/g,u):u?u+" "+c:c)):a):s!=null&&(a=/^--/.test(a)?a:a.replace(/[A-Z]/g,"-$&").toLowerCase(),n+=ue.p?ue.p(a,s):a+":"+s+";")}return r+(o&&n?o+"{"+n+"}":n)+t},te={},gt=e=>{if(typeof e=="object"){let o="";for(let r in e)o+=r+gt(e[r]);return o}return e};function Xe(e){let o=this||{},r=e.call?e(o.p):e;return((s,u,c,d,p)=>{let f=gt(s),x=te[f]||(te[f]=(h=>{let j=0,C=11;for(;j<h.length;)C=101*C+h.charCodeAt(j++)>>>0;return"go"+C})(f));if(!te[x]){let h=f!==s?s:(j=>{let C,W,M=[{}];for(;C=Yt.exec(j.replace(en,""));)C[4]?M.shift():C[3]?(W=C[3].replace(nt," ").trim(),M.unshift(M[0][W]=M[0][W]||{})):M[0][C[1]]=C[2].replace(nt," ").trim();return M[0]})(s);te[x]=ue(p?{["@keyframes "+x]:h}:h,c?"":"."+x)}let E=c&&te.g?te.g:null;return c&&(te.g=te[x]),y=te[x],b=u,v=d,(k=E)?b.data=b.data.replace(k,y):b.data.indexOf(y)===-1&&(b.data=v?y+b.data:b.data+y),x;var y,b,v,k})(r.unshift?r.raw?(t=r,n=[].slice.call(arguments,1),a=o.p,t.reduce((s,u,c)=>{let d=n[c];if(d&&d.call){let p=d(a),f=p&&p.props&&p.props.className||/^go/.test(p)&&p;d=f?"."+f:p&&typeof p=="object"?p.props?"":ue(p,""):p===!1?"":p}return s+u+(d??"")},"")):r.reduce((s,u)=>Object.assign(s,u&&u.call?u(o.p):u),{}):r,(s=>typeof window=="object"?((s?s.querySelector("#_goober"):window._goober)||Object.assign((s||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:s||Qt)(o.target),o.g,o.o,o.k);var t,n,a}function kt(e,o,r){return o&&function(t,n){for(var a=0;a<n.length;a++){var s=n[a];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,s.key,s)}}(e.prototype,o),e}function L(){return L=Object.assign||function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},L.apply(this,arguments)}function bt(e,o){e.prototype=Object.create(o.prototype),e.prototype.constructor=e,e.__proto__=o}function Se(e,o){if(e==null)return{};var r,t,n={},a=Object.keys(e);for(t=0;t<a.length;t++)r=a[t],o.indexOf(r)>=0||(n[r]=e[r]);return n}function ot(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}Xe.bind({g:1}),Xe.bind({k:1});var rt=function(){return""},xt=l.createContext({enqueueSnackbar:rt,closeSnackbar:rt}),Be="@media (max-width:599.95px)",Ne="@media (min-width:600px)",it=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},Je=function(e){return""+it(e.vertical)+it(e.horizontal)},Oe=function(e){return!!e||e===0},Te="unmounted",fe="exited",he="entering",ye="entered",at="exiting",Qe=function(e){function o(t){var n;n=e.call(this,t)||this;var a,s=t.appear;return n.appearStatus=null,t.in?s?(a=fe,n.appearStatus=he):a=ye:a=t.unmountOnExit||t.mountOnEnter?Te:fe,n.state={status:a},n.nextCallback=null,n}bt(o,e),o.getDerivedStateFromProps=function(t,n){return t.in&&n.status===Te?{status:fe}:null};var r=o.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(t){var n=null;if(t!==this.props){var a=this.state.status;this.props.in?a!==he&&a!==ye&&(n=he):a!==he&&a!==ye||(n=at)}this.updateStatus(!1,n)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var t=this.props.timeout,n=t,a=t;return t!=null&&typeof t!="number"&&typeof t!="string"&&(a=t.exit,n=t.enter),{exit:a,enter:n}},r.updateStatus=function(t,n){t===void 0&&(t=!1),n!==null?(this.cancelNextCallback(),n===he?this.performEnter(t):this.performExit()):this.props.unmountOnExit&&this.state.status===fe&&this.setState({status:Te})},r.performEnter=function(t){var n=this,a=this.props.enter,s=t,u=this.getTimeouts();t||a?(this.props.onEnter&&this.props.onEnter(this.node,s),this.safeSetState({status:he},function(){n.props.onEntering&&n.props.onEntering(n.node,s),n.onTransitionEnd(u.enter,function(){n.safeSetState({status:ye},function(){n.props.onEntered&&n.props.onEntered(n.node,s)})})})):this.safeSetState({status:ye},function(){n.props.onEntered&&n.props.onEntered(n.node,s)})},r.performExit=function(){var t=this,n=this.props.exit,a=this.getTimeouts();n?(this.props.onExit&&this.props.onExit(this.node),this.safeSetState({status:at},function(){t.props.onExiting&&t.props.onExiting(t.node),t.onTransitionEnd(a.exit,function(){t.safeSetState({status:fe},function(){t.props.onExited&&t.props.onExited(t.node)})})})):this.safeSetState({status:fe},function(){t.props.onExited&&t.props.onExited(t.node)})},r.cancelNextCallback=function(){this.nextCallback!==null&&this.nextCallback.cancel&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(t,n){n=this.setNextCallback(n),this.setState(t,n)},r.setNextCallback=function(t){var n=this,a=!0;return this.nextCallback=function(){a&&(a=!1,n.nextCallback=null,t())},this.nextCallback.cancel=function(){a=!1},this.nextCallback},r.onTransitionEnd=function(t,n){this.setNextCallback(n);var a=t==null&&!this.props.addEndListener;this.node&&!a?(this.props.addEndListener&&this.props.addEndListener(this.node,this.nextCallback),t!=null&&setTimeout(this.nextCallback,t)):setTimeout(this.nextCallback,0)},r.render=function(){var t=this.state.status;if(t===Te)return null;var n=this.props;return(0,n.children)(t,Se(n,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]))},kt(o,[{key:"node",get:function(){var t,n=(t=this.props.nodeRef)===null||t===void 0?void 0:t.current;if(!n)throw new Error("notistack - Custom snackbar is not refForwarding");return n}}]),o}(l.Component);function ge(){}function st(e,o){typeof e=="function"?e(o):e&&(e.current=o)}function Ze(e,o){return l.useMemo(function(){return e==null&&o==null?null:function(r){st(e,r),st(o,r)}},[e,o])}function qe(e){var o=e.timeout,r=e.style,t=r===void 0?{}:r,n=e.mode;return{duration:typeof o=="object"?o[n]||0:o,easing:t.transitionTimingFunction,delay:t.transitionDelay}}Qe.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:ge,onEntering:ge,onEntered:ge,onExit:ge,onExiting:ge,onExited:ge};var yt=function(e){e.scrollTop=e.scrollTop},lt=function(e){return Math.round(e)+"ms"};function ke(e,o){e===void 0&&(e=["all"]);var r=o||{},t=r.duration,n=t===void 0?300:t,a=r.easing,s=a===void 0?"cubic-bezier(0.4, 0, 0.2, 1)":a,u=r.delay,c=u===void 0?0:u;return(Array.isArray(e)?e:[e]).map(function(d){var p=typeof n=="string"?n:lt(n),f=typeof c=="string"?c:lt(c);return d+" "+p+" "+s+" "+f}).join(",")}function wt(e){var o;return((o=e)&&o.ownerDocument||document).defaultView||window}function Re(e,o){if(o){var r=function(t,n){var a,s=n.getBoundingClientRect(),u=wt(n);if(n.fakeTransform)a=n.fakeTransform;else{var c=u.getComputedStyle(n);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}var d=0,p=0;if(a&&a!=="none"&&typeof a=="string"){var f=a.split("(")[1].split(")")[0].split(",");d=parseInt(f[4],10),p=parseInt(f[5],10)}switch(t){case"left":return"translateX("+(u.innerWidth+d-s.left)+"px)";case"right":return"translateX(-"+(s.left+s.width-d)+"px)";case"up":return"translateY("+(u.innerHeight+p-s.top)+"px)";default:return"translateY(-"+(s.top+s.height-p)+"px)"}}(e,o);r&&(o.style.webkitTransform=r,o.style.transform=r)}}var vt=l.forwardRef(function(e,o){var r=e.children,t=e.direction,n=t===void 0?"down":t,a=e.in,s=e.style,u=e.timeout,c=u===void 0?0:u,d=e.onEnter,p=e.onEntered,f=e.onExit,x=e.onExited,E=Se(e,["children","direction","in","style","timeout","onEnter","onEntered","onExit","onExited"]),y=l.useRef(null),b=Ze(r.ref,y),v=Ze(b,o),k=l.useCallback(function(){y.current&&Re(n,y.current)},[n]);return l.useEffect(function(){if(!a&&n!=="down"&&n!=="right"){var h=function(C,W){var M;function q(){for(var B=this,I=arguments.length,_=new Array(I),G=0;G<I;G++)_[G]=arguments[G];clearTimeout(M),M=setTimeout(function(){C.apply(B,_)},W)}return W===void 0&&(W=166),q.clear=function(){clearTimeout(M)},q}(function(){y.current&&Re(n,y.current)}),j=wt(y.current);return j.addEventListener("resize",h),function(){h.clear(),j.removeEventListener("resize",h)}}},[n,a]),l.useEffect(function(){a||k()},[a,k]),l.createElement(Qe,Object.assign({appear:!0,nodeRef:y,onEnter:function(h,j){Re(n,h),yt(h),d&&d(h,j)},onEntered:p,onEntering:function(h){var j=qe({timeout:c,mode:"enter",style:L({},s,{transitionTimingFunction:s?.transitionTimingFunction||"cubic-bezier(0.0, 0, 0.2, 1)"})});h.style.webkitTransition=ke("-webkit-transform",j),h.style.transition=ke("transform",j),h.style.webkitTransform="none",h.style.transform="none"},onExit:function(h){var j=qe({timeout:c,mode:"exit",style:L({},s,{transitionTimingFunction:s?.transitionTimingFunction||"cubic-bezier(0.4, 0, 0.6, 1)"})});h.style.webkitTransition=ke("-webkit-transform",j),h.style.transition=ke("transform",j),Re(n,h),f&&f(h)},onExited:function(h){h.style.webkitTransition="",h.style.transition="",x&&x(h)},in:a,timeout:c},E),function(h,j){return l.cloneElement(r,L({ref:v,style:L({visibility:h!=="exited"||a?void 0:"hidden"},s,{},r.props.style)},j))})});vt.displayName="Slide";var Le=function(e){return l.createElement("svg",Object.assign({viewBox:"0 0 24 24",focusable:"false",style:{fontSize:20,marginInlineEnd:8,userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:"currentColor",flexShrink:0}},e))},le={maxSnack:3,persist:!1,hideIconVariant:!1,disableWindowBlurListener:!1,variant:"default",autoHideDuration:5e3,iconVariant:{default:void 0,success:l.createElement(function(){return l.createElement(Le,null,l.createElement("path",{d:`M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41
|
|
7
|
+
10.59L10 14.17L17.59 6.58L19 8L10 17Z`}))},null),warning:l.createElement(function(){return l.createElement(Le,null,l.createElement("path",{d:"M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z"}))},null),error:l.createElement(function(){return l.createElement(Le,null,l.createElement("path",{d:`M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,
|
|
8
|
+
6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,
|
|
9
|
+
13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z`}))},null),info:l.createElement(function(){return l.createElement(Le,null,l.createElement("path",{d:`M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,
|
|
10
|
+
0 22,12A10,10 0 0,0 12,2Z`}))},null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},TransitionComponent:vt,transitionDuration:{enter:225,exit:195}};function De(e){return Object.entries(e).reduce(function(o,r){var t,n=r[0],a=r[1];return L({},o,((t={})[n]=Xe(a),t))},{})}var Et="notistack-CollapseWrapper",tn=function(e){return"notistack-MuiContent-"+e},ct=De({root:{height:0},entered:{height:"auto"}}),_e="0px",Ct=l.forwardRef(function(e,o){var r=e.children,t=e.in,n=e.onExited,a=l.useRef(null),s=l.useRef(null),u=Ze(o,s),c=function(){return a.current?a.current.clientHeight:0};return l.createElement(Qe,{in:t,unmountOnExit:!0,onEnter:function(d){d.style.height=_e},onEntered:function(d){d.style.height="auto"},onEntering:function(d){var p=c(),f=qe({timeout:175,mode:"enter"}),x=f.duration,E=f.easing;d.style.transitionDuration=typeof x=="string"?x:x+"ms",d.style.height=p+"px",d.style.transitionTimingFunction=E||""},onExit:function(d){d.style.height=c()+"px"},onExited:n,onExiting:function(d){yt(d);var p=qe({timeout:175,mode:"exit"}),f=p.duration,x=p.easing;d.style.transitionDuration=typeof f=="string"?f:f+"ms",d.style.height=_e,d.style.transitionTimingFunction=x||""},nodeRef:s,timeout:175},function(d,p){return l.createElement("div",Object.assign({ref:u,className:oe(ct.root,d==="entered"&&ct.entered),style:L({pointerEvents:"all",overflow:"hidden",minHeight:_e,transition:ke("height")},d==="entered"&&{overflow:"visible"},{},d==="exited"&&!t&&{visibility:"hidden"})},p),l.createElement("div",{ref:a,className:Et,style:{display:"flex",width:"100%"}},r))})});Ct.displayName="Collapse";var ut={right:"left",left:"right",bottom:"up",top:"down"},nn=function(e){return"anchorOrigin"+Je(e)},on=function(){};function Ce(e,o){return e.reduce(function(r,t){return t==null?r:function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];var u=[].concat(a);o&&u.indexOf(o)===-1&&u.push(o),r.apply(this,u),t.apply(this,u)}},on)}var rn=typeof window<"u"?l.useLayoutEffect:l.useEffect;function dt(e){var o=l.useRef(e);return rn(function(){o.current=e}),l.useCallback(function(){return o.current.apply(void 0,arguments)},[])}var Ue,St=l.forwardRef(function(e,o){var r=e.children,t=e.className,n=e.autoHideDuration,a=e.disableWindowBlurListener,s=a!==void 0&&a,u=e.onClose,c=e.id,d=e.open,p=e.SnackbarProps,f=p===void 0?{}:p,x=l.useRef(),E=dt(function(){u&&u.apply(void 0,arguments)}),y=dt(function(k){u&&k!=null&&(x.current&&clearTimeout(x.current),x.current=setTimeout(function(){E(null,"timeout",c)},k))});l.useEffect(function(){return d&&y(n),function(){x.current&&clearTimeout(x.current)}},[d,n,y]);var b=function(){x.current&&clearTimeout(x.current)},v=l.useCallback(function(){n!=null&&y(.5*n)},[n,y]);return l.useEffect(function(){if(!s&&d)return window.addEventListener("focus",v),window.addEventListener("blur",b),function(){window.removeEventListener("focus",v),window.removeEventListener("blur",b)}},[s,v,d]),l.createElement("div",Object.assign({ref:o},f,{className:oe("notistack-Snackbar",t),onMouseEnter:function(k){f.onMouseEnter&&f.onMouseEnter(k),b()},onMouseLeave:function(k){f.onMouseLeave&&f.onMouseLeave(k),v()}}),r)});St.displayName="Snackbar";var an=De({root:(Ue={display:"flex",flexWrap:"wrap",flexGrow:1},Ue[Ne]={flexGrow:"initial",minWidth:"288px"},Ue)}),Ye=l.forwardRef(function(e,o){var r=e.className,t=Se(e,["className"]);return l.createElement("div",Object.assign({ref:o,className:oe(an.root,r)},t))});Ye.displayName="SnackbarContent";var we=De({root:{backgroundColor:"#313131",fontSize:"0.875rem",lineHeight:1.43,letterSpacing:"0.01071em",color:"#fff",alignItems:"center",padding:"6px 16px",borderRadius:"4px",boxShadow:"0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)"},lessPadding:{paddingLeft:"20px"},default:{backgroundColor:"#313131"},success:{backgroundColor:"#43a047"},error:{backgroundColor:"#d32f2f"},warning:{backgroundColor:"#ff9800"},info:{backgroundColor:"#2196f3"},message:{display:"flex",alignItems:"center",padding:"8px 0"},action:{display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:"16px",marginRight:"-8px"}}),pt="notistack-snackbar",Dt=l.forwardRef(function(e,o){var r=e.id,t=e.message,n=e.action,a=e.iconVariant,s=e.variant,u=e.hideIconVariant,c=e.style,d=e.className,p=a[s],f=n;return typeof f=="function"&&(f=f(r)),l.createElement(Ye,{ref:o,role:"alert","aria-describedby":pt,style:c,className:oe("notistack-MuiContent",tn(s),we.root,we[s],d,!u&&p&&we.lessPadding)},l.createElement("div",{id:pt,className:we.message},u?null:p,t),f&&l.createElement("div",{className:we.action},f))});Dt.displayName="MaterialDesignContent";var ve,Ve,We,Pe,$e,sn=l.memo(Dt),ln=De({wrappedRoot:{width:"100%",position:"relative",transform:"translateX(0)",top:0,right:0,bottom:0,left:0,minWidth:"288px"}}),cn=function(e){var o=l.useRef(),r=l.useState(!0),t=r[0],n=r[1],a=Ce([e.snack.onClose,e.onClose]),s=l.useCallback(function(){o.current=setTimeout(function(){n(function(B){return!B})},125)},[]);l.useEffect(function(){return function(){o.current&&clearTimeout(o.current)}},[]);var u,c=e.snack,d=e.classes,p=e.Component,f=p===void 0?sn:p,x=l.useMemo(function(){return function(B){B===void 0&&(B={});var I={containerRoot:!0,containerAnchorOriginTopCenter:!0,containerAnchorOriginBottomCenter:!0,containerAnchorOriginTopRight:!0,containerAnchorOriginBottomRight:!0,containerAnchorOriginTopLeft:!0,containerAnchorOriginBottomLeft:!0};return Object.keys(B).filter(function(_){return!I[_]}).reduce(function(_,G){var Q;return L({},_,((Q={})[G]=B[G],Q))},{})}(d)},[d]),E=c.open,y=c.SnackbarProps,b=c.TransitionComponent,v=c.TransitionProps,k=c.transitionDuration,h=c.disableWindowBlurListener,j=c.content,C=Se(c,["open","SnackbarProps","TransitionComponent","TransitionProps","transitionDuration","disableWindowBlurListener","content","entered","requestClose","onEnter","onEntered","onExit","onExited"]),W=L({direction:(u=C.anchorOrigin,u.horizontal!=="center"?ut[u.horizontal]:ut[u.vertical]),timeout:k},v),M=j;typeof M=="function"&&(M=M(C.id,C.message));var q=["onEnter","onEntered","onExit","onExited"].reduce(function(B,I){var _;return L({},B,((_={})[I]=Ce([e.snack[I],e[I]],C.id),_))},{});return l.createElement(Ct,{in:t,onExited:q.onExited},l.createElement(St,{open:E,id:C.id,disableWindowBlurListener:h,autoHideDuration:C.autoHideDuration,className:oe(ln.wrappedRoot,x.root,x[nn(C.anchorOrigin)]),SnackbarProps:y,onClose:a},l.createElement(b,Object.assign({},W,{appear:!0,in:E,onExit:q.onExit,onExited:s,onEnter:q.onEnter,onEntered:Ce([q.onEntered,function(){e.snack.requestClose&&a(null,"instructed",e.snack.id)}],C.id)}),M||l.createElement(f,Object.assign({},C)))))},Ee=20,Ke=6,un=2,mt="."+Et,Ae=De({root:(ve={boxSizing:"border-box",display:"flex",maxHeight:"100%",position:"fixed",zIndex:1400,height:"auto",width:"auto",transition:ke(["top","right","bottom","left","max-width"],{duration:300,easing:"ease"}),pointerEvents:"none"},ve[mt]={padding:Ke+"px 0px",transition:"padding 300ms ease 0ms"},ve.maxWidth="calc(100% - "+2*Ee+"px)",ve[Be]={width:"100%",maxWidth:"calc(100% - 32px)"},ve),rootDense:(Ve={},Ve[mt]={padding:un+"px 0px"},Ve),top:{top:Ee-Ke+"px",flexDirection:"column"},bottom:{bottom:Ee-Ke+"px",flexDirection:"column-reverse"},left:(We={left:Ee+"px"},We[Ne]={alignItems:"flex-start"},We[Be]={left:"16px"},We),right:(Pe={right:Ee+"px"},Pe[Ne]={alignItems:"flex-end"},Pe[Be]={right:"16px"},Pe),center:($e={left:"50%",transform:"translateX(-50%)"},$e[Ne]={alignItems:"center"},$e)}),dn=l.memo(function(e){var o=e.classes,r=o===void 0?{}:o,t=e.anchorOrigin,n=e.dense,a=e.children,s=oe("notistack-SnackbarContainer",Ae[t.vertical],Ae[t.horizontal],Ae.root,r.containerRoot,r["containerAnchorOrigin"+Je(t)],n&&Ae.rootDense);return l.createElement("div",{className:s},a)}),ft=function(e){return!(typeof e=="string"||l.isValidElement(e))},pn=function(e){function o(r){var t;return(t=e.call(this,r)||this).enqueueSnackbar=function(n,a){if(a===void 0&&(a={}),n==null)throw new Error("enqueueSnackbar called with invalid argument");var s=ft(n)?n:a,u=ft(n)?n.message:n,c=s.key,d=s.preventDuplicate,p=Se(s,["key","preventDuplicate"]),f=Oe(c),x=f?c:new Date().getTime()+Math.random(),E=function(b,v){return function(k,h){return h===void 0&&(h=!1),h?L({},le[k],{},v[k],{},b[k]):k==="autoHideDuration"?(M=b.autoHideDuration,q=v.autoHideDuration,(B=function(I){return typeof I=="number"||I===null})(M)?M:B(q)?q:le.autoHideDuration):k==="transitionDuration"?(j=b.transitionDuration,C=v.transitionDuration,(W=function(I,_){return _.some(function(G){return typeof I===G})})(j,["string","number"])?j:W(j,["object"])?L({},le.transitionDuration,{},W(C,["object"])&&C,{},j):W(C,["string","number"])?C:W(C,["object"])?L({},le.transitionDuration,{},C):le.transitionDuration):b[k]||v[k]||le[k];var j,C,W,M,q,B}}(p,t.props),y=L({id:x},p,{message:u,open:!0,entered:!1,requestClose:!1,persist:E("persist"),action:E("action"),content:E("content"),variant:E("variant"),anchorOrigin:E("anchorOrigin"),disableWindowBlurListener:E("disableWindowBlurListener"),autoHideDuration:E("autoHideDuration"),hideIconVariant:E("hideIconVariant"),TransitionComponent:E("TransitionComponent"),transitionDuration:E("transitionDuration"),TransitionProps:E("TransitionProps",!0),iconVariant:E("iconVariant",!0),style:E("style",!0),SnackbarProps:E("SnackbarProps",!0),className:oe(t.props.className,p.className)});return y.persist&&(y.autoHideDuration=void 0),t.setState(function(b){if(d===void 0&&t.props.preventDuplicate||d){var v=function(j){return f?j.id===x:j.message===u},k=b.queue.findIndex(v)>-1,h=b.snacks.findIndex(v)>-1;if(k||h)return b}return t.handleDisplaySnack(L({},b,{queue:[].concat(b.queue,[y])}))}),x},t.handleDisplaySnack=function(n){return n.snacks.length>=t.maxSnack?t.handleDismissOldest(n):t.processQueue(n)},t.processQueue=function(n){var a=n.queue,s=n.snacks;return a.length>0?L({},n,{snacks:[].concat(s,[a[0]]),queue:a.slice(1,a.length)}):n},t.handleDismissOldest=function(n){if(n.snacks.some(function(c){return!c.open||c.requestClose}))return n;var a=!1,s=!1;n.snacks.reduce(function(c,d){return c+(d.open&&d.persist?1:0)},0)===t.maxSnack&&(s=!0);var u=n.snacks.map(function(c){return a||c.persist&&!s?L({},c):(a=!0,c.entered?(c.onClose&&c.onClose(null,"maxsnack",c.id),t.props.onClose&&t.props.onClose(null,"maxsnack",c.id),L({},c,{open:!1})):L({},c,{requestClose:!0}))});return L({},n,{snacks:u})},t.handleEnteredSnack=function(n,a,s){if(!Oe(s))throw new Error("handleEnteredSnack Cannot be called with undefined key");t.setState(function(u){return{snacks:u.snacks.map(function(c){return c.id===s?L({},c,{entered:!0}):L({},c)})}})},t.handleCloseSnack=function(n,a,s){t.props.onClose&&t.props.onClose(n,a,s);var u=s===void 0;t.setState(function(c){var d=c.snacks,p=c.queue;return{snacks:d.map(function(f){return u||f.id===s?f.entered?L({},f,{open:!1}):L({},f,{requestClose:!0}):L({},f)}),queue:p.filter(function(f){return f.id!==s})}})},t.closeSnackbar=function(n){var a=t.state.snacks.find(function(s){return s.id===n});Oe(n)&&a&&a.onClose&&a.onClose(null,"instructed",n),t.handleCloseSnack(null,"instructed",n)},t.handleExitedSnack=function(n,a){if(!Oe(a))throw new Error("handleExitedSnack Cannot be called with undefined key");t.setState(function(s){var u=t.processQueue(L({},s,{snacks:s.snacks.filter(function(c){return c.id!==a})}));return u.queue.length===0?u:t.handleDismissOldest(u)})},t.enqueueSnackbar,t.closeSnackbar,t.state={snacks:[],queue:[],contextValue:{enqueueSnackbar:t.enqueueSnackbar.bind(ot(t)),closeSnackbar:t.closeSnackbar.bind(ot(t))}},t}return bt(o,e),o.prototype.render=function(){var r=this,t=this.state.contextValue,n=this.props,a=n.domRoot,s=n.children,u=n.dense,c=u!==void 0&&u,d=n.Components,p=d===void 0?{}:d,f=n.classes,x=this.state.snacks.reduce(function(y,b){var v,k=Je(b.anchorOrigin),h=y[k]||[];return L({},y,((v={})[k]=[].concat(h,[b]),v))},{}),E=Object.keys(x).map(function(y){var b=x[y],v=b[0];return l.createElement(dn,{key:y,dense:c,anchorOrigin:v.anchorOrigin,classes:f},b.map(function(k){return l.createElement(cn,{key:k.id,snack:k,classes:f,Component:p[k.variant],onClose:r.handleCloseSnack,onEnter:r.props.onEnter,onExit:r.props.onExit,onExited:Ce([r.handleExitedSnack,r.props.onExited],k.id),onEntered:Ce([r.handleEnteredSnack,r.props.onEntered],k.id)})}))});return l.createElement(xt.Provider,{value:t},s,a?Wt.createPortal(E,a):E)},kt(o,[{key:"maxSnack",get:function(){return this.props.maxSnack||le.maxSnack}}]),o}(l.Component),jt=function(){return l.useContext(xt)};const ne={card:"_card_1a398_7",actionRoot:"_actionRoot_1a398_11",icons:"_icons_1a398_16",expand:"_expand_1a398_22",expandOpen:"_expandOpen_1a398_29",stackTraceContainer:"_stackTraceContainer_1a398_33"},Mt=l.forwardRef((e,o)=>{const{id:r,message:t,iconVariant:n,error:a,hideIconVariant:s,...u}=e,{closeSnackbar:c}=jt(),d=i.T0(),[p,f]=l.useState(!1),x=l.useCallback(()=>{f(b=>!b)},[]),E=l.useCallback(()=>{c(r)},[r,c]);let y=a?.message;return!y&&l.isValidElement(t)&&(y=t),y||typeof t!="string"||(y=t),y||(y=`Unknown Error: ${t}`),m.jsx(Ye,{ref:o,className:i.yo(ne.root,"error-snackbar"),children:m.jsxs(zt,{className:ne.card,style:{backgroundColor:d.palette.error.dark,border:`1px solid ${d.palette.error.dark}`},children:[m.jsxs(Ut,{className:ne.actionRoot,children:[s?null:n?.error,m.jsx(i.Typography,{variant:"body2",component:"div",className:ne.typography,style:{color:d.palette.text.primary},children:y}),m.jsx("div",{style:{flex:"1 1 auto"}}),m.jsxs("div",{className:ne.icons,children:[a?m.jsx(i.IconButton,{"aria-label":"Show more",size:"small",className:i.yo(ne.expand,{[ne.expandOpen]:p}),style:{color:d.palette.action.active},onClick:x,children:m.jsx(i.Xn,{})}):null,m.jsx(i.IconButton,{size:"small",className:ne.expand,style:{color:d.palette.action.active},onClick:E,children:m.jsx(i._o,{fontSize:"small"})})]})]}),a?m.jsx(Fe,{in:p,timeout:"auto",unmountOnExit:!0,children:m.jsx("div",{className:ne.stackTraceContainer,style:{backgroundColor:d.palette.error.light,borderTop:`1px solid ${d.palette.error.main}`},children:m.jsx(i.L9,{error:a,hideLineNumbers:!0})})}):null]})})});Mt.displayName="ToastError";const Ot=l.memo(l.forwardRef((e,o)=>{const{commands:r,commandHook:t,scope:n="workbook",disabled:a=!1,...s}=e,u=i.fe(d=>{const p={variant:i.Qt.Menuitem,parentFloat:d.floatReference,commandHook:t,scope:n,disabled:a},f=m.jsxs(m.Fragment,{children:[m.jsx(i.Le,{...p,command:r.getCommand("newWorkbook"),icon:i.ve(m.jsx(i.yR,{}))}),m.jsx(i.$t,{orientation:"horizontal"}),m.jsx(i.Le,{...p,command:r.getCommand("openWorkbook"),icon:i.ve(m.jsx(i.bR,{}))}),m.jsx(i.Kn,{...p,commands:r,quickCommand:"saveWorkbook",icon:i.ve(m.jsx(i.wR,{})),createPopupPanel:x=>{const E={...p,parentFloat:x.floatReference,scope:"saveWorkbook"},y=[];return i.qR.getWriteFormats().forEach(b=>{if(b.isDefault)return;let v=null;b.key==="CSV"?v=i.ve(m.jsx(i.xR,{})):b.key==="Excel"&&(v=i.ve(m.jsx(i.vR,{})));const k=r.getCommand(`saveWorkbookAs${b.key}`);k?y.push(l.createElement(i.Le,{...E,key:b.key,command:k,icon:v})):console.warn(`Unable to resolve command: 'saveWorkbookAs${b.key}'`)}),i.Fn({...x,children:y,onClick:()=>{x.closeFloatAll()}})}})]});return i.Fn({...d,children:f,onClick:x=>{x.isDefaultPrevented||d.closeFloatAll()}})},[a,r,t,n]),c="File";return m.jsx(i.Kn,{commands:r,disabled:a,commandHook:t,scope:n,label:c,tooltip:"Options for saving and loading the workbook.",sx:{paddingBottom:"0px","& button":{paddingTop:"0px",paddingBottom:"0px",height:d=>`calc(1.25rem + ${d.spacing(2)}px)`}},...s,createPopupPanel:u,icon:m.jsx(i.ns,{className:"label",icon:null,label:c})})}));Ot.displayName="StandaloneFileCommandButton";const mn=m.jsx(i.ar,{label:"SheetXL",description:"Visit me at sheetxl.com.",children:m.jsx(i.Box,{sx:{width:"24px",height:"24px",marginBottom:"4px",marginLeft:"6px"},children:m.jsx(i.VR,{onClick:()=>{window?.open("https://www.sheetxl.com","_blank")},style:{width:"24px",height:"24px",cursor:"pointer"}})})}),Tt=l.memo(l.forwardRef((e,o)=>{const{commands:r,workbook:t,logo:n=mn,mainElement:a,showFileMenu:s=!0,showAppearanceMenu:u=!0,...c}=e,{reference:d}=i.N0(),[p,{width:f}]=i.gc(),x=f<530,E=s?m.jsx(Ot,{commands:r,commandHook:{beforeExecute(){d?.closeAll()},onError(k,h,j){}}}):null,y=u?m.jsx(i.HR,{commands:r,commandHook:{beforeExecute(){d?.closeAll()},onError(k,h,j){}}}):null,b=l.useMemo(()=>({paddingLeft:k=>k.spacing(1),paddingRight:k=>k.spacing(1)}),[]),v=l.useRef(null);return m.jsx(i.Box,{ref:i.h5([v,p,o]),...c,children:i.DM({commands:r,renderCompact:x,workbook:t,selectWrapper:k=>m.jsxs(i.Box,{sx:{display:"flex",flex:"1",flexDirection:"row",alignItems:"stretch",gap:h=>h.spacing(1),paddingLeft:h=>h.spacing(1),paddingRight:h=>h.spacing(1)},children:[m.jsxs(i.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",flex:"1 1 100%",gap:h=>h.spacing(.5)},children:[n,m.jsxs(i.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",gap:h=>h.spacing(.25)},children:[E,k]})]}),m.jsx(i.Box,{sx:{display:"flex",flexDirection:"row",flex:"1 1 300%",overflow:"hidden",alignItems:"center",justifyContent:"center"},children:a}),m.jsx(i.Box,{sx:{display:"flex",alignItems:"center",justifyContent:"end",flex:x&&!y?"0 0 auto":"1 1 100%"},children:y})]}),selectProps:b,toolbarsProps:{Home:{sx:{}}}})})}));Tt.displayName="StudioToolbar";const Rt=l.memo(l.forwardRef((e,o)=>{const{workbook:r,setWorkbook:t,refWorkbookTitle:n,titleWorkbook:a,setWorkbookTitle:s,titlePlaceHolder:u,children:c,undoManager:d,commands:p,importExportDisabled:f,themeOptions:x}=e,E=jt(),y=E?E.enqueueSnackbar:()=>{},b=E?E.closeSnackbar:()=>{},[v,k]=l.useState({isMounted:!1,label:null,starting:new Map,running:new Map}),h=l.useCallback(()=>{k($=>({...$,isMounted:!0}))},[]),j=l.useCallback(()=>{k($=>({...$,isMounted:!1}))},[]),C=i.OR(),W=i.LR(),M=i.AR(),q=l.useRef(new Set),B=l.useMemo(()=>{const $=(w,T)=>{if(T?.onceKey){if(q.current.has(T.onceKey))return;const F=new Set(q.current);F.add(T.onceKey),q.current=F}const O={variant:T?.type??i.F0.Info,anchorOrigin:{vertical:"top",horizontal:"center"},preventDuplicate:T?.preventDuplicate,persist:T?.persist??T?.type===i.F0.Error,action:F=>m.jsx(i.IconButton,{onClick:()=>b(F),children:m.jsx(Xt,{})})};T?.enqueueProps&&Object.assign(O,T.enqueueProps),w||console.log("message is 'null'",T),y(w??"Alert",O)};return{showMessage:$,showBusy:(w,T)=>{let O=null;const F=new Promise(H=>{O=H});return k(H=>{const z=new Map(H.starting);return z.set(F,O),{...H,label:w,starting:z}}),F},showWindow:(w,T,O)=>{const F={...T,onKeyDown:H=>{p?.dispatchToFocusedCommand(H),H.isDefaultPrevented()||H.isPropagationStopped()||T?.onKeyDown?.(H)}};return C(w,{sort:()=>Promise.resolve().then(()=>require("./3GhIDU8JK1oBJrCA.cjs")),numberFormat:()=>Promise.resolve().then(()=>require("./kfV5Cli9oE9IsCtx.cjs")),hyperlink:()=>Promise.resolve().then(()=>require("./BoojmbbjqixMVu2H.cjs")),comments:()=>Promise.resolve().then(()=>require("./CsCaFaiySArzEfdH.cjs")),find:()=>Promise.resolve().then(()=>require("./Y6OgkWqbIB761o5q.cjs")),tableDetails:()=>Promise.resolve().then(()=>require("./B4K6KuggSdXj-V8g.cjs")),tableNew:()=>Promise.resolve().then(()=>require("./B7eW1GQgFvphlLGY.cjs")),namedDetails:()=>Promise.resolve().then(()=>require("./CjDsO4sQWUHbIX1N.cjs"))}[w],F,O)},showOptions:W,showInputOptions:M,showError:w=>{let T,O=i.F0.Error,F="Unknown Error";typeof w=="string"?F=w:w instanceof Error&&(T=w,w.message&&(F=w.message)),w instanceof ce.PartialError&&(O=i.F0.Info),$(F,{type:O,enqueueProps:{error:T}})}}},[]),I=l.useCallback(()=>{},[]),_=($=>{const{workbook:w,setWorkbook:T,importExportDisabled:O,workbookTitle:F="export",setWorkbookTitle:H,notifier:z,requestWorkbookTitle:ae,themeOptions:P,undoManager:S,commands:U,onExecute:V}=$,X=i.fe(P?.onModeChange,[P?.onModeChange]),ie=i.fe(P?.onEnabledDarkGridChange,[P?.onEnabledDarkGridChange]),pe=i.fe(P?.onEnabledDarkImagesChange,[P?.onEnabledDarkImagesChange]),me=i.fe(async(A=null,ee=null)=>{const R=[];let g,D=null,J=null;if(typeof A=="string"?J=A:D=A,g=D?A:await i.Jt.openFileDialog(J??i.qR.getAllReadFormatTypeAsString().join(",")),!g)return null;const Y={source:g,createWorkbookOptions:ee,onWarning:He=>{R.push(He)}},xe=await i.qR.read(Y,z);return R.length>0&&(z?.showMessage?.("Some elements were not able to be imported. See console for details."),console.warn(`Import warnings:
|
|
11
|
+
`+R.join(`
|
|
12
|
+
`))),xe},[V,z,w]),je=i.fe(async(A,ee,R)=>{if(!ee&&ae){const g=await ae("Enter Workbook name to "+(R.isDefault?"Save.":`Export as ${R.description}.`));return g!==null&&i.qR.writeFile(g,A,{formatType:R.key})}return i.qR.writeFile(ee,A,{formatType:R.key})},[z,w,ae]),K=l.useCallback(()=>({contains:A=>!0,focus(){}}),[]),se=l.useMemo(()=>{const A=[];O||(i.qR.getWriteFormats().forEach(R=>{const g=R.isDefault,D={label:g?"Save Workbook":`Save Workbook as ${R.description}`,scopedLabels:{workbook:"Save",saveWorkbook:`as ${R.description}`},tags:R.tags,description:`Save the workbook to the desktop${g?"":` as ${R.description}`}.`};g&&(D.shortcut={key:"S",modifiers:[i.De.Ctrl]},A.push(new i.Oe("saveWorkbookAs",K,{label:"Save Workbook As…",scopedLabels:{workbook:"Save as…",saveWorkbook:"as…"},shortcut:[{key:"S",modifiers:[i.De.Shift,i.De.Ctrl]},{key:"F12"}],description:"Save the workbook to the desktop with the provided name."},()=>{je(w,null,R).catch(Y=>{z?.showError?.(Y)})})));const J=g?"saveWorkbook":`saveWorkbookAs${R.key}`;A.push(new i.Oe(J,K,D,Y=>{je(w,Y??F,R).catch(xe=>{z?.showError?.(xe)})}))}),A.push(new i.Oe("openWorkbook",K,{label:"Open Workbook…",scopedLabels:{workbook:"Open…"},description:"Open a workbook from the desktop.",shortcut:{key:"O",modifiers:[i.De.Ctrl]}},async(R=null)=>{const g={date1904:w.isDate1904(),...w.options};try{const D=await me(R,g);if(!D)return;const J=D.title,Y=D.workbook,xe=Y.getSelectedSheet();if(D.formatType.mimeType==="text/csv"){const He=w.findValidSheetName(J);await w.doBatch(async()=>{const et=xe.getUsedRange();et?await w.getSheets().add({name:He,autoSelect:!0}).getRange({colStart:0,rowStart:0,colEnd:0,rowEnd:0}).copyFrom(et):z?.showMessage("The file appears to be blank.")},`Import CSV '${J}'`)}else w?.close(),H?.(J),T(Y)}catch(D){z?.showError?.(D)}})),A.push(new i.Oe("openWorkbookFromUrl",K,{label:"Open Workbook From Web",scopedLabels:{insert:"From Web",workbook:"From Web…"},description:"Open a workbook from the web."},async function(R){if(!R){const g=await z?.showInputOptions?.({title:"Open Workbook from the Web",description:"Enter the web address for the workbook to open.",inputLabel:"Address",initialValue:"https://www.sheetxl.com/examples/features-checklist.xlsx",inputProps:{style:{minWidth:"440px"}},options:["Open"]});if(g.option!=="Open")return;R=g.input}R&&console.log("openWorkbookFromUrl",R)})));let ee=[];return P&&(ee=[new i.Oe("themeMode",K,{label:"Light/Dark Mode",scopedLabels:{appearance:"Light/Dark Mode"},description:"Toggle the application styling between light and dark mode."}),new i.Oe("defaultThemeMode",K,{label:"Use System Light/Dark Mode",scopedLabels:{appearance:"Use System Default"},description:"Use the system settings to determine styling for light and dark mode."}),new i.Oe("enableDarkGrid",K,{label:"Enable Dark Grid",description:"Allow the grid to render in dark mode if dark mode is being used. This is ensures that the grid will render the colors as specified in another tools (for example Excel)."}),new i.Oe("enableDarkImages",K,{label:"Enable Dark Images",description:"Allow the images to render in dark mode if dark mode is being used. This is ensures that the images will render the colors as specified in another tools (for example Excel). This only has any effect if the grid is in dark mode."})]),[...A,...ee,new i.Tt("help",K,{label:"Show Help",description:"Provide Help.",shortcut:{key:"F1"}},()=>{}),new i.Tt("showKeyboardShortcuts",K,{label:"Keyboard Shortcuts",description:"Show keyboard shortcuts.",shortcut:{key:"/",modifiers:[i.De.Ctrl]}},()=>{}),new i.Oe("gotoUrlGithub",K,{label:"Github",description:"Download examples, explore source code, and leave a star."},()=>{window?.open("https://github.com/sheetxl/sheetxl")}),new i.Oe("gotoUrlDiscord",K,{label:"Discord",description:"Join our community on discord."},()=>{window?.open("https://discord.gg/NTKdwUgK9p")}),new i.Oe("gotoUrlDocumentation",K,{label:"Documentation",description:"Read the documentation."},()=>{window?.open("https://www.sheetxl.com/docs")}),new i.Oe("gotoUrlIssue",K,{label:"Create Issue",description:"Create an issue to identify a bug or a feature request."},()=>{window?.open("https://github.com/sheetxl/sheetxl/issues")})]},[w,F,z,O,P,U,S]),Z=l.useMemo(()=>{let A=null;return A=U?U.createChildGroup(K,"standaloneWorkbook",!1):new i.gs(K,"standaloneWorkbook"),A.addCommands(se,!0),A},[U,se]);i.gR({manager:S,commands:Z,notifier:z});const{themeMode:be}=i.UR();l.useEffect(()=>{if(!P||!Z)return;const A=P.mode==="dark"||!P.mode&&be==="dark";Z.getCommand("themeMode").update({state:P.mode??null,label:A?"Dark Mode":"Light Mode",scopedLabels:{appearance:A?"Dark Mode":"Light Mode"}}).updateCallback(()=>{X(A?i.WR.Light:i.WR.Dark)}),Z.getCommand("defaultThemeMode").update({state:!P.mode}).updateCallback(()=>{X(null)}),Z.getCommand("enableDarkGrid").update({state:P.enableDarkGrid}).updateCallback(()=>{ie(!P.enableDarkGrid)}),Z.getCommand("enableDarkImages").update({state:P.enableDarkImages}).updateCallback(()=>{pe(!P.enableDarkImages)})},[be,P,se]);const{showModal:Me}=i.Bu();return l.useEffect(()=>{const A=()=>new Promise((ee,R)=>{const g=l.lazy(()=>Promise.resolve().then(()=>require("./gbABnN2zW1kHo3_I.cjs"))),D=Me(g,{title:"Shortcut Keys Reference",commands:Z,onDone:()=>{D.hide()},TransitionProps:{onExited:()=>{ee(!0)}}})});Z.getCommand("showKeyboardShortcuts").updateCallback(()=>A()),Z.getCommand("help").updateCallback(()=>A())},[se,Z]),Z})({workbook:r,setWorkbook:t,importExportDisabled:f,workbookTitle:a,setWorkbookTitle:s,commands:p,requestWorkbookTitle:$=>new Promise(w=>{n.current?n.current.requestWorkbookTitle((T,O)=>{w(T)},{selectAll:!0,requestReason:$}):w(u)}),themeOptions:x,undoManager:d,notifier:B,onExecute:I});l.useEffect(()=>{v.starting.size<=0||!v.isMounted||k($=>{const w=new Map($.running);return $.starting.forEach((T,O)=>{const F=()=>{k(H=>{const z=new Map(H.running);return z.delete(O),{...H,running:z}})};w.set(O,F),T(F)}),{...$,starting:new Map,running:w}})},[v]);const[G,Q]=l.useState(null);l.useEffect(()=>{v.starting.size!==0||v.running.size!==0?Q(m.jsx(i.Vl,{icon:m.jsx(i.RR,{sx:{transform:"scale(0.7)",marginLeft:"-6px"}}),panel:!0,label:v.label,onMount:h,onUnmount:j,sx:{position:"absolute",left:"0",top:"0",width:"100%",height:"100%",zIndex:"9999"}})):Q(null)},[v.starting,v.running]);const re=l.useMemo(()=>m.jsx(i.$R,{commands:_,disableHover:!0,sx:{padding:"0"},buttonProps:{sx:{maxHeight:"22px"}}}),[_]),N={notifier:B,commands:_};return r&&(N.statusBarProps={childrenEnd:re}),m.jsxs(m.Fragment,{children:[G,c?l.cloneElement(c,N):null]})}));Rt.displayName="SnackbarAndCommandsWrapper";const Lt=l.memo(l.forwardRef((e,o)=>{const{className:r,sx:t,style:n,onElementLoad:a,onError:s,undoManager:u,errorPanel:c=i.xx,onKeyDown:d,workbook:p,createWorkbookOptions:f,onWorkbookChange:x,logo:E,importExportDisabled:y=!1,themeOptions:b,autoFocus:v=!1,commands:k,title:h,onTitleChange:j,titleProps:C,renderLoadingPanel:W,...M}=e,q=l.useRef(null),B=i.fe(x,[x]),I=i.fe(j??C?.onTitleChange,[j??C?.onTitleChange]),_=C?.placeHolder??"Untitled",G=b?.mode,{themeMode:Q,source:re}=i.UR({mode:G}),N=l.useMemo(()=>({...b,light:i.DR(!1,ce.CommonUtils.deepMerge(b?.theme??{},b?.light??{})),dark:i.DR(!0,ce.CommonUtils.deepMerge(b?.theme??{},b?.dark??{}))}),[b]),$=Q===i.WR.Dark,[w,T]=l.useState(null);l.useEffect(()=>{T(u??new ce.UndoManager)},[u]);const[O,F]=l.useState(null),[H,z]=l.useState(null),ae=i.Xf();l.useLayoutEffect(()=>{if(!p||Object.keys(p).length===0&&!ce.CommonUtils.isPromiseLike(p)){const g={theme:ae.getDefaultTheme(),...f};z(new ce.Workbook(g))}else z(p)},[p]),l.useLayoutEffect(()=>{if(H){if(H instanceof ce.Workbook)return F({workbook:H}),void(p!==H&&B?.(H));(async()=>{try{let g,D=await Promise.resolve(H);D&&D.source&&(D=await i.qR.read(D)),D.workbook?(X(D.title),g=D.workbook):g=D,B?.(g),F({workbook:g})}catch(g){B?.(null),F({error:g})}})()}},[H]);const[P,S]=l.useState(null);l.useEffect(()=>{if(!w||!O)return;w.clear();const g=O?.workbook?.getTransactions();return g?g.addListener({onCommitEnd:D=>{D.getDescription()?w.addUndoOperation({description:D.getDescription(),undo:()=>(g.revert(D.getId()),P.source?.focus(),()=>{g.restore(D.getId()),P.source?.focus()})}):console.warn("commit has no description",D)}}):void 0},[w,O,P]);const U=i.fe(g=>{g?w.setRepeatableOperation({description:g.label(),repeat:async()=>g.execute()}):w.setRepeatableOperation(null)},[w]),[V,X]=l.useState(h??C?.title??"");l.useEffect(()=>{X(h??C?.title??"")},[h??C?.title]),l.useEffect(()=>{I?.(V)},[V]);const[ie,pe]=l.useState(null),me=l.useMemo(()=>{const g=()=>({contains:D=>!0,focus(){}});return k?k.createChildGroup(g,"application",!1):new i.gs(g,"application")},[k]),je=i.fe(g=>{pe(g.source.getViewportElement()),S(g),me.activate("sheet"),a?.(g)},[me]);l.useEffect(()=>{P&&v&&P.source?.focus(typeof v=="object"?v:void 0)},[P]);const K=l.useRef(null),se=l.useCallback(g=>{let D=null;return C?.hidden||(D=m.jsx(i.eR,{...C,style:{maxWidth:"100%",...C?.style},workbook:q.current,ref:K,title:V,placeHolder:_,onTitleChange:J=>{X(J)}})),m.jsx(Tt,{...g,logo:E,mainElement:D,showFileMenu:!y,showAppearanceMenu:!!(N?.onEnabledDarkGridChange||N?.onEnabledDarkImagesChange||N?.onModeChange)})},[E,V,C,N,y,me]);l.useEffect(()=>{const g=D=>D.preventDefault();return q.current?.addEventListener("wheel",g,{passive:!1}),()=>{q.current?.removeEventListener("wheel",g)}},[]);const Z=l.useMemo(()=>{const g={transparentBackground:!0};return m.jsx(i.Box,{sx:t,style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",...n},children:W?.(g)??m.jsx(i.Vl,{...g})})},[t,n,W]),be=l.useCallback(({error:g})=>(s?.(g),m.jsx(c,{sx:t,style:n,error:g??"Unable to display empty workbook."})),[t,n,s]),Me=l.useMemo(()=>({...t,"& .SnackbarContainer-root":{position:"absolute !important"},"& .notistack-Snackbar":{minWidth:"unset"},"& .notistack-MuiContent *":{fontFamily:g=>g.typography.fontFamily},"& #notistack-snackbar":{maxWidth:"560px",whiteSpace:"pre-wrap"},"*":{userSelect:"none"}}),[t]),A=i.h5([q,o]),ee=l.useMemo(()=>{if(!O)return Z;if(O.error||!O.workbook)return be({error:O.error});let g=null,D=null,J=!1;return N&&(g=$?N.dark:N.light,D=$&&N.enableDarkGrid?N.dark:N.light,J=N.enableDarkImages),m.jsx(i.JM,{sx:Me,style:n,tabIndex:0,autoFocus:!0,workbook:O.workbook,ref:A,renderToolbar:se,onElementLoad:je,onRepeatCommandChange:U,onKeyDown:Y=>{d?.(Y)},renderLoadingPanel:W,gridTheme:D,headersTheme:g,enableDarkImages:J,className:i.yo(r,"sheetxl-workbook"),onContextMenu:Y=>Y.preventDefault(),...M},"WorkbookElement")},[O,V,w,Z,W,N,M,se,Me]);let R=m.jsx(Jt,{fallbackRender:be,children:m.jsx(pn,{maxSnack:3,domRoot:ie,anchorOrigin:{vertical:"bottom",horizontal:"right"},autoHideDuration:3500,onClose:(g,D,J)=>{q.current?.focus()},Components:{error:Mt},iconVariant:{success:m.jsx(i.SvgIcon,{style:{marginRight:"8px"},children:m.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"})}),error:m.jsx(i.MR,{style:{marginRight:"8px"}})},children:m.jsx(i.IR,{children:m.jsx(Rt,{workbook:O?.workbook,setWorkbook:z,importExportDisabled:y,titlePlaceHolder:_,titleWorkbook:V,setWorkbookTitle:X,refWorkbookTitle:K,commands:me,undoManager:w,themeOptions:N,children:ee})})})});return N&&(R=m.jsxs(i.nk,{theme:$?N.dark:N.light,children:[N.cssBaseline?m.jsx(Gt,{}):null,R]})),R}));Lt.displayName="EagerStudio";const fn=Object.freeze(Object.defineProperty({__proto__:null,default:Lt},Symbol.toStringTag,{value:"Module"})),hn=Object.freeze(Object.defineProperty({__proto__:null,E:fn,c:oe},Symbol.toStringTag,{value:"Module"}));exports.Collapse=Fe,exports.DffuCp_514AjqJLT=hn,exports.he=oe;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("react"),n=require("./
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),a=require("react"),n=require("./CalnqtYH48_x2rcI.cjs"),k=["Ok","Cancel"],b=a.memo(x=>{const{tableOptions:o,context:c,onOption:p,onValidateOption:y,onDone:d,options:u=k,defaultOption:s=u?.[0],cancelOption:i="Cancel",sx:h,...m}=x,[O,f]=a.useState(!1),[l,C]=a.useState(()=>o?.hasHeader??!1),[r,j]=a.useState(()=>o?.ranges??null),S=n.fe(e=>{const g={...o,hasHeader:l,ranges:r};p?.(e,e===i,e===s),d?.({option:e,tableOptions:g})},[d,p,s,i,l,r,o]),T=a.useCallback(async(e,g)=>null,[]);return t.jsx(n.b4,{title:"Insert Table",options:u,onDone:S,onValidateOption:T,defaultOption:s,cancelOption:i,autoFocusSel:".range-input input",sx:{width:"360px",...h},...m,children:t.jsxs(n.Box,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),display:"flex",flexDirection:"column"},children:[t.jsx(n.cM,{formName:"range",value:r,onChangeInput:e=>j(e),resolvedAddress:c.getNames().getRanges.bind(c.getNames()),onFocus:e=>{O||e.target?.select(),f(!0)}}),t.jsx(n.FormControlLabel,{control:t.jsx(n.Checkbox,{checked:l,onChange:()=>C(!l)}),label:"Table has headers",labelPlacement:"end"})]})})});exports.TableNewDialog=b,exports.default=b;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
-
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./Dva96jeug6x2xYZm.cjs"),p=require("./HCih5BN1MZGUuqGG.cjs"),d=require("@sheetxl/sdk");class G{constructor(t){this.list=t}get length(){return this.list.length}item(t){return this.list[t]}forEach(t,e){for(let s=0;s<this.list.length;s++)t(this.list[s],s,this)}}const W=u=>u===!0||u==="1"||u==="on"||u==="true"||u!==!1&&u!=="0"&&u!=="off"&&u!=="false"&&null,X=u=>{const t=parseInt(u);return isNaN(t)?null:t},$=u=>{const t=parseFloat(u);return isNaN(t)?null:t},K=new Map;class S{constructor(t,e,s,r,o,i=null,n){const l=(c,h,g)=>n?.getRef?.(c,h,g,n?.parsedRefs),a=c=>n?.getRefs?.(c,n?.parsedRefs);this._parent=t,this.sharedShared=e,this.currentPath=s,this.elemRoot=r,this.jsonRoot=o,t?(this._fileLocation=t._fileLocation,this._getRef=t._getRef,this._getRefs=t._getRefs):(i&&(this._fileLocation=i),l&&a&&(this._getRef=l),a&&(this._getRefs=a),this._onWarning=n?.onWarning,this._addPerson=n?.addPerson)}getRef(t,e=!1){return this._getRef?.(t,this._fileLocation,e)??null}getRelationships(){return this._getRefs(this._fileLocation)??K}getPath(){return this.currentPath}getElemRoot(){return this.elemRoot}getJsonRoot(){return this.jsonRoot}warn(t){this._onWarning?this._onWarning(t):this._parent?this._parent?.warn?.(t):console.warn(t)}addPerson(t){return this._addPerson?this._addPerson(t):this._parent?this._parent?._addPerson?.(t):null}getVisitorParamsState(){return this.sharedShared.getVisitorParamsState()}evaluate(t,e){if(!t)return e;let s=[e];const r=t.split("/");for(let o=0;o<r.length;o++){const i=r[o];if(i===""||i===".")continue;let n=[];for(let l=0;l<s.length;l++){const a=s[l],c=a.childNodes;for(let h=0;c&&h<c.length;h++){const g=a.childNodes[h];g.localName!==i&&i!=="*"||n.push(g)}}s=n}return s.length===1?s[0]:s.length===0?null:new G(s)}getFromPath(t,e){return I.Jt.getFromPath(t,e)}setToPath(t,e,s){return I.Jt.setToPath(t,e,s)}getValAttrAsString(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?s.getAttribute("val")??null:null}getValAttrAsBoolean(t,e,s=!1){let r=this.evaluate(t,e);if(!r)return null;const o=r.hasAttribute("val")?r.getAttribute("val"):void 0;return o==null?s:o==="1"||o==="on"||o==="true"||o!=="0"&&o!=="off"&&o!=="false"&&s}getValAttrAsInteger(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseInt(s.getAttribute("val"))??null:null}getValAttrAsFloat(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseFloat(s.getAttribute("val"))??null:null}get BOOLEAN_COPY(){return W}get INT_COPY(){return X}get FLOAT_COPY(){return $}copyFromAttribute(t,e,s,r=e,o=null){if(!t||!s||!t.hasAttribute(e))return;let i=t.getAttribute(e);if(o){if(Array.isArray(o)){for(let n=0;n<o.length;n++)if(i==null||(i=o[n](i),i==null))return}else if(i==null||(i=o(i),i==null))return}this.setToPath(s,r,i)}}class V{constructor(t){this.jsonKey=t}visit(t,e,s){const r={};return s[this.jsonKey]=r,r}}class H{visit(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);i.nodeType===1&&i.localName==="Relationship"&&this.processRelationship(t,i,s)}return s}processRelationship(t,e,s){const r={};t.copyFromAttribute(e,"Target",r,"target"),t.copyFromAttribute(e,"Type",r,"type"),t.copyFromAttribute(e,"TargetMode",r,"targetMode"),s[e.getAttribute("Id")]=r}}const D=(u,t)=>{if(u||!u.hasAttribute("rot"))return;const e=u.getAttribute("rot"),s=I.Jt.roundAccurately(p.p(e),2);s!==-1e3&&(t.rotation=s)},f=(u,t,e,s,r)=>{const o=u.getValAttrAsString(s,t);o!==null&&(e[r]=o)},A=(u,t,e,s,r=s,o=null)=>{const i=u.getValAttrAsBoolean(s,t,o);i!==null&&(e[r]=i)},C=(u,t,e,s,r)=>{const o=u.getValAttrAsInteger(s,t);o!==null&&(e[r]=o)},y=(u,t,e,s,r,o=1)=>{const i=u.getValAttrAsFloat(s,t);i!==null&&(e[r]=i*o)};class J{visit(t,e,s){return A(t,e,s,"roundedCorners","roundedCorners"),C(t,e,s,".//AlternateContent/Fallback/style","styleId"),s.range=null,s}afterVisit(t,e,s){let r={};s.types=r;let o={},i=0,n={},l=0,a=t.getVisitorParamsState().get("axes");const c=t.getVisitorParamsState().get("types");for(let m=0;m<c.length;m++){const b=c[m];if(b.xAxisId){const v=b.xAxisId,P=a.get(v);o[m+""]=P,b.offsetXAxis=m,delete b.xAxisId,s.xAxes=o,o.length=++i}if(b.yAxisId){const v=b.yAxisId,P=a.get(v);n[m+""]=P,b.offsetYAxis=m,delete b.yAxisId,s.yAxes=n,n.length=++l}r[m+""]=b}r.length=c.length;const h=t.getVisitorParamsState().get("series");if(!h||h.length===0)return;const g={};s.series=g;for(let m=0;m<h.length;m++)g[m+""]=h[m];g.length=h.length}}class q{visit(t,e,s){return A(t,e,s,"plotVisOnly","plotVisOnly"),f(t,e,s,"dispBlanksAs","dispBlanksAs"),A(t,e,s,".//extLst/ext/dataDisplayOptions16/dispNaAsBlank","dispNaAsBlank"),A(t,e,s,"showDLblsOverMax","showDLblsOverMax"),s}afterVisit(t,e,s){try{const r=t.getValAttrAsBoolean("autoTitleDeleted",e),o=t.evaluate("title",e);t.setToPath(s,"title.shown",!(r===!0||!o));const i=t.evaluate("legend",e);t.setToPath(s,"legend.shown",i!==null)}catch(r){throw new Error("Unexpected Error parsing Chart: "+r)}}}class Q{visit(t,e,s){let r={};return s.plotArea=r,r}}class O{EnumMappings(){}static fromOoxmlGradientType(t){return t==="circle"?"radial":t}static fromOoxmlLineCap(t){if(t==="rnd")return"round";if(t==="flat")return"butt";if(t==="sq")return"square";throw new Error("Invalid lineCap type: "+t)}static fromOoxmlCompound(t){return t==="sng"?"single":t}static fromOoxmlAlignment(t){return t==="ctr"?"center":t}}class M{visit(t,e,s){}processStroke(t,e,s){const r={},o=t.evaluate("ln",e);if(o){o.hasAttribute("algn")&&(r.align=O.fromOoxmlAlignment(o.getAttribute("algn"))),o.hasAttribute("cap")&&(r.lineCap=O.fromOoxmlLineCap(o.getAttribute("cap"))),o.hasAttribute("cmpd")&&(r.compound=O.fromOoxmlCompound(o.getAttribute("cmpd"))),o.hasAttribute("w")&&(r.width=p.t(o.getAttribute("w")));const i=t.evaluate("miter",o);i&&(r.lineJoin="miter",i.hasAttribute("lim")&&(r.miter=parseFloat(i.getAttribute("lim")))),t.evaluate("bevel",o)&&(r.lineJoin="bevel"),t.evaluate("round",o)&&(r.lineJoin="round");const n=t.evaluate("custDash",o);if(n){const c=t.evaluate("ds",n);if(c&&c.length>0){let h="";for(let g=0;g<c.length;g++){const m=c.item(g);h+=p.a(m.getAttribute("d"))+","+p.a(m.getAttribute("sp"))}r.dash=h}}const l=t.evaluate("prstDash",o);l&&l.hasAttribute("val")&&(r.dash=l.getAttribute("val")),this.parseEndElement(t,o,r,"headEnd","head"),this.parseEndElement(t,o,r,"tailEnd","tail");const a=this.processFill(t,o,s);r.fill=a}return r}parseEndElement(t,e,s,r,o){const i=t.evaluate(r,e);if(i&&(i.hasAttribute("type")&&(s[o+"Type"]=i.getAttribute("type")),i.hasAttribute("len")||i.hasAttribute("w"))){const n=i.getAttribute("len")?i.getAttribute("len"):"med",l=i.getAttribute("w")?i.getAttribute("w"):"med";s[o+"Size"]=n+"-"+l}}processFill(t,e,s){const r={};if(t.evaluate("noFill",e))return r.none=!0,r;const o=t.evaluate("solidFill",e);if(o){const a=this.processAdjColor(t,o);return a&&(r.solid=a),r}const i=t.evaluate("gradFill",e);if(i){i.hasAttribute("rotWithShape")&&(r.isRotated=i.getAttribute("rotWithShape")==="1");const a=this.processGradFill(t,i);return r.gradient=a,r}const n=t.evaluate("pattFill",e);if(n){const a=this.processPatternFill(t,n);return r.pattern=a,r}const l=t.evaluate("blipFill",e);if(l){l.hasAttribute("rotWithShape")&&(r.isRotated=p.b(l.getAttribute("rotWithShape"))),l.hasAttribute("dpi")&&(r.dpi=l.getAttribute("dpi"));const a=this.processImageFill(t,l);return r.image=a,r}return r.none=!0,r}processGradFill(t,e){const s={},r=t.evaluate("lin",e);if(r){if(s.type="linear",r.hasAttribute("ang")){const c=p.p(r.getAttribute("ang"));s.angle=c}if(r.hasAttribute("scaled")){const c=p.b(r.getAttribute("scaled"));s.scaled=c}}const o={};e.hasAttribute("flip")&&(o.mirror=e.getAttribute("flip")),Object.keys(o).length>0&&(s.tile=o);const i=t.evaluate("path",e);if(i){i.hasAttribute("path")&&(s.type=O.fromOoxmlGradientType(i.getAttribute("path")));const c=t.evaluate("fillToRect",i);c&&(s.fillTo=this.getRect(c))}const n=t.evaluate("tileRect",e);n&&(s.tile.bounds=this.getRect(n));const l=[],a=t.evaluate("gsLst/gs",e);for(let c=0;a&&c<a.length;c++){const h=a.item(c),g={offset:p.a(h.getAttribute("pos")),color:this.processAdjColor(t,h)};l.push(g)}return l.length>0&&(s.stops=l),s}getRect(t){const e={};return t.hasAttribute("t")&&(e.t=p.a(t.getAttribute("t"))),t.hasAttribute("l")&&(e.l=p.a(t.getAttribute("l"))),t.hasAttribute("b")&&(e.b=p.a(t.getAttribute("b"))),t.hasAttribute("r")&&(e.r=p.a(t.getAttribute("r"))),Object.keys(e).length===0?null:e}processImageFill(t,e){return{ref:"https://www.sheetxl.com/logo-color-padded-white.jpg",tile:!1}}processPatternFill(t,e){const s={},r=e.getAttribute("prst");s.type=r;const o=t.evaluate("bgClr",e);if(o){const n=this.processAdjColor(t,o);n&&(s.background=n)}const i=t.evaluate("fgClr",e);if(i){let n=this.processAdjColor(t,i);n&&(s.foreground=n)}return s}processAdjColor(t,e){const s=t.evaluate("hslClr",e);if(s)return this.processHslClr(t,s);const r=t.evaluate("prstClr",e);if(r)return this.processClrWithValAttribute(t,r);const o=t.evaluate("schemeClr",e);if(o)return this.processClrWithValAttribute(t,o);const i=t.evaluate("sysClr",e);if(i)return this.processClrWithValAttribute(t,i);const n=t.evaluate("scrgbClr",e);if(n)return this.processScrgbClrElement(t,n);const l=t.evaluate("srgbClr",e);return l?this.processSrgbClrElement(t,l):null}processScrgbClrElement(t,e){let s="lrgba("+p.a(e.getAttribute("r"))+","+p.a(e.getAttribute("g"))+","+p.a(e.getAttribute("b"))+")";return s+=this.processAdjustments(t,e),s}processSrgbClrElement(t,e){let s=e.getAttribute("val");return s+=this.processAdjustments(t,e),s}processHslClr(t,e){let s="hsl("+p.p(e.getAttribute("hue"))+","+p.a(e.getAttribute("sat"))+","+p.a(e.getAttribute("lum"))+")";return s+=this.processAdjustments(t,e),s}processClrWithValAttribute(t,e){const s=e.getAttribute("val");if(!s)return;let r=s;return r+=this.processAdjustments(t,e),r}processAdjustments(t,e){let s="";const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1){let n=i.localName;s+=n==="hue"||n==="hueOff"||n==="hueMod"?this.processAdjustmentElement(t,e,n,6e4):n==="gray"||n==="comp"||n==="inv"||n==="gamma"||n==="invGamma"?this.processAdjustmentElement(t,e,n,1):this.processAdjustmentElement(t,e,n)}}return s}processAdjustmentElement(t,e,s,r=1e3){const o=t.evaluate(s,e);if(!o)return"";const i=o.getAttribute("val");return i?` ${s} ${!i||parseFloat(i)/r}`:` ${s}`}}class L extends M{visit(t,e,s){try{const r=t.evaluate("xfrm",e);if(r){D(r,s);const l={x:0,y:0,width:0,height:0},a=t.evaluate("off",r);a&&(l.x=p.c(a.getAttribute("x"))??0,l.y=p.c(a.getAttribute("y"))??0);const c=t.evaluate("ext",r);a&&(l.width=p.c(c.getAttribute("cx"))??0,l.height=p.c(c.getAttribute("cy"))??0),s.bounds=l}const o=t.evaluate("prstGeom",e);o?.hasAttribute("prst")?s.geometry=o?.getAttribute("prst"):t.evaluate("customGeom",e)&&console.warn("customGeom not supported yet");const i=this.processFill(t,e,s);i&&Object.keys(i).length>0&&(s.fill=i);const n=this.processStroke(t,e,s);return n&&Object.keys(n).length>0&&(s.stroke=n),s}catch(r){throw console.warn(r),new Error("Unexpected Error parsing Shape Properties element")}}}class N{visit(t,e,s){let r={};if(f(t,e,r,"grouping","grouping"),A(t,e,r,"varyColors","varyColors"),y(t,e,r,"gapWidth","gapWidth",.01),y(t,e,r,"overlap","overlap",.01),this.parseType(t,e,r),C(t,e,r,"bubbleScale","bubbleScale"),A(t,e,r,"showNegBubbles","showNegativeBubbleValues"),A(t,e,r,"sizeRepresents","bubbleSizeRepresentsWidth"),C(t,e,r,"firstSliceAng","startAngle"),C(t,e,r,"holeSize","holeSize"),f(t,e,r,"scatterStyle","scatterStyle"),this.parseAxisIds(t,e,r),Object.keys(r).length>0){let o=t.getVisitorParamsState().get("types");o||(o=[],t.getVisitorParamsState().set("types",o)),o.push(r)}return r}parseType(t,e,s){switch(e.localName){case"areaChart":s.type="area";break;case"bubbleChart":s.type="bubble";break;case"doughnutChart":case"ofPieType":case"pieChart":s.type="pie";break;case"lineChart":s.type="line";break;case"scatterChart":s.type="scatter"}}parseAxisIds(t,e,s){const r=t.evaluate("axId",e);if(r.length===0)return;const o=r.item(0).getAttribute("val");s.xAxisId=o;const i=r.item(1).getAttribute("val");s.yAxisId=i}}class Z extends N{parseType(t,e,s){const r=t.getValAttrAsString("barDir",e);r&&(s.type=r==="col"?"column":"bar")}}class w{constructor(t){this.jsonKey=t}visit(t,e,s){let r={},o=r,i=t.getValAttrAsString("idx",e);i!==null&&(o={},o[i]=r);const n=t.getValAttrAsBoolean("delete",e);this.parseNumFormat(t,e,r),n===!0?(r.showBubbleSize=!1,r.showCatName=!1,r.showLeaderLines=!1,r.showPercentage=!1,r.showSerName=!1,r.showVal=!1,r.showLegendKey=!1):(A(t,e,r,"showBubbleSize","showBubbleSize"),A(t,e,r,"showCatName","showCatName"),A(t,e,r,"showLeaderLines","showLeaderLines"),A(t,e,r,"showPercent","showPercentage"),A(t,e,r,"showSerName","showSerName"),A(t,e,r,"showVal","showVal"),A(t,e,r,"showLegendKey","showLegendKey"));const l=t.evaluate("separator",e);return l!==null&&(r.separator=l.textContent),f(t,e,r,"dLblPos","position"),s[this.jsonKey]=o,r}parseNumFormat(t,e,s){const r=t.evaluate("numFmt",e);if(r){const o=r.getAttribute("formatCode");s.formatCode=o,r.hasAttribute("sourceLinked")&&(s.sourceLinked=r.getAttribute("sourceLinked")==="1")}}}const U=(u,t,e)=>{if(u.getValAttrAsBoolean("invertIfNegative",t)===!0)if(u.evaluate("extLst/ext/invertSolidFillFmt",t)){if(e.fill&&e.fillNegative){const s=u.getFromPath(e,"fill.solid.adjs");s&&u.setToPath(e,"fillNegative.solid.adjs",s)}}else{const s={val:"FFFFFF"},r={};r.solid=s,e.fillNegative=r;const o={val:"000000"},i={};i.solid=o;const n={};n.fill=i,e.strokeNegative=n}};class tt{visit(t,e,s){const r={};C(t,e,r,"explosion","explosion");let o=t.evaluate("cat/*/f",e);o||(o=t.evaluate("xVal/*/f",e));let i=null;o!==null&&o.firstChild!==null&&(i=o.firstChild.nodeValue),o||(o=t.evaluate("cat/strLit",e),o||(o=t.evaluate("cat/numLit",e)),o&&(i=this.parsePointsAsString(t,o))),i!==null&&(r.xRange=i);let n=t.evaluate("val/*/f",e);n||(n=t.evaluate("yVal/*/f",e));let l=null;n&&n.firstChild&&(l=n.firstChild.nodeValue),n||(n=t.evaluate("val/numLit",e),n!==null&&(l=this.parsePointsAsString(t,n))),l!==null&&(r.valRange=l),this.parseTitleRangeOrValue(t,e,r),C(t,e,r,"idx","idx"),A(t,e,r,"smooth","smooth");const a=t.getVisitorParamsState().get("types").length-1;r.offsetChart=a;let c=t.getVisitorParamsState().get("series");return c||(c=[],t.getVisitorParamsState().set("series",c)),c.push(r),r}parseTitleRangeOrValue(t,e,s){const r=t.evaluate("tx/strRef/f",e);if(r!==null){const o=r.firstChild.nodeValue;t.setToPath(s,"title.range",o)}else{const o=t.evaluate("tx/v",e);o!==null&&t.setToPath(s,"title.text.simpleRun",o.firstChild.nodeValue)}}parsePointsAsString(t,e){let s="{";const r=t.getValAttrAsInteger("ptCount",e),o=t.evaluate("pt",e),i=[];for(let n=0;o&&r&&n<r;n++){let l=null,a=t.evaluate("pt[@idx='"+n+"']/v",e);a instanceof Node&&(l=a.textContent),i[n]=l}for(let n=0;n<i.length;n++)n>0&&(s+=","),i[n]!==void 0&&(s+=i[n]);return s+="}",s}afterVisit(t,e,s){U(t,e,s);let r=t.getFromPath(s,"points");if(r){const o=Object.keys(r);for(let i=0;i<o.length;i++){const n=o[i],l=t.getFromPath(r,n);if(!l)continue;let a=t.getFromPath(l,"markers");a&&(t.setToPath(s,"markers.points."+n,a),delete l.markers)}}}}class et{DataPointVisitor(){}visit(t,e,s){let r=t.getFromPath(s,"points"),o=null;r?o=r:(o={},t.setToPath(s,"points",o));let i={},n=t.getValAttrAsString("idx",e);return n!==null&&(o[n]=i),A(t,e,i,"bubble3D","bubble3D"),C(t,e,i,"explosion","explosion"),U(t,e,i),i}}class rt{visit(t,e,s){const r=e.parentNode.localName;if(r==="ser"||r==="dPt"){const o={},i=t.getValAttrAsString("size",e);i!==null&&(o.size=i);const n=t.getValAttrAsString("symbol",e);return n&&(o.type=n),s.markers=o,o}return null}}class x{visit(t,e,s){let r={};this.parseScaling(t,e,r),y(t,e,r,"majorUnit","majorUnits"),y(t,e,r,"minorUnit","minorUnits"),A(t,e,r,"delete","shown"),this.parseOrientation(t,e,r),this.parseNumFormat(t,e,r),f(t,e,r,"majorTickMark","majorTickMarks"),f(t,e,r,"minorTickMark","minorTickMarks"),f(t,e,r,"crosses","crosses"),y(t,e,r,"crossesAt","crosses"),f(t,e,r,"crossBetween","crossBetween"),this.parseLabelAlign(t,e,r),C(t,e,r,"lblOffset","labelOffset"),f(t,e,r,"tickLblPos","labelPosition");const o=t.getValAttrAsInteger("noMultiLvlLbl",e);r.labelMultiLevel=o!==null&&o===0,C(t,e,r,"tickMarkSkip","tickMarkSkip"),C(t,e,r,"tickLblSkip","labelInterval"),this.parseDisplayCustOrBuiltInUnit(e,t,r),this.parseTimeUnits(t,e,r,"majorUnitDates","majorTimeUnit","majorUnit"),this.parseTimeUnits(t,e,r,"minorUnitDates","minorTimeUnit","minorUnit"),f(t,e,r,"baseTimeUnit","baseUnitDates"),t.getVisitorParamsState().get("axes")||t.getVisitorParamsState().set("axes",new Map);const i=t.getValAttrAsString("axId",e);return t.getVisitorParamsState().get("axes").set(i,r),r}parseTimeUnits(t,e,s,r,o,i){const n={};let l=t.getValAttrAsString(o,e);if(l!==null){n.dem=l;let a=t.getValAttrAsString(i,e);n.amt=a}Object.keys(n).length>0&&(s[r]=n)}parseDisplayCustOrBuiltInUnit(t,e,s){let r=e.getValAttrAsString("dispUnits/builtInUnit",t);r||(r=e.getValAttrAsString("dispUnits/custUnit",t)),r&&(s.displayUnits=r)}parseLabelAlign(t,e,s){let r=t.getValAttrAsString("lblAlgn",e);r!==null&&(r==="ctr"?s.labelAlign="center":r==="l"?s.labelAlign="left":r==="r"&&(s.labelAlign="right"))}parseOrientation(t,e,s){const r=t.getValAttrAsString("AxPos",e);r!==null&&(r==="b"?s.orientation="bottom":r==="l"?s.orientation="left":r==="r"?s.orientation="right":r==="t"&&(s.orientation="top"))}parseNumFormat(t,e,s){const r={},o=t.evaluate("numFmt",e);o!==null&&(o.hasAttribute("formatCode")&&(r.formatCode=o.getAttribute("formatCode")),o.hasAttribute("sourceLinked")&&(r.sourceLinked=o.getAttribute("sourceLinked")==="1")),Object.keys(r).length>0&&(s.labels=r)}parseScaling(t,e,s){const r=t.getValAttrAsString("scaling/orientation",e);r!==null&&(s.inverted=r!=="minMax");const o=t.getValAttrAsFloat("scaling/logBase",e);o!==null&&(s.logBase=o,s.scaleType="log"),y(t,e,s,"scaling/max","max"),y(t,e,s,"scaling/min","min")}afterVisit(t,e,s){s.fill&&s.labels&&(s.labels.fill=s.fill,delete s.fill);let r=t.getValAttrAsBoolean("delete",e);r!==null&&(t.setToPath(s,"labels.shown",r!==!0),t.setToPath(s,"shown",r!==!0));const o=t.getFromPath(s,"dispUnits.displayUnitsLabel");o&&(t.setToPath(s,"displayUnitsLabel",o),delete s.dispUnits);const i=t.evaluate("title",e);t.setToPath(s,"title.shown",i!==null);const n=t.evaluate("minorGridlines",e);t.setToPath(s,"gridLinesMinor.shown",n!==null);const l=t.evaluate("majorGridlines",e);t.setToPath(s,"gridLinesMajor.shown",l!==null)}}class F{constructor(t="text"){this._jsonKey=t}getTextPath(){return this._jsonKey}visit(t,e,s){let r=t.getFromPath(s,this.getTextPath());return r||(r={}),this.parseTextElement(t,e,r,!1),Object.keys(r).length>0&&t.setToPath(s,this.getTextPath(),r),s}parseTextElement(t,e,s,r){const o=t.evaluate("p/pPr/defRPr",e)??t.evaluate("defRPr",e);o&&(this.parseTextProperties(t,o,s),new L().visit(t,o,s));let i=[],n=t.evaluate("p/r",e)??t.evaluate("r",e);const l=c=>{const h={};let g=t.evaluate("t",c);const m=t.evaluate("rPr",c);m&&this.parseTextProperties(t,m,h),g?h.text=g.firstChild.textContent??"":c.textContent&&(h.text=c.textContent??""),i.push(h)};if(n?.length!==void 0)for(let c=0;n&&c<n.length;c++)l(n.item(c));else l(n||e);i.length>0&&(s.runs=i);const a=t.evaluate("bodyPr",e);a&&D(a,s)}parseTextProperties(t,e,s){if(!e)return;e.hasAttribute("sz")&&(s.size=parseFloat(e.getAttribute("sz"))/100),e.hasAttribute("b")&&(s.weight=e.getAttribute("b")==="1"?700:400),e.hasAttribute("i")&&(s.italic=e.getAttribute("i")==="1"),e.hasAttribute("u")&&(s.underline=e.getAttribute("u")),e.hasAttribute("strike")&&(s.strike=e.getAttribute("strike"));const r=t.evaluate("latin",e);if(r&&!r.getAttribute("typeface").startsWith("+")){const o=s.font??{};if(r.hasAttribute("typeface")&&(o.family=r.getAttribute("typeface")),r.hasAttribute("panose")){const i=r.getAttribute("panose");i&&(o.fallbacks=[d.IFont.getPanoseFallback(i)])}r.hasAttribute("pitchFamily")&&(o.pitch=r.getAttribute("pitchFamily")),r.hasAttribute("charset")&&(o.charset=r.getAttribute("charset")),Object.keys(o).length>0&&(s.font=o)}}}class st{visit(t,e,s){let r=t.getVisitorParamsState().get("series")[t.getValAttrAsInteger("idx",e)];if(r){let o=t.getFromPath(r,"title");o||(o={},t.setToPath(r,"title",o));let i=o,n=t.getValAttrAsBoolean("delete",e);return n!==null&&(i.shown=!n),i}return s}}class ot{visit(t,e,s){const r={};return A(t,e,r,"overlay","overlay"),f(t,e,r,"legendPos","position"),s.legend=r,r}}class it extends L{visit(t,e,s){const r=this.processFill(t,e,s);Object.keys(r).length>0&&(s.fillNegative=r);const o=this.processStroke(t,e,s);return Object.keys(o).length>0&&(s.strokeNegative=o),s}}class j extends F{constructor(t="title"){super(t)}parseTitleRangeOrValue(t,e,s){let r=t.evaluate("tx/strRef/f",e)??null;if(r){const o=r.firstElementChild.nodeValue;t.setToPath(s,"range",o)}}visit(t,e,s){const r={};A(t,e,r,"overlay","overlay"),s[this._jsonKey]=r;let o=t.getFromPath(r,this.getTextPath());o||(o={}),this.parseTitleRangeOrValue(t,e,r);const i=t.evaluate("txPr",e);i&&this.parseTextElement(t,i,o,!1);const n=t.evaluate("tx/rich",e);return n&&this.parseTextElement(t,n,o,!0),Object.keys(o).length>0&&t.setToPath(r,this.getTextPath(),o),r}afterVisit(t,e,s){if(s?.text){const r=s.text?.rotation??null;r!==null&&(s.rotation=parseInt(r),delete s.title.rotation)}}}class nt{visit(t,e,s){const r=t.evaluate("manualLayout",e);if(r){let o={};y(t,r,o,"x","x"),y(t,r,o,"y","y"),y(t,r,o,"w","w"),y(t,r,o,"h","h"),f(t,r,o,"xMode","xMode"),f(t,r,o,"yMode","yMode"),f(t,r,o,"wMode","wMode"),f(t,r,o,"hMode","hMode"),Object.keys(o).length>0&&(s.manualLayout=o)}return s}}class lt{visit(t,e,s){return s.name=e.getAttribute("name"),s}}class at extends M{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1){let l=n.localName;const a=t.evaluate(l,e),c=this.processAdjColor(t,a);r[l]=c}}return Object.keys(r).length>0&&(s.colors=r),r}}class ct{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=t.evaluate("majorFont",e),i=this.processFontElement(t,o,{});r.majorFont=i.family,i.fallbacks&&(r.majorFallbacks=i.fallbacks);const n=t.evaluate("minorFont",e),l=this.processFontElement(t,n,{});return r.minorFont=l.family,i.fallbacks&&(r.minorFallbacks=l.fallbacks),s.fonts=r,r}processFontElement(t,e,s){if(!e)return;const r=t.evaluate("latin",e);if(!r)return;const o=r.getAttribute("typeface");o&&(s.family=o);const i=r.getAttribute("panose");return i&&(s.fallbacks=[d.IFont.getPanoseFallback(i)]),s}}class ut{visit(t,e,s){if(!e)return;const r={},o=e.getAttribute("r:id");if(o){const i=t.getRef(o);typeof i=="string"&&(r.address=i)}return t.copyFromAttribute(e,"tooltip",r),t.copyFromAttribute(e,"history",r,"history",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tgtFrame",r,"target"),s.hyperlink=r,r}}class ht{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),this.processFilterColumns(t,e,r),Object.keys(r).length>0&&(s.filter=r),r}processColorFilter(t,e){const s={type:d.IAutoFilter.Type.Color};return t.copyFromAttribute(e,"cellColor",s,"cellColor",t.BOOLEAN_COPY),t.copyFromAttribute(e,"dxfId",s,"styleId",t.INT_COPY),s}processCustomFilter(t,e){const s={};return t.copyFromAttribute(e,"operator",s,"operator",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val"),s}processCustomFilters(t,e){const s={type:d.IAutoFilter.Type.Custom};t.copyFromAttribute(e,"and",s,"and",t.BOOLEAN_COPY);const r=e.childNodes;s.filters=[];for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType!==1)continue;let n=null;i.localName==="customFilter"&&(n=this.processCustomFilter(t,i)),n&&s.filters.push(n)}return s}processDynamicFilter(t,e){const s={type:d.IAutoFilter.Type.Dynamic};return t.copyFromAttribute(e,"type",s,"dynamicType"),t.copyFromAttribute(e,"val",s,"val",t.INT_COPY),t.copyFromAttribute(e,"maxVal",s,"maxVal",t.INT_COPY),s}processDateGroupItem(t,e){const s={};return t.copyFromAttribute(e,"dateTimeGrouping",s,"group"),t.copyFromAttribute(e,"day",s,"day",t.INT_COPY),t.copyFromAttribute(e,"hour",s,"hour",t.INT_COPY),t.copyFromAttribute(e,"minute",s,"minute",t.INT_COPY),t.copyFromAttribute(e,"month",s,"month",t.INT_COPY),t.copyFromAttribute(e,"second",s,"second",t.INT_COPY),t.copyFromAttribute(e,"year",s,"year",t.INT_COPY),s}processFilterItem(t,e){if(e.hasAttribute("val"))return e.getAttribute("val")}processFilters(t,e){const s={type:d.IAutoFilter.Type.Items};t.copyFromAttribute(e,"blank",s,"blank",t.BOOLEAN_COPY),t.copyFromAttribute(e,"calendarType",s,"calendarType");let r=[],o=[];const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1){if(l.localName==="dateGroupItem"){const a=this.processDateGroupItem(t,l);a&&r.push(a)}else if(l.localName==="filter"){const a=this.processFilterItem(t,l);a!==void 0&&o.push(a)}}}return r.length>0&&(s.dateGroups=r),o.length>0&&(s.items=o),s}processIcon(t,e){const s={type:d.IAutoFilter.Type.Icon};return t.copyFromAttribute(e,"iconId",s,"iconId",t.INT_COPY),t.copyFromAttribute(e,"iconSet",s),s}processTop10(t,e){const s={type:d.IAutoFilter.Type.Top10};return t.copyFromAttribute(e,"filterVal",s,"filterVal",t.FLOAT_COPY),t.copyFromAttribute(e,"percent",s,"percent",t.BOOLEAN_COPY),t.copyFromAttribute(e,"top",s,"top",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val",t.FLOAT_COPY),s}processFilterCriteria(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType!==1)continue;let l=null;n.localName==="colorFilter"?l=this.processColorFilter(t,n):n.localName==="customFilters"?l=this.processCustomFilters(t,n):n.localName==="dynamicFilter"?l=this.processDynamicFilter(t,n):n.localName==="filters"?l=this.processFilters(t,n):n.localName==="iconFilter"?l=this.processIcon(t,n):n.localName==="top10"&&(l=this.processTop10(t,n)),l&&o.push(l)}return o.length>0&&(s.criteria=o),o}processFilterColumn(t,e){if(!e)return null;const s={};if(!e.hasAttribute("colId"))return;s.offset=parseInt(e.getAttribute("colId"));let r=!1;return e.hasAttribute("hiddenButton")&&(r=p.b(e.getAttribute("hiddenButton"))),r&&(s.hiddenButton=!0),e.hasAttribute("showButton")&&(s.showButton=p.b(e.getAttribute("showButton"))),this.processFilterCriteria(t,e,s),s}processFilterColumns(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="filterColumn"){const l=this.processFilterColumn(t,n);l&&o.push(l)}}return o.length>0&&(s.fields=o),o}}class pt{visit(t,e,s){if(!e)return;const r={};if(t.copyFromAttribute(e,"ref",r),e.hasAttribute("caseSensitive")){const n=p.b(e.getAttribute("caseSensitive"));r.collatorOptions=n?d.Sort.CaseSensitiveOptions:d.Sort.CaseInsensitiveOptions}const o=e.getAttribute("sortMethod");o!=null&&o!=="none"&&(o==="stroke"?r.collatorOptions={...r.collatorOptions,collation:"stroke"}:o==="pinYin"&&(r.collatorOptions={...r.collatorOptions,collation:"pinyin"})),e.hasAttribute("columnSort")&&p.b(e.getAttribute("columnSort"))&&(r.orientation=d.IRange.Orientation.Column);const i=d.AddressUtils.fastStringToRange(r.ref);return this.processSortConditions(t,e,r,i),Object.keys(r).length>0&&(s.sort=r),r}processSortCondition(t,e,s){if(!e)return null;const r={};if(e.hasAttribute("ref")){if(e.hasAttribute("ref")){const o=e.getAttribute("ref"),i=d.AddressUtils.fastStringToRange(o);r.offset=s?i.colStart-s.colStart:i.colStart}return r.reverse=!1,e.hasAttribute("descending")&&(r.reverse=p.b(e.getAttribute("descending"))),t.copyFromAttribute(e,"sortBy",r,"sortOn"),t.copyFromAttribute(e,"dxfId",r),t.copyFromAttribute(e,"iconSet",r),t.copyFromAttribute(e,"customList",r),r}console.warn("no ref for sort conditional",t.getPath())}processSortConditions(t,e,s,r){if(!e)return;const o=e.childNodes,i=[];for(let n=0;n<o.length;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="sortCondition"){const a=this.processSortCondition(t,l,r);a&&i.push(a)}}return i.length>0&&(s.fields=i),i}}class z{visit(t,e,s){}processDataBarColor(t,e,s,r,o="dk1"){if(!e)return;const i=p.d(n=>e.getAttribute(n),o);return i&&(s[r]=i),s}processFonts(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="font"){const l={};this.processFont(t,n,l),s[o++]=l}}return s}processFont(t,e,s){t.getValAttrAsBoolean("b",e,!0)&&(s.weight=700),t.getValAttrAsBoolean("i",e,!0)&&(s.style=d.IFont.Style.Italic),t.getValAttrAsBoolean("strike",e,!0)&&(s.strike=!0);const r=t.evaluate("u",e);if(r){const n=r.getAttribute("val");s.underline=n||d.IFont.UnderlineStyle.Single}f(t,e,s,"vertAlign","verticalAlign"),s.verticalAlign==="superscript"?s.verticalAlign=d.IFont.VerticalAlignment.Super:s.verticalAlign==="subscript"&&(s.verticalAlign=d.IFont.VerticalAlignment.Sub),y(t,e,s,"sz","size");const o=t.evaluate("color",e);this.processDataBarColor(t,o,s,"fill"),s.fill||(s.fill="dk1"),f(t,e,s,"name","family"),f(t,e,s,"rFont","family");const i=t.evaluate("family",e);if(i){const n=i.getAttribute("val");if(n)switch(n){case"1":s.fallbacks=["serif"];break;case"2":s.fallbacks=["sans-serif"];break;case"3":s.fallbacks=["monospace"];break;case"4":s.fallbacks=["cursive"];break;case"5":s.fallbacks=["fantasy"]}}return f(t,e,s,"scheme","scheme"),A(t,e,s,"shadow","shadow",!0),A(t,e,s,"outline","outline",!0),t.getValAttrAsBoolean("condense",e,!0)&&(s.letterSpacing=-1),t.getValAttrAsBoolean("extend",e,!0)&&(s.letterSpacing=1),f(t,e,s,"charset","charset"),s}processFills(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="fill"&&this.processFill(t,n,s,o++)}return s}processFill(t,e,s,r){const o={type:d.IFill.Type.None},i=e.childNodes;let n=!1;for(let l=0;!n&&l<i.length;l++){const a=i.item(l);a.nodeType===1&&(a.localName==="gradientFill"?(this.processGradientFill(t,a,o),n=!0):a.localName==="patternFill"&&(this.processPatternFill(t,a,o),n=!0))}return s[r]=o,s}processGradientFill(t,e,s){if(!e)return;s.type=d.IFill.Type.Gradient;const r=[];s.stops=r,s.angle=90+(e.hasAttribute("degree")?parseFloat(e.getAttribute("degree")):0);const o=e.getAttribute("type");o&&(s.gradientType=o);const i=l=>{if(!l)return 0;const a=parseFloat(l);return isNaN(a)?0:a};(e.hasAttribute("left")||e.hasAttribute("top")||e.hasAttribute("right")||e.hasAttribute("bottom"))&&(s.fillTo={left:i(e.getAttribute("left")),top:i(e.getAttribute("top")),right:i(e.getAttribute("right")),bottom:i(e.getAttribute("bottom"))});const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="stop"){const c={};r.push(c);const h=parseFloat(a.getAttribute("position"));c.offset=h;const g=t.evaluate("color",a);this.processDataBarColor(t,g,c,"color")}}return s}processPatternFill(t,e,s){if(!e)return;const r=t.getVisitorParamsState().get("processingDXFs"),o=e.getAttribute("patternType")||(r?d.IFill.BuiltInSheetPattern.Solid:d.IFill.BuiltInSheetPattern.None);if(o===d.IFill.BuiltInSheetPattern.None)return{none:!0};s.type=d.IFill.Type.Pattern,o&&(s.patternType=o);let i,n="foreground",l="background";const a=s.patternType===d.IFill.BuiltInSheetPattern.Solid&&r;if(a){i="lt1";const g=n;n=l,l=g}const c=t.evaluate("fgColor",e);this.processDataBarColor(t,c,s,n,i);const h=t.evaluate("bgColor",e);return this.processDataBarColor(t,h,s,l,i),a&&!s.foreground&&(s.foreground=i),s}processBorders(t,e,s,r){if(!e)return;const o=e.childNodes;let i=0;for(let n=0;n<o.length;n++){const l=o.item(n);l.nodeType===1&&l.localName==="border"&&this.processBorder(t,l,s,i++,r)}return s}processBorder(t,e,s,r,o){if(!e)return;const i={};return this.processBorderStroke(t,e,i,d.IBorder.Edge.Left),this.processBorderStroke(t,e,i,d.IBorder.Edge.Right),o?(i.right||i.left)&&(i.right?i.vertical={...i.right}:i.vertical={...i.left}):this.processBorderStroke(t,e,i,d.IBorder.Edge.Vertical),this.processBorderStroke(t,e,i,d.IBorder.Edge.Top),this.processBorderStroke(t,e,i,d.IBorder.Edge.Bottom),o?(i.bottom||i.top)&&(i.right?i.horizontal={...i.bottom}:i.horizontal={...i.top}):this.processBorderStroke(t,e,i,d.IBorder.Edge.Horizontal),s[r]=i,s}processBorderStroke(t,e,s,r){if(!e)return;const o=t.evaluate(r,e);if(!o)return;const i={};o.hasAttribute("style")&&(i.style=o.getAttribute("style"));const n=t.evaluate("color",o);return n&&this.processDataBarColor(t,n,i,"color"),Object.keys(i).length>0?s[r]=i:null}}class gt extends z{visit(t,e,s){this.processNumFmts(t,t.evaluate("numFmts",e),null),t.getVisitorParamsState().set("colorsToProcess",new Set);const r={fills:{},fonts:{},borders:{}};this.processFonts(t,t.evaluate("fonts",e),r.fonts),this.processFills(t,t.evaluate("fills",e),r.fills),this.processBorders(t,t.evaluate("borders",e),r.borders,!0),r.fills[0]={type:d.IFill.Type.None},r.fills[1]={type:d.IFill.Type.Pattern,patternType:d.IFill.BuiltInSheetPattern.Gray125},r.borders[0]={};const o=[];this.processXFs(t,t.evaluate("cellStyleXfs",e),o,r,null,!1);const i=new Map;if(o.length>0){const a=[];this.processCellStyles(t,t.evaluate("cellStyles",e),a,o,i),s.named=a}const n=[];this.processXFs(t,t.evaluate("cellXfs",e),n,r,i),Object.keys(n).length>0&&(s.direct=n);const l=[];return this.processDXFs(t,t.evaluate("dxfs",e),l),this.processTableStyles(t,t.evaluate("tableStyles",e),s,l),this.processIndexColors(t,t.evaluate("colors/indexedColors",e),s),this.processMruColors(t,t.evaluate("colors/mruColors",e),s),s}processIndexColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="rgbColor"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}s.indexedColors=r}processMruColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="color"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}r.length>0&&(s.mruColors=r)}processNumFmts(t,e,s){if(!e)return;const r=new Map;if(t.getVisitorParamsState().set("numFmts",r),!e)return;const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="numFmt"){const l=n.getAttribute("numFmtId"),a=n.getAttribute("formatCode");if(l&&a){const c=a.replace(/\\(.)/g,"$1");r.set(parseInt(l),c)}}}}processXFs(t,e,s,r,o=null,i=!0){if(!e)return;const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="xf"){const c={};this.processXF(t,a,c,r,o,i),s.push(c)}}}processXF(t,e,s,r,o,i){if(!e)return;const n=e.getAttribute("xfId");if(n&&o){const c=o.get(parseInt(n));c&&c!==d.IStyle.BuiltInName.Normal&&(s.named=c)}const l=c=>!(!i&&e.hasAttribute(c))||p.b(e.getAttribute("applyFont"));if(l("applyFont")){const c=r.fonts[e.getAttribute("fontId")];c&&(s.font=c)}if(l("applyFill")){const c=r.fills[e.getAttribute("fillId")];c&&Object.keys(c).length>0&&(s.fill=c)}if(l("applyBorder")){const c=r.borders[e.getAttribute("borderId")];c&&Object.keys(c).length>0&&(s.border=c)}if(l("applyNumberFormat")){const c=e.getAttribute("numFmtId");if(c){const h=parseInt(c);let g;const m=t.getVisitorParamsState();if(m){const b=m.get("numFmts");b&&(g=b.get(h)),s.numberFormat=g??h}else console.warn("no visitor params state")}}l("applyAlignment")&&this.processAlignment(t,t.evaluate("alignment",e),s),l("applyProtection")&&this.processProtection(t,t.evaluate("protection",e),s);const a=p.b(e.getAttribute("quotePrefix"));a&&(s.quotePrefix=a)}processAlignment(t,e,s){const r={};if(e?.hasAttribute("horizontal")?r.horizontal=e.getAttribute("horizontal"):r.horizontal=d.ITextFrame.HorizontalAlignment.General,e?.hasAttribute("vertical")?r.vertical=e.getAttribute("vertical"):r.vertical=d.ITextFrame.VerticalAlignment.Bottom,e?.hasAttribute("indent")?r.indent=parseInt(e.getAttribute("indent")):r.indent=0,e?.hasAttribute("relativeIndent")?r.relativeIndent=parseInt(e.getAttribute("relativeIndent")):r.relativeIndent=0,p.b(e?.getAttribute("wrapText"))?r.overflow=d.ITextFrame.Overflow.Wrap:r.overflow=d.ITextFrame.Overflow.Visible,p.b(e?.getAttribute("shrinkToFit"))&&(r.overflow=d.ITextFrame.Overflow.Shrink),e?.hasAttribute("textRotation")){let i=parseFloat(e.getAttribute("textRotation"));i>0&&i<=90?i=360-i:i>90&&i<=180?i-=90:i===255&&(i=0,r.stacked=!0),r.rotation=i}else r.rotation=0;e?.hasAttribute("justifyLastLine")&&(r.justifyLastLine=p.b(e.getAttribute("justifyLastLine")));const o=e?.getAttribute("readingOrder");return o&&(o==="0"?r.readingDirection=d.ITextFrame.ReadingDirection.Auto:o==="1"?r.readingDirection=d.ITextFrame.ReadingDirection.LeftToRight:o==="2"?r.readingDirection=d.ITextFrame.ReadingDirection.RightToLeft:console.warn(`invalid readingOrder: ${o}`)),Object.keys(r).length>0&&(s.alignment=r),s}processProtection(t,e,s){if(!e)return;const r={},o=e.getAttribute("locked");o&&!p.b(o)&&(r.edit=!0);const i=e.getAttribute("hidden");return i&&p.b(i)&&(r.formulaHidden=!0),Object.keys(r).length>0&&(s.protection=r),s}processDXF(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="font"){const n={};this.processFont(t,i,n),s.font=n}else if(i.nodeType===1&&i.localName==="fill"){const n=[];this.processFill(t,i,n,0),n.length>0&&n[0]&&(s.fill=n[0])}else if(i.nodeType===1&&i.localName==="border"){const n=[];this.processBorder(t,i,n,0,!1),n.length>0&&n[0]&&(s.border=n[0])}}}processDXFs(t,e,s){if(!e)return;t.getVisitorParamsState().set("processingDXFs",!0);const r=new Map;t.getVisitorParamsState().set("dxfs",r);const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="dxf"){const l={};this.processDXF(t,n,l);const a=s.length;r.set(a,l),s.push(l)}}t.getVisitorParamsState().delete("processingDXFs")}processTableStyle(t,e,s,r,o=!1){const i=e.getAttribute("name"),n={name:i};e.hasAttribute("table")&&(n.table=p.b(e.getAttribute("table"))),e.hasAttribute("pivot")&&(n.pivot=p.b(e.getAttribute("pivot"))),o&&!n.pivot&&r.unshift(null);const l=e.childNodes;for(let a=0;a<l.length;a++){const c=l.item(a);if(c.nodeType===1&&c.localName==="tableStyleElement"){const h=c.getAttribute("type"),g=c.getAttribute("dxfId");let m=r?.[g];m||(console.warn("invalid dfx id",g),m={}),n[h]=m;let b=null;c.hasAttribute("size")&&(b=parseInt(c.getAttribute("size"))),b&&!isNaN(b)&&(m.size=b)}}delete n.name,s[i]=n}processTableStyles(t,e,s,r,o){if(!e)return;const i={},n=e.getAttribute("defaultTableStyle");n&&(i.defaultTableStyle=n);const l=e.getAttribute("defaultPivotStyle");l&&(i.defaultPivotStyle=l);const a=e.childNodes,c={};for(let h=0;h<a.length;h++){const g=a.item(h);g.nodeType===1&&g.localName==="tableStyle"&&this.processTableStyle(t,g,c,r,o)}return Object.keys(c).length>0&&(i.styles=c),Object.keys(i).length>0&&(s.tables=i),s}processCellStyles(t,e,s,r,o){if(!e)return;const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1&&l.localName==="cellStyle"){const a=parseInt(l.getAttribute("xfId")),c=l.getAttribute("name");if(o.set(a,c),!r[a])continue;const h={name:c,style:r[a]};l.getAttribute("hidden")&&(h.hidden=p.b(l.getAttribute("hidden"))),l.getAttribute("iLevel")&&(h.iLevel=parseInt(l.getAttribute("iLevel"))),s.push(h)}}}afterVisit(t,e,s){}}class dt extends z{visit(t,e,s){return this.processSheetRefs(t,t.evaluate("sheets",e),s),this.processBookViews(t,t.evaluate("bookViews",e),s),this.processDefinedNames(t,t.evaluate("definedNames",e),s),this.processCalcPr(t,t.evaluate("calcPr",e),s),this.processWorkbookProtection(t,t.evaluate("workbookProtection",e),s),this.processWorkbookPr(t,t.evaluate("workbookPr",e),s),s}processPassword(t,e,s,r="password"){if(!e)return;const o={};t.copyFromAttribute(e,"algorithmName",o,"algorithmName"),t.copyFromAttribute(e,"hashValue",o,"hashValue"),t.copyFromAttribute(e,"saltValue",o,"saltValue",t.BOOLEAN_COPY),t.copyFromAttribute(e,"spinCount",o,"spinCount",t.INT_COPY),Object.keys(o).length>0&&(s[r]=o)}processWorkbookProtection(t,e,s){if(!e)return;const r={};this.processPassword(t,t.evaluate("workbookPassword",e),r),this.processPassword(t,t.evaluate("revisionsPassword",e),r,"revisionsPassword");const o=i=>i!==!0&&i!=="1"&&i!=="on"&&i!=="true"&&(i===!1||i==="0"||i==="off"||i==="false"||null);return t.copyFromAttribute(e,"lockStructure",r,"structure",o),t.copyFromAttribute(e,"lockWindows",r,"windows",o),t.copyFromAttribute(e,"lockRevision",r,"revision",o),s.protection=r,s}processCalcPr(t,e,s){e&&(s.calc={})}processSheetRefs(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="sheet"&&this.processSheetRef(t,n,r)}s.sheets=r}processSheetRef(t,e,s){const r={};t.copyFromAttribute(e,"name",r,"name"),t.copyFromAttribute(e,"state",r,"visibility");const o=e.getAttribute("r:id"),i=t.getRef(o);i&&(r.sheet=i),s.push(r)}processBookViews(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;o<1&&i<e.childNodes.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="workbookView"&&(this.processWorkbookView(t,n,s),o++)}}processWorkbookView(t,e,s){if(!e)return;const r={};t.copyFromAttribute(e,"activeTab",r,"activeSheetId",[t.INT_COPY,o=>o+1]),e.hasAttribute("activeTab")||(r.activeSheetId=1),t.copyFromAttribute(e,"showHorizontalScroll",r,"showHorizontalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showVerticalScroll",r,"showVerticalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showSheetTabs",r,"showTabs",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tabRatio",r,"tabRatio",[t.FLOAT_COPY,o=>o]),Object.keys(r).length>0&&(s.view=r)}processDefineName(t,e,s,r){if(!e)return;const o={},i=e.firstChild;if(i&&i.nodeType===3&&(o.ref=i.textContent),t.copyFromAttribute(e,"name",o),t.copyFromAttribute(e,"comment",o),t.copyFromAttribute(e,"hidden",o,"hidden",t.BOOLEAN_COPY),e.hasAttribute("localSheetId")){const n=e.getAttribute("localSheetId");if(!r[n]?.name)return void console.warn(`Defined name '${e.getAttribute("name")}' references a sheet with localSheetId '${n}' which does not exist.`);o.scope=r[n].name}t.copyFromAttribute(e,"customMenu",o),t.copyFromAttribute(e,"description",o),t.copyFromAttribute(e,"statusBar",o),t.copyFromAttribute(e,"help",o),t.copyFromAttribute(e,"shortcutKey",o),t.copyFromAttribute(e,"function",o,"function",t.BOOLEAN_COPY),t.copyFromAttribute(e,"functionGroupId",o,"functionGroupId",t.INT_COPY),t.copyFromAttribute(e,"publishToServer",o,"publishToServer",t.BOOLEAN_COPY),t.copyFromAttribute(e,"vbProcedure",o,"vbProcedure",t.BOOLEAN_COPY),t.copyFromAttribute(e,"xlm",o,"xlm",t.BOOLEAN_COPY),Object.keys(o).length>0&&s.push(o)}processDefinedNames(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="definedName"&&this.processDefineName(t,n,r,s.sheets)}r.length>0&&(s.names=r)}processWorkbookPr(t,e,s){e&&t.copyFromAttribute(e,"date1904",s,"date1904",t.BOOLEAN_COPY)}afterVisit(t,e,s){}}class mt{visit(t,e,s){return t.copyFromAttribute(e,"name",s),t.copyFromAttribute(e,"displayName",s),t.copyFromAttribute(e,"ref",s),t.copyFromAttribute(e,"headerRowCount",s,"headerRowCount",t.INT_COPY),t.copyFromAttribute(e,"totalsRowCount",s,"totalsRowCount",t.INT_COPY),this.processTableColumns(t,e,s),this.processTableStyleInfo(t,e,s),s}processTableStyleInfo(t,e,s){if(!e)return;const r=e.childNodes,o={};for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableStyleInfo"&&(t.copyFromAttribute(n,"name",o),t.copyFromAttribute(n,"showColumnStripes",o,"showColumnStripes",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showFirstColumn",o,"showFirstColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showLastColumn",o,"showLastColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showRowStripes",o,"showRowStripes",t.BOOLEAN_COPY))}Object.keys(o).length>0&&(s.styleOptions=o)}processTableColumn(t,e,s){if(!e)return null;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="tableColumn"){const n={};t.copyFromAttribute(i,"name",n),t.copyFromAttribute(i,"uniqueName",n),s.push(n)}}return s}processTableColumns(t,e,s){const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableColumns"&&this.processTableColumn(t,n,o)}o.length>0&&(s.columns=o)}}class bt{visit(t,e,s){return s}}class k{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"editAs",r,"anchorType"),r.anchor={},this.processOffsetCoord(t,t.evaluate("from",e),r.anchor,"from"),this.processOffsetCoord(t,t.evaluate("to",e),r.anchor,"to"),s.movables||(s.movables=[]),s.movables.push(r),r}processOffsetCoord(t,e,s,r){if(!e)return;const o={c:0,r:0,x:0,y:0};return t.evaluate("col",e)&&(o.c=parseInt(t.evaluate("col",e).textContent)),t.evaluate("row",e)&&(o.r=parseInt(t.evaluate("row",e).textContent)),t.evaluate("colOff",e)&&(o.x=p.c(t.evaluate("colOff",e).textContent)),t.evaluate("rowOff",e)&&(o.y=p.c(t.evaluate("rowOff",e).textContent)),r==="from"?s.tl=o:s.br=o,s}}class B{visit(t,e,s){if(!e)return;const r=t.evaluate("*/cNvPr",e);return r&&(t.copyFromAttribute(r,"name",s),t.copyFromAttribute(r,"desc",s),t.copyFromAttribute(r,"hidden",s,"hidden",t.BOOLEAN_COPY),t.copyFromAttribute(r,"id",s)),s}}class At extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGraphicFramePr/cNvGraphicFramePr",e);if(r){const n=t.evaluate("graphicFrameLocks",r);if(n){n.hasAttribute("noChangeAspect")&&(s.lockAspect=n.getAttribute("noChangeAspect")==="1");const l={};Object.keys(l).length>0&&(s.locks=l)}}let o={type:"graphicFrame",json:{}};const i=t.evaluate("graphic/graphicData",e).childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1)try{let a=l.localName;a==="chart"&&(a="chart"),o.type=a;const c=l.getAttribute("r:id");c&&(o.json=t.getRef(c))}catch(a){console.warn("Unable to parse graphicFrame",a)}}return o&&(s.content=o),o}}class _ extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvSpPr/cNvSpPr",e);if(r){const i=t.evaluate("spLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', shapes are not supported.`);const o={};return s.content={type:"sp",json:o},o}}class ft extends B{visit(t,e,s){if(!e)return;const r=super.visit(t,e,s),o=t.evaluate("nvPicPr/cNvPicPr",e);if(o){t.copyFromAttribute(e,"preferRelativeResize",r,"preferRelativeResize",t.BOOLEAN_COPY);const a=t.evaluate("picLocks",o);if(a){a.hasAttribute("noChangeAspect")&&(r.lockAspect=a.getAttribute("noChangeAspect")==="1");const c={};t.copyFromAttribute(a,"noChangeArrowheads",r,"noChangeArrowheads",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noChangeShapeType",r,"noChangeShapeType",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noEditPoints",r,"noEditPoints",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noAdjustHandles",r,"noAdjustHandles",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noCrop",r,"noCrop",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noGrp",r,"noGrp",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noMove",r,"noMove",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noResize",r,"noResize",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noRot",r,"noRot",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noSelect",r,"noSelect",t.BOOLEAN_COPY),Object.keys(c).length>0&&(r.locks=c)}}const i=t.evaluate("blipFill/blip",e);let n;if(i){const a=i.getAttribute("r:embed")??i.getAttribute("embed");if(!a)return void console.warn("no rId found for blip",i);n=t.getRef(a,!0)}const l={resId:n};return s.content={type:"picture",json:l},r}}class yt extends _{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGrpSpPr/cNvGrpSpPr",e);if(r){const i=t.evaluate("grpSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', group shapes are not supported.`);const o={};return s.content={type:"grpSp",json:o},o}}class vt extends _{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvCxnSpPr/cNvCxnSpPr",e);if(r){const i=t.evaluate("cxnSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', connection shapes are not supported.`);const o={};return s.content={type:"cxnSp",json:o},o}}const R="richTypes";class Ft{visit(t,e,s){let r=t.getVisitorParamsState().get(R);r||(r=[],t.getVisitorParamsState().set(R,r));const o=e.childNodes,i=o.length;for(let n=0;n<i;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="s"){const a={type:l.getAttribute("t")??"n",keys:[]};this.processKeys(t,l,a),r.push(a)}}return s.richTypes=r,r}processKeys(t,e,s){const r=e.childNodes,o=r.length,i=s.keys;for(let n=0;n<o;n++){const l=r.item(n);if(l.nodeType===1&&l.localName==="k"){const a=l.getAttribute("n"),c=l.getAttribute("t");i.push([a,c])}}}}const E="richData";class Ct{visit(t,e,s){let r=t.getVisitorParamsState().get("richTypes");if(!r)return void t.warn("RichValueFound but not type.");let o=t.getVisitorParamsState().get(E);o||(o=[],t.getVisitorParamsState().set(E,o));const i=e.childNodes,n=i.length;for(let l=0;l<n;l++){const a=i.item(l);if(a.nodeType===1&&a.localName==="rv"){const c=r[a.getAttribute("s")],h={type:c.type};this.processValues(t,a,h,c);const g=this.mapType(t,h);o.push(g)}}return s.richData=o,o}mapType(t,e){if(e.type==="_error"){const s=e.errorType;if(s)try{e=d.FormulaError.getBuiltInById(s+1)}catch{}}return e}processValues(t,e,s,r){const o=e.childNodes,i=o.length;r.type;const n=r.keys;for(let l=0;l<i;l++){const a=o.item(l);if(a.nodeType===1&&a.localName==="v"){const c=n[l];if(!c)return void t.warn("Invalid richData");const h=c[0],g=c[1];let m=a.textContent;g==="i"&&(m=Number(m)),s[h]=m}}}}class wt{visit(t,e,s){if(!e)return;const r=[];return this.processAuthors(t,t.evaluate("authors",e),r),r.length>0&&(s.authors=r),s.comments=[],s}processAuthors(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="author"){const n=i.firstChild;n&&n.nodeType===3&&s.push(n.textContent)}}}}class Pt{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"authorId",r,"authorId",t.INT_COPY),r.asNote=!0,s.comments||(s.comments=[]),s.comments.push(r),r}}class Nt{visit(t,e,s){if(!e)return;const r=[];return s.comments=r,r}}class Ot{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"id",r,"id",p.r),t.copyFromAttribute(e,"personId",r,"personId",p.r),t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"parentId",r,"parentId",p.r),t.copyFromAttribute(e,"dT",r),e.hasAttribute("done")&&(r.done=p.b(e.getAttribute("done"))),s.push(r),r}}class Tt{visit(t,e,s){const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="person"){const l={};t.copyFromAttribute(n,"id",l,"id",p.r),t.copyFromAttribute(n,"displayName",l),t.copyFromAttribute(n,"userId",l,"userId",p.r),t.copyFromAttribute(n,"providerId",l),r.push(l)}}return r.length>0&&(s.persons=r),r}}const St={};class Vt{constructor(t,e){this.path=t,this.visitor=e}}class Y{constructor(){this.visitorsByXmlTagName=new Map,this.scopedVisitorsByXmlTagName=new Map,this.visitorParamsState=null,this.registerVisitor("Relationships",new H),this.registerVisitor("spPr",new L),this.registerVisitor("txBody",new F),this.registerVisitor("txPr",new F),this.registerVisitor("c:chartSpace",new J),this.registerVisitor("c:chartSpace",new q,"chart"),this.registerVisitor("c:plotArea",new Q),this.registerVisitor("c:barChart",new Z),this.registerVisitor("c:doughnutChart",new N),this.registerVisitor("c:lineChart",new N),this.registerVisitor("c:ofPieType",new N),this.registerVisitor("c:pieChart",new N),this.registerVisitor("c:scatterChart",new N),this.registerVisitor("c:barChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:doughnutChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:lineChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ofPieType",new w("dataLabels"),"dLbls"),this.registerVisitor("c:pieChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:scatterChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ser",new tt),this.registerVisitor("c:dPt",new et),this.registerVisitor("c:marker",new rt),this.registerVisitor("c:catAx",new x),this.registerVisitor("c:valAx",new x),this.registerVisitor("c:dateAx",new x),this.registerVisitor("c:majorGridlines",new V("gridLinesMajor")),this.registerVisitor("c:minorGridlines",new V("gridLinesMinor")),this.registerVisitor("c:chartSpace",null,"txPr"),this.registerVisitor("c:catAx",new F("labels.text"),"txPr"),this.registerVisitor("c:valAx",new F("labels.text"),"txPr"),this.registerVisitor("c:dateAx",new F("labels.text"),"txPr"),this.registerVisitor("c:legend",new ot),this.registerVisitor("c:legend",new F("labels.text"),"txPr"),this.registerVisitor("c:legendEntry",new st),this.registerVisitor("c:ser",new it,"extLst/ext/invertSolidFillFmt/spPr"),this.registerVisitor("c:ser",new w("labels"),"dLbls"),this.registerVisitor("c:dLbl",new w("points")),this.registerVisitor("c:title",new j),this.registerVisitor("c:title",null,"tx/rich"),this.registerVisitor("c:title",null,"txPr"),this.registerVisitor("c:layout",new nt),this.registerVisitor("c:dispUnits",new V("dispUnits")),this.registerVisitor("c:dispUnitsLbl",new j("displayUnitsLabel")),this.registerVisitor("c:dispUnitsLbl",new F,"tx/rich"),this.registerVisitor("a:theme",new lt),this.registerVisitor("a:theme",new at,"themeElements/clrScheme"),this.registerVisitor("a:theme",new ct,"themeElements/fontScheme"),this.registerVisitor("autoFilter",new ht),this.registerVisitor("sortState",new pt),this.registerVisitor("s:workbook",new dt),this.registerVisitor("styleSheet",new gt),this.registerVisitor("table",new mt),this.registerVisitor("hlinkClick",new ut),this.registerVisitor("wsDr",new bt),this.registerVisitor("twoCellAnchor",new k),this.registerVisitor("oneCellAnchor",new k),this.registerVisitor("absoluteAnchor",new k),this.registerVisitor("graphicFrame",new At),this.registerVisitor("sp",new _),this.registerVisitor("grpSp",new yt),this.registerVisitor("cxnSp",new vt),this.registerVisitor("pic",new ft),this.registerVisitor("rvStructures",new Ft),this.registerVisitor("rvData",new Ct),this.registerVisitor("comments",new wt),this.registerVisitor("commentList",new Pt,"comment"),this.registerVisitor("comment",new F("content"),"text"),this.registerVisitor("ThreadedComments",new Nt),this.registerVisitor("threadedComment",new Ot),this.registerVisitor("threadedComment",new F("content"),"text"),this.registerVisitor("personList",new Tt)}registerVisitor(t,e,s=null){t.indexOf(":")===-1&&(t="*:"+t);const r=t.split(":"),o=r.length>1?r[1]:r[0];if(!s)return this.visitorsByXmlTagName.set(o,e),void this.visitorsByXmlTagName.set(t,e);let i=this.scopedVisitorsByXmlTagName.get(o);i||(i=[],this.scopedVisitorsByXmlTagName.set(o,i),this.scopedVisitorsByXmlTagName.set(t,i)),i.push(new Vt(s,e))}getVisitorParamsState(){return this.visitorParamsState}convert(t,e,s=St){const r=t.documentElement;this.visitorParamsState&&!s?.paramMap||(this.visitorParamsState=s?.paramMap??new Map);const o={};let i=this.visitorsByXmlTagName.get(r.nodeName);if(i||(i=this.visitorsByXmlTagName.get(r.localName)),!i)throw new Error(`A visitor for the root element: '${r.nodeName}' or '${r.localName}' must be registered.`);const n="/"+r.localName,l=new S(null,this,n,r,o,e,s),a=[];this._doWalk(i,l,a,r,o,e,s);for(let c=0;c<a.length;c++){const h=a[c];try{h.visitor?.afterVisit?.(h.context,h.elemParent,h.jsonParent)}catch(g){console.warn(`Error in afterVisit: ${h.context.getPath()}`,g)}}return o}_walkScoped(t,e,s,r,o,i,n){const l=this.scopedVisitorsByXmlTagName.get(t);for(let a=0;l&&a<l.length;a++){const c=l[a];let h=null;try{h=e.evaluate(c.path,r)}catch{console.warn(`"Invalid path '${c.path}' for '${t}'.`)}if(!h)continue;const g=m=>{let b=m.localName,v=m.parentNode;for(;v&&v!==r;)b=v.localName+"/"+b,v=v.parentNode;const P=e.getPath()+"/"+b;if(c.visitor){const T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(c.visitor,T,s,m,o,i,n)}};if(h.length>0){const m=h;for(let b=0;b<m.length;b++)g(m.item(b))}else g(h)}}_doWalk(t,e,s,r,o,i,n){let l=null;t&&(s.push({visitor:t,context:e,elemParent:r,jsonParent:o}),l=t.visit(e,r,o)),l||(l=o);const a=r.localName;this._walkScoped(a,e,s,r,l,i,n);const c=r.childNodes;for(let h=0;h<c.length;h++){const g=c.item(h);if(g.nodeType===1){const m=g,b=m.localName,v=this.visitorsByXmlTagName.get(b),P=e.getPath()+"/"+b,T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(v,T,s,m,l??o,i,n)}}return l}}exports.FromOOXMLConverter=Y,exports.default=Y;
|
|
6
|
+
*/Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("./CalnqtYH48_x2rcI.cjs"),p=require("./D9RQ5oYv7U38wSI7.cjs"),d=require("@sheetxl/sdk");class G{constructor(t){this.list=t}get length(){return this.list.length}item(t){return this.list[t]}forEach(t,e){for(let s=0;s<this.list.length;s++)t(this.list[s],s,this)}}const W=u=>u===!0||u==="1"||u==="on"||u==="true"||u!==!1&&u!=="0"&&u!=="off"&&u!=="false"&&null,X=u=>{const t=parseInt(u);return isNaN(t)?null:t},$=u=>{const t=parseFloat(u);return isNaN(t)?null:t},K=new Map;class S{constructor(t,e,s,r,o,i=null,n){const l=(c,h,g)=>n?.getRef?.(c,h,g,n?.parsedRefs),a=c=>n?.getRefs?.(c,n?.parsedRefs);this._parent=t,this.sharedShared=e,this.currentPath=s,this.elemRoot=r,this.jsonRoot=o,t?(this._fileLocation=t._fileLocation,this._getRef=t._getRef,this._getRefs=t._getRefs):(i&&(this._fileLocation=i),l&&a&&(this._getRef=l),a&&(this._getRefs=a),this._onWarning=n?.onWarning,this._addPerson=n?.addPerson)}getRef(t,e=!1){return this._getRef?.(t,this._fileLocation,e)??null}getRelationships(){return this._getRefs(this._fileLocation)??K}getPath(){return this.currentPath}getElemRoot(){return this.elemRoot}getJsonRoot(){return this.jsonRoot}warn(t){this._onWarning?this._onWarning(t):this._parent?this._parent?.warn?.(t):console.warn(t)}addPerson(t){return this._addPerson?this._addPerson(t):this._parent?this._parent?._addPerson?.(t):null}getVisitorParamsState(){return this.sharedShared.getVisitorParamsState()}evaluate(t,e){if(!t)return e;let s=[e];const r=t.split("/");for(let o=0;o<r.length;o++){const i=r[o];if(i===""||i===".")continue;let n=[];for(let l=0;l<s.length;l++){const a=s[l],c=a.childNodes;for(let h=0;c&&h<c.length;h++){const g=a.childNodes[h];g.localName!==i&&i!=="*"||n.push(g)}}s=n}return s.length===1?s[0]:s.length===0?null:new G(s)}getFromPath(t,e){return I.Jt.getFromPath(t,e)}setToPath(t,e,s){return I.Jt.setToPath(t,e,s)}getValAttrAsString(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?s.getAttribute("val")??null:null}getValAttrAsBoolean(t,e,s=!1){let r=this.evaluate(t,e);if(!r)return null;const o=r.hasAttribute("val")?r.getAttribute("val"):void 0;return o==null?s:o==="1"||o==="on"||o==="true"||o!=="0"&&o!=="off"&&o!=="false"&&s}getValAttrAsInteger(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseInt(s.getAttribute("val"))??null:null}getValAttrAsFloat(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseFloat(s.getAttribute("val"))??null:null}get BOOLEAN_COPY(){return W}get INT_COPY(){return X}get FLOAT_COPY(){return $}copyFromAttribute(t,e,s,r=e,o=null){if(!t||!s||!t.hasAttribute(e))return;let i=t.getAttribute(e);if(o){if(Array.isArray(o)){for(let n=0;n<o.length;n++)if(i==null||(i=o[n](i),i==null))return}else if(i==null||(i=o(i),i==null))return}this.setToPath(s,r,i)}}class V{constructor(t){this.jsonKey=t}visit(t,e,s){const r={};return s[this.jsonKey]=r,r}}class H{visit(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);i.nodeType===1&&i.localName==="Relationship"&&this.processRelationship(t,i,s)}return s}processRelationship(t,e,s){const r={};t.copyFromAttribute(e,"Target",r,"target"),t.copyFromAttribute(e,"Type",r,"type"),t.copyFromAttribute(e,"TargetMode",r,"targetMode"),s[e.getAttribute("Id")]=r}}const D=(u,t)=>{if(u||!u.hasAttribute("rot"))return;const e=u.getAttribute("rot"),s=I.Jt.roundAccurately(p.p(e),2);s!==-1e3&&(t.rotation=s)},f=(u,t,e,s,r)=>{const o=u.getValAttrAsString(s,t);o!==null&&(e[r]=o)},A=(u,t,e,s,r=s,o=null)=>{const i=u.getValAttrAsBoolean(s,t,o);i!==null&&(e[r]=i)},C=(u,t,e,s,r)=>{const o=u.getValAttrAsInteger(s,t);o!==null&&(e[r]=o)},y=(u,t,e,s,r,o=1)=>{const i=u.getValAttrAsFloat(s,t);i!==null&&(e[r]=i*o)};class J{visit(t,e,s){return A(t,e,s,"roundedCorners","roundedCorners"),C(t,e,s,".//AlternateContent/Fallback/style","styleId"),s.range=null,s}afterVisit(t,e,s){let r={};s.types=r;let o={},i=0,n={},l=0,a=t.getVisitorParamsState().get("axes");const c=t.getVisitorParamsState().get("types");for(let m=0;m<c.length;m++){const b=c[m];if(b.xAxisId){const v=b.xAxisId,P=a.get(v);o[m+""]=P,b.offsetXAxis=m,delete b.xAxisId,s.xAxes=o,o.length=++i}if(b.yAxisId){const v=b.yAxisId,P=a.get(v);n[m+""]=P,b.offsetYAxis=m,delete b.yAxisId,s.yAxes=n,n.length=++l}r[m+""]=b}r.length=c.length;const h=t.getVisitorParamsState().get("series");if(!h||h.length===0)return;const g={};s.series=g;for(let m=0;m<h.length;m++)g[m+""]=h[m];g.length=h.length}}class q{visit(t,e,s){return A(t,e,s,"plotVisOnly","plotVisOnly"),f(t,e,s,"dispBlanksAs","dispBlanksAs"),A(t,e,s,".//extLst/ext/dataDisplayOptions16/dispNaAsBlank","dispNaAsBlank"),A(t,e,s,"showDLblsOverMax","showDLblsOverMax"),s}afterVisit(t,e,s){try{const r=t.getValAttrAsBoolean("autoTitleDeleted",e),o=t.evaluate("title",e);t.setToPath(s,"title.shown",!(r===!0||!o));const i=t.evaluate("legend",e);t.setToPath(s,"legend.shown",i!==null)}catch(r){throw new Error("Unexpected Error parsing Chart: "+r)}}}class Q{visit(t,e,s){let r={};return s.plotArea=r,r}}class O{EnumMappings(){}static fromOoxmlGradientType(t){return t==="circle"?"radial":t}static fromOoxmlLineCap(t){if(t==="rnd")return"round";if(t==="flat")return"butt";if(t==="sq")return"square";throw new Error("Invalid lineCap type: "+t)}static fromOoxmlCompound(t){return t==="sng"?"single":t}static fromOoxmlAlignment(t){return t==="ctr"?"center":t}}class M{visit(t,e,s){}processStroke(t,e,s){const r={},o=t.evaluate("ln",e);if(o){o.hasAttribute("algn")&&(r.align=O.fromOoxmlAlignment(o.getAttribute("algn"))),o.hasAttribute("cap")&&(r.lineCap=O.fromOoxmlLineCap(o.getAttribute("cap"))),o.hasAttribute("cmpd")&&(r.compound=O.fromOoxmlCompound(o.getAttribute("cmpd"))),o.hasAttribute("w")&&(r.width=p.t(o.getAttribute("w")));const i=t.evaluate("miter",o);i&&(r.lineJoin="miter",i.hasAttribute("lim")&&(r.miter=parseFloat(i.getAttribute("lim")))),t.evaluate("bevel",o)&&(r.lineJoin="bevel"),t.evaluate("round",o)&&(r.lineJoin="round");const n=t.evaluate("custDash",o);if(n){const c=t.evaluate("ds",n);if(c&&c.length>0){let h="";for(let g=0;g<c.length;g++){const m=c.item(g);h+=p.a(m.getAttribute("d"))+","+p.a(m.getAttribute("sp"))}r.dash=h}}const l=t.evaluate("prstDash",o);l&&l.hasAttribute("val")&&(r.dash=l.getAttribute("val")),this.parseEndElement(t,o,r,"headEnd","head"),this.parseEndElement(t,o,r,"tailEnd","tail");const a=this.processFill(t,o,s);r.fill=a}return r}parseEndElement(t,e,s,r,o){const i=t.evaluate(r,e);if(i&&(i.hasAttribute("type")&&(s[o+"Type"]=i.getAttribute("type")),i.hasAttribute("len")||i.hasAttribute("w"))){const n=i.getAttribute("len")?i.getAttribute("len"):"med",l=i.getAttribute("w")?i.getAttribute("w"):"med";s[o+"Size"]=n+"-"+l}}processFill(t,e,s){const r={};if(t.evaluate("noFill",e))return r.none=!0,r;const o=t.evaluate("solidFill",e);if(o){const a=this.processAdjColor(t,o);return a&&(r.solid=a),r}const i=t.evaluate("gradFill",e);if(i){i.hasAttribute("rotWithShape")&&(r.isRotated=i.getAttribute("rotWithShape")==="1");const a=this.processGradFill(t,i);return r.gradient=a,r}const n=t.evaluate("pattFill",e);if(n){const a=this.processPatternFill(t,n);return r.pattern=a,r}const l=t.evaluate("blipFill",e);if(l){l.hasAttribute("rotWithShape")&&(r.isRotated=p.b(l.getAttribute("rotWithShape"))),l.hasAttribute("dpi")&&(r.dpi=l.getAttribute("dpi"));const a=this.processImageFill(t,l);return r.image=a,r}return r.none=!0,r}processGradFill(t,e){const s={},r=t.evaluate("lin",e);if(r){if(s.type="linear",r.hasAttribute("ang")){const c=p.p(r.getAttribute("ang"));s.angle=c}if(r.hasAttribute("scaled")){const c=p.b(r.getAttribute("scaled"));s.scaled=c}}const o={};e.hasAttribute("flip")&&(o.mirror=e.getAttribute("flip")),Object.keys(o).length>0&&(s.tile=o);const i=t.evaluate("path",e);if(i){i.hasAttribute("path")&&(s.type=O.fromOoxmlGradientType(i.getAttribute("path")));const c=t.evaluate("fillToRect",i);c&&(s.fillTo=this.getRect(c))}const n=t.evaluate("tileRect",e);n&&(s.tile.bounds=this.getRect(n));const l=[],a=t.evaluate("gsLst/gs",e);for(let c=0;a&&c<a.length;c++){const h=a.item(c),g={offset:p.a(h.getAttribute("pos")),color:this.processAdjColor(t,h)};l.push(g)}return l.length>0&&(s.stops=l),s}getRect(t){const e={};return t.hasAttribute("t")&&(e.t=p.a(t.getAttribute("t"))),t.hasAttribute("l")&&(e.l=p.a(t.getAttribute("l"))),t.hasAttribute("b")&&(e.b=p.a(t.getAttribute("b"))),t.hasAttribute("r")&&(e.r=p.a(t.getAttribute("r"))),Object.keys(e).length===0?null:e}processImageFill(t,e){return{ref:"https://www.sheetxl.com/logo-color-padded-white.jpg",tile:!1}}processPatternFill(t,e){const s={},r=e.getAttribute("prst");s.type=r;const o=t.evaluate("bgClr",e);if(o){const n=this.processAdjColor(t,o);n&&(s.background=n)}const i=t.evaluate("fgClr",e);if(i){let n=this.processAdjColor(t,i);n&&(s.foreground=n)}return s}processAdjColor(t,e){const s=t.evaluate("hslClr",e);if(s)return this.processHslClr(t,s);const r=t.evaluate("prstClr",e);if(r)return this.processClrWithValAttribute(t,r);const o=t.evaluate("schemeClr",e);if(o)return this.processClrWithValAttribute(t,o);const i=t.evaluate("sysClr",e);if(i)return this.processClrWithValAttribute(t,i);const n=t.evaluate("scrgbClr",e);if(n)return this.processScrgbClrElement(t,n);const l=t.evaluate("srgbClr",e);return l?this.processSrgbClrElement(t,l):null}processScrgbClrElement(t,e){let s="lrgba("+p.a(e.getAttribute("r"))+","+p.a(e.getAttribute("g"))+","+p.a(e.getAttribute("b"))+")";return s+=this.processAdjustments(t,e),s}processSrgbClrElement(t,e){let s=e.getAttribute("val");return s+=this.processAdjustments(t,e),s}processHslClr(t,e){let s="hsl("+p.p(e.getAttribute("hue"))+","+p.a(e.getAttribute("sat"))+","+p.a(e.getAttribute("lum"))+")";return s+=this.processAdjustments(t,e),s}processClrWithValAttribute(t,e){const s=e.getAttribute("val");if(!s)return;let r=s;return r+=this.processAdjustments(t,e),r}processAdjustments(t,e){let s="";const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1){let n=i.localName;s+=n==="hue"||n==="hueOff"||n==="hueMod"?this.processAdjustmentElement(t,e,n,6e4):n==="gray"||n==="comp"||n==="inv"||n==="gamma"||n==="invGamma"?this.processAdjustmentElement(t,e,n,1):this.processAdjustmentElement(t,e,n)}}return s}processAdjustmentElement(t,e,s,r=1e3){const o=t.evaluate(s,e);if(!o)return"";const i=o.getAttribute("val");return i?` ${s} ${!i||parseFloat(i)/r}`:` ${s}`}}class L extends M{visit(t,e,s){try{const r=t.evaluate("xfrm",e);if(r){D(r,s);const l={x:0,y:0,width:0,height:0},a=t.evaluate("off",r);a&&(l.x=p.c(a.getAttribute("x"))??0,l.y=p.c(a.getAttribute("y"))??0);const c=t.evaluate("ext",r);a&&(l.width=p.c(c.getAttribute("cx"))??0,l.height=p.c(c.getAttribute("cy"))??0),s.bounds=l}const o=t.evaluate("prstGeom",e);o?.hasAttribute("prst")?s.geometry=o?.getAttribute("prst"):t.evaluate("customGeom",e)&&console.warn("customGeom not supported yet");const i=this.processFill(t,e,s);i&&Object.keys(i).length>0&&(s.fill=i);const n=this.processStroke(t,e,s);return n&&Object.keys(n).length>0&&(s.stroke=n),s}catch(r){throw console.warn(r),new Error("Unexpected Error parsing Shape Properties element")}}}class N{visit(t,e,s){let r={};if(f(t,e,r,"grouping","grouping"),A(t,e,r,"varyColors","varyColors"),y(t,e,r,"gapWidth","gapWidth",.01),y(t,e,r,"overlap","overlap",.01),this.parseType(t,e,r),C(t,e,r,"bubbleScale","bubbleScale"),A(t,e,r,"showNegBubbles","showNegativeBubbleValues"),A(t,e,r,"sizeRepresents","bubbleSizeRepresentsWidth"),C(t,e,r,"firstSliceAng","startAngle"),C(t,e,r,"holeSize","holeSize"),f(t,e,r,"scatterStyle","scatterStyle"),this.parseAxisIds(t,e,r),Object.keys(r).length>0){let o=t.getVisitorParamsState().get("types");o||(o=[],t.getVisitorParamsState().set("types",o)),o.push(r)}return r}parseType(t,e,s){switch(e.localName){case"areaChart":s.type="area";break;case"bubbleChart":s.type="bubble";break;case"doughnutChart":case"ofPieType":case"pieChart":s.type="pie";break;case"lineChart":s.type="line";break;case"scatterChart":s.type="scatter"}}parseAxisIds(t,e,s){const r=t.evaluate("axId",e);if(r.length===0)return;const o=r.item(0).getAttribute("val");s.xAxisId=o;const i=r.item(1).getAttribute("val");s.yAxisId=i}}class Z extends N{parseType(t,e,s){const r=t.getValAttrAsString("barDir",e);r&&(s.type=r==="col"?"column":"bar")}}class w{constructor(t){this.jsonKey=t}visit(t,e,s){let r={},o=r,i=t.getValAttrAsString("idx",e);i!==null&&(o={},o[i]=r);const n=t.getValAttrAsBoolean("delete",e);this.parseNumFormat(t,e,r),n===!0?(r.showBubbleSize=!1,r.showCatName=!1,r.showLeaderLines=!1,r.showPercentage=!1,r.showSerName=!1,r.showVal=!1,r.showLegendKey=!1):(A(t,e,r,"showBubbleSize","showBubbleSize"),A(t,e,r,"showCatName","showCatName"),A(t,e,r,"showLeaderLines","showLeaderLines"),A(t,e,r,"showPercent","showPercentage"),A(t,e,r,"showSerName","showSerName"),A(t,e,r,"showVal","showVal"),A(t,e,r,"showLegendKey","showLegendKey"));const l=t.evaluate("separator",e);return l!==null&&(r.separator=l.textContent),f(t,e,r,"dLblPos","position"),s[this.jsonKey]=o,r}parseNumFormat(t,e,s){const r=t.evaluate("numFmt",e);if(r){const o=r.getAttribute("formatCode");s.formatCode=o,r.hasAttribute("sourceLinked")&&(s.sourceLinked=r.getAttribute("sourceLinked")==="1")}}}const U=(u,t,e)=>{if(u.getValAttrAsBoolean("invertIfNegative",t)===!0)if(u.evaluate("extLst/ext/invertSolidFillFmt",t)){if(e.fill&&e.fillNegative){const s=u.getFromPath(e,"fill.solid.adjs");s&&u.setToPath(e,"fillNegative.solid.adjs",s)}}else{const s={val:"FFFFFF"},r={};r.solid=s,e.fillNegative=r;const o={val:"000000"},i={};i.solid=o;const n={};n.fill=i,e.strokeNegative=n}};class tt{visit(t,e,s){const r={};C(t,e,r,"explosion","explosion");let o=t.evaluate("cat/*/f",e);o||(o=t.evaluate("xVal/*/f",e));let i=null;o!==null&&o.firstChild!==null&&(i=o.firstChild.nodeValue),o||(o=t.evaluate("cat/strLit",e),o||(o=t.evaluate("cat/numLit",e)),o&&(i=this.parsePointsAsString(t,o))),i!==null&&(r.xRange=i);let n=t.evaluate("val/*/f",e);n||(n=t.evaluate("yVal/*/f",e));let l=null;n&&n.firstChild&&(l=n.firstChild.nodeValue),n||(n=t.evaluate("val/numLit",e),n!==null&&(l=this.parsePointsAsString(t,n))),l!==null&&(r.valRange=l),this.parseTitleRangeOrValue(t,e,r),C(t,e,r,"idx","idx"),A(t,e,r,"smooth","smooth");const a=t.getVisitorParamsState().get("types").length-1;r.offsetChart=a;let c=t.getVisitorParamsState().get("series");return c||(c=[],t.getVisitorParamsState().set("series",c)),c.push(r),r}parseTitleRangeOrValue(t,e,s){const r=t.evaluate("tx/strRef/f",e);if(r!==null){const o=r.firstChild.nodeValue;t.setToPath(s,"title.range",o)}else{const o=t.evaluate("tx/v",e);o!==null&&t.setToPath(s,"title.text.simpleRun",o.firstChild.nodeValue)}}parsePointsAsString(t,e){let s="{";const r=t.getValAttrAsInteger("ptCount",e),o=t.evaluate("pt",e),i=[];for(let n=0;o&&r&&n<r;n++){let l=null,a=t.evaluate("pt[@idx='"+n+"']/v",e);a instanceof Node&&(l=a.textContent),i[n]=l}for(let n=0;n<i.length;n++)n>0&&(s+=","),i[n]!==void 0&&(s+=i[n]);return s+="}",s}afterVisit(t,e,s){U(t,e,s);let r=t.getFromPath(s,"points");if(r){const o=Object.keys(r);for(let i=0;i<o.length;i++){const n=o[i],l=t.getFromPath(r,n);if(!l)continue;let a=t.getFromPath(l,"markers");a&&(t.setToPath(s,"markers.points."+n,a),delete l.markers)}}}}class et{DataPointVisitor(){}visit(t,e,s){let r=t.getFromPath(s,"points"),o=null;r?o=r:(o={},t.setToPath(s,"points",o));let i={},n=t.getValAttrAsString("idx",e);return n!==null&&(o[n]=i),A(t,e,i,"bubble3D","bubble3D"),C(t,e,i,"explosion","explosion"),U(t,e,i),i}}class rt{visit(t,e,s){const r=e.parentNode.localName;if(r==="ser"||r==="dPt"){const o={},i=t.getValAttrAsString("size",e);i!==null&&(o.size=i);const n=t.getValAttrAsString("symbol",e);return n&&(o.type=n),s.markers=o,o}return null}}class x{visit(t,e,s){let r={};this.parseScaling(t,e,r),y(t,e,r,"majorUnit","majorUnits"),y(t,e,r,"minorUnit","minorUnits"),A(t,e,r,"delete","shown"),this.parseOrientation(t,e,r),this.parseNumFormat(t,e,r),f(t,e,r,"majorTickMark","majorTickMarks"),f(t,e,r,"minorTickMark","minorTickMarks"),f(t,e,r,"crosses","crosses"),y(t,e,r,"crossesAt","crosses"),f(t,e,r,"crossBetween","crossBetween"),this.parseLabelAlign(t,e,r),C(t,e,r,"lblOffset","labelOffset"),f(t,e,r,"tickLblPos","labelPosition");const o=t.getValAttrAsInteger("noMultiLvlLbl",e);r.labelMultiLevel=o!==null&&o===0,C(t,e,r,"tickMarkSkip","tickMarkSkip"),C(t,e,r,"tickLblSkip","labelInterval"),this.parseDisplayCustOrBuiltInUnit(e,t,r),this.parseTimeUnits(t,e,r,"majorUnitDates","majorTimeUnit","majorUnit"),this.parseTimeUnits(t,e,r,"minorUnitDates","minorTimeUnit","minorUnit"),f(t,e,r,"baseTimeUnit","baseUnitDates"),t.getVisitorParamsState().get("axes")||t.getVisitorParamsState().set("axes",new Map);const i=t.getValAttrAsString("axId",e);return t.getVisitorParamsState().get("axes").set(i,r),r}parseTimeUnits(t,e,s,r,o,i){const n={};let l=t.getValAttrAsString(o,e);if(l!==null){n.dem=l;let a=t.getValAttrAsString(i,e);n.amt=a}Object.keys(n).length>0&&(s[r]=n)}parseDisplayCustOrBuiltInUnit(t,e,s){let r=e.getValAttrAsString("dispUnits/builtInUnit",t);r||(r=e.getValAttrAsString("dispUnits/custUnit",t)),r&&(s.displayUnits=r)}parseLabelAlign(t,e,s){let r=t.getValAttrAsString("lblAlgn",e);r!==null&&(r==="ctr"?s.labelAlign="center":r==="l"?s.labelAlign="left":r==="r"&&(s.labelAlign="right"))}parseOrientation(t,e,s){const r=t.getValAttrAsString("AxPos",e);r!==null&&(r==="b"?s.orientation="bottom":r==="l"?s.orientation="left":r==="r"?s.orientation="right":r==="t"&&(s.orientation="top"))}parseNumFormat(t,e,s){const r={},o=t.evaluate("numFmt",e);o!==null&&(o.hasAttribute("formatCode")&&(r.formatCode=o.getAttribute("formatCode")),o.hasAttribute("sourceLinked")&&(r.sourceLinked=o.getAttribute("sourceLinked")==="1")),Object.keys(r).length>0&&(s.labels=r)}parseScaling(t,e,s){const r=t.getValAttrAsString("scaling/orientation",e);r!==null&&(s.inverted=r!=="minMax");const o=t.getValAttrAsFloat("scaling/logBase",e);o!==null&&(s.logBase=o,s.scaleType="log"),y(t,e,s,"scaling/max","max"),y(t,e,s,"scaling/min","min")}afterVisit(t,e,s){s.fill&&s.labels&&(s.labels.fill=s.fill,delete s.fill);let r=t.getValAttrAsBoolean("delete",e);r!==null&&(t.setToPath(s,"labels.shown",r!==!0),t.setToPath(s,"shown",r!==!0));const o=t.getFromPath(s,"dispUnits.displayUnitsLabel");o&&(t.setToPath(s,"displayUnitsLabel",o),delete s.dispUnits);const i=t.evaluate("title",e);t.setToPath(s,"title.shown",i!==null);const n=t.evaluate("minorGridlines",e);t.setToPath(s,"gridLinesMinor.shown",n!==null);const l=t.evaluate("majorGridlines",e);t.setToPath(s,"gridLinesMajor.shown",l!==null)}}class F{constructor(t="text"){this._jsonKey=t}getTextPath(){return this._jsonKey}visit(t,e,s){let r=t.getFromPath(s,this.getTextPath());return r||(r={}),this.parseTextElement(t,e,r,!1),Object.keys(r).length>0&&t.setToPath(s,this.getTextPath(),r),s}parseTextElement(t,e,s,r){const o=t.evaluate("p/pPr/defRPr",e)??t.evaluate("defRPr",e);o&&(this.parseTextProperties(t,o,s),new L().visit(t,o,s));let i=[],n=t.evaluate("p/r",e)??t.evaluate("r",e);const l=c=>{const h={};let g=t.evaluate("t",c);const m=t.evaluate("rPr",c);m&&this.parseTextProperties(t,m,h),g?h.text=g.firstChild.textContent??"":c.textContent&&(h.text=c.textContent??""),i.push(h)};if(n?.length!==void 0)for(let c=0;n&&c<n.length;c++)l(n.item(c));else l(n||e);i.length>0&&(s.runs=i);const a=t.evaluate("bodyPr",e);a&&D(a,s)}parseTextProperties(t,e,s){if(!e)return;e.hasAttribute("sz")&&(s.size=parseFloat(e.getAttribute("sz"))/100),e.hasAttribute("b")&&(s.weight=e.getAttribute("b")==="1"?700:400),e.hasAttribute("i")&&(s.italic=e.getAttribute("i")==="1"),e.hasAttribute("u")&&(s.underline=e.getAttribute("u")),e.hasAttribute("strike")&&(s.strike=e.getAttribute("strike"));const r=t.evaluate("latin",e);if(r&&!r.getAttribute("typeface").startsWith("+")){const o=s.font??{};if(r.hasAttribute("typeface")&&(o.family=r.getAttribute("typeface")),r.hasAttribute("panose")){const i=r.getAttribute("panose");i&&(o.fallbacks=[d.IFont.getPanoseFallback(i)])}r.hasAttribute("pitchFamily")&&(o.pitch=r.getAttribute("pitchFamily")),r.hasAttribute("charset")&&(o.charset=r.getAttribute("charset")),Object.keys(o).length>0&&(s.font=o)}}}class st{visit(t,e,s){let r=t.getVisitorParamsState().get("series")[t.getValAttrAsInteger("idx",e)];if(r){let o=t.getFromPath(r,"title");o||(o={},t.setToPath(r,"title",o));let i=o,n=t.getValAttrAsBoolean("delete",e);return n!==null&&(i.shown=!n),i}return s}}class ot{visit(t,e,s){const r={};return A(t,e,r,"overlay","overlay"),f(t,e,r,"legendPos","position"),s.legend=r,r}}class it extends L{visit(t,e,s){const r=this.processFill(t,e,s);Object.keys(r).length>0&&(s.fillNegative=r);const o=this.processStroke(t,e,s);return Object.keys(o).length>0&&(s.strokeNegative=o),s}}class j extends F{constructor(t="title"){super(t)}parseTitleRangeOrValue(t,e,s){let r=t.evaluate("tx/strRef/f",e)??null;if(r){const o=r.firstElementChild.nodeValue;t.setToPath(s,"range",o)}}visit(t,e,s){const r={};A(t,e,r,"overlay","overlay"),s[this._jsonKey]=r;let o=t.getFromPath(r,this.getTextPath());o||(o={}),this.parseTitleRangeOrValue(t,e,r);const i=t.evaluate("txPr",e);i&&this.parseTextElement(t,i,o,!1);const n=t.evaluate("tx/rich",e);return n&&this.parseTextElement(t,n,o,!0),Object.keys(o).length>0&&t.setToPath(r,this.getTextPath(),o),r}afterVisit(t,e,s){if(s?.text){const r=s.text?.rotation??null;r!==null&&(s.rotation=parseInt(r),delete s.title.rotation)}}}class nt{visit(t,e,s){const r=t.evaluate("manualLayout",e);if(r){let o={};y(t,r,o,"x","x"),y(t,r,o,"y","y"),y(t,r,o,"w","w"),y(t,r,o,"h","h"),f(t,r,o,"xMode","xMode"),f(t,r,o,"yMode","yMode"),f(t,r,o,"wMode","wMode"),f(t,r,o,"hMode","hMode"),Object.keys(o).length>0&&(s.manualLayout=o)}return s}}class lt{visit(t,e,s){return s.name=e.getAttribute("name"),s}}class at extends M{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1){let l=n.localName;const a=t.evaluate(l,e),c=this.processAdjColor(t,a);r[l]=c}}return Object.keys(r).length>0&&(s.colors=r),r}}class ct{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=t.evaluate("majorFont",e),i=this.processFontElement(t,o,{});r.majorFont=i.family,i.fallbacks&&(r.majorFallbacks=i.fallbacks);const n=t.evaluate("minorFont",e),l=this.processFontElement(t,n,{});return r.minorFont=l.family,i.fallbacks&&(r.minorFallbacks=l.fallbacks),s.fonts=r,r}processFontElement(t,e,s){if(!e)return;const r=t.evaluate("latin",e);if(!r)return;const o=r.getAttribute("typeface");o&&(s.family=o);const i=r.getAttribute("panose");return i&&(s.fallbacks=[d.IFont.getPanoseFallback(i)]),s}}class ut{visit(t,e,s){if(!e)return;const r={},o=e.getAttribute("r:id");if(o){const i=t.getRef(o);typeof i=="string"&&(r.address=i)}return t.copyFromAttribute(e,"tooltip",r),t.copyFromAttribute(e,"history",r,"history",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tgtFrame",r,"target"),s.hyperlink=r,r}}class ht{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),this.processFilterColumns(t,e,r),Object.keys(r).length>0&&(s.filter=r),r}processColorFilter(t,e){const s={type:d.IAutoFilter.Type.Color};return t.copyFromAttribute(e,"cellColor",s,"cellColor",t.BOOLEAN_COPY),t.copyFromAttribute(e,"dxfId",s,"styleId",t.INT_COPY),s}processCustomFilter(t,e){const s={};return t.copyFromAttribute(e,"operator",s,"operator",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val"),s}processCustomFilters(t,e){const s={type:d.IAutoFilter.Type.Custom};t.copyFromAttribute(e,"and",s,"and",t.BOOLEAN_COPY);const r=e.childNodes;s.filters=[];for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType!==1)continue;let n=null;i.localName==="customFilter"&&(n=this.processCustomFilter(t,i)),n&&s.filters.push(n)}return s}processDynamicFilter(t,e){const s={type:d.IAutoFilter.Type.Dynamic};return t.copyFromAttribute(e,"type",s,"dynamicType"),t.copyFromAttribute(e,"val",s,"val",t.INT_COPY),t.copyFromAttribute(e,"maxVal",s,"maxVal",t.INT_COPY),s}processDateGroupItem(t,e){const s={};return t.copyFromAttribute(e,"dateTimeGrouping",s,"group"),t.copyFromAttribute(e,"day",s,"day",t.INT_COPY),t.copyFromAttribute(e,"hour",s,"hour",t.INT_COPY),t.copyFromAttribute(e,"minute",s,"minute",t.INT_COPY),t.copyFromAttribute(e,"month",s,"month",t.INT_COPY),t.copyFromAttribute(e,"second",s,"second",t.INT_COPY),t.copyFromAttribute(e,"year",s,"year",t.INT_COPY),s}processFilterItem(t,e){if(e.hasAttribute("val"))return e.getAttribute("val")}processFilters(t,e){const s={type:d.IAutoFilter.Type.Items};t.copyFromAttribute(e,"blank",s,"blank",t.BOOLEAN_COPY),t.copyFromAttribute(e,"calendarType",s,"calendarType");let r=[],o=[];const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1){if(l.localName==="dateGroupItem"){const a=this.processDateGroupItem(t,l);a&&r.push(a)}else if(l.localName==="filter"){const a=this.processFilterItem(t,l);a!==void 0&&o.push(a)}}}return r.length>0&&(s.dateGroups=r),o.length>0&&(s.items=o),s}processIcon(t,e){const s={type:d.IAutoFilter.Type.Icon};return t.copyFromAttribute(e,"iconId",s,"iconId",t.INT_COPY),t.copyFromAttribute(e,"iconSet",s),s}processTop10(t,e){const s={type:d.IAutoFilter.Type.Top10};return t.copyFromAttribute(e,"filterVal",s,"filterVal",t.FLOAT_COPY),t.copyFromAttribute(e,"percent",s,"percent",t.BOOLEAN_COPY),t.copyFromAttribute(e,"top",s,"top",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val",t.FLOAT_COPY),s}processFilterCriteria(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType!==1)continue;let l=null;n.localName==="colorFilter"?l=this.processColorFilter(t,n):n.localName==="customFilters"?l=this.processCustomFilters(t,n):n.localName==="dynamicFilter"?l=this.processDynamicFilter(t,n):n.localName==="filters"?l=this.processFilters(t,n):n.localName==="iconFilter"?l=this.processIcon(t,n):n.localName==="top10"&&(l=this.processTop10(t,n)),l&&o.push(l)}return o.length>0&&(s.criteria=o),o}processFilterColumn(t,e){if(!e)return null;const s={};if(!e.hasAttribute("colId"))return;s.offset=parseInt(e.getAttribute("colId"));let r=!1;return e.hasAttribute("hiddenButton")&&(r=p.b(e.getAttribute("hiddenButton"))),r&&(s.hiddenButton=!0),e.hasAttribute("showButton")&&(s.showButton=p.b(e.getAttribute("showButton"))),this.processFilterCriteria(t,e,s),s}processFilterColumns(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="filterColumn"){const l=this.processFilterColumn(t,n);l&&o.push(l)}}return o.length>0&&(s.fields=o),o}}class pt{visit(t,e,s){if(!e)return;const r={};if(t.copyFromAttribute(e,"ref",r),e.hasAttribute("caseSensitive")){const n=p.b(e.getAttribute("caseSensitive"));r.collatorOptions=n?d.Sort.CaseSensitiveOptions:d.Sort.CaseInsensitiveOptions}const o=e.getAttribute("sortMethod");o!=null&&o!=="none"&&(o==="stroke"?r.collatorOptions={...r.collatorOptions,collation:"stroke"}:o==="pinYin"&&(r.collatorOptions={...r.collatorOptions,collation:"pinyin"})),e.hasAttribute("columnSort")&&p.b(e.getAttribute("columnSort"))&&(r.orientation=d.IRange.Orientation.Column);const i=d.AddressUtils.fastStringToRange(r.ref);return this.processSortConditions(t,e,r,i),Object.keys(r).length>0&&(s.sort=r),r}processSortCondition(t,e,s){if(!e)return null;const r={};if(e.hasAttribute("ref")){if(e.hasAttribute("ref")){const o=e.getAttribute("ref"),i=d.AddressUtils.fastStringToRange(o);r.offset=s?i.colStart-s.colStart:i.colStart}return r.reverse=!1,e.hasAttribute("descending")&&(r.reverse=p.b(e.getAttribute("descending"))),t.copyFromAttribute(e,"sortBy",r,"sortOn"),t.copyFromAttribute(e,"dxfId",r),t.copyFromAttribute(e,"iconSet",r),t.copyFromAttribute(e,"customList",r),r}console.warn("no ref for sort conditional",t.getPath())}processSortConditions(t,e,s,r){if(!e)return;const o=e.childNodes,i=[];for(let n=0;n<o.length;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="sortCondition"){const a=this.processSortCondition(t,l,r);a&&i.push(a)}}return i.length>0&&(s.fields=i),i}}class z{visit(t,e,s){}processDataBarColor(t,e,s,r,o="dk1"){if(!e)return;const i=p.d(n=>e.getAttribute(n),o);return i&&(s[r]=i),s}processFonts(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="font"){const l={};this.processFont(t,n,l),s[o++]=l}}return s}processFont(t,e,s){t.getValAttrAsBoolean("b",e,!0)&&(s.weight=700),t.getValAttrAsBoolean("i",e,!0)&&(s.style=d.IFont.Style.Italic),t.getValAttrAsBoolean("strike",e,!0)&&(s.strike=!0);const r=t.evaluate("u",e);if(r){const n=r.getAttribute("val");s.underline=n||d.IFont.UnderlineStyle.Single}f(t,e,s,"vertAlign","verticalAlign"),s.verticalAlign==="superscript"?s.verticalAlign=d.IFont.VerticalAlignment.Super:s.verticalAlign==="subscript"&&(s.verticalAlign=d.IFont.VerticalAlignment.Sub),y(t,e,s,"sz","size");const o=t.evaluate("color",e);this.processDataBarColor(t,o,s,"fill"),s.fill||(s.fill="dk1"),f(t,e,s,"name","family"),f(t,e,s,"rFont","family");const i=t.evaluate("family",e);if(i){const n=i.getAttribute("val");if(n)switch(n){case"1":s.fallbacks=["serif"];break;case"2":s.fallbacks=["sans-serif"];break;case"3":s.fallbacks=["monospace"];break;case"4":s.fallbacks=["cursive"];break;case"5":s.fallbacks=["fantasy"]}}return f(t,e,s,"scheme","scheme"),A(t,e,s,"shadow","shadow",!0),A(t,e,s,"outline","outline",!0),t.getValAttrAsBoolean("condense",e,!0)&&(s.letterSpacing=-1),t.getValAttrAsBoolean("extend",e,!0)&&(s.letterSpacing=1),f(t,e,s,"charset","charset"),s}processFills(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="fill"&&this.processFill(t,n,s,o++)}return s}processFill(t,e,s,r){const o={type:d.IFill.Type.None},i=e.childNodes;let n=!1;for(let l=0;!n&&l<i.length;l++){const a=i.item(l);a.nodeType===1&&(a.localName==="gradientFill"?(this.processGradientFill(t,a,o),n=!0):a.localName==="patternFill"&&(this.processPatternFill(t,a,o),n=!0))}return s[r]=o,s}processGradientFill(t,e,s){if(!e)return;s.type=d.IFill.Type.Gradient;const r=[];s.stops=r,s.angle=90+(e.hasAttribute("degree")?parseFloat(e.getAttribute("degree")):0);const o=e.getAttribute("type");o&&(s.gradientType=o);const i=l=>{if(!l)return 0;const a=parseFloat(l);return isNaN(a)?0:a};(e.hasAttribute("left")||e.hasAttribute("top")||e.hasAttribute("right")||e.hasAttribute("bottom"))&&(s.fillTo={left:i(e.getAttribute("left")),top:i(e.getAttribute("top")),right:i(e.getAttribute("right")),bottom:i(e.getAttribute("bottom"))});const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="stop"){const c={};r.push(c);const h=parseFloat(a.getAttribute("position"));c.offset=h;const g=t.evaluate("color",a);this.processDataBarColor(t,g,c,"color")}}return s}processPatternFill(t,e,s){if(!e)return;const r=t.getVisitorParamsState().get("processingDXFs"),o=e.getAttribute("patternType")||(r?d.IFill.BuiltInSheetPattern.Solid:d.IFill.BuiltInSheetPattern.None);if(o===d.IFill.BuiltInSheetPattern.None)return{none:!0};s.type=d.IFill.Type.Pattern,o&&(s.patternType=o);let i,n="foreground",l="background";const a=s.patternType===d.IFill.BuiltInSheetPattern.Solid&&r;if(a){i="lt1";const g=n;n=l,l=g}const c=t.evaluate("fgColor",e);this.processDataBarColor(t,c,s,n,i);const h=t.evaluate("bgColor",e);return this.processDataBarColor(t,h,s,l,i),a&&!s.foreground&&(s.foreground=i),s}processBorders(t,e,s,r){if(!e)return;const o=e.childNodes;let i=0;for(let n=0;n<o.length;n++){const l=o.item(n);l.nodeType===1&&l.localName==="border"&&this.processBorder(t,l,s,i++,r)}return s}processBorder(t,e,s,r,o){if(!e)return;const i={};return this.processBorderStroke(t,e,i,d.IBorder.Edge.Left),this.processBorderStroke(t,e,i,d.IBorder.Edge.Right),o?(i.right||i.left)&&(i.right?i.vertical={...i.right}:i.vertical={...i.left}):this.processBorderStroke(t,e,i,d.IBorder.Edge.Vertical),this.processBorderStroke(t,e,i,d.IBorder.Edge.Top),this.processBorderStroke(t,e,i,d.IBorder.Edge.Bottom),o?(i.bottom||i.top)&&(i.right?i.horizontal={...i.bottom}:i.horizontal={...i.top}):this.processBorderStroke(t,e,i,d.IBorder.Edge.Horizontal),s[r]=i,s}processBorderStroke(t,e,s,r){if(!e)return;const o=t.evaluate(r,e);if(!o)return;const i={};o.hasAttribute("style")&&(i.style=o.getAttribute("style"));const n=t.evaluate("color",o);return n&&this.processDataBarColor(t,n,i,"color"),Object.keys(i).length>0?s[r]=i:null}}class gt extends z{visit(t,e,s){this.processNumFmts(t,t.evaluate("numFmts",e),null),t.getVisitorParamsState().set("colorsToProcess",new Set);const r={fills:{},fonts:{},borders:{}};this.processFonts(t,t.evaluate("fonts",e),r.fonts),this.processFills(t,t.evaluate("fills",e),r.fills),this.processBorders(t,t.evaluate("borders",e),r.borders,!0),r.fills[0]={type:d.IFill.Type.None},r.fills[1]={type:d.IFill.Type.Pattern,patternType:d.IFill.BuiltInSheetPattern.Gray125},r.borders[0]={};const o=[];this.processXFs(t,t.evaluate("cellStyleXfs",e),o,r,null,!1);const i=new Map;if(o.length>0){const a=[];this.processCellStyles(t,t.evaluate("cellStyles",e),a,o,i),s.named=a}const n=[];this.processXFs(t,t.evaluate("cellXfs",e),n,r,i),Object.keys(n).length>0&&(s.direct=n);const l=[];return this.processDXFs(t,t.evaluate("dxfs",e),l),this.processTableStyles(t,t.evaluate("tableStyles",e),s,l),this.processIndexColors(t,t.evaluate("colors/indexedColors",e),s),this.processMruColors(t,t.evaluate("colors/mruColors",e),s),s}processIndexColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="rgbColor"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}s.indexedColors=r}processMruColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="color"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}r.length>0&&(s.mruColors=r)}processNumFmts(t,e,s){if(!e)return;const r=new Map;if(t.getVisitorParamsState().set("numFmts",r),!e)return;const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="numFmt"){const l=n.getAttribute("numFmtId"),a=n.getAttribute("formatCode");if(l&&a){const c=a.replace(/\\(.)/g,"$1");r.set(parseInt(l),c)}}}}processXFs(t,e,s,r,o=null,i=!0){if(!e)return;const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="xf"){const c={};this.processXF(t,a,c,r,o,i),s.push(c)}}}processXF(t,e,s,r,o,i){if(!e)return;const n=e.getAttribute("xfId");if(n&&o){const c=o.get(parseInt(n));c&&c!==d.IStyle.BuiltInName.Normal&&(s.named=c)}const l=c=>!(!i&&e.hasAttribute(c))||p.b(e.getAttribute("applyFont"));if(l("applyFont")){const c=r.fonts[e.getAttribute("fontId")];c&&(s.font=c)}if(l("applyFill")){const c=r.fills[e.getAttribute("fillId")];c&&Object.keys(c).length>0&&(s.fill=c)}if(l("applyBorder")){const c=r.borders[e.getAttribute("borderId")];c&&Object.keys(c).length>0&&(s.border=c)}if(l("applyNumberFormat")){const c=e.getAttribute("numFmtId");if(c){const h=parseInt(c);let g;const m=t.getVisitorParamsState();if(m){const b=m.get("numFmts");b&&(g=b.get(h)),s.numberFormat=g??h}else console.warn("no visitor params state")}}l("applyAlignment")&&this.processAlignment(t,t.evaluate("alignment",e),s),l("applyProtection")&&this.processProtection(t,t.evaluate("protection",e),s);const a=p.b(e.getAttribute("quotePrefix"));a&&(s.quotePrefix=a)}processAlignment(t,e,s){const r={};if(e?.hasAttribute("horizontal")?r.horizontal=e.getAttribute("horizontal"):r.horizontal=d.ITextFrame.HorizontalAlignment.General,e?.hasAttribute("vertical")?r.vertical=e.getAttribute("vertical"):r.vertical=d.ITextFrame.VerticalAlignment.Bottom,e?.hasAttribute("indent")?r.indent=parseInt(e.getAttribute("indent")):r.indent=0,e?.hasAttribute("relativeIndent")?r.relativeIndent=parseInt(e.getAttribute("relativeIndent")):r.relativeIndent=0,p.b(e?.getAttribute("wrapText"))?r.overflow=d.ITextFrame.Overflow.Wrap:r.overflow=d.ITextFrame.Overflow.Visible,p.b(e?.getAttribute("shrinkToFit"))&&(r.overflow=d.ITextFrame.Overflow.Shrink),e?.hasAttribute("textRotation")){let i=parseFloat(e.getAttribute("textRotation"));i>0&&i<=90?i=360-i:i>90&&i<=180?i-=90:i===255&&(i=0,r.stacked=!0),r.rotation=i}else r.rotation=0;e?.hasAttribute("justifyLastLine")&&(r.justifyLastLine=p.b(e.getAttribute("justifyLastLine")));const o=e?.getAttribute("readingOrder");return o&&(o==="0"?r.readingDirection=d.ITextFrame.ReadingDirection.Auto:o==="1"?r.readingDirection=d.ITextFrame.ReadingDirection.LeftToRight:o==="2"?r.readingDirection=d.ITextFrame.ReadingDirection.RightToLeft:console.warn(`invalid readingOrder: ${o}`)),Object.keys(r).length>0&&(s.alignment=r),s}processProtection(t,e,s){if(!e)return;const r={},o=e.getAttribute("locked");o&&!p.b(o)&&(r.edit=!0);const i=e.getAttribute("hidden");return i&&p.b(i)&&(r.formulaHidden=!0),Object.keys(r).length>0&&(s.protection=r),s}processDXF(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="font"){const n={};this.processFont(t,i,n),s.font=n}else if(i.nodeType===1&&i.localName==="fill"){const n=[];this.processFill(t,i,n,0),n.length>0&&n[0]&&(s.fill=n[0])}else if(i.nodeType===1&&i.localName==="border"){const n=[];this.processBorder(t,i,n,0,!1),n.length>0&&n[0]&&(s.border=n[0])}}}processDXFs(t,e,s){if(!e)return;t.getVisitorParamsState().set("processingDXFs",!0);const r=new Map;t.getVisitorParamsState().set("dxfs",r);const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="dxf"){const l={};this.processDXF(t,n,l);const a=s.length;r.set(a,l),s.push(l)}}t.getVisitorParamsState().delete("processingDXFs")}processTableStyle(t,e,s,r,o=!1){const i=e.getAttribute("name"),n={name:i};e.hasAttribute("table")&&(n.table=p.b(e.getAttribute("table"))),e.hasAttribute("pivot")&&(n.pivot=p.b(e.getAttribute("pivot"))),o&&!n.pivot&&r.unshift(null);const l=e.childNodes;for(let a=0;a<l.length;a++){const c=l.item(a);if(c.nodeType===1&&c.localName==="tableStyleElement"){const h=c.getAttribute("type"),g=c.getAttribute("dxfId");let m=r?.[g];m||(console.warn("invalid dfx id",g),m={}),n[h]=m;let b=null;c.hasAttribute("size")&&(b=parseInt(c.getAttribute("size"))),b&&!isNaN(b)&&(m.size=b)}}delete n.name,s[i]=n}processTableStyles(t,e,s,r,o){if(!e)return;const i={},n=e.getAttribute("defaultTableStyle");n&&(i.defaultTableStyle=n);const l=e.getAttribute("defaultPivotStyle");l&&(i.defaultPivotStyle=l);const a=e.childNodes,c={};for(let h=0;h<a.length;h++){const g=a.item(h);g.nodeType===1&&g.localName==="tableStyle"&&this.processTableStyle(t,g,c,r,o)}return Object.keys(c).length>0&&(i.styles=c),Object.keys(i).length>0&&(s.tables=i),s}processCellStyles(t,e,s,r,o){if(!e)return;const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1&&l.localName==="cellStyle"){const a=parseInt(l.getAttribute("xfId")),c=l.getAttribute("name");if(o.set(a,c),!r[a])continue;const h={name:c,style:r[a]};l.getAttribute("hidden")&&(h.hidden=p.b(l.getAttribute("hidden"))),l.getAttribute("iLevel")&&(h.iLevel=parseInt(l.getAttribute("iLevel"))),s.push(h)}}}afterVisit(t,e,s){}}class dt extends z{visit(t,e,s){return this.processSheetRefs(t,t.evaluate("sheets",e),s),this.processBookViews(t,t.evaluate("bookViews",e),s),this.processDefinedNames(t,t.evaluate("definedNames",e),s),this.processCalcPr(t,t.evaluate("calcPr",e),s),this.processWorkbookProtection(t,t.evaluate("workbookProtection",e),s),this.processWorkbookPr(t,t.evaluate("workbookPr",e),s),s}processPassword(t,e,s,r="password"){if(!e)return;const o={};t.copyFromAttribute(e,"algorithmName",o,"algorithmName"),t.copyFromAttribute(e,"hashValue",o,"hashValue"),t.copyFromAttribute(e,"saltValue",o,"saltValue",t.BOOLEAN_COPY),t.copyFromAttribute(e,"spinCount",o,"spinCount",t.INT_COPY),Object.keys(o).length>0&&(s[r]=o)}processWorkbookProtection(t,e,s){if(!e)return;const r={};this.processPassword(t,t.evaluate("workbookPassword",e),r),this.processPassword(t,t.evaluate("revisionsPassword",e),r,"revisionsPassword");const o=i=>i!==!0&&i!=="1"&&i!=="on"&&i!=="true"&&(i===!1||i==="0"||i==="off"||i==="false"||null);return t.copyFromAttribute(e,"lockStructure",r,"structure",o),t.copyFromAttribute(e,"lockWindows",r,"windows",o),t.copyFromAttribute(e,"lockRevision",r,"revision",o),s.protection=r,s}processCalcPr(t,e,s){e&&(s.calc={})}processSheetRefs(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="sheet"&&this.processSheetRef(t,n,r)}s.sheets=r}processSheetRef(t,e,s){const r={};t.copyFromAttribute(e,"name",r,"name"),t.copyFromAttribute(e,"state",r,"visibility");const o=e.getAttribute("r:id"),i=t.getRef(o);i&&(r.sheet=i),s.push(r)}processBookViews(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;o<1&&i<e.childNodes.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="workbookView"&&(this.processWorkbookView(t,n,s),o++)}}processWorkbookView(t,e,s){if(!e)return;const r={};t.copyFromAttribute(e,"activeTab",r,"activeSheetId",[t.INT_COPY,o=>o+1]),e.hasAttribute("activeTab")||(r.activeSheetId=1),t.copyFromAttribute(e,"showHorizontalScroll",r,"showHorizontalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showVerticalScroll",r,"showVerticalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showSheetTabs",r,"showTabs",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tabRatio",r,"tabRatio",[t.FLOAT_COPY,o=>o]),Object.keys(r).length>0&&(s.view=r)}processDefineName(t,e,s,r){if(!e)return;const o={},i=e.firstChild;if(i&&i.nodeType===3&&(o.ref=i.textContent),t.copyFromAttribute(e,"name",o),t.copyFromAttribute(e,"comment",o),t.copyFromAttribute(e,"hidden",o,"hidden",t.BOOLEAN_COPY),e.hasAttribute("localSheetId")){const n=e.getAttribute("localSheetId");if(!r[n]?.name)return void console.warn(`Defined name '${e.getAttribute("name")}' references a sheet with localSheetId '${n}' which does not exist.`);o.scope=r[n].name}t.copyFromAttribute(e,"customMenu",o),t.copyFromAttribute(e,"description",o),t.copyFromAttribute(e,"statusBar",o),t.copyFromAttribute(e,"help",o),t.copyFromAttribute(e,"shortcutKey",o),t.copyFromAttribute(e,"function",o,"function",t.BOOLEAN_COPY),t.copyFromAttribute(e,"functionGroupId",o,"functionGroupId",t.INT_COPY),t.copyFromAttribute(e,"publishToServer",o,"publishToServer",t.BOOLEAN_COPY),t.copyFromAttribute(e,"vbProcedure",o,"vbProcedure",t.BOOLEAN_COPY),t.copyFromAttribute(e,"xlm",o,"xlm",t.BOOLEAN_COPY),Object.keys(o).length>0&&s.push(o)}processDefinedNames(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="definedName"&&this.processDefineName(t,n,r,s.sheets)}r.length>0&&(s.names=r)}processWorkbookPr(t,e,s){e&&t.copyFromAttribute(e,"date1904",s,"date1904",t.BOOLEAN_COPY)}afterVisit(t,e,s){}}class mt{visit(t,e,s){return t.copyFromAttribute(e,"name",s),t.copyFromAttribute(e,"displayName",s),t.copyFromAttribute(e,"ref",s),t.copyFromAttribute(e,"headerRowCount",s,"headerRowCount",t.INT_COPY),t.copyFromAttribute(e,"totalsRowCount",s,"totalsRowCount",t.INT_COPY),this.processTableColumns(t,e,s),this.processTableStyleInfo(t,e,s),s}processTableStyleInfo(t,e,s){if(!e)return;const r=e.childNodes,o={};for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableStyleInfo"&&(t.copyFromAttribute(n,"name",o),t.copyFromAttribute(n,"showColumnStripes",o,"showColumnStripes",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showFirstColumn",o,"showFirstColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showLastColumn",o,"showLastColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showRowStripes",o,"showRowStripes",t.BOOLEAN_COPY))}Object.keys(o).length>0&&(s.styleOptions=o)}processTableColumn(t,e,s){if(!e)return null;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="tableColumn"){const n={};t.copyFromAttribute(i,"name",n),t.copyFromAttribute(i,"uniqueName",n),s.push(n)}}return s}processTableColumns(t,e,s){const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableColumns"&&this.processTableColumn(t,n,o)}o.length>0&&(s.columns=o)}}class bt{visit(t,e,s){return s}}class k{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"editAs",r,"anchorType"),r.anchor={},this.processOffsetCoord(t,t.evaluate("from",e),r.anchor,"from"),this.processOffsetCoord(t,t.evaluate("to",e),r.anchor,"to"),s.movables||(s.movables=[]),s.movables.push(r),r}processOffsetCoord(t,e,s,r){if(!e)return;const o={c:0,r:0,x:0,y:0};return t.evaluate("col",e)&&(o.c=parseInt(t.evaluate("col",e).textContent)),t.evaluate("row",e)&&(o.r=parseInt(t.evaluate("row",e).textContent)),t.evaluate("colOff",e)&&(o.x=p.c(t.evaluate("colOff",e).textContent)),t.evaluate("rowOff",e)&&(o.y=p.c(t.evaluate("rowOff",e).textContent)),r==="from"?s.tl=o:s.br=o,s}}class B{visit(t,e,s){if(!e)return;const r=t.evaluate("*/cNvPr",e);return r&&(t.copyFromAttribute(r,"name",s),t.copyFromAttribute(r,"desc",s),t.copyFromAttribute(r,"hidden",s,"hidden",t.BOOLEAN_COPY),t.copyFromAttribute(r,"id",s)),s}}class At extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGraphicFramePr/cNvGraphicFramePr",e);if(r){const n=t.evaluate("graphicFrameLocks",r);if(n){n.hasAttribute("noChangeAspect")&&(s.lockAspect=n.getAttribute("noChangeAspect")==="1");const l={};Object.keys(l).length>0&&(s.locks=l)}}let o={type:"graphicFrame",json:{}};const i=t.evaluate("graphic/graphicData",e).childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1)try{let a=l.localName;a==="chart"&&(a="chart"),o.type=a;const c=l.getAttribute("r:id");c&&(o.json=t.getRef(c))}catch(a){console.warn("Unable to parse graphicFrame",a)}}return o&&(s.content=o),o}}class _ extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvSpPr/cNvSpPr",e);if(r){const i=t.evaluate("spLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', shapes are not supported.`);const o={};return s.content={type:"sp",json:o},o}}class ft extends B{visit(t,e,s){if(!e)return;const r=super.visit(t,e,s),o=t.evaluate("nvPicPr/cNvPicPr",e);if(o){t.copyFromAttribute(e,"preferRelativeResize",r,"preferRelativeResize",t.BOOLEAN_COPY);const a=t.evaluate("picLocks",o);if(a){a.hasAttribute("noChangeAspect")&&(r.lockAspect=a.getAttribute("noChangeAspect")==="1");const c={};t.copyFromAttribute(a,"noChangeArrowheads",r,"noChangeArrowheads",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noChangeShapeType",r,"noChangeShapeType",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noEditPoints",r,"noEditPoints",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noAdjustHandles",r,"noAdjustHandles",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noCrop",r,"noCrop",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noGrp",r,"noGrp",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noMove",r,"noMove",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noResize",r,"noResize",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noRot",r,"noRot",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noSelect",r,"noSelect",t.BOOLEAN_COPY),Object.keys(c).length>0&&(r.locks=c)}}const i=t.evaluate("blipFill/blip",e);let n;if(i){const a=i.getAttribute("r:embed")??i.getAttribute("embed");if(!a)return void console.warn("no rId found for blip",i);n=t.getRef(a,!0)}const l={resId:n};return s.content={type:"picture",json:l},r}}class yt extends _{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGrpSpPr/cNvGrpSpPr",e);if(r){const i=t.evaluate("grpSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', group shapes are not supported.`);const o={};return s.content={type:"grpSp",json:o},o}}class vt extends _{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvCxnSpPr/cNvCxnSpPr",e);if(r){const i=t.evaluate("cxnSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', connection shapes are not supported.`);const o={};return s.content={type:"cxnSp",json:o},o}}const R="richTypes";class Ft{visit(t,e,s){let r=t.getVisitorParamsState().get(R);r||(r=[],t.getVisitorParamsState().set(R,r));const o=e.childNodes,i=o.length;for(let n=0;n<i;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="s"){const a={type:l.getAttribute("t")??"n",keys:[]};this.processKeys(t,l,a),r.push(a)}}return s.richTypes=r,r}processKeys(t,e,s){const r=e.childNodes,o=r.length,i=s.keys;for(let n=0;n<o;n++){const l=r.item(n);if(l.nodeType===1&&l.localName==="k"){const a=l.getAttribute("n"),c=l.getAttribute("t");i.push([a,c])}}}}const E="richData";class Ct{visit(t,e,s){let r=t.getVisitorParamsState().get("richTypes");if(!r)return void t.warn("RichValueFound but not type.");let o=t.getVisitorParamsState().get(E);o||(o=[],t.getVisitorParamsState().set(E,o));const i=e.childNodes,n=i.length;for(let l=0;l<n;l++){const a=i.item(l);if(a.nodeType===1&&a.localName==="rv"){const c=r[a.getAttribute("s")],h={type:c.type};this.processValues(t,a,h,c);const g=this.mapType(t,h);o.push(g)}}return s.richData=o,o}mapType(t,e){if(e.type==="_error"){const s=e.errorType;if(s)try{e=d.FormulaError.getBuiltInById(s+1)}catch{}}return e}processValues(t,e,s,r){const o=e.childNodes,i=o.length;r.type;const n=r.keys;for(let l=0;l<i;l++){const a=o.item(l);if(a.nodeType===1&&a.localName==="v"){const c=n[l];if(!c)return void t.warn("Invalid richData");const h=c[0],g=c[1];let m=a.textContent;g==="i"&&(m=Number(m)),s[h]=m}}}}class wt{visit(t,e,s){if(!e)return;const r=[];return this.processAuthors(t,t.evaluate("authors",e),r),r.length>0&&(s.authors=r),s.comments=[],s}processAuthors(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="author"){const n=i.firstChild;n&&n.nodeType===3&&s.push(n.textContent)}}}}class Pt{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"authorId",r,"authorId",t.INT_COPY),r.asNote=!0,s.comments||(s.comments=[]),s.comments.push(r),r}}class Nt{visit(t,e,s){if(!e)return;const r=[];return s.comments=r,r}}class Ot{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"id",r,"id",p.r),t.copyFromAttribute(e,"personId",r,"personId",p.r),t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"parentId",r,"parentId",p.r),t.copyFromAttribute(e,"dT",r),e.hasAttribute("done")&&(r.done=p.b(e.getAttribute("done"))),s.push(r),r}}class Tt{visit(t,e,s){const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="person"){const l={};t.copyFromAttribute(n,"id",l,"id",p.r),t.copyFromAttribute(n,"displayName",l),t.copyFromAttribute(n,"userId",l,"userId",p.r),t.copyFromAttribute(n,"providerId",l),r.push(l)}}return r.length>0&&(s.persons=r),r}}const St={};class Vt{constructor(t,e){this.path=t,this.visitor=e}}class Y{constructor(){this.visitorsByXmlTagName=new Map,this.scopedVisitorsByXmlTagName=new Map,this.visitorParamsState=null,this.registerVisitor("Relationships",new H),this.registerVisitor("spPr",new L),this.registerVisitor("txBody",new F),this.registerVisitor("txPr",new F),this.registerVisitor("c:chartSpace",new J),this.registerVisitor("c:chartSpace",new q,"chart"),this.registerVisitor("c:plotArea",new Q),this.registerVisitor("c:barChart",new Z),this.registerVisitor("c:doughnutChart",new N),this.registerVisitor("c:lineChart",new N),this.registerVisitor("c:ofPieType",new N),this.registerVisitor("c:pieChart",new N),this.registerVisitor("c:scatterChart",new N),this.registerVisitor("c:barChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:doughnutChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:lineChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ofPieType",new w("dataLabels"),"dLbls"),this.registerVisitor("c:pieChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:scatterChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ser",new tt),this.registerVisitor("c:dPt",new et),this.registerVisitor("c:marker",new rt),this.registerVisitor("c:catAx",new x),this.registerVisitor("c:valAx",new x),this.registerVisitor("c:dateAx",new x),this.registerVisitor("c:majorGridlines",new V("gridLinesMajor")),this.registerVisitor("c:minorGridlines",new V("gridLinesMinor")),this.registerVisitor("c:chartSpace",null,"txPr"),this.registerVisitor("c:catAx",new F("labels.text"),"txPr"),this.registerVisitor("c:valAx",new F("labels.text"),"txPr"),this.registerVisitor("c:dateAx",new F("labels.text"),"txPr"),this.registerVisitor("c:legend",new ot),this.registerVisitor("c:legend",new F("labels.text"),"txPr"),this.registerVisitor("c:legendEntry",new st),this.registerVisitor("c:ser",new it,"extLst/ext/invertSolidFillFmt/spPr"),this.registerVisitor("c:ser",new w("labels"),"dLbls"),this.registerVisitor("c:dLbl",new w("points")),this.registerVisitor("c:title",new j),this.registerVisitor("c:title",null,"tx/rich"),this.registerVisitor("c:title",null,"txPr"),this.registerVisitor("c:layout",new nt),this.registerVisitor("c:dispUnits",new V("dispUnits")),this.registerVisitor("c:dispUnitsLbl",new j("displayUnitsLabel")),this.registerVisitor("c:dispUnitsLbl",new F,"tx/rich"),this.registerVisitor("a:theme",new lt),this.registerVisitor("a:theme",new at,"themeElements/clrScheme"),this.registerVisitor("a:theme",new ct,"themeElements/fontScheme"),this.registerVisitor("autoFilter",new ht),this.registerVisitor("sortState",new pt),this.registerVisitor("s:workbook",new dt),this.registerVisitor("styleSheet",new gt),this.registerVisitor("table",new mt),this.registerVisitor("hlinkClick",new ut),this.registerVisitor("wsDr",new bt),this.registerVisitor("twoCellAnchor",new k),this.registerVisitor("oneCellAnchor",new k),this.registerVisitor("absoluteAnchor",new k),this.registerVisitor("graphicFrame",new At),this.registerVisitor("sp",new _),this.registerVisitor("grpSp",new yt),this.registerVisitor("cxnSp",new vt),this.registerVisitor("pic",new ft),this.registerVisitor("rvStructures",new Ft),this.registerVisitor("rvData",new Ct),this.registerVisitor("comments",new wt),this.registerVisitor("commentList",new Pt,"comment"),this.registerVisitor("comment",new F("content"),"text"),this.registerVisitor("ThreadedComments",new Nt),this.registerVisitor("threadedComment",new Ot),this.registerVisitor("threadedComment",new F("content"),"text"),this.registerVisitor("personList",new Tt)}registerVisitor(t,e,s=null){t.indexOf(":")===-1&&(t="*:"+t);const r=t.split(":"),o=r.length>1?r[1]:r[0];if(!s)return this.visitorsByXmlTagName.set(o,e),void this.visitorsByXmlTagName.set(t,e);let i=this.scopedVisitorsByXmlTagName.get(o);i||(i=[],this.scopedVisitorsByXmlTagName.set(o,i),this.scopedVisitorsByXmlTagName.set(t,i)),i.push(new Vt(s,e))}getVisitorParamsState(){return this.visitorParamsState}convert(t,e,s=St){const r=t.documentElement;this.visitorParamsState&&!s?.paramMap||(this.visitorParamsState=s?.paramMap??new Map);const o={};let i=this.visitorsByXmlTagName.get(r.nodeName);if(i||(i=this.visitorsByXmlTagName.get(r.localName)),!i)throw new Error(`A visitor for the root element: '${r.nodeName}' or '${r.localName}' must be registered.`);const n="/"+r.localName,l=new S(null,this,n,r,o,e,s),a=[];this._doWalk(i,l,a,r,o,e,s);for(let c=0;c<a.length;c++){const h=a[c];try{h.visitor?.afterVisit?.(h.context,h.elemParent,h.jsonParent)}catch(g){console.warn(`Error in afterVisit: ${h.context.getPath()}`,g)}}return o}_walkScoped(t,e,s,r,o,i,n){const l=this.scopedVisitorsByXmlTagName.get(t);for(let a=0;l&&a<l.length;a++){const c=l[a];let h=null;try{h=e.evaluate(c.path,r)}catch{console.warn(`"Invalid path '${c.path}' for '${t}'.`)}if(!h)continue;const g=m=>{let b=m.localName,v=m.parentNode;for(;v&&v!==r;)b=v.localName+"/"+b,v=v.parentNode;const P=e.getPath()+"/"+b;if(c.visitor){const T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(c.visitor,T,s,m,o,i,n)}};if(h.length>0){const m=h;for(let b=0;b<m.length;b++)g(m.item(b))}else g(h)}}_doWalk(t,e,s,r,o,i,n){let l=null;t&&(s.push({visitor:t,context:e,elemParent:r,jsonParent:o}),l=t.visit(e,r,o)),l||(l=o);const a=r.localName;this._walkScoped(a,e,s,r,l,i,n);const c=r.childNodes;for(let h=0;h<c.length;h++){const g=c.item(h);if(g.nodeType===1){const m=g,b=m.localName,v=this.visitorsByXmlTagName.get(b),P=e.getPath()+"/"+b,T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(v,T,s,m,l??o,i,n)}}return l}}exports.FromOOXMLConverter=Y,exports.default=Y;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";/**
|
|
2
|
-
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.9
|
|
3
3
|
*
|
|
4
4
|
* (C) 2025-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|