@sheetxl/studio-vanilla 0.4.8 → 0.4.10

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.
Files changed (86) hide show
  1. package/README.md +1 -1
  2. package/browser/cjs/{CHSE1pa8SMApg4BM.cjs → B1UGqZP_7Z0Ewpog.cjs} +2 -2
  3. package/browser/cjs/{Cqymi9AOXO_JYvY4.cjs → B6m9VXoFseD4zuZ5.cjs} +2 -2
  4. package/browser/cjs/{oNi7wirDlZ81Lm0Z.cjs → BKePSaEpM6Z063z-.cjs} +1 -1
  5. package/browser/cjs/{3nTDo2EiTknjadbt.cjs → Bqn0ZeP_srNfL9rG.cjs} +1 -1
  6. package/browser/cjs/{6Wu3sLyx-7NM6CXS.cjs → C-izbj62pQuZjOrT.cjs} +62 -59
  7. package/browser/cjs/{C2B3wbeahcHlbOBZ.cjs → C-w-GX8N54TxTjjf.cjs} +2 -2
  8. package/browser/cjs/{euAV1pPrNOIb6DV4.cjs → C1QGdcqJ-9sdGTQR.cjs} +2 -2
  9. package/browser/cjs/{C6nZKAevPqj8zJY-.cjs → C38aiRglHLxZ8KRY.cjs} +2 -2
  10. package/browser/cjs/{BCnlTOmUDmizyvVV.cjs → C4JMn_hMnlOnDpQO.cjs} +2 -2
  11. package/browser/cjs/{D6pPBbRPLTNFSXuO.cjs → CApEj4LhhPUvQjIG.cjs} +1 -1
  12. package/browser/cjs/{B11W4AIKbkJQG6ug.cjs → CFcJbmmXjWjl6fQH.cjs} +2 -2
  13. package/browser/cjs/{Dds58NEqJ0OalWH3.cjs → CKiDbCZ6rGgXK7yN.cjs} +4 -4
  14. package/browser/cjs/CM8btXQsJbnFKXUm.cjs +6 -0
  15. package/browser/cjs/{CE5NVYltiso41NzK.cjs → Cb0K3Wzp7BAa4zni.cjs} +1 -1
  16. package/browser/cjs/{BIPxYhhi1F-y0gSm.cjs → CiAUhPU7v1BK-8Bb.cjs} +3 -3
  17. package/browser/cjs/{Dy4SB47It0LGbh2I.cjs → CsXS-EN0N5SZHTnQ.cjs} +1 -1
  18. package/browser/cjs/{CD_HItzF2RneMAER.cjs → Cu2eUomoF0HToa4l.cjs} +2 -2
  19. package/browser/cjs/{VJLb1uMfbKAUW1QF.cjs → Cy7ii9B_Vqx94pbu.cjs} +8 -8
  20. package/browser/cjs/{DWTMnPR33rKK87Xt.cjs → CzI4ZcsmzsyPBpWN.cjs} +5 -5
  21. package/browser/cjs/{BqLDj2GlSzX8ZN3l.cjs → DKHzUx2gKXwboKy1.cjs} +1 -1
  22. package/browser/cjs/{CTXKzcsm-W1ujL_U.cjs → DKc8wAq8dwbDddQn.cjs} +5 -5
  23. package/browser/cjs/{z1aNSOtWsEE21p2H.cjs → DMyKApbUVRtNYC4e.cjs} +2 -2
  24. package/browser/cjs/{bHWvGntvmuk8t7sX.cjs → DROR08HMGyg7rizQ.cjs} +2 -2
  25. package/browser/cjs/{i0D2haODisHW8uGg.cjs → DfGDZlbFVknGyu_X.cjs} +1 -1
  26. package/browser/cjs/{CcQjGGiCx6Qz7yJ4.cjs → OQdqVM_6m78kE5Aj.cjs} +1 -1
  27. package/browser/cjs/index.cjs +2 -2
  28. package/browser/cjs/{DMUSzq5n2k0WNFw6.cjs → v4OEtYXaUw_GeiXM.cjs} +1 -1
  29. package/{cdn/assets/CuG5WoZ4OOj9RCsv.js → browser/esm/4uEr84M4w57AMyDg.mjs} +3 -3
  30. package/{cdn/assets/CPi83FXApMlTaVbs.js → browser/esm/B8Ja5DlyKAy8xfQD.mjs} +1 -1
  31. package/{cdn/assets/O1XID2whLDb1cTWS.js → browser/esm/B9bN60uAvy62vnwt.mjs} +6 -6
  32. package/{cdn/assets/DppHXtCDGzttFdS4.js → browser/esm/BAOzSQdzHl43K9Hd.mjs} +6 -6
  33. package/browser/esm/{eXQ_1uhRMyN-hfDZ.mjs → BQYSD5Nb35y0WeeV.mjs} +1 -1
  34. package/browser/esm/{h4NbNvV8KCL9Tl1v.mjs → BVcaNvORp_uKPQgJ.mjs} +3 -3
  35. package/browser/esm/{D_FC0zteMRPriWTD.mjs → BqXO_cQhrMJu7JoQ.mjs} +1 -1
  36. package/{cdn/assets/Dbd0AFDlzQDW0tOg.js → browser/esm/C18A_DcIEHNYBDvR.mjs} +9 -9
  37. package/browser/esm/{EUFvcP5R4HFDLn2V.mjs → C7FoKZbSzjvuY3UB.mjs} +8 -8
  38. package/{cdn/assets/CjVsKZEPAncg5mIk.js → browser/esm/CCIJpHSbFPjTEF8S.mjs} +1 -1
  39. package/browser/esm/{2RGq163l1wYJKGsa.mjs → CHNPjJxb0GY_naLa.mjs} +6889 -6858
  40. package/browser/esm/{DnWiOUNTPvi_llPT.mjs → CKHsU9LUNYowimxS.mjs} +1 -1
  41. package/browser/esm/{DQ0Li3WfKbZxSFuB.mjs → C_Zx1tYjI3n7KKZH.mjs} +2 -2
  42. package/browser/esm/{B7qUiL1xPnzfOHZw.mjs → Cm-m3bZh0V44y0li.mjs} +1 -1
  43. package/browser/esm/{B1CYiJmSpyx4TD5r.mjs → D1e_ccSgcNXvWHgy.mjs} +16 -16
  44. package/browser/esm/{BP8kNG31HYSkk1VW.mjs → D47D26mVYSAdb5C8.mjs} +26 -26
  45. package/browser/esm/{CDkmbShJijwq4EBo.mjs → D9CdO3PtV12RnK8K.mjs} +59 -59
  46. package/browser/esm/{cSe92c0HnvbRwiVM.mjs → D9x-Q8y57gePf-tE.mjs} +98 -98
  47. package/{cdn/assets/CLA1BGtRbWm0K0U0.js → browser/esm/DHhXutXh7b5LsU1m.mjs} +2 -2
  48. package/{cdn/assets/xlL3Ai-ka9qMVeua.js → browser/esm/DIGFi66CQPMV3HsL.mjs} +1 -1
  49. package/{cdn/assets/DTvvMKZZfsVRhbow.js → browser/esm/DamiTeQsSMP2Cwld.mjs} +9 -9
  50. package/browser/esm/{DyUvHYGMNA9W2zL6.mjs → DhD48oFrbrnZ6Zg5.mjs} +1 -1
  51. package/browser/esm/{CA_DRvBOFOlhezCt.mjs → Ln2ZalJgj1CiJJue.mjs} +6 -6
  52. package/{cdn/assets/BEFQcBJ71bA297Zu.js → browser/esm/S9fgUO7h8YgZxoKH.mjs} +1 -1
  53. package/browser/esm/index.mjs +2 -2
  54. package/browser/esm/{DXyJaUwHLq39-Jfa.mjs → qVAHcpq07IhtAaQc.mjs} +5 -5
  55. package/browser/esm/{ClXspoNrNV-A8BaL.mjs → xrzJ8ILZHb118Oyt.mjs} +17 -17
  56. package/cdn/assets/{B2hDWpWSEoChxhVY.js → 2-xJlw77WsCoyz09.js} +5071 -5040
  57. package/cdn/assets/{Bvy1txLm7c3LbPL7.js → B-9FcTf3xBEVGdjV.js} +59 -59
  58. package/cdn/assets/{BXBP2rNGQxrgUPvU.js → B-p1i2SNRMunPXCF.js} +8 -8
  59. package/cdn/assets/{C1x5-f1q8NeSwRA2.js → B3J6oAmsS7oLNFPd.js} +3 -3
  60. package/{browser/esm/CPi83FXApMlTaVbs.mjs → cdn/assets/B8Ja5DlyKAy8xfQD.js} +1 -1
  61. package/{browser/esm/BM74iVi-iQkHbrfo.mjs → cdn/assets/BG3YTMAzNKPRGoLs.js} +6 -6
  62. package/cdn/assets/{eXQ_1uhRMyN-hfDZ.js → BQYSD5Nb35y0WeeV.js} +1 -1
  63. package/{browser/esm/Ckz080o58XOgRhqj.mjs → cdn/assets/BbzUpvQOkxsN-yIH.js} +2 -2
  64. package/cdn/assets/{D_FC0zteMRPriWTD.js → BqXO_cQhrMJu7JoQ.js} +1 -1
  65. package/{browser/esm/BEIn7yNWsHNJisB6.mjs → cdn/assets/Bt1JSlSpWXDOBfq3.js} +3 -3
  66. package/{browser/esm/CjVsKZEPAncg5mIk.mjs → cdn/assets/CCIJpHSbFPjTEF8S.js} +1 -1
  67. package/cdn/assets/{DnWiOUNTPvi_llPT.js → CKHsU9LUNYowimxS.js} +1 -1
  68. package/{browser/esm/C_hRuPoaT857EnC1.mjs → cdn/assets/CWLJZwD2GVXljoWG.js} +9 -9
  69. package/cdn/assets/{B7qUiL1xPnzfOHZw.js → Cm-m3bZh0V44y0li.js} +1 -1
  70. package/cdn/assets/{BgChN-ZVYUOMDX9_.js → CtQlXGkNWgI-vtGy.js} +26 -26
  71. package/{browser/esm/xlL3Ai-ka9qMVeua.mjs → cdn/assets/DIGFi66CQPMV3HsL.js} +1 -1
  72. package/{browser/esm/4C7Rg83L5RYFoOvl.mjs → cdn/assets/DK4S0DbayChkfTD6.js} +9 -9
  73. package/cdn/assets/{g4FhlroGKmJM7Utd.js → DQvsBz9F1GS_S7r9.js} +6 -6
  74. package/cdn/assets/{C5NMOq74C3Sme49x.js → DTOgv_zwXSur-yCq.js} +16 -16
  75. package/cdn/assets/{tJI1G_FjDgqWo3rJ.js → DYZjOnD8WWQkCYuH.js} +98 -98
  76. package/cdn/assets/{DyUvHYGMNA9W2zL6.js → DhD48oFrbrnZ6Zg5.js} +1 -1
  77. package/cdn/assets/{DuU1-7vd87A1wfGJ.js → DhyAyTCDkMBf392P.js} +2 -2
  78. package/cdn/assets/{CtDntnnwJW1rZ3sM.js → P7HeVw5SHROLSWBz.js} +5 -5
  79. package/{browser/esm/6KgR81NK4yzANTBT.mjs → cdn/assets/S4Z0SN8x6EltjsHT.js} +6 -6
  80. package/{browser/esm/BEFQcBJ71bA297Zu.mjs → cdn/assets/S9fgUO7h8YgZxoKH.js} +1 -1
  81. package/cdn/assets/{CpVan9KpuEGXgwIK.js → guYe4C_6pE93QsDV.js} +17 -17
  82. package/cdn/index.js +2 -2
  83. package/cdn/loader.js +1 -1
  84. package/package.json +3 -3
  85. package/types/index.d.ts +9 -9
  86. package/browser/cjs/BYhOQCFEzewgsKDn.cjs +0 -6
