@sheetxl/studio-vanilla 0.3.5 → 0.3.7

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 (90) hide show
  1. package/browser/cjs/{CvESC6HiL0-peppq.cjs → 3Z5ZVyA4M3n9q9T5.cjs} +4 -4
  2. package/browser/cjs/3rqWL42XEv7Zqb32.cjs +6 -0
  3. package/browser/cjs/{DKit140jXAUUSf-_.cjs → B1YWrCVgU7Kmnm1T.cjs} +2 -2
  4. package/browser/cjs/{D7NgrO__M-IUmM8o.cjs → BCU2ws0EwyUhMfyT.cjs} +1 -1
  5. package/browser/cjs/{BwocMiKAPb8s__1Z.cjs → BOV2jjPfpuXBZAW7.cjs} +2 -2
  6. package/browser/cjs/{BNtn_2pcq6Dd-2HL.cjs → BmhVFpv9CfTQVTjI.cjs} +3 -3
  7. package/browser/cjs/{CuY7mAREmYhHuYWx.cjs → BsMm_Huxnau2vwTD.cjs} +2 -2
  8. package/browser/cjs/{6e91IXsvk9_k3W5c.cjs → C-QeKeBTOY15puEV.cjs} +2 -2
  9. package/browser/cjs/{BW_fZwvTtMLqteuJ.cjs → C33i51TmHf4SHKrk.cjs} +1 -1
  10. package/browser/cjs/{Biyqj-Wu75uxLHv1.cjs → C3VTtTsAWlGWi885.cjs} +2 -2
  11. package/browser/cjs/{yvA5FY7oe6FILMqB.cjs → C7hVKc9K7iuGRIL7.cjs} +1 -1
  12. package/browser/cjs/{DCWZ2ZkLp-Horeca.cjs → CJJnLrYPa7KMRsHb.cjs} +1 -1
  13. package/browser/cjs/COHiox3mogLWfFMx.cjs +301 -0
  14. package/browser/cjs/{BiiW2FlRZHxGIWso.cjs → CRbPjo0Nd1eBuNIW.cjs} +1 -1
  15. package/browser/cjs/{BLHbDre9R0bvyb9G.cjs → CcUeWbB8gJ2hYZ0t.cjs} +2 -2
  16. package/browser/cjs/{DIawrhwQ7E_1l99b.cjs → CeLUWiIQ6znvqNGl.cjs} +6 -6
  17. package/browser/cjs/{qjPE6k7aYlu-R90s.cjs → Cp0Tq3YIgLuqFBEQ.cjs} +2 -2
  18. package/browser/cjs/{-aNm3r-RpjcRRCbw.cjs → CqQeZ0R_l-gQXaQx.cjs} +2 -2
  19. package/browser/cjs/{DeAt9vyyaeB2vbxQ.cjs → DNIUbptETcIIsG7h.cjs} +2 -2
  20. package/browser/cjs/{CdWBtYv7LuuDLPL2.cjs → DNomiR3OWZad9wQS.cjs} +1 -1
  21. package/browser/cjs/DOn5sCCoip2vELe9.cjs +19 -0
  22. package/browser/cjs/{Bg9KIoDuqtkhIYfN.cjs → DPDH_CuXvPlEStyU.cjs} +1 -1
  23. package/browser/cjs/{hSI9QVPgIxqt3pXc.cjs → DQuuY3WVgI5hH9Sc.cjs} +1 -1
  24. package/browser/cjs/{Ya4f5p9go_UndgNy.cjs → DtXRdjx-n_RIyAdz.cjs} +2 -2
  25. package/browser/cjs/{DKsZXMMHWKP9IZ4E.cjs → fE77FrBh8QMuUNxk.cjs} +1 -1
  26. package/browser/cjs/{BN0MiwKQ8NjKXgue.cjs → g35lb9qfQ7H4ytKa.cjs} +3 -3
  27. package/browser/cjs/index.cjs +2 -2
  28. package/browser/esm/{DDD5zfwNNPKuc_zZ.mjs → 1pCNUoxFKepRuyfa.mjs} +1 -1
  29. package/browser/esm/{CLTP12OHGQ2k4_Kt.mjs → B7vV_BImqZyJbVxt.mjs} +3 -3
  30. package/{cdn/assets/BzptX9H_YCM2l0DE.js → browser/esm/BJvTXvPtfJHHEwCI.mjs} +5 -5
  31. package/browser/esm/{BLsIMzjofsOnRFrU.mjs → BL-MGLoZVjIZRC8f.mjs} +6 -6
  32. package/browser/esm/BNrrWDYFBvlrgKLr.mjs +46 -0
  33. package/browser/esm/{ChMaIhqaEhF3SLLt.mjs → BY7jrGTT-6LIotvc.mjs} +7 -7
  34. package/browser/esm/{DFa_tXqv1VN1OZdv.mjs → BasVdd3zd4rzMJ3z.mjs} +17 -17
  35. package/browser/esm/{Btk74VwCVJ1T5LQD.mjs → BemHnQ5HC0MMwwpk.mjs} +3 -3
  36. package/{cdn/assets/mq5uPzTIc1x8unBP.js → browser/esm/Bvw4Wd4QZWwHwySN.mjs} +1 -1
  37. package/{cdn/assets/Did46-x6ZVwk_-r-.js → browser/esm/CARuwR8LCkOqbEvg.mjs} +1 -1
  38. package/browser/esm/{D0-tgawYa4KXYT2c.mjs → CHXrslW6QpPqYlQJ.mjs} +2 -2
  39. package/{cdn/assets/CvFAAktSd9TQK1h4.js → browser/esm/CNzhDDB3GbcIr1f1.mjs} +1 -1
  40. package/{cdn/assets/Bs-psXrTRw1jFety.js → browser/esm/CYOe-PNU1ddwNZxf.mjs} +8 -8
  41. package/browser/esm/{D244UwY3qPC_LNc5.mjs → Cgzk91uNsHby3_Xq.mjs} +2 -2
  42. package/browser/esm/{DdrICyX8Ead15N32.mjs → ClwDPpKvrRbivt_C.mjs} +1 -1
  43. package/{cdn/assets/DXMyzCcyP7039z13.js → browser/esm/DKgnlbWYgEPNFHp4.mjs} +799 -796
  44. package/browser/esm/DMgXE7S--oWb9q_g.mjs +22 -0
  45. package/browser/esm/{DJxioSY-hxyM7dmk.mjs → DSAItP5tyetml0Nl.mjs} +3 -3
  46. package/{cdn/assets/F-RqJeKWiW4i5344.js → browser/esm/Dh_t4LKcuJndwsWc.mjs} +10475 -10290
  47. package/browser/esm/{Q1yWEkJBu4cVEF33.mjs → Dm-FdeP6gtNunE-O.mjs} +6 -6
  48. package/{cdn/assets/CsVV_QnEl77BQM3V.js → browser/esm/F7X6GD2vCOnG9bfS.mjs} +1 -1
  49. package/{cdn/assets/C8omEbSXHWI_wNjp.js → browser/esm/FtQ1ejKmzNzLipib.mjs} +8 -8
  50. package/browser/esm/{CPWh2H15145LP-d5.mjs → dPSQKKcoZdfzlSna.mjs} +1 -1
  51. package/browser/esm/{CAm14rTtmPL5-rvQ.mjs → gPrNWR3Q7AraDNA8.mjs} +125 -125
  52. package/{cdn/assets/DCuLWmzd9eLWgI03.js → browser/esm/ggsYdlbjeTopGPhi.mjs} +1 -1
  53. package/{cdn/assets/C60KakDbde-A4anI.js → browser/esm/hZL13mv_yL17yqpF.mjs} +1 -1
  54. package/browser/esm/index.mjs +2 -2
  55. package/cdn/assets/{DDD5zfwNNPKuc_zZ.js → 1pCNUoxFKepRuyfa.js} +1 -1
  56. package/cdn/assets/{NHbXgEQMftGzY01r.js → B8qc1imSfDsRgnKK.js} +3 -3
  57. package/{browser/esm/CntwHkPpskE88Ixu.mjs → cdn/assets/BHYIY8ekfU8GIx-v.js} +5 -5
  58. package/{browser/esm/mq5uPzTIc1x8unBP.mjs → cdn/assets/Bvw4Wd4QZWwHwySN.js} +1 -1
  59. package/cdn/assets/{DLYF-18qErpwF9Q-.js → C0q06BpM_YiTdvYY.js} +6 -6
  60. package/{browser/esm/Did46-x6ZVwk_-r-.mjs → cdn/assets/CARuwR8LCkOqbEvg.js} +1 -1
  61. package/{browser/esm/Di2tNceI3NodSsgU.mjs → cdn/assets/CFDj1TcgC6DrzkQU.js} +8 -8
  62. package/{browser/esm/CvFAAktSd9TQK1h4.mjs → cdn/assets/CNzhDDB3GbcIr1f1.js} +1 -1
  63. package/cdn/assets/Cb8SYExA8SBt8-a7.js +22 -0
  64. package/cdn/assets/{Cz33L9W3cdQckAL5.js → CgJM1Sr8R1PNImSR.js} +3 -3
  65. package/cdn/assets/{CEXK9SXjFf1dGHZe.js → ClbAQfGnO0nqDI3Z.js} +6 -6
  66. package/cdn/assets/{DdrICyX8Ead15N32.js → ClwDPpKvrRbivt_C.js} +1 -1
  67. package/cdn/assets/{DBgbBl_3O65WhfWN.js → D7SAqf3XrQ0v7mGH.js} +7 -7
  68. package/cdn/assets/{BOl7blN8JotSzCHJ.js → DAOPH9ojNmrcS6Lb.js} +2 -2
  69. package/cdn/assets/{ClFGbVy7cnhMW-dO.js → DFfcguJ0tQZoGOZc.js} +2 -2
  70. package/cdn/assets/{CoCIP7n4THmzOggq.js → DIXOHjZSHBv_HKpE.js} +17 -17
  71. package/{browser/esm/BTQ-TGJnw7w1Y0CX.mjs → cdn/assets/DiomQ_bqytYxNeaP.js} +8 -8
  72. package/cdn/assets/{B41q92oKD_VR31Dd.js → Dkkb9tE81Tx0AvXw.js} +3 -3
  73. package/{browser/esm/CsVV_QnEl77BQM3V.mjs → cdn/assets/F7X6GD2vCOnG9bfS.js} +1 -1
  74. package/{browser/esm/CYXzmWJtZn5OJVBF.mjs → cdn/assets/UTibqrn6UrrGPGLU.js} +9723 -9844
  75. package/cdn/assets/{CPWh2H15145LP-d5.js → dPSQKKcoZdfzlSna.js} +1 -1
  76. package/{browser/esm/DCuLWmzd9eLWgI03.mjs → cdn/assets/ggsYdlbjeTopGPhi.js} +1 -1
  77. package/{browser/esm/C60KakDbde-A4anI.mjs → cdn/assets/hZL13mv_yL17yqpF.js} +1 -1
  78. package/{browser/esm/BdLAPrmXIfjGFhhA.mjs → cdn/assets/kLAnuk6Hj3XXu7B_.js} +799 -796
  79. package/cdn/assets/l2XreUqHdSx2sK06.js +46 -0
  80. package/cdn/assets/{Dj3GhNedlKE9TeTn.js → mjbXH-pivN9OKW3k.js} +125 -125
  81. package/cdn/index.js +8 -8
  82. package/cdn/loader.js +1 -1
  83. package/package.json +8 -8
  84. package/browser/cjs/Cxt39d6l0pu9k1vT.cjs +0 -19
  85. package/browser/cjs/DDhq2nYMdw5b7wP6.cjs +0 -301
  86. package/browser/cjs/Dkl2t2DSaDxPbm2V.cjs +0 -6
  87. package/browser/esm/BsDYj6xix3mlXry2.mjs +0 -46
  88. package/browser/esm/wziCLl5xvHu6Guu_.mjs +0 -22
  89. package/cdn/assets/C_E1C68wCcRpC6XN.js +0 -46
  90. package/cdn/assets/lM5it-aJgI7DLNH9.js +0 -22
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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,9 +1,9 @@
1
1
  import "react";
