@sheetxl/studio-vanilla 0.3.18 → 0.3.19

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 (87) hide show
  1. package/browser/cjs/{_ziVh-PPWxWmEGfz.cjs → 2FwFu5228wr-ARkA.cjs} +3 -3
  2. package/browser/cjs/B32tWc1qRv4tY12p.cjs +6 -0
  3. package/browser/cjs/{DvjIxJUC4K8kmZsN.cjs → BA4eX47IpP00-8so.cjs} +2 -2
  4. package/browser/cjs/{DRPysX3BgTyOtc_X.cjs → BKPCa_z6dnIQn-0l.cjs} +1 -1
  5. package/browser/cjs/{D_yi3Bmt7QylbNjX.cjs → BWs24EHW-tVFgT-x.cjs} +2 -2
  6. package/browser/cjs/{hRorav-Vugk2j14d.cjs → BdvCvAgiry0f4S23.cjs} +1 -1
  7. package/browser/cjs/{DcKGSA3SMuEvjd87.cjs → CDKv578p0EwvHjZp.cjs} +1 -1
  8. package/browser/cjs/{DtIlU_avOLio9EiE.cjs → CIo606dkZ8lkuDJ3.cjs} +1 -1
  9. package/browser/cjs/{DWRHniG382TBBpFz.cjs → CY7-VXmdgBslTVMX.cjs} +3 -3
  10. package/browser/cjs/{BQDBBqqYeHWRLSmz.cjs → Ce6oHmr7gMYWd8Yd.cjs} +5 -5
  11. package/browser/cjs/{BYKCnVVe-UC0DLAg.cjs → Cfdd6ktavWDYX9ND.cjs} +1 -1
  12. package/browser/cjs/{DAGAHrQyWku5BzOx.cjs → Cjh4Y6CzIKElfhND.cjs} +2 -2
  13. package/browser/cjs/{asqh4V32TzlgSg5e.cjs → Cnk7ISRHexlfGYia.cjs} +1 -1
  14. package/browser/cjs/{C7S-2ysc4XzmIGIC.cjs → D0TmTI_7aDwkiyE4.cjs} +2 -2
  15. package/browser/cjs/{M2DWfdK0ctQctT7T.cjs → DJC4cn9wXv_q5aHy.cjs} +2 -2
  16. package/browser/cjs/{CfnTR1Qy-WVFzRhw.cjs → DPk0an7l4dAKSvt4.cjs} +6 -6
  17. package/browser/cjs/{S1ymoLlv7Uf-qfRz.cjs → DQu9kotW1g223yHH.cjs} +45 -45
  18. package/browser/cjs/{BqsLsLOIcCoQLkFG.cjs → Do4JoiMPrmr8e_3I.cjs} +2 -2
  19. package/browser/cjs/DtwZ1dCv4IJK54Md.cjs +6 -0
  20. package/browser/cjs/{DWmar9vh-C0GMWUE.cjs → MSGlzfMbdkBj2ODr.cjs} +1 -1
  21. package/browser/cjs/{Da9leDv0BrMDcAmM.cjs → USAsNV7756AJ-v-3.cjs} +1 -1
  22. package/browser/cjs/{Cyis9v9OePqed0Dh.cjs → bLAfby6zV0qLxdQi.cjs} +2 -2
  23. package/browser/cjs/{DqW0_yEVBgywVFtY.cjs → gPTujfwB4RqxIcij.cjs} +1 -1
  24. package/browser/cjs/index.cjs +2 -2
  25. package/browser/cjs/{DU5bkZX7g1nGYiyr.cjs → lObc2MW6JiaOpm-q.cjs} +2 -2
  26. package/browser/cjs/{DvCk-FEyF55Ifc2r.cjs → mSxg83umiyMZNf9-.cjs} +2 -2
  27. package/browser/cjs/{fkUUKUigUVeizJCn.cjs → vWIDSfediysRj8eo.cjs} +6 -6
  28. package/{cdn/assets/DT7M18T3_fx1cPVf.js → browser/esm/4b-cAFWAwXYZkw0D.mjs} +1 -1
  29. package/browser/esm/{DscLpbq31HrJWVSt.mjs → B8OZHivNmO5OFLTi.mjs} +17 -17
  30. package/browser/esm/BGvOrkSiilN4Dt_5.mjs +46 -0
  31. package/browser/esm/{DXfVp9l0_p8tTvaN.mjs → BjXzbYB0kCMhwN3Y.mjs} +2621 -2534
  32. package/browser/esm/{Dmp9Rj_xUISYWU8A.mjs → BlxEnptsgkGA0_21.mjs} +9 -9
  33. package/{cdn/assets/Dctd5ghWrESGG3Co.js → browser/esm/Bm440-d54x4naZeO.mjs} +1 -1
  34. package/{cdn/assets/Bwmetegu2MJ05lq3.js → browser/esm/BnmsWZ7pB-RvN8Ce.mjs} +8 -8
  35. package/{cdn/assets/B048AhsMgarmATbo.js → browser/esm/BorGhlvsrSc8KIw4.mjs} +9 -9
  36. package/{cdn/assets/B8PLUmI-u31BZVd6.js → browser/esm/Brg-pw5qowVCqKUF.mjs} +1 -1
  37. package/browser/esm/{Dao0wUfvplQebarN.mjs → C2UMejLEXH1i7UT_.mjs} +3 -3
  38. package/{cdn/assets/Cx5_1Ld9VgK4afkO.js → browser/esm/C6ty7TIqMKf0jms4.mjs} +1 -1
  39. package/browser/esm/{Ds9ulL0El--2XZxz.mjs → CDha50D0Zqdh75RO.mjs} +47 -47
  40. package/browser/esm/{CEM1UbNtZh6zUcI4.mjs → CHNBfqp5n8JaC7UU.mjs} +3 -3
  41. package/{cdn/assets/D0Cgu7sUw30-mnqB.js → browser/esm/CkOpEOqipQhoCXbp.mjs} +7 -7
  42. package/browser/esm/{DyhSx6j-hlOPAYJZ.mjs → CxJ9wqppH10FCE7E.mjs} +2 -2
  43. package/browser/esm/{yBjDi6dOfUg5E0mg.mjs → D8V8o3E9AIpGCaJ0.mjs} +5 -5
  44. package/browser/esm/{vsshjgK_uLUMXLx1.mjs → DGbBeyHSDhhZ67G7.mjs} +91 -91
  45. package/browser/esm/{DmdaLSunj1pIaeEo.mjs → DHtJbuH4VrIp2owl.mjs} +4 -4
  46. package/browser/esm/{CxpsUomBmsPdQKN7.mjs → DNEd6u6uOJT1ngWx.mjs} +7 -7
  47. package/browser/esm/{B_lXgGve4BaGb9VP.mjs → DTW0B_xW-HuS3NuK.mjs} +5 -5
  48. package/browser/esm/{vO-cPppKuuwM-ZbD.mjs → DzowkvQRyggO7Ijl.mjs} +1 -1
  49. package/browser/esm/{Z1hTdWF7Gnd7lwEi.mjs → FNXLcvV7DgUq6zwL.mjs} +1 -1
  50. package/{cdn/assets/CMIrbndkU0UVjjQ_.js → browser/esm/SWAv_VgEKg95ORt5.mjs} +1 -1
  51. package/browser/esm/index.mjs +2 -2
  52. package/{cdn/assets/Dp2nf7t-XHCeT9z1.js → browser/esm/vYT-yKp90JOPBqDa.mjs} +2 -2
  53. package/browser/esm/{Bu74cvcXGNxQ6eQO.mjs → vsx7PlJlMQvNPm_L.mjs} +1 -1
  54. package/browser/esm/{CCGl8RxWO4yKms9p.mjs → zovGkWpLePhgQd_n.mjs} +1 -1
  55. package/{browser/esm/DT7M18T3_fx1cPVf.mjs → cdn/assets/4b-cAFWAwXYZkw0D.js} +1 -1
  56. package/cdn/assets/{DpXpV2Nd-U9CeW99.js → 8QCrFIzHmtIoeBJm.js} +4 -4
  57. package/{browser/esm/5KE3eJeALYas2fJL.mjs → cdn/assets/8xNW6edqjY-klal3.js} +9 -9
  58. package/cdn/assets/{IXjjn0b7hP-r-rz5.js → BJlG0NMA-JM_rPkc.js} +91 -91
  59. package/cdn/assets/{BfCDUWippQ188QJ_.js → BNcPMWtsY8_g-EN4.js} +5 -5
  60. package/cdn/assets/BhwpQU1T51VKYXPZ.js +46 -0
  61. package/{browser/esm/Dctd5ghWrESGG3Co.mjs → cdn/assets/Bm440-d54x4naZeO.js} +1 -1
  62. package/{browser/esm/B8PLUmI-u31BZVd6.mjs → cdn/assets/Brg-pw5qowVCqKUF.js} +1 -1
  63. package/{browser/esm/xCvG1lefZTf09iDX.mjs → cdn/assets/BrkvsmfqGj5-gULd.js} +2 -2
  64. package/cdn/assets/{JWXHlKikGyP_aFCO.js → BtcEbQwXXgpwi-Wc.js} +17 -17
  65. package/cdn/assets/{BKj70d8kss8lWQ5j.js → C4-fZEqFmgf4Ryrf.js} +5 -5
  66. package/{browser/esm/Cx5_1Ld9VgK4afkO.mjs → cdn/assets/C6ty7TIqMKf0jms4.js} +1 -1
  67. package/cdn/assets/{DXkBcCCoCQhFBFpQ.js → CD48E90J73F2rFJF.js} +3 -3
  68. package/{browser/esm/BElryNS11jWM5tq7.mjs → cdn/assets/D3-MLKMldcoobrMe.js} +8 -8
  69. package/cdn/assets/{CXyKsX-Rk4hkAgns.js → DVoDFCX7Bv_zFVVi.js} +4599 -4512
  70. package/cdn/assets/{DcwFhmc6DauSay_m.js → DkRkxpsLaXOm1dGc.js} +7 -7
  71. package/cdn/assets/{b5siqWNPQWp_hlIg.js → DoNQnutyjVRliOV0.js} +2 -2
  72. package/cdn/assets/{DBZHYaXm5oENOlcW.js → DzXbXyuxyjtFLOXt.js} +9 -9
  73. package/cdn/assets/{vO-cPppKuuwM-ZbD.js → DzowkvQRyggO7Ijl.js} +1 -1
  74. package/cdn/assets/{Z1hTdWF7Gnd7lwEi.js → FNXLcvV7DgUq6zwL.js} +1 -1
  75. package/{browser/esm/CMIrbndkU0UVjjQ_.mjs → cdn/assets/SWAv_VgEKg95ORt5.js} +1 -1
  76. package/cdn/assets/{B5Xa0YYj-Y9Ob5he.js → TXu1jpI8ASN4INNu.js} +47 -47
  77. package/cdn/assets/{DXZHEN_G41ARU9aP.js → aAVhloO6mFh8WJzi.js} +3 -3
  78. package/cdn/assets/{Bu74cvcXGNxQ6eQO.js → vsx7PlJlMQvNPm_L.js} +1 -1
  79. package/{browser/esm/xQa55VzyxKLtju1P.mjs → cdn/assets/yLoKmwpXykv9-Elu.js} +7 -7
  80. package/cdn/assets/{CCGl8RxWO4yKms9p.js → zovGkWpLePhgQd_n.js} +1 -1
  81. package/cdn/index.js +2 -2
  82. package/cdn/loader.js +1 -1
  83. package/package.json +3 -3
  84. package/browser/cjs/BYQV2q8HPKlf74j3.cjs +0 -6
  85. package/browser/cjs/ClYi27L-BwfwOane.cjs +0 -6
  86. package/browser/esm/CATPGvRDTTOuHtl8.mjs +0 -46
  87. package/cdn/assets/c46EuNJ8AHDaEf22.js +0 -46
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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
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, O as is, B as us, z as Su, d as ss, S as xt } from "./DXfVp9l0_p8tTvaN.mjs";
3
+ import { M as os, E as as, I as is, B as us, P as Su, c as ss, S as xt } from "./DVoDFCX7Bv_zFVVi.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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,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 { 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 "./CXyKsX-Rk4hkAgns.js";
5
- import { C as ee } from "./IXjjn0b7hP-r-rz5.js";
4
+ import { t as D, v 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, T as _, a 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 "./DVoDFCX7Bv_zFVVi.js";
5
+ import { C as ee } from "./BJlG0NMA-JM_rPkc.js";
6
6
  /**
7
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
7
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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), W = C(null), $ = 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), $ = C(null), W = 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), [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) => {
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) => {
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
- V(ce === 0);
37
+ M(ce === 0);
38
38
  }, [o, T]);
39
39
  L(() => {
40
- V(!1);
41
- }, [o, B, f]);
40
+ M(!1);
41
+ }, [o, V, 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 ? $.current : W.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 ? W.current : $.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 && M(n), t;
54
+ return n && B(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), V(!1);
65
+ q(!1), M(!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) M(!0), s.current?.contains(document.activeElement) && u.current?.focus();
67
+ if (e.key === "h" && e.ctrlKey) B(!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: B, 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: V, 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
- M(e);
88
+ B(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: 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) => {
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) => {
114
114
  F(!0, !1);
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: () => {
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: () => {
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: B, 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: V, 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,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 { w as O, b as S, B as b, at as s, au as l } from "./CXyKsX-Rk4hkAgns.js";
4
+ import { v as O, b as S, B as b, at as s, au as l } from "./DVoDFCX7Bv_zFVVi.js";
5
5
  /**
6
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
6
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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, ...h }) => {
12
- const [t, o] = C(c ?? a.DefaultRangeOptions), v = O((e) => {
11
+ const D = ({ range: p, options: c, cell: u, onDone: d, ...v }) => {
12
+ const [t, o] = C(c ?? a.DefaultRangeOptions), h = 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: 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) => {
16
+ return n(S, { title: "Sort", options: ["Sort", "Cancel"], onDone: h, ...v, 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,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.18
4
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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,8 +1,8 @@
1
- import { Q as Y } from "./CXyKsX-Rk4hkAgns.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 "./B5Xa0YYj-Y9Ob5he.js";
1
+ import { J as Y } from "./DVoDFCX7Bv_zFVVi.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 "./TXu1jpI8ASN4INNu.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.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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,18 +1,18 @@
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 "./DXfVp9l0_p8tTvaN.mjs";
1
+ import { jsx as o, jsxs as N } from "react/jsx-runtime";
2
+ import { memo as T, useState as i, useCallback as k } from "react";
3
+ import { v, b as w, B as j, aP as y, at as B, au as F } from "./DVoDFCX7Bv_zFVVi.js";
4
4
  /**
5
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.18
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.3.19
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 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) => {
10
+ const H = ["Ok", "Cancel"], A = T((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 = v((a) => {
12
12
  const g = { ...e, hasHeader: n, ranges: l };
13
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) => {
14
+ }, [r, c, t, s, n, l, e]), D = k(async (a, g) => null, []);
15
+ return o(w, { title: "Insert Table", options: d, onDone: C, onValidateOption: D, defaultOption: t, cancelOption: s, autoFocusSel: ".range-input input", sx: { width: "360px", ...m }, ...b, children: N(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
16
  h || a.target?.select(), x(!0);
17
17
  } }), o(B, { control: o(F, { checked: n, onChange: () => O(!n) }), label: "Table has headers", labelPlacement: "end" })] }) });
18
18
  });