@@ -1,6 +1,6 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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 S=require("@sheetxl/sdk");exports.fromBufferCSV=async(a,d)=>{const{papaParseConfig:i,setValuesOptions:f,createWorkbookOptions:h}=d??{},o=await Promise.resolve().then(()=>require("./CE5NVYltiso41NzK.cjs")).then(n=>n.p),m=new TextDecoder().decode(a);let p=-1;const t=new S.Workbook(h),u=t.getSelectedSheet().getEntireRange().startIncrementalUpdates({orientation:S.IRange.Orientation.Row}),c=d?.onProgress;let e=0;const r={...i,transform:(n,g)=>{i?.transform&&(n=i.transform(n,g));const s=g;s===0&&p++;let l=n??"";return u.pushAt(p,s,l),e++,e%1e5==0&&c?.(e),n}};return o.parse(m,r).data,u.apply({textParser:!0,...f}),t},exports.toBufferCSV=async(a,d)=>{const{trimLeadingBlankRow:i=!0,trimLeadingBlankColumn:f=!0,excludeHidden:h=!1,sheetKey:o=null,papaParseConfig:m={}}=d||{},p=await Promise.resolve().then(()=>require("./CE5NVYltiso41NzK.cjs")).then(s=>s.p);if(!a)throw new Error("workbook must be specified");let t=null;if(o===null?t=a.getSelectedSheet():typeof o=="number"?t=a.getSheets().search()[o]:typeof o=="string"&&(t=a.getSheets().getByName(o)),!t)throw new Error("invalid sheetKey specified");let u=null;const c=[];let e=null,r=t.getUsedRange({excludeHidden:h});if(!r)throw new Error("Nothing to export");if(!i||!f){const s=i?r.getRowStart():0,l=f?r.getColumnStart():0;r=r.getOffsetTo(s,l)}r.forEach((s,l)=>{const w=l.getCoords(),y=l.getCell();u!==w.rowIndex&&(e&&c.push(e),e=[],u=w.rowIndex);const x=y.toTextUnformatted()??"";e.push(x)},{includeEmpty:!0,address:null}),e&&c.push(e);const n={...m},g=p.unparse(c,n);return new TextEncoder().encode(g).buffer};
6
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("@sheetxl/sdk");exports.fromBufferCSV=async(a,d)=>{const{papaParseConfig:i,setValuesOptions:f,createWorkbookOptions:h}=d??{},o=await Promise.resolve().then(()=>require("./Cb0K3Wzp7BAa4zni.cjs")).then(n=>n.p),m=new TextDecoder().decode(a);let p=-1;const t=new S.Workbook(h),u=t.getSelectedSheet().getEntireRange().startIncrementalUpdates({orientation:S.IRange.Orientation.Row}),c=d?.onProgress;let e=0;const r={...i,transform:(n,g)=>{i?.transform&&(n=i.transform(n,g));const s=g;s===0&&p++;let l=n??"";return u.pushAt(p,s,l),e++,e%1e5==0&&c?.(e),n}};return o.parse(m,r).data,u.apply({textParser:!0,...f}),t},exports.toBufferCSV=async(a,d)=>{const{trimLeadingBlankRow:i=!0,trimLeadingBlankColumn:f=!0,excludeHidden:h=!1,sheetKey:o=null,papaParseConfig:m={}}=d||{},p=await Promise.resolve().then(()=>require("./Cb0K3Wzp7BAa4zni.cjs")).then(s=>s.p);if(!a)throw new Error("workbook must be specified");let t=null;if(o===null?t=a.getSelectedSheet():typeof o=="number"?t=a.getSheets().search()[o]:typeof o=="string"&&(t=a.getSheets().getByName(o)),!t)throw new Error("invalid sheetKey specified");let u=null;const c=[];let e=null,r=t.getUsedRange({excludeHidden:h});if(!r)throw new Error("Nothing to export");if(!i||!f){const s=i?r.getRowStart():0,l=f?r.getColumnStart():0;r=r.getOffsetTo(s,l)}r.forEach((s,l)=>{const w=l.getCoords(),y=l.getCell();u!==w.rowIndex&&(e&&c.push(e),e=[],u=w.rowIndex);const x=y.toTextUnformatted()??"";e.push(x)},{includeEmpty:!0,address:null}),e&&c.push(e);const n={...m},g=p.unparse(c,n);return new TextEncoder().encode(g).buffer};
@@ -1,6 +1,6 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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"),r=require("react"),l=require("@sheetxl/sdk"),t=require("./6Wu3sLyx-7NM6CXS.cjs"),q=["Ok","Cancel"],T=r.memo(v=>{const{initialValue:j,context:y,onOption:x,onValidateOption:u,onInputOption:f,onDone:c,options:b=q,defaultOption:p=b?.[0],cancelOption:m="Cancel",sx:k,...S}=v,[a,h]=r.useState(j),[O,N]=r.useState(!1),d=r.useCallback(async(e,n)=>!0,[]),g=t.fe(async e=>{f?.(a,e),x?.(e,e===m,e===p),c?.()},[a,f,c,x,m,p]),$=t.fe(async e=>{e.keyCode===t.rn.Enter&&await d?.(a,null)!==!1&&g(p)},[a,g]),P=t.fe(e=>{h(e.target.value),d?.(e.target.value,null)},[u]),w=t.fe(async e=>{let n=await Promise.resolve(u?.(e));try{n!==!1&&(n=await Promise.resolve(d?.(a,e))??!0)}catch{}return n??!0},[u]),[C,F]=r.useState(l.NumberFormat.Styles.lookupStyle(a).formatType??l.NumberFormat.Type.Custom);r.useEffect(()=>{F(l.NumberFormat.Styles.lookupStyle(a).formatType??l.NumberFormat.Type.Custom)},[a]);const I=r.useMemo(()=>{const e=l.NumberFormat.Styles.lookupPrimary(),n=i=>o.jsx(t.MenuItem,{value:i,children:i},i),s=Object.keys(e).map(i=>n(e[i].formatType));return s.push(n(l.NumberFormat.Type.Custom)),s},[]),D=r.useCallback(e=>{const n=e.target.value;F(n);const s=l.NumberFormat.Styles.lookupDefault(n);s&&h(s)},[]),M=r.useMemo(()=>{const e=y();return e.createTemporaryCell({value:e.getValue()??12345,style:{numberFormat:a}})},[C,a,y]);return o.jsx(t.b4,{title:"Number Format",options:b,onDone:c,onOption:e=>g(e),onValidateOption:w,defaultOption:p,cancelOption:m,autoFocusSel:".autoFocus",sx:{width:"580px",...k},...S,children:o.jsxs(t.Box,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),display:"flex",flexDirection:"column"},children:[o.jsxs(t.FormControl,{sx:{minWidth:135},size:"small",children:[o.jsx(t.InputLabel,{children:"Category"}),o.jsx(t.Select,{value:C,label:"Category",onChange:D,sx:{backgroundImage:`linear-gradient(${t.alpha("#fff",t.$n(5))}, ${t.alpha("#fff",t.$n(5))})`},children:I})]}),o.jsx(t.FormControl,{sx:{paddingTop:e=>e.spacing(1.5),minWidth:135,width:"100%"},size:"small",children:o.jsx(t.TextField,{label:"Code",onFocus:e=>{O||e.target?.select(),N(!0)},sx:{"& .MuiFormHelperText-root":{marginTop:e=>e.spacing(.5)}},InputLabelProps:{shrink:!0},InputProps:{inputProps:{className:"autoFocus",spellCheck:!1,autoComplete:"off",sx:{paddingTop:e=>e.spacing(1.25),paddingBottom:e=>e.spacing(.75),backgroundImage:`linear-gradient(${t.alpha("#fff",t.$n(5))}, ${t.alpha("#fff",t.$n(5))})`}}},value:a,onChange:P,onKeyDown:$,onContextMenu:e=>{e.stopPropagation()}})}),o.jsxs(t.Box,{children:[o.jsx(t.Typography,{variant:"caption",component:"div",sx:{paddingLeft:e=>e.spacing(2)},children:"Preview"}),o.jsx(t.Typography,{variant:"body2",component:"div",sx:{borderRadius:e=>`${e.shape.borderRadius}px`,padding:e=>e.spacing(1),border:e=>`1px solid ${e.palette.grey[400]}`},children:M.getNumberFormat().displayText||"(empty)"})]})]})})});exports.NumberFormatDialog=T,exports.default=T;
6
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),r=require("react"),l=require("@sheetxl/sdk"),t=require("./C-izbj62pQuZjOrT.cjs"),q=["Ok","Cancel"],T=r.memo(v=>{const{initialValue:j,context:y,onOption:x,onValidateOption:u,onInputOption:f,onDone:c,options:h=q,defaultOption:p=h?.[0],cancelOption:m="Cancel",sx:k,...S}=v,[a,b]=r.useState(j),[O,N]=r.useState(!1),d=r.useCallback(async(e,n)=>!0,[]),g=t.fe(async e=>{f?.(a,e),x?.(e,e===m,e===p),c?.()},[a,f,c,x,m,p]),$=t.fe(async e=>{e.keyCode===t.rn.Enter&&await d?.(a,null)!==!1&&g(p)},[a,g]),P=t.fe(e=>{b(e.target.value),d?.(e.target.value,null)},[u]),w=t.fe(async e=>{let n=await Promise.resolve(u?.(e));try{n!==!1&&(n=await Promise.resolve(d?.(a,e))??!0)}catch{}return n??!0},[u]),[C,F]=r.useState(l.NumberFormat.Styles.lookupStyle(a).formatType??l.NumberFormat.Type.Custom);r.useEffect(()=>{F(l.NumberFormat.Styles.lookupStyle(a).formatType??l.NumberFormat.Type.Custom)},[a]);const I=r.useMemo(()=>{const e=l.NumberFormat.Styles.lookupPrimary(),n=i=>o.jsx(t.MenuItem,{value:i,children:i},i),s=Object.keys(e).map(i=>n(e[i].formatType));return s.push(n(l.NumberFormat.Type.Custom)),s},[]),D=r.useCallback(e=>{const n=e.target.value;F(n);const s=l.NumberFormat.Styles.lookupDefault(n);s&&b(s)},[]),M=r.useMemo(()=>{const e=y();return e.createTemporaryCell({value:e.getValue()??12345,style:{numberFormat:a}})},[C,a,y]);return o.jsx(t.v4,{title:"Number Format",options:h,onDone:c,onOption:e=>g(e),onValidateOption:w,defaultOption:p,cancelOption:m,autoFocusSel:".autoFocus",sx:{width:"580px",...k},...S,children:o.jsxs(t.Box,{sx:{paddingTop:e=>e.spacing(1),paddingBottom:e=>e.spacing(0),rowGap:e=>e.spacing(1),display:"flex",flexDirection:"column"},children:[o.jsxs(t.FormControl,{sx:{minWidth:135},size:"small",children:[o.jsx(t.InputLabel,{children:"Category"}),o.jsx(t.Select,{value:C,label:"Category",onChange:D,sx:{backgroundImage:`linear-gradient(${t.alpha("#fff",t.$n(5))}, ${t.alpha("#fff",t.$n(5))})`},children:I})]}),o.jsx(t.FormControl,{sx:{paddingTop:e=>e.spacing(1.5),minWidth:135,width:"100%"},size:"small",children:o.jsx(t.TextField,{label:"Code",onFocus:e=>{O||e.target?.select(),N(!0)},sx:{"& .MuiFormHelperText-root":{marginTop:e=>e.spacing(.5)}},InputLabelProps:{shrink:!0},InputProps:{inputProps:{className:"autoFocus",spellCheck:!1,autoComplete:"off",sx:{paddingTop:e=>e.spacing(1.25),paddingBottom:e=>e.spacing(.75),backgroundImage:`linear-gradient(${t.alpha("#fff",t.$n(5))}, ${t.alpha("#fff",t.$n(5))})`}}},value:a,onChange:P,onKeyDown:$,onContextMenu:e=>{e.stopPropagation()}})}),o.jsxs(t.Box,{children:[o.jsx(t.Typography,{variant:"caption",component:"div",sx:{paddingLeft:e=>e.spacing(2)},children:"Preview"}),o.jsx(t.Typography,{variant:"body2",component:"div",sx:{borderRadius:e=>`${e.shape.borderRadius}px`,padding:e=>e.spacing(1),border:e=>`1px solid ${e.palette.grey[400]}`},children:M.getNumberFormat().displayText||"(empty)"})]})]})})});exports.NumberFormatDialog=T,exports.default=T;
@@ -1,5 +1,5 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.
@@ -1,5 +1,5 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.
@@ -1,6 +1,6 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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
- */require("react"),require("react/jsx-runtime"),require("react-dom/client");const e=require("./6Wu3sLyx-7NM6CXS.cjs");module.exports=e.SheetXL;
6
+ */require("react"),require("react/jsx-runtime"),require("react-dom/client");const e=require("./C-izbj62pQuZjOrT.cjs");module.exports=e.SheetXL;
@@ -1,5 +1,5 @@
1
1
  "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.
