@sheetxl/studio-vanilla 0.4.19 → 0.4.21

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 (178) hide show
  1. package/browser/cjs/index.cjs +80 -2
  2. package/browser/cjs/{BJIfDlGWvnC0eGUi.cjs → n6CXzSocLW_BCO8w.cjs} +6 -6
  3. package/browser/esm/{DiGLoJDZqriVp152.mjs → NBuS53B7u8hItiXf.mjs} +933 -937
  4. package/browser/esm/index.mjs +176 -4
  5. package/cdn/assets/CY8njwo06MWkoPz2.js +21 -0
  6. package/cdn/index.js +2 -2
  7. package/cdn/loader.js +1 -1
  8. package/package.json +3 -3
  9. package/browser/cjs/1FbLU-GkjsXMtg8T.cjs +0 -15
  10. package/browser/cjs/3xnum9EEG0qokR90.cjs +0 -12
  11. package/browser/cjs/5i4FVjROedZEnZNH.cjs +0 -6
  12. package/browser/cjs/9yZt9CqVSMBE7LUX.cjs +0 -6
  13. package/browser/cjs/B7V2ifI29G13Ypfn.cjs +0 -378
  14. package/browser/cjs/BCBl10fgrkZ5JX8E.cjs +0 -161
  15. package/browser/cjs/BCVApYTYfHlRzbCn.cjs +0 -6
  16. package/browser/cjs/BjW-ykzXN9S3TMzb.cjs +0 -11
  17. package/browser/cjs/Bn5tlfH0oqJI1Lk9.cjs +0 -6
  18. package/browser/cjs/BnD8IArw964iF-Zg.cjs +0 -1501
  19. package/browser/cjs/BnwSPi6FOdqxr7z1.cjs +0 -19
  20. package/browser/cjs/BxpKhdqadWDARG9W.cjs +0 -16
  21. package/browser/cjs/C8FEOglWYUtglsLP.cjs +0 -6
  22. package/browser/cjs/CDd6P2SfTKp4v-QA.cjs +0 -6
  23. package/browser/cjs/CFfq2Z-VQyMwMJKP.cjs +0 -6
  24. package/browser/cjs/CG1FkANzsujO3FLU.cjs +0 -6
  25. package/browser/cjs/CGD07mOjjl6zfCzK.cjs +0 -15
  26. package/browser/cjs/CMO36tnnJHrXso4Q.cjs +0 -7
  27. package/browser/cjs/CMfyyxtrIHPMnrBl.cjs +0 -6
  28. package/browser/cjs/CNue1AsHpswiVYJx.cjs +0 -6
  29. package/browser/cjs/C_bqbac1bCl1H0Bn.cjs +0 -6
  30. package/browser/cjs/C_jIzbaCWis1jB7f.cjs +0 -32
  31. package/browser/cjs/CaFeiasVg3jafLwL.cjs +0 -6
  32. package/browser/cjs/CaWJjQ_KmjWp1ooU.cjs +0 -145
  33. package/browser/cjs/CahVr7pzDRu3h4G3.cjs +0 -6
  34. package/browser/cjs/CaswMUSE1R9Noewr.cjs +0 -6
  35. package/browser/cjs/CfX6-fSMFgAg6iL9.cjs +0 -124
  36. package/browser/cjs/CkhCXLhqA4a2CnSJ.cjs +0 -6
  37. package/browser/cjs/CkriFKrE5BBPFQWm.cjs +0 -6
  38. package/browser/cjs/CuX_ftSJWqfRsXHy.cjs +0 -6
  39. package/browser/cjs/CznEff7u33FYbOSn.cjs +0 -6
  40. package/browser/cjs/D-fNsTpgGyZHdYEp.cjs +0 -6
  41. package/browser/cjs/DCxlQuW8eB70ZbcJ.cjs +0 -6
  42. package/browser/cjs/DFet-I-_FYR9s_ET.cjs +0 -6
  43. package/browser/cjs/DKQmNMiW6vEz1i7V.cjs +0 -6
  44. package/browser/cjs/DMOCfhgdy7Z8GoD-.cjs +0 -13
  45. package/browser/cjs/DVVk6WU7lfgpQLZG.cjs +0 -6
  46. package/browser/cjs/DYMFAMQ13cX03167.cjs +0 -7
  47. package/browser/cjs/DZVJ234kMQwb5dEy.cjs +0 -6
  48. package/browser/cjs/DZqqUVtfn36E0rIk.cjs +0 -6
  49. package/browser/cjs/DguzXHidCk2s1uCY.cjs +0 -6
  50. package/browser/cjs/Dhik7yBvR-5iyJcR.cjs +0 -6
  51. package/browser/cjs/Dms2LCMINwYEtl3S.cjs +0 -6
  52. package/browser/cjs/DnHgK81nepMuvMim.cjs +0 -6
  53. package/browser/cjs/DuJlHux5dLU53d80.cjs +0 -6
  54. package/browser/cjs/Dz5uLsJ16GF2Cyov.cjs +0 -6
  55. package/browser/cjs/Io_6AEq6KpjrZEfL.cjs +0 -6
  56. package/browser/cjs/R7ToEkyr-cbP0Q3N.cjs +0 -6
  57. package/browser/cjs/TGD3vlMtB_qnQE-M.cjs +0 -11
  58. package/browser/cjs/XFsZZevZgfk9vB1r.cjs +0 -6
  59. package/browser/cjs/bGVtUGltyeHuGKLB.cjs +0 -6
  60. package/browser/cjs/f-w9NYC1mTi7W9HY.cjs +0 -6
  61. package/browser/cjs/kGBvcCWaH3h23Ojp.cjs +0 -7
  62. package/browser/cjs/mUwYCSHSRCUQJ4uV.cjs +0 -42
  63. package/browser/cjs/qLyXB7fJpKBbTC_N.cjs +0 -6
  64. package/browser/cjs/s2JuJCqW6ny4lxQX.cjs +0 -6
  65. package/browser/esm/2Fopggi4LREIIXpY.mjs +0 -13208
  66. package/browser/esm/4ZXEcNsjnqWXAiUa.mjs +0 -2344
  67. package/browser/esm/4yxl564v_Wx022xz.mjs +0 -633
  68. package/browser/esm/5Ovf_TtcBCG7hgdY.mjs +0 -20
  69. package/browser/esm/6X4p3ajMgDNtcmLW.mjs +0 -10
  70. package/browser/esm/8F0vFRAXlzH-vmJl.mjs +0 -52354
  71. package/browser/esm/B1L8rEDpskxCqnhJ.mjs +0 -10
  72. package/browser/esm/BENg2ibY7Hr-SYp3.mjs +0 -10
  73. package/browser/esm/BHzg_9TpgdKnIlaX.mjs +0 -10
  74. package/browser/esm/BY9rDUy2rHkqh6hH.mjs +0 -820
  75. package/browser/esm/Bd2yJknZG5WTZ26u.mjs +0 -10
  76. package/browser/esm/BlH_AWoPr-w3-qdS.mjs +0 -10
  77. package/browser/esm/BmeozQuzbqa81PvH.mjs +0 -41
  78. package/browser/esm/BprECrKMFGb2UK2v.mjs +0 -2174
  79. package/browser/esm/Br_6r7a5IjKksr00.mjs +0 -390
  80. package/browser/esm/ByJuiohpCMXnDKmL.mjs +0 -47
  81. package/browser/esm/C04_X_6DkiZCUmwB.mjs +0 -1702
  82. package/browser/esm/C3pNOQaLBsTUp2CW.mjs +0 -10
  83. package/browser/esm/C4gnsPTE7_xP3Mz_.mjs +0 -1575
  84. package/browser/esm/C8kq7JNW8ivhRL1S.mjs +0 -3934
  85. package/browser/esm/CGquHZGGYOxATF73.mjs +0 -10
  86. package/browser/esm/CKwR5AWlnckKQRc-.mjs +0 -10
  87. package/browser/esm/CLSpsTCV3Onb_QXV.mjs +0 -84
  88. package/browser/esm/CMrXKGbxBR_LxLxN.mjs +0 -3755
  89. package/browser/esm/CN-UcSPqkcXnkJCx.mjs +0 -1365
  90. package/browser/esm/CQJsDOnipkhuGkKg.mjs +0 -56
  91. package/browser/esm/CTIgStBt9DOpau5q.mjs +0 -1665
  92. package/browser/esm/CXL9mY2kUT053cTN.mjs +0 -1346
  93. package/browser/esm/CZ54d8Ueai6uZgy6.mjs +0 -10
  94. package/browser/esm/CZM2uNUNI4W8qUw3.mjs +0 -10
  95. package/browser/esm/CaaAGrJF7OxdprqB.mjs +0 -10
  96. package/browser/esm/CnRJWnfDHzunp3N5.mjs +0 -472
  97. package/browser/esm/CpGYH9QSPqM4ejyF.mjs +0 -421
  98. package/browser/esm/CqLIq6VVhQnv6ZP4.mjs +0 -10
  99. package/browser/esm/CqTn7MLxDJZX7aIA.mjs +0 -10
  100. package/browser/esm/D3RHh0FQuMAKk4JL.mjs +0 -10
  101. package/browser/esm/D8hxrXJDfvDRoouY.mjs +0 -147
  102. package/browser/esm/DMwYqCQzDDwbzt8K.mjs +0 -44
  103. package/browser/esm/DNV2yXFlJ5hRF5ME.mjs +0 -46
  104. package/browser/esm/DUxcExPcvgbBrSXX.mjs +0 -5582
  105. package/browser/esm/DbTEH7CjzsjIc-ew.mjs +0 -21
  106. package/browser/esm/Df2lY3OJ73BCDQo6.mjs +0 -24
  107. package/browser/esm/DlUeNEy_cp31Am5t.mjs +0 -39
  108. package/browser/esm/DovESggwbqQKJEkM.mjs +0 -10
  109. package/browser/esm/DpNpusKUeZXcDNra.mjs +0 -29
  110. package/browser/esm/Dx-FJghQY8rpWJi1.mjs +0 -10
  111. package/browser/esm/DxObRtwZ98tP8NM3.mjs +0 -10
  112. package/browser/esm/FT-XJjpzjdyq4pin.mjs +0 -48
  113. package/browser/esm/HnfOytlj72v4rd6y.mjs +0 -425
  114. package/browser/esm/IChTkXO9eDekfSb7.mjs +0 -10
  115. package/browser/esm/KcDpdRfEgTnFwlSh.mjs +0 -21
  116. package/browser/esm/TVfGpAQkvkA9mx4E.mjs +0 -10
  117. package/browser/esm/pqikV5IyVMBYUDqP.mjs +0 -10
  118. package/browser/esm/qfHSXgWX4yZd3nwZ.mjs +0 -1466
  119. package/browser/esm/xWvOAH67Iwyf2Zge.mjs +0 -10
  120. package/browser/esm/xaJvLe6JwO1rQiE-.mjs +0 -12
  121. package/cdn/assets/15AvUM5aNUAfFLU7.js +0 -58
  122. package/cdn/assets/2Fopggi4LREIIXpY.js +0 -13208
  123. package/cdn/assets/4yxl564v_Wx022xz.js +0 -633
  124. package/cdn/assets/6X4p3ajMgDNtcmLW.js +0 -10
  125. package/cdn/assets/B1L8rEDpskxCqnhJ.js +0 -10
  126. package/cdn/assets/B1y38xd4JTLIrdUW.js +0 -1702
  127. package/cdn/assets/BENg2ibY7Hr-SYp3.js +0 -10
  128. package/cdn/assets/BHzg_9TpgdKnIlaX.js +0 -10
  129. package/cdn/assets/BXRf5zCAUE8kGNat.js +0 -46
  130. package/cdn/assets/BZdjtacH2DTSHsdG.js +0 -22
  131. package/cdn/assets/Bd2yJknZG5WTZ26u.js +0 -10
  132. package/cdn/assets/BlH_AWoPr-w3-qdS.js +0 -10
  133. package/cdn/assets/C3pNOQaLBsTUp2CW.js +0 -10
  134. package/cdn/assets/C6yX85fw0aO70N0-.js +0 -2346
  135. package/cdn/assets/CGquHZGGYOxATF73.js +0 -10
  136. package/cdn/assets/CKwR5AWlnckKQRc-.js +0 -10
  137. package/cdn/assets/CN-UcSPqkcXnkJCx.js +0 -1365
  138. package/cdn/assets/CSBAnGx7ebIRyjML.js +0 -21
  139. package/cdn/assets/CTIgStBt9DOpau5q.js +0 -1665
  140. package/cdn/assets/CXL9mY2kUT053cTN.js +0 -1346
  141. package/cdn/assets/CZ54d8Ueai6uZgy6.js +0 -10
  142. package/cdn/assets/CZM2uNUNI4W8qUw3.js +0 -10
  143. package/cdn/assets/CaaAGrJF7OxdprqB.js +0 -10
  144. package/cdn/assets/Cfgui52VcoZakyBi.js +0 -50
  145. package/cdn/assets/Ck6R7vI9j0vG-mKU.js +0 -390
  146. package/cdn/assets/ClTJpu1UdRW0KLAX.js +0 -23
  147. package/cdn/assets/Co1yPh9LPeUa-tCm.js +0 -29
  148. package/cdn/assets/CpGYH9QSPqM4ejyF.js +0 -421
  149. package/cdn/assets/CppP22dM3wzxzf_R.js +0 -3934
  150. package/cdn/assets/CqLIq6VVhQnv6ZP4.js +0 -10
  151. package/cdn/assets/CqTn7MLxDJZX7aIA.js +0 -10
  152. package/cdn/assets/D3RHh0FQuMAKk4JL.js +0 -10
  153. package/cdn/assets/DCmJyecz9jzS5Hh5.js +0 -41
  154. package/cdn/assets/DEHd1h8uAHbt7JQl.js +0 -425
  155. package/cdn/assets/DK25k4g9SWrBiPDl.js +0 -43
  156. package/cdn/assets/DL18SWHzmNBC5_Sq.js +0 -472
  157. package/cdn/assets/DZz8nVXsYYFIaomy.js +0 -3756
  158. package/cdn/assets/Df2lY3OJ73BCDQo6.js +0 -24
  159. package/cdn/assets/DidmQocPR2LUv5_-.js +0 -84
  160. package/cdn/assets/DifkJcFEihfAmrz6.js +0 -5582
  161. package/cdn/assets/Dj-9L-ifpIi1HChy.js +0 -52185
  162. package/cdn/assets/DovESggwbqQKJEkM.js +0 -10
  163. package/cdn/assets/Dwy3QqzGL-q3IHdC.js +0 -49
  164. package/cdn/assets/Dx-FJghQY8rpWJi1.js +0 -10
  165. package/cdn/assets/DxObRtwZ98tP8NM3.js +0 -10
  166. package/cdn/assets/IChTkXO9eDekfSb7.js +0 -10
  167. package/cdn/assets/KcDpdRfEgTnFwlSh.js +0 -21
  168. package/cdn/assets/R-6SrokApX5Vs5h6.js +0 -12
  169. package/cdn/assets/TVfGpAQkvkA9mx4E.js +0 -10
  170. package/cdn/assets/ZfVobc-p41aYisnX.js +0 -46
  171. package/cdn/assets/_QS_SgWjAGVcBh2y.js +0 -2177
  172. package/cdn/assets/_bKdjn1gFyUlsKF8.js +0 -149
  173. package/cdn/assets/cgKx_r-dAv2kc57N.js +0 -1575
  174. package/cdn/assets/lxv3lfQ08L2wD1S3.js +0 -820
  175. package/cdn/assets/pqikV5IyVMBYUDqP.js +0 -10
  176. package/cdn/assets/wXUNHjkvpeSH2dQZ.js +0 -1466
  177. package/cdn/assets/xWvOAH67Iwyf2Zge.js +0 -10
  178. package/cdn/assets/xaJvLe6JwO1rQiE-.js +0 -12