2
2
  import "react/jsx-runtime";
3
3
  import "react-dom/client";
4
- import { b6 as i } from "./CYXzmWJtZn5OJVBF.mjs";
4
+ import { b6 as i } from "./Dh_t4LKcuJndwsWc.mjs";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -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.3.5
4
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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,9 +1,9 @@
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 { t as l, av as K, m as Z, B as P, F as S, aw as q, ax as A, b as p, ay as c, a as J, Z as D, az as Q } from "./F-RqJeKWiW4i5344.js";
4
+ import { w as l, av as K, b as _, B as P, F as S, aw as q, ax as A, c as p, ay as c, a as J, _ as D, az as Q } from "./UTibqrn6UrrGPGLU.js";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -38,7 +38,7 @@ const U = ["Ok", "Cancel"], ea = G(($) => {
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(Z, { 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(q, { children: "Category" }), t(A, { 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(J, { label: "Code", onFocus: (a) => {
41
+ return t(_, { 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(q, { children: "Category" }), t(A, { 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(J, { 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,19 +1,19 @@
1
1
  import { jsx as n, jsxs as m } from "react/jsx-runtime";
2
2
  import { useState as C } from "react";
3
3
  import { Sort as a, IRange as r } from "@sheetxl/sdk";
4
- import { t as O, m as S, B as g, at as s, au as l } from "./CYXzmWJtZn5OJVBF.mjs";
4
+ import { w as O, b as S, B as b, at as s, au as l } from "./UTibqrn6UrrGPGLU.js";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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
- const D = ({ range: p, options: c, cell: u, onDone: d, ...v }) => {
12
- const [t, o] = C(c ?? a.DefaultRangeOptions), h = O((e) => {
11
+ const D = ({ range: p, options: c, cell: u, onDone: d, ...h }) => {
12
+ const [t, o] = C(c ?? a.DefaultRangeOptions), v = O((e) => {
13
13
  let i = null;
14
14
  e === "Sort" && (i = { ...c, options: t }), d?.(i);
15
15
  }, [t, d, c]);
16
- return n(S, { title: "Sort", options: ["Sort", "Cancel"], onDone: h, ...v, children: m(g, { sx: { display: "flex", flexDirection: "column" }, children: [n(s, { control: n(l, { checked: !t.reverse, onChange: () => o((e) => ({ ...e, reverse: !e.reverse })) }), label: "Is Ascending", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.hasHeader, onChange: () => o((e) => ({ ...e, hasHeader: !e.hasHeader })) }), label: "Has Header", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity, onChange: () => o((e) => ({ ...e, collatorOptions: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity ? a.CaseInsensitiveOptions : a.CaseSensitiveOptions })) }), label: "Case Sensitive", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.orientation === r.Orientation.Row, onChange: () => o((e) => {
16
+ return n(S, { title: "Sort", options: ["Sort", "Cancel"], onDone: v, ...h, children: m(b, { sx: { display: "flex", flexDirection: "column" }, children: [n(s, { control: n(l, { checked: !t.reverse, onChange: () => o((e) => ({ ...e, reverse: !e.reverse })) }), label: "Is Ascending", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.hasHeader, onChange: () => o((e) => ({ ...e, hasHeader: !e.hasHeader })) }), label: "Has Header", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity, onChange: () => o((e) => ({ ...e, collatorOptions: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity ? a.CaseInsensitiveOptions : a.CaseSensitiveOptions })) }), label: "Case Sensitive", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.orientation === r.Orientation.Row, onChange: () => o((e) => {
17
17
  const i = e.orientation === r.Orientation.Row ? r.Orientation.Column : r.Orientation.Row;
18
18
  return { ...p.getDefaultSortCriteria(i, u).options, includeHidden: e.includeHidden, reverse: e.reverse, orientation: i };
19
19
  }) }), label: "Row Sort", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.includeHidden, onChange: () => o((e) => ({ ...e, includeHidden: !e.includeHidden })) }), label: "Include Hidden", labelPlacement: "end" })] }) });
@@ -1,6 +1,6 @@
1
1
  import C, { memo as ne, useState as _, useRef as m, useCallback as re, useEffect as S } from "react";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -1,7 +1,7 @@
1
1
  import { NumberFormat as Ht, ScalarType as Ft, ResourceCollection as vs, Tuple as Ss, IAutoFilter as Qt, AddressUtils as at, CoordUtils as De, FormulaError as Cs, IRange as ks, CommonUtils as es, Theme as As, JSONStableStringify as Es, Workbook as Ds, IColor as Ps, OutOfBoundsError as Os } from "@sheetxl/sdk";
2
- import { Q as cs } from "./F-RqJeKWiW4i5344.js";
2
+ import { Q as cs } from "./UTibqrn6UrrGPGLU.js";
3
3
  /**
4
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
4
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -897,14 +897,14 @@ class Bt {
897
897
  const Ks = (i, t, s) => {
898
898
  if (i[0].value[0] === i[1].value[0]) return t;
899
899
  }, ls = { colStart: 0, colEnd: 0, rowStart: 0, rowEnd: 0 }, ri = Object.freeze(Object.defineProperty({ __proto__: null, fromBufferXLSX: async (i, t) => {
900
- const { password: s, onWarning: o, constructorOptions: n = {}, ...a } = t ?? {}, c = import("./CPWh2H15145LP-d5.js"), m = import("./Cz33L9W3cdQckAL5.js");
900
+ const { password: s, onWarning: o, constructorOptions: n = {}, ...a } = t ?? {}, c = import("./dPSQKKcoZdfzlSna.js"), m = import("./CgJM1Sr8R1PNImSR.js");
901
901
  let v = null;
902
902
  try {
903
903
  v = new DOMParser();
904
904
  } catch {
905
905
  }
906
906
  let b = null;
907
- v || (b = import("./CvFAAktSd9TQK1h4.js").then((u) => u.i));
907
+ v || (b = import("./CNzhDDB3GbcIr1f1.js").then((u) => u.i));
908
908
  let x = null, E = null, y = null;
909
909
  try {
910
910
  const u = await Promise.all([c, m, b]);
@@ -1311,7 +1311,7 @@ const Ks = (i, t, s) => {
1311
1311
  }, W), _t = ns(R, ce), xt = await (async (V, U = 8388608) => {
1312
1312
  await (async () => {
1313
1313
  if (typeof ReadableStream > "u") if (typeof window > "u") {
1314
- const { ReadableStream: Q } = await import("./Did46-x6ZVwk_-r-.js");
1314
+ const { ReadableStream: Q } = await import("./CARuwR8LCkOqbEvg.js");
1315
1315
  global.ReadableStream = Q;
1316
1316
  } else console.warn("Browser does not support ReadableStream; consider loading a polyfill.");
1317
1317
  })();
@@ -1409,7 +1409,7 @@ const Ks = (i, t, s) => {
1409
1409
  throw u instanceof Os && (D = "Unable to open XLSX. There are too many rows or columns."), new Error(D, { cause: u });
1410
1410
  }
1411
1411
  }, toBufferXLSX: async (i, t) => {
1412
- const s = await import("./CPWh2H15145LP-d5.js"), o = await i.toJSON(!0), n = s.utils.book_new();
1412
+ const s = await import("./dPSQKKcoZdfzlSna.js"), o = await i.toJSON(!0), n = s.utils.book_new();
1413
1413
  for (let a = 0; a < o.sheets.length; a++) {
1414
1414
  const c = o.sheets[a], m = s.utils.json_to_sheet([{}]);
1415
1415
  s.utils.book_append_sheet(n, m, c.name);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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,14 +1,14 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { memo as j, forwardRef as z, useState as s } from "react";
3
- import { T as n, s as E, m as G, B as K, F as R, a as W, b as x, X, G as y } from "./CYXzmWJtZn5OJVBF.mjs";
3
+ import { T as n, s as E, b as K, B as R, F as W, a as X, c as x, X as q, e as y } from "./UTibqrn6UrrGPGLU.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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 q = ["Input"], Y = j(z((w, A) => {
11
- const { initialValue: T = "", onOption: F, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: I, inputType: P, inputPlaceHolder: b, options: d = q, autoFocusSel: v = ".autoFocus", cancelOption: m, defaultOption: g = d?.[0], ...C } = w, [k, V] = s(!1), [o, B] = s(T), [D, S] = s(""), [H, L] = s(!0), e = n(async (a, t) => {
10
+ const A = ["Input"], Y = j(z((w, G) => {
11
+ const { initialValue: T = "", onOption: F, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: I, inputType: P, inputPlaceHolder: b, options: d = A, autoFocusSel: v = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...C } = w, [k, V] = s(!1), [o, B] = s(T), [D, S] = s(""), [H, L] = s(!0), e = n(async (a, t) => {
12
12
  if (!p) return !0;
13
13
  const h = await p?.(a, t);
14
14
  S(h?.message ?? "");
@@ -16,7 +16,7 @@ const q = ["Input"], Y = j(z((w, A) => {
16
16
  return L(O), O;
17
17
  }, [p]), f = n(async (a) => {
18
18
  l?.(o, a);
19
- }, [o, l, u, F, m, g]), M = n(async (a) => {
19
+ }, [o, l, u, F, g, m]), M = n(async (a) => {
20
20
  a.keyCode === E.Enter && await e?.(o, null);
21
21
  }, [o, f]), N = n((a) => {
22
22
  B(a.target.value), e?.(a.target.value, null);
@@ -28,11 +28,11 @@ const q = ["Input"], Y = j(z((w, A) => {
28
28
  }
29
29
  return t ?? !0;
30
30
  }, [o, r]);
31
- return i(G, { options: d, onDone: u, onOption: (a, t) => {
31
+ return i(K, { options: d, onDone: u, onOption: (a, t) => {
32
32
  t || f(a);
33
- }, onValidateOption: $, cancelOption: m, defaultOption: g, autoFocusSel: v, ...C, children: i(K, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i(R, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(W, { onFocus: (a) => {
33
+ }, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel: v, ...C, children: i(R, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i(W, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(X, { onFocus: (a) => {
34
34
  k || a.target?.select(), V(!0);
35
- }, type: P, label: I, helperText: D || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: H ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: b, spellCheck: !1, autoComplete: "off", ...c, className: X("autoFocus", c?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${x("#fff", y(5))}, ${x("#fff", y(5))})` } } }, value: o, onChange: N, onKeyDown: M, onContextMenu: (a) => {
35
+ }, type: P, label: I, helperText: D || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: H ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: b, spellCheck: !1, autoComplete: "off", ...c, className: q("autoFocus", c?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${x("#fff", y(5))}, ${x("#fff", y(5))})` } } }, value: o, onChange: N, onKeyDown: M, onContextMenu: (a) => {
36
36
  a.stopPropagation();
37
37
  } }) }) }) });
38
38
  }));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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,22 @@
1
+ import { jsx as o, jsxs as D } from "react/jsx-runtime";
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 "./UTibqrn6UrrGPGLU.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
6
+ *
7
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
+ * License: The license can be found at https://www.sheetxl.com/license.
9
+ */
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) => {
12
+ const g = { ...e, hasHeader: n, ranges: l };
13
+ c?.(a, a === s, a === t), r?.({ option: a, tableOptions: g });
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" })] }) });
18
+ });
19
+ export {
20
+ A as TableNewDialog,
21
+ A as default
22
+ };
@@ -1,8 +1,8 @@
1
- import { Q as Y } from "./F-RqJeKWiW4i5344.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 "./DLYF-18qErpwF9Q-.js";
1
+ import { Q as Y } from "./UTibqrn6UrrGPGLU.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 "./C0q06BpM_YiTdvYY.js";
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.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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,8 +1,8 @@
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 { t as u, m as L, B as S, aO as A, aP as G } from "./F-RqJeKWiW4i5344.js";
3
+ import { w as u, b as L, B as S, aO as A, aP as G } from "./UTibqrn6UrrGPGLU.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -10,7 +10,7 @@ import { t as u, m as L, B as S, aO as A, aP as G } from "./F-RqJeKWiW4i5344.js"
10
10
  const M = ["Ok", "Cancel"], z = E((C) => {
11
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(() => {
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]), I = u((e) => {
21
+ }, [t, n, l, m, c, f, N, g]), B = 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
- }, []), b = u((e) => {
29
+ }, []), I = 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: I, onValidate: b, 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", ...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) => {
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,6 +1,6 @@
1
1
  import { Workbook as k } from "@sheetxl/sdk";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -1,15 +1,15 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { memo as E, useMemo as M, useState as x, useCallback as j } from "react";
3
- import { t as r, m as S, B as V, F as $, a as z, b as h, ay as C } from "./F-RqJeKWiW4i5344.js";
3
+ import { w as r, b as S, B as V, F as $, a as z, c as h, ay as C } from "./UTibqrn6UrrGPGLU.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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 G = ["Ok", "Cancel"], U = E((O) => {
11
- const { initialComments: y = null, onUpdateComments: m, context: F, onOption: u, onValidateOption: l, onDone: p, options: d = G, defaultOption: c = d?.[0], cancelOption: s = "Cancel", sx: b, ...k } = O, g = M(() => {
12
- const n = y ?? F?.()?.getComments();
11
+ const { initialComments: w = null, onUpdateComments: m, context: y, onOption: u, onValidateOption: l, onDone: p, options: d = G, defaultOption: c = d?.[0], cancelOption: s = "Cancel", sx: F, ...b } = O, g = M(() => {
12
+ const n = w ?? y?.()?.getComments();
13
13
  let t = "";
14
14
  if (n && n.content && n.content.runs) {
15
15
  const a = n.content.runs;
@@ -19,7 +19,7 @@ const G = ["Ok", "Cancel"], U = E((O) => {
19
19
  }
20
20
  }
21
21
  return t;
22
- }, []), [e, w] = x(g), [P, T] = x(!1), f = j(async (n, t) => null, []), v = r(async (n) => {
22
+ }, []), [e, k] = x(g), [P, T] = x(!1), f = j(async (n, t) => null, []), v = r(async (n) => {
23
23
  const t = e === "" ? [] : e.split(`
24
24
  `);
25
25
  if (n !== s) {
@@ -29,7 +29,7 @@ const G = ["Ok", "Cancel"], U = E((O) => {
29
29
  }
30
30
  u?.(n, n === s, n === c), p?.();
31
31
  }, [e, m, p, u, c, s]), D = r((n) => {
32
- w(n.target.value), f(n.target.value, null);
32
+ k(n.target.value), f(n.target.value, null);
33
33
  }, [l]), I = r(async (n) => {
34
34
  let t = await Promise.resolve(l?.(n));
35
35
  try {
@@ -38,7 +38,7 @@ const G = ["Ok", "Cancel"], U = E((O) => {
38
38
  }
39
39
  return t ?? !0;
40
40
  }, [l, e]);
41
- return i(S, { title: (g ? "Edit" : "Insert") + " Comments", options: d, onDone: p, onOption: (n) => v(n), onValidateOption: I, defaultOption: c, cancelOption: s, autoFocusSel: ".autoFocus", sx: { width: "480px", ...b }, ...k, children: i(V, { sx: { paddingTop: (n) => n.spacing(1), paddingBottom: (n) => n.spacing(0), rowGap: (n) => n.spacing(1), display: "flex", flexDirection: "column" }, children: i($, { sx: { paddingTop: (n) => n.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(z, { label: "Comments", placeholder: "Enter a comment.", onFocus: (n) => {
41
+ return i(S, { title: (g ? "Edit" : "Insert") + " Comments", options: d, onDone: p, onOption: (n) => v(n), onValidateOption: I, defaultOption: c, cancelOption: s, autoFocusSel: ".autoFocus", sx: { width: "480px", ...F }, ...b, children: i(V, { sx: { paddingTop: (n) => n.spacing(1), paddingBottom: (n) => n.spacing(0), rowGap: (n) => n.spacing(1), display: "flex", flexDirection: "column" }, children: i($, { sx: { paddingTop: (n) => n.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(z, { label: "Comments", placeholder: "Enter a comment.", onFocus: (n) => {
42
42
  P || n.target?.select(), T(!0);
43
43
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (n) => n.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (n) => n.spacing(1.25), paddingBottom: (n) => n.spacing(0.75), backgroundImage: `linear-gradient(${h("#fff", C(5))}, ${h("#fff", C(5))})` } } }, value: e, onChange: D, onContextMenu: (n) => {
44
44
  n.stopPropagation();
@@ -1,8 +1,8 @@
1
1
  import { jsx as z, jsxs as lt } from "react/jsx-runtime";
2
2
  import k, { memo as es, useState as pe, useCallback as de, useLayoutEffect as rs, PureComponent as mt, Component as _t, isValidElement as ns } from "react";
3
- import { D as os, E as as, c as is, B as us, I as Su, _ as ss, w as xt } from "./F-RqJeKWiW4i5344.js";
3
+ import { D as os, E as as, O as is, B as us, z as Su, d as ss, S as xt } from "./UTibqrn6UrrGPGLU.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.
@@ -13,7 +13,7 @@ const i = { reactUrl: "https://esm.sh/react@19.1.0", reactJsxTransform: "https:/
13
13
  e.type = "importmap", e.textContent = JSON.stringify({ imports: { react: n, "react/jsx-runtime": a, "react-dom": s, "react-dom/client": c } }), document.head.appendChild(e), console.log("SheetXL: Import map injected:", e.textContent);
14
14
  }
15
15
  await new Promise((e) => setTimeout(e, 0));
16
- const o = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("./F-RqJeKWiW4i5344.js").then((e) => e.b6)]);
16
+ const o = await Promise.all([import("react"), import("react/jsx-runtime"), import("react-dom"), import("react-dom/client"), import("./UTibqrn6UrrGPGLU.js").then((e) => e.b6)]);
17
17
  return console.log("SheetXL: Dependencies resolved:", o), { React: o[0], ReactJSXTransform: o[1], ReactDOM: o[2], ReactDOMClient: o[3], StudioMUI: o[4] };
18
18
  })(), r));
19
19
  export {
@@ -1,10 +1,10 @@
1
1
  import { jsx as i, jsxs as p } from "react/jsx-runtime";
2
2
  import { memo as oe, useRef as C, useState as b, useEffect as L, useLayoutEffect as pe, useMemo as de } from "react";
3
3
  import { ICell as c, IRange as R } from "@sheetxl/sdk";
4
- import { r as D, t as H, av as ue, V as fe, aA as ge, aB as me, B as O, aC as m, ah as x, aD as xe, a8 as y, aE as he, a as _, b as k, aF as Oe, aG as Ce, aH as ye, aI as be, ay as w, aJ as ve, aK as Te, ak as Re, az as ke, F as we, aw as Ee, ax as Fe } from "./F-RqJeKWiW4i5344.js";
5
- import { C as ee } from "./Dj3GhNedlKE9TeTn.js";
4
+ import { t as D, w as H, av as ue, W as fe, aA as ge, aB as me, B as O, aC as m, ah as x, aD as xe, a8 as y, aE as he, a as _, c as k, aF as Oe, aG as Ce, aH as ye, aI as be, ay as w, aJ as ve, aK as Te, ak as Re, az as ke, F as we, aw as Ee, ax as Fe } from "./UTibqrn6UrrGPGLU.js";
5
+ import { C as ee } from "./mjbXH-pivN9OKW3k.js";
6
6
  /**
7
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
7
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
8
8
  *
9
9
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
10
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -27,23 +27,23 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
27
27
  if (h[d] === E) return d;
28
28
  }
29
29
  }, ze = oe((E) => {
30
- const { replace: h = !1, findText: r, replaceText: a, findOptions: d, replaceOptions: v, title: A, onHide: K, onFindOrReplace: T, ...P } = E, s = C(null), u = C(null), $ = C(null), W = C(null), j = C(null), N = C(null), G = (e, t) => {
30
+ const { replace: h = !1, findText: r, replaceText: a, findOptions: d, replaceOptions: v, title: A, onHide: K, onFindOrReplace: T, ...P } = E, s = C(null), u = C(null), W = C(null), $ = C(null), j = C(null), N = C(null), G = (e, t) => {
31
31
  t && (t.start(e, { center: !1 }), setTimeout(() => t.stop(e), 180));
32
- }, [J, I] = b(!1), [V, le] = b(!1), [f, B] = b(h), [U, M] = b(!1), [X, q] = b(!1), [o, l] = b({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: R.Orientation.Row, fields: [c.Content.Formulas] }, scope: te.Sheet }), F = H(async (e, t, n, S) => {
32
+ }, [J, I] = b(!1), [B, le] = b(!1), [f, M] = b(h), [U, V] = b(!1), [X, q] = b(!1), [o, l] = b({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: R.Orientation.Row, fields: [c.Content.Formulas] }, scope: te.Sheet }), F = H(async (e, t, n, S) => {
33
33
  if (!T) return;
34
34
  const g = { ...o };
35
35
  g.replaceOptions = { ...g.replaceOptions }, g.findOptions = { ...g.findOptions }, g.replaceOptions.maxCount = n ? void 0 : 1, g.replace = t, t && o.findOptions.fields?.[0] === c.Content.Values && (g.findOptions.fields = [c.Content.Formulas]), g.findOptions.reverse = !e;
36
36
  const ce = await T({ autoFocus: S, ...g });
37
- M(ce === 0);
37
+ V(ce === 0);
38
38
  }, [o, T]);
39
39
  L(() => {
40
- M(!1);
41
- }, [o, V, f]);
40
+ V(!1);
41
+ }, [o, B, f]);
42
42
  const Q = H((e, t) => {
43
43
  if (e.keyCode === ue.Enter) {
44
44
  if (!o.findText) return;
45
45
  let n = !0, S = !1;
46
- e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (S = !0), G(e, S ? N.current : j.current)) : G(e, n ? W.current : $.current), F(n, t, S, !1);
46
+ e.shiftKey && (n = !1), t ? (e.ctrlKey && e.altKey && (S = !0), G(e, S ? N.current : j.current)) : G(e, n ? $.current : W.current), F(n, t, S, !1);
47
47
  }
48
48
  }, [o]), Y = C(null);
49
49
  pe(() => {
@@ -51,7 +51,7 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
51
51
  const t = { ...e };
52
52
  t.findText = r && r.length > 0 ? r : e.findText ?? "", I(!0), a !== void 0 && (t.replaceText = a), d && (t.findOptions = { ...t.findOptions, ...d }), t.replaceText || (t.replaceText = ""), t.replaceOptions && (t.replaceOptions = { ...t.replaceOptions }), v && (t.replaceOptions = { ...t.replaceOptions, ...v }), o.findOptions.fields?.[0] || (o.findOptions.fields = [c.Content.Formulas]);
53
53
  const n = !(!v && a === void 0);
54
- return n && B(n), t;
54
+ return n && M(n), t;
55
55
  }), X || Y.current?.focus();
56
56
  }, [r, a, d, v]), L(() => {
57
57
  f ? (o.findOptions.fields[0], c.Content.Values) : I(!0);
@@ -62,9 +62,9 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
62
62
  }, [J, o]);
63
63
  const [re, { width: Z }] = fe();
64
64
  return i(ge, { title: A ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", refWindow: Y, onHide: K, onFocus: () => q(!0), onBlur: () => {
65
- q(!1), M(!1);
65
+ q(!1), V(!1);
66
66
  }, PaperProps: { elevation: X ? 3 : 1 }, ...P, children: p(me, { dividers: !0, ref: re, sx: { display: "flex", flexDirection: "column", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, onKeyDown: (e) => {
67
- if (e.key === "h" && e.ctrlKey) B(!0), s.current?.contains(document.activeElement) && u.current?.focus();
67
+ if (e.key === "h" && e.ctrlKey) M(!0), s.current?.contains(document.activeElement) && u.current?.focus();
68
68
  else if (e.key === "f" && e.ctrlKey) s.current?.focus();
69
69
  else if (e.key === "c" && e.altKey) l((t) => {
70
70
  const n = { ...t };
@@ -82,10 +82,10 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
82
82
  });
83
83
  }
84
84
  e.preventDefault();
85
- }, children: [p(O, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [i(m, { selected: V, onSelectToggle: (e) => {
85
+ }, children: [p(O, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [i(m, { selected: B, onSelectToggle: (e) => {
86
86
  le(e);
87
87
  }, preventFocus: !0, label: "Toggle Additional Options", icon: x(i(xe, {})) }), i(m, { selected: f, onSelectToggle: (e) => {
88
- B(e);
88
+ M(e);
89
89
  }, preventFocus: !0, label: "Toggle Replace", icon: x(i(he, {})), shortcut: { key: f ? "F" : "H", modifiers: [y.Ctrl] } })] }), p(O, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [i(_, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Z > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { draggable: !1, ref: s, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: i(Oe, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: p(O, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [i(m, { selected: o.findOptions.matchCase, onSelectToggle: (e) => {
90
90
  l((t) => {
91
91
  const n = { ...t };
@@ -110,9 +110,9 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
110
110
  e.stopPropagation();
111
111
  } }), i(m, { selected: o.findOptions.reverse, onSelectToggle: (e) => {
112
112
  F(!1, !1);
113
- }, touchRippleRef: $, label: "", shortcut: { key: "Enter", modifiers: [y.Shift] }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Se, {}) : i(De, {})), disabled: !o.findText }), i(m, { selected: !o.findOptions.reverse, onSelectToggle: (e) => {
113
+ }, touchRippleRef: W, label: "", shortcut: { key: "Enter", modifiers: [y.Shift] }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Se, {}) : i(De, {})), disabled: !o.findText }), i(m, { selected: !o.findOptions.reverse, onSelectToggle: (e) => {
114
114
  F(!0, !1);
115
- }, touchRippleRef: W, label: "Next Match", shortcut: { key: "Enter" }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Le, {}) : i(Ie, {})), disabled: !o.findText })] }), i(ee, { in: f, timeout: ne, onExit: () => {
115
+ }, touchRippleRef: $, label: "Next Match", shortcut: { key: "Enter" }, icon: x(o.findOptions.orientation !== R.Orientation.Column ? i(Le, {}) : i(Ie, {})), disabled: !o.findText })] }), i(ee, { in: f, timeout: ne, onExit: () => {
116
116
  s.current?.focus();
117
117
  }, children: p(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [i(_, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${k("#fff", w(5))}, ${k("#fff", w(5))})` }, inputProps: { ref: u, className: "input", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } } }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1) }, value: o.replaceText ?? "", onChange: (e) => {
118
118
  l((t) => {
@@ -125,7 +125,7 @@ const Ae = { "By Rows": !0, "By Columns": !1 }, ie = (E, h) => {
125
125
  F(!0, !0);
126
126
  }, touchRippleRef: j, label: "Replace", shortcut: { key: "Enter" }, icon: x(i(ve, {})), disabled: !o.findText }), i(m, { onSelectToggle: (e) => {
127
127
  F(!0, !0, !0);
128
- }, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [y.Ctrl, y.Alt] }, icon: x(i(Te, {})), disabled: !o.findText })] }) })] })] }), i(ee, { in: V, timeout: ne, onExit: () => {
128
+ }, touchRippleRef: N, label: "Replace All", shortcut: { key: "Enter", modifiers: [y.Ctrl, y.Alt] }, icon: x(i(Te, {})), disabled: !o.findText })] }) })] })] }), i(ee, { in: B, timeout: ne, onExit: () => {
129
129
  s.current?.focus();
130
130
  }, children: p(O, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [i(Re, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), p(O, { sx: { display: "flex", flexDirection: Z >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [i(z, { label: "Within", value: o.scope, options: te, onSelect: (e) => {
131
131
  l((t) => {
@@ -1,17 +1,17 @@
1
1
  import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
- import { memo as O, useState as r, useRef as M, useReducer as A, useMemo as E } from "react";
3
- import { aL as W, V, aM as k, aN as Q, t as x, aA as q, aB as G, B as n, aO as J, aP as K, ak as f, aQ as U, aR as X, ag as y, ah as b, ai as w, aS as S } from "./CYXzmWJtZn5OJVBF.mjs";
2
+ import { memo as O, useState as r, useRef as M, useReducer as W, useMemo as A } from "react";
3
+ import { aL as E, W as k, aM as Q, aN as V, w as x, aA as q, aB as G, B as n, aO as J, aP as K, ak as f, aQ as U, aR as X, ag as y, ah as w, ai as b, aS as S } from "./UTibqrn6UrrGPGLU.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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 te = O((C) => {
11
- const { title: N, onHide: R, autoFocusSel: v = ".range-input input", context: T, notifier: l = W, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = M(null), [Y, B] = A((e) => e + 1, 0), [H, { width: Z }] = V();
12
- k(c);
13
- const o = T ?? c.context(), t = o.table(), [P, I] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = E(() => t?.getName() ?? "", [t]);
14
- Q(o.table(), { onAnchorCoordsChange(e) {
11
+ const { title: N, onHide: R, autoFocusSel: v = ".range-input input", context: T, notifier: l = E, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = M(null), [Y, B] = W((e) => e + 1, 0), [H, { width: Z }] = k();
12
+ Q(c);
13
+ const o = T ?? c.context(), t = o.table(), [P, I] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = A(() => t?.getName() ?? "", [t]);
14
+ V(o.table(), { onAnchorCoordsChange(e) {
15
15
  I(o.getNames().getRanges(e.getRange()));
16
16
  }, onProtectedChange(e) {
17
17
  B();
@@ -50,7 +50,7 @@ const te = O((C) => {
50
50
  } catch (i) {
51
51
  l.showError(i);
52
52
  }
53
- } }), a(n, { sx: { display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", marginTop: (e) => e.spacing(2), marginBottom: (e) => e.spacing(1) }, children: a(X, { table: t, styles: o.styles(), bodyStyle: o.bodyStyle(), cellHeight: 30, isLive: !0 }) }), a(f, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(y, { variant: w.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: b(a(S, {})) }), a(y, { variant: w.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: b(a(S, {})) })] })] })] }), u] }) });
53
+ } }), a(n, { sx: { display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", marginTop: (e) => e.spacing(2), marginBottom: (e) => e.spacing(1) }, children: a(X, { table: t, styles: o.styles(), bodyStyle: o.bodyStyle(), cellHeight: 30, isLive: !0 }) }), a(f, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(y, { variant: b.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: w(a(S, {})) }), a(y, { variant: b.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: w(a(S, {})) })] })] })] }), u] }) });
54
54
  });
55
55
  export {
56
56
  te as TableDetailsWindow,
@@ -1,12 +1,12 @@
1
1
  import { Workbook as y, IRange as C } from "@sheetxl/sdk";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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 k = async (a, p) => {
9
- const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: u = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, f = await import("./CsVV_QnEl77BQM3V.js").then((s) => s.p);
9
+ const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: u = !0, excludeHidden: h = !1, sheetKey: r = null, papaParseConfig: m = {} } = p || {}, f = await import("./F7X6GD2vCOnG9bfS.js").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 k = async (a, p) => {
27
27
  const o = { ...m }, g = f.unparse(d, o);
28
28
  return new TextEncoder().encode(g);
29
29
  }, R = async (a, p) => {
30
- const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {}, r = await import("./CsVV_QnEl77BQM3V.js").then((o) => o.p), m = new TextDecoder().decode(a);
30
+ const { papaParseConfig: i, setValuesOptions: u, constructorOptions: h } = p ?? {}, r = await import("./F7X6GD2vCOnG9bfS.js").then((o) => o.p), m = new TextDecoder().decode(a);
31
31
  let f = -1;
32
32
  const t = new y(h), c = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: C.Orientation.Row }), d = p?.onProgress;
33
33
  let e = 0;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.5
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.7
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.