@@ -1,8 +1,8 @@
1
- import { J as Y } from "./B2hDWpWSEoChxhVY.js";
2
- import { c as x, b as f, r as I, t as Z, a as A, p as D, d as tt } from "./Bvy1txLm7c3LbPL7.js";
1
+ import { Y } from "./CHNPjJxb0GY_naLa.mjs";
2
+ import { c as x, b as f, r as I, t as Z, a as A, p as D, d as tt } from "./D9CdO3PtV12RnK8K.mjs";
3
3
  import { IFont as k, IAutoFilter as T, Sort as G, IRange as et, AddressUtils as W, IFill as C, IStyle as rt, ITextFrame as P, FormulaError as st, IBorder as V } from "@sheetxl/sdk";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.
@@ -1,20 +1,20 @@
1
1
  import { jsx as o, jsxs as D } from "react/jsx-runtime";
2
2
  import { memo as N, useState as i, useCallback as T } from "react";
3
- import { w as k, b as j, B as v, aP as y, at as B, au as F } from "./B2hDWpWSEoChxhVY.js";
3
+ import { w as k, v, B as j, aP as y, at as B, au as F } from "./CHNPjJxb0GY_naLa.mjs";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
9
9
  */
10
10
  const H = ["Ok", "Cancel"], A = N((u) => {
11
- const { tableOptions: e, context: p, onOption: c, onValidateOption: I, onDone: r, options: d = H, defaultOption: t = d?.[0], cancelOption: s = "Cancel", sx: m, ...b } = u, [h, x] = i(!1), [n, O] = i(() => e?.hasHeader ?? !1), [l, f] = i(() => e?.ranges ?? null), C = k((a) => {
11
+ const { tableOptions: e, context: p, onOption: c, onValidateOption: I, onDone: r, options: d = H, defaultOption: t = d?.[0], cancelOption: s = "Cancel", sx: m, ...h } = u, [x, O] = i(!1), [n, b] = i(() => e?.hasHeader ?? !1), [l, f] = i(() => e?.ranges ?? null), C = k((a) => {
12
12
  const g = { ...e, hasHeader: n, ranges: l };
13
13
  c?.(a, a === s, a === t), r?.({ option: a, tableOptions: g });
14
14
  }, [r, c, t, s, n, l, e]), w = T(async (a, g) => null, []);
15
- return o(j, { title: "Insert Table", options: d, onDone: C, onValidateOption: w, defaultOption: t, cancelOption: s, autoFocusSel: ".range-input input", sx: { width: "360px", ...m }, ...b, children: D(v, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [o(y, { formName: "range", value: l, onChangeInput: (a) => f(a), resolvedAddress: p.getNames().getRanges.bind(p.getNames()), onFocus: (a) => {
16
- h || a.target?.select(), x(!0);
17
- } }), o(B, { control: o(F, { checked: n, onChange: () => O(!n) }), label: "Table has headers", labelPlacement: "end" })] }) });
15
+ return o(v, { title: "Insert Table", options: d, onDone: C, onValidateOption: w, defaultOption: t, cancelOption: s, autoFocusSel: ".range-input input", sx: { width: "360px", ...m }, ...h, children: D(j, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [o(y, { formName: "range", value: l, onChangeInput: (a) => f(a), resolvedAddress: p.getNames().getRanges.bind(p.getNames()), onFocus: (a) => {
16
+ x || a.target?.select(), O(!0);
17
+ } }), o(B, { control: o(F, { checked: n, onChange: () => b(!n) }), label: "Table has headers", labelPlacement: "end" })] }) });
18
18
  });