@@ -1,147 +0,0 @@
1
- import { aP as E, j as t, r as o, aQ as p, h as b, w as M, E as le, K as ae, O as re, P as ce, B as O, aR as g, a2 as m, aS as pe, aT as j, aU as de, a as Y, b as R, ay as ue, aV as fe, aW as xe, aX as ge, U as T, aY as _, aZ as me, a_ as he, Z as Oe, M as je, F as Ce, I as ye, G as be } from "./8F0vFRAXlzH-vmJl.mjs";
2
- /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
4
- *
5
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
- * License: The license can be found at https://www.sheetxl.com/license.
7
- */
8
- const Re = E(t.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), Te = E(t.jsx("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), ve = E(t.jsx("path", { d: "m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" }), "ArrowForward"), ke = E(t.jsx("path", { d: "m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z" }), "ArrowUpward"), A = o.memo((v) => {
9
- const { label: h, value: c, options: l, onSelect: d, tabIndex: C = 0, ...F } = v, [I, y] = o.useState(() => ee(c, l));
10
- o.useEffect(() => {
11
- y(ee(c, l));
12
- }, [c, l]);
13
- const L = M((u) => {
14
- y(u.target.value), d?.(l[u.target.value]);
15
- }, [d, l]), a = o.useMemo(() => Object.keys(l).map((u) => t.jsx(je, { value: u, children: u }, u)), [l]);
16
- return t.jsxs(Ce, { sx: { minWidth: 135 }, size: "small", children: [t.jsx(ye, { children: h }), t.jsx(be, { inputProps: { tabIndex: C }, value: I, label: h, onChange: L, sx: { backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(5))})` }, ...F, children: a })] });
17
- }), q = { Workbook: "workbook", Sheet: "sheet" }, J = { enter: 140, exit: 140 }, ne = { Formulas: p.Content.Formulas, Values: p.Content.Values, Notes: p.Content.Notes, Comments: p.Content.Comments }, te = { ...ne };
18
- delete te.Values;
19
- const Se = { "By Rows": !0, "By Columns": !1 }, ee = (v, h) => {
20
- const c = Object.keys(h);
21
- for (let l = 0; l < c.length; l++) {
22
- const d = c[l];
23
- if (h[d] === v) return d;
24
- }
25
- }, Ee = o.memo((v) => {
26
- const { replace: h = !1, findText: c, replaceText: l, findOptions: d, replaceOptions: C, title: F, onHide: I, onFindOrReplace: y, ...L } = v, a = o.useRef(null), u = o.useRef(null), V = o.useRef(null), z = o.useRef(null), B = o.useRef(null), H = o.useRef(null), $ = (e, n) => {
27
- n && (n.start(e, { center: !1 }), setTimeout(() => n.stop(e), 180));
28
- }, [W, w] = o.useState(!1), [D, se] = o.useState(!1), [f, P] = o.useState(h), [N, K] = o.useState(!1), [U, G] = o.useState(!1), [i, r] = o.useState({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: b.Orientation.Row, fields: [p.Content.Formulas] }, scope: q.Sheet }), k = M(async (e, n, s, S) => {
29
- if (!y) return;
30
- const x = { ...i };
31
- x.replaceOptions = { ...x.replaceOptions }, x.findOptions = { ...x.findOptions }, x.replaceOptions.maxCount = s ? void 0 : 1, x.replace = n, n && i.findOptions.fields?.[0] === p.Content.Values && (x.findOptions.fields = [p.Content.Formulas]), x.findOptions.reverse = !e;
32
- const oe = await y({ autoFocus: S, ...x });
33
- K(oe === 0);
34
- }, [i, y]);
35
- o.useEffect(() => {
36
- K(!1);
37
- }, [i, D, f]);
38
- const X = M((e, n) => {
39
- if (e.keyCode === le.Enter) {
40
- if (!i.findText) return;
41
- let s = !0, S = !1;
42
- e.shiftKey && (s = !1), n ? (e.ctrlKey && e.altKey && (S = !0), $(e, S ? H.current : B.current)) : $(e, s ? z.current : V.current), k(s, n, S, !1);
43
- }
44
- }, [i]), Z = o.useRef(null);
45
- o.useLayoutEffect(() => {
46
- r((e) => {
47
- const n = { ...e };
48
- n.findText = c && c.length > 0 ? c : e.findText ?? "", w(!0), l !== void 0 && (n.replaceText = l), d && (n.findOptions = { ...n.findOptions, ...d }), n.replaceText || (n.replaceText = ""), n.replaceOptions && (n.replaceOptions = { ...n.replaceOptions }), C && (n.replaceOptions = { ...n.replaceOptions, ...C }), i.findOptions.fields?.[0] || (i.findOptions.fields = [p.Content.Formulas]);
49
- const s = !(!C && l === void 0);
50
- return s && P(s), n;
51
- }), U || Z.current?.focus();
52
- }, [c, l, d, C]), o.useEffect(() => {
53
- f ? (i.findOptions.fields[0], p.Content.Values) : w(!0);
54
- }, [f]), o.useEffect(() => {
55
- if (W && a.current && i.findText === a.current.value) return a.current === document.activeElement || a.current.contains(document.activeElement) ? (a.current?.select(), void w(!1)) : void a.current.addEventListener("focus", () => {
56
- a.current?.select(), w(!1);
57
- }, { once: !0 });
58
- }, [W, i]);
59
- const [ie, { width: Q }] = ae();
60
- return t.jsx(re, { ref: Z, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => G(!0), onBlur: () => {
61
- G(!1), K(!1);
62
- }, PaperProps: { elevation: U ? 3 : 1 }, ...L, children: t.jsxs(ce, { dividers: !0, ref: ie, sx: { display: "flex", flexDirection: "column", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, onKeyDown: (e) => {
63
- if (e.key === "h" && e.ctrlKey) P(!0), a.current?.contains(document.activeElement) && u.current?.focus();
64
- else if (e.key === "f" && e.ctrlKey) a.current?.focus();
65
- else if (e.key === "c" && e.altKey) r((n) => {
66
- const s = { ...n };
67
- return s.findOptions.matchCase = !n.findOptions.matchCase, s;
68
- });
69
- else if (e.key === "e" && e.altKey) r((n) => {
70
- const s = { ...n };
71
- return s.findOptions.matchEntireCell = !n.findOptions.matchEntireCell, s;
72
- });
73
- else {
74
- if (e.key !== "r" || !e.altKey) return;
75
- r((n) => {
76
- const s = { ...n };
77
- return s.findOptions.useRegex = !n.findOptions.useRegex, s;
78
- });
79
- }
80
- e.preventDefault();
81
- }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [t.jsx(g, { selected: D, onSelectToggle: (e) => {
82
- se(e);
83
- }, preventFocus: !0, label: "Toggle Additional Options", icon: m(t.jsx(pe, {})) }), t.jsx(g, { selected: f, onSelectToggle: (e) => {
84
- P(e);
85
- }, preventFocus: !0, label: "Toggle Replace", icon: m(t.jsx(de, {})), shortcut: { key: f ? "F" : "H", modifiers: [j.Ctrl] } })] }), t.jsxs(O, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [t.jsx(Y, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Q > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(5))})` }, inputProps: { draggable: !1, ref: a, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: t.jsx(ue, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: t.jsxs(O, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [t.jsx(g, { selected: i.findOptions.matchCase, onSelectToggle: (e) => {
86
- r((n) => {
87
- const s = { ...n };
88
- return s.findOptions.matchCase = e, s;
89
- });
90
- }, label: "Match Case", shortcut: { key: "C", modifiers: [j.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
91
- r((n) => {
92
- const s = { ...n };
93
- return s.findOptions.matchEntireCell = e, s;
94
- });
95
- }, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [j.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
96
- r((n) => {
97
- const s = { ...n };
98
- return s.findOptions.useRegex = e, s;
99
- });
100
- }, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [j.Alt] }, icon: m(t.jsx(ge, {})) })] }) }) }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1), "& .MuiOutlinedInput-notchedOutline": { borderColor: (e) => N ? `${e.palette.error.main} !important` : void 0 }, "& .MuiInputLabel-outlined": { color: (e) => N ? `${e.palette.error.main} !important` : void 0 } }, value: i.findText ?? "", onChange: (e) => {
101
- r((n) => {
102
- const s = { ...n };
103
- return s.findText = e.target.value, s;
104
- });
105
- }, onKeyDown: (e) => X(e, !1), onContextMenu: (e) => {
106
- e.stopPropagation();
107
- } }), t.jsx(g, { selected: i.findOptions.reverse, onSelectToggle: (e) => {
108
- k(!1, !1);
109
- }, touchRippleRef: V, label: "", shortcut: { key: "Enter", modifiers: [j.Shift] }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(Re, {}) : t.jsx(ke, {})), disabled: !i.findText }), t.jsx(g, { selected: !i.findOptions.reverse, onSelectToggle: (e) => {
110
- k(!0, !1);
111
- }, touchRippleRef: z, label: "Next Match", shortcut: { key: "Enter" }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(ve, {}) : t.jsx(Te, {})), disabled: !i.findText })] }), t.jsx(_, { in: f, timeout: J, onExit: () => {
112
- a.current?.focus();
113
- }, children: t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(Y, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(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: i.replaceText ?? "", onChange: (e) => {
114
- r((n) => {
115
- const s = { ...n };
116
- return s.replaceText = e.target.value, s;
117
- });
118
- }, onKeyDown: (e) => X(e, !0), onContextMenu: (e) => {
119
- e.stopPropagation();
120
- } }), t.jsx(g, { onSelectToggle: (e) => {
121
- k(!0, !0);
122
- }, touchRippleRef: B, label: "Replace", shortcut: { key: "Enter" }, icon: m(t.jsx(me, {})), disabled: !i.findText }), t.jsx(g, { onSelectToggle: (e) => {
123
- k(!0, !0, !0);
124
- }, touchRippleRef: H, label: "Replace All", shortcut: { key: "Enter", modifiers: [j.Ctrl, j.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(_, { in: D, timeout: J, onExit: () => {
125
- a.current?.focus();
126
- }, children: t.jsxs(O, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [t.jsx(Oe, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), t.jsxs(O, { sx: { display: "flex", flexDirection: Q >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [t.jsx(A, { label: "Within", value: i.scope, options: q, onSelect: (e) => {
127
- r((n) => {
128
- const s = { ...n };
129
- return s.scope = e, s;
130
- });
131
- } }), t.jsx(A, { label: "Search", value: i.findOptions.orientation !== b.Orientation.Column, options: Se, onSelect: (e) => {
132
- r((n) => {
133
- const s = { ...n };
134
- return s.findOptions.orientation = e ? b.Orientation.Row : b.Orientation.Column, s;
135
- });
136
- } }), t.jsx(A, { label: "Look in", value: f && i.findOptions.fields?.[0] === p.Content.Values ? p.Content.Formulas : i.findOptions.fields?.[0], options: f ? te : ne, onSelect: (e) => {
137
- r((n) => {
138
- const s = { ...n };
139
- return s.findOptions.fields = [e], s;
140
- });
141
- } })] })] }) })] }) });
142
- });
143
- export {
144
- Ee as FindReplaceWindow,
145
- q as ScopeOptions,
146
- Ee as default
147
- };
@@ -1,44 +0,0 @@
1
- import { r as n, w as x, j as o, $ as L, B as U, F as b, a as O, b as p, U as r } from "./8F0vFRAXlzH-vmJl.mjs";
2
- /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
4
- *
5
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
- * License: The license can be found at https://www.sheetxl.com/license.
7
- */
8
- const W = ["Ok", "Cancel"], A = n.memo((P) => {
9
- const { initialHyperlink: s = null, initialDisplay: D = null, onUpdateHyperlink: f, context: l, onOption: m, onValidateOption: d, onDone: u, options: h = W, defaultOption: c = h?.[0], cancelOption: i = "Cancel", sx: F, ...j } = P, w = n.useMemo(() => (s ?? l?.()?.getHyperlink()) !== null, []), k = n.useMemo(() => {
10
- let e = null, t = null;
11
- s && (typeof s == "string" ? t = s : e = s);
12
- const C = e ?? l?.()?.getHyperlink();
13
- return { address: t ?? C?.getAddress() ?? "", textToDisplay: C?.getDisplayText() ?? "" };
14
- }, [s, l]), [a, H] = n.useState(k.address), [g, I] = n.useState(() => {
15
- const e = l?.().toTextUnformatted() ?? D;
16
- return e === k.address ? "" : e;
17
- }), [v, y] = n.useState(!1), M = n.useCallback((e) => {
18
- I(e.target.value);
19
- }, []), T = n.useCallback(async (e, t) => null, []), $ = x(async (e) => {
20
- e !== i && f?.(a === "" ? null : { address: a }, g), m?.(e, e === i, e === c), u?.();
21
- }, [a, g, f, u, m, c, i]), B = x((e) => {
22
- H(e.target.value), T(e.target.value, null);
23
- }, [d]), S = x(async (e) => {
24
- let t = await Promise.resolve(d?.(e));
25
- try {
26
- t !== !1 && (t = await T(a, e));
27
- } catch {
28
- }
29
- return t ?? !0;
30
- }, [d]);
31
- return o.jsx(L, { title: (w ? "Edit" : "Insert") + " Link", options: h, onDone: u, onOption: (e) => $(e), onValidateOption: S, defaultOption: c, cancelOption: i, autoFocusSel: ".autoFocus", sx: { width: "480px", ...F }, ...j, children: o.jsxs(U, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), display: "flex", flexDirection: "column" }, children: [o.jsx(b, { sx: { paddingTop: (e) => e.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o.jsx(O, { label: "Address", placeholder: "Enter a url or cell reference.", onFocus: (e) => {
32
- v || e.target?.select(), y(!0);
33
- }, sx: { "& .MuiFormHelperText-root": { marginTop: (e) => e.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", r(5))}, ${p("#fff", r(5))})` } } }, value: a, onChange: B, onContextMenu: (e) => {
34
- e.stopPropagation();
35
- } }) }), o.jsx(b, { sx: { paddingTop: (e) => e.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o.jsx(O, { label: "Display Text", placeholder: a?.startsWith("#") ? a.substring(1) : a, onFocus: () => {
36
- y(!0);
37
- }, sx: { "& .MuiFormHelperText-root": { marginTop: (e) => e.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", r(5))}, ${p("#fff", r(5))})` } } }, value: g, onChange: M, onContextMenu: (e) => {
38
- e.stopPropagation();
39
- } }) })] }) });
40
- });
41
- export {
42
- A as HyperlinkDialog,
43
- A as default
44
- };
@@ -1,46 +0,0 @@
1
- import { g as y, h as C } from "./8F0vFRAXlzH-vmJl.mjs";
2
- /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.19
4
- *
5
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
- * License: The license can be found at https://www.sheetxl.com/license.
7
- */
8
- const k = async (a, p) => {
9
- const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: f = !0, excludeHidden: h = !1, sheetKey: o = null, papaParseConfig: m = {} } = p || {}, u = await import("./CpGYH9QSPqM4ejyF.mjs").then((s) => s.p);
10
- if (!a) throw new Error("workbook must be specified");
11
- let t = null;
12
- 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");
13
- let c = null;
14
- const d = [];
15
- let e = null, n = t.getUsedRange({ excludeHidden: h });
16
- if (!n) throw new Error("Nothing to export");
17
- if (!i || !f) {
18
- const s = i ? n.getRowStart() : 0, l = f ? n.getColumnStart() : 0;
19
- n = n.getOffsetTo(s, l);
20
- }
21
- n.forEach((s, l) => {
22
- const w = l.getCoords(), x = l.getCell();
23
- c !== w.rowIndex && (e && d.push(e), e = [], c = w.rowIndex);
24
- const S = x.toTextUnformatted() ?? "";
25
- e.push(S);
26
- }, { includeEmpty: !0, address: null }), e && d.push(e);
27
- const r = { ...m }, g = u.unparse(d, r);
28
- return new TextEncoder().encode(g).buffer;
29
- }, b = async (a, p) => {
30
- const { papaParseConfig: i, setValuesOptions: f, createWorkbookOptions: h } = p ?? {}, o = await import("./CpGYH9QSPqM4ejyF.mjs").then((r) => r.p), m = new TextDecoder().decode(a);
31
- let u = -1;
32
- const t = new y(h), c = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: C.Orientation.Row }), d = p?.onProgress;
33
- let e = 0;
34
- const n = { ...i, transform: (r, g) => {
35
- i?.transform && (r = i.transform(r, g));
36
- const s = g;
37
- s === 0 && u++;
38
- let l = r ?? "";
39
- return c.pushAt(u, s, l), e++, e % 1e5 == 0 && d?.(e), r;
40
- } };
41
- return o.parse(m, n).data, c.apply({ textParser: !0, ...f }), t;
42
- };
43
- export {
44
- b as fromBufferCSV,
45
- k as toBufferCSV
46
- };