19
19
  export {
20
20
  A as TableNewDialog,
@@ -1,17 +1,17 @@
1
1
  import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
2
  import { memo as G, useState as x, useCallback as O, useEffect as H, useMemo as w } from "react";
3
3
  import { NumberFormat as n } from "@sheetxl/sdk";
4
- import { w as l, av as K, b as q, B as P, F as S, aw as A, ax as J, a as p, ay as c, T as Q, $, az as U } from "./B2hDWpWSEoChxhVY.js";
4
+ import { w as l, av as K, v as q, B as P, F as S, aw as A, ax as J, a as p, ay as c, T as Q, $, az as U } from "./CHNPjJxb0GY_naLa.mjs";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
7
7
  *
8
8
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
9
9
  * License: The license can be found at https://www.sheetxl.com/license.
10
10
  */
11
11
  const X = ["Ok", "Cancel"], ea = G((D) => {
12
- const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v = X, defaultOption: r = v?.[0], cancelOption: m = "Cancel", sx: N, ...V } = D, [e, T] = x(I), [j, z] = x(!1), g = O(async (a, o) => !0, []), y = l(async (a) => {
13
- C?.(e, a), b?.(a, a === m, a === r), d?.();
14
- }, [e, C, d, b, m, r]), B = l(async (a) => {
12
+ const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: v, onDone: d, options: C = X, defaultOption: r = C?.[0], cancelOption: m = "Cancel", sx: N, ...V } = D, [e, T] = x(I), [j, z] = x(!1), g = O(async (a, o) => !0, []), y = l(async (a) => {
13
+ v?.(e, a), b?.(a, a === m, a === r), d?.();
14
+ }, [e, v, d, b, m, r]), B = l(async (a) => {
15
15
  a.keyCode === K.Enter && await g?.(e, null) !== !1 && y(r);
16
16
  }, [e, y]), M = l((a) => {
17
17
  T(a.target.value), g?.(a.target.value, null);
@@ -38,7 +38,7 @@ const X = ["Ok", "Cancel"], ea = G((D) => {
38
38
  const a = h();
39
39
  return a.createTemporaryCell({ value: a.getValue() ?? 12345, style: { numberFormat: e } });
40
40
  }, [k, e, h]);
41
- return t(q, { title: "Number Format", options: v, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(A, { children: "Category" }), t(J, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(Q, { label: "Code", onFocus: (a) => {
41
+ return t(q, { title: "Number Format", options: C, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(A, { children: "Category" }), t(J, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(Q, { label: "Code", onFocus: (a) => {
42
42
  j || a.target?.select(), z(!0);
43
43
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` } } }, value: e, onChange: M, onKeyDown: B, onContextMenu: (a) => {
44
44
  a.stopPropagation();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.
@@ -1,12 +1,12 @@
1
1
  import { Workbook as y, IRange as k } from "@sheetxl/sdk";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
4
4
  *
5
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
6
  * License: The license can be found at https://www.sheetxl.com/license.
7
7
  */
8
8
  const E = async (a, p) => {
9
- const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: f = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, u = await import("./eXQ_1uhRMyN-hfDZ.mjs").then((s) => s.p);
9
+ const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: f = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, u = await import("./BQYSD5Nb35y0WeeV.mjs").then((s) => s.p);
10
10
  if (!a) throw new Error("workbook must be specified");
11
11
  let t = null;
12
12
  if (r === null ? t = a.getSelectedSheet() : typeof r == "number" ? t = a.getSheets().search()[r] : typeof r == "string" && (t = a.getSheets().getByName(r)), !t) throw new Error("invalid sheetKey specified");
@@ -27,7 +27,7 @@ const E = async (a, p) => {
27
27
  const o = { ...m }, g = u.unparse(d, o);
28
28
  return new TextEncoder().encode(g).buffer;
29
29
  }, b = async (a, p) => {
30
- const { papaParseConfig: i, setValuesOptions: f, createWorkbookOptions: h } = p ?? {}, r = await import("./eXQ_1uhRMyN-hfDZ.mjs").then((o) => o.p), m = new TextDecoder().decode(a);
30
+ const { papaParseConfig: i, setValuesOptions: f, createWorkbookOptions: h } = p ?? {}, r = await import("./BQYSD5Nb35y0WeeV.mjs").then((o) => o.p), m = new TextDecoder().decode(a);
31
31
  let u = -1;
32
32
  const t = new y(h), c = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: k.Orientation.Row }), d = p?.onProgress;
33
33
  let e = 0;
@@ -1,7 +1,7 @@
1
1
  import * as Je from "react";
2
2
  import { createElement as $r, forwardRef as Ya, useRef as Xa, useImperativeHandle as Wa, useEffect as Ha } from "react";
3
3
  /**
4
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
4
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
5
5
  *
6
6
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
7
7
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1,24 +1,24 @@
1
1
  import { jsx as o, jsxs as A } from "react/jsx-runtime";
2
- import { memo as E, useMemo as b, useState as g, useCallback as O } from "react";
3
- import { w as f, b as S, B as U, F as P, T as D, a as l, ay as p } from "./B2hDWpWSEoChxhVY.js";
2
+ import { memo as E, useMemo as O, useState as g, useCallback as P } from "react";
3
+ import { w as f, v as S, B as U, F as b, T as D, a as l, ay as p } from "./CHNPjJxb0GY_naLa.mjs";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
9
9
  */
10
10
  const V = ["Ok", "Cancel"], J = E((F) => {
11
- const { initialHyperlink: n = null, initialDisplay: w = null, onUpdateHyperlink: m, context: s, onOption: x, onValidateOption: r, onDone: d, options: h = V, defaultOption: c = h?.[0], cancelOption: i = "Cancel", sx: H, ...I } = F, v = b(() => (n ?? s?.()?.getHyperlink()) !== null, []), y = b(() => {
11
+ const { initialHyperlink: n = null, initialDisplay: v = null, onUpdateHyperlink: m, context: s, onOption: x, onValidateOption: r, onDone: d, options: h = V, defaultOption: c = h?.[0], cancelOption: i = "Cancel", sx: w, ...H } = F, I = O(() => (n ?? s?.()?.getHyperlink()) !== null, []), y = O(() => {
12
12
  let a = null, t = null;
13
13
  n && (typeof n == "string" ? t = n : a = n);
14
14
  const C = a ?? s?.()?.getHyperlink();
15
15
  return { address: t ?? C?.getAddress() ?? "", textToDisplay: C?.getDisplayText() ?? "" };
16
16
  }, [n, s]), [e, M] = g(y.address), [u, B] = g(() => {
17
- const a = s?.().toTextUnformatted() ?? w;
17
+ const a = s?.().toTextUnformatted() ?? v;
18
18
  return a === y.address ? "" : a;
19
- }), [$, k] = g(!1), L = O((a) => {
19
+ }), [$, k] = g(!1), L = P((a) => {
20
20
  B(a.target.value);
21
- }, []), T = O(async (a, t) => null, []), W = f(async (a) => {
21
+ }, []), T = P(async (a, t) => null, []), W = f(async (a) => {
22
22
  a !== i && m?.(e === "" ? null : { address: e }, u), x?.(a, a === i, a === c), d?.();
23
23
  }, [e, u, m, d, x, c, i]), j = f((a) => {
24
24
  M(a.target.value), T(a.target.value, null);
@@ -30,11 +30,11 @@ const V = ["Ok", "Cancel"], J = E((F) => {
30
30
  }
31
31
  return t ?? !0;
32
32
  }, [r]);
33
- return o(S, { title: (v ? "Edit" : "Insert") + " Link", options: h, onDone: d, onOption: (a) => W(a), onValidateOption: z, defaultOption: c, cancelOption: i, autoFocusSel: ".autoFocus", sx: { width: "480px", ...H }, ...I, children: A(U, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [o(P, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o(D, { label: "Address", placeholder: "Enter a url or cell reference.", onFocus: (a) => {
33
+ return o(S, { title: (I ? "Edit" : "Insert") + " Link", options: h, onDone: d, onOption: (a) => W(a), onValidateOption: z, defaultOption: c, cancelOption: i, autoFocusSel: ".autoFocus", sx: { width: "480px", ...w }, ...H, children: A(U, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [o(b, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o(D, { label: "Address", placeholder: "Enter a url or cell reference.", onFocus: (a) => {
34
34
  $ || a.target?.select(), k(!0);
35
35
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${l("#fff", p(5))}, ${l("#fff", p(5))})` } } }, value: e, onChange: j, onContextMenu: (a) => {
36
36
  a.stopPropagation();
37
- } }) }), o(P, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o(D, { label: "Display Text", placeholder: e?.startsWith("#") ? e.substring(1) : e, onFocus: () => {
37
+ } }) }), o(b, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o(D, { label: "Display Text", placeholder: e?.startsWith("#") ? e.substring(1) : e, onFocus: () => {
38
38
  k(!0);
39
39
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${l("#fff", p(5))}, ${l("#fff", p(5))})` } } }, value: u, onChange: L, onContextMenu: (a) => {
40
40
  a.stopPropagation();
@@ -1,16 +1,16 @@
1
1
  import { jsx as d, jsxs as k } from "react/jsx-runtime";
2
2
  import { memo as E, useMemo as V, useState as p, useCallback as h } from "react";
3
- import { w as u, b as L, B as S, aO as A, aP as G } from "./2RGq163l1wYJKGsa.mjs";
3
+ import { w as u, v as L, B as S, aO as A, aP as G } from "./CHNPjJxb0GY_naLa.mjs";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
6
6
  *
7
7
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
8
  * License: The license can be found at https://www.sheetxl.com/license.
9
9
  */
10
- const M = ["Ok", "Cancel"], z = E((C) => {
11
- const { value: a = null, context: t, onOption: c, onValidateOption: P, onDone: m, onUpdate: g, options: x = M, defaultOption: f = x?.[0], cancelOption: N = "Cancel", sx: R, ...v } = C, y = V(() => t?.getNames().findValidName("Range1"), []), i = V(() => {
10
+ const M = ["Ok", "Cancel"], z = E((v) => {
11
+ const { value: a = null, context: t, onOption: c, onValidateOption: P, onDone: m, onUpdate: g, options: x = M, defaultOption: f = x?.[0], cancelOption: N = "Cancel", sx: C, ...R } = v, y = V(() => t?.getNames().findValidName("Range1"), []), i = V(() => {
12
12
  if (!a) return !0;
13
- }, []), [n, w] = p({ displayText: a?.getName() ?? y, errorText: null }), [l, D] = p({ displayValue: a?.getRanges() ?? t?.selection() ?? null, errorText: null }), [T, O] = p(!1), F = h(async (e) => !n.errorText && !l.errorText, [t]), b = u((e, s, r) => {
13
+ }, []), [n, w] = p({ displayText: a?.getName() ?? y, errorText: null }), [l, D] = p({ displayValue: a?.getRanges() ?? t?.selection() ?? null, errorText: null }), [T, O] = p(!1), F = h(async (e) => !n.errorText && !l.errorText, [t]), B = u((e, s, r) => {
14
14
  if (!s) {
15
15
  let o = null;
16
16
  i ? o = t?.getNames().addReference(n?.displayText, l?.displayValue, !1) : (a.getType() === "reference" && a.doBatch(() => {
@@ -18,7 +18,7 @@ const M = ["Ok", "Cancel"], z = E((C) => {
18
18
  }, `Edit Named '${n?.displayText}'`), o = a), o && (o.select(), g(o, i));
19
19
  }
20
20
  c?.(e, s, r), m?.();
21
- }, [t, n, l, m, c, f, N, g]), B = u((e) => {
21
+ }, [t, n, l, m, c, f, N, g]), I = u((e) => {
22
22
  let s = null;
23
23
  try {
24
24
  t?.getNames().validateName(e);
@@ -26,12 +26,12 @@ const M = ["Ok", "Cancel"], z = E((C) => {
26
26
  s = r.message;
27
27
  }
28
28
  w({ displayText: e, errorText: s });
29
- }, []), I = u((e) => {
29
+ }, []), b = u((e) => {
30
30
  a && a.getName().toLowerCase() === e.toLowerCase() || t?.getNames().validateName(e);
31
31
  }, [t, a]), j = h((e) => {
32
32
  D({ displayValue: e ?? null, errorText: null });
33
33
  }, []);
34
- return d(L, { title: (i ? "Define" : "Edit") + " Range", options: x, onOption: b, onValidateOption: F, defaultOption: f, cancelOption: N, autoFocusSel: ".autoFocus", sx: { width: "460px", ...R }, ...v, children: k(S, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), range: "flex", flexDirection: "column" }, children: [d(A, { formName: "name", defaultInput: y, value: n.displayText, onChangeInput: B, onValidate: I, onFocus: (e) => {
34
+ return d(L, { title: (i ? "Define" : "Edit") + " Range", options: x, onOption: B, onValidateOption: F, defaultOption: f, cancelOption: N, autoFocusSel: ".autoFocus", sx: { width: "460px", ...C }, ...R, children: k(S, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), range: "flex", flexDirection: "column" }, children: [d(A, { formName: "name", defaultInput: y, value: n.displayText, onChangeInput: I, onValidate: b, onFocus: (e) => {
35
35
  T || e.target?.select(), O(!0);
36
36
  } }), d(G, { formName: "range", value: l.displayValue, onChangeInput: j, resolvedAddress: t.getNames().getRanges.bind(t.getNames()), onFocus: (e) => {
37
37
  T || e.target?.select(), O(!0);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.8
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.10
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.